3c018093b741f244d1a2a7ba9af060ed78772859
[gnulib.git] / ChangeLog
1 2009-12-05  Bruno Haible  <bruno@clisp.org>
2
3         * lib/progname.h (set_program_name): Clarify specification.
4         * lib/progname.c (set_program_name): Likewise.
5         Reported by Jim Meyering.
6
7 2009-12-05  Jim Meyering  <meyering@redhat.com>
8
9         maint.mk: backslash-escape parens in default regexp
10         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
11         backslash-escape the literal parentheses.
12
13         maint.mk: news-date-check: use grep -E
14         * top/maint.mk (today): Define a Make variable, not a...
15         (news-date-check): ...shell variable.
16         (news-date-regexp): Use the Make variable.
17         Use grep's -E option.  Change the failing diagnostic to mention
18         the variable, $(news-date-regexp).
19
20 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
21
22         maintainer-makefile: allow customization of NEWS entry format
23         * top/maint.mk (news-date-regexp): New overridable variable.
24         (news-date-check): Use it.
25
26 2009-12-04  Eric Blake  <ebb9@byu.net>
27
28         mgetgroups: add xgetgroups, and avoid ENOSYS failures
29         * lib/mgetgroups.h (xgetgroups): New prototype.
30         * lib/mgetgroups.c (xgetgroups): New wrapper.
31         (mgetgroups): Handle ENOSYS.
32         * modules/mgetgroups (Depends-on): Add realloc.
33         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
34
35         mgetgroups: avoid argument promotion issues with -1
36         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
37         for invalid gid_t.
38         * tests/test-chown.h (getegid, test_chown): Likewise.
39         * tests/test-lchown.h (getegid, test_lchown): Likewise.
40
41 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42
43         exclude: Fix header file problems.
44         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
45
46 2009-12-01  Jim Meyering  <meyering@redhat.com>
47
48         fts: fts_open: do not let an empty string cause immediate failure
49         This is required in support of GNU rm, for which the command
50         "rm A '' B" must process and remove both A and B, in spite of
51         the empty string argument.
52         * lib/fts.c (fts_open): Do not let the presence of an empty string
53         cause fts_open to fail immediately.  Most fts-using tools must be
54         able to process all arguments, in order, and can be expected to
55         diagnose such arguments themselves.
56
57 2009-11-30  Eric Blake  <ebb9@byu.net>
58
59         utimens: fix compilation error
60         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
61         Declare variable at right scope.
62
63 2009-11-29  Jim Meyering  <meyering@redhat.com>
64
65         bootstrap: handle perl-5.11's changed --version output
66         * build-aux/bootstrap (get_version): Handle perl separately,
67         since perl-5.11's --version output is different.
68
69 2009-11-28  Jim Meyering  <meyering@redhat.com>
70
71         userspec: depend on the inttostr module, too
72         * modules/userspec (Depends-on): Add inttostr.
73
74         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
75         * lib/userspec.c (parse_with_separator): Do not accept a user ID
76         number of MAXUID when it evaluates to (uid_t) -1.
77         Likewise for group ID.  Reported by Matt McCutchen in
78         <http://savannah.gnu.org/bugs/?28113>
79
80         userspec: reformat to use spaces, not TABs
81         * lib/userspec.c: Expand TABs to spaces.
82         Add Emacs' "indent-tabs-mode: nil" hint.
83
84 2009-11-27  Eric Blake  <ebb9@byu.net>
85
86         getopt-gnu: flush out another BSD bug
87         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
88         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
89         flush out BSD bug.
90         * tests/test-getopt.h (test_getopt): End lists with NULL.
91         * tests/test-getopt_long.h (test_getopt_long): Likewise.
92         (test_getopt_long_posix): Enhance test.
93         * modules/getopt-posix-tests (Depends-on): Add stdbool.
94         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
95         getopt-gnu.
96         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
97         Likewise.
98
99 2009-11-27  Simon Josefsson  <simon@josefsson.org>
100
101         * modules/idpriv-droptemp-tests (Notice): Fix text.
102
103 2009-11-27  Jim Meyering  <meyering@redhat.com>
104
105         test-xalloc-die: avoid spurious failure due to libtool argv difference
106         In a libtool-enabled project, this test would fail due to a difference
107         in the emitted program name, e.g.,
108         -test-xalloc-die: memory exhausted
109         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
110         Use program to avoid that.
111         * modules/xalloc-die-tests (Depends-on): Add progname.
112         * tests/test-xalloc-die.c: Include progname.h".
113         (program_name): Remove decl.
114         (main): Call set_program_name.
115         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
116
117 2009-11-26  Richard Jones  <rjones@redhat.com>
118
119         w32sock: leave win32 error in place.
120         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
121
122 2009-11-26  Eric Blake  <ebb9@byu.net>
123
124         init.sh: suggest to use skip_ and fail_ functions in comments
125         * tests/init.sh: Add a sentence.
126
127 2009-11-25  Bruno Haible  <bruno@clisp.org>
128
129         init.sh: add documentation in comments
130         * tests/init.sh: Add some developer and user documentation.
131
132 2009-11-26  Jim Meyering  <meyering@redhat.com>
133
134         init.sh: accommodate even those who specify bogus srcdir manually
135         * tests/init.sh: Normally, srcdir is guaranteed by automake and
136         configure-time tests to be sanitized, so that there is no need to
137         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
138         (with no double quotes) suffices.  However, since tests may be
139         invoked manually, and since you may explicitly set srcdir to the
140         name of a directory containing spaces, do quote its uses here.
141         * tests/test-pread.sh: Likewise.
142         Suggested by Bruno Haible.
143
144         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
145         * tests/test-pread.sh: Write no data into the pipe, because
146         test-pread actually reads none.  This avoids a diagnostic,
147         "bash: echo: write error: Broken pipe", that arises in the unusual
148         event something is ignoring SIGPIPE, and might be interpreted
149         as some sort of failure.  Reported by Bruno Haible.
150
151 2009-11-25  Jim Meyering  <meyering@redhat.com>
152
153         test-pread: cover failure with ESPIPE and EINVAL
154         * tests/test-pread.c (main): Test for failure, too.
155         * tests/test-pread.sh: Invoke with stdin on a pipe.
156         Suggested by Eric Blake.
157
158         pread: improvement and fix
159         * modules/pread (Depends-on): Depend on lseek, for portability to
160         e.g., mingw.  Suggested by Eric Blake.
161         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
162
163         unistd.in.h: correct declaration of pread
164         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
165         Reported by Richard W.M. Jones.
166
167         test-pread.sh: distribute the test script
168         * modules/pread-tests (Files): Include test-pread.sh.
169
170         test-pread.sh: clean up
171         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
172         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
173         That is unnecessary, since it's always ".".
174         Suggestion from Eric Blake.
175
176         test-pread.sh: make executable
177         * tests/test-pread.sh: Set executable bit.
178         Reported by Eric Blake.
179
180         correct typo in test-pread.sh
181         * tests/test-pread.sh: Add #! line.
182
183         test pread
184         * tests/test-pread.c: New file.
185         * tests/test-pread.sh: Likewise.
186         * modules/pread-tests: Likewise.
187
188         pread: new module
189         * modules/pread: New file.
190         * lib/unistd.in.h (pread): Define/declare.
191         * lib/pread.c (pread): New file.
192         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
193         * modules/unistd (Makefile.am): Substitute witnesses.
194         * doc/posix-functions/pread.texi (pread): Update.
195         * MODULES.html.sh: Add pread.
196
197 2009-11-25  Jim Meyering  <meyering@redhat.com>
198
199         tests/init.sh: new file to be used via most *.sh tests
200         * tests/init.sh: New file.
201
202 2009-11-25  Eric Blake  <ebb9@byu.net>
203
204         utimens: work around older Linux failure with symlinks
205         * lib/utimens.c (lutimensat_works_really): New variable.
206         (fdutimens, lutimens): Use it to manage kernels that support
207         nanosecond times on files, but not on symlinks.
208         Reported by Ondřej Vašík.
209
210         utimes: fix configure grammar
211         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
212
213 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
214
215         regex: Fix fastmap for multibyte character ranges.
216         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
217         characters when a multibyte character range is included.
218
219 2009-11-22  Andy Wingo  <wingo@pobox.com>
220
221         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
222         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
223
224 2009-11-24  Bruno Haible  <bruno@clisp.org>
225
226         doc: Most *_l functions exist in MacOS X 10.5.
227         * doc/posix-functions/duplocale.texi: Update platforms list.
228         * doc/posix-functions/freelocale.texi: Likewise.
229         * doc/posix-functions/newlocale.texi: Likewise.
230         * doc/posix-functions/uselocale.texi: Likewise.
231         * doc/posix-functions/isalnum_l.texi: Likewise.
232         * doc/posix-functions/isalpha_l.texi: Likewise.
233         * doc/posix-functions/isblank_l.texi: Likewise.
234         * doc/posix-functions/iscntrl_l.texi: Likewise.
235         * doc/posix-functions/isdigit_l.texi: Likewise.
236         * doc/posix-functions/isgraph_l.texi: Likewise.
237         * doc/posix-functions/islower_l.texi: Likewise.
238         * doc/posix-functions/isprint_l.texi: Likewise.
239         * doc/posix-functions/ispunct_l.texi: Likewise.
240         * doc/posix-functions/isspace_l.texi: Likewise.
241         * doc/posix-functions/isupper_l.texi: Likewise.
242         * doc/posix-functions/iswalnum_l.texi: Likewise.
243         * doc/posix-functions/iswalpha_l.texi: Likewise.
244         * doc/posix-functions/iswblank_l.texi: Likewise.
245         * doc/posix-functions/iswcntrl_l.texi: Likewise.
246         * doc/posix-functions/iswctype_l.texi: Likewise.
247         * doc/posix-functions/iswdigit_l.texi: Likewise.
248         * doc/posix-functions/iswgraph_l.texi: Likewise.
249         * doc/posix-functions/iswlower_l.texi: Likewise.
250         * doc/posix-functions/iswprint_l.texi: Likewise.
251         * doc/posix-functions/iswpunct_l.texi: Likewise.
252         * doc/posix-functions/iswspace_l.texi: Likewise.
253         * doc/posix-functions/iswupper_l.texi: Likewise.
254         * doc/posix-functions/iswxdigit_l.texi: Likewise.
255         * doc/posix-functions/isxdigit_l.texi: Likewise.
256         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
257         * doc/posix-functions/strcasecmp_l.texi: Likewise.
258         * doc/posix-functions/strcoll_l.texi: Likewise.
259         * doc/posix-functions/strfmon_l.texi: Likewise.
260         * doc/posix-functions/strftime_l.texi: Likewise.
261         * doc/posix-functions/strncasecmp_l.texi: Likewise.
262         * doc/posix-functions/strxfrm_l.texi: Likewise.
263         * doc/posix-functions/tolower_l.texi: Likewise.
264         * doc/posix-functions/toupper_l.texi: Likewise.
265         * doc/posix-functions/towctrans_l.texi: Likewise.
266         * doc/posix-functions/towlower_l.texi: Likewise.
267         * doc/posix-functions/towupper_l.texi: Likewise.
268         * doc/posix-functions/wcscoll_l.texi: Likewise.
269         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
270         * doc/posix-functions/wctrans_l.texi: Likewise.
271         * doc/posix-functions/wctype_l.texi: Likewise.
272         * doc/glibc-functions/strptime_l.texi: Likewise.
273         * doc/glibc-functions/strtod_l.texi: Likewise.
274         * doc/glibc-functions/strtof_l.texi: Likewise.
275         * doc/glibc-functions/strtol_l.texi: Likewise.
276         * doc/glibc-functions/strtold_l.texi: Likewise.
277         * doc/glibc-functions/strtoll_l.texi: Likewise.
278         * doc/glibc-functions/strtoul_l.texi: Likewise.
279         * doc/glibc-functions/strtoull_l.texi: Likewise.
280         * doc/glibc-functions/wcsftime_l.texi: Likewise.
281         * doc/glibc-functions/wcstod_l.texi: Likewise.
282         * doc/glibc-functions/wcstof_l.texi: Likewise.
283         * doc/glibc-functions/wcstol_l.texi: Likewise.
284         * doc/glibc-functions/wcstold_l.texi: Likewise.
285         * doc/glibc-functions/wcstoll_l.texi: Likewise.
286         * doc/glibc-functions/wcstoul_l.texi: Likewise.
287         * doc/glibc-functions/wcstoull_l.texi: Likewise.
288
289 2009-11-24  Bruno Haible  <bruno@clisp.org>
290
291         duplocale: Fix logic bug.
292         * lib/duplocale.c: Don't include <langinfo.h>.
293         (_NL_LOCALE_NAME): Remove macro.
294         (rpl_duplocale): Use setlocale instead of nl_langinfo.
295         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
296
297 2009-11-23  Jim Meyering  <meyering@redhat.com>
298
299         test-update-copyright: don't hard-code /usr/bin/perl
300         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
301         perl to print the current year.  Gilles Espinasse reported that
302         the replaced use of perl was hard-coded as /usr/bin/perl.
303
304 2009-11-23  Bruno Haible  <bruno@clisp.org>
305
306         duplocale: Add support for glibc 2.3.x.
307         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
308
309 2009-11-22  Bruno Haible  <bruno@clisp.org>
310
311         vasnprintf: Tiny optimization.
312         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
313         MacOS X.
314
315 2009-11-22  Bruno Haible  <bruno@clisp.org>
316
317         Tests for module 'duplocale'.
318         * modules/duplocale-tests: New file.
319         * tests/test-duplocale.c: New file.
320
321         New module 'duplocale'.
322         * m4/duplocale.m4: New file.
323         * lib/locale.in.h (duplocale): New declaration.
324         * lib/duplocale.c: New file.
325         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
326         gl_LOCALE_H_DEFAULTS): New macros.
327         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
328         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
329         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
330         REPLACE_DUPLOCALE.
331         * modules/duplocale: New file.
332         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
333
334 2009-11-22  Bruno Haible  <bruno@clisp.org>
335
336         * modules/locale-tests (configure.ac): Test for newlocale function.
337         * tests/test-locale.c: When the system has extended locale functions,
338         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
339
340         locale: Make locale_t available when possible.
341         * lib/locale.in.h: Include <xlocale.h> when it exists.
342         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
343         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
344         * modules/locale (Depends-on): Add extensions.
345         (Makefile.am): Also substitute HAVE_XLOCALE_H.
346         * doc/posix-headers/locale.texi: Document the problem with locale_t.
347
348 2009-11-22  Bruno Haible  <bruno@clisp.org>
349
350         Add comments.
351         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
352         invocation.
353         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
354         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
355         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
356
357 2009-11-22  Bruno Haible  <bruno@clisp.org>
358
359         error: account for the possibility of freopen (stdout).
360         * lib/error.c: Include <unistd.h>.
361         (flush_stdout): New function, extracted from error and error_at_line.
362         Determine stdout's fd dynamically.
363         (error, error_at_line): Invoke flush_stdout.
364         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
365         * modules/error (Depends-on): Add unistd.
366
367 2009-11-22  Bruno Haible  <bruno@clisp.org>
368
369         diffseq: Add comment.
370         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
371
372 2009-11-22  Jim Meyering  <meyering@redhat.com>
373
374         c-stack: avoid defining an unused static function
375         * lib/c-stack.c (find_stack_direction): Do not define this function
376         when it will not be used.
377
378         diffseq: avoid spurious gcc warnings
379         * lib/diffseq.h (IF_LINT2): Define.
380         (compareseq): Use it to initialize two members of "part".
381         This avoids two used-uninitialized warnings.
382
383 2009-11-21  Jim Meyering  <meyering@redhat.com>
384
385         c-stack: avoid "ignoring return value of `write'" warning
386         * lib/c-stack.c: Include "ignore-value.h".
387         (die): Explicitly ignore each write return value.
388         * modules/c-stack (Depends-on): Add ignore-value.
389
390 2009-11-21  Bruno Haible  <bruno@clisp.org>
391
392         diffseq: reduce scope of variable 'best'.
393         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
394         variable, earlier used for two different purposes.
395
396 2009-11-21  Jim Meyering  <meyering@redhat.com>
397
398         diffseq: remove useless assignment to "best"
399         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
400         assignment.  At that point "best" is already guaranteed to be zero.
401
402 2009-11-20  Eric Blake  <ebb9@byu.net>
403
404         build: mention ftp redirector in release announcements
405         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
406         values that used to come from cfg.mk; mention FTP redirect URL.
407         * build-aux/announce-gen: Mention the mirror list.
408         Suggested by Karl Berry.
409
410         nanosleep: improve port to mingw
411         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
412         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
413         LIB_NANOSLEEP, but only when needed.
414         * modules/select (Link): Document LIBSOCKET.
415         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
416         enough.
417
418         nanosleep: work around cygwin bug
419         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
420         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
421         bug.
422         (getnow): Delete, not needed.
423         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
424         LIB_CLOCK_GETTIME.
425         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
426         clock-time, gettime.
427         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
428         bug.
429         * modules/nanosleep-tests: New test.
430         * tests/test-nanosleep.c: New file.
431
432         sleep: work around cygwin bug
433         * lib/sleep.c (rpl_sleep): Work around the bug.
434         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
435         (gl_PREREQ_SLEEP): Delete unused macro.
436         * modules/sleep (Depends-on): Add verify.
437         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
438         * modules/unistd (Makefile.am): Substitute witness.
439         * lib/unistd.in.h (sleep): Update prototype.
440         * doc/posix-functions/sleep.texi (sleep): Document the bug.
441         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
442         * modules/sleep-tests (Depends-on): Check for alarm.
443
444 2009-11-20  Jim Meyering  <meyering@redhat.com>
445
446         maint.mk: improve sc_prohibit_magic_number_exit
447         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
448         so it does not match uses like System.exit(1).
449         Add comments showing how to correct all offenders.
450
451 2009-11-19  Eric Blake  <ebb9@byu.net>
452
453         xalloc-die-tests: add missing library
454         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
455
456         test-xvasprintf: silence compiler warnings
457         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
458         empty string from gcc.
459
460 2009-11-19  Jim Meyering  <meyering@redhat.com>
461
462         xfreopen: new module, from coreutils
463         * modules/xfreopen: New module.
464         * lib/xfreopen.c: New file.
465         * lib/xfreopen.h: New file.
466         * MODULES.html.sh (File stream based Input/Output"): Add it.
467
468 2009-11-19  Eric Blake  <ebb9@byu.net>
469
470         manywarnings: depend on warnings
471         * modules/manywarnings (Depends-on): Add warnings.
472
473         build: avoid compiler warnings
474         * lib/select.c (rpl_select): Delete unused variable.
475         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
476
477 2009-11-18  Eric Blake  <ebb9@byu.net>
478
479         tests: avoid false negative with --with-packager
480         * tests/test-version-etc.sh: Discard packager information.
481         * tests/test-argp-version-etc-1.sh: Likewise.
482         Reported by Mike Frysinger.
483
484         utimens: fix regression on Solaris
485         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
486         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
487         can only change fd timestamps via futimesat.  Instead, use an
488         additional witness macro to avoid BSD bug.
489         Reported by Jim Meyering.
490
491 2009-11-17  Eric Blake  <ebb9@byu.net>
492
493         usleep: use it to simplify tests
494         * modules/stat-time-tests (Depends-on): Add usleep.
495         (configure.ac): Drop usleep check.
496         * modules/chown-tests (Depends-on, configure.ac): Likewise.
497         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
498         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
499         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
500         * modules/openat-tests (Depends-on, configure.ac): Likewise.
501         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
502         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
503         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
504         Likewise.
505         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
506         * tests/test-lchown.h (nap): Likewise.
507         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
508         * tests/test-stat-time.c (nap): Likewise.
509         * tests/test-utimens-common.h (nap): Update comments.
510
511         usleep: new module
512         * modules/usleep: New file.
513         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
514         * lib/usleep.c (usleep): Likewise.
515         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
516         * modules/unistd (Makefile.am): Substitute witnesses.
517         * lib/unistd.in.h (usleep): Add declaration.
518         * doc/pastposix-functions/usleep.texi (usleep): Document this.
519         * MODULES.html.sh (Date and time): Likewise.
520         * modules/usleep-tests (Depends-on): New test.
521         * tests/test-usleep.c: New file.
522
523         chown: work around OpenBSD bug
524         * lib/chown.c (rpl_chown): Work around the bug.
525         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
526         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
527         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
528         * modules/chown (Depends-on): Add stdbool.
529         * modules/lchown (Depends-on): Likewise.
530         * doc/posix-functions/chown.texi (chown): Document the bug.
531         * doc/posix-functions/lchown.texi (lchown): Likewise.
532         * tests/test-lchown.h (test_chown): Relax test.
533
534         mkstemp: avoid conflict with C++ keyword template
535         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
536         * lib/mkostemp.c (mkostemp): Likewise.
537         * lib/mkostemps.c (mkostemps): Likewise.
538         * lib/mkstemp.c (mkstemp): Likewise.
539         * lib/mkstemps.c (mkstemps): Likewise.
540
541         xalloc-die-tests: optimize
542         * tests/test-xalloc-die.sh: Reduce number of processes.
543
544 2009-11-17  Simon Josefsson  <simon@josefsson.org>
545
546         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
547         patch from ludo@gnu.org (Ludovic Courtès).
548
549 2009-11-17  Jim Meyering  <meyering@redhat.com>
550
551         version-etc: use proper license string
552         * modules/version-etc (License): Use LGPL, not LGPLv3+.
553         * modules/version-etc-fsf: Likewise.
554
555 2009-11-17  Simon Josefsson  <simon@josefsson.org>
556
557         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
558         printed to stdout.  Deal with EOL differences.
559
560 2009-11-17  Eric Blake  <ebb9@byu.net>
561
562         unsetenv: work around Solaris bug
563         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
564         * lib/unsetenv.c (rpl_unsetenv): Work around it.
565         Reported by Jim Meyering.
566
567         vasnprintf: avoid compiler warnings
568         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
569         variables.
570         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
571
572 2009-11-17  Simon Josefsson  <simon@josefsson.org>
573
574         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
575         settings since xalloc-die is no longer the self test,
576         xalloc-die.sh is.
577
578 2009-11-17  Jim Meyering  <meyering@redhat.com>
579
580         test-xalloc-die.sh: make the code agree with the commit log
581         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
582         at the end, just in case you happen to have a test-xalloc-die
583         program in some other PATH directory.
584
585         test-xalloc-die.sh: fix a portability bug
586         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
587         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
588         Otherwise, argv[0] (as often seen in diagnostics) would be too
589         system-dependent, sometimes with, and sometimes without the leading "./".
590
591         version-etc-fsf: relax license to LGPLv3+
592         * modules/version-etc-fsf (License): Relax license.
593
594 2009-11-16  Eric Blake  <ebb9@byu.net>
595
596         xalloc-die-tests: avoid printing null pointer
597         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
598         shell script.
599         * tests/test-xalloc-die.c (program_name): Declare.
600         * tests/test-xalloc-die.sh (tmpfiles): New file.
601
602         setenv, unsetenv: work around various bugs
603         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
604         (setenv) [HAVE_SETENV]: Work around bugs.
605         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
606         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
607         for bugs.
608         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
609         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
610         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
611         * modules/stdlib (Makefile.am): Update substitutions.
612         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
613         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
614         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
615         * modules/setenv-tests: New test.
616         * modules/unsetenv-tests: Likewise.
617         * tests/test-setenv.c: New file.
618         * tests/test-unsetenv.c: Likewise.
619
620 2009-11-16  Jim Meyering  <meyering@redhat.com>
621
622         version-etc: relax license to LGPLv3+
623         * modules/version-etc (License): Relax license.
624
625         better AC_REQUIRE expanded-before-required-warning avoidance
626         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
627         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
628         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
629         which is no longer needed.
630
631 2009-11-16  Eric Blake  <ebb9@byu.net>
632
633         test-freading: clean up temporary file
634         * tests/test-freading.c (main): Remove file on success, and use
635         ASSERT more liberally.
636         Reported by Jim Meyering.
637
638 2009-11-16  Jim Meyering  <meyering@redhat.com>
639
640         avoid new AC_REQUIRE expanded-before-required warnings
641         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
642         merely using it.
643         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
644         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
645
646 2009-11-15  Simon Josefsson  <simon@josefsson.org>
647
648         * tests/test-xalloc-die.c: New file.
649         * modules/xalloc-die-tests: New file.
650         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
651         XFAIL_TESTS so it can be appended by modules.
652
653 2009-11-15  Simon Josefsson  <simon@josefsson.org>
654
655         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
656         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
657
658 2009-11-14  Eric Blake  <ebb9@byu.net>
659
660         fnmatch: avoid compiler warning
661         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
662         to silence compiler warning about mismatch signedness in ?:.
663         Reported by Robert Millan.
664
665         intprops: add double-inclusion guard
666         * lib/intprops.h: Allow idempotent includes.
667         Suggested by Bruce Korb.
668
669         openat: detect Solaris fchownat bug
670         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
671         penalizing glibc chownat when only lchownat is broken.
672         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
673         trailing slash bugs.
674         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
675         * modules/openat-tests (Files): Include more files.
676         (Depends-on): Add mgetgroups, sleep, stat-time.
677         (configure.ac): Add additional checks.
678         (Makefile.am): Build new test.
679         * tests/test-fchownat.c: New file.
680
681         lchown: detect Solaris and FreeBSD bug
682         * lib/lchown.c (rpl_lchown): Work around bug.
683         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
684         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
685         * modules/unistd (Makefile.am): Populate it.
686         * lib/unistd.in.h (lchown): Update declaration.
687         * doc/posix-functions/lchown.texi (lchown): Document the bug.
688         * modules/lchown-tests: New file.
689         * tests/test-lchown.h (test_lchown): Likewise.
690         * tests/test-lchown.c (main): Likewise.
691
692         chown: detect Solaris and FreeBSD bug
693         * lib/chown.c (rpl_chown): Work around bug.
694         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
695         (gl_PREREQ_CHOWN): Delete.
696         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
697         * modules/unistd (Makefile.am): Populate it.
698         * lib/unistd.in.h (chown): Update declaration.
699         * lib/lchown.c (chown): Update client.
700         * modules/lchown (Depends-on): Add lstat.
701         * doc/posix-functions/chown.texi (chown): Document the bug.
702         * doc/posix-functions/getgroups.texi (getgroups): Document
703         getgroups pitfall.
704         * modules/chown-tests: New file.
705         * tests/test-chown.h (test_chown): Likewise.
706         * tests/test-chown.c (main): Likewise.
707
708 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
709
710         gnulib-tool: correctly detect absence of m4 directories
711         * gnulib-tool: Avoid extra newline on data passed to wc -l.
712
713 2009-11-14  Jim Meyering  <meyering@redhat.com>
714
715         maint.mk: Prohibit inclusion of "xalloc.h" without use.
716         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
717
718 2009-11-14  John W. Eaton  <jwe@gnu.org>
719
720         strftime.h: wrap funtion declaration in extern "C" block
721         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
722
723 2009-11-13  Eric Blake  <ebb9@byu.net>
724
725         getgroups: avoid compiler warning
726         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
727
728         getgroups: work around FreeBSD bug
729         * lib/getgroups.c (rpl_getgroups): Work around the bug.
730         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
731         * doc/posix-functions/getgroups.texi (getgroups): Document it.
732         * tests/test-getgroups.c (main): Fix buffer overrun.
733
734         getgroups: avoid compilation failure
735         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
736         * modules/getgroups (Depends-on): Add stdint.
737
738 2009-11-13  Jim Meyering  <meyering@redhat.com>
739
740         test-getgroups: avoid compilation failure
741         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
742
743 2009-11-13  Eric Blake  <ebb9@byu.net>
744
745         mgetgroups: new module, taken from coreutils
746         * modules/mgetgroups: New file.
747         * lib/mgetgroups.h: Likewise.
748         * lib/mgetgroups.c (mgetgroups): Likewise.
749         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
750         * MODULES.html.sh (Users and groups): Mention it.
751
752         getgroups: don't expose GETGROUPS_T to user
753         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
754         an element at a time if GETGROUPS_T is wrong size.
755         * lib/getugroups.h (getugroups): Change signature.
756         * lib/unistd.in.h (getgroups): Likewise.
757         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
758         signature needs fixing.
759         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
760         AC_TYPE_GETGROUPS.
761         * modules/group-member (Depends-on): Add getgroups.
762         * lib/group-member.c (group_info, get_group_info): Use gid_t.
763         (group_member): Rely on getgroups replacement.
764         * lib/getugroups.c (getugroups): Use gid_t.
765         * tests/test-getgroups.c (main): Likewise.
766         * NEWS: Mention the signature change.
767         * doc/posix-functions/getgroups.texi (getgroups): Mention the
768         problem with signature.
769         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
770         GETGROUPS_T is still useful for setgroups.
771
772         getgroups, getugroups: provide stubs for mingw
773         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
774         * lib/getugroups.c (getugroups): Likewise.
775         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
776         function.  Modernize replacement scheme.
777         (gl_PREREQ_GETGROUPS): Delete.
778         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
779         * modules/getgroups (configure.ac): Declare witness.
780         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
781         * modules/unistd (Depends-on): Substitute witness.
782         * lib/unistd.in.h (getgroups): Declare replacement.
783
784         getgroups: avoid calling exit
785         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
786         drop xalloc.
787         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
788         dependencies.
789         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
790         exiting, in the rare case of malloc failure.
791
792         getgroups: fix logic error
793         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
794         has more than 20 groups.
795         * modules/getgroups-tests: New test.
796         * tests/test-getgroups.c: New file.
797
798 2009-11-13  Simon Josefsson  <simon@josefsson.org>
799
800         * tests/test-base64.c: Improve.
801
802 2009-11-13  Simon Josefsson  <simon@josefsson.org>
803
804         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
805         Blake <ebb9@byu.net>.
806
807 2009-11-13  Simon Josefsson  <simon@josefsson.org>
808
809         * tests/test-xvasprintf.c: Add %s%s related checks.
810
811 2009-11-12  Eric Blake  <ebb9@byu.net>
812
813         version-etc: match standards.texi style
814         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
815         and use <> only for URLs.
816
817 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
818
819         fts: do not fail on a submount during traversal
820         * lib/fts.c (fts_build): Read the stat info again after opening
821         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
822         Original report at http://bugzilla.redhat.com/501848.
823
824 2009-11-12  Jim Meyering  <meyering@redhat.com>
825
826         bootstrap: sync from coreutils
827         * build-aux/bootstrap (bootstrap_epilogue): New function.
828         Use git_modules_config in one more place.  This make bootstrap's
829         --gnulib-srcdir option more useful for testing.
830
831         bootstrap: generalize autoheader check
832         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
833         AC_CONFIG_HEADERS.
834
835 2009-11-11  Eric Blake  <ebb9@byu.net>
836
837         mkfifoat: use new modules for Solaris and BSD bugs
838         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
839         * lib/mkfifoat.c (mknodat): Split...
840         * lib/mknodat.c (mknodat): ...into new file.
841         * modules/mkfifoat (Files): Ship new file.
842         (Depends-on): Add mkfifo, mknod.
843         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
844         (Depends-on): Add symlink.
845         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
846         redundant with test_mkfifo.h.
847         (do_mkfifoat, do_mknodat): New helpers.
848
849         mknod: new module
850         * modules/mknod: New file.
851         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
852         * lib/mknod.c (mknod): Likewise.
853         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
854         defaults.
855         * modules/sys_stat (Makefile.am): Substitute them.
856         * lib/sys_stat.in.h (mknod): Declare replacement.
857         * MODULES.html.sh (Support for systems lacking POSIX:2008):
858         Document it.
859         * doc/posix-functions/mknod.texi (mknod): Likewise.
860         * modules/mknod-tests: New test.
861         * tests/test-mknod.c: Likewise.
862
863         mkfifo: new module
864         * modules/mkfifo: New file.
865         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
866         * lib/mkfifo.c (mkfifo): Likewise.
867         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
868         defaults.
869         * modules/sys_stat (Makefile.am): Substitute them.
870         * lib/sys_stat.in.h (mkfifo): Declare replacement.
871         * MODULES.html.sh (Support for systems lacking POSIX:2008):
872         Document it.
873         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
874         * modules/mkfifo-tests: New test.
875         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
876         from test-mkfifoat.c.
877         * tests/test-mkfifo.c: New file.
878
879         readlink: detect FreeBSD bug
880         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
881         slash on symlink.
882         * doc/posix-functions/readlink.texi (readlink): Document the bug.
883         * tests/test-readlink.h (test_readlink): Enhance test.
884
885         symlink: detect FreeBSD bug
886         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
887         slash on symlink.
888         * doc/posix-functions/symlink.texi (symlink): Document the bug.
889         * tests/test-symlink.h (test_symlink): Enhance test.
890
891 2009-11-10  Eric Blake  <ebb9@byu.net>
892
893         link: detect FreeBSD bug
894         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
895         symlink.
896         * doc/posix-functions/link.texi (link): Document the bug.
897         * tests/test-link.h (test_link): Enhance test.
898         * tests/test-linkat.c (main): Update caller.
899
900         unlink, remove: detect FreeBSD bug
901         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
902         slash on symlink.
903         * doc/posix-functions/unlink.texi (unlink): Document the bug.
904         * doc/posix-functions/remove.texi (remove): Likewise.
905         * tests/test-unlink.h (test_unlink): Enhance test.
906         * tests/test-remove.c (main): Likewise.
907
908 2009-11-09  Eric Blake  <ebb9@byu.net>
909
910         rename: detect FreeBSD bug
911         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
912         slash on symlink.
913         * modules/renameat-tests (Depends-on): Add filenamecat.
914         * tests/test-rename.h (test_rename): Allow one more errno.
915         * tests/test-renameat.c (main): Likewise.
916         * doc/posix-functions/rename.texi (rename): Document the bug.
917
918         open: detect FreeBSD bug
919         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
920         symlink.
921         * doc/posix-functions/open.texi (open): Document the bug.
922         * doc/posix-functions/utimes.texi (utimes): Likewise.
923         * tests/test-open.h (test_open): Add parameters, and test symlink
924         handling.
925         * tests/test-open.c (main): Adjust caller.
926         * tests/test-fcntl-safer.c (main): Likewise.
927         * modules/open-tests (Depends-on): Add stdbool, symlink.
928         * modules/fcntl-safer-tests (Depends-on): Likewise.
929         * tests/test-openat.c (main): Add test-open tests.
930
931         stat: detect FreeBSD bug
932         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
933         symlink.
934         * doc/posix-functions/stat.texi (stat): Document the bug.
935         * tests/test-stat.h (test_stat_func): Add argument.
936         * tests/test-stat.c (main): Adjust caller.
937         * tests/test-fstatat.c (main): Likewise.
938         * modules/stat-tests (Depends-on): Add stdbool, symlink.
939         Reported by Jim Meyering.
940
941 2009-11-09  James Youngman  <jay@gnu.org>
942
943         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
944         * lib/strftime.c: Correct placement of #include "ignore-value.h".
945
946 2009-11-08  Jim Meyering  <meyering@redhat.com>
947
948         utimens: remove invalid futimesat call
949         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
950         It used the file descriptor of the target file as the DIR_FD
951         parameter and NULL as the file name.  That caused failure with
952         errno == EFAULT on FreeBSD-8.0-rc2
953
954 2009-11-07  Eric Blake  <ebb9@byu.net>
955
956         fflush, freadseek: use fseeko, not fseek
957         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
958         (clear_ungetc_buffer): Avoid potential problems on large files.
959         * lib/freadseek.c (freadseek): Likewise.
960         * modules/freadseek (Depends-on): Add fseeko.
961         * modules/fseek (configure.ac): Set a witness.
962         * tests/test-fflush.c (main): Use fseeko.
963         * tests/test-fpurge.c (fseek): Disable link warning.
964         * tests/test-freadable.c (fseek): Likewise.
965         * tests/test-freading.c (fseek): Likewise.
966         * tests/test-fseeko.c (fseek): Likewise.
967         * tests/test-ftell.c (fseek): Likewise.
968         * tests/test-ftello.c (fseek): Likewise.
969         * tests/test-fwritable.c (fseek): Likewise.
970         * tests/test-fwriting.c (fseek): Likewise.
971
972 2009-11-06  Simon Josefsson  <simon@josefsson.org>
973
974         * modules/memchr (Depends-on): Drop getpagesize dependency.
975
976 2009-11-06  Simon Josefsson  <simon@josefsson.org>
977
978         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
979         Reported by Ludovic Courtès.
980         * build-aux/pmccabe2html: Improve example usage.
981         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
982
983 2009-11-06  Jim Meyering  <meyering@redhat.com>
984
985         do-release-commit-and-tag: New module.
986         Automate the release-commit and tag process.
987         * build-aux/do-release-commit-and-tag: New script, from coreutils.
988         * modules/do-release-commit-and-tag: New file.
989         * MODULES.html.sh (Support for maintaining and releasing): Add it.
990
991 2009-11-06  Simon Josefsson  <simon@josefsson.org>
992
993         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
994         because test-select.c uses inet_pton.
995
996 2009-11-06  Simon Josefsson  <simon@josefsson.org>
997
998         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
999         GETADDRINFO_LIB.  Bump serial number.
1000         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
1001         Suggested by Eric Blake <ebb9@byu.net>.
1002
1003 2009-11-05  Eric Blake  <ebb9@byu.net>
1004
1005         strtod: detect darwin bug
1006         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
1007         Reported by Leo Davis.
1008
1009         freopen-safer: new module
1010         * modules/freopen-safer: New module.
1011         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
1012         * lib/freopen-safer.c (freopen_safer): New file.
1013         * lib/stdio-safer.h (freopen_safer): New declaration.
1014         * lib/stdio--.h (freopen): New override.
1015         * MODULES.html.sh (File stream based Input/Output): Mention it.
1016         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
1017         freopen-safer module.
1018         * doc/posix-functions/stderr.texi (stderr): Likewise.
1019         * doc/posix-functions/stdin.texi (stdin): Likewise.
1020         * doc/posix-functions/stdout.texi (stdout): Likewise.
1021         * modules/freopen-safer-tests: New test.
1022         * tests/test-reopen-safer.c: New file.
1023
1024 2009-11-05  Jim Meyering  <meyering@redhat.com>
1025
1026         maint.mk: Prohibit inclusion of "close-stream.h" without use.
1027         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
1028
1029 2009-11-05  Simon Josefsson  <simon@josefsson.org>
1030
1031         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
1032
1033 2009-11-05  Simon Josefsson  <simon@josefsson.org>
1034
1035         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
1036
1037 2009-11-05  Simon Josefsson  <simon@josefsson.org>
1038
1039         Fix link error.
1040         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
1041         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
1042
1043 2009-11-05  Simon Josefsson  <simon@josefsson.org>
1044
1045         * tests/test-func.c: Also test value of __func__.
1046
1047 2009-11-05  Simon Josefsson  <simon@josefsson.org>
1048
1049         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
1050         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
1051
1052 2009-11-05  Bruno Haible  <bruno@clisp.org>
1053
1054         Fix link error.
1055         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
1056         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
1057         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
1058
1059 2009-11-05  Bruno Haible  <bruno@clisp.org>
1060
1061         Tests for module 'inet_pton'.
1062         * modules/inet_pton-tests: New file.
1063         * tests/test-inet_pton.c: New file.
1064
1065 2009-11-05  Bruno Haible  <bruno@clisp.org>
1066
1067         Tests for module 'inet_ntop'.
1068         * modules/inet_ntop-tests: New file.
1069         * tests/test-inet_ntop.c: New file.
1070
1071 2009-11-04  Eric Blake  <ebb9@byu.net>
1072
1073         stdlib-safer: wrap all mkstemp variants
1074         * modules/mkostemp (configure.ac): Set witness.
1075         * modules/mkostemps (configure.ac): Likewise.
1076         * modules/mkstemps (configure.ac): Likewise.
1077         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
1078         (mkstemps_safer): Wrap more functions.
1079         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
1080         wrapping.
1081         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
1082         (mkstemps_safer): Implement the wrappers.
1083
1084         mkstemps, mkostemps: new modules
1085         * modules/mkostemps: New module.
1086         * modules/mkstemps: Likewise.
1087         * lib/mkostemps.c (mkostemps): New file.
1088         * lib/mkstemps.c (mkstemps): Likewise.
1089         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
1090         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
1091         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
1092         * modules/stdlib (Makefile.am): Substitute them.
1093         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
1094         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
1095         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
1096         * doc/gnulib.texi (Glibc stdlib.h): Include them.
1097         * MODULES.html.sh (File system functions): Mention them.
1098
1099         tempname: resync from glibc
1100         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
1101         same values for __GT_FILE as glibc.  Abort even when assertions
1102         are disabled.
1103         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
1104         match its value otherwise.  Allow idempotent inclusion.
1105         * lib/mkdtemp.c (mkdtemp): Adjust caller.
1106         * lib/mkostemp.c (mkostemp): Likewise.
1107         * lib/mkstemp.c (mkstemp): Likewise.
1108         * lib/tmpfile.c (tmpfile): Likewise.
1109         * NEWS: Document this.
1110
1111         utimens: fix use of futimens on older Linux
1112         * lib/utimens.c (fdutimens): Use updated, rather than original,
1113         timespec to avoid bug in older Linux kernel.
1114         Reported by Simon Josefsson.
1115
1116 2009-11-04  Bruno Haible  <bruno@clisp.org>
1117
1118         Make num_processors more flexible and consistent.
1119         * lib/nproc.h (enum nproc_query): New type.
1120         (num_processors): Add a 'query' argument.
1121         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
1122         (num_processors): Add a 'query' argument. Test the value of the
1123         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
1124         mingw, count the number of CPUs available for the current process.
1125         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
1126         Check for sched_getaffinity and sched_getaffinity_np.
1127         * modules/nproc (Depends-on): Add c-ctype, extensions.
1128         * NEWS: Mention the change.
1129
1130 2009-11-03  Bruno Haible  <bruno@clisp.org>
1131
1132         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
1133
1134 2009-11-03  Jim Meyering  <meyering@redhat.com>
1135
1136         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
1137         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
1138         if it is defined.
1139
1140 2009-11-02  Eric Blake  <ebb9@byu.net>
1141
1142         mktime, timegm: share common declaration
1143         * lib/mktime-internal.h: New file.
1144         * lib/mktime.c: Use it rather than open-coding a declaration.
1145         * lib/timegm.c: Likewise.
1146         * modules/mktime (Files): Ship it.
1147         * modules/timegm (Files): Likewise.
1148         Suggested by Bruno Haible.
1149
1150         test-update-copyright: update test to match script changes
1151         * tests/test-update-copyright.sh: Avoid hard-coding perl
1152         location.  Don't update *.bak created by earlier runs.
1153
1154 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
1155             Simon Josefsson  <simon@josefsson.org>
1156             Bruno Haible  <bruno@clisp.org>
1157
1158         Fix link error on Solaris 8.
1159         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
1160         also in libnsl. Define also INET_PTON_LIB.
1161         * modules/inet_pton (Link): New section.
1162
1163 2009-11-02  Simon Josefsson  <simon@josefsson.org>
1164             Bruno Haible  <bruno@clisp.org>
1165
1166         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
1167         * modules/inet_ntop (Link): New section.
1168         Reported by Boyan Kasarov <bkasarov@gmail.com>.
1169
1170 2009-11-02  Eric Blake  <ebb9@byu.net>
1171
1172         maint: avoid compiler warnings in m4 macros
1173         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
1174         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
1175
1176 2009-11-02  Simon Josefsson  <simon@josefsson.org>
1177
1178         * m4/pmccabe2html.m4: Remove file.
1179         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
1180         function.  Change maintainer.
1181         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
1182         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
1183         Courtès).
1184
1185 2009-10-31  Eric Blake  <ebb9@byu.net>
1186
1187         fseeko: fix m4 regression
1188         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
1189         regression from 2009-10-27.
1190         Reported by Ralf Wildenhues.
1191
1192 2009-10-31  Jim Meyering  <meyering@redhat.com>
1193
1194         inttostr: aesthetics and improved (compile-time) safety
1195         Define inttype_is_signed rather than inttype_is_unsigned,
1196         since the sole use is via "#if inttype_is_signed".
1197         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
1198         inttype_is_unsigned.
1199         * lib/offtostr.c (inttype_is_signed): Likewise.
1200         * lib/uinttostr.c (inttype_is_signed): Likewise.
1201         * lib/umaxtostr.c (inttype_is_signed): Likewise.
1202         * lib/inttostr.c (inttostr): Use verify to cross-check the
1203         inttype_is_signed value and the signedness of the actual type.
1204         * modules/inttostr (Depends-on): Add verify.
1205
1206 2009-10-30  Eric Blake  <ebb9@byu.net>
1207
1208         build: avoid compiler warnings
1209         * lib/fchmodat.c (lchmod): Mark unused variables.
1210         * lib/getopt.c (_getopt_initialize): Likewise.
1211         * lib/mktime.c (__mktime_internal): Provide prototype.
1212         * lib/inttostr.c (inttostr): Avoid compiler warning even with
1213         older gcc that do not understand #pragma GCC diagnostic.
1214         * lib/uinttostr.c (inttype_is_unsigned): Define.
1215         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
1216
1217 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
1218
1219         stat: fix compilation on AIX
1220         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
1221         only see struct stat64.
1222
1223 2009-10-30  Eric Blake  <ebb9@byu.net>
1224
1225         exclude: make more robust
1226         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
1227         rather than masking a coding bug.
1228         Suggested by Bruno Haible.
1229
1230 2009-10-30  Jim Meyering  <meyering@redhat.com>
1231
1232         perl scripts: remove #!/usr/bin/perl in favor of more portable...
1233         Rather than putting #!/usr/bin/perl on the first line,
1234         start with a variant of what's recommended by "man perlrun" that
1235         invokes the first "perl" program from your shell's search path.
1236         * build-aux/gitlog-to-changelog: Replace #!... as above.
1237         Add a "Local Variables" perl mode setting.
1238         Prompted by a patch from Ludovic Courtès.
1239         Improved by Eric Blake.
1240         * build-aux/useless-if-before-free: Likewise.
1241         * build-aux/announce-gen: Likewise.
1242         * build-aux/update-copyright: Likewise.
1243
1244 2009-10-29  Eric Blake  <ebb9@byu.net>
1245
1246         filenamecat-lgpl: adjust clients
1247         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
1248         filenamecat.
1249         * modules/renameat (Depends-on): Likewise.
1250
1251         filenamecat: split into filenamecat-lgpl
1252         * modules/filenamecat-lgpl: New module.
1253         * modules/filenamecat (Files): Move library-safe files into
1254         filenamecat-lgpl.
1255         (Depends-on): Add filenamecat-lgpl.
1256         (configure.ac): Declare witness.
1257         * lib/filenamecat.h (file_name_concat): Only declare when using
1258         GPL module.
1259         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
1260         Move...
1261         * lib/filenamecat-lgpl.c: ...into new file.
1262         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
1263         (gl_FILE_NAME_CONCAT): Use it.
1264         * MODULES.html.sh (File system functions): Mention new module.
1265
1266         argp: avoid memory leak
1267         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
1268         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
1269         base_name, since the latter malloc()s and can call exit().
1270         Leak introduced 2006-07-03.
1271
1272         dirname-lgpl: adjust clients that don't need full dirname
1273         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
1274         * modules/filenamecat (Depends-on): Likewise.
1275         * modules/linkat (Depends-on): Likewise.
1276         * modules/mkancesdirs (Depends-on): Likewise.
1277         * modules/mkdir (Depends-on): Likewise.
1278         * modules/openat (Depends-on): Likewise.
1279         * modules/savewd (Depends-on): Likewise.
1280         * modules/rename (Depends-on): Likewise.
1281         (License): Relax license.
1282         * modules/mkdir-tests (Depends-on): Drop progname.
1283         (Makefile.am): Delete unneeded LDADD.
1284         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
1285
1286         dirname: split into dirname-lgpl
1287         * modules/dirname-lgpl: New module.
1288         * modules/dirname (Files): Move library-safe files into
1289         dirname-lgpl.
1290         (Depends-on): Add dirname-lgpl.
1291         (configure.ac): Declare witness.
1292         * modules/double-slash-root (License): Relax license.
1293         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
1294         module.
1295         * lib/dirname.c (dir_len, mdir_name): Move...
1296         * lib/dirname-lgpl.c: ...into new file.
1297         * lib/basename.c (last_component, base_len): Move...
1298         * lib/basename-lgpl.c: ...into new file.
1299         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
1300         (gl_DIRNAME): Use it.
1301         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
1302         Mention new module.
1303         * modules/dirname-tests (Depends-on): Add progname.
1304         * tests/test-dirname.c (program_name): Delete.
1305
1306         mkdir: make safe for libraries
1307         * modules/mkdir (Depends-on): Drop xalloc.
1308         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
1309         exit.
1310
1311         tests: avoid some compiler warnings
1312         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
1313         literals.
1314         * tests/test-memchr.c (main): Avoid type mismatch.
1315         * tests/test-arpa_inet.c (main): Avoid unused parameters.
1316         * tests/test-base64.c (main): Likewise.
1317         * tests/test-getdelim.c (main): Likewise.
1318         * tests/test-gethostname.c (main): Likewise.
1319         * tests/test-getline.c (main): Likewise.
1320         * tests/test-netinet_in.c (main): Likewise.
1321         * tests/test-select.c (open_server_socket, main): Likewise.
1322         * tests/test-select-stdin.c (main): Likewise.
1323         * tests/test-sockets.c (main): Likewise.
1324         * tests/test-strsignal.c (main): Likewise.
1325         * tests/test-sys_select.c (main): Likewise.
1326         * tests/test-sys_socket.c (main): Likewise.
1327         * tests/test-u64.c (main): Likewise.
1328         * tests/test-xfprintf-posix.c (main): Likewise.
1329         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
1330
1331         sockets: avoid compiler warning
1332         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
1333
1334         maint: detect usage(1) and other suspicious exits
1335         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
1336
1337 2009-10-29  Jim Meyering  <meyering@redhat.com>
1338
1339         timespec: long-to-int truncation could make timespec_cmp malfunction
1340         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
1341         a multiple of 2^32 nanoseconds as no difference.
1342
1343 2009-10-28  Jim Meyering  <meyering@redhat.com>
1344
1345         fprintftime: wrap macro code argument in "do {...} while(0)"
1346         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
1347         cpy macro must be a statement that can be followed by a semicolon.
1348         Now that the else clause contains a comment and is hence longer
1349         than one line, I require curly braces.  That in turn requires
1350         that we wrap this code block in the standard do...while(0).
1351
1352         fprintftime: remove stray semicolon from previous change
1353         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
1354
1355         fprintftime: avoid a warning about ignored fwrite return value
1356         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
1357         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
1358         that is unsafe.
1359         * modules/fprintftime (Depends-on): Add ignore-value.
1360
1361         exclude: avoid an unwarranted warning
1362         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
1363
1364 2009-10-27  Eric Blake  <ebb9@byu.net>
1365
1366         fseek: avoid compilation failure when fflush is replaced
1367         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
1368         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
1369         module is in use.
1370         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
1371         module is not in use; since REPLACE_FSEEK worked otherwise.
1372         (GNULIB_FTELLO): Likewise for ftell.
1373         Reported by Ian Beckwith and others.
1374
1375 2009-10-27  Bruno Haible  <bruno@clisp.org>
1376
1377         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
1378         Reported by Jim Meyering.
1379
1380 2009-10-27  Jim Meyering  <jim@meyering.net>
1381             Bruno Haible  <bruno@clisp.org>
1382
1383         Avoid warning despite dropping the return value of fwrite.
1384         * lib/unicodeio.c: Include ignore-value.h.
1385         (fwrite_success_callback): Explicitly ignore fwrite's return value.
1386         * modules/unicodeio (Depends-on): Add ignore-value.
1387
1388 2009-10-26  Eric Blake  <ebb9@byu.net>
1389
1390         areadlinkat: fix fallback path
1391         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
1392         pointer and zero.
1393
1394 2009-10-22  Pádraig Brady  <P@draigBrady.com>
1395
1396         Use a better IO block size for modern systems
1397         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
1398         * lib/md2.c: Likewise.
1399         * lib/md4.c: Likewise.
1400         * lib/md5.c: Likewise.
1401         * lib/sha1.c: Likewise.
1402         * lib/sha256.c: Likewise.
1403         * lib/sha512.c: Likewise.
1404
1405 2009-10-22  Eric Blake  <ebb9@byu.net>
1406
1407         tests: avoid several compiler warnings
1408         * tests/test-getcwd.c (main): Avoid buffer underflow.
1409         * tests/test-getdate.c (main): String literals are not safe with
1410         putenv, so use setenv.  Declare unused argument.
1411         * modules/getdate-tests (Depends-on): Add setenv.
1412         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
1413         problems with string literals in char *.
1414         * tests/test-hash.c (main): Avoid shadowing declaration.
1415         (insert_new): Treat string literals as char const *.
1416         * tests/test-getopt.h (test_getopt): Likewise.
1417         (getopt_loop): Alter types to minimize casting elsewhere.
1418         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
1419         (test_getopt_long_posix): Likewise.
1420         (do_getopt_long): Add wrapper to minimize casting.
1421         * tests/test-atexit.c (clear_temp_file): Use void.
1422         * tests/test-areadlink-with-size.c (main): Declare unused
1423         arguments.
1424         * tests/test-areadlink.c (main): Likewise.
1425         * tests/test-areadlinkat-with-size.c (main): Likewise.
1426         * tests/test-areadlinkat.c (main): Likewise.
1427         * tests/test-canonicalize-lgpl.c (main): Likewise.
1428         * tests/test-canonicalize.c (main): Likewise.
1429         * tests/test-dirent-safer.c (main): Likewise.
1430         * tests/test-dirname.c (main): Likewise.
1431         * tests/test-dup2.c (main): Likewise.
1432         * tests/test-fchdir.c (main): Likewise.
1433         * tests/test-fcntl-h.c (main): Likewise.
1434         * tests/test-fcntl-safer.c (main): Likewise.
1435         * tests/test-fdopendir.c (main): Likewise.
1436         * tests/test-fdutimensat.c (main): Likewise.
1437         * tests/test-fflush.c (main): Likewise.
1438         * tests/test-filenamecat.c (main): Likewise.
1439         * tests/test-filevercmp.c (main): Likewise.
1440         * tests/test-fopen-safer.c (main): Likewise.
1441         * tests/test-fopen.c (main): Likewise.
1442         * tests/test-fpending.c (main): Likewise.
1443         * tests/test-fpurge.c (main): Likewise.
1444         * tests/test-freading.c (main): Likewise.
1445         * tests/test-fstatat.c (main): Likewise.
1446         * tests/test-fsync.c (main): Likewise.
1447         * tests/test-futimens.c (main): Likewise.
1448         * tests/test-getndelim2.c (main): Likewise.
1449         * tests/test-gettimeofday.c (main): Likewise.
1450         * tests/test-getopt.c (main): Likewise.
1451         * tests/test-i-ring.c (main): Likewise.
1452         * tests/test-inttypes.c (main): Likewise.
1453         * tests/test-link.c (main): Likewise.
1454         * tests/test-lstat.c (main): Likewise.
1455         * tests/test-math.c (main): Likewise.
1456         * tests/test-md5.c (main): Likewise.
1457         * tests/test-memchr2.c (main): Likewise.
1458         * tests/test-memrchr.c (main): Likewise.
1459         * tests/test-mkdir.c (main): Likewise.
1460         * tests/test-mkdirat.c (main): Likewise.
1461         * tests/test-mkfifoat.c (main): Likewise.
1462         * tests/test-open.c (main): Likewise.
1463         * tests/test-openat-safer.c (main): Likewise.
1464         * tests/test-openat.c (main): Likewise.
1465         * tests/test-quotearg.c (main): Likewise.
1466         * tests/test-rawmemchr.c (main): Likewise.
1467         * tests/test-readlink.c (main): Likewise.
1468         * tests/test-remove.c (main): Likewise.
1469         * tests/test-rename.c (main): Likewise.
1470         * tests/test-renameat.c (main): Likewise.
1471         * tests/test-rmdir.c (main): Likewise.
1472         * tests/test-sha1.c (main): Likewise.
1473         * tests/test-signal.c (main): Likewise.
1474         * tests/test-sigaction.c (main): Likewise.
1475         * tests/test-stat.c (main): Likewise.
1476         * tests/test-stat-time.c (main): Likewise.
1477         * tests/test-stddef.c (main): Likewise.
1478         * tests/test-stdint.c (main): Likewise.
1479         * tests/test-stdio.c (main): Likewise.
1480         * tests/test-stdlib.c (main): Likewise.
1481         * tests/test-strchrnul.c (main): Likewise.
1482         * tests/test-strerror.c (main): Likewise.
1483         * tests/test-string.c (main): Likewise.
1484         * tests/test-strtod.c (main): Likewise.
1485         * tests/test-strverscmp.c (main): Likewise.
1486         * tests/test-symlink.c (main): Likewise.
1487         * tests/test-symlinkat.c (main): Likewise.
1488         * tests/test-sys_stat.c (main): Likewise.
1489         * tests/test-sys_time.c (main): Likewise.
1490         * tests/test-time.c (main): Likewise.
1491         * tests/test-unistd.c (main): Likewise.
1492         * tests/test-unlink.c (main): Likewise.
1493         * tests/test-unlinkat.c (main): Likewise.
1494         * tests/test-utimens.c (main): Likewise.
1495         * tests/test-utimensat.c (main): Likewise.
1496         * tests/test-version-etc.c (main): Likewise.
1497         * tests/test-wchar.c (main): Likewise.
1498         * tests/test-wctype.c (main): Likewise.
1499         * tests/test-xprintf-posix.c (main): Likewise.
1500         * tests/test-posixtm.c (main): Likewise.
1501         (STREQ): Delete unused macro.
1502         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
1503         shadowed variables.
1504         * tests/test-memchr.c (main): Likewise.
1505
1506 2009-10-21  Eric Blake  <ebb9@byu.net>
1507
1508         areadlinkat: avoid failure on older glibc
1509         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
1510         rather than mis-comparing 0 against FUNC_RESULT of char*.
1511
1512 2009-10-21  Bruno Haible  <bruno@clisp.org>
1513
1514         * modules/stpncpy (License): Relicense under LGPLv2+.
1515         Reported by David Lutterkort <lutter@redhat.com>.
1516
1517 2009-10-20  Eric Blake  <ebb9@byu.net>
1518
1519         utimensat: work around Solaris 9 bug
1520         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
1521         has trailing slash bugs.
1522         * tests/test-lutimens.h (test_lutimens): Enhance test.
1523         * tests/test-utimens.h (test_utimens): Likewise.
1524         * doc/posix-functions/utime.texi (utime): Enhance documentation.
1525         * doc/posix-functions/utimes.texi (utimes): Likewise.
1526         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1527         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
1528         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
1529         * doc/posix-functions/futimens.texi (futimens): Likewise.
1530
1531         fdutimensat: new module
1532         * modules/fdutimensat: New file.
1533         * lib/fdutimensat.c (fdutimensat): Likewise.
1534         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
1535         * MODULES.html.sh (File system functions): Mention module.
1536         * modules/fdutimensat-tests: New test.
1537         * tests/test-fdutimensat.c: Likewise.
1538
1539         doc: regenerate INSTALL
1540         * doc/INSTALL: Reflect recent autoconf update.
1541         * doc/INSTALL.ISO: Likewise.
1542         * doc/INSTALL.UTF-8: Likewise.
1543
1544 2009-10-20  Pádraig Brady  <P@draigBrady.com>
1545
1546         acl: warn if ACL support is not detected
1547         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
1548
1549 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
1550
1551         * lib/nproc.h: Add extern "C" block for C++.
1552
1553 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
1554             Bruno Haible  <bruno@clisp.org>
1555
1556         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
1557         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
1558         * doc/posix-functions/isalpha.texi: Likewise.
1559         * doc/posix-functions/isblank.texi: Likewise.
1560         * doc/posix-functions/iscntrl.texi: Likewise.
1561         * doc/posix-functions/isdigit.texi: Likewise.
1562         * doc/posix-functions/isgraph.texi: Likewise.
1563         * doc/posix-functions/islower.texi: Likewise.
1564         * doc/posix-functions/isprint.texi: Likewise.
1565         * doc/posix-functions/ispunct.texi: Likewise.
1566         * doc/posix-functions/isspace.texi: Likewise.
1567         * doc/posix-functions/isupper.texi: Likewise.
1568         * doc/posix-functions/isxdigit.texi: Likewise.
1569
1570 2009-10-18  Bruno Haible  <bruno@clisp.org>
1571
1572         Tests for module 'isblank'.
1573         * modules/isblank-tests: New file.
1574         * tests/test-isblank.c: New file.
1575
1576         New module 'isblank'.
1577         * lib/isblank.c: New file.
1578         * m4/isblank.m4: New file.
1579         * modules/isblank: New file.
1580         * doc/posix-functions/isblank.texi: Mention the new module.
1581
1582 2009-10-18  Bruno Haible  <bruno@clisp.org>
1583
1584         New module 'ctype'.
1585         * lib/ctype.in.h: New file.
1586         * m4/ctype.m4: New file.
1587         * modules/ctype: New file.
1588         * doc/posix-headers/ctype.texi: Mention the new module.
1589
1590 2009-10-18  Jim Meyering  <meyering@redhat.com>
1591
1592         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
1593         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
1594         right after its initialization, rather than farther down.
1595         Keeping these in close proximity makes it easier to ensure
1596         that each such variable is initialized.  E.g.,
1597
1598             LIB_CLOCK_GETTIME=
1599             AC_SUBST([LIB_CLOCK_GETTIME])
1600
1601         This change also increments these serial numbers.
1602         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
1603         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
1604         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
1605
1606 2009-10-18  Bruno Haible  <bruno@clisp.org>
1607
1608         Don't let environment variables perturb build.
1609         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
1610         (gl_PREREQ_GETHRXTIME): ... not here.
1611
1612 2009-10-18  Bruno Haible  <bruno@clisp.org>
1613
1614         Avoid symlink attack in localcharset module.
1615         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
1616         (O_NOFOLLOW): Define fallback.
1617         (get_charset_aliases): Don't open the file if it is a symbolic link.
1618         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
1619         gl_FCNTL_H.
1620         (gl_FCNTL_H): Require it.
1621         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
1622         * modules/localcharset (Files): Add m4/fcntl_h.m4.
1623         Reported by Fergal Glynn <fglynn@veracode.com>.
1624
1625 2009-10-18  Bruno Haible  <bruno@clisp.org>
1626
1627         Implement nproc for mingw.
1628         * lib/nproc.c: Include <windows.h>
1629         (num_processors): On native Windows platforms, try GetSystemInfo.
1630
1631 2009-10-18  Bruno Haible  <bruno@clisp.org>
1632
1633         Implement nproc for IRIX.
1634         * lib/nproc.c: Include <sys/sysmp.h>.
1635         (num_processors): On IRIX systems, try sysmp.
1636         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
1637
1638 2009-10-18  Bruno Haible  <bruno@clisp.org>
1639
1640         Implement nproc for HP-UX.
1641         * lib/nproc.c: Include <sys/pstat.h>
1642         (num_processors): On HP-UX systems, try pstat_getdynamic.
1643         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
1644         pstat_getdynamic.
1645
1646 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
1647             Bruno Haible  <bruno@clisp.org>
1648
1649         Implement nproc for NetBSD, OpenBSD.
1650         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
1651         (ARRAY_SIZE): New macro.
1652         (num_processors): On BSD systems, try sysctl of HW_NCPU.
1653         * m4/nproc.m4: New file.
1654         * modules/nproc (Files): Add m4/nproc.m4.
1655         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
1656         (Makefile.am): Instead, augment lib_SOURCES.
1657
1658 2009-10-18  Bruno Haible  <bruno@clisp.org>
1659
1660         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
1661         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
1662         sys/param.h.
1663
1664 2009-10-16  Eric Blake  <ebb9@byu.net>
1665
1666         utimensat: new module
1667         * modules/utimensat: New file.
1668         * lib/utimensat.c (utimensat): Likewise.
1669         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
1670         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
1671         so we can work around Linux bugs.
1672         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
1673         * modules/sys_stat (Makefile.am): Substitute them.
1674         * lib/sys_stat.in.h (utimensat): Declare it.
1675         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1676         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1677         * modules/utimensat-tests: New test.
1678         * tests/test-utimensat.c: Likewise.
1679
1680         utimens: let lutimens work on non-symlinks
1681         * lib/utimens.c (lutimens): Fall back to utimens rather than
1682         failing with ENOSYS, when file is not a symlink.
1683         (utimens): Reduce redirection.
1684         * tests/test-lutimens.h (test_lutimens): Update test to cover
1685         non-symlinks.
1686         * tests/test-utimens.h (test_utimens): Update test to cover
1687         symlinks.
1688         * tests/test-utimens.c (main): Update caller.
1689
1690         utimens: cache whether utimensat syscall works
1691         * lib/utimens.c (utimensat_works_really): New cache variable.
1692         (fdutimens, lutimens): Use it to avoid failing syscall.
1693
1694         test-stat-time, test-utimens: improve portability
1695         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
1696         ext4 on alpha, and for cygwin.
1697         * tests/test-utimens-common.h: New file.
1698         (nap): Factor delays into single function.
1699         * tests/test-lutimens.h (test_lutimens): Use new header.
1700         * tests/test-futimens.h (test_futimens): Likewise.
1701         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
1702         timestamps to occur from same machine, as was done previously for
1703         test_utimens.
1704         * modules/utimens-tests (Files): Ship new file.
1705         * modules/futimens-tests (Files): Likewise.
1706         Reported in part by Jim Meyering.
1707
1708         sys_stat: sort replacement declarations
1709         * lib/sys_stat.in.h: Sort declarations.
1710         * lib/futimens.c (futimens): Fix typo.
1711
1712 2009-10-15  Jim Meyering  <meyering@redhat.com>
1713
1714         don't let environment settings perturb build
1715         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
1716         could cause a configure-time and/or build-time malfunction.
1717         Typically, a configure-time function-in-library test is performed
1718         via code like this:
1719
1720           LIB_VAR=
1721           AC_SUBST([LIB_VAR])
1722           prefix_saved_LIBS=$LIBS
1723             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
1724                        [test "$ac_cv_search_FUNC" = "none required" ||
1725                         LIB_VAR=$ac_cv_search_FUNC])
1726           LIBS=$prefix_saved_LIBS
1727
1728         However, in each of the files affected by this change, the LIB_VAR=
1729         initialization was omitted.  Thus, when set in the environment, its
1730         value would propagate into generated Makefiles when FUNC is not found
1731         in LIB_NAME.
1732         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
1733         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
1734         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
1735
1736 2009-10-14  Eric Blake  <ebb9@byu.net>
1737
1738         fchdir: avoid infinite recursion in mingw
1739         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
1740         recursing.
1741
1742         test-stat-time: port to mingw
1743         * tests/test-stat-time.c (force_unlink): Return a value.
1744         (test_ctime) [W32]: Fix compilation error.
1745         (nap): Don't call usleep with too large an argument.  Use
1746         force_unlink.
1747         * doc/pastposix-functions/usleep.texi (usleep): Document the
1748         portability issue.
1749
1750 2009-10-13  Jim Meyering  <meyering@redhat.com>
1751
1752         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
1753         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
1754         * modules/pipe-filter-ii: Likewise.
1755         * modules/sys_socket-tests: Likewise.
1756         * modules/tsearch-tests: Likewise.
1757         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
1758         (check): Depend on it.
1759
1760 2009-10-12  Eric Blake  <ebb9@byu.net>
1761
1762         utimens-tests: port to NFS file systems
1763         * tests/test-utimens.h (test_utimens): Refactor utimecmp
1764         comparisons to avoid spurious failures from timestamp drift
1765         between NFS machines.
1766
1767 2009-10-12  Eric Blake  <ebb9@byu.net>
1768
1769         stat-time-tests: minor cleanups
1770         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
1771         * tests/test-stat-time.c (nap): Separate assignment from call.
1772         Suggested by Paolo Bonzini and Bruno Haible.
1773
1774         sys_stat: guarantee struct timespec
1775         * lib/sys_stat.in.h (includes): Always include <time.h>
1776         * modules/sys_stat (Depends-on): Add time.
1777         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
1778         mode_t permission values.
1779         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
1780         get at subsecond timestamps.
1781
1782 2009-10-10  Eric Blake  <ebb9@byu.net>
1783
1784         futimens: new module
1785         * modules/futimens: New file.
1786         * lib/futimens.c (futimens): Likewise.
1787         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
1788         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
1789         we can work around Linux bugs.
1790         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
1791         * modules/sys_stat (Makefile.am): Substitute them.
1792         * lib/sys_stat.in.h (futimens): Declare it.
1793         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
1794         * doc/posix-functions/futimens.texi (futimens): Likewise.
1795         * modules/futimens-tests: New test.
1796         * tests/test-futimens.c: Likewise.
1797
1798         utimens: introduce fdutimens
1799         * lib/utimens.h (fdutimens): New prototype.
1800         * lib/utimens.c (gl_futimens): Move guts...
1801         (fdutimens): ...to new interface.
1802         * tests/test-utimens.c (do_fdutimens): Use it.
1803
1804         utimens: add UTIME_NOW and UTIME_OMIT support
1805         * lib/utimens.c (validate_timespec, update_timespec): New helper
1806         functions.
1807         (gl_futimens, lutimens): Use them.
1808         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
1809         stdbool, sys_stat.
1810         (Link): Mention resulting library dependency.
1811         * modules/utimecmp (Link): Likewise.
1812         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
1813         (Makefile.am): Pick up library dependency.
1814         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
1815         definition.
1816         * tests/test-sys_stat.c: Test the definitions.
1817         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
1818         * NEWS: Document library dependency.
1819
1820         utimecmp: support symlink timestamps
1821         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
1822         hashing when possible.  Use pathconf when available.
1823         (SYSCALL_RESOLUTION): Recognize tighter resolution.
1824         * modules/utimecmp (Depends-on): Add lstat.
1825
1826         utimens: add lutimens interface
1827         * lib/utimens.c (lutimens): New function.
1828         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
1829         * lib/utimens.h (lutimens): Declare new interface.
1830         * tests/test-utimens.c (main): Enhance test.
1831         * tests/test-lutimens.h (test_lutimens): New file.
1832         * modules/utimens-tests (Files): Distribute it.
1833         (Depends-on): Add symlink.
1834         (configure.ac): Check for usleep.
1835
1836         utimens: validate futimens usage
1837         * lib/utimens.c (gl_futimens): Require valid fd up front, using
1838         fewer syscalls on failure later on.  Avoid compiler warning on
1839         mingw.
1840         * modules/utimens (Depends-on): Add dup2.
1841
1842         utimens: add test
1843         * modules/utimens-tests: New test.
1844         * tests/test-utimens.h: New file.
1845         * tests/test-futimens.h: Likewise.
1846         * tests/test-utimens.c: Likewise.
1847
1848         doc: mention timestamp portability issues
1849         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
1850         instead.
1851         * doc/posix-functions/utime.texi (utime): Likewise.
1852         * doc/posix-functions/utimes.texi (utimes): Likewise.
1853         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
1854         instead.
1855         * doc/posix-functions/futimens.texi (futimens): Mention utimens
1856         module.
1857         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
1858         Mention weakness with symlink timestamps.
1859         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
1860         to utimensat/futimens instead.
1861         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
1862
1863         test-dup2: enhance test
1864         * tests/test-dup2.c (main): Also check AT_FDCWD.
1865
1866         test-stat-time: avoid more spurious failures
1867         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
1868         xfs; and avoid race if the two timestamps cross quantization edge.
1869
1870         relocatable: prefer 'file system' over 'filesystem'
1871         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
1872         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
1873         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
1874         * doc/relocatable.texi (Enabling Relocatability): Likewise.
1875         * lib/relocatable.c (compute_curr_prefix): Likewise.
1876
1877 2009-10-10  Jim Meyering  <meyering@redhat.com>
1878
1879         stat-time-tests: check for the usleep function
1880         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
1881
1882 2009-10-10  Bruno Haible  <bruno@clisp.org>
1883
1884         * modules/xnanosleep: Put the Link section after the Include section.
1885
1886 2009-10-09  Eric Blake  <ebb9@byu.net>
1887
1888         dup2: work around FreeBSD 6.1 bug
1889         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
1890         * doc/posix-functions/dup2.texi (dup2): Document it.
1891         Reported by Nelson H. F. Beebe and Jim Meyering.
1892
1893         test-stat-time: port to buggy NFS clients
1894         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
1895         (test_ctime): Also skip test if mtime and ctime are skewed.
1896
1897         maint: prefer 'file system' over 'filesystem'
1898         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
1899         * doc/posix-functions/lstat.texi (lstat): Likewise.
1900         * lib/file-has-acl.c (file_has_acl): Likewise.
1901         * lib/fwriteerror.c [TEST]: Likewise.
1902         * tests/test-areadlink.h (test_areadlink): Likewise.
1903         * tests/test-areadlinkat-with-size.c (main): Likewise.
1904         * tests/test-areadlinkat.c (main): Likewise.
1905         * tests/test-canonicalize-lgpl.c (main): Likewise.
1906         * tests/test-canonicalize.c (main): Likewise.
1907         * tests/test-fstatat.c (main): Likewise.
1908         * tests/test-linkat.c (main): Likewise.
1909         * tests/test-lstat.h (test_lstat_func): Likewise.
1910         * tests/test-mkdir.h (test_mkdir): Likewise.
1911         * tests/test-readlink.h (test_readlink): Likewise.
1912         * tests/test-remove.c (main): Likewise.
1913         * tests/test-rename.h (test_rename): Likewise.
1914         * tests/test-renameat.c (main): Likewise.
1915         * tests/test-rmdir.h (test_rmdir_func): Likewise.
1916         * tests/test-symlink.h (test_symlink): Likewise.
1917         * tests/test-symlinkat.c (main): Likewise.
1918         * tests/test-unlink.h (test_unlink_func): Likewise.
1919         * tests/test-unlinkat.c (main): Likewise.
1920
1921         maint: make realtime library usage explicit
1922         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
1923         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
1924         * modules/settime (Link): Likewise.
1925         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
1926
1927         test-stat-time: speed up execution
1928         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
1929         warning on mingw.
1930         (nap): New helper function.
1931         (prepare_test): Use it to reduce sleep time.
1932         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
1933         execution.
1934         * modules/stat-time-tests (configure.ac): Check for usleep.
1935
1936 2009-10-09  Jim Meyering  <meyering@redhat.com>
1937
1938         selinux-h: always use getfilecon wrappers
1939         * lib/getfilecon.c: New file.
1940         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
1941         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
1942         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
1943         (fgetfilecon): Provide a stub.
1944         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
1945         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
1946         file unconditionally.
1947         When <selinux/selinux.h> is found, arrange to use wrappers.
1948         * modules/selinux-h (Files): Add getfilecon.c.
1949         (Makefile.am): Substitute include-next-related bits
1950         into the now-always-generated selinux/selinux.h file.
1951         * doc/glibc-functions/lgetfilecon.texi: New file.
1952         * doc/glibc-functions/fgetfilecon.texi: New file.
1953         * doc/glibc-functions/getfilecon.texi: New file.
1954         * doc/glibc-functions/getfilecon-desc.texi: New file.
1955         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
1956         which to pull in the new files.
1957         * MODULES.html.sh (Misc): Add selinux-h.
1958
1959 2009-10-08  Jim Meyering  <meyering@redhat.com>
1960
1961         unistd: fix comment typo
1962         * lib/unistd.in.h (euidaccess): Fix a comment typo.
1963
1964 2009-10-08  Eric Blake  <ebb9@byu.net>
1965
1966         areadlink: use SIZE_MAX consistently
1967         * modules/areadlink (Depends-on): Add stdint.
1968         * modules/areadlink-with-size (Depends-on): Likewise.
1969         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
1970         gives NULL; drop sys/types, since unistd gives size_t; and add
1971         stdint for SIZE_MAX.
1972         (SIZE_MAX): Rely on headers.
1973         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
1974         and add stdint.
1975         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
1976         (SIZE_MAX): Likewise.
1977         (INITIAL_BUF_SIZE): Turn into enum.
1978         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
1979
1980 2009-10-08  Jim Meyering  <meyering@redhat.com>
1981
1982         areadlinkat: avoid compilation failure
1983         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
1984         Fix typo in comment.
1985
1986 2009-10-07  Eric Blake  <ebb9@byu.net>
1987
1988         areadlinkat-with-size: new module
1989         * modules/areadlinkat-with-size: New module.
1990         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
1991         * lib/areadlink.h (areadlinkat): Declare it.
1992         * MODULES.html.sh (File system functions): Mention it.
1993         * modules/areadlinkat-with-size-tests: New test.
1994         * tests/test-areadlinkat-with-size.c: New file.
1995
1996         xreadlinkat: new module
1997         * modules/xreadlinkat: New module.
1998         * lib/xreadlinkat.c (xreadlinkat): New file.
1999         * lib/xreadlink.h (xreadlinkat): Declare it.
2000         * MODULES.html.sh (File system functions): Mention it.
2001
2002         areadlinkat: new module
2003         * lib/at-func.c (FUNC_FAIL): New define.
2004         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
2005         * modules/areadlinkat: New module.
2006         * lib/linkat.c (areadlinkat): Move...
2007         * lib/areadlinkat.c (areadlinkat): ...to new file.
2008         * lib/areadlink.h (areadlinkat): Declare it.
2009         * modules/linkat (Depends-on): Add areadlinkat.
2010         * MODULES.html.sh (File system functions): Mention it.
2011         * modules/areadlinkat-tests: New test.
2012         * tests/test-areadlinkat.c: New file.
2013
2014         areadlink, areadlink-with-size: add tests
2015         * modules/areadlink-tests: New test.
2016         * modules/areadlink-with-size-tests: Likewise.
2017         * tests/test-areadlink.h: New file.
2018         * tests/test-areadlink.c: Likewise.
2019         * tests/test-areadlink-with-size.c: Likewise.
2020
2021         maint: minor cleanups
2022         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
2023         _UNUSED_PARAMETER_ instead.
2024         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
2025         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
2026         * modules/linkat-tests (Files): Distribute test-link.h.
2027
2028         openat, utimens: whitespace cleanup
2029         * lib/openat.c: Prefer space throughout, rather than mix of 8
2030         spaces vs. tabs.
2031         * lib/at-func.c: Likewise.
2032         * lib/utimens.c: Likewise.
2033
2034         openat: avoid using wrong fd
2035         * lib/openat.c (openat_permissive): Reject user's fd if saving the
2036         working directory chooses same fd.
2037         * lib/at-func.c (AT_FUNC_NAME): Likewise.
2038
2039         mkdir, mkdirat: fix cygwin 1.5.x bug
2040         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
2041         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
2042         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
2043         bug.
2044         (gl_PREREQ_MKDIR): Delete unused macro.
2045         * modules/mkdir (Files): Track file rename.
2046         (configure.ac): Update macro name.
2047         * modules/openat (Depends-on): Add mkdir.
2048         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
2049
2050         mkdir, mkdirat: add tests
2051         * modules/mkdir-tests: New test.
2052         * tests/test-mkdir.h: New file.
2053         * tests/test-mkdir.c: Likewise.
2054         * tests/test-mkdirat.c: Likewise.
2055         * modules/openat-tests (Files): Add new files.
2056         (Makefile.am): Run new test.
2057
2058 2009-10-06  Eric Blake  <ebb9@byu.net>
2059
2060         doc: tweak *at function documentation
2061         * doc/posix-functions/faccessat.texi (faccessat): Mention
2062         known issue with replacement.
2063         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
2064         * doc/posix-functions/linkat.texi (linkat): Likewise.
2065         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
2066         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
2067         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
2068         * doc/posix-functions/renameat.texi (renameat): Likewise.
2069         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
2070
2071         openat: fix GNU/Hurd bug in unlinkat
2072         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
2073         broken.
2074         * doc/posix-functions/unlink.texi (unlink): Document this.
2075         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
2076
2077         fdopendir: fix GNU/Hurd bug
2078         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
2079         allowing non-directory fds.
2080         * lib/fdopendir.c (rpl_fdopendir): Work around it.
2081         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
2082         * modules/dirent (Makefile.am): Substitute it.
2083         * lib/dirent.in.h (fdopendir): Declare replacement.
2084         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
2085         * tests/test-fdopendir.c (main): Test something other than
2086         /dev/null, since on Hurd that behaves like a directory.
2087
2088         test-symlink: port to GNU/Hurd
2089         * tests/test-symlink.h (test_symlink): Relax expected errno.
2090
2091         doc: tweak more cygwin information
2092         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
2093         now compatible with glibc.
2094         * doc/posix-functions/getopt.texi (getopt): Likewise.
2095
2096         getopt-gnu: add another test
2097         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
2098         guarantee behavior relied on by m4.
2099         * tests/test-getopt.c (main): Use it.
2100         * modules/getopt-posix-tests (Depends-on): Add setenv.
2101         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
2102
2103         getopt: fix compilation on darwin
2104         * lib/getopt.in.h (includes): Leave breadcrumbs during system
2105         include.
2106         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
2107         Reported by Ludovic Courtès.
2108
2109 2009-10-06  Bruno Haible  <bruno@clisp.org>
2110
2111         * modules/size_max (Description): Discourage its use.
2112         Reported by Simon Josefsson.
2113
2114 2009-10-06  Jim Meyering  <meyering@redhat.com>
2115
2116         linkat: avoid compilation failure
2117         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
2118
2119 2009-10-05  Eric Blake  <ebb9@byu.net>
2120
2121         linkat: support Linux 2.6.17
2122         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
2123         linkat on Linux, but allow cache variable override.
2124         * lib/linkat.c (rpl_linkat): Define override.
2125         * modules/linkat (Depends-on): Add symlinkat.
2126         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
2127         * modules/unistd (Makefile.am): Substitute it.
2128         * lib/unistd.in.h (linkat): Declare replacement.
2129         Reported by Pádraig Brady.
2130
2131         quotearg: port test to systems with C.UTF-8 locale
2132         * tests/test-quotearg.c (struct result_strings): Add another
2133         member, differentiating between C.ASCII and C.UTF-8 handling.
2134         (compare_strings): Add parameter.
2135         (main): Adjust all callers.
2136
2137         getopt: avoid clash with FreeBSD _getopt_internal
2138         * lib/getopt.in.h (_getopt_internal): Override the name.
2139         * lib/getopt_int.h (includes): Pick up any overrides.
2140         Reported by Reuben Thomas.
2141
2142         hash: allow C89 compilation
2143         * lib/hash.c (check_tuning): Move declaration before statement.
2144         Reported by Reuben Thomas.
2145
2146 2009-10-05  Karl Berry  <karl@gnu.org>
2147
2148         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
2149
2150 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
2151             Bruno Haible  <bruno@clisp.org>
2152
2153         * lib/uname.c (uname): Use a table-driven algorithm to compute
2154         Windows NT versions.
2155
2156 2009-10-04  Bruno Haible  <bruno@clisp.org>
2157
2158         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
2159         program_invocation_short_name.
2160         * modules/progname (configure.ac): Test for presence of
2161         program_invocation_short_name.
2162         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
2163
2164 2009-10-04  Bruno Haible  <bruno@clisp.org>
2165
2166         * lib/progname.c (set_program_name): Fix comment.
2167         Reported by Jim Meyering.
2168
2169 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
2170             Bruno Haible  <bruno@clisp.org>
2171
2172         * lib/uname.c: Include <string.h>.
2173         (uname): Do only one call to GetVersionEx in the common case.
2174
2175 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
2176             Bruno Haible  <bruno@clisp.org>
2177
2178         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
2179         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
2180         (uname): Add support for Windows CE and various non-x86 CPU types.
2181
2182 2009-10-03  Bruno Haible  <bruno@clisp.org>
2183
2184         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
2185         invocation to tests/configure.ac.
2186         Reported by Ian Beckwith <ianb@erislabs.net>.
2187
2188 2009-10-02  Eric Blake  <ebb9@byu.net>
2189
2190         fchdir: avoid compiler warning
2191         * lib/fchdir.c (canonicalize_file_name)
2192         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
2193
2194         test-open: support mingw errno values
2195         * tests/test-open.h (test_open): Relax test.
2196         * tests/test-fopen.h (test_fopen): Likewise.
2197         * tests/test-openat-safer.c (main): Likewise.
2198
2199         open: fix opening directory on mingw
2200         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
2201
2202         test-open: on GNU/Hurd, /dev/null is a directory
2203         * tests/test-fopen.h (main): Rename...
2204         (test_fopen): ...to this.  Use a guaranteed non-directory when
2205         confirming open behavior on trailing slash.
2206         * tests/test-openat-safer.c (main): Likewise.
2207         * tests/test-open.h (main): Likewise....
2208         (test_open): ...to this.
2209         * tests/test-fopen.c (main): Adjust caller.
2210         * tests/test-fopen-safer.c (main): Likewise.
2211         * tests/test-open.c (main): Likewise.
2212         * tests/test-fcntl-safer.c (main): Likewise.
2213         Reported by Samuel Thibault.
2214
2215         rename, fchdir: don't ignore chdir failure
2216         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
2217         * lib/rename.c (rpl_rename) [W32]: Likewise.
2218         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
2219         an empty destination directory if source cannot be renamed,
2220         although there is still possibility for failure.
2221         * doc/posix-functions/rename.texi (rename): Document the race.
2222         Reported by Jim Meyering.
2223
2224         maint: cleanup whitespace in recent commits
2225         * lib/rename.c (rpl_rename): Remove tabs.
2226         * tests/test-link.h (test_link): Likewise.
2227         * lib/fchdir.c (get_name): Likewise.
2228         Reported by Jim Meyering.
2229
2230 2009-10-02  Ben Pfaff  <blp@gnu.org>
2231
2232         relocatable-prog-wrapper: Add missing dependency on
2233         double-slash-root.
2234         * modules/relocatable-prog-wrapper: Add dependency.
2235         Reported by Ian Beckwith <ianb@erislabs.net>.
2236
2237 2009-10-02  Eric Blake  <ebb9@byu.net>
2238
2239         renameat: fix Solaris bugs
2240         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
2241         needed fixing.
2242         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
2243         * modules/stdio (Makefile.am): Substitute it.
2244         * lib/stdio.in.h (renameat): Declare replacement.
2245         * lib/renameat.c (rpl_renameat): Implement fix.
2246
2247         renameat: new module
2248         * modules/renameat: New file.
2249         * lib/renameat.c (renameat): Likewise.
2250         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
2251         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
2252         * modules/stdio (Makefile.am): Substitute them.
2253         * lib/stdio.in.h (renameat): Declare it.
2254         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2255         * doc/posix-functions/renameat.texi (renameat): Likewise.
2256         * modules/renameat-tests: New test.
2257         * tests/test-renameat.c: Likewise.
2258
2259         rename: fix mingw bugs
2260         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
2261         directory overwrite bugs.
2262
2263         rename: fix another cygwin 1.5 bug
2264         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
2265         checks.
2266         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
2267         unnecessary cygwin workarounds.  Also work around bug with moving
2268         full directory onto an empty one.
2269         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
2270
2271         rename-dest-slash: merge into rename module
2272         * modules/rename-dest-slash (Status): Mark obsolete.
2273         (Depends-on): Add rename.
2274         (Files): Let rename do it all.
2275         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
2276         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
2277         * m4/rename-dest-slash.m4: ...so this file can be deleted.
2278         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
2279         * lib/rename.c (rpl_rename): Update comments.
2280
2281         rename: fix cygwin 1.5.x bugs
2282         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
2283         * lib/rename.c (rpl_rename): Work around them.
2284         * modules/rename (Depends-on): Add same-inode.
2285
2286         rename: fix Solaris 10 bug
2287         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
2288         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
2289         was the only bug.
2290
2291         rename: fix Solaris 9 bug
2292         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
2293         on non-directory.  Avoid calling exit.
2294         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
2295         strdup.
2296         * modules/rename-tests (Depends-on): Drop lstat.
2297         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
2298         (gl_PREREQ_RENAME): Delete unused macro.
2299
2300         rename-dest-slash: fix NetBSD bug
2301         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
2302         links.
2303         * modules/rename-dest-slash (Depends-on): Add same-inode.
2304
2305         rename-tests: new test, exposes several platform bugs
2306         * modules/rename-tests: New file.
2307         * tests/test-rename.h: Likewise.
2308         * tests/test-rename.c: Likewise.
2309         * doc/posix-functions/rename.texi (rename): Improve documentation,
2310         including bugs that will eventually be fixed in gnulib.
2311
2312 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
2313
2314         * lib/uname.c: Include <stdlib.h>
2315         (uname): Assume version info is available.
2316
2317 2009-10-02  Jim Meyering  <meyering@redhat.com>
2318
2319         gnu-web-doc-update: correct --help output
2320         * build-aux/gnu-web-doc-update: Make --help output relevant.
2321
2322         gnu-web-doc-update: add standard options
2323         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
2324
2325         gnu-web-doc-update: New module.
2326         Use this script to automatically update the on-line web documentation
2327         for your GNU project at http://www.gnu.org/software/$pkg/manual/
2328         * modules/gnu-web-doc-update: New file, from coreutils.
2329         * build-aux/gnu-web-doc-update: New script.
2330
2331 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
2332
2333         link: LoadLibrary is not needed.
2334         * lib/link.c: Use GetModuleHandle.
2335
2336 2009-10-01  Eric Blake  <ebb9@byu.net>
2337
2338         getopt: bump serial number
2339         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
2340         change.
2341
2342         tests: tighten link, rmdir, and remove tests
2343         * tests/test-link.h (includes): No need to use <config.h> here.
2344         Clean up if directory hard link was created, otherwise test for
2345         trailing '.'.
2346         * tests/test-linkat.c (main): Simplify.
2347         * tests/test-remove.c (main): Enhance test for trailing '.'.
2348         * tests/test-rmdir.h (test_rmdir_func): Likewise.
2349
2350 2009-10-01  Jim Meyering  <meyering@redhat.com>
2351
2352         maint.mk: requiring "make major" was annoying, for a "minor" release.
2353         What is intended is "stable", to contrast with alpha and beta,
2354         so require "make stable", not "make major".
2355         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
2356         (get_tool_versions): Likewise.
2357         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
2358
2359 2009-09-30  Ben Pfaff  <blp@gnu.org>
2360
2361         Fix broken build of replacement for Windows tmpfile().
2362         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
2363         flags argument added along with the 'mkostemp' module.
2364
2365 2009-09-28  Bruno Haible  <bruno@clisp.org>
2366
2367         Avoid identifier clash with POSIX function 'remove' defined as a macro.
2368         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
2369         to 'remove_elt'.
2370         (gl_list_remove): Update.
2371         * lib/gl_list.c (gl_list_remove): Update.
2372         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
2373         to 'remove_elt'.
2374         (gl_oset_remove): Update.
2375         * lib/gl_list.c (gl_oset_remove): Update.
2376         Reported by Eric Blake.
2377
2378 2009-09-28  Eric Blake  <ebb9@byu.net>
2379
2380         doc: mention yet more cygwin 1.7 status
2381         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
2382         cygwin.
2383         * doc/glibc-functions/execvpe.texi (execvpe): New file.
2384         * doc/gnulib.texi (Glibc unistd.h): Mention it.
2385
2386         argp: fix test failure
2387         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
2388         that are not upper-case.  Pass correct range to tolower.
2389
2390 2009-09-27  Jim Meyering  <meyering@redhat.com>
2391
2392         test-yesno: work around sparc-dash here-document infelicity
2393         Without this change, the literal \177 byte in a here document
2394         would make dash 0.5.5.1-3 access uninitialized memory.
2395         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
2396         Instead, use a marker, "@", and filter through tr to create the desired
2397         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
2398
2399 2009-09-27  Bruno Haible  <bruno@clisp.org>
2400
2401         Disable untested support for new flavours of ACLs on AIX.
2402         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
2403         progress.
2404         * lib/set-mode-acl.c (qset_acl): Likewise.
2405
2406 2008-12-07  Bruno Haible  <bruno@clisp.org>
2407
2408         Add support for new flavours of ACLs on AIX. (Untested.)
2409         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
2410         (file_has_acl): Add support for newer AIX.
2411         * lib/set-mode-acl.c (qset_acl): Likewise.
2412         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
2413         Rainer Tammer <tammer@tammer.net>.
2414
2415 2009-09-26  Eric Blake  <ebb9@byu.net>
2416
2417         argp: fix compilation of getopt
2418         * lib/getopt.in.h (includes): Use different guard than glibc.
2419         Reported by Sergey Poznyakoff.
2420
2421         doc: mention more cygwin 1.7 status
2422         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
2423         bug.
2424         * doc/posix-functions/execl.texi (execl): Likewise.
2425         * doc/posix-functions/execle.texi (execle): Likewise.
2426         * doc/posix-functions/execlp.texi (execlp): Likewise.
2427         * doc/posix-functions/execv.texi (execv): Likewise.
2428         * doc/posix-functions/execve.texi (execve): Likewise.
2429         * doc/posix-functions/execvp.texi (execvp): Likewise.
2430         * doc/glibc-functions/canonicalize_file_name.texi
2431         (canonicalize_file_name): Cygwin 1.7 now provides this.
2432         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
2433         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
2434         on AT_SYMLINK_NOFOLLOW.
2435
2436 2009-09-24  Eric Blake  <ebb9@byu.net>
2437
2438         test-linkat: make test more robust
2439         * tests/test-linkat.c (main): Avoid collision with EEXIST.
2440
2441         getopt: fix inclusion guards for cygwin
2442         * modules/getopt-posix (Depends-on): Add include-next.
2443         (Makefile.am): Substitute more items in replacement header.
2444         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
2445         <getopt.h>.
2446         * lib/getopt.in.h (includes): Use split inclusion guard, and
2447         prefer <getopt.h> over include <unistd.h> when one is present.
2448         (option): Also override name of 'struct option'.
2449
2450         same-inode: revert prior change; it is not yet ready
2451         * NEWS: Undo mention of this change.
2452         * lib/same-inode.h (same-inode.h): Undo tri-state change.
2453         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
2454         * lib/cycle-check.c (cycle_check): Likewise.
2455         * lib/same.c (same_name): Likewise.
2456         * lib/at-func2.c (at_func2): Likewise.
2457
2458 2009-09-23  Eric Blake  <ebb9@byu.net>
2459
2460         linkat: new module
2461         * modules/linkat: New file.
2462         * lib/at-func2.c (at_func2): Likewise.
2463         * lib/linkat.c (linkat): Likewise.
2464         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
2465         * lib/openat-priv.h (at_func2): Add declaration.
2466         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
2467         * modules/unistd (Makefile.am): Substitute them.
2468         * lib/unistd.in.h (linkat): Declare it.
2469         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2470         * doc/posix-functions/linkat.texi (linkat): Likewise.
2471         * doc/posix-functions/link.texi (link): Tweak wording.
2472         * tests/test-link.c (main): Move guts...
2473         * tests/test-link.h (test_link): ...into new file.
2474         * modules/linkat-tests: New test.
2475         * tests/test-linkat.c: Likewise.
2476         * modules/link-tests (Files): Ship new file.
2477         (Depends-on): Add stdbool.
2478
2479         dirname: add library-safe mdir_name
2480         * lib/dirname.h (mdir_name): New prototype.
2481         * lib/dirname.c (dir_name): Move guts...
2482         (mdir_name): ...to new function that avoids xalloc_die.
2483
2484         fchdir: another mingw fix
2485         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
2486         * lib/fchdir.c (get_name): New helper method; skips canonicalize
2487         on mingw (where it has not yet been ported), and make it optional
2488         elsewhere.
2489         (_gl_register_fd): Use it.
2490
2491         same-inode: make SAME_INODE tri-state, to port to mingw
2492         * NEWS: Mention this change.
2493         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
2494         st_ino always being 0.
2495         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
2496         * lib/cycle-check.c (cycle_check): Likewise.
2497         * lib/same.c (same_name): Likewise.
2498
2499         lstat: avoid mingw compilation error
2500         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
2501         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
2502         lstat ourselves.
2503         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
2504         was adequate.
2505         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
2506         the checks for lstat.
2507         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
2508
2509         link: fix test failure on Solaris 9
2510         * lib/link.c (rpl_link): Don't assume link will catch bogus
2511         trailing slash on source.
2512
2513         test-symlinkat: enhance test
2514         * tests/test-readlink.c (main): Move guts...
2515         * tests/test-readlink.h (test_readlink): ...into new file.
2516         * tests/test-symlink.c (main): Move guts...
2517         * tests/test-symlink.h (test_symlink): ...into new file.
2518         * tests/test-symlinkat.c (main): Use new files for further
2519         coverage.
2520         (do_symlink, do_readlink): New helper functions.
2521         * modules/symlink-tests (Files): Ship new file.
2522         (Depends-on): Add stdbool.
2523         * modules/readlink-tests (Files): Ship new file.
2524         (Depends-on): Add stdbool.
2525         * modules/symlinkat-tests (Files): Use new files.
2526
2527 2009-09-23  Eric Blake  <ebb9@byu.net>
2528
2529         readlink: document portability issue with symlink length
2530         * doc/posix-functions/lstat.texi (lstat): Mention that some file
2531         systems have bogus st_size on symlinks, and mention the
2532         areadlink-with-size module.
2533         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
2534         * doc/posix-functions/readlink.texi (readlink): Mention the
2535         areadlink module, and ERANGE failure.
2536         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
2537         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
2538
2539         readlink: fix Solaris 9 bug with trailing slash
2540         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
2541         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
2542         * doc/posix-functions/readlink.texi (readlink): Document this.
2543         * modules/readlink-tests: New test.
2544         * tests/test-readlink.c: Likewise.
2545
2546         readlink: fix cygwin 1.5.x bug with return type
2547         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
2548         * lib/unistd.in.h (readlink): Use ssize_t.
2549         * lib/readlink.c (readlink): Likewise.
2550         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
2551         * modules/unistd (Makefile.am): Substitute it.
2552         * lib/unistd.in.h (readlink): Declare replacement.
2553         * doc/posix-functions/readlink.texi (readlink): Document this.
2554
2555         symlink: use throughout gnulib
2556         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
2557         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
2558         symlink is not used.
2559         * modules/symlinkat (Depends-on): Add symlink.
2560         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
2561         * modules/canonicalize-tests (Depends-on): Likewise.
2562         * modules/lstat-tests (Depends-on): Likewise.
2563         * modules/openat-tests (Depends-on): Likewise.
2564         * modules/remove-tests (Depends-on): Likewise.
2565         * modules/rmdir-tests (Depends-on): Likewise.
2566         * modules/unlink-tests (Depends-on): Likewise.
2567         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
2568         * tests/test-canonicalize.c (symlink): Likewise.
2569         * tests/test-fstatat.c (symlink): Likewise.
2570         * tests/test-lstat.c (symlink): Likewise.
2571         * tests/test-remove.c (symlink): Likewise.
2572         * tests/test-rmdir.c (symlink): Likewise.
2573         * tests/test-unlink.c (symlink): Likewise.
2574         * tests/test-unlinkat.c (symlink): Likewise.
2575
2576         symlink: new module, for Solaris 9 bug
2577         * modules/symlink: New file.
2578         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
2579         * lib/symlink.c: Likewise.
2580         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
2581         * modules/unistd (Makefile.am): Substitute them.
2582         * lib/unistd.in.h (symlink): Declare replacement.
2583         * MODULES.html.sh (File system functions): Mention it.
2584         * doc/posix-functions/symlink.texi (symlink): Likewise.
2585         * modules/symlink-tests: New test.
2586         * tests/test-symlink.c: Likewise.
2587
2588 2009-09-23  Bruno Haible  <bruno@clisp.org>
2589
2590         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
2591         when needed.
2592         Test case: gnulib-tool --import --with-tests atexit inttypes.
2593         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
2594
2595 2009-09-23  Bruno Haible  <bruno@clisp.org>
2596
2597         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
2598         subcommand, not in a subshell.
2599
2600 2009-09-22  Eric Blake  <ebb9@byu.net>
2601
2602         unistd: sort replacement declarations
2603         * lib/unistd.in.h: Sort declarations.
2604
2605         open, openat: minor optimization
2606         * lib/open.c (open): If open succeeded, len is non-zero.
2607         * lib/openat.c (rpl_openat): Likewise.
2608
2609         link-follow: ensure correct result
2610         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
2611         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
2612         distinguish between possible failures.
2613
2614 2009-09-21  Eric Blake  <ebb9@byu.net>
2615
2616         fts: avoid compiler warning
2617         * lib/fts.c (dirent_inode_sort_may_be_useful)
2618         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
2619
2620 2009-09-19  Bruno Haible  <bruno@clisp.org>
2621
2622         * lib/progreloc.c (canonicalize_file_name): New declaration.
2623
2624 2009-09-19  Eric Blake  <ebb9@byu.net>
2625
2626         link: fix quoting
2627         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
2628
2629         openat: fix openat bugs on Solaris 9
2630         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
2631         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
2632         * modules/openat (Depends-on): Add open.
2633         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
2634         * modules/fcntl-h (Makefile.am): Substitute it.
2635         * lib/fcntl.in.h (openat): Declare replacement.
2636         * doc/posix-functions/openat.texi (openat): Document this.
2637
2638         openat: move fstatat and unlinkat into correct files
2639         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
2640         compiled.
2641         * lib/openat.c (fstatat, unlinkat): Move...
2642         * lib/fstatat.c (fstatat): ...into correct files.
2643         * lib/unlinkat.c (unlinkat): Likewise.
2644
2645         openat: fix unlinkat bugs on Solaris 9
2646         * lib/unlinkat.c (unlinkat): New file.
2647         * modules/openat (Depends-on): Add unlink.
2648         (Files): Distribute it.
2649         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
2650         trailing slash behavior is broken.
2651         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
2652         * modules/unistd (Makefile.am): Substitute it.
2653         * lib/unistd.in.h (unlinkat): Declare replacement.
2654         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
2655
2656         openat: fix fstatat bugs on Solaris 9
2657         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
2658         stat.
2659         * doc/posix-functions/fstatat.texi (fstatat): Document this.
2660
2661         test-unlinkat: enhance test, to expose Solaris 9 bug
2662         * tests/test-unlink.c (main): Factor guts...
2663         * tests/test-unlink.h (test_rmdir_func): ...into new file.
2664         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
2665         * tests/test-rmdir.c (main): Adjust caller.
2666         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
2667         (unlinker): New helper function.
2668         (rmdirat): Enhance check.
2669         * modules/rmdir-tests (Depends-on): Add stdbool.
2670         * modules/unlink-tests (Depends-on): Likewise.
2671         (Files): Add test-unlink.h.
2672         * modules/openat-tests (Files): Likewise.
2673         (Depends-on): Add unlinkdir.
2674
2675         test-fstatat: new test, to expose Solaris 9 bugs
2676         * tests/test-stat.c (main): Factor guts...
2677         * tests/test-stat.h (test_stat_func): ...into new file.
2678         * tests/test-lstat.c (main): Factor guts...
2679         * tests/test-lstat.h (test_lstat_func): ...into new file.
2680         * tests/test-fstatat.c: New file.
2681         * modules/stat-tests (Files): Add test-stat.h.
2682         * modules/lstat-tests (Files): Add test-lstat.h.
2683         (Depends-on): Add stdbool.
2684         * modules/openat-tests (Depends-on): Add pathmax.
2685         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
2686         (Makefile.am): Run new test.
2687
2688         remove: new module, for mingw and Solaris 9 bugs
2689         * modules/remove: New file.
2690         * lib/remove.c: Likewise.
2691         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
2692         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
2693         * modules/stdio (Makefile.am): Use them.
2694         * lib/stdio.in.h (remove): Declare replacement.
2695         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2696         * doc/posix-functions/remove.texi (remove): Likewise.
2697         * modules/remove-tests: New test.
2698         * tests/test-remove.c: Likewise.
2699
2700         unlink: new module, for Solaris 9 bug
2701         * modules/unlink: New file.
2702         * lib/unlink.c: Likewise.
2703         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
2704         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
2705         * modules/unistd (Makefile.am): Use them.
2706         * lib/unistd.in.h (stat): Declare replacement.
2707         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2708         * doc/posix-functions/unlink.texi (unlink): Likewise.
2709         * modules/unlink-tests: New test.
2710         * tests/test-unlink.c: Likewise.
2711
2712         lstat: fix Solaris 9 bug
2713         * lib/lstat.c (lstat): Also check for trailing slash on
2714         non-symlink, non-directories.  Use stat module to simplify logic.
2715         * doc/posix-functions/lstat.texi (lstat): Document it.
2716         * modules/lstat-tests (Depends-on): Add errno, same-inode.
2717         (configure.ac): Check for symlink.
2718         * tests/test-lstat.c (main): Add more tests.
2719
2720         stat: add as dependency to other modules
2721         * modules/chown (Depends-on): Add stat.
2722         * modules/euidaccess (Depends-on): Likewise.
2723         * modules/fchdir (Depends-on): Likewise.
2724         * modules/isdir (Depends-on): Likewise.
2725         * modules/link (Depends-on): Likewise.
2726         * modules/lstat (Depends-on): Likewise.
2727         * modules/mkdir-p (Depends-on): Likewise.
2728         * modules/modechange (Depends-on): Likewise.
2729         * modules/open (Depends-on): Likewise.
2730         * modules/readlink (Depends-on): Likewise.
2731         * modules/same (Depends-on): Likewise.
2732
2733         stat: fix Solaris 9 bug
2734         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
2735         slash.
2736         * lib/stat.c (rpl_stat): Work around it.
2737         * doc/posix-functions/stat.texi (stat): Update documentation.
2738
2739         stat: new module, for mingw bug
2740         * modules/stat: New file.
2741         * lib/stat.c: Likewise.
2742         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
2743         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
2744         * modules/sys_stat (Makefile.am): Use them.
2745         * lib/sys_stat.in.h (stat): Declare replacement.
2746         * lib/openat.c (fstatat): Deal with lstat and stat being function
2747         macros.
2748         * modules/openat (Depends-on): Add inline.
2749         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
2750         * doc/posix-functions/stat.texi (stat): Likewise.
2751         * modules/stat-tests: New test.
2752         * tests/test-stat.c: Likewise.
2753
2754 2009-09-19  Jim Meyering  <meyering@redhat.com>
2755
2756         syntax-check: detect unnecessary inclusion of canonicalize.h
2757         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
2758
2759 2009-09-19  Eric Blake  <ebb9@byu.net>
2760
2761         canonicalize-lgpl: adjust clients to use correct header
2762         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2763         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
2764         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
2765         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
2766         * lib/progreloc.c (includes): Likewise.
2767
2768 2009-09-19  Jim Meyering  <meyering@redhat.com>
2769
2770         test-posixtm.c: correct a comment
2771         * tests/test-posixtm.c: Correct first-line comment.
2772         Spotted by Eric Blake.
2773
2774 2009-09-16  Jim Meyering  <meyering@redhat.com>
2775
2776         posixtm-tests: make T const-correct; add a test case
2777         * tests/test-posixtm.c (T): Declare const.
2778         Add a test for -(2^31+1).
2779         Remove useless can-succeed-only-in-2002 test.
2780
2781         posixtm-tests: adjust the sole failing test
2782         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
2783         expected output matches what mktime now produces.  Cross-checked via
2784         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
2785
2786         posixtm: move #ifdef'd tests into a new module
2787         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
2788         * tests/test-posixtm.c: ... this new file.
2789         * modules/posixtm-tests: New module.
2790
2791 2009-09-19  Eric Blake  <ebb9@byu.net>
2792
2793         openat: simplify use of at-func.c
2794         * lib/at-func.c (includes): Include prerequisites here, to
2795         simplify requirements on client files.
2796         * lib/openat-priv.h: Add double-inclusion guard.
2797         * lib/faccessat.c (includes): Simplify.
2798         * lib/fchmodat.c (includes): Likewise.
2799         * lib/fchownat.c (includes): Likewise.
2800         * lib/mkdirat.c (includes): Likewise.
2801         * lib/mkfifoat.c (includes): Likewise.
2802         * lib/symlinkat.c (includes): Likewise.
2803
2804         openat: allow return of fd 0
2805         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
2806         * modules/save-cwd (Depends-on): Replace fcntl-safer with
2807         unistd-safer.
2808         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
2809         <fcntl.h>; this module does not leak fds.
2810         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
2811         must be allowed to return 0, leaving openat_safer to add the
2812         safety.
2813         (openat_permissive): Avoid writing to just-opened fd 2 if
2814         restoring the current directory fails.
2815         * lib/openat-die.c (openat_restore_fail): Add comment.
2816         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
2817         (save_cwd): Guarantee safe fd, but without use of open_safer.
2818         * tests/test-openat.c: New test.
2819         * modules/openat-tests (Files, Makefile.am): Distribute and build
2820         new file.
2821
2822         relocatable-prog-wrapper: fix build
2823         * modules/relocatable-prog-wrapper (Files): Update name of
2824         canonicalize m4 file, broken on 2009-09-17.
2825         Reported by emad hajjar <aleppos@hotmail.com>.
2826
2827 2009-09-19  Bruno Haible  <bruno@clisp.org>
2828
2829         * lib/safe-alloc.h: Use the standard header with GPL copyright.
2830         * lib/safe-alloc.c: Likewise.
2831         Reported by Ian Beckwith <ianb@erislabs.net>.
2832
2833 2009-09-18  Bruno Haible  <bruno@clisp.org>
2834
2835         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
2836         Reported by <erobles@sensacd.com.mx>.
2837
2838 2009-09-17  Eric Blake  <ebb9@byu.net>
2839
2840         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
2841         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
2842         slashes when checking if last component is missing.
2843         * tests/test-canonicalize.c (main): Test this.
2844
2845         canonicalize, canonicalize-lgpl: honor // if distinct from /
2846         * modules/canonicalize (Files): Add double-slash-root.m4.
2847         * modules/canonicalize-lgpl (Files): Likewise.
2848         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2849         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
2850         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
2851         fallback definition.
2852         (canonicalize_filename_mode): Use it to protect //.
2853         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
2854         (__realpath): Likewise.
2855         * tests/test-canonicalize.c (main): Test this.
2856         * tests/test-canonicalize-lgpl.c (main): Likewise.
2857         * modules/canonicalize-tests (Depends-on): Add same-inode.
2858         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
2859
2860         canonicalize-lgpl: fix glibc bug with trailing slash
2861         * m4/canonicalize-lgpl.m4: Move contents...
2862         * m4/canonicalize.m4: ...here.
2863         (gl_CANONICALIZE_LGPL): Factor realpath check...
2864         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
2865         glibc 2.3.5 bug, fixed 2005-04-27.
2866         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
2867         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
2868         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
2869         * modules/canonicalize-lgpl (Files): Manage file rename.
2870         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
2871         * modules/stdlib (Makefile.am): Substitute witness.
2872         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
2873         is needed.
2874         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
2875         replacement is required.
2876         * lib/canonicalize.c (canonicalize_file_name): Likewise.
2877         * doc/glibc-functions/canonicalize_file_name.texi
2878         (canonicalize_file_name): Document this.
2879         * doc/posix-functions/realpath.texi (realpath): Likewise.
2880
2881         canonicalize-lgpl: reject non-directory with trailing slash
2882         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
2883         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
2884         catches failures in glibc 2.3.5.
2885         * tests/test-canonicalize.c (main): Likewise.
2886
2887         canonicalize-lgpl: use native realpath if it works
2888         * lib/canonicalize-lgpl.c (realpath): Guard with
2889         FUNC_REALPATH_WORKS.
2890         * lib/stdlib.in.h (realpath): Make declaration optional based on
2891         HAVE_REALPATH.
2892         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
2893         native realpath works.
2894         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
2895         * modules/stdlib (Makefile.am): Substitute witness.
2896
2897         canonicalize, canonicalize-lgpl: use <stdlib.h>
2898         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
2899         (Include): Mention <stdlib.h>.
2900         (configure.ac): Mention functions we provide.
2901         * modules/canonicalize (configure.ac): Likewise.
2902         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
2903         realpath if canonicalize_file_name is missing.
2904         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
2905         * modules/stdlib (Makefile.am): Substitute witnesses.
2906         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
2907         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
2908         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
2909         * NEWS: Document this.
2910         * doc/glibc-functions/canonicalize_file_name.texi
2911         (canonicalize_file_name): Likewise.
2912         * doc/posix-functions/realpath.texi (realpath): Likewise.
2913         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
2914
2915         test-canonicalize: consolidate into single C program
2916         * tests/test-canonicalize.sh: Delete; move setup into...
2917         * tests/test-canonicalize.c (main): ...the program, making it
2918         easier to run in debugger.  Add some tests.
2919         * modules/canonicalize-tests (Files): Remove unused file.
2920         (Depends-on): Add progname.
2921         (configure.ac, Makefile.am): Simplify.
2922
2923         test-canonicalize-lgpl: consolidate into single C program
2924         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
2925         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
2926         easier to run in debugger.  Add some tests.
2927         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
2928         (configure.ac, Makefile.am): Simplify.
2929
2930         canonicalize: avoid resolvepath
2931         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
2932         unnecessary checks.
2933         * lib/canonicalize.c (includes): Simplify.
2934         (canonicalize_file_name): Drop resolvepath implementation.
2935         * modules/canonicalize (Depends-on): Drop filenamecat.
2936
2937         canonicalize: don't lose errno
2938         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
2939         over calls to free.
2940
2941         canonicalize: simplify errno handling
2942         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
2943         assignment.
2944
2945         canonicalize, canonicalize-lgpl: update module dependencies
2946         * modules/canonicalize (Depends-on): Add extensions, lstat,
2947         pathmax, stdlib.
2948         (Files): Drop pathmax.h.
2949         (configure.ac): Adjust macro name.
2950         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
2951         lstat, stdlib, sys_stat.
2952         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
2953         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
2954         extensions.
2955         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
2956         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
2957         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
2958         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
2959         declaration, if available.
2960         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
2961         we can rely on the readlink module.
2962         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
2963         (includes): Use <unistd.h> unconditionally.
2964
2965 2009-09-17  Eric Blake  <ebb9@byu.net>
2966
2967         maint: make Include sections of modules consistent
2968         * modules/alloca: Use only header name; no need to list #include.
2969         * modules/alloca-opt: Likewise.
2970         * modules/arpa_inet: Likewise.
2971         * modules/canon-host: Likewise.
2972         * modules/configmake: Likewise.
2973         * modules/dirent: Likewise.
2974         * modules/eealloc: Likewise.
2975         * modules/environ: Likewise.
2976         * modules/fchdir: Likewise.
2977         * modules/fcntl: Likewise.
2978         * modules/fcntl-h: Likewise.
2979         * modules/gethrxtime: Likewise.
2980         * modules/gettime: Likewise.
2981         * modules/ignore-value: Likewise.
2982         * modules/inet_ntop: Likewise.
2983         * modules/inet_pton: Likewise.
2984         * modules/inttypes: Likewise.
2985         * modules/isnand-nolibm: Likewise.
2986         * modules/isnanf-nolibm: Likewise.
2987         * modules/mbchar: Likewise.
2988         * modules/mbfile: Likewise.
2989         * modules/mbiter: Likewise.
2990         * modules/mbuiter: Likewise.
2991         * modules/netdb: Likewise.
2992         * modules/netinet_in: Likewise.
2993         * modules/nproc: Likewise.
2994         * modules/pagealign_alloc: Likewise.
2995         * modules/poll: Likewise.
2996         * modules/printf-frexp: Likewise.
2997         * modules/pthread: Likewise.
2998         * modules/putenv: Likewise.
2999         * modules/random_r: Likewise.
3000         * modules/relocatable-prog: Likewise.
3001         * modules/search: Likewise.
3002         * modules/select: Likewise.
3003         * modules/selinux-h: Likewise.
3004         * modules/settime: Likewise.
3005         * modules/signal: Likewise.
3006         * modules/size_max: Likewise.
3007         * modules/socklen: Likewise.
3008         * modules/ssize_t: Likewise.
3009         * modules/stdarg: Likewise.
3010         * modules/stdbool: Likewise.
3011         * modules/stddef: Likewise.
3012         * modules/stdint: Likewise.
3013         * modules/stdio: Likewise.
3014         * modules/stdlib: Likewise.
3015         * modules/string: Likewise.
3016         * modules/strings: Likewise.
3017         * modules/sys_file: Likewise.
3018         * modules/sys_ioctl: Likewise.
3019         * modules/sys_select: Likewise.
3020         * modules/sys_socket: Likewise.
3021         * modules/sys_stat: Likewise.
3022         * modules/sys_time: Likewise.
3023         * modules/sys_times: Likewise.
3024         * modules/sys_utsname: Likewise.
3025         * modules/sys_wait: Likewise.
3026         * modules/sysexits: Likewise.
3027         * modules/time: Likewise.
3028         * modules/times: Likewise.
3029         * modules/tmpfile: Likewise.
3030         * modules/trim: Likewise.
3031         * modules/unistd: Likewise.
3032         * modules/wchar: Likewise.
3033         * modules/wctype: Likewise.
3034
3035 2009-09-17  Bruno Haible  <bruno@clisp.org>
3036
3037         Make getdate.y compile on QNX and NetBSD 5 / i386.
3038         * m4/getdate.m4 (gl_GETDATE): Conditionally define
3039         TIME_T_FITS_IN_LONG_INT.
3040         * lib/getdate.y (long_time_t): New type.
3041         (relative_time): Change type of 'seconds' field to long_time_t.
3042         (get_date): Update types of local variables. Check against overflow
3043         during conversion from long_time_t to time_t.
3044         Reported by Matt Kraai <kraai@ftbfs.org>
3045         and Hasso Tepper <hasso@netbsd.org>.
3046
3047 2009-09-17  Bruno Haible  <bruno@clisp.org>
3048
3049         * modules/COPYING: Update copyright years.
3050         * modules/README: Likeiwse.
3051         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
3052         Reported by Ian Beckwith <ianb@erislabs.net>.
3053
3054 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
3055
3056         * users.txt: Update references for gnuit package.
3057
3058 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
3059
3060         * m4/getdelim.m4: Fix typo in copyright line.
3061
3062 2009-09-17  Bruno Haible  <bruno@clisp.org>
3063
3064         * lib/atoll.c: Use the standard header with GPL copyright.
3065         * lib/argz.in.h: Likewise.
3066         * lib/glob.c: Likewise.
3067         * lib/glob-libc.h: Likewise.
3068         * lib/random_r.c: Likewise.
3069         * lib/siglist.h: Likewise.
3070         * lib/strsignal.c: Likewise.
3071         Reported by Ian Beckwith <ianb@erislabs.net>.
3072
3073 2009-09-17  Eric Blake  <ebb9@byu.net>
3074
3075         rmdir: ensure correct dependency order
3076         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
3077
3078 2009-09-17  Bruno Haible  <bruno@clisp.org>
3079
3080         Disable assertion that fails on NetBSD 5 / i386.
3081         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
3082         Reported by Sam Steingold <sds@gnu.org>
3083         and Hasso Tepper <hasso@netbsd.org>.
3084
3085 2009-09-16  Eric Blake  <ebb9@byu.net>
3086
3087         unlinkdir: port to mingw
3088         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
3089         on which no one can unlink a directory.
3090
3091         stdlib: sort witness names
3092         * modules/stdlib (Makefile.am): Sort replacements.
3093         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
3094         * lib/stdlib.in.h: Likewise.
3095
3096         parse-duration-tests: avoid link failure
3097         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
3098         LIBINTL.
3099         Reported by Tom G. Christensen.
3100
3101         openat-tests: ensure unlinkat behaves like rmdir
3102         * tests/test-rmdir.c (main): Factor guts...
3103         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
3104         * modules/rmdir-tests (Files): Ship new file.
3105         * modules/openat-tests: New test.
3106         * tests/test-unlinkat.c: Likewise.
3107
3108         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
3109         * modules/rmdir-errno (Status, Notice): Now obsolete.
3110
3111         rmdir: work around cygwin 1.5.x and mingw bugs
3112         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
3113         * lib/rmdir.c (rmdir): Work around it.
3114         * modules/rmdir (Status, Notice): No longer obsolete.
3115         (Files): Add dos.m4.
3116         (Depends-on): Add unistd.
3117         (configure.ac): Set witnesses.
3118         (License): Relax to LGPLv2+.
3119         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
3120         * modules/unistd (Makefile.am): Substitute witnesses.
3121         * lib/unistd.in.h (rmdir): Declare replacement.
3122         * doc/posix-functions/rmdir.texi (rmdir): Document this.
3123         * modules/rmdir-tests: New tests.
3124         * tests/test-rmdir.c: Likewise.
3125
3126 2009-09-15  Eric Blake  <ebb9@byu.net>
3127
3128         fchdir: improve use of replacement functions
3129         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
3130         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
3131         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
3132         REPLACE_CLOSEDIR.
3133         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
3134         * modules/sys_stat (Makefile.am): Substitute correct witness.
3135         * modules/dirent (Makefile.am): Likewise.
3136         * modules/unistd (Makefile.am): Likewise.
3137         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
3138         * lib/unistd.in.h (dup): Likewise.
3139         * lib/sys_stat.in.h (fstat): Likewise.
3140
3141         maint: ignore gnulib-tool temp files
3142         * .gitignore: Ignore files created during gnulib-tool --test.
3143
3144 2009-09-13  Jim Meyering  <meyering@redhat.com>
3145
3146         posixtm: don't reject a time that specify "60" as the number of seconds
3147         * lib/posixtm.c (posixtime): The code to reject invalid dates
3148         would also reject a time specified with the .60 suffix.
3149         But POSIX allows that, in order to accommodate leap seconds.
3150         So don't reject it.
3151         (main): Adjust tests accordingly.
3152         * modules/posixtm (Depends-on): Add stpcpy.
3153
3154 2009-09-11  Jim Meyering  <meyering@redhat.com>
3155
3156         announce-gen: include [$release_type] in emitted Subject:
3157         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
3158         e.g., [stable] in the emitted Subject: line.
3159
3160 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3161
3162         Remove obsolete macros from several modules.
3163         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
3164         obsolete Autoconf macros with their modern counterparts.
3165         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
3166         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
3167         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
3168         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
3169         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
3170         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
3171         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
3172         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
3173         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
3174         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
3175         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
3176         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
3177         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
3178         * m4/sockets.m4 (gl_SOCKETS): Likewise.
3179         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
3180         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
3181         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
3182         * m4/time_r.m4 (gl_TIME_R): Likewise.
3183         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
3184         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
3185         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
3186
3187         Fix copyright header in build-aux scripts.
3188         * build-aux/git-version-gen: Fix copyright header to match GPLv3
3189         recommendation.
3190         * build-aux/ncftpput-ftp: Likewise.
3191         * build-aux/update-copyright: Likewise.
3192
3193 2009-09-09  Eric Blake  <ebb9@byu.net>
3194
3195         test-link: allow Linux choice of errno
3196         * tests/test-link.c (main): Relax test for alternate error.
3197
3198         strndup: fix improper m4 caching
3199         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
3200         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
3201         (gl_PREREQ_STRNDUP): Delete.
3202         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
3203         * modules/string (Makefile.am): Substitute it.
3204         * lib/string.in.h (strndup): Modernize prototype.
3205
3206         getcwd: port to mingw
3207         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
3208         different from the POSIX assumptions made throughout the getcwd
3209         module; fortunately, the mingw getcwd does not need replacement.
3210         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
3211         * modules/getcwd-tests: New test.
3212         * tests/test-getcwd.c: Likewise.
3213
3214         link: fix platform bugs
3215         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
3216         * lib/link.c (link): Work around them.  Fix related mingw bug.
3217         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
3218         * modules/unistd (Makefile.am): Substitute it.
3219         * lib/unistd.in.h (link): Declare replacement.
3220         * doc/posix-functions/link.texi (link): Document this.
3221         * modules/link (Depends-on): Add strdup-posix, sys_stat.
3222
3223         test-link: consolidate into single C program, test more cases
3224         * tests/test-link.sh: Delete.
3225         * tests/test-link.c: Test more error conditions.  Exposes bugs on
3226         at least Cygwin and Solaris.
3227         * modules/link-tests (Files): Remove unused file.
3228         (Depends-on): Add errno, sys_stat.
3229         (Makefile.am): Simplify.
3230
3231 2009-09-08  Bruno Haible  <bruno@clisp.org>
3232
3233         Work around towlower, towupper bug on mingw.
3234         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
3235         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
3236         * doc/posix-functions/towlower.texi: Mention the mingw bug.
3237         * doc/posix-functions/towupper.texi: Likewise.
3238         Reported by Eric Blake.
3239
3240 2009-09-08  Jim Meyering  <meyering@redhat.com>
3241
3242         build: don't try to run autoheader if we don't use it
3243         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
3244         is not used in configure.ac.
3245
3246 2009-09-08  Eric Blake  <ebb9@byu.net>
3247
3248         euidaccess: fix compilation error
3249         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
3250
3251         rawmemchr: relax license
3252         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
3253         okay.
3254         Reported by Jim Meyering.
3255
3256         mkfifoat: new module
3257         * modules/mkfifoat: New file.
3258         * lib/mkfifoat.c: Likewise.
3259         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
3260         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
3261         * modules/sys_stat (Makefile.am): Use them.
3262         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
3263         * MODULES.html.sh (File system functions): Mention module.
3264         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
3265         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
3266         * modules/mkfifoat-tests: New test.
3267         * tests/test-mkfifoat.c: Likewise.
3268
3269         strchrnul: relax license
3270         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
3271         okay.
3272         Reported by Jim Meyering.
3273
3274 2009-09-08  Eric Blake  <ebb9@byu.net>
3275
3276         fstatat: fix compilation on Solaris
3277         * lib/fstatat.c (includes): Add fcntl.h.
3278         Reported by Pádraig Brady.
3279
3280 2009-09-07  Eric Blake  <ebb9@byu.net>
3281
3282         rename: modernize replacement
3283         * modules/rename (Depends-on): Add stdio.
3284         (configure.ac): Declare witness.
3285         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
3286         stdio take care of replacement.
3287         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
3288         * modules/stdio (Makefile.am): Substitute them.
3289         * lib/stdio.in.h (rename): Declare replacement.
3290         * lib/rename.c (includes): Allow cross-compilation to non-windows
3291         machines.
3292         * doc/posix-functions/rename.texi (rename): Improve
3293         documentation.
3294
3295         stdio: sort witness names
3296         * modules/stdio (Makefile.am): Sort replacements.
3297         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
3298         * lib/stdio.in.h: Likewise.
3299
3300         getcwd: minor cleanups
3301         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
3302         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
3303
3304         openat: provide more convenience names
3305         * modules/faccessat (configure.ac): Add C witness.
3306         * lib/unistd.in.h (readlinkat): Fix typo.
3307         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
3308         convenience wrappers.
3309         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
3310         wrappers in syntax checks.
3311
3312 2009-09-06  Eric Blake  <ebb9@byu.net>
3313
3314         doc: fix comments in recent patches
3315         * lib/faccessat.c: Mention correct function.
3316         * lib/fchmodat.c: Likewise.
3317         * lib/fchownat.c: Likewise.
3318         * lib/symlinkat.c: Likewise.
3319         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
3320         constants.
3321
3322         faccessat, symlinkat: continue cleanup of previous patch
3323         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
3324         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
3325         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
3326         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
3327         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
3328         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
3329         set.
3330
3331 2009-09-06  Bruno Haible  <bruno@clisp.org>
3332
3333         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
3334         (fstatat): Declare if GNULIB_FSTATAT is set.
3335         (mkdirat): Declare if GNULIB_MKDIRAT is set.
3336         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
3337         (unlinkat): Declare if GNULIB_UNLINKAT is set.
3338         * modules/fcntl-h (Files): Remove m4/openat.m4.
3339         * modules/sys_stat (Files): Remove m4/openat.m4.
3340         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
3341         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
3342         * modules/unistd (Files): Remove m4/openat.m4.
3343         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
3344         GNULIB_OPENAT.
3345         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
3346         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
3347         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
3348         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
3349         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
3350         gl_OPENAT_DEFAULTS.
3351         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
3352         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
3353         Don't require gl_OPENAT_DEFAULTS.
3354         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
3355         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
3356         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
3357         (gl_OPENAT_DEFAULTS): Remove macro.
3358
3359 2009-09-06  Bruno Haible  <bruno@clisp.org>
3360
3361         * modules/openat (configure.ac): Remove unneeded witness.
3362
3363 2009-09-06  Bruno Haible  <bruno@clisp.org>
3364
3365         Set errno to ENOSYS when a function is entirely unsupported.
3366         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
3367         EOPNOTSUPP.
3368         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
3369         * modules/chown (Depends-on): Remove errno.
3370
3371 2009-09-06  Bruno Haible  <bruno@clisp.org>
3372
3373         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
3374
3375 2009-09-06  Bruno Haible  <bruno@clisp.org>
3376
3377         * lib/sys_stat.in.h: Fix preprocessor command indentation.
3378
3379 2009-09-06  Ben Pfaff  <blp@gnu.org>
3380             Bruno Haible  <bruno@clisp.org>
3381
3382         Work around a glibc bug in strtok_r.
3383         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
3384         Undefine if UNDEFINE_STRTOK_R is set.
3385         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
3386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
3387         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
3388         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
3389         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
3390         UNDEFINE_STRTOK_R.
3391         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
3392
3393 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
3394
3395         exclude: minor fix
3396         * lib/exclude.c: Include wctype.h
3397
3398 2009-09-06  Akim Demaille  <demaille@gostai.com>
3399
3400         bootstrap: improve error message
3401         * build-aux/bootstrap (find_tool): Upon failure, report the list
3402         of candidates.
3403         Honor the initial value of the envvar.
3404
3405 2009-09-05  Eric Blake  <ebb9@byu.net>
3406
3407         symlinkat: new module
3408         * modules/symlinkat: New file.
3409         * lib/symlinkat.c: Likewise.
3410         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
3411         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
3412         * modules/unistd (Makefile.am): Use them.
3413         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
3414         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
3415         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
3416         * MODULES.html.sh (File system functions): Mention module.
3417         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
3418         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
3419         * modules/symlinkat-tests: New test.
3420         * tests/test-symlinkat.c: Likewise.
3421
3422         test-openat-safer: add more checks
3423         * tests/test-openat-safer.c (main): Check more code paths.
3424
3425 2009-09-05  Jim Meyering  <meyering@redhat.com>
3426
3427         syntax-check: detect unnecessary inclusion of openat.h
3428         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
3429
3430 2009-09-05  Bruno Haible  <bruno@clisp.org>
3431
3432         Support towlower, towupper.
3433         * doc/posix-functions/towlower.texi: Mention module wctype.
3434         * doc/posix-functions/towupper.texi: Likewise.
3435         * lib/wctype.in.h (towlower, towupper): New functions.
3436         * tests/test-wctype.c: Include stdio.h, stdlib.h.
3437         (ASSERT): New macro.
3438         (e): New variable.
3439         (main): Test also towlower, towupper. Test WEOF argument.
3440         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
3441
3442 2009-09-05  Bruno Haible  <bruno@clisp.org>
3443
3444         Fix conversion behaviour when the input is invalid.
3445         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
3446         mark occurring in first pass of indirect conversion.
3447         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
3448         input.
3449         Found by clang's static analyzer.
3450
3451 2009-09-05  Bruno Haible  <bruno@clisp.org>
3452
3453         * tests/test-striconveh.c (main): Test indirect conversion on platforms
3454         where direct conversion is possible.
3455
3456 2009-09-04  Eric Blake  <ebb9@byu.net>
3457
3458         openat: fail with ENOENT on empty name
3459         * lib/openat-proc.c (openat_proc_name): Special-case the empty
3460         buffer.
3461
3462         link-follow: fix logic bug in prior patch
3463         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
3464         reversed sense of yes and no in prior patch.  Avoid confusing
3465         compilation failure with desired semantics.
3466
3467         link-follow: accomodate mingw and cross-compilation
3468         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
3469         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
3470         cross-compilation results to -1, to make linkat easier to
3471         implement when cross-compiling.  Trivially support mingw.
3472         * modules/link-follow (configure.ac): Call new name.
3473         * NEWS: Mention this.
3474
3475 2009-09-03  Eric Blake  <ebb9@byu.net>
3476
3477         faccessat: compile replacement
3478         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
3479         needed.
3480
3481         fts: fix compilation error
3482         * lib/fts.c (includes): Re-add "openat.h", for
3483         openat_needs_fchdir.
3484
3485         faccessat: new module
3486         * modules/faccessat: New file.
3487         * lib/faccessat.c: Likewise.
3488         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
3489         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
3490         * modules/unistd (Makefile.am): Use it.
3491         * lib/unistd.in.h (faccessat): Declare it.
3492         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
3493         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
3494         * MODULES.html.sh (File system functions): Mention it.
3495         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
3496         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
3497
3498         euidaccess: prefer POSIX over non-standard implementation
3499         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
3500         * lib/euidaccess.c (euidaccess): Use it if available.
3501
3502         openat: make template easier to use
3503         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
3504         AT_FUNC_F2 to be undefined.
3505         (VALIDATE_FLAG): New macro; use it to reject bad flags.
3506         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
3507         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
3508         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
3509         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
3510         Likewise.
3511         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
3512         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
3513         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
3514         Likewise.
3515
3516         openat: declare in POSIX headers
3517         * NEWS: Mention this.
3518         * modules/openat (configure.ac): Declare witnesses.
3519         (Depends-on): Add fcntl-h, sys_stat, unistd.
3520         (Include): Mention correct headers.
3521         * modules/fcntl-h (Depends-on): Add link-warning.
3522         (Files): Add openat.m4.
3523         (Makefile.am): Substitute witnesses.
3524         * modules/sys_stat (Files, Makefile.am): Likewise.
3525         * modules/unistd (Files, Makefile.am): Likewise.
3526         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
3527         (gl_OPENAT_DEFAULTS): New macro.
3528         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
3529         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
3530         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
3531         (SYS_STAT_H): Remove unused variable.
3532         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
3533         * lib/fcntl--.h (includes): Remove unneeded header.
3534         * lib/openat-safer.c (includes): Likewise.
3535         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
3536         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
3537         appropriate headers.
3538         (__OPENAT_PREFIX): Delete.
3539         * lib/fcntl.in.h (openat): Provide declaration.
3540         (AT_FDCWD): Fix Solaris bug.
3541         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
3542         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
3543         * lib/fchmodat.c (includes):  Adjust to find declaration.
3544         * lib/fchownat.c (includes): Likewise.
3545         * lib/mkdirat.c (includes): Likewise.
3546         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
3547         still visible.
3548
3549 2009-09-02  Eric Blake  <ebb9@byu.net>
3550
3551         errno: use consistently
3552         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
3553         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
3554         * lib/canonicalize.c (ELOOP): Likewise.
3555         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
3556         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
3557         * lib/lchown.c (EOPNOTSUPP): Likewise.
3558         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
3559         * lib/savewd.c (ESTALE): Likewise.
3560         * lib/settime.c (ENOSYS): Likewise.
3561         * lib/utimens.c (ENOSYS): Likewise.
3562         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
3563         * lib/chdir-safer.c (ELOOP): Likewise.
3564         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
3565         * modules/c-stack (Depends-on): Add errno.
3566         * modules/canonicalize (Depends-on): Likewise.
3567         * modules/chdir-safer (Depends-on): Likewise.
3568         * modules/fdopendir (Depends-on): Likewise.
3569         * modules/inet_ntop (Depends-on): Likewise.
3570         * modules/inet_pton (Depends-on): Likewise.
3571         * modules/lchown (Depends-on): Likewise.
3572         * modules/openat (Depends-on): Likewise.
3573         * modules/savewd (Depends-on): Likewise.
3574         * modules/settime (Depends-on): Likewise.
3575         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
3576
3577         fts: avoid leaking fds
3578         * modules/fts (Depends-on): Add cloexec.
3579         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
3580         flag.
3581
3582         fts: make directory fds more robust
3583         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
3584         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
3585
3586         backupfile, chdir-long, fts, savedir: make safer
3587         * lib/backupfile.c (includes): Use "dirent--.h", since
3588         numbered_backup can write to stderr during readdir.
3589         * lib/savedir.c (includes): Likewise.
3590         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
3591         emulation can write to stderr on failure.
3592         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
3593         * lib/getcwd.c: Document why opendir_safer is unused.
3594         * lib/glob.c: Likewise.
3595         * lib/scandir.c: Likewise.
3596         * lib/openat-proc.c: Likewise, for open_safer.
3597         * modules/backupfile (Depends-on): Add dirent-safer.
3598         * modules/savedir (Depends-on): Likewise.
3599         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
3600         * modules/chdir-long (Depends-on): Add openat-safer.
3601
3602         openat-safer: new module
3603         * modules/openat-safer: New file.
3604         * lib/openat-safer.c: Likewise.
3605         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
3606         * lib/fcntl-safer.h (openat_safer): Declare.
3607         * lib/fcntl--.h (openat): Override.
3608         * MODULES.html.sh (File descriptor based I/O): Mention it.
3609         * lib/openat.h: Add double-inclusion guards.
3610         * lib/openat.c (includes): Only include "fcntl-safer.h", not
3611         "fcntl--.h", so we can implement openat.
3612         * modules/openat-safer-tests: New test.
3613         * tests/test-openat-safer.c: New file.
3614
3615         dirent-safer: new module
3616         * modules/dirent-safer: New file.
3617         * lib/dirent--.h: Likewise.
3618         * lib/dirent-safer.h: Likewise.
3619         * lib/opendir-safer.c: Likewise.
3620         * m4/dirent-safer.m4: Likewise.
3621         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
3622         * modules/dirent-safer-tests: New test.
3623         * tests/test-dirent-safer.c: New file.
3624         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
3625
3626         fdopendir: optimize on mingw
3627         * lib/unistd.in.h (_gl_directory_name): New prototype.
3628         * lib/fchdir.c (_gl_directory_name): Implement it.
3629         (fchdir): Use it to simplify implementation.
3630         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
3631         fchdir, when available, to avoid calling [f]chdir().
3632
3633         fdopendir: split into its own module
3634         * lib/openat.c (fdopendir): Move...
3635         * lib/fdopendir.c: ...into new file.
3636         * modules/fdopendir: New module.
3637         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
3638         * modules/openat (Depends-on): Add fdopendir.
3639         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
3640         fdopendir here.
3641         * modules/savedir (Depends-on): Only need fdopendir, not full
3642         openat.
3643         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
3644         * lib/openat.h (fdopendir): Drop prototype.
3645         * lib/dirent.in.h (fdopendir): Provide prototype.
3646         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
3647         * modules/dirent (Makefile.am): Substitute them.
3648         * MODULES.html.sh (File system functions): Mention it.
3649         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
3650         * modules/fdopendir-tests: New file.
3651         * tests/test-fdopendir.c: Likewise.
3652
3653         fchdir: use more consistent macro convention
3654         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
3655         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
3656         REPLACE_FCHDIR, rather than relying on config.h macros.
3657         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
3658         inside a single make-time REPLACE_FCHDIR block, rather than using
3659         the config.h FCHDIR_REPLACEMENT.
3660         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
3661         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
3662         Manage fstat replacement.
3663         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
3664         REPLACE_FCHDIR.
3665         * modules/sys_stat (Files): Add m4/unistd_h.m4.
3666         (Makefile.am): Substitute REPLACE_FCHDIR.
3667         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
3668         FCHDIR_REPLACEMENT.
3669         * lib/dup-safer.c (dup_safer): Likewise.
3670         * lib/dup2.c (rpl_dup2): Likewise.
3671         * lib/dup3.c (rpl_dup3): Likewise.
3672         * lib/open.c (rpl_open): Likewise.
3673
3674         fchdir: simplify error handling, and support dup3
3675         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
3676         stdbool, malloc-posix, realloc-posix.
3677         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
3678         (ensure_dirs_slot): Return false on allocation failure.
3679         (rpl_dup2): Delete.
3680         (_gl_register_dup): New function.
3681         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
3682         (_gl_register_fd): Close fd on allocation failure.
3683         * lib/fcntl.in.h (_gl_register_fd): Update signature.
3684         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
3685         prototype.
3686         (rpl_dup2_fchdir): Delete prototype.
3687         * lib/open.c (open): Update caller.
3688         * lib/dup2.c (dup2): Track fchdir metadata.
3689         * lib/dup3.c (dup3): Likewise.
3690         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
3691         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
3692
3693 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3694
3695         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
3696         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
3697         don't pass arguments to AC_OUTPUT.
3698
3699 2009-09-02  Bruno Haible  <bruno@clisp.org>
3700
3701         * modules/mkdtemp (License): Relicense under LGPLv2+.
3702         Reported by Paolo Bonzini.
3703
3704 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3705
3706         Replace uses of obsolete autoconf macros in Jim's modules.
3707         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
3708         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
3709         can evoke a warning from autoconf when run with -Wobsolete
3710         enabled.  They were declared obsolete for good reasons (see
3711         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
3712         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
3713         should not continue using the deprecated macros.
3714         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
3715         obsolete Autoconf macros with modern counterparts.
3716         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
3717         * m4/dos.m4 (gl_AC_DOS): Likewise.
3718         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
3719         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
3720         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
3721         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
3722         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
3723         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
3724         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
3725         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
3726         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
3727         Likewise.
3728         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
3729         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
3730         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
3731         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
3732         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
3733         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
3734
3735 2009-09-01  Eric Blake  <ebb9@byu.net>
3736
3737         fchdir: fix off-by-one bug in previous patch
3738         * lib/fchdir.c (rpl_fstat): Use correct bounds.
3739         (_gl_unregister_fd): Delete useless if.
3740
3741 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
3742
3743         maint.mk: sort the list of syntax-check rules
3744         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
3745         easier to get a sense of progress when the rules are run sequentially
3746         and take a long time.
3747
3748 2009-09-01  Simon Josefsson  <simon@josefsson.org>
3749
3750         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
3751         * modules/netinet_in: Likewise.
3752         * modules/sys_file: Likewise.
3753         * modules/sys_ioctl: Likewise.
3754         * modules/sys_select: Likewise.
3755         * modules/sys_socket: Likewise.
3756         * modules/sys_stat: Likewise.
3757         * modules/sys_time: Likewise.
3758         * modules/sys_times: Likewise.
3759         * modules/sys_utsname: Likewise.
3760         * modules/sys_wait: Likewise.
3761
3762 2009-09-01  Jim Meyering  <meyering@redhat.com>
3763
3764         fts: help ensure that return values are not ignored
3765         * lib/fts_.h (__GNUC_PREREQ): Define.
3766         (__attribute_warn_unused_result__): Define.
3767         (fts_children, fts_close, fts_open, fts_read): Declare with
3768         __attribute_warn_unused_result__.
3769
3770         fts: fts_close now fails also when closing a dir file descriptor fails
3771         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
3772         and propagate to caller, along with errno.
3773
3774         announce-gen: correct formatting in --help output
3775         * build-aux/announce-gen (usage): Move the one-line description in
3776         --help output "up", to where it belongs, just after Usage:.
3777
3778 2009-08-31  Eric Blake  <ebb9@byu.net>
3779
3780         fchdir: port to mingw
3781         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
3782         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
3783         opened, then use a substitute.
3784         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
3785         replacement.
3786         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
3787         (_gl_register_fd): No need to check stat if open already filters
3788         all directories.
3789         (fchdir): Fix error condition to match POSIX.
3790         * modules/fchdir (Depends-on): Add sys_stat.
3791         * doc/posix-functions/open.texi (open): Document the limitation.
3792         * modules/fchdir-tests: New file.
3793         * tests/test-fchdir.c: Likewise.
3794
3795         canonicalize: allow cross-testing from cygwin to mingw
3796         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
3797         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
3798         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
3799         Likewise.
3800         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
3801         target does not support symlinks.
3802         * tests/test-canonicalize-lgpl.sh: Likewise.
3803
3804         chown: avoid compilation warning on mingw
3805         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
3806         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
3807         mingw.
3808         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
3809         * modules/chown (Depends-on): Add errno.
3810
3811 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
3812
3813         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
3814         command.
3815
3816 2009-08-31  Jim Meyering  <meyering@redhat.com>
3817
3818         canonicalize: remove useless initialization
3819         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
3820         initialization of local, "end".
3821
3822 2009-08-30  Bruno Haible  <bruno@clisp.org>
3823
3824         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
3825         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
3826         ENOSYS.
3827
3828 2009-08-30  Bruno Haible  <bruno@clisp.org>
3829
3830         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
3831         /usr/xpg4/bin/tr when it exists.
3832         * tests/test-pipe-filter-gi1.sh: Likewise.
3833
3834 2009-08-30  Bruno Haible  <bruno@clisp.org>
3835
3836         Work around deficient /usr/bin/id program on Solaris.
3837         * tests/test-file-has-acl.sh (ID): New variable.
3838         * tests/test-set-mode-acl.sh (ID): Likewise.
3839         * tests/test-copy-acl.sh (ID): Likewise.
3840         * tests/test-copy-file.sh (ID): Likewise.
3841
3842 2009-08-30  Bruno Haible  <bruno@clisp.org>
3843
3844         New module 'xstriconveh'.
3845         * lib/xstriconveh.h: New file.
3846         * lib/xstriconveh.c: New file.
3847         * modules/xstriconveh: New file.
3848
3849 2009-08-30  Bruno Haible  <bruno@clisp.org>
3850
3851         Make it easier to use mem_cd_iconveh.
3852         * lib/striconveh.h (iconveh_t): New type.
3853         (iconveh_open, iconveh_close): New declarations.
3854         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
3855         with a single 'const iconveh_t *' argument.
3856         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
3857         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
3858         with a single 'const iconveh_t *' argument.
3859         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
3860         * tests/test-striconveh.c (main): Update.
3861         * NEWS: Mention the change.
3862
3863 2009-08-30  Bruno Haible  <bruno@clisp.org>
3864
3865         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
3866         problem.
3867
3868 2009-08-30  Bruno Haible  <bruno@clisp.org>
3869
3870         Work around iconv_open problem on Solaris.
3871         * lib/iconv_open-solaris.gperf: New file.
3872         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
3873         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
3874         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
3875         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
3876         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
3877         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
3878
3879 2009-08-29  Jim Meyering  <meyering@redhat.com>
3880
3881         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
3882         * top/maint.mk (cvs-check): Remove target; it was just an alias
3883         to the better-named vc-diff-check.
3884         (maintainer-distcheck): Remove rule.  It was used only from
3885         the (alpha/beta/major) target, and all of its commands but one
3886         were coreutils-specific.
3887         (vc-dist): Remove rule.
3888         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
3889         Run vc-diff-check, not vc-dist.
3890         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
3891
3892 2009-08-27  Bruno Haible  <bruno@clisp.org>
3893
3894         * tests/test-bitrotate.c (main): Remove test that uses a shift count
3895         of 0.
3896
3897 2009-08-27  Bruno Haible  <bruno@clisp.org>
3898
3899         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
3900         compilers.
3901         * doc/func.texi: Document the SunPRO C bug.
3902
3903 2009-08-27  Bruno Haible  <bruno@clisp.org>
3904
3905         Fix link error on Solaris.
3906         * tests/test-parse-duration.c (xstrdup): Remove function.
3907
3908 2009-08-26  Pádraig Brady  <P@draigbrady.com>
3909
3910         ignore-value: handle pointer types, too
3911         * lib/ignore-value.h (__attribute__): Remove definition.
3912         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
3913         of a more concise and more-often effective "(void) i" statement.
3914         (ignore_ptr): New function to suppress warnings from functions that
3915         return pointers, and to make it explicit that one function doesn't
3916         handle all cases.
3917
3918 2009-08-25  Bruno Haible  <bruno@clisp.org>
3919
3920         dup2: work around a Linux bug.
3921         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
3922         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
3923         * doc/posix-functions/dup2.texi: Mention the Linux bug.
3924         Reported by Simon Josefsson.
3925
3926 2009-08-25  Jim Meyering  <meyering@redhat.com>
3927
3928         libguestfs uses gnulib
3929         * users.txt: Add libguestfs.
3930
3931 2009-08-24  Eric Blake  <ebb9@byu.net>
3932
3933         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
3934         * lib/pipe2.c (includes): Add binary-io.h.
3935         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
3936
3937 2009-08-24  Bruno Haible  <bruno@clisp.org>
3938
3939         Tolerate declared but missing accept4 syscall.
3940         * lib/accept4.c (accept4): Invoke original accept4 function first, if
3941         available.
3942         * lib/sys_socket.in.h (accept4): If the function is already present,
3943         override it.
3944         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
3945         * modules/accept4 (Makefile.am): Compile accept4.c always.
3946         Reported by Paolo Bonzini and Eric Blake.
3947
3948 2009-08-23  Bruno Haible  <bruno@clisp.org>
3949
3950         New module 'accept4'.
3951         * lib/sys_socket.in.h (accept4): New declaration.
3952         * lib/accept4.c: New file.
3953         * m4/accept4.m4: New file.
3954         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
3955         GNULIB_ACCEPT4, HAVE_ACCEPT4.
3956         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
3957         HAVE_ACCEPT4.
3958         * modules/accept4: New file.
3959         * doc/glibc-functions/accept4.texi: Mention the new module.
3960
3961 2009-08-24  Jim Meyering  <meyering@redhat.com>
3962
3963         progname: also set global program_invocation_name, when possible
3964         Before this change, a libtool-enabled program that calls glibc's
3965         error function would report the program name as
3966         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
3967         * modules/progname (configure.ac): Check for a declaration of
3968         program_invocation_name.
3969         * lib/progname.c:  Include <errno.h>.
3970         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
3971         Set program_invocation_name.
3972
3973 2009-08-23  Bruno Haible  <bruno@clisp.org>
3974
3975         * lib/dup3.c: Include <string.h>.
3976
3977 2009-08-23  Bruno Haible  <bruno@clisp.org>
3978
3979         * lib/dup3.c (dup3): Test only once whether the system actually exists.
3980         * lib/pipe2.c (pipe2): Likewise.
3981         Suggested by Eric Blake.
3982
3983 2009-08-23  Bruno Haible  <bruno@clisp.org>
3984
3985         Tolerate declared but missing dup3 syscall.
3986         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
3987         * lib/unistd.in.h (dup3): If the function is already present,
3988         override it.
3989         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
3990         * modules/dup3 (Makefile.am): Compile dup3.c always.
3991         Reported by Paolo Bonzini.
3992
3993 2009-08-23  Bruno Haible  <bruno@clisp.org>
3994
3995         Tolerate declared but missing pipe2 syscall.
3996         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
3997         available.
3998         * lib/unistd.in.h (pipe2): If the function is already present,
3999         override it.
4000         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
4001         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
4002         Reported by Paolo Bonzini.
4003
4004 2009-08-23  Bruno Haible  <bruno@clisp.org>
4005
4006         * lib/pipe2.c (pipe2): Move #ifs inside function.
4007
4008 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
4009
4010         quotearg: document limitations of quote_these_too
4011         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
4012         those limitations are created.
4013         * lib/quotearg.h (set_char_quoting): Document that digits and
4014         letters that are special after backslash are not permitted.
4015         (quotearg_char): Cross-reference set_char_quoting documentation.
4016
4017 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
4018
4019         quotearg: implement custom_quoting_style
4020         * lib/quotearg.c: (struct quoting_options): Add left_quote and
4021         right_quote fields.
4022         (set_custom_quoting): New public function.
4023         (quotearg_buffer_restyled): Add left_quote and right_quote
4024         arguments, handle them very much like locale quoting, and update
4025         all uses.
4026         (quotearg_n_custom): New public function.
4027         (quotearg_n_custom_mem): New public function.
4028         (quotearg_custom): New public function.
4029         (quotearg_custom_mem): New public function.
4030         * lib/quotearg.h: Prototype and document new public functions.
4031         (enum quoting_style): For escape_quoting_style and
4032         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
4033         ignored even though they're otherwise like c_quoting_style.
4034         Add custom_quoting_style member and document with comparison to
4035         clocale_quoting_style.
4036         * tests/test-quotearg.c (custom_quotes): New array.
4037         (custom_results): New array.
4038         (main): Extend to test custom quoting.
4039
4040 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
4041
4042         quotearg: fix right quote escaping when it's in quote_these_too
4043         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
4044         quote, be sure to prepend only one backslash.
4045         * tests/test-quotearg.c (use_quote_double_quotes): New function.
4046         (main): Test it.
4047
4048 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
4049
4050         quotearg-tests: test escaping of embedded locale quotes
4051         * tests/test-quotearg.c (struct result_strings): Add member for
4052         new input.
4053         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
4054         (inputs): Add new input.
4055         (results_g): Add expected results.
4056         (flag_results): Likewise.
4057         (locale_results): Likewise.
4058         (compare_strings): Check those.
4059
4060 2009-08-23  Bruno Haible  <bruno@clisp.org>
4061
4062         Tests for module 'dup3'.
4063         * modules/dup3-tests: New file.
4064         * tests/test-dup3.c: New file.
4065
4066         New module 'dup3'.
4067         * lib/unistd.in.h (dup3): New declaration.
4068         * lib/dup3.c: New file.
4069         * m4/dup3.m4: New file.
4070         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
4071         HAVE_DUP3.
4072         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
4073         * modules/dup3: New file.
4074         * doc/glibc-functions/dup3.texi: Mention the new module.
4075
4076 2009-08-23  Bruno Haible  <bruno@clisp.org>
4077
4078         Tweak the dup2 test.
4079         * tests/test-dup2.c (main): Create the test file empty. Verify that an
4080         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
4081         the test file is still empty. Fix argument order of lseek.
4082
4083 2009-08-23  Bruno Haible  <bruno@clisp.org>
4084
4085         Avoid test link errors when the modules getopt-gnu, gettext are used.
4086         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
4087         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4088
4089 2009-08-23  Bruno Haible  <bruno@clisp.org>
4090
4091         Fix getdtablesize() on mingw.
4092         * lib/getdtablesize.c (getdtablesize): Implement differently.
4093         * lib/unistd.in.h (getdtablesize): Improve comment.
4094
4095 2009-08-23  Bruno Haible  <bruno@clisp.org>
4096
4097         New module 'mkostemp'.
4098         Based on Ulrich Drepper's 2007-08-10 change in glibc.
4099         * lib/stdlib.in.h (mksotemp): New declaration.
4100         * lib/mkostemp.c: New file, from glibc with modifications.
4101         * lib/tempname.h (GT_FILE): Remove outdated comment.
4102         (gen_tempname): Add flags argument.
4103         * lib/tempname.c (__GT_BIGFILE): Remove macro.
4104         (__GT_FILE): Map to 1.
4105         (small_open, large_open): Remove macros.
4106         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
4107         * lib/mkstemp.c (mkstemp): Update.
4108         * lib/mkdtemp.c (mkdtemp): Likewise.
4109         * m4/mkostemp.m4: New file.
4110         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
4111         HAVE_MKOSTEMP.
4112         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
4113         HAVE_MKOSTEMP.
4114         * modules/mkostemp: New file, based on modules/mkstemp.
4115         * doc/glibc-functions/mkostemp.texi: Mention the new module.
4116         * NEWS: Mention the change.
4117
4118 2009-08-23  Bruno Haible  <bruno@clisp.org>
4119
4120         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
4121         Reported by Eric Blake.
4122
4123 2009-08-23  Bruno Haible  <bruno@clisp.org>
4124
4125         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
4126         Reported by Eric Blake.
4127
4128 2009-08-23  Bruno Haible  <bruno@clisp.org>
4129
4130         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
4131         * modules/pipe2 (Depends-on): Likewise.
4132
4133 2009-08-23  Eric Blake  <ebb9@byu.net>
4134
4135         fcntl-h: add O_TTY_INIT support
4136         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
4137         * tests/test-fcntl-h.c (o): Test it.
4138         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
4139
4140         fcntl-h: rename from fcntl, in preparation for fcntl(2)
4141         * modules/fcntl: Move <fcntl.h> header replacement...
4142         * modules/fcntl-h: ...to new name, so as not to collide with
4143         like-named function.
4144         * tests/test-fcntl.c: Rename...
4145         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
4146         * modules/fcntl-tests: Rename...
4147         * modules/fcntl-h-tests: ...to this.  Update test file name.
4148         * modules/chdir-long (Depends-on): Update clients.
4149         * modules/chdir-safer (Depends-on): Likewise.
4150         * modules/fcntl-safer (Depends-on): Likewise.
4151         * modules/fts (Depends-on): Likewise.
4152         * modules/mkancesdirs (Depends-on): Likewise.
4153         * modules/mkdir-p (Depends-on): Likewise.
4154         * modules/open (Depends-on): Likewise.
4155         * modules/savewd (Depends-on): Likewise.
4156         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
4157         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
4158
4159 2009-08-22  Bruno Haible  <bruno@clisp.org>
4160
4161         * modules/binary-io (License): Relicense under LGPL.
4162         * modules/pipe2 (License): Likewise.
4163
4164 2009-08-22  Bruno Haible  <bruno@clisp.org>
4165
4166         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
4167         return value.
4168         * lib/pipe-filter-gi.c (filter_init): Likewise.
4169         Reported by Eric Blake.
4170
4171 2009-08-22  Bruno Haible  <bruno@clisp.org>
4172
4173         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
4174         * modules/pipe (Depends-on): Add pipe2.
4175
4176 2009-08-22  Bruno Haible  <bruno@clisp.org>
4177
4178         Tests for module 'pipe2'.
4179         * modules/pipe2-tests: New file.
4180         * tests/test-pipe2.c: New file.
4181
4182         New module 'pipe2'.
4183         * lib/unistd.in.h (pipe2): New declaration.
4184         * lib/pipe2.c: New file.
4185         * m4/pipe2.m4: New file.
4186         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
4187         HAVE_PIPE2.
4188         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
4189         * modules/pipe2: New file.
4190         * doc/glibc-functions/pipe2.texi: Mention the new module.
4191
4192 2009-08-22  Bruno Haible  <bruno@clisp.org>
4193
4194         Reference some new glibc functions.
4195         * doc/glibc-functions/accept4.texi: New file.
4196         * doc/glibc-functions/dup3.texi: New file.
4197         * doc/glibc-functions/mkostemp.texi: New file.
4198         * doc/glibc-functions/pipe2.texi: New file.
4199         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
4200         (Glibc sys/socket.h): Refer to accept4.
4201         (Glibc unistd.h): Refer to dup3, pipe2.
4202         Reported by Eric Blake.
4203
4204 2009-08-22  Jim Meyering  <meyering@redhat.com>
4205             Bruno Haible  <bruno@clisp.org>
4206
4207         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
4208         This makes it so packages using automake-1.11's silent-rules option
4209         can print e.g., a single "GEN    configmake.h" line, rather than
4210         the 30+ statements that perform the job.  If you want to see the
4211         actual commands, you can still run "make V=1".
4212         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
4213         so that make output is abbreviated when those variables are defined
4214         appropriately.
4215         * modules/argz: Likewise.
4216         * modules/arpa_inet: Likewise.
4217         * modules/byteswap: Likewise.
4218         * modules/configmake: Likewise.
4219         * modules/dirent: Likewise.
4220         * modules/errno: Likewise.
4221         * modules/fcntl: Likewise.
4222         * modules/float: Likewise.
4223         * modules/fnmatch: Likewise.
4224         * modules/getopt-posix: Likewise.
4225         * modules/glob: Likewise.
4226         * modules/iconv_open: Likewise.
4227         * modules/inttypes: Likewise.
4228         * modules/localcharset: Likewise.
4229         * modules/locale: Likewise.
4230         * modules/math: Likewise.
4231         * modules/netdb: Likewise.
4232         * modules/netinet_in: Likewise.
4233         * modules/poll: Likewise.
4234         * modules/posix_spawnp-tests: Likewise.
4235         * modules/sched: Likewise.
4236         * modules/search: Likewise.
4237         * modules/selinux-h: Likewise.
4238         * modules/signal: Likewise.
4239         * modules/spawn: Likewise.
4240         * modules/stdarg: Likewise.
4241         * modules/stdbool: Likewise.
4242         * modules/stddef: Likewise.
4243         * modules/stdint: Likewise.
4244         * modules/stdio: Likewise.
4245         * modules/stdlib: Likewise.
4246         * modules/string: Likewise.
4247         * modules/strings: Likewise.
4248         * modules/sys_file: Likewise.
4249         * modules/sys_ioctl: Likewise.
4250         * modules/sys_select: Likewise.
4251         * modules/sys_socket: Likewise.
4252         * modules/sys_stat: Likewise.
4253         * modules/sys_time: Likewise.
4254         * modules/sys_times: Likewise.
4255         * modules/sys_utsname: Likewise.
4256         * modules/sys_wait: Likewise.
4257         * modules/sysexits: Likewise.
4258         * modules/time: Likewise.
4259         * modules/unistd: Likewise.
4260         * modules/wchar: Likewise.
4261         * modules/wctype: Likewise.
4262
4263 2009-08-22  Jim Meyering  <meyering@redhat.com>
4264
4265         announce-gen: detect write failure
4266         * build-aux/announce-gen: Add Coda at end.
4267         Remove equivalent-but-more-verbose block at top.
4268
4269 2009-08-19  Akim Demaille  <demaille@gostai.com>
4270
4271         bootstrap: --help to stdout.
4272         * bootstrap (usage): Don't send --help to stderr.
4273         Use a here doc instead of a long string.
4274
4275 2009-08-21  Eric Blake  <ebb9@byu.net>
4276
4277         test-popen-safer: split from test-popen
4278         * tests/test-popen.c (main): Move...
4279         * tests/test-popen.h: ...into new file.
4280         * tests/test-popen-safer2.c: New file.
4281         * modules/popen-tests (Files): Add test-popen.h.
4282         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
4283         Suggested by Bruno Haible.
4284
4285         test-fcntl-safer: split from test-open
4286         * tests/test-open.c (main): Move...
4287         * tests/test-open.h: ...into new file.
4288         * tests/test-fcntl-safer.c: New file.
4289         * modules/open-tests (Files): Add test-open.h.
4290         * modules/fcntl-safer-tests: New file.
4291         Suggested by Bruno Haible.
4292
4293         test-fopen-safer: split from test-fopen
4294         * tests/test-fopen.c (main): Move...
4295         * tests/test-fopen.h: ...into new file.
4296         * tests/test-fopen-safer.c: New file.
4297         * modules/fopen-tests (Files): Add test-fopen.h.
4298         * modules/fopen-safer-tests: New file.
4299         Suggested by Bruno Haible.
4300
4301 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
4302
4303         popen-safer: test O_CLOEXEC at run-time.
4304         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
4305
4306 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
4307
4308         fcntl: move more flags to the header
4309         * lib/cloexec.c: Do not define FD_CLOEXEC here.
4310         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
4311         * lib/fcntl.in.h: Do both things here.
4312
4313 2009-08-21  Jim Meyering  <meyering@redhat.com>
4314
4315         consistently remove $@-t before redirecting to it
4316         * modules/argz: Remove $@-t and $@ before redirecting to the former.
4317         * modules/alloca-opt: Likewise.
4318         * modules/byteswap: Likewise.
4319         * modules/fnmatch: Likewise.
4320         * modules/getopt-posix: Likewise.
4321         * modules/glob: Likewise.
4322         * modules/poll: Likewise.
4323         * modules/posix_spawnp-tests: Likewise.
4324         * modules/sys_socket: Likewise.
4325         * modules/sysexits: Likewise.
4326
4327 2009-08-21  Eric Blake  <ebb9@byu.net>
4328
4329         popen: simplify access to original popen
4330         * lib/popen.c (rpl_popen): No need to worry about popen being a
4331         macro.
4332         Reported by Bruno Haible.
4333
4334 2009-08-20  Eric Blake  <ebb9@byu.net>
4335
4336         build: avoid some compiler warnings
4337         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
4338         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
4339         type.
4340         (new_exclude_segment, excluded_file_pattern_p)
4341         (excluded_file_name_p): Reduce scope.
4342         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
4343         old-style declaration.
4344
4345 2009-08-20  Simon Josefsson  <simon@josefsson.org>
4346
4347         * tests/test-exclude1.sh: Handle Windows EOL.
4348         * tests/test-exclude2.sh: Likewise.
4349         * tests/test-exclude3.sh: Likewise.
4350         * tests/test-exclude4.sh: Likewise.
4351         * tests/test-exclude5.sh: Likewise.
4352         * tests/test-exclude6.sh: Likewise.
4353         * tests/test-exclude7.sh: Likewise.
4354
4355 2009-08-19  Akim Demaille  <demaille@gostai.com>
4356
4357         bootstrap: find sha1sum when named gsha1sum.
4358         * bootstrap (find_tool): New.
4359         ($SHA1SUM): New.
4360         Use it.
4361
4362 2009-08-20  Jim Meyering  <meyering@redhat.com>
4363
4364         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
4365         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
4366         expression that converts "." in a file name to "\." in the resulting
4367         regexp.  Start with a dummy statement, so that prior shell variable
4368         definitions are expanded portably.  Reported by Simon Josefsson.
4369
4370 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
4371
4372         Fix polling for writeability of a screen buffer.
4373         * lib/poll.c: Distinguish input and screen buffers for the
4374         Win32 implementation.
4375         * lib/select.c: Likewise.
4376
4377 2009-08-19  Eric Blake  <ebb9@byu.net>
4378
4379         popen-safer: prevent popen from clobbering std descriptors
4380         * modules/popen-safer: New file.
4381         * lib/popen-safer.c: Likewise.
4382         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
4383         * lib/stdio--.h (popen): Provide override.
4384         * lib/stdio-safer.h (popen_safer): Provide declaration.
4385         * tests/test-popen.c (includes): Partially test this.
4386         * modules/popen-safer-tests: New file, for more tests.
4387         * tests/test-popen-safer.c: Likewise.
4388         * MODULES.html.sh (file stream based Input/Output): Mention it.
4389
4390         tests: test some of the *-safer modules
4391         * modules/fopen-safer (Depends-on): Add fopen.
4392         * modules/fcntl-safer (Depends-on): Add fcntl.
4393         * modules/stdlib-safer (Depends-on): Add stdlib.
4394         (configure.ac): Set indicator.
4395         * modules/unistd-safer (configure.ac): Likewise.
4396         * modules/tmpfile-safer (configure.ac): Likewise.
4397         (Depends-on): Add tmpfile.
4398         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
4399         active.
4400         * tests/test-fopen.c (includes): Test safer versions when they are
4401         in use.
4402         * tests/test-open.c (includes): Likewise.
4403
4404         popen: fix cygwin 1.5 bug when stdin closed
4405         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
4406         * modules/popen: New file.
4407         * modules/popen-tests: Likewise.
4408         * tests/test-popen.c: Likewise.
4409         * m4/popen.m4: Likewise.
4410         * lib/popen.c: Likewise.
4411         * lib/stdio.in.h (popen): New declaration.
4412         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
4413         * modules/stdio (Makefile.am): Likewise.
4414         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
4415
4416 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
4417
4418         maint.mk: give full control over update-copyright exclusions
4419         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
4420         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
4421         (update-copyright): Don't force inclusion of top-level
4422         ChangeLog.  Don't force exclusion of all COPYING files, but make
4423         them the default exclusion instead.
4424
4425 2009-08-16  Bruno Haible  <bruno@clisp.org>
4426
4427         Fix test failures on Solaris 10.
4428         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
4429         tests when Solaris iconv() is used.
4430         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
4431         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
4432         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
4433         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
4434         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
4435
4436 2009-08-16  Bruno Haible  <bruno@clisp.org>
4437
4438         Fix test failures on Solaris 10.
4439         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
4440         'tr' program and pass it as first argument.
4441         * tests/test-pipe-filter-gi1.sh: Likewise.
4442         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
4443         program as first argument.
4444         * tests/test-pipe-filter-gi1.c (main): Likewise.
4445
4446 2009-08-16  Eric Blake  <ebb9@byu.net>
4447
4448         fpurge: fix previous commits
4449         * modules/fpurge (Makefile.am): Make replacement conditional,
4450         partially reverting 2007-04-29 change; missed in previous
4451         attempt.
4452         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
4453         is missing.
4454
4455 2009-08-16  Bruno Haible  <bruno@clisp.org>
4456
4457         Clarify fpurge's effect on the file position.
4458         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
4459         * tests/test-fpurge.c (main): Make a second pass for checking the file
4460         position.
4461
4462 2009-08-16  Bruno Haible  <bruno@clisp.org>
4463
4464         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
4465         declaration of fpurge is missing.
4466         * tests/test-fpurge.c (main): Check that the file has not more contents
4467         than expected. Close the file before removing it.
4468
4469 2009-08-15  Eric Blake  <ebb9@byu.net>
4470
4471         fpurge: don't wrap working cygwin implementation
4472         * lib/fpurge.c (fpurge): Fix comment typo.
4473         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
4474         1.7 to avoid replacement.
4475         * tests/test-fpurge.c (main): Enhance test.
4476
4477 2009-08-15  Eric Blake  <ebb9@byu.net>
4478         and Jim Meyering  <meyering@redhat.com>
4479
4480         test-update-copyright: skip if perl is insufficient
4481         * tests/test-update-copyright.sh: Failure to run maintainer tool
4482         should not cause testsuite failure on cygwin 1.5.
4483
4484 2009-08-14  Eric Blake  <ebb9@byu.net>
4485
4486         doc: mention more functions added in cygwin 1.7.0
4487         * doc/posix-headers/limits.texi (limits.h): Update for recent
4488         cygwin additions.
4489         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
4490         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
4491         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
4492         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
4493         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
4494
4495 2009-08-14  Eric Blake  <ebb9@byu.net>
4496
4497         maint.mk: simplify update-copyright rule
4498         * top/maint.mk (update-copyright-local): Delete, and document how
4499         to do it in cfg.mk instead.
4500         (update-copyright-exclude-regexp): Delete, and document how to do
4501         it in .x-update-copyright instead.
4502         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
4503         exclude ChangeLog.
4504
4505 2009-08-14  Bruno Haible  <bruno@clisp.org>
4506
4507         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
4508
4509 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
4510
4511         maint.mk: support update-copyright-env
4512         * top/maint.mk (update-copyright-env): Define place-holder.
4513         (update-copyright): Expand $(update-copyright-env) before
4514         invoking update-copyright.
4515
4516 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
4517
4518         update-copyright: implement forced reformatting
4519         * build-aux/update-copyright: Implement and document
4520         UPDATE_COPYRIGHT_FORCE.
4521         * tests/test-update-copyright.sh: Test it.
4522
4523 2009-08-14  Eric Blake  <ebb9@byu.net>
4524         and Bruno Haible  <bruno@clisp.org>
4525
4526         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
4527         * tests/test-locale.c: Revert previous patch related to NULL.
4528         * tests/test-stdio.c: Likewise.
4529         * tests/test-stdlib.c: Likewise.
4530         * tests/test-string.c: Likewise.
4531         * tests/test-unistd.c: Likewise.
4532         * modules/time-tests (Depends-on): Add verify.
4533         * modules/wchar-tests (Depends-on): Likewise.
4534         * tests/test-time.c: Test for NULL compliance.
4535         * tests/test-wchar.c: Likewise.
4536         * modules/locale (Depends-on): Add stddef.
4537         * modules/stdio (Depends-on): Likewise.
4538         * modules/stdlib (Depends-on): Likewise.
4539         * modules/string (Depends-on): Likewise.
4540         * modules/time (Depends-on): Likewise.
4541         * modules/unistd (Depends-on): Likewise.
4542         * modules/wchar (Depends-on): Likewise.
4543         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
4544         * lib/stdlib.in.h (includes): Likewise.
4545         * lib/string.in.h (includes): Likewise.
4546         * lib/time.in.h (includes): Likewise.
4547         * lib/unistd.in.h (includes): Likewise.
4548         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
4549         replaced.
4550         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
4551         * m4/stddef_h.m4: New file.
4552         * modules/stddef: Likewise.
4553         * lib/stddef.in.h: Likewise.
4554         * modules/stddef-tests: Likewise.
4555         * tests/test-stddef.c: Likewise.
4556         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
4557         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
4558         * doc/posix-headers/locale.texi (locale.h): Likewise.
4559         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
4560         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
4561         * doc/posix-headers/string.texi (string.h): Likewise.
4562         * doc/posix-headers/time.texi (time.h): Likewise.
4563         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
4564         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
4565
4566 2009-08-14  Eric Blake  <ebb9@byu.net>
4567
4568         doc: improve git diff of texinfo files
4569         * .gitattributes: Add rule for *.texi files, with hint on how to
4570         use it.
4571         Copied from m4, and based on a report by Bruno Haible.
4572
4573 2009-08-14  Bruno Haible  <bruno@clisp.org>
4574
4575         Disable multithread support by default on Cygwin 1.5.x for real.
4576         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
4577
4578 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
4579
4580         update-copyright: much ado about intervals
4581         * build-aux/update-copyright: Implement and document
4582         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
4583         of copyright year intervals.
4584         Also, document UPDATE_COPYRIGHT_YEAR.
4585         * tests/test-update-copyright.sh: Test it.
4586
4587         update-copyright: convert 2-digit to 4-digit years
4588         * build-aux/update-copyright: Implement and document.
4589         * tests/test-update-copyright.sh: Update.
4590
4591 2009-08-14  Jim Meyering  <meyering@redhat.com>
4592
4593         test-exclude: avoid coreutils "make check" failure
4594         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
4595         just as in test-argmatch.c.
4596
4597 2009-08-13  Eric Blake  <ebb9@byu.net>
4598
4599         test-dup2: fix bad assumption
4600         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
4601         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
4602
4603         test-version-etc: fix CRLF portability issue
4604         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
4605         recognize \r.
4606         * tests/test-argp-version-etc-1.sh: Likewise.
4607
4608         getopt: update client modules
4609         * modules/argp (Depends-on): Use getopt-gnu.
4610         * modules/git-merge-changelog (Depends-on): Likewise.
4611         * modules/long-options (Depends-on): Likewise.
4612         * modules/xstrtol (Depends-on): Likewise.
4613
4614 2009-08-13  Simon Josefsson  <simon@josefsson.org>
4615
4616         * tests/test-version-etc.sh: Don't fail on different
4617         project/version.  Don't fail on CRLF differences.  Rewrite to use
4618         multiple -e instead of multiple sed forks, suggested by Eric Blake
4619         <ebb9@byu.net>.
4620         * tests/test-argp-version-etc-1.sh: Likewise.
4621
4622 2009-08-13  Simon Josefsson  <simon@josefsson.org>
4623
4624         * tests/test-version-etc.sh: Don't fail on different
4625         project/version.
4626
4627 2009-08-12  Bruno Haible  <bruno@clisp.org>
4628
4629         Tests for modules 'getopt-posix', 'getopt-gnu'.
4630         * modules/getopt-posix-tests: New file.
4631         * tests/test-getopt.c: New file.
4632         * tests/test-getopt.h: New file.
4633         * tests/test-getopt_long.h: New file.
4634
4635         New modules 'getopt-posix', 'getopt-gnu'.
4636         * modules/getopt-gnu: New file, renamed from modules/getopt.
4637         * modules/getopt-posix: New file.
4638         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
4639         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
4640         (gl_GETOPT): Remove macro.
4641         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
4642         Disable the test against BSD systems that declare optreset. Test
4643         against mingw bug. Test against lack of support of optional arguments
4644         on many platforms.
4645         * doc/glibc-headers/getopt.texi: Update module name and list of
4646         relevant platforms.
4647         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
4648         'getopt-gnu' and more portability problems.
4649         * NEWS: Mention the changes.
4650
4651 2009-08-12  Bruno Haible  <bruno@clisp.org>
4652
4653         Ensure that optarg etc. get declared by <unistd.h>.
4654         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
4655         AC_USE_SYSTEM_EXTENSIONS.
4656         * modules/getopt (Depends-on): Add 'extensions'.
4657
4658 2009-08-12  Bruno Haible  <bruno@clisp.org>
4659
4660         Avoid test link errors.
4661         * modules/pipe-filter-ii-tests (Makefile.am): Define
4662         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
4663         * modules/pipe-filter-gi-tests (Makefile.am): Define
4664         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
4665         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4666
4667 2009-08-12  Bruno Haible  <bruno@clisp.org>
4668
4669         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
4670         gl_GETOPT_SUBSTITUTE before.
4671         (gl_GETOPT): Use it.
4672         * m4/argp.m4 (gl_ARGP): Update.
4673         Reported by Sergey Poznyakoff.
4674
4675         * m4/getopt.m4: Reorder macros.
4676         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
4677         (gl_GETOPT_SUBSTITUTE): Remove macro.
4678
4679 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
4680
4681         Minor improvement in gitlog-to-changelog
4682
4683         * build-aux/gitlog-to-changelog: New option `--format' makes
4684         output format string configurable.
4685
4686 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
4687
4688         Optimize exclude: use hash tables for non-wildcard patterns.
4689
4690         * lib/exclude.c: Include hash.h and mbuiter.h
4691         (struct exclude_pattern, exclude_segment): New data types.
4692         (struct exclude): Rewrite.
4693         (fnmatch_pattern_has_wildcards): New function.
4694         (new_exclude_segment, free_exclude_segment): New functions.
4695         (excluded_file_pattern_p, excluded_file_name_p): New functions.
4696         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
4697         * lib/exclude.h (is_fnmatch_pattern): New prototype.
4698         * modules/exclude: Depend on hash and mbuiter.
4699
4700         * modules/exclude-tests: New file.
4701         * tests/test-exclude.c: New file.
4702         * tests/test-exclude1.sh: New file.
4703         * tests/test-exclude2.sh: New file.
4704         * tests/test-exclude3.sh: New file.
4705         * tests/test-exclude4.sh: New file.
4706         * tests/test-exclude5.sh: New file.
4707         * tests/test-exclude6.sh: New file.
4708         * tests/test-exclude7.sh: New file.
4709
4710 2009-08-12  Bruno Haible  <bruno@clisp.org>
4711
4712         Ensure that getopt() gets declared by <unistd.h>.
4713         * lib/unistd.in.h: Conditionally include getopt.h.
4714         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
4715         Set GNULIB_UNISTD_H_GETOPT.
4716         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4717         GNULIB_UNISTD_H_GETOPT.
4718         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
4719
4720 2009-08-12  Bruno Haible  <bruno@clisp.org>
4721
4722         Clarify logic.
4723         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
4724         gl_replace_getopt instead of GETOPT_H.
4725
4726 2009-08-12  Bruno Haible  <bruno@clisp.org>
4727
4728         * m4/getopt.m4: Add comments.
4729
4730 2009-08-12  Bruno Haible  <bruno@clisp.org>
4731
4732         Disable multithread support by default on Cygwin 1.5.x.
4733         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
4734         set gl_use_threads=no if not specified otherwise.
4735
4736 2009-08-11  Bruno Haible  <bruno@clisp.org>
4737
4738         Avoid compilation error on NetBSD 5.0.
4739         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
4740         * tests/test-stdio.c: Likewise.
4741         * tests/test-stdlib.c: Likewise.
4742         * tests/test-string.c: Likewise.
4743         * tests/test-unistd.c: Likewise.
4744         Reported by Greg Troxel <gdt@ir.bbn.com>
4745         at <https://savannah.gnu.org/support/?106973>.
4746
4747 2009-08-11  Bruno Haible  <bruno@clisp.org>
4748
4749         * modules/dup2-tests (Depends-on): Remove close.
4750
4751         Undo 2009-07-19 commit.
4752         * modules/acl-tests (Depends-on): Remove close.
4753         * modules/binary-io-tests (Depends-on): Likewise.
4754         * modules/closein-tests (Depends-on): Likewise.
4755         * modules/flock-tests (Depends-on): Likewise.
4756         * modules/fsync-tests (Depends-on): Likewise.
4757         * modules/lseek-tests (Depends-on): Likewise.
4758         * modules/pipe-tests (Depends-on): Likewise.
4759         * modules/posix_spawn-tests (Depends-on): Likewise.
4760         * modules/posix_spawnp-tests (Depends-on): Likewise.
4761         * modules/stat-time-tests (Depends-on): Likewise.
4762         * modules/yesno-tests (Depends-on): Likewise.
4763
4764 2009-08-10  Bruno Haible  <bruno@clisp.org>
4765
4766         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
4767
4768 2009-08-10  Bruno Haible  <bruno@clisp.org>
4769
4770         Fix a gcc warning.
4771         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
4772
4773 2009-08-10  Bruno Haible  <bruno@clisp.org>
4774
4775         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
4776         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
4777         not only the first time.
4778         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
4779         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
4780         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
4781         is 1, not only the the first time.
4782
4783 2009-08-10  Bruno Haible  <bruno@clisp.org>
4784
4785         Make it possible to use module 'gethostname' without module 'close'.
4786         * lib/unistd.in.h (close): Evoke a link error only if
4787         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
4788         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
4789         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4790         * modules/unistd (Makefile.am): Substitute
4791         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4792         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
4793         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
4794         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
4795         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4796         * modules/sys_ioctl (Makefile.am): Substitute
4797         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4798         * modules/socket (configure.ac): On native Windows, set
4799         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
4800         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
4801         Reported by Sam Steingold <sds@gnu.org>.
4802
4803 2009-08-10  Bruno Haible  <bruno@clisp.org>
4804
4805         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
4806         * modules/ioctl (configure.ac): Likewise.
4807
4808 2009-08-10  Bruno Haible  <bruno@clisp.org>
4809
4810         Avoid collision between gnulib wrapper and libintl wrapper.
4811         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
4812         already defined in intl/printf.c.
4813         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
4814         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
4815
4816 2009-08-09  Bruno Haible  <bruno@clisp.org>
4817
4818         Make <sys/select.h> really self-contained, also on Solaris 10.
4819         * lib/sys_select.in.h: Include <string.h>.
4820         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
4821         Solaris 10 problem.
4822         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
4823         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
4824         Reported by Jim Meyering.
4825
4826 2009-08-09  Bruno Haible  <bruno@clisp.org>
4827
4828         Avoid warnings from 'aclocal' that are due to a use of macro name
4829         AM_XGETTEXT_OPTION that is not defined in automake.
4830         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
4831         automake.
4832         * modules/error (configure.ac): Likewise.
4833         * modules/propername (configure.ac): Likewise.
4834         * modules/vasprintf (configure.ac): Likewise.
4835         * modules/verror (configure.ac): Likewise.
4836         * modules/xprintf (configure.ac): Likewise.
4837         * modules/xvasprintf (configure.ac): Likewise.
4838
4839 2009-08-08  Bruno Haible  <bruno@clisp.org>
4840
4841         Avoid compilation error in C++ mode.
4842         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
4843         Reported by Sam Steingold <sds@gnu.org>.
4844
4845 2009-08-08  Bruno Haible  <bruno@clisp.org>
4846
4847         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
4848         for the various Unix platforms.
4849         * doc/posix-headers/limits.texi: Update platforms list regarding
4850         HOST_NAME_MAX.
4851         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4852
4853 2009-08-07  Jim Meyering  <meyering@redhat.com>
4854
4855         selinux-at: fix typo in a comment
4856         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
4857         Spotted by Paolo Bonzini.
4858
4859         selinux-at: remove redundant m4 code, add documentation
4860         * modules/selinux-at (configure.ac): Remove redundant code.
4861         LIB_SELINUX is already set via the dependent module, selinux-h.
4862         (Include): Add quotes around selinux-at.h.
4863         * lib/selinux-at.h: Add documentation.
4864         Reported by Bruno Haible in
4865         http://marc.info/?l=gnulib-bug&m=124958988300749
4866
4867 2009-08-07  Bruno Haible  <bruno@clisp.org>
4868
4869         Avoid link error on MacOS X 10.3 and 10.4.
4870         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
4871         on non-ELF systems.
4872         * lib/argp-pv.c (argp_program_version): Likewise.
4873         Reported by Simon Josefsson.
4874
4875 2009-08-07  Simon Josefsson  <simon@josefsson.org>
4876
4877         * tests/test-version-etc.sh: Use $EXEEXT.
4878
4879 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
4880
4881         update-copyright: update documentation to point to maint.mk
4882         * build-aux/update-copyright: Here.
4883
4884 2009-08-06  Jim Meyering  <meyering@redhat.com>
4885
4886         maint.mk: support update-copyright-local
4887         * top/maint.mk (update-copyright-local): Define place-holder.
4888         (update-copyright): Depend on $(update-copyright-local).
4889
4890 2009-08-06  Jim Meyering  <meyering@redhat.com>
4891
4892         selinux-at: new module
4893         Initially written for coreutils, this module will soon be
4894         used by findutils, too.
4895         * MODULES.html.sh [Misc]: Add selinux-at.
4896         * lib/selinux-at.h: New file, from coreutils.
4897         * lib/selinux-at.c: Likewise.
4898         * modules/selinux-at: Likewise.
4899         (License): Change from LGPL to GPL, since it depends
4900         on the GPL'd openat module.
4901
4902         doc: update README
4903         * README: Remove references to cogito.
4904         Remove cvs-repo-updating instructions from 2007.
4905         Don't imply that CVS is better if you have limited disk space.
4906
4907 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4908
4909         update-copyright: support C-style comments
4910         * build-aux/update-copyright: Implement and document.
4911         * tests/test-update-copyright.sh: Test.
4912
4913 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4914
4915         update-copyright: support omitted "(C)"
4916         * build-aux/update-copyright: Implement and document.  Also,
4917         allow variable whitespace before "(C)".
4918         * tests/test-update-copyright.sh: Test.
4919
4920 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4921
4922         update-copyright: don't trip on non-FSF copyright statements
4923         * build-aux/update-copyright: Fix so that the first correctly
4924         formatted FSF copyright statement is recognized no matter what
4925         appears before it.  Update documentation.
4926         * tests/test-update-copyright.sh: Test that.
4927
4928 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4929
4930         update-copyright: clean up code a little
4931         * build-aux/update-copyright: Append "_re" to the name of any
4932         variable holding a regular expression.
4933         Replace "old" and "new" with "stmt" in variable names.
4934         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
4935         handled correctly.
4936         Format code more consistently.
4937
4938 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
4939
4940         update-copyright-tests: improve portability
4941         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
4942         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
4943
4944 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
4945
4946         update-copyright: support @copyright{} and &copy;
4947         * build-aux/update-copyright: Implement and document.
4948         * tests/test-update-copyright.sh: Test.
4949
4950 2009-08-04  Jim Meyering  <meyering@redhat.com>
4951
4952         update-copyright-tests: correctly test EOL=\r\n handling
4953         * tests/test-update-copyright.sh: Put \r at the end of some lines
4954         for the dos-eol tests.  Based on a patch by Joel E. Denny.
4955
4956         maint.mk: make update-copyright exclusion list more configurable
4957         * top/maint.mk (update-copyright): Default to excluding COPYING,
4958         but allow an override, in case someone does want to update that file.
4959
4960         maint.mk: don't update copyright date in COPYING
4961         * top/maint.mk (update-copyright): Exclude COPYING.
4962
4963         maint.mk: add a copyright-updating rule
4964         * top/maint.mk (update-copyright): New rule.
4965         Derived from coreutils/Makefile.am.
4966
4967         update-copyright: rename some variables
4968         * build-aux/update-copyright: Rename a few variables for clarity.
4969         Tweak syntax.  List Joel E. Denny as coauthor.
4970
4971 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
4972
4973         update-copyright: fix bug for 2-digit last year and add tests
4974         * build-aux/update-copyright: Fix bug.
4975         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
4976         specified.
4977         * modules/update-copyright-tests: New
4978         * tests/test-update-copyright.sh: New.
4979
4980 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4981
4982         update-copyright: handle leading tabs in line prefix
4983         * build-aux/update-copyright: Count leading tabs as 8 spaces
4984         when computing margin.  This helps with the formatting of
4985         ChangeLogs, for example.
4986         Fix documentation a little.
4987
4988 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4989
4990         update-copyright: support EOL=\r\n
4991         * build-aux/update-copyright: Implement that.
4992
4993 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
4994
4995         update-copyright: automatically format copyright statements
4996         * build-aux/update-copyright: Implement that.
4997         Also, be a little more predictable and safer by always failing
4998         when the full copyright format is not perfectly recognized as an
4999         unbroken whole.  Discussed at
5000         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
5001         Rewrite documentation.
5002
5003 2009-08-03  Bruno Haible  <bruno@clisp.org>
5004
5005         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
5006
5007 2009-08-02  Bruno Haible  <bruno@clisp.org>
5008
5009         Tests for module 'uname'.
5010         * modules/uname-tests: New file.
5011         * tests/test-uname.c: New file.
5012
5013         New module 'uname'.
5014         * lib/uname.c: New file.
5015         * m4/uname.m4: New file.
5016         * modules/uname: New file.
5017         * doc/posix-functions/uname.texi: Mention the new module.
5018
5019 2009-08-02  Bruno Haible  <bruno@clisp.org>
5020
5021         Tests for module 'sys_utsname'.
5022         * modules/sys_utsname-tests: New file.
5023         * tests/test-sys_utsname.c: New file.
5024
5025         New module 'sys_utsname'.
5026         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
5027         * m4/sys_utsname_h.m4: New file.
5028         * modules/sys_utsname: New file.
5029         * doc/posix-headers/sys_utsname.texi: Mention the new module.
5030
5031 2009-08-02  Bruno Haible  <bruno@clisp.org>
5032
5033         Implicitly initialize the sockets library.
5034         * lib/gethostname.c: Include sockets.h.
5035         (rpl_gethostname): Invoke gl_sockets_startup.
5036         * lib/socket.c: Include sockets.h.
5037         (rpl_socket): Invoke gl_sockets_startup.
5038         * modules/gethostname (Depends-on): Add sockets.
5039         * modules/socket (Depends-on): Likewise.
5040         * tests/test-poll.c: Don't include sockets.h.
5041         (main): Don't invoke gl_sockets_startup.
5042         * tests/test-select.c: Don't include sockets.h.
5043         (main): Don't invoke gl_sockets_startup.
5044
5045 2009-08-02  Bruno Haible  <bruno@clisp.org>
5046
5047         Allow multiple calls to gl_sockets_startup.
5048         * lib/sockets.c (initialized_sockets_version): New variable.
5049         (gl_sockets_startup): Do nothing if already called for this or a higher
5050         version.
5051         (gl_sockets_cleanup): Reset initialized_sockets_version.
5052
5053 2009-08-03  Simon Josefsson  <simon@josefsson.org>
5054
5055         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
5056         different project/version.
5057
5058 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
5059             Bruno Haible  <bruno@clisp.org>
5060
5061         Tests for module 'pipe-filter-gi'.
5062         * modules/pipe-filter-gi-tests: New file.
5063         * tests/test-pipe-filter-gi1.sh: New file.
5064         * tests/test-pipe-filter-gi1.c: New file.
5065         * tests/test-pipe-filter-gi2.sh: New file.
5066         * tests/test-pipe-filter-gi2-main.c: New file.
5067         * tests/test-pipe-filter-gi2-child.c: New file.
5068
5069         New module 'pipe-filter-gi'.
5070         * lib/pipe-filter-gi.c: New file.
5071         * modules/pipe-filter-gi: New file.
5072
5073 2009-08-02  Bruno Haible  <bruno@clisp.org>
5074             Paolo Bonzini  <bonzini@gnu.org>
5075
5076         Tests for module 'pipe-filter-ii'.
5077         * modules/pipe-filter-ii-tests: New file.
5078         * tests/test-pipe-filter-ii1.sh: New file.
5079         * tests/test-pipe-filter-ii1.c: New file.
5080         * tests/test-pipe-filter-ii2.sh: New file.
5081         * tests/test-pipe-filter-ii2-main.c: New file.
5082         * tests/test-pipe-filter-ii2-child.c: New file.
5083
5084         New module 'pipe-filter-ii'.
5085         * lib/pipe-filter.h: New file.
5086         * lib/pipe-filter-ii.c: New file.
5087         * lib/pipe-filter-aux.h: New file.
5088         * modules/pipe-filter-ii: New file.
5089
5090 2009-08-02  Simon Josefsson  <simon@josefsson.org>
5091
5092         * lib/gc-libgcrypt.c: Change copyright to FSF.
5093         * lib/gc-gnulib.c: Likewise.
5094
5095 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
5096
5097         * lib/gethostname.c: Include limits.h.
5098
5099 2009-08-02  Simon Josefsson  <simon@josefsson.org>
5100             Bruno Haible  <bruno@clisp.org>
5101
5102         Ensure HOST_NAME_MAX as part of the gethostname module.
5103         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
5104         define also HOST_NAME_MAX.
5105         * tests/test-gethostname.c: Include <limits.h>.
5106         (main): Check also HOST_NAME_MAX.
5107         * doc/posix-headers/limits.texi: Document the mingw problem.
5108
5109 2009-08-02  Bruno Haible  <bruno@clisp.org>
5110
5111         * lib/gethostname.c (gethostname): Fix handling of large len argument.
5112         Add comments.
5113
5114 2009-03-31  Simon Josefsson  <simon@josefsson.org>
5115
5116         * lib/gethostname.c: Add Windows wrapper.
5117         * m4/gethostname.m4: Look for gethostname in -lws2_32.
5118         * modules/gethostname: Depend on sys_socket & errno, for also
5119         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
5120         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
5121
5122 2009-07-31  Jim Meyering  <meyering@redhat.com>
5123
5124         getloadavg: fix symbol name in comment
5125         * lib/getloadavg.c: Correct a typo I introduced when adding
5126         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
5127         Matt Kraai spotted the problem.
5128
5129 2009-07-29  Matt Kraai  <mkraai@beckman.com>
5130
5131         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
5132         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
5133         code also if ! defined N_NAME_POINTER.
5134         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
5135         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
5136         but the n_name member is a 12-byte array.
5137
5138 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
5139
5140         update-copyright: generalize comment handling
5141         * build-aux/update-copyright: Handle copyright statements
5142         within more comment styles.
5143         Document usage.
5144         Report any file with an external copyright holder or parse failure.
5145
5146 2009-07-29  Jim Meyering  <meyering@redhat.com>
5147
5148         mktime: correct setting of REPLACE_MKTIME
5149         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
5150
5151         update-copyright: new module
5152         * modules/update-copyright: New file.
5153         * build-aux/update-copyright: New file.
5154         * MODULES.html.sh (maint+release support): Add update-copyright.
5155
5156 2009-07-27  Bruno Haible  <bruno@clisp.org>
5157
5158         Fix compilation error when <ctime> is used and mktime is replaced.
5159         * lib/time.in.h (mktime): New declaration.
5160         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
5161         REPLACE_MKTIME instead of defining mktime in config.h.
5162         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
5163         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
5164         Reported by Ross McFarland <rwmcfa1@neces.com>.
5165
5166 2009-07-27  Bruno Haible  <bruno@clisp.org>
5167
5168         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
5169         Reported by Matt Kraai <mkraai@beckman.com>.
5170
5171 2009-07-25  Jim Meyering  <meyering@redhat.com>
5172
5173         maint.mk: avoid warnings about missing files
5174         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
5175         diagnostic when .prev-version does not exist.
5176         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
5177         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
5178         nonexistent cfg.mk.
5179         Suggestions from Simon Josefsson.
5180
5181 2009-07-25  Bruno Haible  <bruno@clisp.org>
5182
5183         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
5184         defined as macros. Needed on QNX 6.4.1.
5185         Reported by Matt Kraai <mkraai@beckman.com>.
5186
5187 2009-07-23  Jim Meyering  <meyering@redhat.com>
5188
5189         maint.mk: invoke "make dist" with a working value of XZ_OPT
5190         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
5191
5192 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
5193
5194         Make fseeko.c compile on QNX.
5195         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
5196
5197 2009-07-22  Peter Simons  <simons@cryp.to>
5198
5199         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
5200         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
5201         * lib/md4.h: Likewise.
5202         * lib/md5.h: Likewise.
5203         * lib/sha1.h: Likewise.
5204         * lib/sha256.h: Likewise.
5205         * lib/sha512.h: Likewise.
5206
5207         tests-sha1: don't assign literal string to 'char *' variable
5208         * tests/test-sha1.c (main): Declare locals with "const" to match
5209         attributes of the right hand side.
5210
5211 2009-07-21  Eric Blake  <ebb9@byu.net>
5212
5213         dup2: fix more mingw problems
5214         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
5215         fd to itself.
5216         * doc/posix-functions/dup2.texi (dup2): Document the bug.
5217         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
5218         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
5219         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
5220         care of mingw bugs.
5221
5222 2009-07-21  Jim Meyering  <meyering@redhat.com>
5223
5224         vc-list-files: avoid failure when /bin/sh is dash
5225         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
5226         On some Debian based systems, /bin/sh is a symlink to dash, and running
5227         this command would omit the "/" following each 'tests' prefix:
5228           dash -x build-aux/vc-list-files -C . tests
5229         That is because bash and dash work differently:
5230           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
5231           bash ok
5232           dash odd
5233
5234 2009-07-21  Eric Blake  <ebb9@byu.net>
5235
5236         dup2-tests: test previous patch
5237         * modules/dup2-tests: New file.
5238         * tests/test-dup2.c: Likewise.
5239         * tests/test-open.c (main): Avoid unspecified behavior.
5240         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
5241         test.
5242
5243         dup2: work around mingw and cygwin 1.5 bug
5244         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
5245         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
5246         * modules/unistd (Makefile.am): Substitute it.
5247         * lib/unistd.in.h (dup2): Declare the replacement.
5248         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
5249         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
5250         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
5251         * modules/execute (Depends-on): Add dup2.
5252         * modules/fseterr (Depends-on): Likewise.
5253         * modules/pipe (Depends-on): Likewise.
5254         * modules/posix_spawn-internal (Depends-on): Likewise.
5255
5256 2009-07-21  Bruno Haible  <bruno@clisp.org>
5257
5258         * modules/.gitattributes: New file.
5259
5260 2009-07-20  Bruno Haible  <bruno@clisp.org>
5261
5262         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
5263         (main): Use it.
5264
5265 2009-07-20  Eric Blake  <ebb9@byu.net>
5266
5267         test-pipe: make a bit more robust.
5268         * tests/test-pipe.c (myerr): Allow error messages regardless of
5269         what we do to stderr.
5270         (test_pipe): Rearrange to avoid deadlock.
5271         (child_main): Try a larger read, to ensure we avoided deadlock.
5272         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
5273         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
5274         if misused.
5275
5276 2009-07-19  Jim Meyering  <meyering@redhat.com>
5277
5278         fts: avoid false-positive cycle-detection
5279         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
5280         for each new command line argument.
5281
5282 2009-07-19  Bruno Haible  <bruno@clisp.org>
5283
5284         Fix build error on mingw with the modules sys_select and unistd.
5285         * modules/acl-tests (Depends-on): Add close.
5286         * modules/binary-io-tests (Depends-on): Likewise.
5287         * modules/closein-tests (Depends-on): Likewise.
5288         * modules/flock-tests (Depends-on): Likewise.
5289         * modules/fsync-tests (Depends-on): Likewise.
5290         * modules/lseek-tests (Depends-on): Likewise.
5291         * modules/pipe-tests (Depends-on): Likewise.
5292         * modules/posix_spawn-tests (Depends-on): Likewise.
5293         * modules/posix_spawnp-tests (Depends-on): Likewise.
5294         * modules/stat-time-tests (Depends-on): Likewise.
5295         * modules/yesno-tests (Depends-on): Likewise.
5296
5297 2009-07-19  Bruno Haible  <bruno@clisp.org>
5298
5299         Unify conditionals.
5300         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
5301         macros, not at the compiler macros.
5302         * lib/pipe.c: Likewise.
5303         * lib/execute.c: Likewise.
5304         * lib/spawni.c: Likewise.
5305
5306 2009-07-19  Bruno Haible  <bruno@clisp.org>
5307
5308         Fix handling of closed stdin/stdout/stderr on mingw.
5309         * lib/w32spawn.h: Include unistd.h.
5310         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
5311         file descriptor with O_NOINHERIT flag.
5312         (fd_safer_noinherit): New function, based on fd-safer.c.
5313         (dup_safer_noinherit): New function, based on dup-safer.c.
5314         (undup_safer_noinherit): New function.
5315         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
5316         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
5317         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
5318         instead of fd_safer.
5319         * tests/test-pipe.c: Include <windows.h>.
5320         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
5321
5322         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
5323         from main.
5324         (test_pipe): Pass an extra argument for disambiguation.
5325         (main): Invoke parent_main or child_main.
5326
5327         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
5328         consistently.
5329
5330 2009-07-18  Eric Blake  <ebb9@byu.net>
5331
5332         test-pipe: fix mingw build
5333         * tests/test-pipe.c (main): Avoid fcntl on mingw.
5334
5335 2009-07-18  Bruno Haible  <bruno@clisp.org>
5336
5337         * modules/pipe-tests (Makefile.am): Fix typo.
5338
5339 2009-07-18  Eric Blake  <ebb9@byu.net>
5340
5341         error: fix mingw build
5342         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
5343         Reported by Bruno Haible.
5344
5345         error: avoid undefined use of stdout
5346         * lib/error.c (error, error_at_line): Check that fd 1 is open
5347         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
5348         is handling faults and the close_stdout module wants to report the
5349         detection of closed stdout as an error.
5350
5351 2009-07-17  Eric Blake  <ebb9@byu.net>
5352
5353         pipe: be robust in face of closed fds
5354         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
5355         should cause child to misbehave.
5356         * modules/pipe-tests: New module.
5357         * tests/test-pipe.c: New file.
5358         * tests/test-pipe.sh: New file.
5359         Reported by Akim Demaille.
5360
5361 2009-07-14  Bruno Haible  <bruno@clisp.org>
5362
5363         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
5364         Reported by anonymous kc.
5365
5366 2009-07-07  Jim Meyering  <meyering@redhat.com>
5367
5368         maint.mk: don't look for translatable strings in *.m4 or *.mk
5369         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
5370         when searching for translatable strings.
5371
5372 2009-07-05  Jim Meyering  <meyering@redhat.com>
5373
5374         remove superfluous parentheses in STREQ definition
5375         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
5376         * lib/getugroups.c (STREQ): Likewise.
5377         * lib/fnmatch.c (STREQ): Likewise.
5378         Spotted by Bruno Haible.
5379
5380 2009-07-04  Jim Meyering  <meyering@redhat.com>
5381
5382         argv-iter: new module
5383         * MODULES.html.sh: Add argv-iter.
5384         * lib/argv-iter.c, lib/argv-iter.h: New files.
5385         * modules/argv-iter: New file.
5386         * modules/argv-iter-tests: New file.
5387         * tests/test-argv-iter.c: Test it.
5388
5389 2009-07-04  Bruno Haible  <bruno@clisp.org>
5390
5391         Fix assertion.
5392         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
5393         contains more exact copies of a given entry than file2, leave the extra
5394         copies unpaired rather than aborting.
5395         Reported by Eric Blake.
5396
5397 2009-07-02  Bruno Haible  <bruno@clisp.org>
5398
5399         Speedup git-merge-changelog for git cherry-pick.
5400         * lib/git-merge-changelog.c (struct entries_mapping): New type.
5401         (entries_mapping_get): New function, extracted from compute_mapping.
5402         (entries_mapping_reverse_get): New function.
5403         (compute_mapping): Add a 'full' argument. Return the result in a
5404         'struct entries_mapping'.
5405         (main): Update. Access the mappings through entries_mapping_get.
5406         Reported by Eric Blake.
5407
5408 2009-07-02  Bruno Haible  <bruno@clisp.org>
5409
5410         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
5411         best_i.
5412
5413 2009-07-02  Bruno Haible  <bruno@clisp.org>
5414
5415         Speed up approximate search for matching ChangeLog entries.
5416         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
5417         argument. Call fstrcmp_bounded instead of fstrcmp.
5418         (compute_mapping, try_split_merged_entry, main): Update callers.
5419
5420 2009-07-02  Bruno Haible  <bruno@clisp.org>
5421
5422         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
5423
5424 2009-06-30  Bruno Haible  <bruno@clisp.org>
5425
5426         Reduce the number of uc_is_cased calls.
5427         * lib/unicase.h (casing_suffix_context_t): Add
5428         'first_char_except_ignorable' field.
5429         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
5430         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
5431         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
5432         Update initializer.
5433         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
5434         case-ignorable characters.
5435         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
5436         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
5437         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
5438         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
5439         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
5440
5441 2009-06-30  Bruno Haible  <bruno@clisp.org>
5442
5443         Tests for module 'unicase/ignorable'.
5444         * modules/unicase/ignorable-tests: New file.
5445         * tests/unicase/test-ignorable.c: New file, generated by
5446         gen-uni-tables.
5447
5448         Tests for module 'unicase/cased'.
5449         * modules/unicase/cased-tests: New file.
5450         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
5451         * tests/unicase/test-predicate-part1.h: New file, derived from
5452         tests/unictype/test-predicate-part1.h.
5453         * tests/unicase/test-predicate-part2.h: New file, same as
5454         tests/unictype/test-predicate-part2.h.
5455
5456         Fix evaluation of "Before C" condition of FINAL_SIGMA.
5457         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
5458         (output_casing_properties): New function.
5459         (main): Call it.
5460         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
5461         * lib/unicase/cased.c: Include unictype/bitmap.h.
5462         (uc_is_cased): Define through a bitmap lookup.
5463         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
5464         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
5465         (uc_is_case_ignorable): Define through a bitmap lookup.
5466         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
5467         lib/unictype/bitmap.h.
5468         (Depends-on): Add inline. Clean up.
5469         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
5470         lib/unictype/bitmap.h.
5471         (Depends-on): Add inline. Clean up.
5472         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
5473         recognition.
5474         * tests/unicase/test-u16-tolower.c (main): Likewise.
5475         * tests/unicase/test-u32-tolower.c (main): Likewise.
5476
5477 2009-06-30  Bruno Haible  <bruno@clisp.org>
5478
5479         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
5480         * lib/unicase/u16-casemap.c: Likewise.
5481         * lib/unicase/u32-casemap.c: Likewise.
5482
5483 2009-06-29  Bruno Haible  <bruno@clisp.org>
5484
5485         Define u32_casefold as a wrapper around u32_ct_casefold.
5486         * lib/unicase/u32-casefold.c: Update.
5487         * modules/unicase/u32-casefold (Depends-on): Add
5488         unicase/u32-ct-casefold, unicase/empty-prefix-context,
5489         unicase/empty-suffix-context. Clean up.
5490
5491         Define u16_casefold as a wrapper around u16_ct_casefold.
5492         * lib/unicase/u16-casefold.c: Update.
5493         * modules/unicase/u16-casefold (Depends-on): Add
5494         unicase/u16-ct-casefold, unicase/empty-prefix-context,
5495         unicase/empty-suffix-context. Clean up.
5496
5497         Define u8_casefold as a wrapper around u8_ct_casefold.
5498         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
5499         * lib/unicase/u8-casefold.c: Update.
5500         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
5501         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
5502
5503         Define u32_totitle as a wrapper around u32_ct_totitle.
5504         * lib/unicase/u32-totitle.c: Update.
5505         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
5506         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
5507
5508         Define u16_totitle as a wrapper around u16_ct_totitle.
5509         * lib/unicase/u16-totitle.c: Update.
5510         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
5511         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
5512
5513         Define u8_totitle as a wrapper around u8_ct_totitle.
5514         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
5515         functions.
5516         (FUNC): Delegate to U_CT_TOTITLE.
5517         * lib/unicase/u8-totitle.c: Update.
5518         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
5519         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
5520
5521         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
5522         invocation.
5523         * modules/unicase/u32-tolower (Depends-on): Add
5524         unicase/empty-prefix-context, unicase/empty-suffix-context.
5525
5526         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
5527         invocation.
5528         * modules/unicase/u16-tolower (Depends-on): Add
5529         unicase/empty-prefix-context, unicase/empty-suffix-context.
5530
5531         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
5532         * modules/unicase/u8-tolower (Depends-on): Add
5533         unicase/empty-prefix-context, unicase/empty-suffix-context.
5534
5535         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
5536         invocation.
5537         * modules/unicase/u32-toupper (Depends-on): Add
5538         unicase/empty-prefix-context, unicase/empty-suffix-context.
5539
5540         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
5541         invocation.
5542         * modules/unicase/u16-toupper (Depends-on): Add
5543         unicase/empty-prefix-context, unicase/empty-suffix-context.
5544
5545         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
5546         * modules/unicase/u8-toupper (Depends-on): Add
5547         unicase/empty-prefix-context, unicase/empty-suffix-context.
5548
5549         New module 'unicase/u32-ct-casefold'.
5550         * lib/unicase/u32-ct-casefold.c: New file.
5551         * modules/unicase/u32-ct-casefold: New file.
5552
5553         New module 'unicase/u16-ct-casefold'.
5554         * lib/unicase/u16-ct-casefold.c: New file.
5555         * modules/unicase/u16-ct-casefold: New file.
5556
5557         New module 'unicase/u8-ct-casefold'.
5558         * lib/unicase/u8-ct-casefold.c: New file.
5559         * lib/unicase/u-ct-casefold.h: New file, derived from
5560         lib/unicase/u-casefold.h.
5561         * modules/unicase/u8-ct-casefold: New file.
5562
5563         New module 'unicase/u32-ct-totitle'.
5564         * lib/unicase/u32-ct-totitle.c: New file.
5565         * modules/unicase/u32-ct-totitle: New file.
5566
5567         New module 'unicase/u16-ct-totitle'.
5568         * lib/unicase/u16-ct-totitle.c: New file.
5569         * modules/unicase/u16-ct-totitle: New file.
5570
5571         New module 'unicase/u8-ct-totitle'.
5572         * lib/unicase/u8-ct-totitle.c: New file.
5573         * lib/unicase/u-ct-totitle.h: New file, derived from
5574         lib/unicase/u-totitle.h.
5575         * modules/unicase/u8-ct-totitle: New file.
5576
5577         New module 'unicase/u32-ct-tolower'.
5578         * lib/unicase/u32-ct-tolower.c: New file.
5579         * modules/unicase/u32-ct-tolower: New file.
5580
5581         New module 'unicase/u16-ct-tolower'.
5582         * lib/unicase/u16-ct-tolower.c: New file.
5583         * modules/unicase/u16-ct-tolower: New file.
5584
5585         New module 'unicase/u8-ct-tolower'.
5586         * lib/unicase/u8-ct-tolower.c: New file.
5587         * modules/unicase/u8-ct-tolower: New file.
5588
5589         New module 'unicase/u32-ct-toupper'.
5590         * lib/unicase/u32-ct-toupper.c: New file.
5591         * modules/unicase/u32-ct-toupper: New file.
5592
5593         New module 'unicase/u16-ct-toupper'.
5594         * lib/unicase/u16-ct-toupper.c: New file.
5595         * modules/unicase/u16-ct-toupper: New file.
5596
5597         New module 'unicase/u8-ct-toupper'.
5598         * lib/unicase/u8-ct-toupper.c: New file.
5599         * modules/unicase/u8-ct-toupper: New file.
5600
5601         Add context arguments to u*_casemap functions.
5602         * lib/unicase/unicasemap.h: Include unicase.h.
5603         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
5604         suffix_context arguments.
5605         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
5606         functions.
5607         (FUNC): Add prefix_context and suffix_context arguments. Use
5608         uc_is_cased and uc_is_case_ignorable.
5609         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
5610         * lib/unicase/u16-casemap.c: Likewise.
5611         * lib/unicase/u32-casemap.c: Likewise.
5612         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
5613         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
5614         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
5615         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
5616         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
5617         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
5618
5619         New module 'unicase/u32-suffix-context'.
5620         * lib/unicase/u32-suffix-context.c: New file.
5621         * modules/unicase/u32-suffix-context: New file.
5622
5623         New module 'unicase/u16-suffix-context'.
5624         * lib/unicase/u16-suffix-context.c: New file.
5625         * modules/unicase/u16-suffix-context: New file.
5626
5627         New module 'unicase/u8-suffix-context'.
5628         * lib/unicase/u8-suffix-context.c: New file.
5629         * lib/unicase/u-suffix-context.h: New file.
5630         * modules/unicase/u8-suffix-context: New file.
5631
5632         New module 'unicase/empty-suffix-context'.
5633         * lib/unicase/empty-suffix-context.c: New file.
5634         * modules/unicase/empty-suffix-context: New file.
5635
5636         New module 'unicase/u32-prefix-context'.
5637         * lib/unicase/u32-prefix-context.c: New file.
5638         * modules/unicase/u32-prefix-context: New file.
5639
5640         New module 'unicase/u16-prefix-context'.
5641         * lib/unicase/u16-prefix-context.c: New file.
5642         * modules/unicase/u16-prefix-context: New file.
5643
5644         New module 'unicase/u8-prefix-context'.
5645         * lib/unicase/u8-prefix-context.c: New file.
5646         * lib/unicase/u-prefix-context.h: New file.
5647         * lib/unicase/context.h: New file.
5648         * modules/unicase/u8-prefix-context: New file.
5649
5650         New module 'unicase/empty-prefix-context'.
5651         * lib/unicase/empty-prefix-context.c: New file.
5652         * modules/unicase/empty-prefix-context: New file.
5653
5654         New module 'unicase/ignorable'.
5655         * lib/unicase/ignorable.c: New file.
5656         * modules/unicase/ignorable: New file.
5657
5658         New module 'unicase/cased'.
5659         * lib/unicase/caseprop.h: New file.
5660         * lib/unicase/cased.c: New file.
5661         * modules/unicase/cased: New file.
5662
5663         New functions for case mapping of substrings.
5664         * lib/unicase.h (casing_prefix_context_t): New type.
5665         (unicase_empty_prefix_context): New variable.
5666         (u8_casing_prefix_context, u16_casing_prefix_context,
5667         u32_casing_prefix_context, u8_casing_prefixes_context,
5668         u16_casing_prefixes_context, u32_casing_prefixes_context): New
5669         declarations.
5670         (casing_suffix_context_t): New type.
5671         (unicase_empty_suffix_context): New variable.
5672         (u8_casing_suffix_context, u16_casing_suffix_context,
5673         u32_casing_suffix_context, u8_casing_suffixes_context,
5674         u16_casing_suffixes_context, u32_casing_suffixes_context,
5675         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
5676         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
5677         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
5678         declarations.
5679
5680 2009-06-28  Jim Meyering  <meyering@redhat.com>
5681
5682         boostrap: indent only with spaces
5683         * build-aux/bootstrap: Indent only with spaces, never TABs.
5684
5685         bootstrap: split long lines
5686         * build-aux/bootstrap: Keep line length < 80.
5687
5688         bootstrap: sync from coreutils
5689         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
5690         just as autoreconf does.  Verify a list of prerequisite
5691         package-name,version-number pairs if defined in bootstrap.conf.
5692         Refer to README-prereq, if prerequisites are not satisfied.
5693
5694 2009-06-27  Eric Blake  <ebb9@byu.net>
5695
5696         tests: add test for bogus NULL definition
5697         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
5698         * tests/test-stdlib.c: Likewise.
5699         * tests/test-string.c: Likewise.
5700         * tests/test-locale.c: Likewise.
5701         * tests/test-unistd.c: Likewise.
5702         * modules/stdio-tests (Depends-on): Add verify.
5703         * modules/stdlib-tests (Depends-on): Likewise.
5704         * modules/string-tests (Depends-on): Likewise.
5705         * modules/locale-tests (Depends-on): Likewise.
5706         * modules/unistd-tests (Depends-on): Likewise.
5707
5708 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
5709
5710         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
5711         self-explaining comment.
5712         * m4/selinux-selinux-h: Update serial.
5713         (gl_LIBSELINUX): New macro, adding a warning for missing development
5714         packages to code extracted from...
5715         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
5716         Add warning for missing development packages here, too.
5717
5718 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
5719
5720         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
5721
5722 2009-06-25  Eric Blake  <ebb9@byu.net>
5723
5724         version-etc: fix regression
5725         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
5726         gcc.
5727         (version_etc): Use it, to catch bugs with trailing NULL.
5728         * lib/version-etc.c (version_etc_arn): Delete unused argument.
5729         (version_etc_va): Fix logic bug.
5730         * modules/version-etc-tests: Add test.
5731         * tests/test-version-etc.c: New file.
5732         * tests/test-version-etc.sh: Likewise.
5733
5734 2009-06-25  Sam Steingold  <sds@gnu.org>
5735
5736         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
5737         mbtowc declaration.
5738
5739 2009-06-25  Eric Blake  <ebb9@byu.net>
5740
5741         fpurge: migrate into <stdio.h>
5742         * lib/fpurge.h: Delete...
5743         * lib/stdio.in.h (fpurge): ...and declare here, instead.
5744         * lib/fpurge.c (fpurge): Change declaring header.
5745         * modules/fpurge (Files): Drop deleted file.
5746         (Depends-on): Add stdio.
5747         (configure.ac): Set witness.
5748         * modules/stdio (Makefile.am): Support fpurge macros.
5749         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
5750         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
5751         * lib/fflush.c: Update client.
5752         * tests/test-fpurge.c: Likewise.
5753         * NEWS: Mention the change.
5754
5755 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5756
5757         * lib/argp-version-etc.c (program_authors): Add const
5758         qualifier.
5759         * lib/version-etc.c: Fix typos in the comments.
5760         * modules/argp-version-etc: Depends on version-etc.
5761
5762 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5763
5764         argp-version-etc: new module.
5765
5766         * lib/argp-version-etc.c: New file.
5767         * lib/argp-version-etc.h: New file.
5768         * modules/argp-version-etc: New file.
5769         * modules/argp-version-etc-tests: New file.
5770         * tests/test-argp-version-etc.c: New test.
5771         * tests/test-argp-version-etc-1.sh: New test.
5772
5773 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
5774
5775         Provide additional interfaces and documentation for version-etc
5776         module.
5777
5778         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
5779         interfaces.
5780         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
5781         prototypes.
5782
5783 2009-06-24  Bruno Haible  <bruno@clisp.org>
5784
5785         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
5786         HAVE_LIB${NAME} macro.
5787         Reported by Sam Steingold <sds@gnu.org>.
5788
5789 2009-06-23  Simon Josefsson  <simon@josefsson.org>
5790
5791         * modules/hash-tests (test_hash_LDADD): Link to libintl when
5792         needed.
5793
5794 2009-06-21  Bruno Haible  <bruno@clisp.org>
5795
5796         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
5797         work.
5798         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
5799         together with LIB${NAME}, LTLIB${NAME}.
5800         Reported by Sam Steingold <sds@gnu.org>.
5801
5802 2009-06-20  Jim Meyering  <meyering@redhat.com>
5803
5804         tests: make sc_require_test_exit_idiom more generic
5805         * top/maint.mk (Exit_witness_file): New overridable variable.
5806         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
5807         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
5808
5809 2009-06-19  Jim Meyering  <meyering@redhat.com>
5810
5811         hash: reverse order of src/dst parameters in an internal interface
5812         * lib/hash.c (transfer_entries): Reverse order of parameters to
5813         put DST before SRC.  Adjust callers.
5814
5815         tests: test-hash: avoid wholesale duplication
5816         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
5817         Instead, use a loop and add a single conditional.
5818
5819         tests: test-hash: allow seed selection via a command line argument
5820         * tests/test-hash.c (get_seed): New function.
5821         (main): Use it.
5822
5823 2009-06-19  Eric Blake  <ebb9@byu.net>
5824
5825         hash: avoid memory leak on allocation failure
5826         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
5827         failure.  Factor repeated algorithm...
5828         (transfer_entries): ...into new helper routine.
5829         (hash_delete): React to hash_rehash return value.
5830
5831         hash: reduce memory pressure in hash_rehash no-op case
5832         * lib/hash.c (next_prime): Avoid overflow.
5833         (hash_initialize): Factor bucket size computation...
5834         (compute_bucket_size): ...into new helper function.
5835         (hash_rehash): Use new function and open coding to reduce memory
5836         pressure, and avoid a memory leak in USE_OBSTACK code.
5837         Reported by Jim Meyering.
5838
5839 2009-06-18  Eric Blake  <ebb9@byu.net>
5840
5841         hash: make rotation more obvious
5842         * modules/hash (Depends-on): Add bitrotate and stdint.
5843         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
5844         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
5845         (SIZE_MAX): Rely on headers for definition.
5846         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
5847         (raw_hasher): Use rotr_sz.
5848         Suggested by Jim Meyering.
5849
5850         hash: fix memory leak in last patch
5851         * lib/hash.c (hash_rehash): Avoid memory leak.
5852
5853         hash: avoid no-op rehashing
5854         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
5855
5856         hash: provide default callback functions
5857         * lib/hash.c (raw_hasher, raw_comparator): New functions.
5858         (hash_initialize): Use them as defaults.
5859         * tests/test-hash.c (main): Test this.
5860
5861         hash: minor optimization
5862         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
5863         when possible.
5864         (hash_initialize): Document this promise.
5865         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
5866         * tests/test-hash.c (hash_compare_strings): Test this.
5867
5868 2009-06-18  Bruno Haible  <bruno@clisp.org>
5869
5870         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
5871         going to be replaced anyway.
5872
5873 2009-06-18  Bruno Haible  <bruno@clisp.org>
5874
5875         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
5876         in one place.
5877         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
5878         be replaced anyway.
5879
5880 2009-06-18  Eric Blake  <ebb9@byu.net>
5881
5882         hash: check for resize before insertion
5883         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
5884         threshold before insertion, so that a pathological hash_rehash
5885         that fills every bucket can still trigger another rehash.
5886
5887 2009-06-18  Jim Meyering  <meyering@redhat.com>
5888
5889         hash-tests: add a loop around the small tests
5890         * tests/test-hash.c (main): Repeat small tests with selected
5891         small initial table sizes.
5892
5893 2009-06-17  Eric Blake  <ebb9@byu.net>
5894
5895         hash: minor cleanups
5896         * lib/hash.h (hash_entry): Make opaque, by moving...
5897         * lib/hash.c (hash_entry): ...here.
5898         (hash_insert): Clarify restrictions on what can be inserted.
5899         (hash_get_next): Clarify when it is safe to remove an element
5900         during traversal.
5901         (check_tuning): Skip verification when tuning is known safe.
5902         (hash_initialize): Clarify restrictions on tuning.
5903
5904 2009-06-17  Jim Meyering  <jim@meyering.net>
5905         and Eric Blake  <ebb9@byu.net>
5906
5907         hash-tests: new module
5908         * modules/hash-tests: New file.
5909         * tests/test-hash.c: New file.
5910
5911 2009-06-17  Eric Blake  <ebb9@byu.net>
5912
5913         strstr-simple: document new module
5914         * MODULES.html.sh: Document new module.
5915
5916         strstr, strcasestr: replace on platforms with broken memchr
5917         * modules/strstr: Split into...
5918         * modules/strstr-simple: ...new module that does not care about
5919         performance, but does care about glibc bug.
5920         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
5921         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
5922         if platform memchr is broken, per Debian bug 521737.
5923         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
5924         memchr.
5925         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
5926         * doc/posix-functions/strstr.texi (strstr): Document the fix.
5927         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
5928         * modules/mountlist (Depends-on): Add strstr-simple.
5929         * modules/gen-uni-tables (Depends-on): Likewise.
5930         * modules/argz (Depends-on): Add strstr.
5931
5932 2009-06-17  Bruno Haible  <bruno@clisp.org>
5933
5934         * modules/posix_spawn-internal (Depends-on): Add errno.
5935
5936 2009-06-17  Bruno Haible  <bruno@clisp.org>
5937
5938         Define missing ESTALE on Interix 3.5.
5939         * lib/errno.in.h (ESTALE): Assign a value if missing.
5940         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
5941         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
5942         missing.
5943         * doc/posix-headers/errno.texi: Mention the Interix bug.
5944         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
5945
5946 2009-06-15  Eric Blake  <ebb9@byu.net>
5947
5948         memchr, memchr2: add valgrind exception
5949         * lib/memchr.valgrind: New file.
5950         * lib/memchr2.valgrind: New file.
5951         * modules/memchr (Files): Distribute valgrind file.
5952         * modules/memchr2 (Files): Likewise.
5953
5954         docs: memchr is no longer obsolete
5955         * MODULES.html.sh: Move memchr from obsolete to string.h section.
5956         * lib/string.in.h (memchr): Simplify logic.
5957
5958 2009-06-14  Jim Meyering  <meyering@redhat.com>
5959
5960         link-follow: fix the "checking..." message to not mention trailing slash
5961         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
5962         never considered trailing slashes.
5963
5964 2009-06-14  Bruno Haible  <bruno@clisp.org>
5965
5966         * m4/memchr.m4: Mention also the bug on IA-64.
5967         * doc/posix-functions/memchr.texi: Likewise.
5968
5969 2009-06-12  Eric Blake  <ebb9@byu.net>
5970
5971         memchr: detect broken x86_64 and alpha implementations
5972         * modules/memchr-tests (Depends-on): Move mmap detection...
5973         * modules/memchr (Depends-on): ...here.
5974         (configure.ac): Set indicator.
5975         * lib/string.in.h (memchr): Declare replacement.
5976         * modules/string (Makefile.am): Trigger replacement.
5977         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
5978         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
5979         bugs.
5980         * doc/posix-functions/memchr.texi (memchr): Document the bug.
5981         * modules/getpagesize (License): Relax license.
5982
5983 2009-06-11  Bruno Haible  <bruno@clisp.org>
5984
5985         * lib/idpriv.h: Add more references.
5986
5987 2009-06-08  Bruno Haible  <bruno@clisp.org>
5988
5989         Tests for module 'idpriv-droptemp'.
5990         * modules/idpriv-droptemp-tests: New file.
5991         * tests/test-idpriv-droptemp.sh: New file.
5992         * tests/test-idpriv-droptemp.su.sh: New file.
5993         * tests/test-idpriv-droptemp.c: New file.
5994
5995         New module 'idpriv-droptemp'.
5996         * lib/idpriv-droptemp.c: New file.
5997         * modules/idpriv-droptemp: New file.
5998
5999 2009-06-08  Bruno Haible  <bruno@clisp.org>
6000
6001         Tests for module 'idpriv-drop'.
6002         * modules/idpriv-drop-tests: New file.
6003         * tests/test-idpriv-drop.sh: New file.
6004         * tests/test-idpriv-drop.su.sh: New file.
6005         * tests/test-idpriv-drop.c: New file.
6006
6007         New module 'idpriv-drop'.
6008         * lib/idpriv.h: New file.
6009         * lib-idpriv-drop.c: New file.
6010         * m4/idpriv.m4: New file.
6011         * modules/idpriv-drop: New file.
6012
6013 2009-06-08  Bruno Haible  <bruno@clisp.org>
6014
6015         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
6016         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
6017         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
6018         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
6019         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
6020         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
6021         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
6022
6023 2009-06-08  Eric Blake  <ebb9@byu.net>
6024
6025         test-strstr: use memory fence, when possible
6026         * tests/test-strstr.c (main): Use memory fence, in order to be
6027         more likely to trigger Debian bug 521737.
6028         * modules/strstr-tests (Files): Pull in additional files.
6029
6030         memchr: no longer obsolete, for wider field testing
6031         * modules/memchr (Status, Notice): Delete, this module is no
6032         longer obsolete.
6033         * modules/vasnprintf (Depends-on): Add memchr.
6034
6035 2009-06-07  Jim Meyering  <meyering@redhat.com>
6036
6037         hash: declare some functions with the warn_unused_result attribute
6038         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
6039
6040 2009-06-07  Bruno Haible  <bruno@clisp.org>
6041
6042         * tests/test-alignof.c: Don't test int64_t if it does not exist.
6043         Reported by Eric Blake.
6044
6045 2009-06-06  Eric Blake  <ebb9@byu.net>
6046
6047         test-alignof: fix typo with long double
6048         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
6049         compiler error.
6050
6051 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
6052
6053         Escape non-texinfo { and }s.
6054         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
6055         markup error.
6056
6057 2009-06-04  Jim Meyering  <meyering@redhat.com>
6058
6059         gitlog-to-changelog: don't infloop on an empty commit log
6060         * build-aux/gitlog-to-changelog: Warn about an empty log message.
6061         Reported by Boris Petersen <transacid@centerim.org>.
6062
6063 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
6064
6065         version-etc: extend for packagers
6066         Add three new configure options, intended for packagers:
6067           --with-packager="packager name"
6068           --with-packager-version="packager-specific version"
6069           --with-packager-bug-reports="packager bug reporting"
6070         An example with coreutils:
6071           $ ./configure \
6072             --with-packager=Gentoo \
6073             --with-packager-bug-report=http://bugs.gentoo.org/ \
6074             --with-packager-version="patchset 1.6"
6075           $ ./src/ls --version | head -n3
6076           ls (GNU coreutils) 7.1-dirty
6077           Packaged by Gentoo (patchset 1.6)
6078           Copyright (C) 2009 Free Software Foundation, Inc.
6079         Note that the bug reporting info via --help doesn't show up because
6080         coreutils uses its own custom emit_bug_reporting_address() implementation
6081         in src/system.h.  If it didn't, it'd look like:
6082           $ ./src/ls --help | tail -n4
6083           Report bugs to <bug-coreutils@gnu.org>.
6084           Report Gentoo bugs to <http://bugs.gentoo.org/>.
6085           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
6086           General help using GNU software: <http://www.gnu.org/gethelp/>.
6087         * lib/version-etc.c: Print new information, if provided.
6088         * m4/version-etc.m4: New file.
6089         * modules/version-etc (Files): Add m4/version-etc.m4.
6090         (configure.ac): Add gl_VERSION_ETC.
6091
6092 2009-05-31  Bruno Haible  <bruno@clisp.org>
6093
6094         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
6095         and 'int64_t'.
6096         * modules/alignof-tests (Dependencies): Add stdint.
6097         Reported by Eric Blake.
6098
6099 2009-05-31  Bruno Haible  <bruno@clisp.org>
6100
6101         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
6102         restriction due to compiler bugs.
6103         Reported by Eric Blake.
6104
6105 2009-05-31  Simon Josefsson  <simon@josefsson.org>
6106             Bruno Haible  <bruno@clisp.org>
6107
6108         Fix test-alignof failure.
6109         * lib/alignof.h (alignof_slot): New macro.
6110         (alignof_type): New macro, with the same semantics as the previous
6111         'alignof'.
6112         (alignof): Alias to alignof_slot.
6113         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
6114         check that the results are usable as constant expressions.
6115
6116 2009-05-31  Bruno Haible  <bruno@clisp.org>
6117
6118         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
6119         * tests/test-memchr.c (main): Check that memchr does not read past the
6120         first occurrence of the byte.
6121         * tests/test-strstr.c (main): Update comment.
6122         Suggested by Eric Blake.
6123
6124 2009-05-30  Bruno Haible  <bruno@clisp.org>
6125
6126         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
6127         detail how to use dumpbin.
6128         Reported by David Byron <dbyron@dbyron.com>.
6129
6130 2009-06-02  Simon Josefsson  <simon@josefsson.org>
6131
6132         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
6133
6134 2009-06-02  Simon Josefsson  <simon@josefsson.org>
6135
6136         * m4/manywarnings.m4: Add GCC 4.4 warnings.
6137
6138 2009-05-28  Bruno Haible  <bruno@clisp.org>
6139
6140         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
6141         build-aux/ files.
6142
6143 2009-05-28  Simon Josefsson  <simon@josefsson.org>
6144
6145         * gnulib-tool (func_import): Transform license on build-aux/ files too.
6146
6147 2009-05-27  Simon Josefsson  <simon@josefsson.org>
6148
6149         * gnulib-tool (sed_transform_main_lib_file)
6150         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
6151         regexps.
6152
6153 2009-05-26  Simon Josefsson  <simon@josefsson.org>
6154
6155         * tests/test-strstr.c: Add another self-test.
6156         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
6157         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
6158
6159 2009-05-23  Bruno Haible  <bruno@clisp.org>
6160
6161         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
6162         change.
6163
6164 2009-05-21  Bruno Haible  <bruno@clisp.org>
6165
6166         Simplify use of mode_t varargs.
6167         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
6168         uses 'mode_t' or 'int'.
6169         * lib/openat.c (openat): Likewise.
6170         * lib/open-safer.c (open_safer): Likewise.
6171         * m4/mode_t.m4: New file.
6172         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
6173         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
6174         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
6175         * modules/open (Files): Add m4/mode_t.m4.
6176         * modules/openat (Files): Likewise.
6177         * modules/fcntl-safer (Files): Likewise.
6178         Suggested by Eric Blake.
6179
6180 2009-05-21  Pádraig Brady  <P@draigbrady.com>
6181
6182         * doc/glibc-functions/fallocate.texi: New file.
6183         * doc/gnulib.texi: Include it.
6184
6185 2009-05-21  Eric Blake  <ebb9@byu.net>
6186             Bruno Haible  <bruno@clisp.org>
6187
6188         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
6189         invocations.
6190         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
6191
6192 2009-05-21  Eric Blake  <ebb9@byu.net>
6193             Bruno Haible  <bruno@clisp.org>
6194
6195         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
6196         include_next. Fix of 2008-11-20 commit.
6197         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
6198         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
6199         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
6200         NEXT_MATH_H.
6201         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
6202         instead of NEXT_MATH_H.
6203
6204 2009-05-21  Bruno Haible  <bruno@clisp.org>
6205
6206         Avoid redefinition warnings for SIZE_MAX.
6207         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
6208         Reported by Simon Josefsson.
6209
6210 2009-05-21  Bruno Haible  <bruno@clisp.org>
6211
6212         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
6213         AC_CACHE_VAL.
6214
6215 2009-05-20  Bruno Haible  <bruno@clisp.org>
6216
6217         Make zeroptr.h work on mingw.
6218         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
6219         mprotect.
6220         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
6221         * modules/memchr2-tests (configure.ac): Likewise.
6222         * modules/memcmp-tests (configure.ac): Likewise.
6223         * modules/memmem-tests (configure.ac): Likewise.
6224         * modules/memrchr-tests (configure.ac): Likewise.
6225         Reported by Simon Josefsson.
6226
6227 2009-05-20  Simon Josefsson  <simon@josefsson.org>
6228
6229         * tests/test-glob.c: Include string.h for strcmp prototype.
6230
6231 2009-05-20  Simon Josefsson  <simon@josefsson.org>
6232
6233         * modules/getdelim (Depends-on): Add explicit stdint, although it
6234         was implicitly already pulled in via realloc-posix.
6235         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
6236
6237 2009-05-20  Simon Josefsson  <simon@josefsson.org>
6238
6239         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
6240         G. Christensen" <tgc@jupiterrise.com>.
6241         * m4/sys_socket_h.m4: Check for sa_family_t.
6242         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
6243         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
6244         * tests/test-sys_socket.c: Check that sa_family_t works.
6245
6246 2009-05-18  Eric Blake  <ebb9@byu.net>
6247
6248         maint.mk: allow gnulib_dir in VPATH build
6249         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
6250
6251 2009-05-15  Jim Meyering  <meyering@redhat.com>
6252
6253         maint.mk: Give gnulib_dir a default definition.
6254         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
6255         Thus, most packages no longer need to specify this variable in cfg.mk
6256
6257 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
6258
6259         rename.m4: fix typos that would make non-mingw cross-configure fail
6260         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
6261
6262 2009-05-13  Eric Blake  <ebb9@byu.net>
6263
6264         mmap-anon: avoid out-of-order autoconf expansion
6265         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
6266         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
6267         * modules/memchr-tests (Depends-on): Add extensions.
6268         * modules/memchr2-tests (Depends-on): Add extensions.
6269         * modules/memcmp-tests (Depends-on): Add extensions.
6270         * modules/memmem-tests (Depends-on): Add extensions.
6271         * modules/memrchr-tests (Depends-on): Add extensions.
6272
6273 2009-05-13  Bruno Haible  <bruno@clisp.org>
6274
6275         Make some tests ISO C 99 compliant.
6276         * tests/zerosize-ptr.h: New file.
6277         * tests/test-memchr.c: Include zerosize-ptr.h.
6278         (main): Use a zero-size object pointer instead of NULL.
6279         * tests/test-memchr2.c: Include zerosize-ptr.h.
6280         (main): Use a zero-size object pointer instead of NULL.
6281         * tests/test-memcmp.c: Include zerosize-ptr.h.
6282         (main): Use a zero-size object pointer instead of NULL.
6283         * tests/test-memmem.c: Include zerosize-ptr.h.
6284         (main): Use a zero-size object pointer instead of NULL.
6285         * tests/test-memrchr.c: Include zerosize-ptr.h.
6286         (main): Use a zero-size object pointer instead of NULL.
6287         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
6288         m4/mmap-anon.m4.
6289         (Depends-on): Add getpagesize.
6290         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
6291         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
6292         m4/mmap-anon.m4.
6293         (Depends-on): Add getpagesize.
6294         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
6295         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
6296         m4/mmap-anon.m4.
6297         (Depends-on): Add getpagesize.
6298         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
6299         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
6300         m4/mmap-anon.m4.
6301         (Depends-on): Add getpagesize.
6302         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
6303         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
6304         m4/mmap-anon.m4.
6305         (Depends-on): Add getpagesize.
6306         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
6307
6308 2009-05-12  Bruno Haible  <bruno@clisp.org>
6309
6310         Tests for module 'alignof'.
6311         * modules/alignof-tests: New file.
6312         * tests/test-alignof.c: New file.
6313
6314 2009-05-12  Bruno Haible  <bruno@clisp.org>
6315
6316         Fix alignof macro.
6317         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
6318         vendor compilers that are always correct.
6319
6320 2009-05-12  Bruno Haible  <bruno@clisp.org>
6321
6322         Make the MAP_ANONYMOUS detection work on HP-UX 11.
6323         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
6324         not whether its fully works.
6325
6326 2009-05-12  Bruno Haible  <bruno@clisp.org>
6327
6328         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
6329
6330 2009-05-12  Jim Meyering  <meyering@redhat.com>
6331
6332         * top/maint.mk: Adjust backslash alignment.
6333
6334 2009-05-11  Simon Josefsson  <simon@josefsson.org>
6335
6336         * top/maint.mk: Make $(srcdir)/build-aux configurable.
6337
6338 2009-05-11  Eric Blake  <ebb9@byu.net>
6339
6340         argp: avoid undefined behavior
6341         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
6342         macros.
6343
6344 2009-05-08  Simon Josefsson  <simon@josefsson.org>
6345
6346         * tests/test-vc-list-files-git.sh: Do git config of user.email and
6347         user.name to prevent git commit from complaining.
6348
6349 2009-05-10  Bruno Haible  <bruno@clisp.org>
6350
6351         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
6352         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
6353         it rewrites every file name only once.
6354         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
6355
6356 2009-05-08  Bruno Haible  <bruno@clisp.org>
6357
6358         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
6359         instead of 'max'.
6360
6361 2009-05-08  Simon Josefsson  <simon@josefsson.org>
6362
6363         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
6364         sockaddr_storage test.
6365
6366 2009-05-07  Simon Josefsson  <simon@josefsson.org>
6367
6368         * modules/sys_socket (Makefile.am): Substitute
6369         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
6370         * m4/sys_socket_h.m4: Check for sockaddr_storage.
6371         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
6372         * tests/test-sys_socket.c: Check sockaddr_storage.
6373
6374 2009-05-08  Bruno Haible  <bruno@clisp.org>
6375
6376         New module 'alignof'.
6377         * lib/alignof.h: New file.
6378         * modules/alignof: New file.
6379
6380 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
6381             Bruno Haible  <bruno@clisp.org>
6382
6383         Fix test-file-has-acl on FreeBSD.
6384         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
6385         mask is implicitly added.
6386         * tests/test-file-has-acl.c: Include <signal.h>.
6387         (main): Terminate the test after 5 seconds.
6388         * modules/acl-tests (configure.ac): Check for alarm function.
6389
6390 2009-05-04  Bruno Haible  <bruno@clisp.org>
6391
6392         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
6393         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
6394         * modules/errno (configure.ac): Drop AC_REQUIRE.
6395         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
6396         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
6397
6398 2009-05-04  Simon Josefsson  <simon@josefsson.org>
6399
6400         * modules/glob-tests: New module.
6401         * tests/test-glob.c: Add.
6402
6403 2009-05-04  Simon Josefsson  <simon@josefsson.org>
6404
6405         * modules/fnmatch-tests: New module.
6406         * tests/test-fnmatch.c: Add.
6407
6408 2009-05-04  Eric Blake  <ebb9@byu.net>
6409
6410         maint: make the new no-submodule-changes rule VPATH-safe
6411         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
6412
6413 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
6414             Bruno Haible  <bruno@clisp.org>
6415
6416         acl: Fix infinite loop on FreeBSD.
6417         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
6418         of return value from acl_get_entry.
6419         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
6420         Likewise.
6421
6422 2009-05-03  Bruno Haible  <bruno@clisp.org>
6423
6424         * lib/acl-internal.h (acl_entries): Clarify return value.
6425         * lib/acl_entries.c (acl_entries): Likewise.
6426
6427 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
6428
6429         Bug fix in acl module.
6430         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
6431
6432 2009-05-03  Bruno Haible  <bruno@clisp.org>
6433
6434         Create gperf-generated file in the source dir, not in the build dir.
6435         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
6436         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
6437         * modules/unicase/locale-language (unicase/locale-languages.h):
6438         Likewise.
6439         * modules/unicase/special-casing (unicase/special-casing-table.h):
6440         Likewise.
6441         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
6442         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
6443         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
6444         Reported by Ralf Wildenhues.
6445
6446 2009-05-03  Bruno Haible  <bruno@clisp.org>
6447
6448         * modules/fnmatch (Description, configure.ac): Taken from
6449         fnmatch-posix.
6450         * modules/fnmatch-posix: Turn into a symbolic reference to the
6451         'fnmatch' module, and deprecate.
6452         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
6453
6454 2009-05-03  Bruno Haible  <bruno@clisp.org>
6455
6456         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
6457         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
6458         Reported by Ralf Wildenhues.
6459
6460 2009-05-04  Simon Josefsson  <simon@josefsson.org>
6461
6462         * m4/fnmatch.m4: Fix fnmatch re-define.
6463
6464 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
6465
6466         priv-set: new module and tests; adapt write-any-file
6467         * lib/priv-set.c: New file.
6468         * lib/priv-set.h: New file.
6469         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
6470         * lib/write-any-file.c: Simplify by using priv-set module.
6471         * m4/priv-set.m4: New file.
6472         * modules/priv-set: New file.
6473         * modules/unlinkdir: Add dependency on priv-set module.
6474         * modules/write-any-file: Likewise.
6475
6476         Tests for module 'priv-set'.
6477         * modules/priv-set-tests: New file.
6478         * tests/test-priv-set.c: New file.
6479
6480 2009-05-03  Jim Meyering  <meyering@redhat.com>
6481             Bruno Haible  <bruno@clisp.org>
6482
6483         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
6484         use the converted UTF-8 variant of the name instead.
6485
6486 2009-05-03  Jim Meyering  <meyering@redhat.com>
6487
6488         tests: tighten some getdate tests
6489         * tests/test-getdate.c (main): Tighten tests: require equality,
6490         not just greater than.  Set TZ envvar to UTC0.
6491
6492 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
6493
6494         getdate: correctly interpret "next monday" when run on a Monday
6495         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
6496         that e.g., "next tues" (when run on a tuesday) results in a date
6497         that is one week in the future, and not today's date.
6498         I.e., add a week when the wday is the same as the current one.
6499         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
6500         and earlier by Martin Bernreuther and Jan Minář.
6501         * tests/test-getdate.c (main): Check that "next DAY" is always in
6502         the future and that "last DAY" is always in the past.
6503
6504 2009-05-02  Jim Meyering  <meyering@redhat.com>
6505
6506         build: ensure that a release build fails when a submodule is unclean
6507         * top/maint.mk (no-submodule-changes): New rule.
6508         (alpha beta major): Depend on it.
6509
6510 2009-05-02  Bruno Haible  <bruno@clisp.org>
6511
6512         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
6513         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
6514         shell variable gl_fnmatch_required to detect which variant is
6515         requested.
6516         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
6517         gl_FUNC_FNMATCH_POSIX.
6518         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
6519         exclude fnmatch-posix.
6520
6521 2009-05-02  Bruno Haible  <bruno@clisp.org>
6522
6523         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
6524         * modules/mbsrtowcs (License): Change to LGPLv2+.
6525         * modules/strnlen1 (License): Likewise.
6526         Reported by Simon Josefsson.
6527
6528 2009-05-02  Bruno Haible  <bruno@clisp.org>
6529
6530         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
6531         "cross".
6532         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
6533         gnulib-tool was called with option --source-base=lib.
6534
6535 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6536
6537         Use automake *-local hooks without commands, for extensibility.
6538         * modules/localcharset (Makefile.am): Rename install-exec-local
6539         rule to install-exec-localcharset, and make it a prerequisite of
6540         install-exec-local.  Likewise, rename the uninstall-local rule to
6541         uninstall-localcharset, and make it a prerequisite of the former.
6542
6543 2009-05-01  Bruno Haible  <bruno@clisp.org>
6544
6545         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
6546         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
6547         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
6548         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
6549         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
6550         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
6551         m4/locale-zh.m4, m4/codeset.m4.
6552
6553         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
6554         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
6555         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
6556         m4/locale-zh.m4.
6557
6558         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
6559         REPLACE_WCRTOMB if mbstate_t must be replaced.
6560         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
6561         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
6562
6563 2009-05-01  Bruno Haible  <bruno@clisp.org>
6564
6565         Avoid compiler warnings when redefining macros defined by <libintl.h>.
6566         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
6567         dngettext, dcngettext, textdomain, bindtextdomain,
6568         bind_textdomain_codeset): Undefine before redefining.
6569
6570 2009-04-30  Bruno Haible  <bruno@clisp.org>
6571
6572         Fix bug introduced on 2009-04-25.
6573         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
6574         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
6575         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
6576         is defined.
6577         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
6578         is defined.
6579         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
6580         is defined.
6581         Reported by Elbert_Pol <elbert.pol@gmail.com>.
6582
6583 2009-04-28  Bruno Haible  <bruno@clisp.org>
6584
6585         Comment tweaks.
6586         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
6587         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
6588         * lib/unicase.h (u*_casexfrm): Likewise.
6589         Reported by Paolo Bonzini.
6590
6591 2009-04-28  Bruno Haible  <bruno@clisp.org>
6592
6593         Fix a compilation error.
6594         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
6595         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
6596         Reported by Jim Meyering.
6597
6598 2009-04-27  Bruno Haible  <bruno@clisp.org>
6599
6600         New module 'libunistring'.
6601         * modules/libunistring: New file.
6602         * m4/libunistring.m4: New file.
6603         * MODULES.html.sh (Unicode string functions): Add it.
6604
6605 2009-04-27  Eric Blake  <ebb9@byu.net>
6606
6607         maint.mk: allow package-specific header to provide <config.h>
6608         * top/maint.mk (sc_require_config_h): New variable.
6609         (sc_require_config_h, sc_require_config_h_first): Use it.
6610
6611 2009-04-27  Simon Josefsson  <simon@josefsson.org>
6612
6613         * top/maint.mk (sc_avoid_if_before_free): Except
6614         useless-if-before-free script.
6615
6616 2009-04-27  Eric Blake  <ebb9@byu.net>
6617
6618         maintainer-makefile: depend on all required helper scripts
6619         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
6620         useless-if-before-free.
6621         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
6622         version, rather than assuming gnulib checkout is available.
6623         Reported by Simen Josefsson.
6624
6625 2009-04-26  Bruno Haible  <bruno@clisp.org>
6626
6627         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
6628         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
6629         "../" or "..".
6630
6631 2009-04-26  Bruno Haible  <bruno@clisp.org>
6632
6633         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
6634         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
6635         AC_LIB_HAVE_LINKFLAGS.
6636
6637 2009-04-26  Bruno Haible  <bruno@clisp.org>
6638
6639         Simplify calling convention of u*_conv_from_encoding.
6640         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
6641         u32_conv_from_encoding): Expect a resultbuf argument and return the
6642         result directly as a pointer.
6643         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
6644         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
6645         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
6646         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
6647         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
6648         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
6649         Update.
6650         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
6651         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
6652         * lib/vasnprintf.c (VASNPRINTF): Update.
6653         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
6654         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
6655         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
6656         * NEWS: Mention the change.
6657
6658 2009-04-26  Bruno Haible  <bruno@clisp.org>
6659
6660         Simplify calling convention of u*_conv_to_encoding.
6661         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
6662         u32_conv_to_encoding): Expect a resultbuf argument and return the
6663         result directly as a pointer.
6664         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
6665         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
6666         freeing scaled_offsets if mem_iconveha failed.
6667         * lib/unicase/u-casexfrm.h (FUNC): Update.
6668         * lib/uninorm/u-normxfrm.h (FUNC): Update.
6669         * lib/vasnprintf.c (VASNPRINTF): Update.
6670         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
6671         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
6672         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
6673         * NEWS: Mention the change.
6674
6675 2009-04-26  Bruno Haible  <bruno@clisp.org>
6676
6677         Avoid test failures on AIX and OSF/1.
6678         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
6679         malloc(0).
6680         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
6681         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
6682         Likewise.
6683         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
6684         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
6685         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
6686         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
6687         * doc/posix-functions/malloc.texi: Document the portability problem
6688         related to malloc(0).
6689
6690 2009-04-26  Bruno Haible  <bruno@clisp.org>
6691
6692         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
6693         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
6694         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
6695
6696 2009-04-25  Bruno Haible  <bruno@clisp.org>
6697
6698         Avoid link error when creating a namespace clean library.
6699         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
6700         as macro with arguments if already defined as an alias.
6701         * lib/signbitf.c (gl_signbitf): Don't undefine.
6702         * lib/signbitd.c (gl_signbitd): Don't undefine.
6703         * lib/signbitl.c (gl_signbitl): Don't undefine.
6704
6705 2009-04-25  Jim Meyering  <meyering@redhat.com>
6706
6707         vc-list-files: fix another quoting bug
6708         * build-aux/vc-list-files: Avoid sed backslash expansion
6709         of pathological directory names.
6710
6711 2009-04-25  Eric Blake  <ebb9@byu.net>
6712
6713         vc-list-files: fix shell quoting error
6714         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
6715         timestamp.
6716
6717 2009-04-25  Jim Meyering  <meyering@redhat.com>
6718
6719         vc-list-files: restore lost functionality with subdir argument
6720         * build-aux/vc-list-files: When given a non-"." sub-directory
6721         argument, substitute the $dir/ prefix back onto each resulting name.
6722         Otherwise, coreutils' root_tests check would fail.
6723
6724 2009-04-24  Eric Blake  <ebb9@byu.net>
6725
6726         vc-list-files: ignore git symlinks
6727         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
6728         than ls-files, to ignore git symlinks.
6729
6730         maint.mk: import improvements from m4
6731         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
6732         (move_if_change): Delete unused macro.
6733         (news-date-check, vc-diff-check): Support VPATH builds.
6734         (announcement): Likewise.  Split --bootstrap-tools list...
6735         (boostrap-tools): ...into separate list, which can be overridden
6736         in cfg.mk.
6737         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
6738         requiring dependency on useless-if-before-free module.
6739         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
6740         Support VPATH builds.
6741
6742 2009-04-24  Jim Meyering  <meyering@redhat.com>
6743
6744         maint.mk: remove coreutils-specific rules and variables
6745         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
6746         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
6747         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
6748
6749         maint.mk: remove obsolete rule
6750         * top/maint.mk (rel-check): Remove rule.
6751         (WGET, WGETFLAGS): Remove now-unused variables.
6752
6753 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6754
6755         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
6756         consistency.
6757
6758         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
6759         '$(PATH_SEPARATOR)' instead of ':'.
6760
6761 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6762
6763         * lib/getopt1.c (main): Use 'const' for static array.
6764
6765 2009-04-24  Simon Josefsson  <simon@josefsson.org>
6766
6767         * top/maint.mk: Sync with coreutils.
6768         * NEWS: Explain incompatibilities.
6769
6770 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
6771             Bruno Haible  <bruno@clisp.org>
6772
6773         Fix cross-compilation results.
6774         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
6775         statement, as third argument of AC_TRY_RUN.
6776         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
6777         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
6778         Likewise.
6779         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
6780         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
6781         Likewise.
6782         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
6783         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
6784         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
6785
6786 2009-04-20  Bruno Haible  <bruno@clisp.org>
6787
6788         Avoid test failure on mingw.
6789         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
6790
6791 2009-04-20  Bruno Haible  <bruno@clisp.org>
6792
6793         Avoid compilation error on mingw.
6794         * modules/localename-tests (Depends-on): Add locale.
6795
6796 2009-04-19  Bruno Haible  <bruno@clisp.org>
6797
6798         Support for building a shared library on Windows platforms.
6799         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
6800         (main): Test the presence of UNINORM_NFC here.
6801         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
6802         (main): Test the presence of UNINORM_NFD here.
6803         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
6804         (main): Test the presence of UNINORM_NFKC here.
6805         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
6806         (main): Test the presence of UNINORM_NFKD here.
6807
6808 2009-04-19  Bruno Haible  <bruno@clisp.org>
6809
6810         Avoid a compiler warning.
6811         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
6812         Change type of variable 'sequence'.
6813
6814 2009-04-19  Bruno Haible  <bruno@clisp.org>
6815
6816         * modules/configmake (Makefile.am): When the contents of configmake.h
6817         does not change, arrange to preserve its modification time.
6818
6819 2009-04-17  Simon Josefsson  <simon@josefsson.org>
6820
6821         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
6822         gettext domain.
6823
6824 2009-04-16  Jim Meyering  <meyering@redhat.com>
6825
6826         useless-if-before-free: improve conversion code
6827         * build-aux/useless-if-before-free: Adjust code-in-comment to match
6828         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
6829
6830 2009-04-14  Bruno Haible  <bruno@clisp.org>
6831
6832         * modules/fcntl (Depends-on): Add extensions.
6833         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
6834
6835 2009-04-12  Ben Pfaff  <blp@gnu.org>
6836
6837         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
6838         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
6839
6840 2009-03-20  Ben Pfaff  <blp@gnu.org>
6841
6842         Make rename replace existing destinations on Windows.
6843         * m4/rename.m4: Add test for Mingw.
6844         * lib/rename.c: Add rename replacement that uses MoveFileEx with
6845         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
6846         * doc/posix-functions/rename.texi: Document.
6847
6848 2009-04-10  Bruno Haible  <bruno@clisp.org>
6849
6850         New include file "iconveh.h".
6851         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
6852         * lib/striconveh.h: Include it.
6853         (enum iconv_ilseq_handler): Remove definition.
6854         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
6855         striconveh.h.
6856         * lib/striconveha.c: Include striconveh.h.
6857         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
6858         * modules/striconveh (Files): Add lib/iconveh.h.
6859         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
6860         lib/striconveh.h.
6861
6862 2009-04-10  Bruno Haible  <bruno@clisp.org>
6863
6864         * lib/uniconv.h: Update comment.
6865
6866 2009-04-10  Bruno Haible  <bruno@clisp.org>
6867
6868         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
6869         always.
6870         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
6871         * lib/unistr/u16-mbtouc-aux.c: Likewise.
6872         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
6873         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
6874         "unistring-notinline.h", so that the function gets defined always.
6875         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
6876         * lib/unistr/u8-uctomb.c: Likewise.
6877         * lib/unistr/u16-mbtouc.c: Likewise.
6878         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
6879         * lib/unistr/u16-uctomb.c: Likewise.
6880         * lib/unistr/u32-mbtouc.c: Likewise.
6881         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
6882         * lib/unistr/u32-uctomb.c: Likewise.
6883
6884 2009-04-10  Bruno Haible  <bruno@clisp.org>
6885
6886         Mark 'utime' obsolete.
6887         * modules/utime (Status, Notice): New sections.
6888         Suggested by Jim Meyering.
6889
6890         Fix cross-compile guess for utime test.
6891         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
6892         autoconf.
6893         * doc/posix-functions/utime.texi: Give more precisions.
6894         Reported by Jan <ipif@ymail.com>.
6895
6896 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
6897
6898         filevercmp: correct today's change
6899         * lib/filevercmp.c: Also handle coreutils' test inputs.
6900         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
6901
6902         Fix regression in 'filevercmp' module. Thanks Sven Joachim
6903         for reporting it.
6904         * lib/filevercmp.c: Special handle for "", "." and "..".
6905         * tests/test-filevercmp.c: Enlarge the set suite.
6906
6907 2009-04-07  Jim Meyering  <meyering@redhat.com>
6908
6909         useless-if-before-free: show how to remove braced useless free, too
6910         * build-aux/useless-if-before-free: still only in a comment, though.
6911
6912 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
6913
6914         maint.mk: import changes to syntax-check macros from coreutils
6915         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
6916         Use them in the relevant macros.
6917
6918 2009-04-06  Bruno Haible  <bruno@clisp.org>
6919
6920         Fix unportable use of bit-fields.
6921         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
6922         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
6923         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
6924
6925 2009-04-06  Bruno Haible  <bruno@clisp.org>
6926
6927         Avoid test failures on AIX and OSF/1.
6928         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
6929         that malloc(0) = NULL.
6930         * tests/unicase/test-u8-tolower.c (check): Likewise.
6931         * tests/unicase/test-u8-totitle.c (check): Likewise.
6932         * tests/unicase/test-u8-toupper.c (check): Likewise.
6933         * tests/unicase/test-u16-casefold.c (check): Likewise.
6934         * tests/unicase/test-u16-tolower.c (check): Likewise.
6935         * tests/unicase/test-u16-totitle.c (check): Likewise.
6936         * tests/unicase/test-u16-toupper.c (check): Likewise.
6937         * tests/unicase/test-u32-casefold.c (check): Likewise.
6938         * tests/unicase/test-u32-tolower.c (check): Likewise.
6939         * tests/unicase/test-u32-totitle.c (check): Likewise.
6940         * tests/unicase/test-u32-toupper.c (check): Likewise.
6941         * tests/uninorm/test-u8-nfc.c (check): Likewise.
6942         * tests/uninorm/test-u8-nfd.c (check): Likewise.
6943         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
6944         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
6945         * tests/uninorm/test-u16-nfc.c (check): Likewise.
6946         * tests/uninorm/test-u16-nfd.c (check): Likewise.
6947         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
6948         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
6949         * tests/uninorm/test-u32-nfc.c (check): Likewise.
6950         * tests/uninorm/test-u32-nfd.c (check): Likewise.
6951         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
6952         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
6953
6954 2009-04-05  Bruno Haible  <bruno@clisp.org>
6955
6956         Work around an autoconf limitation.
6957         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
6958         comment line if it would be longer than 3 KB.
6959
6960 2009-04-05  Bruno Haible  <bruno@clisp.org>
6961
6962         Avoid test failure with libiconv-1.13.
6963         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
6964         of the expected test results.
6965
6966 2009-04-05  Bruno Haible  <bruno@clisp.org>
6967
6968         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
6969         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
6970         that it should be installed.
6971
6972 2009-04-05  Bruno Haible  <bruno@clisp.org>
6973
6974         * gnulib-tool: New option --copy-file.
6975         (func_usage): Document it.
6976         (func_dest_tmpfilename): Moved out of func_import.
6977         (func_add_file, func_update_file): New functions, extracted from
6978         func_import.
6979         (func_import): Update.
6980
6981 2009-04-05  Karl Berry  <karl@gnu.org>
6982
6983         * README: prominently mention gnulib-tool.
6984         Rearrange sections so getting the code is near the top.
6985
6986 2009-04-05  Bruno Haible  <bruno@clisp.org>
6987
6988         * lib/unicase.h: Mention u*_cmp2.
6989         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
6990         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
6991         * lib/unicase/ulc-casecmp.c: Likewise.
6992         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
6993         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
6994         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
6995         unistr/u8-cmp.
6996         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
6997         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
6998         unistr/u16-cmp.
6999         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
7000         unistr/u32-cmp.
7001
7002         * lib/uninorm.h: Mention u*_cmp2.
7003         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
7004         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
7005         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
7006         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
7007         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
7008         unistr/u8-cmp.
7009         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
7010         unistr/u16-cmp.
7011         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
7012         unistr/u32-cmp.
7013
7014         New module 'unistr/u32-cmp2'.
7015         * lib/unistr/u32-cmp2.c: New file.
7016         * modules/unistr/u32-cmp2: New file.
7017
7018         New module 'unistr/u16-cmp2'.
7019         * lib/unistr/u16-cmp2.c: New file.
7020         * modules/unistr/u16-cmp2: New file.
7021
7022         New module 'unistr/u8-cmp2'.
7023         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
7024         * lib/unistr/u8-cmp2.c: New file.
7025         * lib/unistr/u-cmp2.h: New file.
7026         * modules/unistr/u8-cmp2: New file.
7027
7028 2009-04-05  Bruno Haible  <bruno@clisp.org>
7029
7030         * lib/unictype.h (uc_property_is_valid): New macro.
7031         * tests/unictype/test-pr_byname.c (main): Use it.
7032
7033         * lib/unistr.h: Doc fixes.
7034         * lib/uniconv.h: Doc fixes.
7035         * lib/unictype.h: Doc fixes.
7036
7037 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
7038
7039         Port coreutils 7.2 to Solaris 8.
7040
7041         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
7042         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
7043         for Solaris 8.  This is a bit of a hack, as it means it's the
7044         caller's responsibility to add -lnsl if needed, but most likely it
7045         won't be needed since only getaddrinfo uses this and getaddrinfo
7046         isn't needed on Solaris 8.
7047
7048         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
7049         problem to Solaris 8 encountered with coreutils 7.2, which
7050         resulted in a message "fnmatch.c:292: warning: passing argument 4
7051         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
7052         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
7053
7054 2009-04-03  Simon Josefsson  <simon@josefsson.org>
7055
7056         * m4/ld-version-script.m4: Add FIXME comment.
7057
7058 2009-04-02  Simon Josefsson  <simon@josefsson.org>
7059
7060         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
7061         SOVERSION variable.
7062
7063 2009-04-02  Bruno Haible  <bruno@clisp.org>
7064
7065         * Makefile (info, html, dvi, pdf): Combine the rules.
7066         Suggested by Jim Meyering.
7067
7068 2009-04-01  Bruno Haible  <bruno@clisp.org>
7069
7070         * Makefile (info, html, dvi, pdf): New targets.
7071         Reported by Reuben Thomas <rrt@sc3d.org>.
7072
7073 2009-04-01  Bruno Haible  <bruno@clisp.org>
7074
7075         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
7076         can be put into PATH.
7077         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
7078
7079 2009-04-01  Bruno Haible  <bruno@clisp.org>
7080
7081         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
7082
7083 2009-04-01  Bruno Haible  <bruno@clisp.org>
7084
7085         Rename module 'visibility'.
7086         * modules/lib-symbol-visibility: Renamed from modules/visibility.
7087         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
7088         * doc/gnulib.texi: Update.
7089         * MODULES.html.sh (Misc): Update.
7090         * NEWS: Mention the change.
7091
7092 2009-04-01  Simon Josefsson  <simon@josefsson.org>
7093
7094         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
7095         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
7096         Eric Blake <ebb9@byu.net> for review.
7097         * MODULES.html.sh: Add lib-msvc-compat.
7098         * doc/gnulib.texi: Link to new section.
7099         * m4/ld-output-def.m4: New file.
7100         * doc/ld-output-def.texi: New file.
7101
7102 2009-04-01  Simon Josefsson  <simon@josefsson.org>
7103
7104         Rename ld-version-script to lib-symbol-versions.  Suggested by
7105         Bruno Haible <bruno@clisp.org>.
7106         * modules/ld-version-script: Renamed to lib-symbol-versions.
7107         * doc/ld-version-script.texi: Fix module name.
7108         * MODULES.html.sh: Add lib-symbol-versions.
7109
7110 2009-03-31  Simon Josefsson  <simon@josefsson.org>
7111
7112         * modules/u64-tests: New file.
7113         * tests/test-u64.c: New file.
7114
7115 2009-03-04  Simon Josefsson  <simon@josefsson.org>
7116
7117         * MODULES.html.sh: Mention u64.
7118         * modules/u64: New module.
7119         * modules/crypto/sha512: Depend on u64 module instead of providing
7120         u64.h.
7121
7122 2009-03-27  Eric Blake  <ebb9@byu.net>
7123
7124         test-strerror: make debugging EAI_SYSTEM easier
7125         * modules/getaddrinfo-tests (Depends-on): Add strerror.
7126         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
7127         failure was EAI_SYSTEM.
7128
7129 2009-03-25  Bruno Haible  <bruno@clisp.org>
7130
7131         Fix a problem with --enable-relocatable on Solaris 7.
7132         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
7133         since 2008-02-24.
7134
7135 2009-03-25  Eric Blake  <ebb9@byu.net>
7136
7137         test-sockets: avoid gcc warning
7138         * tests/test-sockets.c (main): Silence compiler warning.
7139
7140 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
7141
7142         New modules nproc, pthread, contributed by Glen Lenker.
7143
7144         * MODULES.html.sh: Add pthread, nproc.
7145         * lib/nproc.c: New file.
7146         * lib/nproc.h: New file.
7147         * lib/pthread.in.h: New file.
7148         * m4/pthread.m4: New file.
7149         * modules/nproc: New file.
7150         * modules/pthread: New file.
7151
7152 2009-03-24  Simon Josefsson  <simon@josefsson.org>
7153
7154         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
7155         New variable.
7156
7157 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
7158
7159         filevercmp: handle simple~ and numbered.~3~ backup suffixes
7160         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
7161         * tests/test-filevercmp.c: Add tests for backup suffixes.
7162
7163 2009-03-24  Simon Josefsson  <simon@josefsson.org>
7164
7165         * modules/stdlib (Depends-on): Add stdint, needed when defining
7166         struct random_data on, for example, HP-UX 10.20.  Reported by
7167         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
7168
7169 2009-03-24  Simon Josefsson  <simon@josefsson.org>
7170
7171         * lib/readline.c (readline): Call fflush on stdout after printing
7172         prompt.
7173
7174 2009-03-20  Bruno Haible  <bruno@clisp.org>
7175
7176         Remove dependency from 'close' module to -lws2_32 on native Windows.
7177         * lib/close-hook.h: New file.
7178         * lib/close-hook.c: New file.
7179         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
7180         w32sock.h.
7181         (_gl_close_fd_maybe_socket): Remove function.
7182         (rpl_close): Invoke execute_all_close_hooks instead of
7183         _gl_close_fd_maybe_socket.
7184         * lib/sockets.c: Include close-hook.h, w32sock.h.
7185         (close_fd_maybe_socket): New function, essentially from lib/close.c.
7186         (close_sockets_hook): New variable.
7187         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
7188         (gl_sockets_cleanup): Unregister it.
7189         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
7190         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
7191         * modules/close-hook: New file.
7192         * modules/close (Files): Remove lib/w32sock.h.
7193         (Depends-on): Add close-hook.
7194         (Link): Remove section.
7195         * modules/sockets (Files): Add lib/w32sock.h.
7196         (Depends-on): Add close-hook.
7197         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
7198         invocation.
7199         * NEWS: Mention that LIB_CLOSE is gone.
7200
7201 2009-03-23  Eric Blake  <ebb9@byu.net>
7202
7203         signal-tests: test previous patch
7204         * tests/test-signal.c: New file.
7205         * modules/signal-tests: Likewise.
7206
7207         signal.h: always support 'volatile sig_atomic_t'
7208         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
7209         (gl_SIGNAL_H_DEFAULTS): Add a default.
7210         * modules/signal (Makefile.am): Substitute if needed.
7211         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
7212         users can blindly add volatile.
7213         * doc/posix-headers/signal.texi (signal.h): Document it.
7214         Reported by Matthew Woehlke.
7215
7216 2009-03-23  Jim Meyering  <meyering@redhat.com>
7217
7218         pathmax: PATH_MAX: use pathconf only when available
7219         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
7220         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
7221         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
7222         This avoids a link failure in a PSP cross-compilation environment
7223         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
7224
7225         * lib/vasnprintf.c (divide): Fix typo in comment.
7226
7227 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7228
7229         * gnulib-tool (func_filter_filelist): Fix comment.
7230
7231 2009-03-20  Bruno Haible  <bruno@clisp.org>
7232
7233         Make sockets.h self-contained.
7234         * lib/sockets.c: Include sockets.h first.
7235         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
7236
7237 2009-03-19  Eric Blake  <ebb9@byu.net>
7238
7239         doc: mention more functions added in cygwin 1.7.0
7240         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
7241         addition.
7242         * doc/posix-functions/log2f.texi: Likewise.
7243
7244 2009-03-19  Jim Meyering  <meyering@redhat.com>
7245
7246         fsusage: avoid syntax error due to statement-before-declaration
7247         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
7248         after all declarations.  Reported by Matthew Woehlke in
7249         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
7250
7251 2009-03-18  Eric Blake  <ebb9@byu.net>
7252
7253         build-aux/compile: sync from automake
7254         * build-aux/compile: New file, from automake.
7255         * config/srclist.txt: Mention build-aux/compile.
7256
7257 2009-03-17  Bruno Haible  <bruno@clisp.org>
7258
7259         * lib/git-merge-changelog.c: Fix typo in comment.
7260         Reported by Reuben Thomas <rrt@sc3d.org>.
7261
7262 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
7263
7264         * m4/regex.m4: update and improve help for
7265         --without-included-regex.
7266
7267 2009-03-17  Simon Josefsson  <simon@josefsson.org>
7268
7269         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
7270         failure on missing include files.
7271
7272 2009-03-17  Eric Blake  <ebb9@byu.net>
7273
7274         doc: mention more functions added in cygwin 1.7.0
7275         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
7276         addition.
7277         * doc/posix-functions/fwscanf.texi: Likewise.
7278         * doc/posix-functions/swprintf.texi: Likewise.
7279         * doc/posix-functions/swscanf.texi: Likewise.
7280         * doc/posix-functions/vfwprintf.texi: Likewise.
7281         * doc/posix-functions/vfwscanf.texi: Likewise.
7282         * doc/posix-functions/vswprintf.texi: Likewise.
7283         * doc/posix-functions/vswscanf.texi: Likewise.
7284         * doc/posix-functions/vwprintf.texi: Likewise.
7285         * doc/posix-functions/vwscanf.texi: Likewise.
7286         * doc/posix-functions/wcscasecmp.texi: Likewise.
7287         * doc/posix-functions/wcsdup.texi: Likewise.
7288         * doc/posix-functions/wcsftime.texi: Likewise.
7289         * doc/posix-functions/wcsncasecmp.texi: Likewise.
7290         * doc/posix-functions/wprintf.texi: Likewise.
7291         * doc/posix-functions/wscanf.texi: Likewise.
7292         * doc/glibc-functions/gethostbyname2.texi: Likewise.
7293
7294 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7295
7296         maint.mk: really add $(AM_MAKEFLAGS)
7297         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
7298         was inadvertently omitted in the last commit.
7299         Spotted by Bruno Haible.
7300
7301         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
7302         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
7303         $(AM_MAKEFLAGS)' rather than plain `make'.
7304
7305         gnulib-tool: execute $MAKE not make
7306         * gnulib-tool: Default $MAKE to 'make'.
7307         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
7308         than make.  Initialize $MAKE in the do-autobuild script.
7309
7310         gnulib-tool: use $MAKE not make in generated files
7311         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
7312         make, in generated files.  Initialize $MAKE in the do-autobuild
7313         script.
7314
7315         * top/GNUmakefile (_have-git-version-gen): Fix typo.
7316
7317         GNUmakefile: disable parallelism only for multiple, recursive targets
7318         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
7319         additions in the Makefile.
7320         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
7321         by Automake.
7322         (.NOTPARALLEL): Only disable parallel builds if multiple targets
7323         are listed on the command line and at least one of them is
7324         listed in $(ALL_RECURSIVE_TARGETS).
7325
7326 2009-03-14  Bruno Haible  <bruno@clisp.org>
7327
7328         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
7329         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
7330         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
7331         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
7332         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
7333         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
7334         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
7335         unistr/u8-uctomb.
7336         * modules/unistr/u8-strchr (Depends-on): Likewise.
7337         * modules/unistr/u8-strrchr (Depends-on): Likewise.
7338         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
7339         unistr/u16-uctomb.
7340         * modules/unistr/u16-strchr (Depends-on): Likewise.
7341         * modules/unistr/u16-strrchr (Depends-on): Likewise.
7342
7343 2009-03-12  Bruno Haible  <bruno@clisp.org>
7344
7345         Work around select() bug on Interix 3.5.
7346         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
7347         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
7348         * m4/select.m4: New file.
7349         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
7350         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
7351         * modules/select (Files): Add m4/select.m4.
7352         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
7353         * modules/nanosleep (Depends-on): Add select.
7354         * modules/poll (Depends-on): Likewise.
7355         * doc/posix-functions/select.texi: Mention the Interix bug.
7356         Reported by Markus Duft <mduft@gentoo.org>.
7357
7358         * lib/select.c: Renamed from lib/winsock-select.c.
7359         * modules/select (Files): Add lib/select.c, remove
7360         lib/winsock-select.c.
7361         (configure.ac): Update.
7362
7363 2009-03-12  Jim Meyering  <meyering@redhat.com>
7364
7365         avoid gcc warnings about unused macro definitions
7366         * lib/readtokens.c (STREQ): Remove unused definition.
7367         * lib/xmalloc.c (SIZE_MAX): Likewise.
7368         * lib/openat-die.c (N_): Likewise.
7369         * lib/mountlist.c (SIZE_MAX): Remove definition.
7370         Instead, include <stdint.h>.
7371         * lib/readutmp.c: Likewise.
7372         * modules/readutmp (Depends-on): Add stdint.
7373         * modules/mountlist (Depends-on): Add stdint.
7374         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
7375
7376 2009-03-10  Bruno Haible  <bruno@clisp.org>
7377
7378         Tests for module 'mbmemcasecoll'.
7379         * modules/mbmemcasecoll-tests: New file.
7380         * tests/test-mbmemcasecoll1.sh: New file.
7381         * tests/test-mbmemcasecoll2.sh: New file.
7382         * tests/test-mbmemcasecoll3.sh: New file.
7383         * tests/test-mbmemcasecoll.c: New file.
7384
7385         New module 'mbmemcasecoll'.
7386         * lib/mbmemcasecoll.h: New file.
7387         * lib/mbmemcasecoll.c: New file.
7388         * modules/mbmemcasecoll: New file.
7389
7390         * tests/test-mbmemcasecmp.h: New file, extracted from
7391         tests/test-mbmemcasecmp.c.
7392         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
7393         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
7394         (main): Update.
7395         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
7396
7397 2009-03-09  Bruno Haible  <bruno@clisp.org>
7398
7399         Tests for module 'mbmemcasecmp'.
7400         * modules/mbmemcasecmp-tests: New file.
7401         * tests/test-mbmemcasecmp1.sh: New file.
7402         * tests/test-mbmemcasecmp2.sh: New file.
7403         * tests/test-mbmemcasecmp3.sh: New file.
7404         * tests/test-mbmemcasecmp.c: New file.
7405
7406         New module 'mbmemcasecmp'.
7407         * lib/mbmemcasecmp.h: New file.
7408         * lib/mbmemcasecmp.c: New file.
7409         * modules/mbmemcasecmp: New file.
7410
7411 2009-03-09  Bruno Haible  <bruno@clisp.org>
7412
7413         Tests for module 'unicase/ulc-casecoll'.
7414         * modules/unicase/ulc-casecoll-tests: New file.
7415         * tests/unicase/test-ulc-casecoll1.sh: New file.
7416         * tests/unicase/test-ulc-casecoll2.sh: New file.
7417         * tests/unicase/test-ulc-casecoll.c: New file.
7418
7419         New module 'unicase/ulc-casecoll'.
7420         * lib/unicase.h (ulc_casecoll): New declaration.
7421         * lib/unicase/ulc-casecoll.c: New file.
7422         * modules/unicase/ulc-casecoll: New file.
7423
7424         New module 'unicase/ulc-casexfrm'.
7425         * lib/unicase.h (ulc_casexfrm): New declaration.
7426         * lib/unicase/ulc-casexfrm.c: New file.
7427         * modules/unicase/ulc-casexfrm: New file.
7428
7429 2009-03-09  Bruno Haible  <bruno@clisp.org>
7430
7431         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
7432         invocations.
7433
7434         * m4/mbscasecmp.m4: Remove file.
7435         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
7436         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
7437
7438         * m4/mbscasestr.m4: Remove file.
7439         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
7440         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
7441
7442         * m4/mbschr.m4: Remove file.
7443         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
7444         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
7445
7446         * m4/mbscspn.m4: Remove file.
7447         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
7448         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
7449
7450         * m4/mbslen.m4: Remove file.
7451         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
7452         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
7453
7454         * m4/mbsncasecmp.m4: Remove file.
7455         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
7456         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
7457
7458         * m4/mbsnlen.m4: Remove file.
7459         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
7460         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
7461
7462         * m4/mbspbrk.m4: Remove file.
7463         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
7464         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
7465
7466         * m4/mbspcasecmp.m4: Remove file.
7467         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
7468         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
7469
7470         * m4/mbsrchr.m4: Remove file.
7471         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
7472         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
7473
7474         * m4/mbssep.m4: Remove file.
7475         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
7476         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
7477
7478         * m4/mbsspn.m4: Remove file.
7479         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
7480         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
7481
7482         * m4/mbsstr.m4: Remove file.
7483         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
7484         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
7485
7486         * m4/mbstok_r.m4: Remove file.
7487         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
7488         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
7489
7490         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
7491
7492         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
7493         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
7494
7495         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
7496
7497 2009-03-08  Bruno Haible  <bruno@clisp.org>
7498
7499         Tests for module 'unicase/ulc-casecmp'.
7500         * modules/unicase/ulc-casecmp-tests: New file.
7501         * tests/unicase/test-ulc-casecmp1.sh: New file.
7502         * tests/unicase/test-ulc-casecmp2.sh: New file.
7503         * tests/unicase/test-ulc-casecmp.c: New file.
7504
7505         New module 'unicase/ulc-casecmp'.
7506         * lib/unicase.h (ulc_casecmp): New declaration.
7507         * lib/unicase/ulc-casecmp.c: New file.
7508         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
7509         'const SRC_UNIT *'.
7510         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
7511         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
7512         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
7513         * modules/unicase/ulc-casecmp: New file.
7514
7515         Tests for module 'unicase/u32-is-cased'.
7516         * modules/unicase/u32-is-cased-tests: New file.
7517         * tests/unicase/test-u32-is-cased.c: New file.
7518
7519         Tests for module 'unicase/u16-is-cased'.
7520         * modules/unicase/u16-is-cased-tests: New file.
7521         * tests/unicase/test-u16-is-cased.c: New file.
7522
7523         Tests for module 'unicase/u8-is-cased'.
7524         * modules/unicase/u8-is-cased-tests: New file.
7525         * tests/unicase/test-u8-is-cased.c: New file.
7526         * tests/unicase/test-is-cased.h: New file.
7527
7528         New module 'unicase/u32-is-cased'.
7529         * lib/unicase/u32-is-cased.c: New file.
7530         * modules/unicase/u32-is-cased: New file.
7531
7532         New module 'unicase/u16-is-cased'.
7533         * lib/unicase/u16-is-cased.c: New file.
7534         * modules/unicase/u16-is-cased: New file.
7535
7536         New module 'unicase/u8-is-cased'.
7537         * lib/unicase/u8-is-cased.c: New file.
7538         * lib/unicase/u-is-cased.h: New file.
7539         * modules/unicase/u8-is-cased: New file.
7540
7541         Tests for module 'unicase/u32-is-casefolded'.
7542         * modules/unicase/u32-is-casefolded-tests: New file.
7543         * tests/unicase/test-u32-is-casefolded.c: New file.
7544
7545         Tests for module 'unicase/u16-is-casefolded'.
7546         * modules/unicase/u16-is-casefolded-tests: New file.
7547         * tests/unicase/test-u16-is-casefolded.c: New file.
7548
7549         Tests for module 'unicase/u8-is-casefolded'.
7550         * modules/unicase/u8-is-casefolded-tests: New file.
7551         * tests/unicase/test-u8-is-casefolded.c: New file.
7552         * tests/unicase/test-is-casefolded.h: New file.
7553
7554         New module 'unicase/u32-is-casefolded'.
7555         * lib/unicase/u32-is-casefolded.c: New file.
7556         * modules/unicase/u32-is-casefolded: New file.
7557
7558         New module 'unicase/u16-is-casefolded'.
7559         * lib/unicase/u16-is-casefolded.c: New file.
7560         * modules/unicase/u16-is-casefolded: New file.
7561
7562         New module 'unicase/u8-is-casefolded'.
7563         * lib/unicase/u8-is-casefolded.c: New file.
7564         * modules/unicase/u8-is-casefolded: New file.
7565
7566         Tests for module 'unicase/u32-is-titlecase'.
7567         * modules/unicase/u32-is-titlecase-tests: New file.
7568         * tests/unicase/test-u32-is-titlecase.c: New file.
7569
7570         Tests for module 'unicase/u16-is-titlecase'.
7571         * modules/unicase/u16-is-titlecase-tests: New file.
7572         * tests/unicase/test-u16-is-titlecase.c: New file.
7573
7574         Tests for module 'unicase/u8-is-titlecase'.
7575         * modules/unicase/u8-is-titlecase-tests: New file.
7576         * tests/unicase/test-u8-is-titlecase.c: New file.
7577         * tests/unicase/test-is-titlecase.h: New file.
7578
7579         New module 'unicase/u32-is-titlecase'.
7580         * lib/unicase/u32-is-titlecase.c: New file.
7581         * modules/unicase/u32-is-titlecase: New file.
7582
7583         New module 'unicase/u16-is-titlecase'.
7584         * lib/unicase/u16-is-titlecase.c: New file.
7585         * modules/unicase/u16-is-titlecase: New file.
7586
7587         New module 'unicase/u8-is-titlecase'.
7588         * lib/unicase/u8-is-titlecase.c: New file.
7589         * modules/unicase/u8-is-titlecase: New file.
7590
7591         Tests for module 'unicase/u32-is-lowercase'.
7592         * modules/unicase/u32-is-lowercase-tests: New file.
7593         * tests/unicase/test-u32-is-lowercase.c: New file.
7594
7595         Tests for module 'unicase/u16-is-lowercase'.
7596         * modules/unicase/u16-is-lowercase-tests: New file.
7597         * tests/unicase/test-u16-is-lowercase.c: New file.
7598
7599         Tests for module 'unicase/u8-is-lowercase'.
7600         * modules/unicase/u8-is-lowercase-tests: New file.
7601         * tests/unicase/test-u8-is-lowercase.c: New file.
7602         * tests/unicase/test-is-lowercase.h: New file.
7603
7604         New module 'unicase/u32-is-lowercase'.
7605         * lib/unicase/u32-is-lowercase.c: New file.
7606         * modules/unicase/u32-is-lowercase: New file.
7607
7608         New module 'unicase/u16-is-lowercase'.
7609         * lib/unicase/u16-is-lowercase.c: New file.
7610         * modules/unicase/u16-is-lowercase: New file.
7611
7612         New module 'unicase/u8-is-lowercase'.
7613         * lib/unicase/u8-is-lowercase.c: New file.
7614         * modules/unicase/u8-is-lowercase: New file.
7615
7616         Tests for module 'unicase/u32-is-uppercase'.
7617         * modules/unicase/u32-is-uppercase-tests: New file.
7618         * tests/unicase/test-u32-is-uppercase.c: New file.
7619
7620         Tests for module 'unicase/u16-is-uppercase'.
7621         * modules/unicase/u16-is-uppercase-tests: New file.
7622         * tests/unicase/test-u16-is-uppercase.c: New file.
7623
7624         Tests for module 'unicase/u8-is-uppercase'.
7625         * modules/unicase/u8-is-uppercase-tests: New file.
7626         * tests/unicase/test-u8-is-uppercase.c: New file.
7627         * tests/unicase/test-is-uppercase.h: New file.
7628
7629         New module 'unicase/u32-is-uppercase'.
7630         * lib/unicase/u32-is-uppercase.c: New file.
7631         * modules/unicase/u32-is-uppercase: New file.
7632
7633         New module 'unicase/u16-is-uppercase'.
7634         * lib/unicase/u16-is-uppercase.c: New file.
7635         * modules/unicase/u16-is-uppercase: New file.
7636
7637         New module 'unicase/u8-is-uppercase'.
7638         * lib/unicase/u8-is-uppercase.c: New file.
7639         * modules/unicase/u8-is-uppercase: New file.
7640
7641         New module 'unicase/u32-is-invariant'.
7642         * lib/unicase/u32-is-invariant.c: New file.
7643         * modules/unicase/u32-is-invariant: New file.
7644
7645         New module 'unicase/u16-is-invariant'.
7646         * lib/unicase/u16-is-invariant.c: New file.
7647         * modules/unicase/u16-is-invariant: New file.
7648
7649         New module 'unicase/u8-is-invariant'.
7650         * lib/unicase/u8-is-invariant.c: New file.
7651         * lib/unicase/invariant.h: New file.
7652         * lib/unicase/u-is-invariant.h: New file.
7653         * modules/unicase/u8-is-invariant: New file.
7654
7655         Tests for module 'unicase/u32-casecoll'.
7656         * modules/unicase/u32-casecoll-tests: New file.
7657         * tests/unicase/test-u32-casecoll.c: New file.
7658
7659         Tests for module 'unicase/u16-casecoll'.
7660         * modules/unicase/u16-casecoll-tests: New file.
7661         * tests/unicase/test-u16-casecoll.c: New file.
7662
7663         Tests for module 'unicase/u8-casecoll'.
7664         * modules/unicase/u8-casecoll-tests: New file.
7665         * tests/unicase/test-u8-casecoll.c: New file.
7666
7667         New module 'unicase/u32-casecoll'.
7668         * lib/unicase/u32-casecoll.c: New file.
7669         * modules/unicase/u32-casecoll: New file.
7670
7671         New module 'unicase/u16-casecoll'.
7672         * lib/unicase/u16-casecoll.c: New file.
7673         * modules/unicase/u16-casecoll: New file.
7674
7675         New module 'unicase/u8-casecoll'.
7676         * lib/unicase/u8-casecoll.c: New file.
7677         * lib/unicase/u-casecoll.h: New file.
7678         * modules/unicase/u8-casecoll: New file.
7679
7680         New module 'unicase/u32-casexfrm'.
7681         * lib/unicase/u32-casexfrm.c: New file.
7682         * modules/unicase/u32-casexfrm: New file.
7683
7684         New module 'unicase/u16-casexfrm'.
7685         * lib/unicase/u16-casexfrm.c: New file.
7686         * modules/unicase/u16-casexfrm: New file.
7687
7688         New module 'unicase/u8-casexfrm'.
7689         * lib/unicase/u8-casexfrm.c: New file.
7690         * lib/unicase/u-casexfrm.h: New file.
7691         * modules/unicase/u8-casexfrm: New file.
7692
7693         Tests for module 'unicase/u32-casecmp'.
7694         * modules/unicase/u32-casecmp-tests: New file.
7695         * tests/unicase/test-u32-casecmp.c: New file.
7696
7697         Tests for module 'unicase/u16-casecmp'.
7698         * modules/unicase/u16-casecmp-tests: New file.
7699         * tests/unicase/test-u16-casecmp.c: New file.
7700
7701         Tests for module 'unicase/u8-casecmp'.
7702         * modules/unicase/u8-casecmp-tests: New file.
7703         * tests/unicase/test-u8-casecmp.c: New file.
7704         * tests/unicase/test-casecmp.h: New file.
7705
7706         New module 'unicase/u32-casecmp'.
7707         * lib/unicase/u32-casecmp.c: New file.
7708         * modules/unicase/u32-casecmp: New file.
7709
7710         New module 'unicase/u16-casecmp'.
7711         * lib/unicase/u16-casecmp.c: New file.
7712         * modules/unicase/u16-casecmp: New file.
7713
7714         New module 'unicase/u8-casecmp'.
7715         * lib/unicase/u8-casecmp.c: New file.
7716         * lib/unicase/u-casecmp.h: New file.
7717         * modules/unicase/u8-casecmp: New file.
7718
7719         Tests for module 'unicase/u32-casefold'.
7720         * modules/unicase/u32-casefold-tests: New file.
7721         * tests/unicase/test-u32-casefold.c: New file.
7722
7723         Tests for module 'unicase/u16-casefold'.
7724         * modules/unicase/u16-casefold-tests: New file.
7725         * tests/unicase/test-u16-casefold.c: New file.
7726
7727         Tests for module 'unicase/u8-casefold'.
7728         * modules/unicase/u8-casefold-tests: New file.
7729         * tests/unicase/test-u8-casefold.c: New file.
7730
7731         New module 'unicase/u32-casefold'.
7732         * lib/unicase/u32-casefold.c: New file.
7733         * modules/unicase/u32-casefold: New file.
7734
7735         New module 'unicase/u16-casefold'.
7736         * lib/unicase/u16-casefold.c: New file.
7737         * modules/unicase/u16-casefold: New file.
7738
7739         New module 'unicase/u8-casefold'.
7740         * lib/unicase/u8-casefold.c: New file.
7741         * lib/unicase/u-casefold.h: New file.
7742         * modules/unicase/u8-casefold: New file.
7743
7744         New module 'unicase/tocasefold'.
7745         * lib/unicase/casefold.h: New file.
7746         * lib/unicase/tocasefold.c: New file.
7747         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
7748         * modules/unicase/tocasefold: New file.
7749
7750         Tests for module 'unicase/u32-totitle'.
7751         * modules/unicase/u32-totitle-tests: New file.
7752         * tests/unicase/test-u32-totitle.c: New file.
7753
7754         Tests for module 'unicase/u16-totitle'.
7755         * modules/unicase/u16-totitle-tests: New file.
7756         * tests/unicase/test-u16-totitle.c: New file.
7757
7758         Tests for module 'unicase/u8-totitle'.
7759         * modules/unicase/u8-totitle-tests: New file.
7760         * tests/unicase/test-u8-totitle.c: New file.
7761
7762         New module 'unicase/u32-totitle'.
7763         * lib/unicase/u32-totitle.c: New file.
7764         * modules/unicase/u32-totitle: New file.
7765
7766         New module 'unicase/u16-totitle'.
7767         * lib/unicase/u16-totitle.c: New file.
7768         * modules/unicase/u16-totitle: New file.
7769
7770         New module 'unicase/u8-totitle'.
7771         * lib/unicase/u8-totitle.c: New file.
7772         * lib/unicase/u-totitle.h: New file.
7773         * modules/unicase/u8-totitle: New file.
7774
7775         Tests for module 'unicase/u32-tolower'.
7776         * modules/unicase/u32-tolower-tests: New file.
7777         * tests/unicase/test-u32-tolower.c: New file.
7778
7779         Tests for module 'unicase/u16-tolower'.
7780         * modules/unicase/u16-tolower-tests: New file.
7781         * tests/unicase/test-u16-tolower.c: New file.
7782
7783         Tests for module 'unicase/u8-tolower'.
7784         * modules/unicase/u8-tolower-tests: New file.
7785         * tests/unicase/test-u8-tolower.c: New file.
7786
7787         New module 'unicase/u32-tolower'.
7788         * lib/unicase/u32-tolower.c: New file.
7789         * modules/unicase/u32-tolower: New file.
7790
7791         New module 'unicase/u16-tolower'.
7792         * lib/unicase/u16-tolower.c: New file.
7793         * modules/unicase/u16-tolower: New file.
7794
7795         New module 'unicase/u8-tolower'.
7796         * lib/unicase/u8-tolower.c: New file.
7797         * modules/unicase/u8-tolower: New file.
7798
7799         Tests for module 'unicase/u32-toupper'.
7800         * modules/unicase/u32-toupper-tests: New file.
7801         * tests/unicase/test-u32-toupper.c: New file.
7802
7803         Tests for module 'unicase/u16-toupper'.
7804         * modules/unicase/u16-toupper-tests: New file.
7805         * tests/unicase/test-u16-toupper.c: New file.
7806
7807         Tests for module 'unicase/u8-toupper'.
7808         * modules/unicase/u8-toupper-tests: New file.
7809         * tests/unicase/test-u8-toupper.c: New file.
7810
7811         New module 'unicase/u32-toupper'.
7812         * lib/unicase/u32-toupper.c: New file.
7813         * modules/unicase/u32-toupper: New file.
7814
7815         New module 'unicase/u16-toupper'.
7816         * lib/unicase/u16-toupper.c: New file.
7817         * modules/unicase/u16-toupper: New file.
7818
7819         New module 'unicase/u8-toupper'.
7820         * lib/unicase/u8-toupper.c: New file.
7821         * modules/unicase/u8-toupper: New file.
7822
7823         New module 'unicase/u32-casemap'.
7824         * lib/unicase/u32-casemap.c: New file.
7825         * modules/unicase/u32-casemap: New file.
7826
7827         New module 'unicase/u16-casemap'.
7828         * lib/unicase/u16-casemap.c: New file.
7829         * modules/unicase/u16-casemap: New file.
7830
7831         New module 'unicase/u8-casemap'.
7832         * lib/unicase/unicasemap.h: New file.
7833         * lib/unicase/u8-casemap.c: New file.
7834         * lib/unicase/u-casemap.h: New file.
7835         * modules/unicase/u8-casemap: New file.
7836
7837         New module 'unicase/special-casing'.
7838         * lib/unicase/special-casing.h: New file.
7839         * lib/unicase/special-casing.c: New file.
7840         * lib/unicase/special-casing-table.gperf: New file, generated by
7841         gen-uni-tables.c.
7842         * modules/unicase/special-casing: New file.
7843
7844         Tests for module 'unicase/locale-language'.
7845         * modules/unicase/locale-language-tests: New file.
7846         * tests/unicase/test-locale-language.sh: New file.
7847         * tests/unicase/test-locale-language.c: New file.
7848
7849         New module 'unicase/locale-language'.
7850         * lib/unicase/locale-language.c: New file.
7851         * lib/unicase/locale-languages.gperf: New file.
7852         * modules/unicase/locale-language: New file.
7853
7854         Generate more tables for case conversion and case folding.
7855         * lib/gen-uni-tables.c (SCC_*): New enum items.
7856         (struct special_casing_rule): New type.
7857         (casing_rules, num_casing_rules, allocated_casing_rules): New
7858         variables.
7859         (add_casing_rule, fill_casing_rules): New functions.
7860         (struct casefold_rule): New type.
7861         (casefolding_rules, num_casefolding_rules,
7862         allocated_casefolding_rules): New variables.
7863         (fill_casefolding_rules): New function.
7864         (unicode_casefold): New variable.
7865         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
7866         sort_casing_rules, output_casing_rules): New functions.
7867         (main): Accept to more arguments: SpecialCasing.txt and
7868         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
7869         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
7870         Output mapping for casefolding.
7871
7872         * lib/unicase.h: Include stdbool.h, uninorm.h.
7873         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
7874         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
7875         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
7876         arguments.
7877         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
7878         resultp arguments.
7879         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
7880         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
7881         resultp arguments.
7882         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
7883         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
7884         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
7885         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
7886         declarations.
7887         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
7888
7889 2009-03-08  Bruno Haible  <bruno@clisp.org>
7890
7891         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
7892         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
7893         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
7894         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
7895
7896 2009-03-07  Bruno Haible  <bruno@clisp.org>
7897
7898         Adjust u*_normcmp, u*_normcoll API.
7899         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
7900         u16_normcoll, u32_normcoll): Change failure conventions.
7901         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
7902         errno and return -1.
7903         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
7904
7905 2009-03-07  Bruno Haible  <bruno@clisp.org>
7906
7907         Tests for module 'uninorm/u32-normcoll'.
7908         * modules/uninorm/u32-normcoll-tests: New file.
7909         * tests/uninorm/test-u32-normcoll.c: New file.
7910
7911         Tests for module 'uninorm/u16-normcoll'.
7912         * modules/uninorm/u16-normcoll-tests: New file.
7913         * tests/uninorm/test-u16-normcoll.c: New file.
7914
7915         Tests for module 'uninorm/u8-normcoll'.
7916         * modules/uninorm/u8-normcoll-tests: New file.
7917         * tests/uninorm/test-u8-normcoll.c: New file.
7918
7919 2009-03-07  Bruno Haible  <bruno@clisp.org>
7920
7921         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
7922         tests/uninorm/test-u32-normcmp.c.
7923         * tests/uninorm/test-u32-normcmp.c: Include it.
7924         (test_nonascii): New function, extracted from main. Add some more
7925         tests.
7926         (main): Invoke test_ascii and test_nonascii.
7927         * modules/uninorm/u32-normcmp-tests (Files): Add
7928         tests/uninorm/test-u32-normcmp.h.
7929         (Depends-on): Remove uninorm/u32-normcmp.
7930
7931         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
7932         tests/uninorm/test-u16-normcmp.c.
7933         * tests/uninorm/test-u16-normcmp.c: Include it.
7934         (test_nonascii): New function, extracted from main. Add some more
7935         tests.
7936         (main): Invoke test_ascii and test_nonascii.
7937         * modules/uninorm/u16-normcmp-tests (Files): Add
7938         tests/uninorm/test-u16-normcmp.h.
7939         (Depends-on): Remove uninorm/u16-normcmp.
7940
7941         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
7942         tests/uninorm/test-u8-normcmp.c.
7943         * tests/uninorm/test-u8-normcmp.c: Include it.
7944         (test_nonascii): New function, extracted from main. Add some more
7945         tests.
7946         (main): Invoke test_ascii and test_nonascii.
7947         * modules/uninorm/u8-normcmp-tests (Files): Add
7948         tests/uninorm/test-u8-normcmp.h.
7949         (Depends-on): Remove uninorm/u8-normcmp.
7950
7951 2009-03-07  Bruno Haible  <bruno@clisp.org>
7952
7953         New module 'uninorm/u32-normcoll'.
7954         * lib/uninorm/u32-normcoll.c: New file.
7955         * modules/uninorm/u32-normcoll: New file.
7956
7957         New module 'uninorm/u16-normcoll'.
7958         * lib/uninorm/u16-normcoll.c: New file.
7959         * modules/uninorm/u16-normcoll: New file.
7960
7961         New module 'uninorm/u8-normcoll'.
7962         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
7963         declarations.
7964         * lib/uninorm/u8-normcoll.c: New file.
7965         * lib/uninorm/u-normcoll.h: New file.
7966         * modules/uninorm/u8-normcoll: New file.
7967
7968         New module 'uninorm/u32-normxfrm'.
7969         * lib/uninorm/u32-normxfrm.c: New file.
7970         * modules/uninorm/u32-normxfrm: New file.
7971
7972         New module 'uninorm/u16-normxfrm'.
7973         * lib/uninorm/u16-normxfrm.c: New file.
7974         * modules/uninorm/u16-normxfrm: New file.
7975
7976         New module 'uninorm/u8-normxfrm'.
7977         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
7978         declarations.
7979         * lib/uninorm/u8-normxfrm.c: New file.
7980         * lib/uninorm/u-normxfrm.h: New file.
7981         * modules/uninorm/u8-normxfrm: New file.
7982
7983 2009-03-07  Bruno Haible  <bruno@clisp.org>
7984
7985         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
7986         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
7987         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
7988
7989 2009-03-07  Bruno Haible  <bruno@clisp.org>
7990
7991         New module 'memxfrm'.
7992         * lib/memxfrm.h: New file.
7993         * lib/memxfrm.c: New file.
7994         * modules/memxfrm: New file.
7995
7996 2009-03-07  Bruno Haible  <bruno@clisp.org>
7997
7998         New module 'memcmp2'.
7999         * lib/memcmp2.h: New file.
8000         * lib/memcmp2.c: New file.
8001         * modules/memcmp2: New file.
8002
8003 2009-03-07  Bruno Haible  <bruno@clisp.org>
8004
8005         Tests for module 'uninorm/decomposing-form'.
8006         * modules/uninorm/decomposing-form-tests: New file.
8007         * tests/uninorm/test-decomposing-form.c: New file.
8008
8009         New module 'uninorm/decomposing-form'.
8010         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
8011         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
8012         Add 'decomposing_variant' field.
8013         * lib/uninorm/decomposing-form.c: New file.
8014         * lib/uninorm/nfc.c (uninorm_nfc): Update.
8015         * lib/uninorm/nfd.c (uninorm_nfd): Update.
8016         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
8017         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
8018         * modules/uninorm/decomposing-form: New file.
8019         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
8020         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
8021
8022 2009-03-07  Bruno Haible  <bruno@clisp.org>
8023
8024         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
8025         strings.
8026
8027 2009-03-06  Bruno Haible  <bruno@clisp.org>
8028
8029         Tests for module 'uninorm/u32-normcmp'.
8030         * tests/uninorm/test-u32-normcmp.c: New file.
8031         * modules/uninorm/u32-normcmp-tests: New file.
8032
8033         Tests for module 'uninorm/u16-normcmp'.
8034         * tests/uninorm/test-u16-normcmp.c: New file.
8035         * modules/uninorm/u16-normcmp-tests: New file.
8036
8037         Tests for module 'uninorm/u8-normcmp'.
8038         * tests/uninorm/test-u8-normcmp.c: New file.
8039         * modules/uninorm/u8-normcmp-tests: New file.
8040
8041         New module 'uninorm/u32-normcmp'.
8042         * lib/uninorm/u32-normcmp.c: New file.
8043         * modules/uninorm/u32-normcmp: New file.
8044
8045         New module 'uninorm/u16-normcmp'.
8046         * lib/uninorm/u16-normcmp.c: New file.
8047         * modules/uninorm/u16-normcmp: New file.
8048
8049         New module 'uninorm/u8-normcmp'.
8050         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
8051         declarations.
8052         * lib/uninorm/u8-normcmp.c: New file.
8053         * lib/uninorm/u-normcmp.h: New file.
8054         * modules/uninorm/u8-normcmp: New file.
8055
8056 2009-03-06  Bruno Haible  <bruno@clisp.org>
8057
8058         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
8059         Reported by Eric Blake.
8060
8061 2009-03-06  Eric Blake  <ebb9@byu.net>
8062             Bruno Haible  <bruno@clisp.org>
8063
8064         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
8065         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
8066         condition.
8067         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
8068         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
8069         condition.
8070         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
8071
8072 2009-03-06  Eric Blake  <ebb9@byu.net>
8073
8074         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
8075         to avoid compiler warnings.
8076         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
8077
8078 2009-03-05  Bruno Haible  <bruno@clisp.org>
8079
8080         * tests/test-ftell.c (main): Disable test beyond end of file on
8081         FreeMiNT.
8082         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
8083
8084 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
8085
8086         * lib/filevercmp.c: Move hidden files up in ordering.
8087         * tests/test-filevercmp.c: Add tests for hidden files.
8088
8089 2009-03-04  Bruno Haible  <bruno@clisp.org>
8090
8091         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
8092         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
8093         AM_CFLAGS.
8094         Reported by Simon Josefsson.
8095
8096 2009-03-03  Bruno Haible  <bruno@clisp.org>
8097
8098         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
8099         Reported by Simon Josefsson.
8100
8101         * doc/ld-version-script.texi: Update node reference.
8102
8103 2009-03-03  Bruno Haible  <bruno@clisp.org>
8104
8105         * modules/visibility (License): Change to 'unlimited'.
8106         Suggested by Simon Josefsson.
8107
8108 2009-03-03  Jim Meyering  <meyering@redhat.com>
8109
8110         unlinkdir: cannot_unlink_dir may modify process state
8111         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
8112         it's neither thread-safe nor appropriate for use in a library.
8113
8114 2009-03-03  Eric Blake  <ebb9@byu.net>
8115
8116         test-closein: silence test under Darwin
8117         * tests/test-closein.sh: Ignore stderr from cat, since we don't
8118         care if it dies from EPIPE or EBADF.
8119
8120 2009-03-03  Bruno Haible  <bruno@clisp.org>
8121
8122         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
8123         earlier.
8124         * doc/visibility.texi: Fix @node and @section.
8125
8126 2009-03-03  Simon Josefsson  <simon@josefsson.org>
8127
8128         * doc/gnulib.texi: Link to sections for ld version script and
8129         visibility.
8130         * doc/visibility.texi: Add @node and @section.
8131         * modules/ld-version-script: New module.
8132         * m4/ld-version-script.m4: New file.
8133         * doc/ld-version-script.texi: New file.
8134
8135 2009-03-02  David Lutterkort  <lutter@redhat.com>
8136
8137         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
8138         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8139
8140 2009-03-02  Bruno Haible  <bruno@clisp.org>
8141
8142         * doc/visibility.texi: Mention libtool's -export-symbols option.
8143
8144 2009-03-02  Jim Meyering  <meyering@redhat.com>
8145
8146         announce-gen: new option: --no-print-checksums
8147         * build-aux/announce-gen (usage): Describe it.
8148         (print_checksums): Print a newline here, not in the [*] footnote.
8149         (main): Honor it.
8150
8151 2009-03-01  Bruno Haible  <bruno@clisp.org>
8152
8153         Use socklen_t in the native Windows replacements prototypes.
8154         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
8155         instead of 'int'.
8156         * lib/getsockopt.c (rpl_getsockopt): Likewise.
8157         * lib/setsockopt.c (rpl_setsockopt): Likewise.
8158         * modules/getsockopt (Depends-on): Add socklen.
8159         * modules/setsockopt (Depends-on): Add socklen.
8160
8161 2009-03-01  Bruno Haible  <bruno@clisp.org>
8162
8163         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
8164         least 4.2.
8165
8166 2009-03-01  Eric Blake  <ebb9@byu.net>
8167             Bruno Haible  <bruno@clisp.org>
8168
8169         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
8170         error messages.
8171         * lib/wait-process.c (wait_subprocess): Omit error message about
8172         deadly signal sent to the child of termsigp != NULL.
8173
8174 2009-03-01  Eric Blake  <ebb9@byu.net>
8175
8176         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
8177
8178 2009-03-01  Bruno Haible  <bruno@clisp.org>
8179
8180         Avoid a gcc warning.
8181         * tests/test-sched.c (b): Make global.
8182         Reported by Eric Blake.
8183
8184 2009-01-19  Martin Lambers  <marlam@marlam.de>
8185
8186         Provide POSIX semantics for socket timeout options on W32.
8187         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
8188         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
8189         * modules/setsockopt: Depend on sys_time module for struct timeval.
8190         * modules/getsockopt: Depend on sys_time module for struct timeval.
8191
8192 2009-03-01  Simon Josefsson  <simon@josefsson.org>
8193
8194         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
8195         __USE_GNU, for consistency with netdb.in.h.
8196         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
8197
8198 2009-03-01  Bruno Haible  <bruno@clisp.org>
8199
8200         More support for FreeMiNT.
8201         * lib/fseeko.c (rpl_fseeko): Complete last commit.
8202         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
8203
8204 2009-03-01  Bruno Haible  <bruno@clisp.org>
8205
8206         More support for FreeMiNT.
8207         * lib/fpurge.c (fpurge): Correct last commit.
8208         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
8209
8210 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8211
8212         Fix unportable awk script in vc-list-files.
8213         * build-aux/vc-list-files: In the replacement awk script, use
8214         substr with a second argument of 1, not zero.
8215         Report by Simon Josefsson.
8216
8217 2009-02-28  Bruno Haible  <bruno@clisp.org>
8218
8219         More support for FreeMiNT.
8220         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
8221         to FreeMiNT today.
8222         * lib/fwriting.c (fwriting): Likewise.
8223         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
8224
8225 2009-02-28  Bruno Haible  <bruno@clisp.org>
8226
8227         * tests/test-freadseek.c (main): Disable test beyond end of file on
8228         FreeMiNT.
8229         * tests/test-ftello.c (main): Likewise.
8230         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
8231
8232 2009-02-28  Bruno Haible  <bruno@clisp.org>
8233
8234         Add tentative support for FreeMiNT.
8235         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
8236         * lib/fpurge.c (fpurge): Likewise.
8237         * lib/freadable.c (freadable): Likewise.
8238         * lib/freading.c (freading): Likewise.
8239         * lib/freadptr.c (freadptr): Likewise.
8240         * lib/freadseek.c (freadptrinc): Likewise.
8241         * lib/fseeko.c (rpl_fseeko): Likewise.
8242         * lib/fseterr.c (fseterr): Likewise.
8243         * lib/fwritable.c (fwritable): Likewise.
8244         * lib/fwriting.c (fwriting): Likewise.
8245         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
8246         Hourihane.
8247         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
8248
8249 2009-02-28  Bruno Haible  <bruno@clisp.org>
8250
8251         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
8252         SIGCHLD.
8253         Reported by Jim Meyering.
8254
8255 2009-02-28  Bruno Haible  <bruno@clisp.org>
8256
8257         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
8258         Mention the results of these tests on various platforms.
8259         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
8260         order.
8261         * doc/posix-functions/printf.texi: Likewise.
8262         * doc/posix-functions/snprintf.texi: Likewise.
8263         * doc/posix-functions/sprintf.texi: Likewise.
8264         * doc/posix-functions/vfprintf.texi: Likewise.
8265         * doc/posix-functions/vprintf.texi: Likewise.
8266         * doc/posix-functions/vsnprintf.texi: Likewise.
8267         * doc/posix-functions/vsprintf.texi: Likewise.
8268         * doc/glibc-functions/obstack_printf.texi: Likewise.
8269         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8270
8271 2009-02-28  Bruno Haible  <bruno@clisp.org>
8272
8273         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
8274         Reported by Loïc Minier <lool@dooz.org>.
8275
8276 2009-02-27  Bruno Haible  <bruno@clisp.org>
8277
8278         * gnulib-tool (func_import): Make the sed expression used to create the
8279         sed script for updating the .gitignore file POSIX compliant.
8280         Reported by Eric Blake.
8281
8282 2009-02-27  Bruno Haible  <bruno@clisp.org>
8283
8284         * gnulib-tool (sed): Don't alias as "sed --posix".
8285         Reported by Eric Blake.
8286
8287 2009-02-27  Bruno Haible  <bruno@clisp.org>
8288
8289         Avoid test link errors.
8290         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
8291         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
8292         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
8293         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
8294         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8295
8296 2009-02-27  Bruno Haible  <bruno@clisp.org>
8297
8298         Avoid spurious "(cached)" in configure output.
8299         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
8300         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
8301         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
8302         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
8303         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
8304         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
8305         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
8306         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
8307         Reported by Eric Blake.
8308
8309 2009-02-27  Eric Blake  <ebb9@byu.net>
8310
8311         printf: fix regression in previous patch
8312         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
8313
8314 2009-02-27  Bruno Haible  <bruno@clisp.org>
8315
8316         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
8317         value.
8318         * lib/stdint.in.h: Likewise.
8319         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
8320
8321 2009-02-27  Eric Blake  <ebb9@byu.net>
8322
8323         doc: mention more functions added in cygwin 1.7.0
8324         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
8325         addition.
8326         * doc/posix-functions/open_wmemstream.texi: Likewise.
8327         * doc/posix-functions/wcsnlen.texi: Likewise.
8328         * doc/posix-functions/wcsnrtombs.texi: Likewise.
8329         * doc/posix-functions/wcstod.texi: Likewise.
8330         * doc/posix-functions/wcstof.texi: Likewise.
8331         * doc/posix-functions/wcstoimax.texi: Likewise.
8332         * doc/posix-functions/wcstok.texi: Likewise.
8333         * doc/posix-functions/wcstoumax.texi: Likewise.
8334
8335         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
8336         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
8337         * doc/posix-functions/fprintf.texi: Update.
8338         * doc/posix-functions/printf.texi: Update.
8339         * doc/posix-functions/snprintf.texi: Update.
8340         * doc/posix-functions/sprintf.texi: Update.
8341         * doc/posix-functions/vfprintf.texi: Update.
8342         * doc/posix-functions/vprintf.texi: Update.
8343         * doc/posix-functions/vsnprintf.texi: Update.
8344         * doc/posix-functions/vsprintf.texi: Update.
8345         * doc/glibc-functions/obstack_printf.texi: Update.
8346         * doc/glibc-functions/obstack_vprintf.texi: Update.
8347
8348 2009-02-26  Eric Blake  <ebb9@byu.net>
8349
8350         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
8351         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
8352         compilation bug by using runtime conversion.
8353         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
8354         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
8355         * modules/ceill-tests (Files): Use nan.h.
8356         * modules/floorl-tests (Files): Likewise.
8357         * modules/frexpl-tests (Files): Likewise.
8358         * modules/isnanl-tests (Files): Likewise.
8359         * modules/ldexpl-tests (Files): Likewise.
8360         * modules/roundl-tests (Files): Likewise.
8361         * modules/truncl-tests (Files): Likewise.
8362         * tests/test-ceill.c (main): Use a working NaN.
8363         * tests/test-floorl.c (main): Likewise.
8364         * tests/test-frexpl.c (main): Likewise.
8365         * tests/test-isnan.c (test_long_double): Likewise.
8366         * tests/test-isnanl.h (main): Likewise.
8367         * tests/test-ldexpl.h (main): Likewise.
8368         * tests/test-roundl.h (main): Likewise.
8369         * tests/test-truncl.h (main): Likewise.
8370         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
8371
8372 2009-02-26  Eric Blake  <ebb9@byu.net>
8373             Bruno Haible  <bruno@clisp.org>
8374
8375         Work around a *printf bug with %ls on Solaris.
8376         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
8377         precision is specified, sprintf stops converting the wide string
8378         argument when the number of bytes that have been produced by this
8379         conversion equals or exceeds the precision.
8380         * doc/posix-functions/fprintf.texi: Update.
8381         * doc/posix-functions/printf.texi: Update.
8382         * doc/posix-functions/snprintf.texi: Update.
8383         * doc/posix-functions/sprintf.texi: Update.
8384         * doc/posix-functions/vfprintf.texi: Update.
8385         * doc/posix-functions/vprintf.texi: Update.
8386         * doc/posix-functions/vsnprintf.texi: Update.
8387         * doc/posix-functions/vsprintf.texi: Update.
8388         * doc/glibc-functions/obstack_printf.texi: Update.
8389         * doc/glibc-functions/obstack_vprintf.texi: Update.
8390
8391 2009-02-26  Eric Blake  <ebb9@byu.net>
8392
8393         stdlib: favor compiler check of random.h
8394         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
8395         to avoid an ObjC random.h installed by Swarm.
8396
8397 2009-02-26  Bruno Haible  <bruno@clisp.org>
8398
8399         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
8400         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
8401         Reported by Gary V. Vaughan <gary@gnu.org>.
8402
8403 2009-02-26  Bruno Haible  <bruno@clisp.org>
8404
8405         Fix *printf behaviour regarding the %ls directive.
8406         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
8407         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
8408         NEED_PRINTF_DIRECTIVE_LS.
8409         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
8410         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
8411         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
8412         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
8413         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
8414         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
8415         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
8416         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
8417         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
8418         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
8419         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
8420         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
8421         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
8422         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
8423         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
8424         * doc/posix-functions/fprintf.texi: Update.
8425         * doc/posix-functions/printf.texi: Update.
8426         * doc/posix-functions/snprintf.texi: Update.
8427         * doc/posix-functions/sprintf.texi: Update.
8428         * doc/posix-functions/vfprintf.texi: Update.
8429         * doc/posix-functions/vprintf.texi: Update.
8430         * doc/posix-functions/vsnprintf.texi: Update.
8431         * doc/posix-functions/vsprintf.texi: Update.
8432         * doc/glibc-functions/obstack_printf.texi: Update.
8433         * doc/glibc-functions/obstack_vprintf.texi: Update.
8434         Reported by Eric Blake.
8435
8436 2009-02-25  Bruno Haible  <bruno@clisp.org>
8437
8438         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
8439         with known value.
8440         Reported by Gary V. Vaughan <gary@gnu.org>.
8441
8442 2009-02-25  Bruno Haible  <bruno@clisp.org>
8443
8444         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
8445         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
8446         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
8447         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
8448         Reported by Gary V. Vaughan <gary@gnu.org>.
8449
8450 2009-02-25  Bruno Haible  <bruno@clisp.org>
8451
8452         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
8453         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
8454         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
8455         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
8456         Reported by Gary V. Vaughan <gary@gnu.org>.
8457
8458 2009-02-25  Eric Blake  <ebb9@byu.net>
8459
8460         tests: skip fseek/ftell tests if ungetc is broken
8461         * m4/ungetc.m4: New file.
8462         * modules/fseek-tests: Split test, so ungetc dependency is
8463         separate from rest of test.
8464         * modules/fseeko-tests: Likewise.
8465         * modules/ftell-tests: Likewise.
8466         * modules/ftello-tests: Likewise.
8467         * tests/test-fseek.c (main): Isolate ungetc dependency.
8468         * tests/test-fseeko.c (main): Likewise.
8469         * tests/test-ftell.c (main): Likewise.
8470         * tests/test-ftello.c (main): Likewise.
8471         * tests/test-fseek2.sh: New file.
8472         * tests/test-fseeko2.sh: Likewise.
8473         * tests/test-ftell2.sh: Likewise.
8474         * tests/test-ftello2.sh: Likewise.
8475
8476 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
8477
8478         test-getaddrinfo: fix usage of skip return code 77
8479         * tests/test-gettaddrinfo.c: Return skip code 77 only
8480         for first occurance of skip (4x77 is not 77)
8481
8482 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
8483
8484         strtod: avoid C99 decl-after-statement
8485         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
8486
8487 2009-02-24  Eric Blake  <ebb9@byu.net>
8488
8489         strtod: detect HP-UX 11.31 bug
8490         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
8491         Reported by Gary V. Vaughan.
8492
8493 2009-02-23  Bruno Haible  <bruno@clisp.org>
8494
8495         Fix invalid read past end of memory block.
8496         * lib/vasnprintf.c (DCHAR_SET): Define.
8497         (local_wcslen): Define only when needed.
8498         (local_strnlen, local_wcsnlen): New functions.
8499         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
8500         directives that involve a conversion ourselves.
8501         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
8502         wcsnlen, mbrtowc, wcrtomb.
8503         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
8504         * tests/test-vasprintf-posix.c (test_function): Likewise.
8505         * tests/test-snprintf-posix.h (test_function): Likewise.
8506         * tests/test-sprintf-posix.h (test_function): Likewise.
8507         Reported by Ben Pfaff <blp@cs.stanford.edu>.
8508
8509 2009-02-22  Bruno Haible  <bruno@clisp.org>
8510
8511         Implement new clarified decomposition of Hangul syllables.
8512         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
8513         of type LTV, return only a pairwise decomposition.
8514         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
8515         Likewise.
8516         * tests/uninorm/test-decomposition.c (main): Updated expected result.
8517         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
8518         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
8519
8520 2009-02-22  Bruno Haible  <bruno@clisp.org>
8521
8522         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
8523         zero-length results and shrink excess allocated memory.
8524         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
8525         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
8526         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
8527         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
8528         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
8529         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
8530         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
8531         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
8532         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
8533         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
8534         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
8535         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
8536
8537 2009-02-21  Bruno Haible  <bruno@clisp.org>
8538
8539         * doc/gnulib.texi: Include safe-alloc.texi earlier.
8540         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
8541         spaces after a period. Put a space between a macro name and its
8542         argument list. Trivial rewordings.
8543         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
8544         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
8545         (main): Return 0 explicitly.
8546
8547 2009-02-21  Bruno Haible  <bruno@clisp.org>
8548
8549         Tests for module 'uninorm/filter'.
8550         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
8551         * modules/uninorm/filter-tests: New file.
8552
8553         New module 'uninorm/filter'.
8554         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
8555         uninorm_filter_flush, uninorm_filter_free): New declarations.
8556         * lib/uninorm/uninorm-filter.c: New file.
8557         * modules/uninorm/filter: New file.
8558
8559 2009-02-21  Bruno Haible  <bruno@clisp.org>
8560
8561         Tests for module 'uninorm/nfkc'.
8562         * tests/uninorm/test-nfkc.c: New file.
8563         * tests/uninorm/test-u8-nfkc.c: New file.
8564         * tests/uninorm/test-u16-nfkc.c: New file.
8565         * tests/uninorm/test-u32-nfkc.c: New file.
8566         * tests/uninorm/test-u32-nfkc-big.sh: New file.
8567         * tests/uninorm/test-u32-nfkc-big.c: New file.
8568         * modules/uninorm/nfkc-tests: New file.
8569
8570         New module 'uninorm/nfkc'.
8571         * lib/uninorm/nfkc.c: New file.
8572         * modules/uninorm/nfkc: New file.
8573
8574         Tests for module 'uninorm/nfkd'.
8575         * tests/uninorm/test-nfkd.c: New file.
8576         * tests/uninorm/test-u8-nfkd.c: New file.
8577         * tests/uninorm/test-u16-nfkd.c: New file.
8578         * tests/uninorm/test-u32-nfkd.c: New file.
8579         * tests/uninorm/test-u32-nfkd-big.sh: New file.
8580         * tests/uninorm/test-u32-nfkd-big.c: New file.
8581         * modules/uninorm/nfkd-tests: New file.
8582
8583         New module 'uninorm/nfkd'.
8584         * lib/uninorm/nfkd.c: New file.
8585         * modules/uninorm/nfkd: New file.
8586
8587         Tests for module 'uninorm/nfc'.
8588         * tests/uninorm/test-nfc.c: New file.
8589         * tests/uninorm/test-u8-nfc.c: New file.
8590         * tests/uninorm/test-u16-nfc.c: New file.
8591         * tests/uninorm/test-u32-nfc.c: New file.
8592         * tests/uninorm/test-u32-nfc-big.sh: New file.
8593         * tests/uninorm/test-u32-nfc-big.c: New file.
8594         * modules/uninorm/nfc-tests: New file.
8595
8596         New module 'uninorm/nfc'.
8597         * lib/uninorm/nfc.c: New file.
8598         * modules/uninorm/nfc: New file.
8599
8600         Tests for module 'uninorm/nfd'.
8601         * tests/uninorm/test-nfd.c: New file.
8602         * tests/uninorm/test-u8-nfd.c: New file.
8603         * tests/uninorm/test-u16-nfd.c: New file.
8604         * tests/uninorm/test-u32-nfd.c: New file.
8605         * tests/uninorm/test-u32-nfd-big.sh: New file.
8606         * tests/uninorm/test-u32-nfd-big.c: New file.
8607         * tests/uninorm/test-u32-normalize-big.h: New file.
8608         * tests/uninorm/test-u32-normalize-big.c: New file.
8609         * tests/uninorm/NormalizationTest.txt: New file, created from
8610         Unicode 5.1.0 NormalizationTest.txt.
8611         * modules/uninorm/nfd-tests: New file.
8612
8613         New module 'uninorm/nfd'.
8614         * lib/uninorm/nfd.c: New file.
8615         * modules/uninorm/nfd: New file.
8616
8617         New module 'uninorm/u32-normalize'.
8618         * lib/uninorm/u32-normalize.c: New file.
8619         * modules/uninorm/u32-normalize: New file.
8620
8621         New module 'uninorm/u16-normalize'.
8622         * lib/uninorm/u16-normalize.c: New file.
8623         * modules/uninorm/u16-normalize: New file.
8624
8625         New module 'uninorm/u8-normalize'.
8626         * lib/uninorm/u8-normalize.c: New file.
8627         * lib/uninorm/normalize-internal.h: New file.
8628         * lib/uninorm/u-normalize-internal.h: New file.
8629         * modules/uninorm/u8-normalize: New file.
8630
8631         New module 'uninorm/decompose-internal'.
8632         * lib/uninorm/decompose-internal.c: New file.
8633         * modules/uninorm/decompose-internal: New file.
8634
8635         Tests for module 'uninorm/composition'.
8636         * tests/uninorm/test-composition.c: New file.
8637         * modules/uninorm/composition-tests: New file.
8638
8639         New module 'uninorm/composition'.
8640         * lib/uninorm/composition.c: New file.
8641         * lib/uninorm/composition-table.gperf: New file, generated by
8642         gen-uni-tables.
8643         * modules/uninorm/composition: New file.
8644
8645         Tests for module 'uninorm/compat-decomposition'.
8646         * tests/uninorm/test-compat-decomposition.c: New file.
8647         * modules/uninorm/compat-decomposition-tests: New file.
8648
8649         New module 'uninorm/compat-decomposition'.
8650         * lib/uninorm/decompose-internal.h: New file.
8651         * lib/uninorm/compat-decomposition.c: New file.
8652         * modules/uninorm/compat-decomposition: New file.
8653
8654         Tests for module 'uninorm/canonical-decomposition'.
8655         * tests/uninorm/test-canonical-decomposition.c: New file.
8656         * modules/uninorm/canonical-decomposition-tests: New file.
8657
8658         New module 'uninorm/canonical-decomposition'.
8659         * lib/uninorm/canonical-decomposition.c: New file.
8660         * modules/uninorm/canonical-decomposition: New file.
8661
8662         Tests for module 'uninorm/decomposition'.
8663         * tests/uninorm/test-decomposition.c: New file.
8664         * modules/uninorm/decomposition-tests: New file.
8665
8666         New module 'uninorm/decomposition'.
8667         * lib/uninorm/decomposition.c: New file.
8668         * modules/uninorm/decomposition: New file.
8669
8670         New module 'uninorm/decomposition-table'.
8671         * lib/uninorm/decomposition-table.h: New file.
8672         * lib/uninorm/decomposition-table.c: New file.
8673         * lib/uninorm/decomposition-table1.h: New file, generated by
8674         gen-uni-tables.
8675         * lib/uninorm/decomposition-table2.h: New file, generated by
8676         gen-uni-tables.
8677         * modules/uninorm/decomposition-table: New file.
8678
8679         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
8680         (UC_DECOMP_*): New enumeration items.
8681         (get_decomposition): New function.
8682         (struct decomp_table): New type.
8683         (output_decomposition, output_decomposition_tables): New functions.
8684         (unicode_composition_exclusions): New variable.
8685         (fill_composition_exclusions, debug_output_composition_tables): New
8686         functions.
8687         (main): Accept one more argument. Invoke fill_composition_exclusions.
8688         Output decomposition and composition tables.
8689
8690         New module 'uninorm/base'.
8691         * lib/uninorm.h: New file.
8692         * lib/unictype.h: Update comment.
8693         * modules/uninorm/base: New file.
8694
8695 2009-02-21  David Lutterkort  <lutter@redhat.com>
8696
8697         Tests for module 'safe-alloc'.
8698         * tests/test-safe-alloc.c: New file.
8699         * modules/safe-alloc-tests: New file.
8700
8701         New module 'safe-alloc'.
8702         * lib/safe-alloc.h: New file.
8703         * lib/safe-alloc.c: New file.
8704         * m4/safe-alloc.m4: New file.
8705         * modules/safe-alloc: New file.
8706         * doc/safe-alloc.texi: New file.
8707         * doc/gnulib.texi: Include it.
8708         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
8709         safe-alloc.
8710
8711 2009-02-18  Bruno Haible  <bruno@clisp.org>
8712
8713         Fix link error on non-glibc systems.
8714         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
8715         variable.
8716         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
8717
8718 2009-02-18  Jim Meyering  <meyering@redhat.com>
8719
8720         fts: avoid used-uninitialized error due to recent change
8721         * lib/fts.c (fts_read): Guard uses of the new member,
8722         parent->fts_n_dirs_remaining, since it's not relevant for
8723         the parent of a directory specified on the command-line.
8724
8725 2009-02-17  James Youngman  <jay@gnu.org>
8726             Bruno Haible  <bruno@clisp.org>
8727
8728         * m4/include_next.m4: Reformulate comment.
8729
8730 2009-02-16  Jim Meyering  <meyering@redhat.com>
8731
8732         fts: add #if guards so that the fts_lgpl module still builds
8733         * lib/fts.c: Guard just-added hash-table-using parts with
8734         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
8735         Reported by Simon Josefsson.
8736
8737 2009-02-15  Bruno Haible  <bruno@clisp.org>
8738
8739         * modules/array-mergesort-tests: New file.
8740         * tests/test-array-mergesort.c: New file.
8741
8742         New module 'array-mergesort'.
8743         * modules/array-mergesort: New file.
8744         * lib/array-mergesort.h: New file.
8745
8746 2009-02-15  Bruno Haible  <bruno@clisp.org>
8747
8748         Fix 2009-02-07 commit.
8749         * lib/gen-uni-tables.c (output_predicate, output_category,
8750         output_combclass, output_bidi_category, output_decimal_digit,
8751         output_digit, output_numeric, output_mirror, output_scripts,
8752         output_ident_category, output_simple_mapping): Fix format directives.
8753         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
8754
8755 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
8756
8757         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
8758         fixes are available from IBM.
8759
8760 2009-02-13  Jim Meyering  <meyering@redhat.com>
8761
8762         fts: arrange not to stat non-directories in more cases
8763         This makes GNU find (when it doesn't need to stat each file)
8764         *much* more efficient at traversing reiserfs file systems.
8765         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
8766         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
8767         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
8768         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
8769         (leaf_optimization_applies): New function.
8770         (LCO_hash, LCO_compare): New helper functions.
8771         (link_count_optimize_ok): New function.
8772         (fts_stat): Initialize new member (if dir).
8773         (fts_read): Decrement parent's fts_n_dirs_remaining count if
8774         we've just stat'ed a directory.  Skip the stat call when possible.
8775         ---
8776         Note this AFS-related exchange:
8777         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
8778         and note find's pioctl call in find/fstype.c.
8779         But that is necessary only if you want to enable the
8780         optimization for AFS, and for now, I don't.
8781
8782         fts: move a function definition "up" (no semantic change)
8783         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
8784         "up" to precede upcoming use of a related function.
8785
8786 2009-02-11  Jim Meyering  <meyering@redhat.com>
8787
8788         fts: correct internal computation of nlinks (optimization-related)
8789         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
8790         whether the current entry is a directory, so don't test it.
8791
8792 2009-02-10  Bruno Haible  <bruno@clisp.org>
8793
8794         Tests for module 'uniwbrk/ulc-wordbreaks'.
8795         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
8796         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
8797         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
8798
8799         Tests for module 'uniwbrk/u32-wordbreaks'.
8800         * modules/uniwbrk/u32-wordbreaks-tests: New file.
8801         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
8802
8803         Tests for module 'uniwbrk/u16-wordbreaks'.
8804         * modules/uniwbrk/u16-wordbreaks-tests: New file.
8805         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
8806
8807         Tests for module 'uniwbrk/u8-wordbreaks'.
8808         * modules/uniwbrk/u8-wordbreaks-tests: New file.
8809         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
8810
8811 2009-02-10  Bruno Haible  <bruno@clisp.org>
8812
8813         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
8814         property.
8815         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
8816         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
8817         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
8818
8819 2009-02-10  Simon Josefsson  <simon@josefsson.org>
8820
8821         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
8822         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
8823
8824 2009-02-10  Bruno Haible  <bruno@clisp.org>
8825
8826         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
8827         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
8828         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
8829         * lib/unilbrk/u8-possible-linebreaks.c: Update.
8830         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
8831         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
8832
8833 2009-02-09  Simon Josefsson  <simon@josefsson.org>
8834
8835         * lib/sockets.h (gl_fd_to_handle): New function.
8836
8837         * tests/test-sockets.c: Call gl_fd_to_handle.
8838
8839 2009-02-09  Bruno Haible  <bruno@clisp.org>
8840
8841         * doc/havelib.texi: Document the conventions on bi-arch systems.
8842
8843 2009-02-08  Bruno Haible  <bruno@clisp.org>
8844
8845         Document the AC_LIB_LINKFLAGS macro.
8846         * doc/havelib.texi: New file, mostly written on 2005-05-24.
8847         * doc/gnulib.texi: Include it.
8848
8849 2009-02-08  Bruno Haible  <bruno@clisp.org>
8850
8851         Fix wrong order of sections, compared to TOC.
8852         * doc/gnulib.texi: Include relocatable-maint.texi after the
8853         "Regular expressions" node, not before.
8854
8855 2009-02-08  Bruno Haible  <bruno@clisp.org>
8856
8857         Tests for module 'unicase/totitle'.
8858         * modules/unicase/totitle-tests: New file.
8859
8860         Tests for module 'unicase/tolower'.
8861         * modules/unicase/tolower-tests: New file.
8862
8863         Tests for module 'unicase/toupper'.
8864         * modules/unicase/toupper-tests: New file.
8865         * tests/unicase/test-mapping-part1.h: New file.
8866         * tests/unicase/test-mapping-part2.h: New file.
8867
8868         New module 'unicase/totitle'.
8869         * modules/unicase/totitle: New file.
8870         * lib/unicase/totitle.c: New file.
8871
8872         New module 'unicase/tolower'.
8873         * modules/unicase/tolower: New file.
8874         * lib/unicase/tolower.c: New file.
8875
8876         New module 'unicase/toupper'.
8877         * modules/unicase/toupper: New file.
8878         * lib/unicase/toupper.c: New file.
8879         * lib/unicase/simple-mapping.h: New file.
8880
8881         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
8882         (mapping_table): New structure.
8883         (output_simple_mapping): New function.
8884         (main): Invoke output_simple_mapping_test and output_simple_mapping.
8885         * modules/gen-uni-tables (Description): Update.
8886         * lib/unicase/toupper.h: New file, automatically generated by
8887         gen-uni-tables.
8888         * lib/unicase/tolower.h: New file, automatically generated by
8889         gen-uni-tables.
8890         * lib/unicase/totitle.h: New file, automatically generated by
8891         gen-uni-tables.
8892         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
8893         gen-uni-tables.
8894         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
8895         gen-uni-tables.
8896         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
8897         gen-uni-tables.
8898
8899         New module 'unicase/base'.
8900         * modules/unicase/base: New file.
8901         * lib/unicase.h: New file.
8902
8903 2009-02-08  Bruno Haible  <bruno@clisp.org>
8904
8905         New module 'uniwbrk/ulc-wordbreaks'.
8906         * modules/uniwbrk/ulc-wordbreaks: New file.
8907         * lib/uniwbrk/ulc-wordbreaks.c: New file.
8908
8909         New module 'uniwbrk/u32-wordbreaks'.
8910         * modules/uniwbrk/u32-wordbreaks: New file.
8911         * lib/uniwbrk/u32-wordbreaks.c: New file.
8912
8913         New module 'uniwbrk/u16-wordbreaks'.
8914         * modules/uniwbrk/u16-wordbreaks: New file.
8915         * lib/uniwbrk/u16-wordbreaks.c: New file.
8916
8917         New module 'uniwbrk/u8-wordbreaks'.
8918         * modules/uniwbrk/u8-wordbreaks: New file.
8919         * lib/uniwbrk/u8-wordbreaks.c: New file.
8920         * lib/uniwbrk/u-wordbreaks.h: New file.
8921
8922         New module 'uniwbrk/table'.
8923         * modules/uniwbrk/table: New file.
8924         * lib/uniwbrk/wbrktable.h: New file.
8925         * lib/uniwbrk/wbrktable.c: New file.
8926
8927         New module 'uniwbrk/wordbreak-property'.
8928         * modules/uniwbrk/wordbreak-property: New file.
8929         * lib/uniwbrk/wordbreak-property.c: New file.
8930
8931         * lib/gen-uni-tables.c (WBP_*): New enum items.
8932         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
8933         (unicode_org_wbp): New variable.
8934         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
8935         New functions.
8936         (wbp_table): New structure.
8937         (output_wbp, output_wbrk_tables): New functions.
8938         (main): Accept additional argument. Invoke fill_org_wbp,
8939         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
8940         output_wbrk_tables.
8941         * modules/gen-uni-tables (Description): Update.
8942         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
8943         gen-uni-tables.
8944
8945         New module 'uniwbrk/base'.
8946         * modules/uniwbrk/base: New file.
8947         * lib/uniwbrk.h: New file.
8948
8949 2009-02-08  Bruno Haible  <bruno@clisp.org>
8950
8951         Update to Unicode 5.1.0.
8952         * lib/gen-uni-tables.c (is_property_alphabetic): Include
8953         U+2185..U+2188.
8954         (is_property_default_ignorable_code_point): Don't include characters
8955         of category Cc or Cs and not-a-characters.
8956         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
8957         U+0D79, U+109E, U+109F, U+A60C.
8958         * lib/unictype/bidi_of.h: Regenerated.
8959         * lib/unictype/blocks.h: Regenerated.
8960         * lib/unictype/categ_C.h: Regenerated.
8961         * lib/unictype/categ_Cf.h: Regenerated.
8962         * lib/unictype/categ_Cn.h: Regenerated.
8963         * lib/unictype/categ_L.h: Regenerated.
8964         * lib/unictype/categ_Ll.h: Regenerated.
8965         * lib/unictype/categ_Lm.h: Regenerated.
8966         * lib/unictype/categ_Lo.h: Regenerated.
8967         * lib/unictype/categ_Lu.h: Regenerated.
8968         * lib/unictype/categ_M.h: Regenerated.
8969         * lib/unictype/categ_Mc.h: Regenerated.
8970         * lib/unictype/categ_Me.h: Regenerated.
8971         * lib/unictype/categ_Mn.h: Regenerated.
8972         * lib/unictype/categ_N.h: Regenerated.
8973         * lib/unictype/categ_Nd.h: Regenerated.
8974         * lib/unictype/categ_Nl.h: Regenerated.
8975         * lib/unictype/categ_No.h: Regenerated.
8976         * lib/unictype/categ_P.h: Regenerated.
8977         * lib/unictype/categ_Pd.h: Regenerated.
8978         * lib/unictype/categ_Pe.h: Regenerated.
8979         * lib/unictype/categ_Pf.h: Regenerated.
8980         * lib/unictype/categ_Pi.h: Regenerated.
8981         * lib/unictype/categ_Po.h: Regenerated.
8982         * lib/unictype/categ_Ps.h: Regenerated.
8983         * lib/unictype/categ_S.h: Regenerated.
8984         * lib/unictype/categ_Sk.h: Regenerated.
8985         * lib/unictype/categ_Sm.h: Regenerated.
8986         * lib/unictype/categ_So.h: Regenerated.
8987         * lib/unictype/categ_of.h: Regenerated.
8988         * lib/unictype/combining.h: Regenerated.
8989         * lib/unictype/ctype_alnum.h: Regenerated.
8990         * lib/unictype/ctype_alpha.h: Regenerated.
8991         * lib/unictype/ctype_graph.h: Regenerated.
8992         * lib/unictype/ctype_lower.h: Regenerated.
8993         * lib/unictype/ctype_print.h: Regenerated.
8994         * lib/unictype/ctype_punct.h: Regenerated.
8995         * lib/unictype/ctype_upper.h: Regenerated.
8996         * lib/unictype/decdigit.h: Regenerated.
8997         * lib/unictype/digit.h: Regenerated.
8998         * lib/unictype/mirror.h: Regenerated.
8999         * lib/unictype/numeric.h: Regenerated.
9000         * lib/unictype/pr_alphabetic.h: Regenerated.
9001         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
9002         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
9003         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
9004         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
9005         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
9006         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
9007         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
9008         * lib/unictype/pr_combining.h: Regenerated.
9009         * lib/unictype/pr_dash.h: Regenerated.
9010         * lib/unictype/pr_decimal_digit.h: Regenerated.
9011         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
9012         * lib/unictype/pr_deprecated.h: Regenerated.
9013         * lib/unictype/pr_diacritic.h: Regenerated.
9014         * lib/unictype/pr_extender.h: Regenerated.
9015         * lib/unictype/pr_format_control.h: Regenerated.
9016         * lib/unictype/pr_grapheme_base.h: Regenerated.
9017         * lib/unictype/pr_grapheme_extend.h: Regenerated.
9018         * lib/unictype/pr_grapheme_link.h: Regenerated.
9019         * lib/unictype/pr_id_continue.h: Regenerated.
9020         * lib/unictype/pr_id_start.h: Regenerated.
9021         * lib/unictype/pr_ideographic.h: Regenerated.
9022         * lib/unictype/pr_ignorable_control.h: Regenerated.
9023         * lib/unictype/pr_lowercase.h: Regenerated.
9024         * lib/unictype/pr_math.h: Regenerated.
9025         * lib/unictype/pr_numeric.h: Regenerated.
9026         * lib/unictype/pr_other_alphabetic.h: Regenerated.
9027         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
9028         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
9029         * lib/unictype/pr_other_id_continue.h: Regenerated.
9030         * lib/unictype/pr_other_lowercase.h: Regenerated.
9031         * lib/unictype/pr_other_math.h: Regenerated.
9032         * lib/unictype/pr_punctuation.h: Regenerated.
9033         * lib/unictype/pr_sentence_terminal.h: Regenerated.
9034         * lib/unictype/pr_soft_dotted.h: Regenerated.
9035         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
9036         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
9037         * lib/unictype/pr_unified_ideograph.h: Regenerated.
9038         * lib/unictype/pr_uppercase.h: Regenerated.
9039         * lib/unictype/pr_xid_continue.h: Regenerated.
9040         * lib/unictype/pr_xid_start.h: Regenerated.
9041         * lib/unictype/pr_zero_width.h: Regenerated.
9042         * lib/unictype/scripts.h: Regenerated.
9043         * lib/unictype/scripts_byname.gperf: Regenerated.
9044         * lib/unictype/sy_java_ident.h: Regenerated.
9045         * lib/unilbrk/lbrkprop1.h: Regenerated.
9046         * lib/unilbrk/lbrkprop2.h: Regenerated.
9047         * tests/unictype/test-categ_C.c: Regenerated.
9048         * tests/unictype/test-categ_Cf.c: Regenerated.
9049         * tests/unictype/test-categ_Cn.c: Regenerated.
9050         * tests/unictype/test-categ_L.c: Regenerated.
9051         * tests/unictype/test-categ_Ll.c: Regenerated.
9052         * tests/unictype/test-categ_Lm.c: Regenerated.
9053         * tests/unictype/test-categ_Lo.c: Regenerated.
9054         * tests/unictype/test-categ_Lu.c: Regenerated.
9055         * tests/unictype/test-categ_M.c: Regenerated.
9056         * tests/unictype/test-categ_Mc.c: Regenerated.
9057         * tests/unictype/test-categ_Me.c: Regenerated.
9058         * tests/unictype/test-categ_Mn.c: Regenerated.
9059         * tests/unictype/test-categ_N.c: Regenerated.
9060         * tests/unictype/test-categ_Nd.c: Regenerated.
9061         * tests/unictype/test-categ_Nl.c: Regenerated.
9062         * tests/unictype/test-categ_No.c: Regenerated.
9063         * tests/unictype/test-categ_P.c: Regenerated.
9064         * tests/unictype/test-categ_Pd.c: Regenerated.
9065         * tests/unictype/test-categ_Pe.c: Regenerated.
9066         * tests/unictype/test-categ_Pf.c: Regenerated.
9067         * tests/unictype/test-categ_Pi.c: Regenerated.
9068         * tests/unictype/test-categ_Po.c: Regenerated.
9069         * tests/unictype/test-categ_Ps.c: Regenerated.
9070         * tests/unictype/test-categ_S.c: Regenerated.
9071         * tests/unictype/test-categ_Sk.c: Regenerated.
9072         * tests/unictype/test-categ_Sm.c: Regenerated.
9073         * tests/unictype/test-categ_So.c: Regenerated.
9074         * tests/unictype/test-ctype_alnum.c: Regenerated.
9075         * tests/unictype/test-ctype_alpha.c: Regenerated.
9076         * tests/unictype/test-ctype_graph.c: Regenerated.
9077         * tests/unictype/test-ctype_lower.c: Regenerated.
9078         * tests/unictype/test-ctype_print.c: Regenerated.
9079         * tests/unictype/test-ctype_punct.c: Regenerated.
9080         * tests/unictype/test-ctype_upper.c: Regenerated.
9081         * tests/unictype/test-decdigit.h: Regenerated.
9082         * tests/unictype/test-digit.h: Regenerated.
9083         * tests/unictype/test-numeric.h: Regenerated.
9084         * tests/unictype/test-pr_alphabetic.c: Regenerated.
9085         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
9086         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
9087         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
9088         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
9089         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
9090         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
9091         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
9092         * tests/unictype/test-pr_combining.c: Regenerated.
9093         * tests/unictype/test-pr_dash.c: Regenerated.
9094         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
9095         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
9096         * tests/unictype/test-pr_deprecated.c: Regenerated.
9097         * tests/unictype/test-pr_diacritic.c: Regenerated.
9098         * tests/unictype/test-pr_extender.c: Regenerated.
9099         * tests/unictype/test-pr_format_control.c: Regenerated.
9100         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
9101         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
9102         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
9103         * tests/unictype/test-pr_id_continue.c: Regenerated.
9104         * tests/unictype/test-pr_id_start.c: Regenerated.
9105         * tests/unictype/test-pr_ideographic.c: Regenerated.
9106         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
9107         * tests/unictype/test-pr_lowercase.c: Regenerated.
9108         * tests/unictype/test-pr_math.c: Regenerated.
9109         * tests/unictype/test-pr_numeric.c: Regenerated.
9110         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
9111         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
9112         Regenerated.
9113         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
9114         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
9115         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
9116         * tests/unictype/test-pr_other_math.c: Regenerated.
9117         * tests/unictype/test-pr_punctuation.c: Regenerated.
9118         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
9119         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
9120         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
9121         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
9122         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
9123         * tests/unictype/test-pr_uppercase.c: Regenerated.
9124         * tests/unictype/test-pr_xid_continue.c: Regenerated.
9125         * tests/unictype/test-pr_xid_start.c: Regenerated.
9126         * tests/unictype/test-pr_zero_width.c: Regenerated.
9127
9128         Update to Unicode 5.1.0.
9129         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
9130         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
9131         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
9132         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
9133         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
9134         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
9135         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
9136         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
9137         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
9138         (nonspacing_table_ind): Update.
9139         * tests/uniwidth/test-uc_width2.sh: Update expected result.
9140
9141         Update to Unicode 5.1.0.
9142         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
9143         code transform.
9144         * lib/uniname/uniname.c (unicode_character_name,
9145         unicode_name_character): Add the range 0x1Fxxx to the code transform.
9146         * lib/uniname/uninames.h: Regenerated.
9147         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
9148
9149 2009-02-07  Bruno Haible  <bruno@clisp.org>
9150
9151         Merge gen-ctype and gen-lbrk into a single program.
9152         * lib/gen-uni-tables.c: New file, incorporating
9153         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
9154         Add directory prefixes to the names of the generated files.
9155         * lib/unictype/gen-ctype.c: Remove file.
9156         * lib/unilbrk/gen-lbrk.c: Remove file.
9157         * modules/gen-uni-tables: New file.
9158         * modules/unictype/gen-ctype: Remove file.
9159         * modules/unilbrk/gen-lbrk: Remove file.
9160
9161 2009-02-07  Bruno Haible  <bruno@clisp.org>
9162
9163         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
9164
9165         New module 'unistr/u32-strcoll'.
9166         * modules/unistr/u32-strcoll: New file.
9167         * lib/unistr/u32-strcoll.c: New file.
9168
9169         New module 'unistr/u16-strcoll'.
9170         * modules/unistr/u16-strcoll: New file.
9171         * lib/unistr/u16-strcoll.c: New file.
9172
9173         New module 'unistr/u8-strcoll'.
9174         * modules/unistr/u8-strcoll: New file.
9175         * lib/unistr/u8-strcoll.c: New file.
9176         * lib/unistr/u-strcoll.h: New file.
9177
9178 2009-02-07  Bruno Haible  <bruno@clisp.org>
9179
9180         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
9181         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
9182         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
9183         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
9184         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
9185         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
9186
9187 2009-02-07  Bruno Haible  <bruno@clisp.org>
9188
9189         Make 64-bit clean.
9190         * lib/unictype/gen-ctype.c (output_predicate, output_category,
9191         output_combclass, output_bidi_category, output_decimal_digit,
9192         output_digit, output_numeric, output_mirror, output_scripts,
9193         output_ident_category): Use proper width specifier in format strings.
9194
9195 2009-02-07  Bruno Haible  <bruno@clisp.org>
9196
9197         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
9198         failure behaviour.
9199
9200 2009-02-07  Jim Meyering  <meyering@redhat.com>
9201
9202         regex: avoid compilation failure with upcoming gcc-4.4
9203         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
9204         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
9205         "... error: integer overflow in preprocessor expression".
9206
9207 2009-02-05  Ben Pfaff  <blp@gnu.org>
9208
9209         Fix link errors on Windows when close module is used.
9210         * modules/close: Add $(LIB_CLOSE) to Link section.
9211         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
9212         $(LIB_CLOSE) on Windows.
9213
9214 2009-02-05  Jim Meyering  <meyering@redhat.com>
9215
9216         still avoid unused-parameter warnings, but do it cleanly
9217         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
9218         (get_fs_usage): Cast to void instead.
9219         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
9220         (dev_from_mount_options, read_file_system_list): Cast to void.
9221         Prompted by Bruno Haible.
9222
9223 2009-02-04  Jim Meyering  <meyering@redhat.com>
9224
9225         fsusage.c: correct copyright year
9226         * lib/fsusage.c: Reflect year in which the change is pushed into
9227
9228         avoid misc. warnings
9229         * lib/fsusage.c (UNUSED_PARAM): Define.
9230         (get_fs_usage): Mark parameter "disk" as unused.
9231         * lib/getugroups.c (getgrent): Use "void" in prototype.
9232         * lib/mountlist.c: Mark unused parameters.
9233         (read_file_system_list): Declare a local with "const".
9234         * lib/nanosleep.c (getnow): Declare static.
9235         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
9236
9237         dirfd: set errno upon failure
9238         * lib/dirfd.c: Include <errno.h>.
9239         Set errno to ENOTSUP when returning -1.
9240         * modules/dirfd (Depends-on): Add errno.
9241         Suggested by John Kodis <kodis@comcast.net>.
9242
9243 2009-02-01  Bruno Haible  <bruno@clisp.org>
9244
9245         Don't assume sizeof (long) >= sizeof (void *).
9246         * lib/memcmp.c: Include stdint.h.
9247         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
9248         srcp2 to 'const byte *'.
9249         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
9250         types to uintptr_t.
9251         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
9252         * modules/memcmp (Depends-on): Add stdint.
9253         Reported by Ozkan Sezer <sezeroz@gmail.com>.
9254
9255 2009-01-30  Eric Blake  <ebb9@byu.net>
9256
9257         fix more require-before-expand issues
9258         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
9259         expand, AC_PROG_AWK.
9260         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
9261
9262 2009-01-28  Eric Blake  <ebb9@byu.net>
9263
9264         version-etc: use consistent URL formatting
9265         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
9266         Improve formatting.  Use fputs for string without %.
9267
9268 2009-01-28  Jim Meyering  <meyering@redhat.com>
9269
9270         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
9271         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
9272         "underquoted definition of NAME" from autoconf-2.59.
9273
9274 2009-01-28  Bruno Haible  <bruno@clisp.org>
9275
9276         * doc/gnulib.texi: Add "Obsolete modules" to index.
9277
9278 2009-01-28  Jim Meyering  <meyering@redhat.com>
9279
9280         useless-if-before-free: recognize more variants
9281         * build-aux/useless-if-before-free: Also recognize e.g.,
9282         if (NULL != p) free (p);
9283
9284 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
9285
9286         test-getaddrinfo: skip (don't fail) this test when there's no network
9287         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
9288         on the presumption that it means you lack network access.
9289
9290 2009-01-26  Jim Meyering  <meyering@redhat.com>
9291
9292         fflush: avoid warnings on modern systems
9293         * lib/fflush.c (rpl_fflush): Move declarations of locals,
9294         pos and result, into scopes where they're used.
9295
9296 2009-01-26  Eric Blake  <ebb9@byu.net>
9297
9298         Silence warning reintroduced by recent extensions patch.
9299         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
9300         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
9301         autoconf.
9302
9303         Backport improved autoconf semantics of AC_DEFUN_ONCE.
9304         * m4/00gnulib.m4: New file.
9305         * gnulib-tool (func_get_filelist): Always use it.
9306         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
9307         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
9308
9309 2009-01-25  Bruno Haible  <bruno@clisp.org>
9310
9311         Make test-quotearg work on MacOS X and AIX.
9312         * tests/test-quotearg.sh: New file.
9313         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
9314         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
9315         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
9316         include <libintl.h>.
9317         (fake_locale): Remove variable.
9318         (gettext, dgettext, dcgettext): Remove functions.
9319         (main): Instead of setting a fake locale, set a real locale. Call
9320         textdomain and bindtextdomain.
9321         * modules/quotearg-tests (Files): Add the new files.
9322         (Depends-on): Add gettext, setenv, unsetenv.
9323         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
9324         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
9325         Augment TESTS_ENVIRONMENT.
9326
9327 2009-01-25  Bruno Haible  <bruno@clisp.org>
9328
9329         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
9330         fr_FR.ISO8859-1 locale on MacOS X.
9331         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
9332         ja_JP.eucJP locale on MacOS X.
9333         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
9334         zh_CN.GB18030 locale on MacOS X.
9335
9336 2009-01-25  Bruno Haible  <bruno@clisp.org>
9337
9338         Avoid link errors on MacOS X 10.3.
9339         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
9340         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
9341
9342 2009-01-25  Bruno Haible  <bruno@clisp.org>
9343
9344         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
9345         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
9346         * modules/pipe (Files): Remove m4/posix_spawn.m4.
9347         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
9348         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
9349         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
9350         posix_spawnattr_init, posix_spawnattr_setsigmask,
9351         posix_spawnattr_setflags, posix_spawnattr_destroy.
9352
9353         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
9354         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
9355         * modules/execute (Files): Remove m4/posix_spawn.m4.
9356         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
9357         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
9358         posix_spawnattr_init, posix_spawnattr_setsigmask,
9359         posix_spawnattr_setflags, posix_spawnattr_destroy.
9360
9361 2009-01-25  Bruno Haible  <bruno@clisp.org>
9362
9363         * lib/glthread/threadlib.c: Include <stdlib.h>.
9364
9365 2009-01-25  Bruno Haible  <bruno@clisp.org>
9366
9367         * lib/glthread/threadlib.c (dummy): New declaration.
9368
9369 2009-01-25  Bruno Haible  <bruno@clisp.org>
9370
9371         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
9372         multibyte characters also for the GB18030 encoding. Don't crash when
9373         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
9374
9375 2009-01-25  Bruno Haible  <bruno@clisp.org>
9376
9377         Avoid redefining 'struct random_data' on OSF/1 5.1.
9378         * lib/stdlib.in.h: Include <random.h> if it exists.
9379         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
9380         HAVE_RANDOM_H. Include <random.h> when testing whether
9381         'struct random_data' exists.
9382         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
9383
9384 2009-01-25  Bruno Haible  <bruno@clisp.org>
9385
9386         Don't install charset.alias on MacOS X >= 10.3.
9387         * lib/localcharset.c (DARWIN7): New macro.
9388         (get_charset_aliases): Hardcode the result for Darwin7.
9389         * modules/localcharset (install-exec-local): Don't install
9390         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
9391
9392 2009-01-25  Bruno Haible  <bruno@clisp.org>
9393
9394         Don't install charset.alias on mingw and Cygwin.
9395         * modules/localcharset (install-exec-local): Don't install
9396         charset.alias on mingw and Cygwin, if the file does not yet exist.
9397         The result for these platforms is hardcoded in localcharset.c.
9398
9399 2009-01-25  Bruno Haible  <bruno@clisp.org>
9400
9401         Make it possible again to use AC_GNU_SOURCE together with gnulib.
9402         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
9403         before requiring AC_USE_SYSTEM_EXTENSIONS.
9404
9405 2009-01-25  Jim Meyering  <meyering@redhat.com>
9406
9407         c-strtod: avoid warnings
9408         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
9409         "assignment discards qualifiers from pointer target type" warnings.
9410
9411 2009-01-24  Bruno Haible  <bruno@clisp.org>
9412
9413         Add support for non-UTF-8 locales on MacOS X.
9414         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
9415         canonical encodings. For Darwin 7 and newer, don't map traditional
9416         encodings to UTF-8.
9417         Reported by Vincent Lefevre <vincent@vinc17.org>
9418         at <http://savannah.gnu.org/bugs/?25235>.
9419
9420 2009-01-24  Bruno Haible  <bruno@clisp.org>
9421
9422         * doc/gnulib.texi (Obsolete modules): New section.
9423         Reported by Mike Frysinger <vapier@gentoo.org>.
9424
9425 2009-01-24  Bruno Haible  <bruno@clisp.org>
9426
9427         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
9428         (%.dvi): New rule.
9429
9430 2009-01-24  Bruno Haible  <bruno@clisp.org>
9431
9432         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
9433         Reported by Eric Blake.
9434
9435 2009-01-24  Bruno Haible  <bruno@clisp.org>
9436
9437         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
9438         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
9439         Reported by Gary V. Vaughan <gary@gnu.org>.
9440
9441 2009-01-24  Bruno Haible  <bruno@clisp.org>
9442
9443         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
9444
9445 2009-01-23  Bruno Haible  <bruno@clisp.org>
9446
9447         Make c-strtod, c-strtold usable in libraries.
9448         * lib/c-strtod.c: Include string.h instead of xalloc.h.
9449         (C_STRTOD): Call strdup instead of xstrdup.
9450         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
9451         * modules/c-strtold (Depends-on): Likewise.
9452         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
9453         * NEWS: Mention the change.
9454         Reported by Michael Gold <mgold@ncf.ca>.
9455
9456 2009-01-23  Jim Meyering  <meyering@redhat.com>
9457
9458         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
9459         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
9460         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
9461
9462 2009-01-23  Simon Josefsson  <simon@josefsson.org>
9463
9464         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
9465         GNU CoreUtils.
9466         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
9467         * modules/version-etc (Description): Update.
9468
9469 2009-01-22  Bruno Haible  <bruno@clisp.org>
9470
9471         Cache the C locale object.
9472         * lib/c-strtod.c (c_locale_cache): New variable.
9473         (c_locale): New function.
9474         (C_STRTOD): Use it, and don't call freelocale.
9475         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
9476         Suggested by Paolo Bonzini.
9477
9478 2009-01-21  Bruno Haible  <bruno@clisp.org>
9479
9480         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
9481         conditions other than overflow.
9482
9483 2009-01-21  Bruno Haible  <bruno@clisp.org>
9484
9485         * lib/c-strtod.c: Include errno.h.
9486         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
9487         value from STRTOD_L and STRTOD.
9488
9489 2009-01-21  Bruno Haible  <bruno@clisp.org>
9490         and Jim Meyering  <meyering@redhat.com>
9491
9492         nanosleep: skip configure test (fail it) for apple universal builds
9493         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
9494         universal builds, assume that nanosleep does not work.
9495         * modules/nanosleep (Depends-on): Add multiarch.
9496
9497         mktime: skip configure test (fail it) for apple universal builds
9498         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
9499         universal builds, assume that mktime does not work.
9500         * modules/mktime (Depends-on): Add multiarch.
9501
9502 2009-01-21  Eric Blake  <ebb9@byu.net>
9503
9504         multiarch: avoid expand-before-require warning
9505         * modules/multiarch (configure.ac): Require, rather than expand,
9506         gl_MULTIARCH.
9507         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
9508         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
9509         enforce that all clients require it.  Partial reversion of
9510         2008-12-29 patch.
9511
9512         error: avoid expand-before-require warning
9513         * modules/errno (configure.ac): Require, rather than expand,
9514         gl_HEADER_ERRNO_H.
9515         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
9516         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
9517         enforce that all clients require it.
9518
9519         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
9520         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
9521         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
9522         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
9523
9524 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
9525
9526         Revert:
9527         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
9528
9529         regex: do not depend on obsolete modules.
9530         * modules/regex: Remove memcmp and memmove.
9531
9532 2009-01-20  Bruno Haible  <bruno@clisp.org>
9533
9534         Make the 'link' module link on Windows NT 4.
9535         * lib/link.c (_WIN32_WINNT): Don't define.
9536         (CreateHardLinkFuncType): New type.
9537         (CreateHardLinkFunc, initialized): New variables.
9538         (initialize): New function.
9539         (link): Invoke CreateHardLink indirectly through the function pointer.
9540
9541 2009-01-20  Bruno Haible  <bruno@clisp.org>
9542
9543         Fix compilation failure on mingw.
9544         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
9545
9546 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
9547
9548         * doc/c-strtod.texi: Mention a couple of restrictions.
9549
9550 2009-01-20  Jim Meyering  <meyering@redhat.com>
9551
9552         gettimeofday: move more declarations out of functions
9553         * lib/gettimeofday.c: Move extern declarations of tzset and
9554         gmtime out of containing functions.  Prompted by Bruno Haible.
9555
9556 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
9557
9558         regex: do not depend on obsolete modules.
9559         * modules/regex: Remove memcmp and memmove.
9560
9561 2009-01-19  Bruno Haible  <bruno@clisp.org>
9562
9563         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
9564         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
9565         gl_BIGENDIAN, not AC_C_BIGENDIAN.
9566         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
9567         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
9568
9569 2009-01-19  Bruno Haible  <bruno@clisp.org>
9570
9571         * tests/test-link.c: Include <errno.h>.
9572         (main): Exit with code 77 when a hard link cannot be created due to
9573         the file system.
9574         * tests/test-link.sh: Skip test when a hard link cannot be created due
9575         to the file system.
9576         Suggested by Eric Blake.
9577
9578 2009-01-19  Martin Lambers  <marlam@marlam.de>
9579
9580         * modules/link-tests: New file.
9581         * tests/test-link.sh: New file.
9582         * tests/test-link.c: New file.
9583
9584 2009-01-19  Eric Blake  <ebb9@byu.net>
9585
9586         doc: mention another function added in cygwin 1.7.0
9587         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
9588         Another new function in cygwin 1.7.
9589
9590 2009-01-19  Bruno Haible  <bruno@clisp.org>
9591
9592         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
9593         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
9594         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
9595         gl_BIGENDIAN, not AC_C_BIGENDIAN.
9596         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
9597         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
9598         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
9599         * m4/md4.m4 (gl_MD4): Likewise.
9600         * m4/md5.m4 (gl_MD5): Likewise.
9601         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
9602         * m4/sha1.m4 (gl_SHA1): Likewise.
9603         * m4/sha256.m4 (gl_SHA256): Likewise.
9604         * m4/sha512.m4 (gl_SHA512): Likewise.
9605
9606 2009-01-19  Bruno Haible  <bruno@clisp.org>
9607
9608         * modules/uniname/uniname-tests (Depends-on): Add progname.
9609         * tests/uniname/test-uninames.c: Include progname.h.
9610         (main): Call set_program_name.
9611
9612         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
9613         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
9614         (main): Call set_program_name.
9615
9616         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
9617         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
9618         (main): Call set_program_name.
9619
9620         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
9621         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
9622         (main): Call set_program_name.
9623
9624         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
9625         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
9626         (main): Call set_program_name.
9627
9628         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
9629         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
9630         (main): Call set_program_name.
9631
9632         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
9633         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
9634         (main): Call set_program_name.
9635
9636         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
9637         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
9638         (main): Call set_program_name.
9639
9640         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
9641         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
9642         (main): Call set_program_name.
9643
9644 2009-01-19  Eric Blake  <ebb9@byu.net>
9645
9646         test-unistd: test previous patch
9647         * tests/test-unistd.c: Test *_FILENO macros.
9648
9649         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
9650         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
9651         Guarantee a definition.
9652         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
9653         * modules/unistd-safer (Depends-on): Add dependency on unistd.
9654         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
9655         * lib/dup-safer.c (STDERR_FILENO): Likewise.
9656         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
9657         Likewise.
9658         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
9659         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
9660         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
9661         Likewise.
9662         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
9663         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
9664         (STDERR_FILENO): Likewise.
9665         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
9666         (STDERR_FILENO): Likewise.
9667         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
9668         (STDERR_FILENO): Likewise.
9669         Reported by Elbert Pol.
9670
9671 2009-01-19  Eric Blake  <ebb9@byu.net>
9672
9673         doc: mention more functions added in cygwin 1.7.0
9674         * doc/posix-functions/abort.texi (abort): Update wording related
9675         to cygwin.
9676         * doc/posix-functions/daylight.texi (daylight): Likewise.
9677         * doc/posix-functions/optarg.texi (optarg): Likewise.
9678         * doc/posix-functions/optarg.texi (opterr): Likewise.
9679         * doc/posix-functions/optarg.texi (optind): Likewise.
9680         * doc/posix-functions/optarg.texi (optopt): Likewise.
9681         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
9682         worked in 1.5.x, and was withdrawn in 1.7.
9683         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
9684         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
9685         cygwin versions.
9686         * doc/posix-functions/perror.texi (perror): Likewise.
9687         * doc/posix-functions/printf.texi (printf): Likewise.
9688         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
9689         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
9690         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
9691         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
9692         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
9693         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
9694         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
9695         Likewise.
9696         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
9697         Likewise.
9698         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
9699         this function.
9700         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
9701         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
9702         Likewise.
9703         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
9704         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
9705         * doc/posix-functions/confstr.texi (confstr): Likewise.
9706         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
9707         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
9708         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
9709         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
9710         * doc/posix-functions/fputws.texi (fputws): Likewise.
9711         * doc/posix-functions/fwide.texi (fwide): Likewise.
9712         * doc/posix-functions/getwc.texi (getwc): Likewise.
9713         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
9714         * doc/posix-functions/putwc.texi (putwc): Likewise.
9715         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
9716         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
9717         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
9718         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
9719         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
9720         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
9721         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
9722         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
9723         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
9724         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
9725         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
9726
9727 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
9728
9729         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
9730         * lib/ioctl.c: Include <sys/ioctl.h>.
9731
9732 2009-01-19  Simon Josefsson  <simon@josefsson.org>
9733
9734         * modules/getdate-tests (Depends-on): Add progname.
9735         * tests/test-getdate.c: Use progname module, to avoid link errors
9736         on non-glibc systems.
9737
9738 2009-01-18  Simon Josefsson  <simon@josefsson.org>
9739
9740         * modules/filenamecat-tests (Depends-on): Add progname.
9741         * modules/fstrcmp-tests (Depends-on): Likewise.
9742
9743         * tests/test-filenamecat.c: Use progname module, to avoid link
9744         errors on non-glibc systems.
9745         * tests/test-fstrcmp.c: Likewise.
9746
9747 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
9748
9749         gettimeofday: avoid warning: nested extern declaration of 'localtime'
9750         * lib/gettimeofday.c: Move extern declaration out of function.
9751
9752 2009-01-18  Bruno Haible  <bruno@clisp.org>
9753
9754         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
9755         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
9756         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
9757
9758 2009-01-18  Bruno Haible  <bruno@clisp.org>
9759
9760         * lib/strftime.c (MEMPCPY): Remove unused macro.
9761         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
9762
9763 2009-01-18  Martin Lambers  <marlam@marlam.de>
9764
9765         New module 'link'.
9766         * lib/unistd.in.h (link): New declaration.
9767         * lib/link.c: New file.
9768         * m4/link.m4: New file.
9769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
9770         HAVE_LINK.
9771         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
9772         * modules/link: New file.
9773         * doc/posix-functions/link.texi: Mention the new module.
9774
9775 2009-01-18  Bruno Haible  <bruno@clisp.org>
9776
9777         * tests/test-avltree_list.c (main): Call set_program_name.
9778         * tests/test-avltree_oset.c (main): Likewise.
9779         * tests/test-obstack-printf.c: Include progname.h.
9780         (main): Call set_program_name.
9781         * tests/test-quotearg.c: Include progname.h.
9782         (main): Call set_program_name.
9783         * tests/test-xmemdup0.c: Include progname.h.
9784         (main): Call set_program_name.
9785
9786 2009-01-18  Bruno Haible  <bruno@clisp.org>
9787
9788         New module 'alphasort'.
9789         * lib/dirent.in.h (alphasort): New declaration.
9790         * lib/alphasort.c: New file, from glibc with modifications.
9791         * m4/alphasort.m4: New file.
9792         * modules/alphasort: New file.
9793         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
9794         HAVE_ALPHASORT.
9795         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
9796         HAVE_ALPHASORT.
9797         * doc/posix-functions/alphasort.texi: Mention the new module and the
9798         portability problems.
9799
9800 2009-01-18  Bruno Haible  <bruno@clisp.org>
9801
9802         New module 'scandir'.
9803         * lib/dirent.in.h (scandir): New declaration.
9804         * lib/scandir.c: New file, from glibc with modifications.
9805         * m4/scandir.m4: New file.
9806         * modules/scandir: New file.
9807         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
9808         HAVE_SCANDIR.
9809         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
9810         HAVE_SCANDIR.
9811         * doc/posix-functions/scandir.texi: Mention the new module and the
9812         portability problems.
9813
9814 2009-01-17  Bruno Haible  <bruno@clisp.org>
9815
9816         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
9817         Update documentation.
9818         (func_remove_suffix): Escape all dots in the suffix. Update
9819         documentation.
9820         (func_filter_filelist): Update documentation.
9821         Reported by Ralf Wildenhues.
9822
9823 2009-01-17  Bruno Haible  <bruno@clisp.org>
9824
9825         * modules/dprintf-posix-tests: New file.
9826         * tests/test-dprintf-posix.sh: New file.
9827         * tests/test-dprintf-posix.c: New file.
9828
9829         New modules 'dprintf', 'dprintf-posix'.
9830         * lib/stdio.in.h (dprintf): New declaration.
9831         * lib/dprintf.c: New file.
9832         * m4/dprintf.m4: New file.
9833         * m4/dprintf-posix.m4: New file.
9834         * modules/dprintf: New file.
9835         * modules/dprintf-posix: New file.
9836         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
9837         HAVE_DPRINTF, REPLACE_DPRINTF.
9838         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
9839         HAVE_DPRINTF, REPLACE_DPRINTF.
9840         * doc/posix-functions/dprintf.texi: Mention the new modules.
9841
9842 2009-01-17  Bruno Haible  <bruno@clisp.org>
9843
9844         * modules/vdprintf-posix-tests: New file.
9845         * tests/test-vdprintf-posix.sh: New file.
9846         * tests/test-vdprintf-posix.c: New file.
9847
9848         New modules 'vdprintf', 'vdprintf-posix'.
9849         * lib/stdio.in.h (vdprintf): New declaration.
9850         * lib/vdprintf.c: New file.
9851         * m4/vdprintf.m4: New file.
9852         * m4/vdprintf-posix.m4: New file.
9853         * modules/vdprintf: New file.
9854         * modules/vdprintf-posix: New file.
9855         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
9856         HAVE_VDPRINTF, REPLACE_VDPRINTF.
9857         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
9858         HAVE_VDPRINTF, REPLACE_VDPRINTF.
9859         * doc/posix-functions/vdprintf.texi: Mention the new modules.
9860
9861 2009-01-17  Bruno Haible  <bruno@clisp.org>
9862
9863         Fix replacement of fopen on mingw.
9864         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
9865         mingw.
9866
9867 2009-01-17  Bruno Haible  <bruno@clisp.org>
9868
9869         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
9870         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
9871
9872 2009-01-17  Bruno Haible  <bruno@clisp.org>
9873
9874         Avoid test-fflush2.sh failure on mingw.
9875         * tests/test-fflush2.c: Include binary-io.h.
9876         (main): Put standard input into binary mode.
9877         * modules/fflush-tests (Depends-on): Add binary-io.
9878
9879 2009-01-17  Bruno Haible  <bruno@clisp.org>
9880
9881         * lib/wchar.in.h: In another particular situation, include only the
9882         system's <wchar.h> file.
9883         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
9884         Reported by Albert Chin-A-Young <china@thewrittenword.com>
9885         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
9886
9887 2009-01-17  Bruno Haible  <bruno@clisp.org>
9888
9889         Support for stripping executables in --enable-relocatable.
9890         * build-aux/install-reloc: Expect one more argument, or an environment
9891         variable RELOC_STRIP_PROG. If set, strip the destination program and
9892         its wrapper.
9893         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
9894         RELOC_STRIP_PROG.
9895         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
9896         to set RELOCATABLE_STRIP.
9897         * NEWS: Mention the new Makefile requirement.
9898
9899 2009-01-17  Bruno Haible  <bruno@clisp.org>
9900
9901         * build-aux/install-reloc: Remove debugging information left over by
9902         C compiler on MacOS X.
9903
9904 2009-01-17  Bruno Haible  <bruno@clisp.org>
9905
9906         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
9907         * lib/progreloc.c (find_executable): Fix type of pointer passed to
9908         _NSGetExecutablePath.
9909
9910 2009-01-16  Jim Meyering  <meyering@redhat.com>
9911
9912         strerror: avoid warnings about discarding "const"
9913         * lib/strerror.c (rpl_strerror): Instead of returning a const
9914         string from each and every "case", use a variable, and add a single
9915         cast after the switch.
9916
9917 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
9918
9919         * lib/arpa_inet.in.h: Add extern "C" block for C++.
9920
9921 2009-01-16  Bruno Haible  <bruno@clisp.org>
9922
9923         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
9924         array initializer syntax that also works in C++ mode.
9925         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9926
9927 2009-01-16  Jim Meyering  <meyering@redhat.com>
9928
9929         poll: suppress a warning
9930         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
9931         to ignore "...unsigned expression < 0 is always false" warnings.
9932
9933 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
9934
9935         poll: remove declarations of unused variables
9936         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
9937         sockbuf and optlen.
9938
9939 2009-01-15  Bruno Haible  <bruno@clisp.org>
9940
9941         Make fflush-after-ungetc POSIX compliant on BSD systems.
9942         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
9943         (clear_ungetc_buffer): Implement also for other systems.
9944         (rpl_fflush): On glibc systems, invoke
9945         clear_ungetc_buffer_preserving_position. Otherwise, invoke
9946         clear_ungetc_buffer after fetching the stream's position, not before.
9947
9948 2009-01-15  Bruno Haible  <bruno@clisp.org>
9949
9950         Make fflush-after-ungetc POSIX compliant on glibc systems.
9951         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
9952         after ungetc.
9953         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
9954         (rpl_fflush): On glibc systems, simply call the system's fflush
9955         function after clearing the ungetc buffer.
9956         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
9957         Instead, lseek only to the end of file, then use the system's fseeko
9958         for the rest. On glibc systems, reset the EOF indicator bit.
9959
9960 2009-01-15  Jim Meyering  <meyering@redhat.com>
9961
9962         openmp.m4: revert quote-adding change, for portability to older autoconf
9963         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
9964         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
9965         Simon Josefsson noticed the problem when using autoconf-2.61.
9966
9967 2009-01-15  Bruno Haible  <bruno@clisp.org>
9968
9969         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
9970         * tests/test-fflush2.c (ASSERT): Always fail.
9971         (main): Add two tests for fflush() after ungetc(), taking into account
9972         the Austin Group's clarification.
9973         Suggested by Eric Blake.
9974
9975 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
9976
9977         mktime.m4: remove K&R-style function prototypes
9978         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
9979         for the Sun C++ compiler.
9980
9981 2009-01-14  Bruno Haible  <bruno@clisp.org>
9982
9983         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
9984         while including <wchar.h>.
9985         * lib/wchar.in.h: In two particular situations on HP-UX, include only
9986         the system's <wchar.h> file.
9987         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
9988
9989 2009-01-14  Bruno Haible  <bruno@clisp.org>
9990
9991         * m4/csharp.m4: Don't mention gettext on the serial number line.
9992         * m4/csharpexec.m4: Likewise.
9993         * m4/eaccess.m4: Likewise.
9994         * m4/javaexec.m4: Likewise.
9995         * m4/sig_atomic_t.m4: Likewise.
9996         * m4/tmpdir.m4: Likewise.
9997         * m4/intldir.m4: Bump gettext version.
9998         * m4/lib-ld.m4: Likewise.
9999
10000 2009-01-14  Bruno Haible  <bruno@clisp.org>
10001
10002         * lib/progname.c (set_program_name): Add more comments.
10003         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
10004
10005 2009-01-14  Simon Josefsson  <simon@josefsson.org>
10006
10007         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
10008         were sys/stat.h does not define it.
10009
10010 2009-01-14  Jim Meyering  <meyering@redhat.com>
10011
10012         many *.m4 files: improve m4 quoting
10013         99% of this change was performed by running the following commands:
10014         git ls-files | grep '\.m4$' | xargs perl -pi \
10015           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
10016           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
10017           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
10018           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
10019         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
10020         The remainder were to add Copyright dates, increment serial numbers,
10021         undo some changes in comments, exclude m4/intl.m4, and add quotes
10022         around the "1" in ",1" where the unusual spacing prohibited the
10023         above regexps from doing the job.  For more details, see
10024         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
10025         * m4/acl.m4: Modified.
10026         * m4/afs.m4: Likewise.
10027         * m4/alloca.m4: Likewise.
10028         * m4/argp.m4: Likewise.
10029         * m4/argz.m4: Likewise.
10030         * m4/atexit.m4: Likewise.
10031         * m4/bison-i18n.m4: Likewise.
10032         * m4/bison.m4: Likewise.
10033         * m4/byteswap.m4: Likewise.
10034         * m4/c-stack.m4: Likewise.
10035         * m4/c-strtod.m4: Likewise.
10036         * m4/calloc.m4: Likewise.
10037         * m4/canonicalize-lgpl.m4: Likewise.
10038         * m4/chown.m4: Likewise.
10039         * m4/clock_time.m4: Likewise.
10040         * m4/codeset.m4: Likewise.
10041         * m4/copy-file.m4: Likewise.
10042         * m4/csharp.m4: Likewise.
10043         * m4/csharpcomp.m4: Likewise.
10044         * m4/csharpexec.m4: Likewise.
10045         * m4/d-ino.m4: Likewise.
10046         * m4/d-type.m4: Likewise.
10047         * m4/dirfd.m4: Likewise.
10048         * m4/double-slash-root.m4: Likewise.
10049         * m4/eaccess.m4: Likewise.
10050         * m4/eealloc.m4: Likewise.
10051         * m4/environ.m4: Likewise.
10052         * m4/errno_h.m4: Likewise.
10053         * m4/euidaccess.m4: Likewise.
10054         * m4/execute.m4: Likewise.
10055         * m4/fatal-signal.m4: Likewise.
10056         * m4/fchdir.m4: Likewise.
10057         * m4/fcntl_h.m4: Likewise.
10058         * m4/fileblocks.m4: Likewise.
10059         * m4/filenamecat.m4: Likewise.
10060         * m4/findprog.m4: Likewise.
10061         * m4/flexmember.m4: Likewise.
10062         * m4/fnmatch.m4: Likewise.
10063         * m4/fopen.m4: Likewise.
10064         * m4/fpending.m4: Likewise.
10065         * m4/fprintf-posix.m4: Likewise.
10066         * m4/free.m4: Likewise.
10067         * m4/frexp.m4: Likewise.
10068         * m4/frexpl.m4: Likewise.
10069         * m4/fsusage.m4: Likewise.
10070         * m4/ftruncate.m4: Likewise.
10071         * m4/gc-camellia.m4: Likewise.
10072         * m4/gc-random.m4: Likewise.
10073         * m4/gc.m4: Likewise.
10074         * m4/getaddrinfo.m4: Likewise.
10075         * m4/getcwd-abort-bug.m4: Likewise.
10076         * m4/getcwd-path-max.m4: Likewise.
10077         * m4/getdate.m4: Likewise.
10078         * m4/getdomainname.m4: Likewise.
10079         * m4/getgroups.m4: Likewise.
10080         * m4/gethostname.m4: Likewise.
10081         * m4/gethrxtime.m4: Likewise.
10082         * m4/getline.m4: Likewise.
10083         * m4/getloadavg.m4: Likewise.
10084         * m4/getndelim2.m4: Likewise.
10085         * m4/getpass.m4: Likewise.
10086         * m4/gettext.m4: Likewise.
10087         * m4/gettime.m4: Likewise.
10088         * m4/gettimeofday.m4: Likewise.
10089         * m4/gnulib-common.m4: Likewise.
10090         * m4/group-member.m4: Likewise.
10091         * m4/host-os.m4: Likewise.
10092         * m4/iconv.m4: Likewise.
10093         * m4/iconv_open.m4: Likewise.
10094         * m4/inet_ntop.m4: Likewise.
10095         * m4/inet_pton.m4: Likewise.
10096         * m4/inline.m4: Likewise.
10097         * m4/intldir.m4: Likewise.
10098         * m4/intlmacosx.m4: Likewise.
10099         * m4/intmax.m4: Likewise.
10100         * m4/intmax_t.m4: Likewise.
10101         * m4/inttypes.m4: Likewise.
10102         * m4/inttypes_h.m4: Likewise.
10103         * m4/inttypes-pri.m4: Likewise.
10104         * m4/isapipe.m4: Likewise.
10105         * m4/isnand.m4: Likewise.
10106         * m4/isnanf.m4: Likewise.
10107         * m4/isnanl.m4: Likewise.
10108         * m4/javacomp.m4: Likewise.
10109         * m4/javaexec.m4: Likewise.
10110         * m4/jm-winsz1.m4: Likewise.
10111         * m4/jm-winsz2.m4: Likewise.
10112         * m4/lchown.m4: Likewise.
10113         * m4/lcmessage.m4: Likewise.
10114         * m4/ldexpl.m4: Likewise.
10115         * m4/lib-ld.m4: Likewise.
10116         * m4/lib-link.m4: Likewise.
10117         * m4/libsigsegv.m4: Likewise.
10118         * m4/link-follow.m4: Likewise.
10119         * m4/localcharset.m4: Likewise.
10120         * m4/locale-fr.m4: Likewise.
10121         * m4/locale-ja.m4: Likewise.
10122         * m4/locale-tr.m4: Likewise.
10123         * m4/locale-zh.m4: Likewise.
10124         * m4/lock.m4: Likewise.
10125         * m4/longlong.m4: Likewise.
10126         * m4/ls-mntd-fs.m4: Likewise.
10127         * m4/lstat.m4: Likewise.
10128         * m4/malloc.m4: Likewise.
10129         * m4/mathl.m4: Likewise.
10130         * m4/mbrtowc.m4: Likewise.
10131         * m4/mbstate_t.m4: Likewise.
10132         * m4/mbswidth.m4: Likewise.
10133         * m4/memchr.m4: Likewise.
10134         * m4/memcmp.m4: Likewise.
10135         * m4/memcpy.m4: Likewise.
10136         * m4/memmem.m4: Likewise.
10137         * m4/memmove.m4: Likewise.
10138         * m4/mempcpy.m4: Likewise.
10139         * m4/memrchr.m4: Likewise.
10140         * m4/memset.m4: Likewise.
10141         * m4/minmax.m4: Likewise.
10142         * m4/mkdir-slash.m4: Likewise.
10143         * m4/mkdtemp.m4: Likewise.
10144         * m4/mktime.m4: Likewise.
10145         * m4/mmap-anon.m4: Likewise.
10146         * m4/mountlist.m4: Likewise.
10147         * m4/nanosleep.m4: Likewise.
10148         * m4/nls.m4: Likewise.
10149         * m4/nocrash.m4: Likewise.
10150         * m4/open.m4: Likewise.
10151         * m4/openat.m4: Likewise.
10152         * m4/openmp.m4: Likewise.
10153         * m4/pathmax.m4: Likewise.
10154         * m4/perl.m4: Likewise.
10155         * m4/physmem.m4: Likewise.
10156         * m4/pipe.m4: Likewise.
10157         * m4/po.m4: Likewise.
10158         * m4/poll.m4: Likewise.
10159         * m4/posixtm.m4: Likewise.
10160         * m4/posixver.m4: Likewise.
10161         * m4/printf-frexp.m4: Likewise.
10162         * m4/printf-frexpl.m4: Likewise.
10163         * m4/printf-posix.m4: Likewise.
10164         * m4/printf-posix-rpl.m4: Likewise.
10165         * m4/printf.m4: Likewise.
10166         * m4/progtest.m4: Likewise.
10167         * m4/putenv.m4: Likewise.
10168         * m4/readline.m4: Likewise.
10169         * m4/readlink.m4: Likewise.
10170         * m4/readutmp.m4: Likewise.
10171         * m4/realloc.m4: Likewise.
10172         * m4/regex.m4: Likewise.
10173         * m4/relocatable.m4: Likewise.
10174         * m4/relocatable-lib.m4: Likewise.
10175         * m4/rename-dest-slash.m4: Likewise.
10176         * m4/rename.m4: Likewise.
10177         * m4/rmdir-errno.m4: Likewise.
10178         * m4/rmdir.m4: Likewise.
10179         * m4/roundf.m4: Likewise.
10180         * m4/roundl.m4: Likewise.
10181         * m4/rpmatch.m4: Likewise.
10182         * m4/save-cwd.m4: Likewise.
10183         * m4/selinux-selinux-h.m4: Likewise.
10184         * m4/setenv.m4: Likewise.
10185         * m4/settime.m4: Likewise.
10186         * m4/sig2str.m4: Likewise.
10187         * m4/sig_atomic_t.m4: Likewise.
10188         * m4/signalblocking.m4: Likewise.
10189         * m4/signbit.m4: Likewise.
10190         * m4/sigpipe.m4: Likewise.
10191         * m4/sockets.m4: Likewise.
10192         * m4/sockpfaf.m4: Likewise.
10193         * m4/st_dm_mode.m4: Likewise.
10194         * m4/stat-time.m4: Likewise.
10195         * m4/stdbool.m4: Likewise.
10196         * m4/stdint.m4: Likewise.
10197         * m4/stdint_h.m4: Likewise.
10198         * m4/stpcpy.m4: Likewise.
10199         * m4/stpncpy.m4: Likewise.
10200         * m4/strcase.m4: Likewise.
10201         * m4/strchrnul.m4: Likewise.
10202         * m4/strcspn.m4: Likewise.
10203         * m4/strdup.m4: Likewise.
10204         * m4/strftime.m4: Likewise.
10205         * m4/strndup.m4: Likewise.
10206         * m4/strnlen.m4: Likewise.
10207         * m4/strpbrk.m4: Likewise.
10208         * m4/strptime.m4: Likewise.
10209         * m4/strsep.m4: Likewise.
10210         * m4/strtod.m4: Likewise.
10211         * m4/strtoimax.m4: Likewise.
10212         * m4/strtok_r.m4: Likewise.
10213         * m4/strtol.m4: Likewise.
10214         * m4/strtoll.m4: Likewise.
10215         * m4/strtoul.m4: Likewise.
10216         * m4/strtoull.m4: Likewise.
10217         * m4/strtoumax.m4: Likewise.
10218         * m4/strverscmp.m4: Likewise.
10219         * m4/threadlib.m4: Likewise.
10220         * m4/timegm.m4: Likewise.
10221         * m4/tm_gmtoff.m4: Likewise.
10222         * m4/tmpdir.m4: Likewise.
10223         * m4/tmpfile.m4: Likewise.
10224         * m4/tzset.m4: Likewise.
10225         * m4/uintmax_t.m4: Likewise.
10226         * m4/unlinkdir.m4: Likewise.
10227         * m4/unlocked-io.m4: Likewise.
10228         * m4/uptime.m4: Likewise.
10229         * m4/userspec.m4: Likewise.
10230         * m4/utimbuf.m4: Likewise.
10231         * m4/utime.m4: Likewise.
10232         * m4/utimes-null.m4: Likewise.
10233         * m4/utimes.m4: Likewise.
10234         * m4/vararrays.m4: Likewise.
10235         * m4/vasnprintf.m4: Likewise.
10236         * m4/vfprintf-posix.m4: Likewise.
10237         * m4/vprintf-posix.m4: Likewise.
10238         * m4/wait-process.m4: Likewise.
10239         * m4/wchar_t.m4: Likewise.
10240         * m4/wint_t.m4: Likewise.
10241         * m4/write-any-file.m4: Likewise.
10242         * m4/yield.m4: Likewise.
10243
10244 2009-01-13  Bruno Haible  <bruno@clisp.org>
10245
10246         Avoid test-copy-file.sh failures when ACL support insufficient.
10247         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
10248         TESTS_ENVIRONMENT.
10249         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
10250         Reported by Jim Meyering.
10251
10252 2009-01-13  Bruno Haible  <bruno@clisp.org>
10253
10254         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
10255         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
10256         * modules/unistdio/u8-printf-parse (Files): Likewise.
10257         * modules/unistdio/u32-printf-parse (Files): Likewise.
10258         * modules/unistdio/ulc-printf-parse (Files): Likewise.
10259
10260 2009-01-13  Simon Josefsson  <simon@josefsson.org>
10261
10262         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
10263         and m4/inttypes_h.m4 too.
10264
10265 2009-01-12  Eric Blake  <ebb9@byu.net>
10266
10267         tests: IRIX 6.2 cc can't compile -0.0 into .data
10268         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
10269         rather than at compile-time.
10270         * tests/test-floorl.c (minus_zero): Likewise.
10271         * tests/test-frexpl.c (minus_zero): Likewise.
10272         * tests/test-isnan.c (minus_zerol): Likewise.
10273         * tests/test-isnanl.h (minus_zero): Likewise.
10274         * tests/test-ldexpl.c (minus_zero): Likewise.
10275         * tests/test-roundl.c (minus_zero): Likewise.
10276         * tests/test-signbit.c (minus_zerol): Likewise.
10277         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
10278         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
10279         * tests/test-truncl.c (minus_zero): Likewise.
10280         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
10281         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
10282         Reported by Tom G. Christensen and Nelson H. F. Beebe.
10283
10284 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
10285
10286         regex: fix glibc bug 9697
10287         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
10288         handling.
10289
10290 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
10291
10292         regex: fix glibc bug 697
10293         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
10294         being NULL also if there are no backreferences.
10295
10296 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
10297
10298         regex: merge glibc changes
10299         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
10300         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
10301         re_string_skip_chars, re_string_reconstruct): Likewise.
10302         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
10303
10304 2009-01-07  Jim Meyering  <meyering@redhat.com>
10305
10306         poll: filter through cppi
10307         * lib/poll.c: Indent cpp directives to reflect nesting.
10308
10309 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
10310
10311         poll: don't return uninitialized
10312         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
10313
10314 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
10315
10316         avoid compile failure on AIX 6.1
10317         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
10318         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
10319
10320 2009-01-04  Jim Meyering  <meyering@redhat.com>
10321
10322         remove duplicate inclusion of <stdio.h>
10323         * tests/test-fprintf-posix.c: Likewise.
10324         * tests/test-printf-posix.c: Likewise.
10325         * tests/test-snprintf-posix.c: Likewise.
10326         * tests/test-sprintf-posix.c: Likewise.
10327         * tests/test-vasprintf-posix.c: Likewise.
10328         * tests/test-vfprintf-posix.c: Likewise.
10329         * tests/test-vprintf-posix.c: Likewise.
10330         * tests/test-vsnprintf-posix.c: Likewise.
10331         * tests/test-vsprintf-posix.c: Likewise.
10332
10333 2009-01-03  Jim Meyering  <meyering@redhat.com>
10334
10335         gnulib-tool: fix sed-based filtering
10336         * gnulib-tool (func_filter_filelist): Remove extra backslash
10337         in sed_fff_filter definition.
10338
10339 2009-01-02  Jim Meyering  <meyering@redhat.com>
10340
10341         strftime: avoid compilation failure on Solaris 2.6
10342         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
10343         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
10344         Don't #define mbrlen or mbsinit, since now they're guaranteed to
10345         be available.  Reported by Tom G. Christensen.  Details in
10346         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
10347
10348 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10349             Bruno Haible  <bruno@clisp.org>
10350
10351         Speed up gnulib-tool by doing more string processing through shell
10352         built-ins.
10353         * gnulib-tool (fast_func_append): New variable.
10354         (func_remove_prefix, func_remove_suffix): New functions.
10355         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
10356         (func_filter_filelist): New function.
10357         (func_get_dependencies): Use func_remove_suffix instead of sed.
10358         (func_get_automake_snippet): Use func_filter_filelist instead of a
10359         subshell and sed invocation.
10360
10361 2009-01-01  Bruno Haible  <bruno@clisp.org>
10362
10363         Fix a security bug.
10364         * gnulib-tool (func_import, import, update): Don't allow the characters
10365         '"', '$', '`', '\' in macro arguments that become part of commands that
10366         are evaluated.
10367
10368 2009-01-01  Bruno Haible  <bruno@clisp.org>
10369
10370         * gnulib-tool (func_reset_sigpipe): Add more comments.
10371
10372 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10373
10374         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
10375         func_emit_tests_Makefile_am, func_import): Abort loops early if we
10376         already know the answer.
10377
10378 2009-01-01  Jim Meyering  <meyering@redhat.com>
10379
10380         * lib/version-etc.c (version_etc_va): Update copyright year.
10381
10382 2008-12-30  Bruno Haible  <bruno@clisp.org>
10383
10384         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
10385         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
10386         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
10387
10388 2008-12-29  Eric Blake  <ebb9@byu.net>
10389
10390         multiarch: avoid autoconf AC_REQUIRE bug
10391         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
10392         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
10393         2.63 and older.
10394         Reported by Bruno Haible, and analyzed in
10395         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
10396
10397 2008-12-29  Bruno Haible  <bruno@clisp.org>
10398
10399         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
10400         files in subdirectories correctly.
10401         Reported by Ralf Wildenhues.
10402
10403 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10404
10405         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
10406         rather than 'join FILE -', for Solaris join.
10407
10408 2008-12-29  Bruno Haible  <bruno@clisp.org>
10409
10410         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
10411         quoting.
10412         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
10413         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
10414         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
10415         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
10416         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
10417         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
10418         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
10419         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
10420         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
10421         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
10422         * m4/nls.m4 (AM_NLS): Likewise.
10423         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
10424         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
10425         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
10426         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
10427         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
10428         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
10429         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
10430         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
10431         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
10432         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
10433         * m4/xsize.m4 (gl_XSIZE): Likewise.
10434         Suggested by Jim Meyering.
10435
10436 2008-11-17  Bruce Korb  <bkorb@gnu.org>
10437
10438         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
10439         * lib/parse-duration.c: use a switch instead of cascading if's.
10440
10441 2008-12-29  Eric Blake  <ebb9@byu.net>
10442
10443         wchar.h: supply WEOF on Irix 5.3
10444         * lib/wchar.in.h (wint_t): Also supply WEOF.
10445         * lib/wctype.in.h (wint_t): Likewise.
10446         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
10447         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
10448         Reported by Tom G. Christensen.
10449
10450 2008-12-26  Bruno Haible  <bruno@clisp.org>
10451
10452         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
10453         i486, i586, i686.
10454
10455 2008-12-26  Bruno Haible  <bruno@clisp.org>
10456
10457         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
10458
10459 2008-12-26  Bruno Haible  <bruno@clisp.org>
10460
10461         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
10462         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
10463         not __STDC_CONSTANT_MACROS.
10464         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
10465
10466 2008-12-25  Bruno Haible  <bruno@clisp.org>
10467
10468         Add support for universal builds to vasnprintf.
10469         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
10470         universal builds, guess no.
10471         * modules/vasnprintf-posix (Depends-on): Add multiarch.
10472         * modules/vasprintf-posix (Depends-on): Likewise.
10473         * modules/fprintf-posix (Depends-on): Likewise.
10474         * modules/vfprintf-posix (Depends-on): Likewise.
10475         * modules/snprintf-posix (Depends-on): Likewise.
10476         * modules/vsnprintf-posix (Depends-on): Likewise.
10477         * modules/sprintf-posix (Depends-on): Likewise.
10478         * modules/vsprintf-posix (Depends-on): Likewise.
10479         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
10480         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
10481         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
10482         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
10483         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
10484         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
10485         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
10486
10487         Add support for universal builds to <inttypes.h>.
10488         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
10489         _SCNu64_PREFIX): In Apple
10490         universal builds, define directly, using _LP64.
10491         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
10492         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
10493         * modules/inttypes (Depends-on): Add multiarch.
10494         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
10495
10496         Add support for universal builds to <stdint.h>.
10497         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
10498         universal builds, define directly, using _LP64.
10499         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
10500         Apple universal builds, don't test for the size and suffix of ptrdiff_t
10501         and size_t.
10502         * modules/stdint (Depends-on): Add multiarch.
10503         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
10504
10505         New module 'multiarch'.
10506         * modules/multiarch: New file.
10507         * m4/multiarch.m4: New file.
10508
10509 2008-12-25  Bruno Haible  <bruno@clisp.org>
10510
10511         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
10512
10513 2008-12-25  Bruno Haible  <bruno@clisp.org>
10514
10515         * modules/btowc (License): Relicense under LGPLv2+.
10516         * modules/mbsinit (License): Likewise.
10517         * modules/mbrtowc (License): Likewise.
10518         * modules/wcrtomb (License): Likewise.
10519         * modules/streq (License): Likewise.
10520         Reported by David Lutterkort <lutter@redhat.com>.
10521
10522 2008-12-23  Bruno Haible  <bruno@clisp.org>
10523
10524         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
10525
10526 2008-12-23  Bruno Haible  <bruno@clisp.org>
10527
10528         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
10529         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
10530         GETADDRINFO_LIB, not in LIBS.
10531         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
10532         * modules/canon-host (Link): Likewise.
10533         * NEWS: Mention the change.
10534         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
10535         GETADDRINFO_LIB.
10536
10537 2008-12-22  Bruno Haible  <bruno@clisp.org>
10538
10539         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
10540         * doc/posix-functions/iswalpha_l.texi: Likewise.
10541         * doc/posix-functions/iswblank_l.texi: Likewise.
10542         * doc/posix-functions/iswcntrl_l.texi: Likewise.
10543         * doc/posix-functions/iswctype_l.texi: Likewise.
10544         * doc/posix-functions/iswdigit_l.texi: Likewise.
10545         * doc/posix-functions/iswgraph_l.texi: Likewise.
10546         * doc/posix-functions/iswlower_l.texi: Likewise.
10547         * doc/posix-functions/iswprint_l.texi: Likewise.
10548         * doc/posix-functions/iswpunct_l.texi: Likewise.
10549         * doc/posix-functions/iswspace_l.texi: Likewise.
10550         * doc/posix-functions/iswupper_l.texi: Likewise.
10551         * doc/posix-functions/iswxdigit_l.texi: Likewise.
10552         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
10553         * doc/posix-functions/open_wmemstream.texi: Likewise.
10554         * doc/posix-functions/swscanf.texi: Likewise.
10555         * doc/posix-functions/towctrans_l.texi: Likewise.
10556         * doc/posix-functions/towlower.texi: Likewise.
10557         * doc/posix-functions/towlower_l.texi: Likewise.
10558         * doc/posix-functions/towupper.texi: Likewise.
10559         * doc/posix-functions/towupper_l.texi: Likewise.
10560         * doc/posix-functions/vfwprintf.texi: Likewise.
10561         * doc/posix-functions/vfwscanf.texi: Likewise.
10562         * doc/posix-functions/vswscanf.texi: Likewise.
10563         * doc/posix-functions/vwprintf.texi: Likewise.
10564         * doc/posix-functions/vwscanf.texi: Likewise.
10565         * doc/posix-functions/wcpcpy.texi: Likewise.
10566         * doc/posix-functions/wcpncpy.texi: Likewise.
10567         * doc/posix-functions/wcscasecmp.texi: Likewise.
10568         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
10569         * doc/posix-functions/wcscoll_l.texi: Likewise.
10570         * doc/posix-functions/wcsdup.texi: Likewise.
10571         * doc/posix-functions/wcsncasecmp.texi: Likewise.
10572         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
10573         * doc/posix-functions/wcsnlen.texi: Likewise.
10574         * doc/posix-functions/wcsnrtombs.texi: Likewise.
10575         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
10576         * doc/posix-functions/wctrans_l.texi: Likewise.
10577         * doc/posix-functions/wctype_l.texi: Likewise.
10578         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
10579         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
10580         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
10581         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
10582         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
10583         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
10584         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
10585         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
10586         * doc/glibc-functions/wcschrnul.texi: Likewise.
10587         * doc/glibc-functions/wcsftime_l.texi: Likewise.
10588         * doc/glibc-functions/wcstod_l.texi: Likewise.
10589         * doc/glibc-functions/wcstof_l.texi: Likewise.
10590         * doc/glibc-functions/wcstol_l.texi: Likewise.
10591         * doc/glibc-functions/wcstold_l.texi: Likewise.
10592         * doc/glibc-functions/wcstoll_l.texi: Likewise.
10593         * doc/glibc-functions/wcstoq.texi: Likewise.
10594         * doc/glibc-functions/wcstoul_l.texi: Likewise.
10595         * doc/glibc-functions/wcstoull_l.texi: Likewise.
10596         * doc/glibc-functions/wcstouq.texi: Likewise.
10597         * doc/glibc-functions/wmempcpy.texi: Likewise.
10598
10599 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
10600             Eric Blake  <ebb9@byu.net>
10601             Paolo Bonzini  <bonzini@gnu.org>
10602             Bruno Haible  <bruno@clisp.org>
10603
10604         Make c-stack work on Haiku.
10605         * lib/c-stack.c (SA_ONSTACK): Define fallback.
10606         (c_stack_action): Use SA_ONSTACK flag.
10607
10608 2008-12-22  Bruno Haible  <bruno@clisp.org>
10609
10610         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
10611
10612 2008-12-22  Bruno Haible  <bruno@clisp.org>
10613
10614         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
10615         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
10616         being overridden.
10617         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
10618         New macros.
10619         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
10620         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
10621         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
10622         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
10623
10624 2008-12-22  Bruno Haible  <bruno@clisp.org>
10625
10626         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
10627         from test code.
10628
10629 2008-12-22  Eric Blake  <ebb9@byu.net>
10630
10631         Avoid gcc warnings on cygwin.
10632         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
10633         Avoid unused variable.
10634         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
10635         Likewise.
10636
10637 2008-12-22  Bruno Haible  <bruno@clisp.org>
10638
10639         Remove HAVE_MBRTOWC conditionals.
10640         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
10641         (mbscasecmp): Assume mbrtowc function.
10642         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
10643         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
10644         * lib/mbschr.c: Include mbuiter.h unconditionally.
10645         (mbschr): Assume mbrtowc function.
10646         * lib/mbscspn.c: Include mbuiter.h unconditionally.
10647         (mbscspn): Assume mbrtowc function.
10648         * lib/mbslen.c: Include mbuiter.h unconditionally.
10649         (mbslen): Assume mbrtowc function.
10650         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
10651         (mbsncasecmp): Assume mbrtowc function.
10652         * lib/mbsnlen.c: Include mbiter.h unconditionally.
10653         (mbsnlen): Assume mbrtowc function.
10654         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
10655         (mbspbrk): Assume mbrtowc function.
10656         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
10657         (mbspcasecmp): Assume mbrtowc function.
10658         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
10659         (mbsrchr): Assume mbrtowc function.
10660         * lib/mbssep.c: Include mbuiter.h unconditionally.
10661         (mbssep): Assume mbrtowc function.
10662         * lib/mbsspn.c: Include mbuiter.h unconditionally.
10663         (mbsspn): Assume mbrtowc function.
10664         * lib/mbsstr.c: Include mbuiter.h unconditionally.
10665         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
10666         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
10667         (mbstok_r): Assume mbrtowc function.
10668         * lib/propername.c: Include mbuiter.h unconditionally.
10669         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
10670         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
10671         (trim2): Assume mbrtowc function.
10672         * lib/mbswidth.c (mbsinit): Remove fallback definition.
10673         (mbsnwidth): Assume mbrtowc function.
10674         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
10675         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
10676         fallback definitions.
10677         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
10678
10679 2008-12-22  Bruno Haible  <bruno@clisp.org>
10680
10681         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
10682
10683 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
10684
10685         * modules/regex: Request emulations for the mb*/wc* functions we need.
10686         * m4/regex.m4: Don't look for those functions here.
10687         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
10688
10689 2008-12-22  Bruno Haible  <bruno@clisp.org>
10690
10691         * modules/fnmatch (Depends-on): Remove duplicated dependency.
10692
10693 2008-12-21  Bruno Haible  <bruno@clisp.org>
10694
10695         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
10696         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
10697         (Include): Remove conditionalization.
10698         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
10699         (Include): Remove conditionalization.
10700         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
10701         (Include): Remove conditionalization.
10702         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
10703         * m4/mbfile.m4 (gl_MBFILE): Likewise.
10704         * NEWS: Mention the change.
10705         Reported by Alan Hourihane <alanh@fairlite.co.uk>
10706         via Sergey Poznyakoff <gray@gnu.org.ua>.
10707
10708 2008-12-21  Bruno Haible  <bruno@clisp.org>
10709
10710         * MODULES.html.sh (Extended multibyte and wide character utilities
10711         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
10712         wcrtomb, wcsrtombs.
10713         (Support for systems lacking POSIX:2008): Add accept, bind, close,
10714         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
10715         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
10716         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
10717
10718 2008-12-21  Bruno Haible  <bruno@clisp.org>
10719
10720         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
10721
10722 2008-12-21  Bruno Haible  <bruno@clisp.org>
10723
10724         * modules/wcsnrtombs-tests: New file.
10725         * tests/test-wcsnrtombs1.sh: New file.
10726         * tests/test-wcsnrtombs2.sh: New file.
10727         * tests/test-wcsnrtombs3.sh: New file.
10728         * tests/test-wcsnrtombs4.sh: New file.
10729         * tests/test-wcsnrtombs.c: New file.
10730
10731         New module 'wcsnrtombs'.
10732         * lib/wchar.in.h (wcsnrtombs): New declaration.
10733         * lib/wcsnrtombs.c: New file.
10734         * lib/wcsrtombs-state.c: New file.
10735         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
10736         (internal_state): Remove variable.
10737         * m4/wcsnrtombs.m4: New file.
10738         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
10739         compilation units.
10740         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
10741         HAVE_WCSNRTOMBS.
10742         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
10743         HAVE_WCSNRTOMBS.
10744         * modules/wcsnrtombs: New file.
10745         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
10746         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
10747
10748 2008-12-21  Bruno Haible  <bruno@clisp.org>
10749
10750         * modules/wcsrtombs-tests: New file.
10751         * tests/test-wcsrtombs1.sh: New file.
10752         * tests/test-wcsrtombs2.sh: New file.
10753         * tests/test-wcsrtombs3.sh: New file.
10754         * tests/test-wcsrtombs4.sh: New file.
10755         * tests/test-wcsrtombs.c: New file.
10756
10757         New module 'wcsrtombs'.
10758         * lib/wchar.in.h (wcsrtombs): New declaration.
10759         * lib/wcsrtombs.c: New file.
10760         * m4/wcsrtombs.m4: New file.
10761         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
10762         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
10763         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
10764         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
10765         * modules/wcsrtombs: New file.
10766         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
10767         bugs.
10768
10769 2008-12-21  Bruno Haible  <bruno@clisp.org>
10770
10771         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
10772         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
10773         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
10774         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
10775         if not correct.
10776         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
10777         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
10778         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10779         m4/locale-zh.m4, m4/codeset.m4.
10780         * doc/posix-functions/wcrtomb.texi: Document the bug.
10781
10782 2008-12-21  Bruno Haible  <bruno@clisp.org>
10783
10784         Work around a btowc() bug on IRIX 6.5.
10785         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
10786         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
10787         REPLACE_WTOBC if not.
10788         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
10789         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
10790         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
10791
10792 2008-12-21  Bruno Haible  <bruno@clisp.org>
10793
10794         * modules/wcrtomb-tests: New file.
10795         * tests/test-wcrtomb.sh: New file.
10796         * tests/test-wcrtomb.c: New file.
10797
10798         New module 'wcrtomb'.
10799         * lib/wchar.in.h (wcrtomb): New declaration.
10800         * lib/wcrtomb.c: New file.
10801         * m4/wcrtomb.m4: New file.
10802         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
10803         HAVE_WCRTOMB.
10804         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
10805         HAVE_WCRTOMB.
10806         * modules/wcrtomb: New file.
10807         * doc/posix-functions/wcrtomb.texi: Mention the new module.
10808
10809 2008-12-21  Bruno Haible  <bruno@clisp.org>
10810
10811         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
10812         * modules/mbsrtowcs (Files): Likewise.
10813         * modules/wctob (Files): Likewise.
10814         * modules/c-strcase-tests (Files): Likewise.
10815         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
10816         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
10817         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
10818         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
10819         * modules/vasnprintf-posix-tests (Files): Likewise.
10820
10821 2008-12-21  William Pursell  <bill.pursell@gmail.com>
10822
10823         gitlog-to-changelog: pass all command-line arguments to git-log
10824         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
10825         it is sometimes convenient to filter the commits in various ways.
10826         gitlog-to-changelog only allows --since to specify a start date,
10827         but git-log itself supports many other filtering mechanisms.
10828         At the moment, I want to filter by branch name.  Rather than
10829         adding a --branch option to gitlog-to-changelog, it seems more
10830         flexible to simply pass all options directly to git-log and let
10831         git do the work.  Notice that this effectively makes --since a
10832         redundant option for gitlog-to-changelog, but removing it would
10833         require current usage to change since calls would then require
10834         an additional '--'.
10835
10836 2008-12-21  Bruno Haible  <bruno@clisp.org>
10837
10838         * modules/mbsnrtowcs-tests: New file.
10839         * tests/test-mbsnrtowcs1.sh: New file.
10840         * tests/test-mbsnrtowcs2.sh: New file.
10841         * tests/test-mbsnrtowcs3.sh: New file.
10842         * tests/test-mbsnrtowcs4.sh: New file.
10843         * tests/test-mbsnrtowcs.c: New file.
10844
10845         New module 'mbsnrtowcs'.
10846         * lib/wchar.in.h (mbsnrtowcs): New declaration.
10847         * lib/mbsnrtowcs.c: New file.
10848         * lib/mbsrtowcs-state.c: New file.
10849         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
10850         (internal_state): Remove variable.
10851         * m4/mbsnrtowcs.m4: New file.
10852         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
10853         compilation units.
10854         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
10855         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
10856         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
10857         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
10858         * modules/mbsnrtowcs: New file.
10859         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
10860         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
10861         portability problem.
10862
10863 2008-12-21  Bruno Haible  <bruno@clisp.org>
10864
10865         Work around mbsrtowcs bug.
10866         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
10867         (gl_FUNC_MBSRTOWCS): Invoke it.
10868         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
10869         m4/locale-zh.m4.
10870         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
10871
10872 2008-12-21  Bruno Haible  <bruno@clisp.org>
10873
10874         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
10875
10876 2008-12-21  Bruno Haible  <bruno@clisp.org>
10877
10878         Update doc for AIX.
10879         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
10880         16-bit wchar_t type.
10881         * doc/posix-functions/btowc.texi: Likewise.
10882         * doc/posix-functions/fgetwc.texi: Likewise.
10883         * doc/posix-functions/fgetws.texi: Likewise.
10884         * doc/posix-functions/fputwc.texi: Likewise.
10885         * doc/posix-functions/fputws.texi: Likewise.
10886         * doc/posix-functions/fwide.texi: Likewise.
10887         * doc/posix-functions/fwprintf.texi: Likewise.
10888         * doc/posix-functions/fwscanf.texi: Likewise.
10889         * doc/posix-functions/getwchar.texi: Likewise.
10890         * doc/posix-functions/getwc.texi: Likewise.
10891         * doc/posix-functions/iswalnum.texi: Likewise.
10892         * doc/posix-functions/iswalpha.texi: Likewise.
10893         * doc/posix-functions/iswblank.texi: Likewise.
10894         * doc/posix-functions/iswcntrl.texi: Likewise.
10895         * doc/posix-functions/iswctype.texi: Likewise.
10896         * doc/posix-functions/iswdigit.texi: Likewise.
10897         * doc/posix-functions/iswgraph.texi: Likewise.
10898         * doc/posix-functions/iswlower.texi: Likewise.
10899         * doc/posix-functions/iswprint.texi: Likewise.
10900         * doc/posix-functions/iswpunct.texi: Likewise.
10901         * doc/posix-functions/iswspace.texi: Likewise.
10902         * doc/posix-functions/iswupper.texi: Likewise.
10903         * doc/posix-functions/iswxdigit.texi: Likewise.
10904         * doc/posix-functions/mbrtowc.texi: Likewise.
10905         * doc/posix-functions/mbsrtowcs.texi: Likewise.
10906         * doc/posix-functions/mbstowcs.texi: Likewise.
10907         * doc/posix-functions/mbtowc.texi: Likewise.
10908         * doc/posix-functions/putwchar.texi: Likewise.
10909         * doc/posix-functions/putwc.texi: Likewise.
10910         * doc/posix-functions/swprintf.texi: Likewise.
10911         * doc/posix-functions/tolower.texi: Likewise.
10912         * doc/posix-functions/toupper.texi: Likewise.
10913         * doc/posix-functions/towctrans.texi: Likewise.
10914         * doc/posix-functions/ungetwc.texi: Likewise.
10915         * doc/posix-functions/vswprintf.texi: Likewise.
10916         * doc/posix-functions/wcrtomb.texi: Likewise.
10917         * doc/posix-functions/wcscat.texi: Likewise.
10918         * doc/posix-functions/wcschr.texi: Likewise.
10919         * doc/posix-functions/wcscmp.texi: Likewise.
10920         * doc/posix-functions/wcscoll.texi: Likewise.
10921         * doc/posix-functions/wcscpy.texi: Likewise.
10922         * doc/posix-functions/wcscspn.texi: Likewise.
10923         * doc/posix-functions/wcsftime.texi: Likewise.
10924         * doc/posix-functions/wcslen.texi: Likewise.
10925         * doc/posix-functions/wcsncat.texi: Likewise.
10926         * doc/posix-functions/wcsncmp.texi: Likewise.
10927         * doc/posix-functions/wcsncpy.texi: Likewise.
10928         * doc/posix-functions/wcspbrk.texi: Likewise.
10929         * doc/posix-functions/wcsrchr.texi: Likewise.
10930         * doc/posix-functions/wcsrtombs.texi: Likewise.
10931         * doc/posix-functions/wcsspn.texi: Likewise.
10932         * doc/posix-functions/wcsstr.texi: Likewise.
10933         * doc/posix-functions/wcstod.texi: Likewise.
10934         * doc/posix-functions/wcstof.texi: Likewise.
10935         * doc/posix-functions/wcstoimax.texi: Likewise.
10936         * doc/posix-functions/wcstok.texi: Likewise.
10937         * doc/posix-functions/wcstold.texi: Likewise.
10938         * doc/posix-functions/wcstoll.texi: Likewise.
10939         * doc/posix-functions/wcstol.texi: Likewise.
10940         * doc/posix-functions/wcstombs.texi: Likewise.
10941         * doc/posix-functions/wcstoull.texi: Likewise.
10942         * doc/posix-functions/wcstoul.texi: Likewise.
10943         * doc/posix-functions/wcstoumax.texi: Likewise.
10944         * doc/posix-functions/wcswidth.texi: Likewise.
10945         * doc/posix-functions/wcsxfrm.texi: Likewise.
10946         * doc/posix-functions/wctob.texi: Likewise.
10947         * doc/posix-functions/wctomb.texi: Likewise.
10948         * doc/posix-functions/wctrans.texi: Likewise.
10949         * doc/posix-functions/wctype.texi: Likewise.
10950         * doc/posix-functions/wcwidth.texi: Likewise.
10951         * doc/posix-functions/wmemchr.texi: Likewise.
10952         * doc/posix-functions/wmemcmp.texi: Likewise.
10953         * doc/posix-functions/wmemcpy.texi: Likewise.
10954         * doc/posix-functions/wmemmove.texi: Likewise.
10955         * doc/posix-functions/wmemset.texi: Likewise.
10956         * doc/posix-functions/wprintf.texi: Likewise.
10957         * doc/posix-functions/wscanf.texi: Likewise.
10958
10959 2008-12-21  Bruno Haible  <bruno@clisp.org>
10960
10961         Update doc for HP-UX 11.11.
10962         * doc/posix-functions/btowc.texi: Clarify that the function is missing
10963         in HP-UX version 11.00, not in all versions of HP-UX 11.
10964         * doc/posix-functions/fwide.texi: Likewise.
10965         * doc/posix-functions/fwprintf.texi: Likewise.
10966         * doc/posix-functions/fwscanf.texi: Likewise.
10967         * doc/posix-functions/inet_ntop.texi: Likewise.
10968         * doc/posix-functions/inet_pton.texi: Likewise.
10969         * doc/posix-functions/mbrlen.texi: Likewise.
10970         * doc/posix-functions/mbrtowc.texi: Likewise.
10971         * doc/posix-functions/mbsinit.texi: Likewise.
10972         * doc/posix-functions/mbsrtowcs.texi: Likewise.
10973         * doc/posix-functions/swprintf.texi: Likewise.
10974         * doc/posix-functions/swscanf.texi: Likewise.
10975         * doc/posix-functions/towctrans.texi: Likewise.
10976         * doc/posix-functions/vfwprintf.texi: Likewise.
10977         * doc/posix-functions/vswprintf.texi: Likewise.
10978         * doc/posix-functions/vwprintf.texi: Likewise.
10979         * doc/posix-functions/wcrtomb.texi: Likewise.
10980         * doc/posix-functions/wcsrtombs.texi: Likewise.
10981         * doc/posix-functions/wcsstr.texi: Likewise.
10982         * doc/posix-functions/wctob.texi: Likewise.
10983         * doc/posix-functions/wctrans.texi: Likewise.
10984         * doc/posix-functions/wmemchr.texi: Likewise.
10985         * doc/posix-functions/wmemcmp.texi: Likewise.
10986         * doc/posix-functions/wmemcpy.texi: Likewise.
10987         * doc/posix-functions/wmemmove.texi: Likewise.
10988         * doc/posix-functions/wmemset.texi: Likewise.
10989         * doc/posix-functions/wprintf.texi: Likewise.
10990         * doc/posix-functions/wscanf.texi: Likewise.
10991
10992 2008-12-21  Bruno Haible  <bruno@clisp.org>
10993
10994         Work around a portability problem.
10995         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
10996         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
10997
10998 2008-12-20  Bruno Haible  <bruno@clisp.org>
10999
11000         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
11001         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
11002         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
11003         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
11004         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
11005
11006         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
11007         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
11008         set.
11009         (GNULIB_defined_mbstate_t): New macro.
11010         (mbsinit): Redefine if REPLACE_MBSINIT is set.
11011         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
11012         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
11013         reuses the system's mbrtowc function but works around the bugs.
11014         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
11015         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
11016         macros.
11017         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
11018         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
11019         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
11020         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
11021         REPLACE_MBSINIT if mbsinit needs to be overridden.
11022         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
11023         REPLACE_MBSINIT, REPLACE_MBRTOWC.
11024         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
11025         REPLACE_MBSINIT, REPLACE_MBRTOWC.
11026         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
11027         m4/locale-zh.m4.
11028         (Depends): Add mbsinit.
11029         * modules/mbsinit (Depends): Add mbrtowc.
11030         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
11031
11032 2008-12-20  Bruno Haible  <bruno@clisp.org>
11033
11034         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
11035         so that there are no conversion errors on AIX.
11036         * tests/test-mbsrtowcs.c (main): LIkewise.
11037
11038 2008-12-20  Bruno Haible  <bruno@clisp.org>
11039
11040         Work around wctob bug on Solaris <= 9.
11041         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
11042         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
11043         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
11044         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
11045         * modules/wctob (Files): Add m4/locale-fr.m4.
11046         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
11047
11048 2008-12-20  Bruno Haible  <bruno@clisp.org>
11049
11050         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
11051         /dev/null.
11052         * tests/test-select-in.sh: Likewise.
11053         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11054
11055 2008-12-20  Bruno Haible  <bruno@clisp.org>
11056
11057         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
11058         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
11059         Cygwin 1.5.x.
11060
11061 2008-12-20  Bruno Haible  <bruno@clisp.org>
11062
11063         Ensure mbstate_t is defined on HP-UX 11.11.
11064         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
11065         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
11066         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
11067         AC_USE_SYSTEM_EXTENSIONS.
11068         * modules/fnmatch (Depends-on): Add extensions.
11069         * modules/mbrlen (Depends-on): Likewise.
11070         * modules/mbrtowc (Depends-on): Likewise.
11071         * modules/mbsinit (Depends-on): Likewise.
11072         * modules/mbsrtowcs (Depends-on): Likewise.
11073         * modules/mbswidth (Depends-on): Likewise.
11074         * modules/quotearg (Depends-on): Likewise.
11075         * modules/strftime (Depends-on): Likewise.
11076
11077 2008-12-20  Bruno Haible  <bruno@clisp.org>
11078
11079         Ensure wctob is declared on IRIX 6.5.
11080         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
11081         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
11082         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
11083         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
11084         of HAVE_WCTOB.
11085         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
11086         HAVE_WCTOB.
11087         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
11088
11089 2008-12-19  Bruno Haible  <bruno@clisp.org>
11090
11091         * modules/mbsrtowcs-tests: New file.
11092         * tests/test-mbsrtowcs1.sh: New file.
11093         * tests/test-mbsrtowcs2.sh: New file.
11094         * tests/test-mbsrtowcs3.sh: New file.
11095         * tests/test-mbsrtowcs4.sh: New file.
11096         * tests/test-mbsrtowcs.c: New file.
11097
11098         New module 'mbsrtowcs'.
11099         * lib/wchar.in.h (mbsrtowcs): New declaration.
11100         * lib/mbsrtowcs.c: New file.
11101         * m4/mbsrtowcs.m4: New file.
11102         * modules/mbsrtowcs: New file.
11103         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
11104         HAVE_MBSRTOWCS.
11105         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
11106         HAVE_MBSRTOWCS.
11107         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
11108
11109 2008-12-19  Bruno Haible  <bruno@clisp.org>
11110
11111         New module 'mbrlen'.
11112         * lib/wchar.in.h (mbrlen): New declaration.
11113         * lib/mbrlen.c: New file.
11114         * m4/mbrlen.m4: New file.
11115         * modules/mbrlen: New file.
11116         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
11117         HAVE_MBRLEN.
11118         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
11119         HAVE_MBRLEN.
11120         * doc/posix-functions/mbrlen.texi: Document the new module.
11121
11122 2008-12-19  Bruno Haible  <bruno@clisp.org>
11123
11124         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
11125         * modules/mbrtowc (Depends-on): Add verify.
11126         Suggested by Paul Eggert.
11127
11128 2008-12-18  Bruno Haible  <bruno@clisp.org>
11129
11130         * modules/mbsinit-tests: New file.
11131         * tests/test-mbsinit.sh: New file.
11132         * tests/test-mbsinit.c: New file.
11133
11134 2008-12-18  Bruno Haible  <bruno@clisp.org>
11135
11136         * modules/mbrtowc-tests: New file.
11137         * tests/test-mbrtowc1.sh: New file.
11138         * tests/test-mbrtowc2.sh: New file.
11139         * tests/test-mbrtowc3.sh: New file.
11140         * tests/test-mbrtowc4.sh: New file.
11141         * tests/test-mbrtowc.c: New file.
11142
11143         New module 'mbrtowc'.
11144         * lib/wchar.in.h (mbstate_t): Override when the system does not have
11145         mbsinit and mbrtowc.
11146         (mbrtowc): New declaration.
11147         * lib/mbrtowc.c: New file.
11148         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
11149         * modules/mbrtowc: New file.
11150         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
11151         HAVE_MBRTOWC.
11152         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
11153         HAVE_MBRTOWC.
11154         * doc/posix-functions/mbrtowc.texi: Document the new module.
11155
11156 2008-12-18  Bruno Haible  <bruno@clisp.org>
11157
11158         New module 'wctob'.
11159         * lib/wchar.in.h (wctob): New declaration.
11160         * lib/wctob.c: New file.
11161         * m4/wctob.m4: New file.
11162         * modules/wctob: New file.
11163         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
11164         HAVE_WCTOB.
11165         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
11166         * doc/posix-functions/wctob.texi: Document the new module.
11167
11168 2008-12-18  Bruno Haible  <bruno@clisp.org>
11169
11170         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
11171         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
11172
11173 2008-12-18  Simon Josefsson  <simon@josefsson.org>
11174
11175         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
11176         G. Christensen" <tgc@jupiterrise.com>.
11177
11178         * lib/flock.c: Need to include errno.h.  Reported by "Tom
11179         G. Christensen" <tgc@jupiterrise.com>.
11180
11181         * lib/flock.c: Need to include string.h.  Reported by "Tom
11182         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
11183         <ebb9@byu.net>.
11184
11185 2008-12-18  Bruno Haible  <bruno@clisp.org>
11186
11187         * m4/locale-ja.m4: New file, from GNU gettext.
11188
11189 2008-12-17  Bruno Haible  <bruno@clisp.org>
11190
11191         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
11192         Suggested by Eric Blake.
11193
11194 2008-12-17  Bruno Haible  <bruno@clisp.org>
11195
11196         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
11197
11198 2008-12-17  Bruno Haible  <bruno@clisp.org>
11199
11200         * lib/mbsinit.c: Include verify.h. Verify an assumption.
11201         * modules/mbsinit (Depends-on): Add verify.
11202         Suggested by Paul Eggert.
11203
11204 2008-12-17  Bruno Haible  <bruno@clisp.org>
11205
11206         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
11207         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
11208         gl_FUNC_MBRTOWC.
11209         * m4/mbiter.m4 (gl_MBITER): LIkewise.
11210         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
11211         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
11212         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
11213         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
11214         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
11215         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
11216         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
11217         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
11218         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
11219         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
11220         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
11221         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
11222         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
11223         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
11224         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
11225         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
11226         * modules/trim (configure.ac): Likewise.
11227
11228 2008-12-17  Bruno Haible  <bruno@clisp.org>
11229
11230         * modules/btowc-tests: New file.
11231         * tests/test-btowc1.sh: New file.
11232         * tests/test-btowc2.sh: New file.
11233         * tests/test-btowc.c: New file.
11234
11235         New module 'btowc'.
11236         * lib/wchar.in.h (btowc): New declaration.
11237         * lib/btowc.c: New file.
11238         * m4/btowc.m4: New file.
11239         * modules/btowc: New file.
11240         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
11241         HAVE_BTOWC.
11242         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
11243         * doc/posix-functions/btowc.texi: Document the new module.
11244
11245 2008-12-17  Bruno Haible  <bruno@clisp.org>
11246
11247         New module 'mbsinit'.
11248         * lib/wchar.in.h (mbsinit): New declaration.
11249         * lib/mbsinit.c: New file.
11250         * m4/mbsinit.m4: New file.
11251         * modules/mbsinit: New file.
11252         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
11253         HAVE_MBSINIT.
11254         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
11255         HAVE_MBSINIT.
11256         * doc/posix-functions/mbsinit.texi: Document the new module.
11257
11258 2008-12-16  Bruno Haible  <bruno@clisp.org>
11259
11260         * lib/unistd.in.h: Add comment.
11261         * tests/test-environ.c: Don't include <stdlib.h>.
11262
11263 2008-12-16  Bruno Haible  <bruno@clisp.org>
11264
11265         * lib/parse-duration.h (parse_duration): Document return value
11266         convention.
11267         * lib/parse-duration.c: Include specification header first. Add
11268         comments.
11269         (_): Remove macro.
11270         (parse_year_month_day, parse_hour_minute_second): Move side effects
11271         outside of strchr call.
11272         (parse_non_iso8601): Move side effects outside of isspace call.
11273         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
11274         call.
11275
11276 2008-12-16  Bruno Haible  <bruno@clisp.org>
11277
11278         * tests/test-parse-duration.sh: Produce no output when the test
11279         succeeds.
11280
11281 2008-12-16  Bruno Haible  <bruno@clisp.org>
11282
11283         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
11284         expressions.
11285
11286 2008-12-15  Bruno Haible  <bruno@clisp.org>
11287
11288         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
11289         * doc/glibc-functions/flistxattr.texi: Likewise.
11290         * doc/glibc-functions/fopencookie.texi: Likewise.
11291         * doc/glibc-functions/fremovexattr.texi: Likewise.
11292         * doc/glibc-functions/fsetxattr.texi: Likewise.
11293         * doc/glibc-functions/getxattr.texi: Likewise.
11294         * doc/glibc-functions/lgetxattr.texi: Likewise.
11295         * doc/glibc-functions/listxattr.texi: Likewise.
11296         * doc/glibc-functions/llistxattr.texi: Likewise.
11297         * doc/glibc-functions/lremovexattr.texi: Likewise.
11298         * doc/glibc-functions/lsetxattr.texi: Likewise.
11299         * doc/glibc-functions/removexattr.texi: Likewise.
11300         * doc/glibc-functions/setxattr.texi: Likewise.
11301         * doc/posix-functions/open_memstream.texi: Likewise.
11302
11303 2008-12-15  Eric Blake  <ebb9@byu.net>
11304
11305         Update doc for cygwin 1.7.
11306         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
11307         functions.
11308         * doc/posix-functions/fchmodat.texi: Likewise.
11309         * doc/posix-functions/fchownat.texi: Likewise.
11310         * doc/posix-functions/fdopendir.texi: Likewise.
11311         * doc/posix-functions/fmemopen.texi: Likewise.
11312         * doc/posix-functions/freeaddrinfo.texi: Likewise.
11313         * doc/posix-functions/fstatat.texi: Likewise.
11314         * doc/posix-functions/futimens.texi: Likewise.
11315         * doc/posix-functions/gai_strerror.texi: Likewise.
11316         * doc/posix-functions/getaddrinfo.texi: Likewise.
11317         * doc/posix-functions/getnameinfo.texi: Likewise.
11318         * doc/posix-functions/if_freenameindex.texi: Likewise.
11319         * doc/posix-functions/if_indextoname.texi: Likewise.
11320         * doc/posix-functions/if_nameindex.texi: Likewise.
11321         * doc/posix-functions/if_nametoindex.texi: Likewise.
11322         * doc/posix-functions/insque.texi: Likewise.
11323         * doc/posix-functions/linkat.texi: Likewise.
11324         * doc/posix-functions/llrint.texi: Likewise.
11325         * doc/posix-functions/llrintf.texi: Likewise.
11326         * doc/posix-functions/llrintl.texi: Likewise.
11327         * doc/posix-functions/lockf.texi: Likewise.
11328         * doc/posix-functions/lrintl.texi: Likewise.
11329         * doc/posix-functions/mkdirat.texi: Likewise.
11330         * doc/posix-functions/mkfifoat.texi: Likewise.
11331         * doc/posix-functions/mknodat.texi: Likewise.
11332         * doc/posix-functions/mq_close.texi: Likewise.
11333         * doc/posix-functions/mq_getattr.texi: Likewise.
11334         * doc/posix-functions/mq_notify.texi: Likewise.
11335         * doc/posix-functions/mq_open.texi: Likewise.
11336         * doc/posix-functions/mq_receive.texi: Likewise.
11337         * doc/posix-functions/mq_send.texi: Likewise.
11338         * doc/posix-functions/mq_setattr.texi: Likewise.
11339         * doc/posix-functions/mq_timedreceive.texi: Likewise.
11340         * doc/posix-functions/mq_timedsend.texi: Likewise.
11341         * doc/posix-functions/mq_unlink.texi: Likewise.
11342         * doc/posix-functions/open_memstream.texi: Likewise.
11343         * doc/posix-functions/openat.texi: Likewise.
11344         * doc/posix-functions/posix_fadvise.texi: Likewise.
11345         * doc/posix-functions/posix_fallocate.texi: Likewise.
11346         * doc/posix-functions/posix_madvise.texi: Likewise.
11347         * doc/posix-functions/posix_memalign.texi: Likewise.
11348         * doc/posix-functions/posix_openpt.texi: Likewise.
11349         * doc/posix-functions/readlinkat.texi: Likewise.
11350         * doc/posix-functions/remque.texi: Likewise.
11351         * doc/posix-functions/renameat.texi: Likewise.
11352         * doc/posix-functions/rintl.texi: Likewise.
11353         * doc/posix-functions/sem_unlink.texi: Likewise.
11354         * doc/posix-functions/shm_open.texi: Likewise.
11355         * doc/posix-functions/shm_unlink.texi: Likewise.
11356         * doc/posix-functions/signgam.texi: Likewise.
11357         * doc/posix-functions/sigset.texi: Likewise.
11358         * doc/posix-functions/stpcpy.texi: Likewise.
11359         * doc/posix-functions/stpncpy.texi: Likewise.
11360         * doc/posix-functions/strerror.texi: Likewise.
11361         * doc/posix-functions/strtod.texi: Likewise.
11362         * doc/posix-functions/symlinkat.texi: Likewise.
11363         * doc/posix-functions/unlinkat.texi: Likewise.
11364         * doc/posix-functions/utimensat.texi: Likewise.
11365         * doc/glibc-functions/bindresvport.texi: Likewise.
11366         * doc/glibc-functions/dn_expand.texi: Likewise.
11367         * doc/glibc-functions/exp10.texi: Likewise.
11368         * doc/glibc-functions/exp10f.texi: Likewise.
11369         * doc/glibc-functions/fgetxattr.texi: Likewise.
11370         * doc/glibc-functions/flistxattr.texi: Likewise.
11371         * doc/glibc-functions/fopencookie.texi: Likewise.
11372         * doc/glibc-functions/freeifaddrs.texi: Likewise.
11373         * doc/glibc-functions/fremovexattr.texi: Likewise.
11374         * doc/glibc-functions/fsetxattr.texi: Likewise.
11375         * doc/glibc-functions/getifaddrs.texi: Likewise.
11376         * doc/glibc-functions/getxattr.texi: Likewise.
11377         * doc/glibc-functions/lgetxattr.texi: Likewise.
11378         * doc/glibc-functions/listxattr.texi: Likewise.
11379         * doc/glibc-functions/llistxattr.texi: Likewise.
11380         * doc/glibc-functions/lremovexattr.texi: Likewise.
11381         * doc/glibc-functions/lsetxattr.texi: Likewise.
11382         * doc/glibc-functions/pow10.texi: Likewise.
11383         * doc/glibc-functions/pow10f.texi: Likewise.
11384         * doc/glibc-functions/rcmd_af.texi: Likewise.
11385         * doc/glibc-functions/removexattr.texi: Likewise.
11386         * doc/glibc-functions/res_init.texi: Likewise.
11387         * doc/glibc-functions/res_mkquery.texi: Likewise.
11388         * doc/glibc-functions/res_query.texi: Likewise.
11389         * doc/glibc-functions/res_querydomain.texi: Likewise.
11390         * doc/glibc-functions/res_send.texi: Likewise.
11391         * doc/glibc-functions/rresvport_af.texi: Likewise.
11392         * doc/glibc-functions/setxattr.texi: Likewise.
11393         * doc/glibc-functions/strcasestr.texi: Likewise.
11394
11395 2008-12-15  Bruno Haible  <bruno@clisp.org>
11396
11397         Fix compilation error on OSF/1 4.0.
11398         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
11399         <sys/time.h>, simply delegate to the system header.
11400         Reported by Daniel Richard G. <oss@teragram.com>.
11401
11402 2008-12-15  Bruno Haible  <bruno@clisp.org>
11403
11404         * doc/posix-functions/openat.texi: Mention the 'openat' module.
11405         * doc/posix-functions/fchmodat.texi: Likewise.
11406         * doc/posix-functions/fchownat.texi: Likewise.
11407         * doc/posix-functions/fdopendir.texi: Likewise.
11408         * doc/posix-functions/fstatat.texi: Likewise.
11409         * doc/posix-functions/mkdirat.texi: Likewise.
11410         * doc/posix-functions/unlinkat.texi: Likewise.
11411
11412 2008-12-14  Bruno Haible  <bruno@clisp.org>
11413
11414         Update doc for POSIX:2008.
11415         * doc/posix-functions/faccessat.texi: New file.
11416         * doc/posix-functions/fchmodat.texi: New file.
11417         * doc/posix-functions/fchownat.texi: New file.
11418         * doc/posix-functions/fdopendir.texi: New file.
11419         * doc/posix-functions/fstatat.texi: New file.
11420         * doc/posix-functions/futimens.texi: New file.
11421         * doc/posix-functions/linkat.texi: New file.
11422         * doc/posix-functions/mkdirat.texi: New file.
11423         * doc/posix-functions/mkfifoat.texi: New file.
11424         * doc/posix-functions/mknodat.texi: New file.
11425         * doc/posix-functions/open_wmemstream.texi: New file.
11426         * doc/posix-functions/openat.texi: New file.
11427         * doc/posix-functions/psiginfo.texi: New file.
11428         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
11429         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
11430         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
11431         * doc/posix-functions/readlinkat.texi: New file.
11432         * doc/posix-functions/renameat.texi: New file.
11433         * doc/posix-functions/strerror_l.texi: New file.
11434         * doc/posix-functions/symlinkat.texi: New file.
11435         * doc/posix-functions/unlinkat.texi: New file.
11436         * doc/posix-functions/utimensat.texi: New file.
11437         * doc/gnulib.texi (Function Substitutes): Add these subsections.
11438
11439 2008-12-14  Bruno Haible  <bruno@clisp.org>
11440
11441         Update doc for POSIX:2008.
11442         * doc/posix-functions/alphasort.texi: Renamed from
11443         doc/glibc-functions/alphasort.texi.
11444         * doc/posix-functions/dirfd.texi: Renamed from
11445         doc/glibc-functions/dirfd.texi.
11446         * doc/posix-functions/dprintf.texi: Renamed from
11447         doc/glibc-functions/dprintf.texi.
11448         * doc/posix-functions/duplocale.texi: Renamed from
11449         doc/glibc-functions/duplocale.texi.
11450         * doc/posix-functions/fexecve.texi: Renamed from
11451         doc/glibc-functions/fexecve.texi.
11452         * doc/posix-functions/fmemopen.texi: Renamed from
11453         doc/glibc-functions/fmemopen.texi.
11454         * doc/posix-functions/freelocale.texi: Renamed from
11455         doc/glibc-functions/freelocale.texi.
11456         * doc/posix-functions/getdate_err.texi: Renamed from
11457         doc/glibc-functions/getdate_err.texi.
11458         * doc/posix-functions/isalnum_l.texi: Renamed from
11459         doc/glibc-functions/isalnum_l.texi.
11460         * doc/posix-functions/isalpha_l.texi: Renamed from
11461         doc/glibc-functions/isalpha_l.texi.
11462         * doc/posix-functions/isblank_l.texi: Renamed from
11463         doc/glibc-functions/isblank_l.texi.
11464         * doc/posix-functions/iscntrl_l.texi: Renamed from
11465         doc/glibc-functions/iscntrl_l.texi.
11466         * doc/posix-functions/isdigit_l.texi: Renamed from
11467         doc/glibc-functions/isdigit_l.texi.
11468         * doc/posix-functions/isgraph_l.texi: Renamed from
11469         doc/glibc-functions/isgraph_l.texi.
11470         * doc/posix-functions/islower_l.texi: Renamed from
11471         doc/glibc-functions/islower_l.texi.
11472         * doc/posix-functions/isprint_l.texi: Renamed from
11473         doc/glibc-functions/isprint_l.texi.
11474         * doc/posix-functions/ispunct_l.texi: Renamed from
11475         doc/glibc-functions/ispunct_l.texi.
11476         * doc/posix-functions/isspace_l.texi: Renamed from
11477         doc/glibc-functions/isspace_l.texi.
11478         * doc/posix-functions/isupper_l.texi: Renamed from
11479         doc/glibc-functions/isupper_l.texi.
11480         * doc/posix-functions/iswalnum_l.texi: Renamed from
11481         doc/glibc-functions/iswalnum_l.texi.
11482         * doc/posix-functions/iswalpha_l.texi: Renamed from
11483         doc/glibc-functions/iswalpha_l.texi.
11484         * doc/posix-functions/iswblank_l.texi: Renamed from
11485         doc/glibc-functions/iswblank_l.texi.
11486         * doc/posix-functions/iswcntrl_l.texi: Renamed from
11487         doc/glibc-functions/iswcntrl_l.texi.
11488         * doc/posix-functions/iswctype_l.texi: Renamed from
11489         doc/glibc-functions/iswctype_l.texi.
11490         * doc/posix-functions/iswdigit_l.texi: Renamed from
11491         doc/glibc-functions/iswdigit_l.texi.
11492         * doc/posix-functions/iswgraph_l.texi: Renamed from
11493         doc/glibc-functions/iswgraph_l.texi.
11494         * doc/posix-functions/iswlower_l.texi: Renamed from
11495         doc/glibc-functions/iswlower_l.texi.
11496         * doc/posix-functions/iswprint_l.texi: Renamed from
11497         doc/glibc-functions/iswprint_l.texi.
11498         * doc/posix-functions/iswpunct_l.texi: Renamed from
11499         doc/glibc-functions/iswpunct_l.texi.
11500         * doc/posix-functions/iswspace_l.texi: Renamed from
11501         doc/glibc-functions/iswspace_l.texi.
11502         * doc/posix-functions/iswupper_l.texi: Renamed from
11503         doc/glibc-functions/iswupper_l.texi.
11504         * doc/posix-functions/iswxdigit_l.texi: Renamed from
11505         doc/glibc-functions/iswxdigit_l.texi.
11506         * doc/posix-functions/isxdigit_l.texi: Renamed from
11507         doc/glibc-functions/isxdigit_l.texi.
11508         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
11509         doc/glibc-functions/mbsnrtowcs.texi.
11510         * doc/posix-functions/mkdtemp.texi: Renamed from
11511         doc/glibc-functions/mkdtemp.texi.
11512         * doc/posix-functions/newlocale.texi: Renamed from
11513         doc/glibc-functions/newlocale.texi.
11514         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
11515         doc/glibc-functions/nl_langinfo_l.texi.
11516         * doc/posix-functions/open_memstream.texi: Renamed from
11517         doc/glibc-functions/open_memstream.texi.
11518         * doc/posix-functions/opterr.texi: Renamed from
11519         doc/glibc-functions/opterr.texi.
11520         * doc/posix-functions/optind.texi: Renamed from
11521         doc/glibc-functions/optind.texi.
11522         * doc/posix-functions/optopt.texi: Renamed from
11523         doc/glibc-functions/optopt.texi.
11524         * doc/posix-functions/psignal.texi: Renamed from
11525         doc/glibc-functions/psignal.texi.
11526         * doc/posix-functions/scandir.texi: Renamed from
11527         doc/glibc-functions/scandir.texi.
11528         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
11529         doc/glibc-functions/sched_get_priority_min.texi.
11530         * doc/posix-functions/signgam.texi: Renamed from
11531         doc/glibc-functions/signgam.texi.
11532         * doc/posix-functions/stpcpy.texi: Renamed from
11533         doc/glibc-functions/stpcpy.texi.
11534         * doc/posix-functions/stpncpy.texi: Renamed from
11535         doc/glibc-functions/stpncpy.texi.
11536         * doc/posix-functions/strcasecmp_l.texi: Renamed from
11537         doc/glibc-functions/strcasecmp_l.texi.
11538         * doc/posix-functions/strcoll_l.texi: Renamed from
11539         doc/glibc-functions/strcoll_l.texi.
11540         * doc/posix-functions/strfmon_l.texi: Renamed from
11541         doc/glibc-functions/strfmon_l.texi.
11542         * doc/posix-functions/strftime_l.texi: Renamed from
11543         doc/glibc-functions/strftime_l.texi.
11544         * doc/posix-functions/strncasecmp_l.texi: Renamed from
11545         doc/glibc-functions/strncasecmp_l.texi.
11546         * doc/posix-functions/strndup.texi: Renamed from
11547         doc/glibc-functions/strndup.texi.
11548         * doc/posix-functions/strnlen.texi: Renamed from
11549         doc/glibc-functions/strnlen.texi.
11550         * doc/posix-functions/strsignal.texi: Renamed from
11551         doc/glibc-functions/strsignal.texi.
11552         * doc/posix-functions/strxfrm_l.texi: Renamed from
11553         doc/glibc-functions/strxfrm_l.texi.
11554         * doc/posix-functions/timer_gettime.texi: Renamed from
11555         doc/glibc-functions/timer_gettime.texi.
11556         * doc/posix-functions/tolower_l.texi: Renamed from
11557         doc/glibc-functions/tolower_l.texi.
11558         * doc/posix-functions/toupper_l.texi: Renamed from
11559         doc/glibc-functions/toupper_l.texi.
11560         * doc/posix-functions/towctrans_l.texi: Renamed from
11561         doc/glibc-functions/towctrans_l.texi.
11562         * doc/posix-functions/towlower_l.texi: Renamed from
11563         doc/glibc-functions/towlower_l.texi.
11564         * doc/posix-functions/towupper_l.texi: Renamed from
11565         doc/glibc-functions/towupper_l.texi.
11566         * doc/posix-functions/uselocale.texi: Renamed from
11567         doc/glibc-functions/uselocale.texi.
11568         * doc/posix-functions/vdprintf.texi: Renamed from
11569         doc/glibc-functions/vdprintf.texi.
11570         * doc/posix-functions/wcpcpy.texi:
11571         Renamed from doc/glibc-functions/wcpcpy.texi.
11572         * doc/posix-functions/wcpncpy.texi: Renamed from
11573         doc/glibc-functions/wcpncpy.texi.
11574         * doc/posix-functions/wcscasecmp.texi: Renamed from
11575         doc/glibc-functions/wcscasecmp.texi.
11576         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
11577         doc/glibc-functions/wcscasecmp_l.texi.
11578         * doc/posix-functions/wcscoll_l.texi: Renamed from
11579         doc/glibc-functions/wcscoll_l.texi.
11580         * doc/posix-functions/wcsdup.texi: Renamed from
11581         doc/glibc-functions/wcsdup.texi.
11582         * doc/posix-functions/wcsncasecmp.texi: Renamed from
11583         doc/glibc-functions/wcsncasecmp.texi.
11584         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
11585         doc/glibc-functions/wcsncasecmp_l.texi.
11586         * doc/posix-functions/wcsnlen.texi: Renamed from
11587         doc/glibc-functions/wcsnlen.texi.
11588         * doc/posix-functions/wcsnrtombs.texi: Renamed from
11589         doc/glibc-functions/wcsnrtombs.texi.
11590         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
11591         doc/glibc-functions/wcsxfrm_l.texi.
11592         * doc/posix-functions/wctrans_l.texi: Renamed from
11593         doc/glibc-functions/wctrans_l.texi.
11594         * doc/posix-functions/wctype_l.texi: Renamed from
11595         doc/glibc-functions/wctype_l.texi.
11596         * doc/gnulib.texi (Function Substitutes): Add these subsections.
11597         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
11598         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
11599         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
11600         these subsections.
11601         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
11602         Remove sections.
11603
11604 2008-12-14  Bruno Haible  <bruno@clisp.org>
11605
11606         Update doc for POSIX:2008.
11607         * doc/posix-functions/*.texi: Update URL of POSIX specification.
11608
11609 2008-12-14  Bruno Haible  <bruno@clisp.org>
11610
11611         Update doc for POSIX:2008.
11612         * doc/pastposix-functions/bcmp.texi: Renamed from
11613         doc/posix-functions/bcmp.texi.
11614         * doc/pastposix-functions/bcopy.texi: Renamed from
11615         doc/posix-functions/bcopy.texi.
11616         * doc/pastposix-functions/bsd_signal.texi: Renamed from
11617         doc/posix-functions/bsd_signal.texi.
11618         * doc/pastposix-functions/bzero.texi: Renamed from
11619         doc/posix-functions/bzero.texi.
11620         * doc/pastposix-functions/ecvt.texi: Renamed from
11621         doc/posix-functions/ecvt.texi.
11622         * doc/pastposix-functions/fcvt.texi: Renamed from
11623         doc/posix-functions/fcvt.texi.
11624         * doc/pastposix-functions/ftime.texi: Renamed from
11625         doc/posix-functions/ftime.texi.
11626         * doc/pastposix-functions/gcvt.texi: Renamed from
11627         doc/posix-functions/gcvt.texi.
11628         * doc/pastposix-functions/getcontext.texi: Renamed from
11629         doc/posix-functions/getcontext.texi.
11630         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
11631         doc/posix-functions/gethostbyaddr.texi.
11632         * doc/pastposix-functions/gethostbyname.texi: Renamed from
11633         doc/posix-functions/gethostbyname.texi.
11634         * doc/pastposix-functions/getwd.texi: Renamed from
11635         doc/posix-functions/getwd.texi.
11636         * doc/pastposix-functions/h_errno.texi: Renamed from
11637         doc/posix-functions/h_errno.texi.
11638         * doc/pastposix-functions/index.texi: Renamed from
11639         doc/posix-functions/index.texi.
11640         * doc/pastposix-functions/makecontext.texi: Renamed from
11641         doc/posix-functions/makecontext.texi.
11642         * doc/pastposix-functions/mktemp.texi: Renamed from
11643         doc/posix-functions/mktemp.texi.
11644         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
11645         doc/posix-functions/pthread_attr_getstackaddr.texi.
11646         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
11647         doc/posix-functions/pthread_attr_setstackaddr.texi.
11648         * doc/pastposix-functions/rindex.texi: Renamed from
11649         doc/posix-functions/rindex.texi.
11650         * doc/pastposix-functions/scalb.texi: Renamed from
11651         doc/posix-functions/scalb.texi.
11652         * doc/pastposix-functions/setcontext.texi: Renamed from
11653         doc/posix-functions/setcontext.texi.
11654         * doc/pastposix-functions/swapcontext.texi: Renamed from
11655         doc/posix-functions/swapcontext.texi.
11656         * doc/pastposix-functions/ualarm.texi: Renamed from
11657         doc/posix-functions/ualarm.texi.
11658         * doc/pastposix-functions/usleep.texi: Renamed from
11659         doc/posix-functions/usleep.texi.
11660         * doc/pastposix-functions/vfork.texi: Renamed from
11661         doc/posix-functions/vfork.texi.
11662         * doc/pastposix-functions/wcswcs.texi: Renamed from
11663         doc/posix-functions/wcswcs.texi.
11664         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
11665         (Function Substitutes): Update.
11666
11667 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11668
11669         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
11670         m4/strerror.m4.
11671
11672 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11673             Bruno Haible  <bruno@clisp.org>
11674
11675         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
11676
11677 2008-12-13  Bruno Haible  <bruno@clisp.org>
11678
11679         * modules/strtoull (Depends-on): Remove unistd.
11680
11681 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11682
11683         * modules/strtoull (Depends-on): Add stdlib.
11684
11685 2008-12-11  Simon Josefsson  <simon@josefsson.org>
11686
11687         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
11688
11689 2008-12-10  Jim Meyering  <meyering@redhat.com>
11690
11691         gl_ASSERT: don't say assertions are disabled when they're not
11692         * m4/assert.m4 (gl_ASSERT): Do not make configure report
11693         "checking whether to enable assertions... no", when they are in
11694         fact enabled.  This is solely a bug in the output of configure.
11695         In spite of saying "no", NDEBUG was not defined in that case.
11696         Also, as noted by Eric Blake, leave assertions enabled upon
11697         --enable-assert=INVALID.
11698
11699 2008-12-10  Bruno Haible  <bruno@clisp.org>
11700
11701         Change MODULES.html to refer to POSIX:2008 where possible.
11702         * MODULES.html.sh (POSIX2008_URL): New variable.
11703         (posix_headers): Remove sys/timeb, ucontext.
11704         (posix2001_headers): New variable.
11705         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
11706         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
11707         index, makecontext, mktemp, pthread_attr_getstackaddr,
11708         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
11709         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
11710         (posix2001_functions): New variable.
11711         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
11712         otherwise.
11713
11714 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11715
11716         add missing include to parse-duration.c
11717         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
11718         * modules/parse-duration (Depends-on): Add xalloc.
11719
11720         fix sed script reading maint.mk
11721         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
11722         (syntax-check-rules): Use it.
11723
11724 2008-12-09  Bruno Haible  <bruno@clisp.org>
11725
11726         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
11727         MacOS X 10.4/PowerPC.
11728         Reported by Simon Josefsson.
11729
11730 2008-12-08  Jim Meyering  <meyering@redhat.com>
11731
11732         work around mingw's lack of some S_IF definitions
11733         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
11734         Reported by Simon Josefsson.
11735
11736 2008-12-08  Bruno Haible  <bruno@clisp.org>
11737
11738         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
11739         applied to variables. Needed on MacOS X 10.4/PowerPC.
11740         Reported by Simon Josefsson.
11741
11742 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
11743         and Eric Blake  <ebb9@byu.net>
11744
11745         assert: honor --enable-assert
11746         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
11747         order to honor --enable-assert, rather than treating it as a
11748         synonym for --disable-assert.
11749
11750 2008-12-08  Jim Meyering  <meyering@redhat.com>
11751
11752         * lib/posixtm.c: Remove now-useless declaration of mktime.
11753
11754         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
11755
11756 2008-12-07  Bruno Haible  <bruno@clisp.org>
11757
11758         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
11759         test_once): Mark functions as static.
11760         * tests/test-tls.c (test_tls): Likewise.
11761
11762 2008-12-07  Bruno Haible  <bruno@clisp.org>
11763
11764         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
11765         iconv_register_autodetect.
11766
11767 2008-12-07  Jim Meyering  <meyering@redhat.com>
11768
11769         posixtm.c: avoid a warning
11770         * lib/posixtm.c (posixtime): Don't initialize tm0.
11771         It's no longer needed to placate gcc4's -Wuninitialized,
11772         and the attempt to placate would elicit a new warning.
11773
11774         unicodeio.c: mark unused parameters
11775         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
11776         (fallback_failure_callback): Likewise.
11777
11778 2008-12-07  Bruno Haible  <bruno@clisp.org>
11779
11780         * gnulib-tool (func_create_testdir): When building the tests
11781         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
11782         Reported by Simon Josefsson.
11783
11784 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11785
11786         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
11787
11788 2008-12-06  Bruno Haible  <bruno@clisp.org>
11789
11790         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
11791         Suggested by Eric Blake.
11792
11793 2008-12-06  Bruno Haible  <bruno@clisp.org>
11794
11795         Fix a c-stack test failure on MacOS X.
11796         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
11797         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
11798         handler for SIGBUS as well.
11799         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
11800         install a signal handler for SIGBUS as well.
11801         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
11802
11803 2008-12-06  Bruno Haible  <bruno@clisp.org>
11804
11805         Advocacy documentation.
11806         * doc/gnulib-intro.texi (Benefits): New section.
11807         * doc/gnulib.texi: Update.
11808
11809 2008-12-06  Bruno Haible  <bruno@clisp.org>
11810
11811         Document the 'manywarnings' module.
11812         * doc/manywarnings.texi: New file.
11813         * doc/gnulib.texi: Include it.
11814
11815 2008-12-05  Eric Blake  <ebb9@byu.net>
11816
11817         tests: silence some gcc warnings
11818         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
11819         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
11820         type mismatches.
11821
11822 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11823             Bruno Haible  <bruno@clisp.org>
11824
11825         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
11826
11827 2008-11-29  Jim Meyering  <meyering@redhat.com>
11828
11829         unicodeio.c: mark unused parameters
11830         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
11831         (fallback_failure_callback): Likewise.
11832
11833         fts: fix a thinko
11834         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
11835         (set_stat_type): Return S_IF*-valued "type" directly.
11836         Prompted by James Youngman's spotting a related bug.
11837         Confirmed by further testing through find.
11838
11839         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
11840         * lib/fts.c (D_TYPE): Define.
11841         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
11842         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
11843         (s_ifmt_shift_bits): New function.
11844         (set_stat_type): New function.
11845         (fts_build): When not calling fts_stat, call set_stat_type
11846         to propagate dirent.d_type info to fts_read caller.
11847         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
11848         fts_statp->st_mode type information may be valid.
11849
11850 2008-11-28  Simon Josefsson  <simon@josefsson.org>
11851
11852         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
11853         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
11854         <sds@gnu.org>.
11855
11856 2008-11-20  Bruno Haible  <bruno@clisp.org>
11857
11858         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
11859         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
11860         INCLUDE_NEXT.
11861         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
11862         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
11863         * modules/math (Makefile.am): Substitute
11864         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
11865         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
11866
11867 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
11868             Bruno Haible  <bruno@clisp.org>
11869
11870         * lib/stdint.in.h: Define all type macros so that their expansion is
11871         a single typedef'ed token. Fixes a compilation failure in Boost which
11872         does "using ::int8_t;".
11873
11874 2008-11-18  Simon Josefsson  <simon@josefsson.org>
11875
11876         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
11877         gl_MANYWARN_ALL_GCC.
11878         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
11879         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
11880         * modules/manywarnings: New file.
11881         * MODULES.html.sh: Mention manywarnings module.
11882
11883 2008-11-18  Bruno Haible  <bruno@clisp.org>
11884
11885         * doc/gnulib-tool.texi (Unit tests): New section.
11886
11887 2008-11-18  Simon Josefsson  <simon@josefsson.org>
11888
11889         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
11890         paths like 'lib/po/foo.po'.
11891
11892 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11893
11894         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
11895         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
11896
11897 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11898
11899         * m4/warnings.m4: Use CPPFLAGS to really check whether the
11900         parameter works.
11901
11902 2008-11-17  Simon Josefsson  <simon@josefsson.org>
11903
11904         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
11905
11906 2008-11-17  Bruce Korb  <bkorb@gnu.org>
11907
11908         * modules/parse-duration-tests: New file.
11909         * tests/test-parse-duration.sh: New file.
11910         * tests/test-parse-duration.c: New file.
11911
11912         New module 'parse-duration'.
11913         * lib/parse-duration.h: New file.
11914         * lib/parse-duration.c: New file.
11915         * modules/parse-duration: New file.
11916
11917 2008-11-17  Bruno Haible  <bruno@clisp.org>
11918
11919         * tests/test-select-out.sh: Comment out the first pipe test.
11920         Reported by Simon Josefsson.
11921
11922 2008-11-17  Bruno Haible  <bruno@clisp.org>
11923
11924         * modules/getaddrinfo (Depends-on): Add servent, hostent.
11925         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
11926         gl_HOSTENT.
11927
11928 2008-11-17  Bruno Haible  <bruno@clisp.org>
11929
11930         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
11931         -lnetwork and -lnet. Needed for Haiku and BeOS.
11932
11933 2008-11-16  Bruno Haible  <bruno@clisp.org>
11934
11935         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
11936
11937 2008-11-16  Bruno Haible  <bruno@clisp.org>
11938
11939         Avoid test failure on Haiku.
11940         * tests/test-fsync.c: Include <errno.h>.
11941         (main): Don't require that fsync (0) fails.
11942
11943 2008-11-15  Bruno Haible  <bruno@clisp.org>
11944
11945         New module 'hostent'.
11946         * modules/hostent: New file.
11947         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
11948
11949 2008-11-15  Bruno Haible  <bruno@clisp.org>
11950
11951         New module 'servent'.
11952         * modules/servent: New file.
11953         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
11954
11955 2008-11-15  Bruno Haible  <bruno@clisp.org>
11956
11957         Avoid generating same test program with two different rules.
11958         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
11959         test-frexp to test-frexp-nolibm.
11960         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
11961         test-frexpl to test-frexpl-nolibm.
11962
11963 2008-11-15  Bruno Haible  <bruno@clisp.org>
11964
11965         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
11966         $(FREXPL_LIBM).
11967
11968 2008-11-15  Bruno Haible  <bruno@clisp.org>
11969
11970         * lib/netdb.in.h: Activate the definitions also when the system's
11971         <netdb.h> has 'struct addrinfo'.
11972         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
11973         EAI_OVERFLOW or AI_NUMERICSERV.
11974         * doc/posix-headers/netdb.texi: Document the problem.
11975
11976 2008-11-15  Bruno Haible  <bruno@clisp.org>
11977
11978         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
11979
11980         Make the 'sched' module work on platforms where <sched.h> exists but
11981         is incomplete (such as Haiku).
11982         * lib/sched.in.h; Include the system's <sched.h> if it exists.
11983         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
11984         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
11985         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
11986         HAVE_STRUCT_SCHED_PARAM.
11987         * modules/sched (Depends-on): Add include_next.
11988         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
11989         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
11990         * doc/posix-headers/sched.texi: Document the issue.
11991
11992 2008-11-13  Jim Meyering  <meyering@redhat.com>
11993
11994         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
11995         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
11996         test would fail due to the difference in the Report bugs to ...
11997         line.  The expected address is empty, "<>", while the actual
11998         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
11999
12000 2008-11-12  Bruno Haible  <bruno@clisp.org>
12001
12002         lstat: don't compile lstat.c on systems lacking lstat
12003         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
12004         which don't have lstat; this is handled by lib/sys_stat.in.h already.
12005         Reported by Daniel P. Berrange via Jim Meyering.
12006
12007 2008-11-12  Jim Meyering  <meyering@redhat.com>
12008
12009         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
12010
12011 2008-11-12  Simon Josefsson  <simon@josefsson.org>
12012
12013         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
12014         instead.
12015
12016 2008-11-12  Bruno Haible  <bruno@clisp.org>
12017
12018         * lib/unicodeio.c: Include unistr.h.
12019         (utf8_wctomb): Remove function.
12020         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
12021
12022 2008-11-12  Simon Josefsson  <simon@josefsson.org>
12023
12024         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
12025         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
12026         <bruno@clisp.org>.
12027         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
12028
12029 2008-11-12  Simon Josefsson  <simon@josefsson.org>
12030
12031         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
12032         * doc/gnulib.texi: Add section for warnings.
12033
12034 2008-11-11  Bruno Haible  <bruno@clisp.org>
12035
12036         * lib/sockets.h: Add a comment.
12037
12038 2008-11-11  Karl Berry  <karl@gnu.org>
12039
12040         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
12041
12042 2008-11-11  Eric Blake  <ebb9@byu.net>
12043
12044         fdl.texi: avoid git symlinks
12045         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
12046
12047 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
12048
12049         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
12050
12051 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
12052
12053         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
12054         (gl_WARN_ADD): Substitute $2 if literal.
12055
12056 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
12057
12058         * m4/warning.m4: Remove.
12059
12060 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
12061
12062         * m4/warnings.m4: Almost complete rewrite. :-)
12063
12064 2008-11-10  Simon Josefsson  <simon@josefsson.org>
12065
12066         * modules/warnings: New module.
12067         * m4/warnings.m4: New file.
12068         * MODULES.html.sh: Mention warnings module.
12069         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
12070         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12071
12072 2008-11-10  Eric Blake  <ebb9@byu.net>
12073
12074         fdl.texi: make a symlink to the latest version
12075         * doc/standards.texi: Revert today's earlier change.
12076         * doc/fdl-1.2.texi: Rename from old fdl.texi...
12077         * doc/fdl.texi: ...and replace this with a symlink to the newer
12078         fdl-1.3.texi.
12079
12080 2008-11-10  Bruno Haible  <bruno@clisp.org>
12081
12082         * tests/test-select-fd.c (main): Accept the result file name as fourth
12083         argument.
12084         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
12085         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
12086
12087 2008-11-10  Bruno Haible  <bruno@clisp.org>
12088
12089         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
12090         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
12091         as autoconf-substituted macros.
12092         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
12093         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
12094         gl_NETDB_H_DEFAULTS. Set these variables.
12095         * modules/netdb (Makefile.am): Substitute these variables.
12096
12097 2008-11-10  Eric Blake  <ebb9@byu.net>
12098
12099         standards.texi: include correct file for FDL 1.3
12100         * doc/standards.texi (GNU Free Documentation License): Change
12101         include file to pull in FDL 1.3, not 1.2.
12102
12103         fdl.texi: revert accidental change to license
12104         * doc/fdl.texi: This is FDL 1.2, not 1.3.
12105
12106 2008-11-10  Bruno Haible  <bruno@clisp.org>
12107
12108         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
12109         cross-compiling guesses also when the native compile gives no result.
12110
12111 2008-11-10  Bruno Haible  <bruno@clisp.org>
12112
12113         * lib/spawni.c (__spawni): Force variable into the stack.
12114
12115 2008-11-10  Bruno Haible  <bruno@clisp.org>
12116
12117         Add support for Haiku.
12118         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
12119         glibc and BeOS, but also on Haiku.
12120         * lib/fpurge.c (fpurge): Likewise.
12121         * lib/freadable.c (freadable): Likewise.
12122         * lib/freadahead.c (freadahead): Likewise.
12123         * lib/freading.c (freading): Likewise.
12124         * lib/freadptr.c (freadptr): Likewise.
12125         * lib/freadseek.c (freadptrinc): Likewise.
12126         * lib/fseeko.c (rpl_fseeko): Likewise.
12127         * lib/fseterr.c (fseterr): Likewise.
12128         * lib/fwritable.c (fwritable): Likewise.
12129         * lib/fwriting.c (fwriting): Likewise.
12130         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
12131
12132 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
12133
12134         * lib/config.charset: Treat Haiku like BeOS.
12135
12136 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
12137
12138         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
12139         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
12140
12141 2008-11-08  Bruno Haible  <bruno@clisp.org>
12142
12143         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
12144         AC_CACHE_CHECK.
12145
12146 2008-11-08  Bruno Haible  <bruno@clisp.org>
12147
12148         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
12149
12150 2008-11-08  Bruno Haible  <bruno@clisp.org>
12151
12152         * tests/test-select-fd.c: New file.
12153         * tests/test-select-in.sh: New file.
12154         * tests/test-select-out.sh: New file.
12155         * tests/test-select-stdin.c: New file.
12156         * modules/select-tests (Files): Add the new files.
12157         (Depends-on): Add gettimeofday.
12158         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
12159         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
12160         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
12161
12162 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
12163             Bruno Haible  <bruno@clisp.org>
12164
12165         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
12166
12167 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
12168
12169         * build-aux/pmccabe2html: Added support for C++ source files.
12170
12171 2008-11-05  Ben Pfaff  <blp@gnu.org>
12172
12173         Fix lib/close.c build on Windows.
12174         * modules/close (Files): Add lib/w32sock.h.
12175
12176 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
12177
12178         Accept Bison's NEWS format.
12179         * build-aux/announce-gen (print_news_deltas): Tweak
12180         $re_prefix.
12181
12182 2008-11-04  Bruno Haible  <bruno@clisp.org>
12183
12184         * modules/random_r (Maintainer): Add glibc.
12185
12186 2008-11-04  Simon Josefsson  <simon@josefsson.org>
12187
12188         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
12189         by karl@freefriends.org (Karl Berry).
12190         * doc/alloca.texi: Likewise.
12191         * doc/c-ctype.texi: Likewise.
12192         * doc/c-strcase.texi: Likewise.
12193         * doc/c-strcaseeq.texi: Likewise.
12194         * doc/c-strcasestr.texi: Likewise.
12195         * doc/c-strstr.texi: Likewise.
12196         * doc/c-strtod.texi: Likewise.
12197         * doc/c-strtold.texi: Likewise.
12198         * doc/ctime.texi: Likewise.
12199         * doc/error.texi: Likewise.
12200         * doc/fdl.texi: Likewise.
12201         * doc/gcd.texi: Likewise.
12202         * doc/getdate.texi: Likewise.
12203         * doc/gnulib-intro.texi: Likewise.
12204         * doc/gnulib-tool.texi: Likewise.
12205         * doc/gnulib.texi: Likewise.
12206         * doc/inet_ntoa.texi: Likewise.
12207         * doc/maintain.texi: Likewise.
12208         * doc/make-stds.texi: Likewise.
12209         * doc/quote.texi: Likewise.
12210         * doc/regexprops-generic.texi: Likewise.
12211         * doc/standards.texi: Likewise.
12212         * doc/verify.texi: Likewise.
12213         * doc/visibility.texi: Likewise.
12214         * doc/gnulib.texi (GNU Free Documentation License): Include
12215         fdl-1.3.texi instead of fdl.texi.
12216
12217 2008-11-04  Simon Josefsson  <simon@josefsson.org>
12218
12219         * doc/fdl-1.3.texi: New file, from
12220         <http://www.gnu.org/licenses/fdl-1.3.texi>.
12221         * modules/fdl-1.3: Add.
12222         * MODULES.html.sh: Add fdl-1.3.
12223
12224 2008-11-03  Bruno Haible  <bruno@clisp.org>
12225
12226         Make determination of absolute name of header file work with AIX xlc.
12227         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
12228         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
12229         preprocessing.
12230         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
12231         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
12232
12233 2008-11-03  Simon Josefsson  <simon@josefsson.org>
12234
12235         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
12236         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
12237         <ludo@gnu.org>.
12238
12239 2008-11-02  Bruno Haible  <bruno@clisp.org>
12240
12241         Mark 'strpbrk' obsolete.
12242         * modules/strpbrk (Status, Notice): New sections.
12243         * modules/strtok_r (Depends-on): Add strpbrk.
12244
12245 2008-11-02  Bruno Haible  <bruno@clisp.org>
12246
12247         Mark 'strdup' obsolete.
12248         * modules/strdup (Status, Notice): New sections.
12249         * modules/findprog (Depends-on): Add strdup.
12250         * modules/getaddrinfo (Depends-on): Likewise.
12251         * modules/localename (Depends-on): Likewise.
12252         * modules/relocatable-lib (Depends-on): Likewise.
12253         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
12254         * modules/relocatable-prog (Depends-on): Likewise.
12255         * modules/trim (Depends-on): Likewise.
12256         * modules/unictype/gen-ctype (Depends-on): Likewise.
12257         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
12258
12259 2008-11-02  Bruno Haible  <bruno@clisp.org>
12260
12261         Mark 'strcspn' obsolete.
12262         * modules/strcspn (Status, Notice): New sections.
12263
12264 2008-11-02  Bruno Haible  <bruno@clisp.org>
12265
12266         Mark 'rmdir' obsolete.
12267         * modules/rmdir (Status, Notice): New sections.
12268         * modules/clean-temp (Depends-on): Add rmdir.
12269         * modules/openat (Depends-on): Likewise.
12270
12271 2008-11-02  Bruno Haible  <bruno@clisp.org>
12272
12273         Mark 'raise' obsolete.
12274         * modules/raise (Status, Notice): New sections.
12275         (Include): Specify <signal.h>.
12276         * modules/stdio (Depends-on): Add raise.
12277         * modules/write (Depends-on): Likewise.
12278
12279 2008-11-02  Bruno Haible  <bruno@clisp.org>
12280
12281         Mark 'memset' obsolete.
12282         * modules/memset (Status, Notice): New sections.
12283
12284 2008-11-02  Bruno Haible  <bruno@clisp.org>
12285
12286         Mark 'memmove' obsolete.
12287         * modules/memmove (Status, Notice): New sections.
12288         * modules/argp (Depends-on): Add memmove.
12289         * modules/argz (Depends-on): Likewise.
12290         * modules/canonicalize (Depends-on): Likewise.
12291         * modules/canonicalize-lgpl (Depends-on): Likewise.
12292         * modules/fts (Depends-on): Likewise.
12293         * modules/getcwd (Depends-on): Likewise.
12294         * modules/human (Depends-on): Likewise.
12295         * modules/regex (Depends-on): Likewise.
12296         * modules/striconveh (Depends-on): Likewise.
12297         * modules/trim (Depends-on): Likewise.
12298         * modules/unistr/u8-move (Depends-on): Likewise.
12299         * modules/unistr/u16-move (Depends-on): Likewise.
12300         * modules/unistr/u32-move (Depends-on): Likewise.
12301
12302 2008-11-02  Bruno Haible  <bruno@clisp.org>
12303
12304         Mark 'memcpy' obsolete.
12305         * modules/memcpy (Status, Notice): New sections.
12306
12307 2008-11-02  Bruno Haible  <bruno@clisp.org>
12308
12309         Mark 'memcmp' obsolete.
12310         * modules/memcmp (Status, Notice): New sections.
12311         * modules/argmatch (Depends-on): Add memchr.
12312         * modules/backupfile (Depends-on): Likewise.
12313         * modules/c-strcasestr (Depends-on): Likewise.
12314         * modules/crypto/des (Depends-on): Likewise.
12315         * modules/csharpcomp (Depends-on): Likewise.
12316         * modules/fnmatch (Depends-on): Likewise.
12317         * modules/git-merge-changelog (Depends-on): Likewise.
12318         * modules/isnand (Depends-on): Likewise.
12319         * modules/isnand-nolibm (Depends-on): Likewise.
12320         * modules/isnanf (Depends-on): Likewise.
12321         * modules/isnanf-nolibm (Depends-on): Likewise.
12322         * modules/isnanl (Depends-on): Likewise.
12323         * modules/isnanl-nolibm (Depends-on): Likewise.
12324         * modules/mbchar (Depends-on): Likewise.
12325         * modules/memcoll (Depends-on): Likewise.
12326         * modules/quotearg (Depends-on): Likewise.
12327         * modules/regex (Depends-on): Likewise.
12328         * modules/relocatable-prog (Depends-on): Likewise.
12329         * modules/same (Depends-on): Likewise.
12330         * modules/signbit (Depends-on): Likewise.
12331         * modules/strcasestr-simple (Depends-on): Likewise.
12332         * modules/unictype/gen-ctype (Depends-on): Likewise.
12333         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
12334         * modules/uniname/uniname (Depends-on): Likewise.
12335         * modules/unistr/u8-cmp (Depends-on): Likewise.
12336
12337 2008-11-02  Bruno Haible  <bruno@clisp.org>
12338
12339         Mark 'memchr' obsolete.
12340         * modules/memchr (Status, Notice): New sections.
12341         * modules/argp (Depends-on): Add memchr.
12342         * modules/base64 (Depends-on): Likewise.
12343         * modules/c-strcasestr (Depends-on): Likewise.
12344         * modules/chdir-long (Depends-on): Likewise.
12345         * modules/fnmatch (Depends-on): Likewise.
12346         * modules/getsubopt (Depends-on): Likewise.
12347         * modules/git-merge-changelog (Depends-on): Likewise.
12348         * modules/glob (Depends-on): Likewise.
12349         * modules/strcasestr-simple (Depends-on): Likewise.
12350         * modules/strnlen (Depends-on): Likewise.
12351
12352 2008-11-02  Bruno Haible  <bruno@clisp.org>
12353
12354         Mark 'atexit' obsolete.
12355         * modules/atexit (Status, Notice): New sections.
12356         * modules/chdir-long (Depends-on): Add atexit.
12357         * modules/wait-process (Depends-on): Likewise.
12358
12359 2008-11-02  Bruno Haible  <bruno@clisp.org>
12360
12361         * gnulib-tool: New option --with-obsolete.
12362         (func_usage): Document it.
12363         (func_modules_transitive_closure): Drop obsolete dependencies if
12364         incobsolete is not true.
12365         (func_import): Read and save the incobsolete variable to the cache.
12366
12367 2008-11-02  Bruno Haible  <bruno@clisp.org>
12368
12369         * modules/TEMPLATE-EXTENDED: New field 'Status'.
12370         * gnulib-tool: New option --extract-status.
12371         (func_usage): Document it.
12372         (sed_extract_prog): Recognize it.
12373         (func_get_status): New function.
12374
12375 2008-10-30  Simon Josefsson  <simon@josefsson.org>
12376
12377         * modules/sockets (License): Change from LGPL to LGPLv2+.
12378
12379 2008-10-28  Simon Josefsson  <simon@josefsson.org>
12380
12381         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
12382
12383 2008-10-28  Simon Josefsson  <simon@josefsson.org>
12384
12385         * MODULES.html.sh (Support for systems lacking POSIX:2001):
12386         Mention times and sys_times.
12387         * modules/sys_times, modules/sys_times-tests: New modules.
12388         * modules/times, modules/times-tests: Likewise
12389         * m4/sys_times_h.m4: New file.
12390         * lib/sys_times.in.h: Likewise
12391         * lib/times.c: Likewise.
12392         * tests/test-sys_times.c: Likewise.
12393         * tests/test-times.c: Likewise.
12394         * doc/posix-headers/sys_times.texi: Update.
12395         * doc/posix-functions/times.texi: Update.
12396
12397 2008-10-28  Jim Meyering  <meyering@redhat.com>
12398
12399         * modules/tempname (Depends-on): Add lstat.
12400
12401         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
12402
12403 2008-10-28  Simon Josefsson  <simon@josefsson.org>
12404
12405         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
12406         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
12407         using idiom used elsewhere in gnulib.
12408
12409 2008-10-27  Jim Meyering  <meyering@redhat.com>
12410
12411         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
12412
12413 2008-10-27  Simon Josefsson  <simon@josefsson.org>
12414
12415         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
12416         TESTS_ENVIRONMENT, for shell scripts that needs to call built
12417         programs.
12418         * tests/test-argp-2.sh: Use $EXEEXT when needed.
12419
12420 2008-10-27  Simon Josefsson  <simon@josefsson.org>
12421
12422         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
12423
12424 2008-10-27  Bruno Haible  <bruno@clisp.org>
12425
12426         * tests/test-lstat.c: Include <stdio.h>.
12427
12428 2008-10-27  Simon Josefsson  <simon@josefsson.org>
12429
12430         * modules/lstat-tests: New module.
12431         * tests/test-lstat.c: New file.
12432
12433 2008-10-26  Jim Meyering  <meyering@redhat.com>
12434
12435         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
12436
12437 2008-10-26  Simon Josefsson  <simon@josefsson.org>
12438             Bruno Haible  <bruno@clisp.org>
12439
12440         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
12441         * modules/configmake (Include): Add a note that the include must come
12442         after all system headers.
12443         * lib/javaversion.c: Include configmake.h after all other includes.
12444
12445 2008-10-26  Bruno Haible  <bruno@clisp.org>
12446
12447         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
12448         HAVE_STRUCT_RANDOM_DATA to 1.
12449         (gl_STDLIB_H): Simplify.
12450
12451 2008-10-26  Simon Josefsson  <simon@josefsson.org>
12452
12453         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
12454         substitute HAVE_STRUCT_RANDOM_DATA.
12455         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
12456         random_data.
12457         * modules/stdlib (Makefile.am): Substitute
12458         HAVE_STRUCT_RANDOM_DATA.
12459
12460 2008-10-26  Simon Josefsson  <simon@josefsson.org>
12461
12462         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
12463         * doc/gnulib-intro.texi (Copyright): Likewise.
12464
12465 2008-10-26  Simon Josefsson  <simon@josefsson.org>
12466
12467         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
12468         findings.
12469
12470 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
12471             Bruno Haible  <bruno@clisp.org>
12472
12473         * lib/unistd.in.h: Include <winsock2.h>.
12474         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
12475         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
12476         Provide dummy declarations.
12477         (gethostname): Override.
12478         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
12479         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
12480         gl_PREREQ_SYS_H_WINSOCK2.
12481         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
12482         * doc/posix-functions/gethostname.texi: More details.
12483
12484 2008-10-25  Bruno Haible  <bruno@clisp.org>
12485
12486         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
12487         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
12488         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
12489
12490         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
12491         here ...
12492         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
12493         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
12494         gl_UNISTD_H_DEFAULTS.
12495
12496 2008-10-25  Eric Blake  <ebb9@byu.net>
12497
12498         signbit: avoid spurious compiler failure
12499         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
12500         declarations inside function.
12501
12502 2008-10-24  Simon Josefsson  <simon@josefsson.org>
12503             Bruno Haible  <bruno@clisp.org>
12504
12505         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
12506         * modules/random_r (Depends-on): Add stdint.
12507
12508 2008-10-24  Bruno Haible  <bruno@clisp.org>
12509
12510         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
12511         Eggert.
12512         * modules/strerror (License): Likewise.
12513
12514 2008-10-24  Jim Meyering  <meyering@redhat.com>
12515
12516         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
12517         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
12518
12519 2008-10-24  Eric Blake  <ebb9@byu.net>
12520
12521         getgroups: fix compilation when getgroups is available
12522         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
12523         but with <config.h> override of getgroups disabled.
12524
12525 2008-10-24  Simon Josefsson  <simon@josefsson.org>
12526
12527         * doc/gnulib.texi (Header files): Add note about C++ problems.
12528         Explained by Bruno Haible <bruno@clisp.org>.
12529
12530 2008-10-23  Bruno Haible  <bruno@clisp.org>
12531
12532         Define a dummy SA_NODEFER macro on Interix.
12533         * lib/signal.in.h (SA_NODEFER): Define fallback.
12534         Reported by Aleksey Cheusov <cheusov@tut.by> via
12535         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
12536
12537 2008-10-23  Bruno Haible  <bruno@clisp.org>
12538
12539         * modules/freadahead (License): Change to LGPLv2+.
12540         Suggested by Simon Josefsson.
12541
12542 2008-10-23  Jim Meyering  <meyering@redhat.com>
12543
12544         random_r: new module
12545         * modules/random_r: New file.
12546         * m4/random_r.m4: New file.
12547         * lib/random_r.c: New file, from glibc.
12548         * modules/random_r-tests: New file.
12549         * tests/test-random_r.c: New file.
12550         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
12551          Declare.
12552         (RAND_MAX): Define.
12553         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
12554         * modules/stdlib: Substitute them, too.
12555         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
12556         * doc/glibc-functions/initstate_r.texi: Mention the new module.
12557         * doc/glibc-functions/random_r.texi: Likewise.
12558         * doc/glibc-functions/setstate_r.texi: Likewise.
12559         * doc/glibc-functions/srandom_r.texi: Likewise.
12560         * config/srclist.txt: Mention it.
12561
12562 2008-10-23  David Lutterkort  <lutter@redhat.com>
12563
12564         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
12565         link requirement
12566
12567 2008-10-23  Jim Meyering  <meyering@redhat.com>
12568
12569         selinux-h: mark parameters of stub functions as intentionally unused
12570         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
12571         * lib/se-context.in.h: Likewise.
12572
12573 2008-10-22  Simon Josefsson  <simon@josefsson.org>
12574
12575         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
12576
12577 2008-10-22  Simon Josefsson  <simon@josefsson.org>
12578
12579         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
12580
12581 2008-10-22  Eric Blake  <ebb9@byu.net>
12582
12583         glthread/thread: avoid compiler warning
12584         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
12585         Add unreachable abort to silence compiler.
12586
12587 2008-10-22  Eric Blake  <ebb9@byu.net>
12588
12589         netdb: also supply struct addrinfo for cygwin 1.5.x
12590         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
12591         older cygwin.
12592         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
12593         cygwin.
12594         * doc/posix-headers/netdb.texi (netdb.h): Document this.
12595
12596 2008-10-22  Bruno Haible  <bruno@clisp.org>
12597
12598         * users.txt: Update entry about pspp.
12599
12600 2008-10-21  Bruno Haible  <bruno@clisp.org>
12601
12602         Simplification.
12603         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
12604         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
12605
12606         Simplification.
12607         * lib/ioctl.c (ioctl): Don't undefine.
12608         * lib/socket.c (socket): Don't undefine.
12609
12610         Remove unused module indicator macros.
12611         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
12612         GNULIB_$1 as a C macro.
12613
12614         * doc/posix-functions/close.texi: Undo last change.
12615         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
12616         Windows platforms.
12617
12618 2008-10-21  Bruno Haible  <bruno@clisp.org>
12619
12620         Add gethostname() declaration to <unistd.h>.
12621         * lib/unistd.in.h (gethostname): New declaration.
12622         * lib/gethostname.c: Include <unistd.h>.
12623         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
12624         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
12625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
12626         and HAVE_GETHOSTNAME.
12627         * modules/gethostname (Depends-on): Add unistd.
12628         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12629         (Include): Specify <unistd.h>.
12630         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
12631         HAVE_GETHOSTNAME.
12632         * tests/test-gethostname.c: Include <unistd.h> first.
12633
12634 2008-10-21  Bruno Haible  <bruno@clisp.org>
12635
12636         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
12637         * modules/select-tests (Depends-on): Likewise.
12638         Reported by Simon Josefsson.
12639
12640 2008-10-21  Simon Josefsson  <simon@josefsson.org>
12641
12642         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
12643         * lib/accept.c: New file, based on winsock.c.
12644         * lib/bind.c: New file, based on winsock.c.
12645         * lib/connect.c: New file, based on winsock.c.
12646         * lib/getpeername.c: New file, based on winsock.c.
12647         * lib/getsockname.c: New file, based on winsock.c.
12648         * lib/getsockopt.c: New file, based on winsock.c.
12649         * lib/ioctl.c: New file, based on winsock.c.
12650         * lib/listen.c: New file, based on winsock.c.
12651         * lib/recv.c: New file, based on winsock.c.
12652         * lib/recvfrom.c: New file, based on winsock.c.
12653         * lib/send.c: New file, based on winsock.c.
12654         * lib/sendto.c: New file, based on winsock.c.
12655         * lib/setsockopt.c: New file, based on winsock.c.
12656         * lib/shutdown.c: New file, based on winsock.c.
12657         * lib/socket.c: New file, based on winsock.c.
12658         * lib/w32sock.h: New file, based on winsock.c.
12659         * lib/winsock.c: Remove file.
12660         * modules/accept: Likewise.
12661         * modules/bind: Likewise.
12662         * modules/connect: Likewise.
12663         * modules/getpeername: Likewise.
12664         * modules/getsockname: Likewise.
12665         * modules/getsockopt: Likewise.
12666         * modules/ioctl: Likewise.
12667         * modules/listen: Likewise.
12668         * modules/recv: Likewise.
12669         * modules/recvfrom: Likewise.
12670         * modules/send: Likewise.
12671         * modules/sendto: Likewise.
12672         * modules/setsockopt: Likewise.
12673         * modules/shutdown: Likewise.
12674         * modules/socket: Use socket.c instead of winsock.c.
12675         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
12676         * doc/posix-functions/accept.texi: Doc fix.
12677         * doc/posix-functions/bind.texi: Doc fix.
12678         * doc/posix-functions/close.texi: Doc fix.
12679         * doc/posix-functions/connect.texi: Doc fix.
12680         * doc/posix-functions/getpeername.texi: Doc fix.
12681         * doc/posix-functions/getsockname.texi: Doc fix.
12682         * doc/posix-functions/getsockopt.texi: Doc fix.
12683         * doc/posix-functions/ioctl.texi: Doc fix.
12684         * doc/posix-functions/listen.texi: Doc fix.
12685         * doc/posix-functions/recv.texi: Doc fix.
12686         * doc/posix-functions/recvfrom.texi: Doc fix.
12687         * doc/posix-functions/send.texi: Doc fix.
12688         * doc/posix-functions/sendto.texi: Doc fix.
12689         * doc/posix-functions/setsockopt.texi: Doc fix.
12690         * doc/posix-functions/shutdown.texi: Doc fix.
12691         * doc/posix-functions/socket.texi: Doc fix.
12692
12693 2008-10-20  Bruno Haible  <bruno@clisp.org>
12694
12695         Take into account the role of SIGABRT_COMPAT on Windows 2008.
12696         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
12697         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
12698         as an alias for SIGABRT.
12699         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
12700         (sigaction): Map it to SIGABRT.
12701         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
12702
12703 2008-10-20  Bruno Haible  <bruno@clisp.org>
12704
12705         * lib/fts.c: Don't include lstat.h.
12706         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
12707
12708         Move the lstat() declaration to <sys/stat.h>.
12709         * lib/lstat.h: Remove file.
12710         * lib/sys_stat.in.h: Add special invocation convention.
12711         (lstat): New declaration.
12712         * lib/lstat.c (orig_lstat): New function.
12713         (rpl_lstat): Use orig_lstat instead of lstat.
12714         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
12715         AC_C_INLINE. Set REPLACE_LSTAT.
12716         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
12717         and REPLACE_LSTAT.
12718         * modules/lstat (Files): Remove lib/lstat.h.
12719         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
12720         (Include): Specify <sys/stat.h> instead of lstat.h.
12721         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
12722         REPLACE_LSTAT.
12723         * NEWS: Mention the change.
12724
12725 2008-10-20  Bruno Haible  <bruno@clisp.org>
12726
12727         * modules/posix_spawn-tests: New file.
12728         * tests/test-posix_spawn3.c: New file.
12729
12730 2008-10-20  Bruno Haible  <bruno@clisp.org>
12731
12732         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
12733         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
12734         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
12735         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
12736         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
12737
12738 2008-10-20  Bruno Haible  <bruno@clisp.org>
12739
12740         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
12741         of posix_spawn on AIX 5.3.
12742
12743 2008-10-20  Bruno Haible  <bruno@clisp.org>
12744
12745         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
12746
12747 2008-10-20  Bruno Haible  <bruno@clisp.org>
12748
12749         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
12750         of AC_LANG_PROGRAM.
12751
12752 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12753
12754         * lib/netdb.in.h: Don't define GNU specific constants until they
12755         are supported or needed.  Reported by Bruno Haible
12756         <bruno@clisp.org>.
12757
12758 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12759
12760         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
12761
12762 2008-10-20  Simon Josefsson  <simon@josefsson.org>
12763
12764         * lib/getaddrinfo.h: Remove file.
12765         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
12766         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
12767         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
12768         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
12769         * modules/netdb: Substitute GNULIB_GETADDRINFO.
12770         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
12771         * tests/test-getaddrinfo.c: Likewise.
12772         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
12773         * NEWS: Mention change.
12774
12775 2008-10-19  Bruno Haible  <bruno@clisp.org>
12776
12777         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
12778
12779 2008-10-19  Bruno Haible  <bruno@clisp.org>
12780
12781         * lib/wait-process.c: Include simply <sys/wait.h>.
12782         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
12783         WIFSTOPPED): Remove fallback definitions.
12784         * modules/wait-process (Depends-on): Add sys_wait.
12785
12786         New module 'sys_wait'.
12787         * modules/sys_wait: New file.
12788         * lib/sys_wait.in.h: New file, partially copied from
12789         lib/wait-process.c.
12790         * m4/sys_wait_h.m4: New file.
12791         * doc/posix-headers/sys_wait.texi: Mention the new module.
12792
12793 2008-10-19  Bruno Haible  <bruno@clisp.org>
12794
12795         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
12796
12797 2008-10-19  Bruno Haible  <bruno@clisp.org>
12798
12799         Assume that waitpid() fills an 'int' status, not a 'union wait'.
12800         * lib/wait-process.c (WAIT_T): Remove type.
12801         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
12802         (wait_subprocess): Update.
12803
12804 2008-10-19  Bruno Haible  <bruno@clisp.org>
12805
12806         New module 'atoll'.
12807         * modules/atoll: New file.
12808         * lib/stdlib.in.h (atoll): New declaration.
12809         * lib/atoll.c: New file, from glibc with modifications.
12810         * m4/atoll.m4: New file.
12811         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
12812         HAVE_ATOLL.
12813         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
12814         * doc/posix-functions/atoll.texi: Mention the new module.
12815
12816 2008-10-19  Bruno Haible  <bruno@clisp.org>
12817
12818         Add strtoull() declaration to <stdlib.h>.
12819         * lib/stdlib.in.h (strtoull): New declaration.
12820         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
12821         Set HAVE_STRTOULL.
12822         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
12823         HAVE_STRTOULL.
12824         * modules/strtoull (Depends-on): Add stdlib.
12825         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12826         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
12827         HAVE_STRTOULL.
12828
12829 2008-10-19  Bruno Haible  <bruno@clisp.org>
12830
12831         Add strtoll() declaration to <stdlib.h>.
12832         * lib/stdlib.in.h (strtoll): New declaration.
12833         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
12834         Set HAVE_STRTOLL.
12835         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
12836         HAVE_STRTOLL.
12837         * modules/strtoll (Depends-on): Add stdlib.
12838         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12839         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
12840
12841 2008-10-19  Bruno Haible  <bruno@clisp.org>
12842
12843         * modules/bcopy (Depends-on): Add strings.
12844         (Include): Specify <strings.h>.
12845
12846 2008-10-19  Bruno Haible  <bruno@clisp.org>
12847
12848         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
12849
12850 2008-10-19  Bruno Haible  <bruno@clisp.org>
12851
12852         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
12853         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
12854         mingw.
12855
12856 2008-10-19  Bruno Haible  <bruno@clisp.org>
12857
12858         * lib/atanl.c: Don't include isnanl.h.
12859         * lib/cosl.c: Likewise.
12860         * lib/ldexpl.c: Likewise.
12861         * lib/logl.c: Likewise.
12862         * lib/sinl.c: Likewise.
12863         * lib/sqrtl.c: Likewise.
12864         * lib/tanl.c: Likewise.
12865
12866         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
12867         * lib/isnanf.h: Remove file.
12868         * lib/isnand.h: Remove file.
12869         * lib/isnanl.h: Remove file.
12870         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
12871         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
12872         macros.
12873         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
12874         HAVE_ISNANF, don't define it as a C macro.
12875         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
12876         HAVE_ISNAND, don't define it as a C macro.
12877         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
12878         HAVE_ISNANL, don't define it as a C macro.
12879         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
12880         HAVE_ISNAN[FDL].
12881         * modules/isnanf (Files): Remove lib/isnanf.h.
12882         (Depends-on): Add math.
12883         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12884         (Include): Specify <math.h> instead of isnanf.h.
12885         * modules/isnand (Files): Remove lib/isnand.h.
12886         (Depends-on): Add math.
12887         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12888         (Include): Specify <math.h> instead of isnand.h.
12889         * modules/isnanl (Files): Remove lib/isnanl.h.
12890         (Depends-on): Add math.
12891         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
12892         (Include): Specify <math.h> instead of isnanl.h.
12893         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
12894         HAVE_ISNAN[FDL].
12895         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
12896         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
12897         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
12898         * NEWS: Mention the change.
12899
12900 2008-10-18  Bruno Haible  <bruno@clisp.org>
12901
12902         Add getusershell(), setusershell(), endusershell() declarations to
12903         <unistd.h>.
12904         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
12905         declarations.
12906         * lib/getusershell.c: Include unistd.h.
12907         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
12908         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
12909         HAVE_GETUSERSHELL.
12910         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
12911         and HAVE_GETUSERSHELL.
12912         * modules/getusershell (Depends-on): Add unistd, extensions.
12913         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12914         (Include): Specify <unistd.h>.
12915         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
12916         HAVE_GETUSERSHELL.
12917
12918 2008-10-18  Bruno Haible  <bruno@clisp.org>
12919
12920         Add a getloadavg() declaration to <stdlib.h>.
12921         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
12922         getloadavg declaration.
12923         (getloadavg): New declaration.
12924         * lib/getloadavg.c: Include <stdlib.h> first.
12925         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
12926         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
12927         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
12928         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
12929         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
12930         * modules/getloadavg (Depends-on): Add stdlib, extensions.
12931         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
12932         (Include): Specify <stdlib.h>.
12933         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
12934         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
12935
12936 2008-10-18  Bruno Haible  <bruno@clisp.org>
12937
12938         * lib/dirchownmod.c: Don't include lchmod.h.
12939
12940         Move the lchmod() declaration to <sys/stat.h>.
12941         * lib/lchmod.h: Remove file.
12942         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
12943         (lchmod): New declaration, moved here from lib/lchown.h.
12944         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
12945         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
12946         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
12947         and HAVE_LCHMOD.
12948         * modules/lchmod (Files): Remove lib/lchmod.h.
12949         (Depends-on): Add sys_stat, extensions.
12950         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
12951         (Include): Specify <sys/stat.h> instead of lchmod.h.
12952         * modules/sys_stat (Depends-on): Add link-warning.
12953         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
12954         definition of GL_LINK_WARNING.
12955         * NEWS: Mention the change.
12956
12957 2008-10-18  Bruno Haible  <bruno@clisp.org>
12958
12959         * lib/fchdir.c: Don't include dirfd.h.
12960         * lib/fts.c: Likewise.
12961         * lib/getcwd.c: Likewise.
12962         * lib/glob.c: Likewise.
12963
12964         Move the dirfd() declaration to <dirent.h>.
12965         * lib/dirfd.h: Remove file.
12966         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
12967         (dirfd): New declaration.
12968         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
12969         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
12970         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
12971         HAVE_DECL_DIRFD.
12972         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
12973         HAVE_DECL_DIRFD.
12974         * modules/dirfd (Files): Remove lib/dirfd.h.
12975         (Depends-on): Add dirent, extensions.
12976         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
12977         (Include): Specify <dirent.h> instead of dirfd.h.
12978         * modules/dirent (Depends-on): Add link-warning.
12979         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
12980         definition of GL_LINK_WARNING.
12981         * NEWS: Mention the change.
12982
12983 2008-10-18  Bruno Haible  <bruno@clisp.org>
12984
12985         Move the euidaccess() declaration to <unistd.h>.
12986         * lib/euidaccess.h: Remove file.
12987         * lib/unistd.in.h (euidaccess): New declaration.
12988         * lib/euidaccess.c: Don't include euidaccess.h.
12989         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
12990         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
12991         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
12992         and HAVE_EUIDACCESS.
12993         * modules/euidaccess (Files): Remove lib/euidaccess.h.
12994         (Depends-on): Add unistd.
12995         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
12996         (Include): Specify <unistd.h> instead of euidaccess.h.
12997         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
12998         HAVE_EUIDACCESS.
12999         * NEWS: Mention the change.
13000
13001 2008-10-18  Bruno Haible  <bruno@clisp.org>
13002
13003         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
13004
13005         Move the getdomainname() declaration to <unistd.h>.
13006         * lib/getdomainname.h: Remove file.
13007         * lib/unistd.in.h (getdomainname): New declaration.
13008         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
13009         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
13010         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
13011         HAVE_GETDOMAINNAME.
13012         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13013         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
13014         * modules/getdomainname (Files): Remove lib/getdomainname.h.
13015         (Depends-on): Add unistd, extensions.
13016         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
13017         (Includes): Specify <unistd.h> instead of getdomainname.h.
13018         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
13019         HAVE_GETDOMAINNAME.
13020         * NEWS: Mention the change.
13021
13022 2008-10-18  Bruno Haible  <bruno@clisp.org>
13023
13024         * modules/dirent: New file.
13025         * m4/dirent_h.m4: New file.
13026         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
13027         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
13028         * modules/fchdir (Files): Remove lib/dirent.in.h.
13029         (Depends-on): Add dirent.
13030         (Makefile.am): Move rules to modules/dirent.
13031         * doc/posix-headers/dirent.texi: Mention the new module.
13032
13033 2008-10-18  Bruno Haible  <bruno@clisp.org>
13034
13035         Avoid -Wunused-parameter warnings in public gnulib header files.
13036         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
13037         macro.
13038         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
13039
13040 2008-10-18  Bruno Haible  <bruno@clisp.org>
13041
13042         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
13043         * doc/glibc-functions/error.texi: Mention the module 'error'.
13044         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
13045         * doc/glibc-functions/getdomainname.texi: Mention the module
13046         'getdomainname'.
13047         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
13048         * doc/glibc-functions/getpagesize.texi: Mention the module
13049         'getpagesize'.
13050         * doc/glibc-functions/getusershell.texi: Mention the module
13051         'getusershell'.
13052         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
13053         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
13054         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
13055         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
13056         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
13057         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
13058         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
13059         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
13060         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
13061         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
13062         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
13063         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
13064         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
13065         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
13066
13067 2008-10-17  Bruno Haible  <bruno@clisp.org>
13068
13069         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
13070         HP-UX and IRIX, use -0.0L.
13071         * tests/test-ceill.c (minus_zero): Likewise.
13072         * tests/test-floorl.c (minus_zero): Likewise.
13073         * tests/test-frexpl.c (minus_zero): Likewise.
13074         * tests/test-isnan.c (minus_zerol): Likewise.
13075         * tests/test-isnanl.h (minus_zero): Likewise.
13076         * tests/test-ldexpl.c (minus_zero): Likewise.
13077         * tests/test-roundl.c (minus_zero): Likewise.
13078         * tests/test-signbit.c (minus_zerol): Likewise.
13079         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
13080         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
13081         * tests/test-truncl.c (minus_zero): Likewise.
13082         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
13083         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
13084         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
13085         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
13086
13087 2008-10-17  Bruno Haible  <bruno@clisp.org>
13088
13089         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
13090         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
13091         that it gets activated only for gcc >= 3.0.
13092         * lib/dirent.in.h: Likewise.
13093         * lib/errno.in.h: Likewise.
13094         * lib/fcntl.in.h: Likewise.
13095         * lib/float.in.h: Likewise.
13096         * lib/iconv.in.h: Likewise.
13097         * lib/inttypes.in.h: Likewise.
13098         * lib/locale.in.h: Likewise.
13099         * lib/math.in.h: Likewise.
13100         * lib/netdb.in.h: Likewise.
13101         * lib/netinet_in.in.h: Likewise.
13102         * lib/search.in.h: Likewise.
13103         * lib/signal.in.h: Likewise.
13104         * lib/spawn.in.h: Likewise.
13105         * lib/stdarg.in.h: Likewise.
13106         * lib/stdint.in.h: Likewise.
13107         * lib/stdio.in.h: Likewise.
13108         * lib/stdlib.in.h: Likewise.
13109         * lib/string.in.h: Likewise.
13110         * lib/strings.in.h: Likewise.
13111         * lib/sys_file.in.h: Likewise.
13112         * lib/sys_ioctl.in.h: Likewise.
13113         * lib/sys_select.in.h: Likewise.
13114         * lib/sys_socket.in.h: Likewise.
13115         * lib/sys_stat.in.h: Likewise.
13116         * lib/sys_time.in.h: Likewise.
13117         * lib/sysexits.in.h: Likewise.
13118         * lib/time.in.h: Likewise.
13119         * lib/unistd.in.h: Likewise.
13120         * lib/wchar.in.h: Likewise.
13121         * lib/wctype.in.h: Likewise.
13122         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
13123
13124 2008-10-17  Jim Meyering  <meyering@redhat.com>
13125
13126         ignore-value: don't depend on inline module
13127         * modules/ignore-value (Depends-on): Remove 'inline'.
13128         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
13129         Suggestion from Bruno Haible.
13130
13131 2008-10-17  Bruno Haible  <bruno@clisp.org>
13132
13133         New implementation of condition variables for Win32.
13134         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
13135         (gl_linked_waitqueue_t): New type.
13136         (gl_cond_t): Use it.
13137         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
13138         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
13139         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
13140         (glthread_cond_init_func, glthread_cond_wait_func,
13141         glthread_cond_timedwait_func, glthread_cond_signal_func,
13142         glthread_cond_broadcast_func, glthread_cond_destroy_func):
13143         Reimplemented on the basis of gl_linked_waitqueue_t.
13144         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
13145         gl_waitqueue_t.
13146         (gl_rwlock_t): Update.
13147         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
13148
13149 2008-10-17  Simon Josefsson  <simon@josefsson.org>
13150
13151         * modules/recvfrom (Depends-on): Add dependency on getpeername.
13152         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
13153
13154 2008-10-17  Jim Meyering  <meyering@redhat.com>
13155
13156         ignore-value: new module
13157         * modules/ignore-value: New file.
13158         * lib/ignore-value.h: New file.
13159         * MODULES.html.sh (Compiler warning management): New section,
13160         just for this module.  More to come.
13161
13162 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
13163
13164         open-safer.c: avoid 'signed and unsigned in conditional...' warning
13165         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
13166         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
13167
13168 2008-10-16  Jim Meyering  <meyering@redhat.com>
13169
13170         openat-die.c: avoid 'no previous prototype' warning
13171         * lib/openat-die.c: Include "openat.h".
13172         Reported by Reuben Thomas <rrt@sc3d.org>.
13173
13174 2008-10-16  Simon Josefsson  <simon@josefsson.org>
13175
13176         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
13177         * lib/netdb.in.h: Fix typo.
13178         Reported by Bruno Haible  <bruno@clisp.org>
13179
13180         * lib/netdb.in.h: Include sys/socket.h for platforms without
13181         netdb.h, to get structures like hostent on MinGW.
13182         * modules/netdb (Depends-on): Add sys_socket.
13183
13184 2008-10-15  Simon Josefsson  <simon@josefsson.org>
13185
13186         * modules/netdb, modules/netdb-tests: New file.
13187         * m4/netdb_h.m4: New file.
13188         * lib/netdb.in.h: Add, currently just an empty file pending
13189         definitions.
13190         * tests/test-netdb.c: New file.
13191         * doc/posix-headers/netdb.texi: Mention that we replace it if
13192         needed.
13193         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
13194         netdb.
13195
13196 2008-10-15  Simon Josefsson  <simon@josefsson.org>
13197
13198         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
13199         with code.
13200
13201 2008-10-13  Bruno Haible  <bruno@clisp.org>
13202
13203         * lib/glthread/cond.c (glthread_cond_wait_func,
13204         glthread_cond_timedwait_func): Add a comment.
13205
13206 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13207
13208         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
13209         * tests/test-select.c: Likewise,
13210
13211 2008-10-13  Bruno Haible  <bruno@clisp.org>
13212
13213         * lib/glthread/cond.c (glthread_cond_wait_func,
13214         glthread_cond_timedwait_func): Fix variable name.
13215         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
13216
13217 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
13218
13219         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
13220         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
13221         struct sockaddr.sa_len.
13222         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
13223
13224 2008-10-13  Simon Josefsson  <simon@josefsson.org>
13225
13226         * build-aux/pmccabe2html: Add css and css_url parameters.
13227
13228 2008-10-12  Bruno Haible  <bruno@clisp.org>
13229
13230         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
13231         calling aclx_get.
13232         Reported by Rainer Tammer <tammer@tammer.net>.
13233
13234 2008-10-12  Bruno Haible  <bruno@clisp.org>
13235
13236         Use msvcrt aware primitives for creation/termination of Win32 threads.
13237         * lib/glthread/thread.c: Include <process.h>.
13238         (glthread_create_func): Use _beginthreadex instead of CreateThread.
13239         (wrapper_func): Update signature.
13240         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
13241
13242 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
13243             Bruno Haible  <bruno@clisp.org>
13244
13245         Provide a Win32 implementation of the 'cond' module.
13246         * lib/glthread/cond.h [USE_WIN32]: New implementation.
13247         * lib/glthread/cond.c (glthread_cond_init_func,
13248         glthread_cond_wait_func, glthread_cond_timedwait_func,
13249         glthread_cond_signal_func, glthread_cond_broadcast_func,
13250         glthread_cond_destroy_func) [USE_WIN32]: New functions.
13251         * modules/cond (Dependencies): Add gettimeofday.
13252
13253 2008-10-11  Bruno Haible  <bruno@clisp.org>
13254
13255         Make sleep work on older versions of mingw.
13256         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
13257         only whether it exists.
13258         * doc/posix-functions/sleep.texi: Mention the problem with older
13259         versions of mingw.
13260
13261 2008-10-11  Bruno Haible  <bruno@clisp.org>
13262
13263         New module 'shutdown'.
13264         * modules/shutdown: New file.
13265         * lib/sys_socket.in.h (shutdown): New declaration.
13266         * lib/winsock.c (shutdown): New function.
13267         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
13268         GNULIB_SHUTDOWN.
13269         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
13270         * doc/posix-functions/shutdown.texi: Document the new module.
13271
13272 2008-10-11  Jim Meyering  <meyering@redhat.com>
13273
13274         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
13275
13276 2008-10-11  Bruno Haible  <bruno@clisp.org>
13277
13278         New module 'fclose'.
13279         * modules/fclose: New file.
13280         * lib/stdio.in.h (fclose): New declaration.
13281         * lib/fclose.c: New file.
13282         * m4/fclose.m4: New file.
13283         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
13284         REPLACE_FCLOSE.
13285         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
13286         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
13287         REPLACE_FCLOSE.
13288         * modules/close (Depends-on): fclose.
13289         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
13290
13291 2008-10-11  Bruno Haible  <bruno@clisp.org>
13292
13293         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
13294         set errno and don't call _close.
13295
13296 2008-10-10  Bruno Haible  <bruno@clisp.org>
13297
13298         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
13299         ACL, not afterwards. Fixes test failure on Cygwin.
13300
13301 2008-10-09  Ben Pfaff  <blp@gnu.org>
13302
13303         * build-aux/announce-gen: Fix gnulib version related part of usage
13304         message.  Die with a useful error message if no tarballs are
13305         found.
13306
13307 2008-10-10  Jim Meyering  <meyering@redhat.com>
13308
13309         bootstrap: use git's --depth=N option only if it's supported
13310         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
13311         recognize the --depth option.  Reported by Pádraig Brady.
13312
13313 2008-10-09  Bruno Haible  <bruno@clisp.org>
13314
13315         New module 'ioctl'.
13316         * modules/ioctl: New file.
13317         * lib/sys_socket.in.h (ioctl): Remove declaration.
13318         * lib/winsock.c: Include <sys/ioctl.h>.
13319         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
13320         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
13321         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
13322         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
13323         * doc/posix-functions/ioctl.texi: Mention the new module.
13324
13325 2008-10-09  Bruno Haible  <bruno@clisp.org>
13326
13327         New module 'sys_ioctl'.
13328         * lib/sys_ioctl.in.h: New file.
13329         * m4/sys_ioctl_h.m4: New file.
13330         * modules/sys_ioctl: New file.
13331         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
13332
13333 2008-10-09  Bruno Haible  <bruno@clisp.org>
13334
13335         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
13336         * lib/winsock.c: Include <stdarg.h>.
13337         (rpl_ioctl): Change to second argument 'int' and then varargs.
13338
13339 2008-10-09  Bruno Haible  <bruno@clisp.org>
13340
13341         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
13342         when the sys_socket module is present and the system has <winsock2.h>.
13343
13344 2008-10-09  Bruno Haible  <bruno@clisp.org>
13345
13346         * doc/posix-functions/close.texi: Mention module 'close' instead of
13347         module 'sys_socket'.
13348
13349 2008-10-09  Bruno Haible  <bruno@clisp.org>
13350
13351         * doc/glibc-headers/sys_ioctl.texi: New file.
13352         * doc/gnulib.texi: Include it.
13353
13354 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13355             Bruno Haible  <bruno@clisp.org>
13356
13357         Combine the two replacements of 'close'.
13358         * lib/sys_socket.in.h (close): Define to a reminder to include
13359         <unistd.h>.
13360         (_gl_close_fd_maybe_socket): New declaration.
13361         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
13362         * lib/winsock.c (close): Remove undefinition.
13363         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
13364         needed for the gnulib module 'close'.
13365         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
13366         define to an error symbol or to a warning, if suitable.
13367         * lib/close.c: Include <sys/socket.h>.
13368         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
13369         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
13370         UNISTD_H_HAVE_WINSOCK2_H.
13371         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
13372         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13373         UNISTD_H_HAVE_WINSOCK2_H.
13374         * modules/sys_socket (Files): Add m4/unistd_h.m4.
13375         (configure.ac): Set a module indicator.
13376         (Makefile.am): Substitute GNULIB_CLOSE.
13377         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
13378         * modules/poll-tests (Depends-on): Add close.
13379         * modules/select-tests (Depends-on): Likewise.
13380
13381 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13382             Bruno Haible  <bruno@clisp.org>
13383
13384         New module 'close'.
13385         * modules/close: New file.
13386         * lib/unistd.in.h (close): Move declaration out of the
13387         FCHDIR_REPLACEMENT scope.
13388         (_gl_unregister_fd): New declaration.
13389         * lib/close.c: New file.
13390         * lib/fchdir.c (rpl_close): Remove function.
13391         * m4/close.m4: New file.
13392         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
13393         close.
13394         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
13395         REPLACE_CLOSE.
13396         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
13397         REPLACE_CLOSE.
13398         * modules/fchdir (Depends-on): Add close.
13399
13400 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13401             Bruno Haible  <bruno@clisp.org>
13402
13403         * lib/fcntl.in.h (open): Simplify conditionals.
13404         (_gl_register_fd): New declaration.
13405         * lib/fchdir.c (rpl_open): Remove function.
13406         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
13407         also.
13408         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
13409         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
13410         open.
13411
13412 2008-10-09  Jim Meyering  <meyering@redhat.com>
13413
13414         GNUmakefile: use the more name-space-friendly "_version"
13415         * top/GNUmakefile (_dummy): Update.
13416         (_version): Rename from "version".
13417
13418 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13419             Bruno Haible  <bruno@clisp.org>
13420
13421         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
13422         rpl_close.
13423         (_gl_register_fd): New function, extracted from rpl_open.
13424         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
13425         (rpl_open, rpl_opendir): Use _gl_register_fd.
13426
13427 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
13428
13429         Fix organization of 'open' replacement.
13430         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
13431         (gl_FUNC_OPEN): Use it.
13432         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
13433
13434 2008-10-08  Bruno Haible  <bruno@clisp.org>
13435
13436         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
13437
13438 2008-10-08  Simon Josefsson  <simon@josefsson.org>
13439
13440         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
13441         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
13442         listen).
13443
13444 2008-10-08  Eric Blake  <ebb9@byu.net>
13445
13446         GNUmakefile: add 'make version' target
13447         * top/GNUmakefile (_curr-ver): Split version update rules...
13448         (version): ...into a target.
13449
13450 2008-10-07  Bruno Haible  <bruno@clisp.org>
13451
13452         Use a more portable replacement expression for -0.0L.
13453         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
13454         instead of -0.0L. Fix m4 quotation.
13455
13456         * tests/test-signbit.c: Include <float.h>.
13457         (minus_zero): New variable.
13458         (test_signbitl): Use minus_zero instead of -zero.
13459         * modules/signbit-tests (Depends-on): Add float.
13460
13461         * tests/test-ceill.c: Include <float.h>.
13462         (zero): Remove variable.
13463         (minus_zero): New variable.
13464         (main): Use minus_zero instead of -zero.
13465         * modules/ceill-tests (Depends-on): Add float.
13466
13467         * tests/test-floorl.c: Include <float.h>.
13468         (zero): Remove variable.
13469         (minus_zero): New variable.
13470         (main): Use minus_zero instead of -zero.
13471         * modules/floorl-tests (Depends-on): Add float.
13472
13473         * tests/test-roundl.c: Include <float.h>.
13474         (zero): Remove variable.
13475         (minus_zero): New variable.
13476         (main): Use minus_zero instead of -zero.
13477         * modules/roundl-tests (Depends-on): Add float.
13478
13479         * tests/test-truncl.c: Include <float.h>.
13480         (zero): Remove variable.
13481         (minus_zero): New variable.
13482         (main): Use minus_zero instead of -zero.
13483         * modules/truncl-tests (Depends-on): Add float.
13484
13485         * tests/test-frexpl.c (zero): Remove variable.
13486         (minus_zero): New variable.
13487         (main): Use minus_zero instead of -zero.
13488         * modules/frexpl-tests (Depends-on): Add float.
13489
13490         * tests/test-isnan.c (zerol): Remove variable.
13491         (minus_zerol): New variable.
13492         (test_long_double): Use minus_zerol instead of -zerol.
13493         * modules/isnan-tests (Depends-on): Add float.
13494
13495         * tests/test-isnanl.h (zero): Remove variable.
13496         (minus_zero): New variable.
13497         (main): Use minus_zero instead of -zero.
13498         * modules/isnanl-nolibm-tests (Depends-on): Add float.
13499         * modules/isnanl-tests (Depends-on): Add float.
13500
13501         * tests/test-ldexpl.c (zero): Remove variable.
13502         (minus_zero): New variable.
13503         (main): Use minus_zero instead of -zero.
13504         * modules/ldexpl-tests (Depends-on): Add float.
13505
13506         * tests/test-snprintf-posix.h (zerol): Remove variable.
13507         (minus_zerol): New variable.
13508         (test_function): Use minus_zerol instead of -zerol.
13509         * modules/snprintf-posix-tests (Depends-on): Add float.
13510         * modules/vsnprintf-posix-tests (Depends-on): Add float.
13511
13512         * tests/test-sprintf-posix.h (zerol): Remove variable.
13513         (minus_zerol): New variable.
13514         (test_function): Use minus_zerol instead of -zerol.
13515         * modules/sprintf-posix-tests (Depends-on): Add float.
13516         * modules/vsprintf-posix-tests (Depends-on): Add float.
13517
13518         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
13519         (minus_zerol): New variable.
13520         (test_function): Use minus_zerol instead of -zerol.
13521         * modules/vasnprintf-posix-tests (Depends-on): Add float.
13522
13523         * tests/test-vasprintf-posix.c (zerol): Remove variable.
13524         (minus_zerol): New variable.
13525         (test_function): Use minus_zerol instead of -zerol.
13526         * modules/vasprintf-posix-tests (Depends-on): Add float.
13527
13528 2008-10-07  Simon Josefsson  <simon@josefsson.org>
13529
13530         * MODULES.html.sh (Support for building documentation): Mention
13531         pmccabe2html.  Sort entries.
13532
13533         Add pmccabe2html module, from gnupdf.
13534         * build-aux/pmccabe.css: New file.
13535         * build-aux/pmccabe2html: New file.
13536         * m4/pmccabe2html.m4: New file.
13537         * modules/pmccabe2html: New file.
13538
13539 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
13540
13541         flock: new module
13542         * MODULES.html.sh: Add to list of modules.
13543         * lib/flock.c: flock implementation for Windows and Unix systems
13544         which have fcntl.
13545         * doc/glibc-functions/flock.texi: Update documentation.
13546         * lib/sys_file.in.h: <sys/file.h> header file.
13547         * m4/flock.m4: M4 macros.
13548         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
13549         * modules/flock: flock module.
13550         * modules/flock-tests: flock tests module.
13551         * modules/sys_file: sys/file.h module.
13552         * tests/test-flock.c: test suite for flock.
13553
13554 2008-10-06  Jim Meyering  <meyering@redhat.com>
13555
13556         bootstrap: check for LT_INIT more portably still ;-)
13557         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
13558         Spotted by Bruno Haible.
13559
13560 2008-10-06  Eric Blake  <ebb9@byu.net>
13561
13562         test-signbit: avoid tripping Irix cc bug on -0.0L
13563         * tests/test-signbit.c (minus_zerol): Delete, and replace with
13564         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
13565         entire testsuite consistent and avoids an Irix 6.2 bug.
13566
13567 2008-10-05  Bruno Haible  <bruno@clisp.org>
13568             Jim Meyering  <jim@meyering.net>
13569
13570         Add an option for ignoring EPIPE during close_stdout.
13571         * lib/closeout.h: Include <stdbool.h>.
13572         (close_stdout_set_ignore_EPIPE): New declaration.
13573         * lib/closeout.c: Include <stdbool.h>.
13574         (ignore_EPIPE): New variable.
13575         (close_stdout_set_ignore_EPIPE): New function.
13576         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
13577         * lib/close-stream.c (close_stream): Mention the possible EPIPE
13578         failure.
13579         * modules/closeout (Depends-on): Add stdbool.
13580
13581 2008-10-05  Bruno Haible  <bruno@clisp.org>
13582
13583         * modules/accept: New file.
13584         * modules/bind: New file.
13585         * modules/connect: New file.
13586         * modules/getpeername: New file.
13587         * modules/getsockname: New file.
13588         * modules/getsockopt: New file.
13589         * modules/listen: New file.
13590         * modules/recv: New file.
13591         * modules/recvfrom: New file.
13592         * modules/send: New file.
13593         * modules/sendto: New file.
13594         * modules/setsockopt: New file.
13595         * modules/socket: New file.
13596         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
13597         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
13598         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
13599         the particular module is requested. Add a link warning when the
13600         particular module is not requested.
13601         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
13602         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
13603         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
13604         the particular module is requested.
13605         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
13606         gl_SYS_SOCKET_H_DEFAULTS): New macros.
13607         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
13608         * modules/sys_socket (Depends-on): Add link-warning.
13609         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
13610         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
13611         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
13612         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
13613         GL_LINK_WARNING.
13614         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
13615         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
13616         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
13617         * doc/posix-functions/getpeername.texi: Mention the new module
13618         'getpeername'.
13619         * doc/posix-functions/getsockname.texi: Mention the new module
13620         'getsockname'.
13621         * doc/posix-functions/getsockopt.texi: Mention the new module
13622         'getsockopt'.
13623         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
13624         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
13625         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
13626         * doc/posix-functions/send.texi: Mention the new module 'send'.
13627         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
13628         * doc/posix-functions/setsockopt.texi: Mention the new module
13629         'setsockopt'.
13630         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
13631         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
13632         listen, connect, accept.
13633         * modules/select-tests (Depends-on): Likewise.
13634
13635 2008-10-05  Bruno Haible  <bruno@clisp.org>
13636
13637         * lib/winsock.c (strerror): Remove unused #undef.
13638         (rpl_close): Remove unused local variable.
13639
13640         * modules/sys_socket (Depends-on); Add errno.
13641
13642 2008-10-05  Bruno Haible  <bruno@clisp.org>
13643
13644         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
13645         (select): Add a link warning when the 'select' module is not used.
13646         * modules/sys_select (Depends-on): Add link-warning.
13647         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
13648         Suggested by Paolo Bonzini.
13649
13650 2008-10-05  Jim Meyering  <meyering@redhat.com>
13651
13652         bootstrap: check for LT_INIT more portably
13653         * build-aux/bootstrap: Avoid using grep -E, since it's not
13654         portable enough.  Suggestion from Bruno Haible.
13655
13656 2008-10-05  Bruno Haible  <bruno@clisp.org>
13657
13658         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
13659         as being fixed by gnulib.
13660
13661 2008-10-05  Bruno Haible  <bruno@clisp.org>
13662
13663         * modules/select-tests: New file, mostly copied from
13664         modules/sys_select-tests.
13665         * tests/test-select.c: New file, mostly copied from
13666         tests/test-sys_select.c.
13667         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
13668         * modules/sys_select-tests (Depends-on): Remove all dependencies.
13669         (Makefile.am): Remove test_sys_select_LDADD.
13670
13671         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
13672         to an undefined symbol, for an error message.
13673         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
13674         (gl_SYS_SELECT_H_DEFAULTS): New macro.
13675         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
13676         winsock-select.c here.
13677         * modules/sys_select (Files): Remove lib/winsock-select.c.
13678         (Depends-on): Remove alloca.
13679         (Makefile.am): Substitute GNULIB_SELECT.
13680         * modules/select: New file.
13681         * doc/posix-functions/select.texi: Update.
13682
13683 2008-10-05  Bruno Haible  <bruno@clisp.org>
13684
13685         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
13686         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
13687         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
13688         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
13689         getdtablesize.
13690         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
13691         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
13692
13693 2008-10-05  Bruno Haible  <bruno@clisp.org>
13694
13695         * modules/getdtablesize-tests: New file.
13696         * tests/test-getdtablesize.c: New file.
13697
13698         New module 'getdtablesize'.
13699         * lib/unistd.in.h (getdtablesize): New declaration.
13700         * lib/getdtablesize.c: New file.
13701         * m4/getdtablesize.m4: New file.
13702         * modules/getdtablesize: New file.
13703         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
13704         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
13705         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
13706         HAVE_GETDTABLESIZE.
13707         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
13708
13709 2008-10-05  Bruno Haible  <bruno@clisp.org>
13710
13711         * modules/sched (Makefile.am): Fix typo.
13712         Reported by Simon Josefsson.
13713
13714 2008-10-05  Jim Meyering  <meyering@redhat.com>
13715
13716         bootstrap: check for LT_INIT, too
13717         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
13718         are deprecated.  Suggestion from Ralf Wildenhues.
13719
13720 2008-10-05  Bruno Haible  <bruno@clisp.org>
13721
13722         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
13723         overriding them by ours.
13724         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
13725
13726 2008-10-05  Jim Meyering  <meyering@redhat.com>
13727
13728         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
13729         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
13730         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
13731
13732 2008-10-04  Bruno Haible  <bruno@clisp.org>
13733
13734         * modules/dup2 (License): Change to LGPLv2+.
13735         * modules/sleep (License): Likewise.
13736         * modules/perror (License): Likewise.
13737         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
13738         Blake.
13739         * modules/signal (License): Likewise.
13740         * modules/sigprocmask (License): Likewise.
13741         * modules/raise (License): Change to LGPLv2+, with approval by Jim
13742         Meyering.
13743
13744 2008-10-04  Bruno Haible  <bruno@clisp.org>
13745
13746         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
13747         Reported by Rainer Tammer <tammer@tammer.net>.
13748
13749 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
13750             Bruno Haible  <bruno@clisp.org>
13751
13752         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
13753         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
13754         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
13755
13756 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
13757
13758         filevercmp: new module
13759         * lib/filevercmp.h: New function filevercmp comparing version strings.
13760         * lib/filevercmp.c: Implementation of filevercmp function.
13761         * modules/filevercmp: Module metadata.
13762         * tests/test-filevercmp.c: Unit test for new module.
13763         * modules/filevercmp-tests: Unit test metadata.
13764         * MODULES.html.sh: Add filevercmp module.
13765
13766 2008-10-03  Bruno Haible  <bruno@clisp.org>
13767
13768         * lib/c-ctype.h: Add comment.
13769         Reported by Jim Meyering.
13770
13771 2008-10-02  Bruno Haible  <bruno@clisp.org>
13772
13773         * modules/posix_spawn-internal (Depends-on): Add 'open'.
13774
13775 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13776
13777         * build-aux/bootstrap: Allow renaming bootstrap, and change the
13778         name of bootstrap.conf accordingly.
13779
13780 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13781
13782         * build-aux/bootstrap: Install git-merge-changelog configuration
13783         items into .gitconfig if needed.
13784
13785 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
13786
13787         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
13788         git repository, and initialize/update it accordingly.
13789
13790 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
13791
13792         * modules/fsync-tests: New file.
13793         * tests/test-fsync.c: New file.
13794
13795         New module 'fsync'.
13796         * lib/fsync.c: New file.
13797         * m4/fsync.m4: New file.
13798         * modules/fsync: New file.
13799         * lib/unistd.in.h (fsync): New declaration.
13800         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
13801         GNULIB_FSYNC and HAVE_FSYNC.
13802         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
13803         * MODULES.html.sh (posix_functions): Add fsync.
13804         * doc/posix-functions/fsync.texi: Mention the new module.
13805
13806 2008-10-02  Jim Meyering  <meyering@redhat.com>
13807
13808         fts.c: sync with similar code from coreutils' remove.c
13809         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
13810         Guard also with "#if defined __linux__", since for now at least,
13811         this code is Linux-kernel-specific.
13812
13813 2008-10-02  Jim Meyering  <meyering@redhat.com>
13814
13815         fts: bug fixes
13816         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
13817         Include <sys/vfs.h>, not <sys/statfs.h>.
13818
13819         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
13820         Include <sys/vfs.h>, not <sys/statfs.h>.
13821
13822 2008-10-01  Bruno Haible  <bruno@clisp.org>
13823
13824         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
13825         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
13826         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
13827         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
13828         * doc/posix-functions/posix_spawnp.texi: Likewise.
13829         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
13830         whether posix_spawn actually works.
13831         * m4/pipe.m4 (gl_PIPE): Likewise.
13832         * modules/execute (Files): Add m4/posix_spawn.m4.
13833         * modules/pipe (Files): Add m4/posix_spawn.m4.
13834         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
13835
13836 2008-10-01  Jim Meyering  <meyering@redhat.com>
13837
13838         remove trailing spaces
13839         * NEWS: Likewise.
13840         * lib/poll.c (poll): Likewise.
13841         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
13842         * lib/winsock.c (rpl_close): Likewise.
13843         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
13844         * modules/yield: Likewise.
13845         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
13846         * tests/test-sys_select.c (connect_to_socket): Likewise.
13847
13848         fts.c: adjust a new interface to be more generally useful
13849         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
13850         (fts_build): Adjust caller.
13851
13852 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13853
13854         * modules/cond-tests: New file.
13855         * tests/test-cond.c: New file.
13856
13857 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13858             Bruno Haible  <bruno@clisp.org>
13859
13860         * modules/cond (Dependencies): Add errno, time.
13861         * lib/glthread/cond.h: Include <time.h>.
13862         (gl_cond_define, gl_cond_define_initialized): Use the same definition
13863         across platforms.
13864
13865 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13866             Bruno Haible  <bruno@clisp.org>
13867
13868         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
13869
13870 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13871             Bruno Haible  <bruno@clisp.org>
13872
13873         * modules/tls-tests (Depends-on): Add thread, yield.
13874         (configure.ac): Remove all checks.
13875         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
13876         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
13877         gl_thread_self): Remove definitions. Include glthread/thread.h and
13878         glthread/yield.h instead.
13879         (test_tls): Pass an additional NULL argument to gl_thread_join.
13880
13881 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
13882             Bruno Haible  <bruno@clisp.org>
13883
13884         * modules/lock-tests (Depends-on): Add thread, yield.
13885         (configure.ac): Remove all checks.
13886         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
13887         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
13888         gl_thread_self): Remove definitions. Include glthread/thread.h and
13889         glthread/yield.h instead.
13890         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
13891         additional NULL argument to gl_thread_join.
13892
13893 2008-09-30  Bruno Haible  <bruno@clisp.org>
13894
13895         Fix the Win32 implementation of the 'thread' module.
13896         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
13897         pointer type.
13898         (gl_thread_self): Invoke gl_thread_self_func.
13899         (gl_thread_self_func): New declaration.
13900         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
13901         (do_init_self_key, init_self_key): New functions.
13902         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
13903         Remove some fields.
13904         (running_threads, running_lock): Remove variables.
13905         (get_current_thread_handle): New function.
13906         (gl_thread_self_func, wrapper_func, glthread_create_func,
13907         glthread_join_func, gl_thread_exit_func): Largely rewritten and
13908         simplified.
13909
13910 2008-09-30  Bruno Haible  <bruno@clisp.org>
13911
13912         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
13913         files.
13914
13915 2008-09-30  Jim Meyering  <meyering@redhat.com>
13916
13917         fts.m4: correct the test for statfs.f_type
13918         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
13919         when checking for statfs.f_type.
13920
13921 2008-09-15  Simon Josefsson  <simon@josefsson.org>
13922
13923         tests: avoid some compiler warnings
13924         * tests/test-memchr.c (main): Pass NULL indirectly.
13925         * tests/test-getdate.c (main): Remove unused variable 'ret'.
13926
13927 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
13928
13929         getdate.y: disallow countable dayshifts like "4 yesterday ago"
13930         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
13931         exactly specified dayshifts.
13932         (dayshift): New rule.
13933         (rel): Add dayshift.
13934         (relative_time_table) [tomorrow, yesterday, today, now]:
13935         Use tDAY_SHIFT in place of tDAY_UNIT.
13936         * tests/test-getdate.c: Add tests for now-disallowed countable
13937         dayshifts, e.g., "4 yesterday ago".
13938
13939 2008-09-29  Bruno Haible  <bruno@clisp.org>
13940
13941         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
13942         * tests/test-posix_spawn1.in.sh: Renamed from
13943         tests/test-posix_spawn.in.sh.
13944         * tests/test-posix_spawn2.c: New file.
13945         * tests/test-posix_spawn2.in.sh: New file.
13946         * modules/posix_spawnp-tests (Files): Update.
13947         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
13948
13949 2008-09-29  Bruno Haible  <bruno@clisp.org>
13950
13951         Propagate effects of putenv/setenv/unsetenv to child processes.
13952         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
13953         * lib/pipe.c (create_pipe): Likewise.
13954
13955 2008-09-29  Bruno Haible  <bruno@clisp.org>
13956
13957         Enable use of shell scripts as executables in mingw.
13958         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
13959         run the program as a shell script.
13960         * lib/pipe.c (create_pipe): Likewise.
13961         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
13962         resulting array.
13963
13964 2008-09-29  Eric Blake  <ebb9@byu.net>
13965
13966         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
13967
13968 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
13969
13970         * doc/posix-functions/accept.texi: Update mingw problems.
13971         * doc/posix-functions/bind.texi: Update mingw problems.
13972         * doc/posix-functions/close.texi: Update mingw problems.
13973         * doc/posix-functions/connect.texi: Update mingw problems.
13974         * doc/posix-functions/getpeername.texi: Update mingw problems.
13975         * doc/posix-functions/getsockname.texi: Update mingw problems.
13976         * doc/posix-functions/getsockopt.texi: Update mingw problems.
13977         * doc/posix-functions/ioctl.texi: Update mingw problems.
13978         * doc/posix-functions/listen.texi: Update mingw problems.
13979         * doc/posix-functions/recv.texi: Update mingw problems.
13980         * doc/posix-functions/recvfrom.texi: Update mingw problems.
13981         * doc/posix-functions/select.texi: Update mingw problems.
13982         * doc/posix-functions/send.texi: Update mingw problems.
13983         * doc/posix-functions/sendto.texi: Update mingw problems.
13984         * doc/posix-functions/setsockopt.texi: Update mingw problems.
13985         * doc/posix-functions/socket.texi: Update mingw problems.
13986
13987 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
13988             Bruno Haible  <bruno@clisp.org>
13989
13990         * lib/sys_select.in.h: Include sys/time.h.
13991         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
13992         * modules/sys_select: Depend on sys_time.
13993         * tests/test-sys_select.c: Test that sys/select.h defines struct
13994         timeval fully.
13995
13996 2008-09-29  Bruno Haible  <bruno@clisp.org>
13997
13998         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
13999         * lib/sys_select.in.h: Likewise.
14000
14001 2008-09-29  Bruno Haible  <bruno@clisp.org>
14002
14003         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
14004
14005 2008-09-29  Bruno Haible  <bruno@clisp.org>
14006
14007         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
14008         Set LIBSOCKET instead of augmenting LIBS.
14009         * modules/sockets (Link): New section.
14010         * modules/sockets-tests (test_sockets_LDADD): New variable.
14011         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
14012         * modules/poll-tests (test_poll_LDADD): New variable.
14013         * NEWS: Document the change.
14014
14015 2008-09-29  Bruno Haible  <bruno@clisp.org>
14016
14017         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
14018         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
14019         ARPA_INET_H directly.
14020         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
14021
14022 2008-09-28  Bruno Haible  <bruno@clisp.org>
14023
14024         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
14025         from gl_HEADER_SYS_SOCKET.
14026         (gl_HEADER_SYS_SOCKET): Invoke it.
14027         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
14028
14029 2008-09-28  Bruno Haible  <bruno@clisp.org>
14030
14031         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
14032         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
14033         Needed on OSF/1 4.0.
14034
14035 2008-09-28  Bruno Haible  <bruno@clisp.org>
14036
14037         Override open more carefully.
14038         * lib/open.c (orig_open): New function.
14039         (rpl_open): Use orig_open instead of open.
14040         * lib/fcntl.in.h: Add special invocation convention.
14041         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
14042         (gl_FUNC_OPEN): Invoke it.
14043
14044         Override freopen more carefully.
14045         * lib/freopen.c (orig_freopen): New function.
14046         (rpl_freopen): Use orig_freopen instead of freopen.
14047         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
14048         (gl_FUNC_FREOPEN): Invoke it.
14049
14050         Override fopen more carefully.
14051         * lib/fopen.c (orig_fopen): New function.
14052         (rpl_fopen): Use orig_fopen instead of fopen.
14053         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
14054         (gl_FUNC_FOPEN): Invoke it.
14055         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
14056
14057 2008-09-28  Bruno Haible  <bruno@clisp.org>
14058
14059         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
14060         SIGPIPE.
14061
14062 2008-09-28  Bruno Haible  <bruno@clisp.org>
14063
14064         * tests/test-sigaction.c (handler, main): Disable the check whether
14065         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
14066         glibc systems with LinuxThreads.
14067
14068 2008-09-28  Bruno Haible  <bruno@clisp.org>
14069
14070         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
14071
14072         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
14073         with AIX xlc.
14074         * lib/fcntl.in.h (open): Likewise.
14075         Reported by Rainer Tammer <tammer@tammer.net>.
14076
14077 2008-09-28  Bruno Haible  <bruno@clisp.org>
14078
14079         * modules/posix_spawnp-tests: New file.
14080         * tests/test-posix_spawn.c: New file.
14081         * tests/test-posix_spawn.in.sh: New file.
14082
14083         New module 'posix_spawnp'.
14084         * modules/posix_spawnp: New file.
14085         * lib/spawnp.c: New file, from GNU libc with modifications.
14086         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
14087
14088         New module 'posix_spawn'.
14089         * modules/posix_spawn: New file.
14090         * lib/spawn.c: New file, from GNU libc with modifications.
14091         * doc/posix-functions/posix_spawn.texi: Mention the new module.
14092
14093         New module 'posix_spawnattr_destroy'.
14094         * modules/posix_spawnattr_destroy: New file.
14095         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
14096         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
14097         module.
14098
14099         New module 'posix_spawnattr_setsigmask'.
14100         * modules/posix_spawnattr_setsigmask: New file.
14101         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
14102         modifications.
14103         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
14104         new module.
14105
14106         New module 'posix_spawnattr_getsigmask'.
14107         * modules/posix_spawnattr_getsigmask: New file.
14108         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
14109         modifications.
14110         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
14111         new module.
14112
14113         New module 'posix_spawnattr_setsigdefault'.
14114         * modules/posix_spawnattr_setsigdefault: New file.
14115         * lib/spawnattr_setdefault.c: New file, from GNU libc with
14116         modifications.
14117         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
14118         new module.
14119
14120         New module 'posix_spawnattr_getsigdefault'.
14121         * modules/posix_spawnattr_getsigdefault: New file.
14122         * lib/spawnattr_getdefault.c: New file, from GNU libc with
14123         modifications.
14124         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
14125         new module.
14126
14127         New module 'posix_spawnattr_setschedpolicy'.
14128         * modules/posix_spawnattr_setschedpolicy: New file.
14129         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
14130         modifications.
14131         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
14132         new module.
14133
14134         New module 'posix_spawnattr_getschedpolicy'.
14135         * modules/posix_spawnattr_getschedpolicy: New file.
14136         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
14137         modifications.
14138         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
14139         new module.
14140
14141         New module 'posix_spawnattr_setschedparam'.
14142         * modules/posix_spawnattr_setschedparam: New file.
14143         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
14144         modifications.
14145         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
14146         new module.
14147
14148         New module 'posix_spawnattr_getschedparam'.
14149         * modules/posix_spawnattr_getschedparam: New file.
14150         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
14151         modifications.
14152         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
14153         new module.
14154
14155         New module 'posix_spawnattr_setpgroup'.
14156         * modules/posix_spawnattr_setpgroup: New file.
14157         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
14158         modifications.
14159         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
14160         module.
14161
14162         New module 'posix_spawnattr_getpgroup'.
14163         * modules/posix_spawnattr_getpgroup: New file.
14164         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
14165         modifications.
14166         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
14167         module.
14168
14169         New module 'posix_spawnattr_setflags'.
14170         * modules/posix_spawnattr_setflags: New file.
14171         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
14172         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
14173         module.
14174
14175         New module 'posix_spawnattr_getflags'.
14176         * modules/posix_spawnattr_getflags: New file.
14177         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
14178         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
14179         module.
14180
14181         New module 'posix_spawnattr_init'.
14182         * modules/posix_spawnattr_init: New file.
14183         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
14184         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
14185         module.
14186
14187         New module 'posix_spawn_file_actions_destroy'.
14188         * modules/posix_spawn_file_actions_destroy: New file.
14189         * lib/spawn_faction_destroy.c: New file, from GNU libc with
14190         modifications.
14191         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
14192         the new module.
14193
14194         New module 'posix_spawn_file_actions_addopen'.
14195         * modules/posix_spawn_file_actions_addopen: New file.
14196         * lib/spawn_faction_addopen.c: New file, from GNU libc with
14197         modifications.
14198         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
14199         the new module.
14200
14201         New module 'posix_spawn_file_actions_adddup2'.
14202         * modules/posix_spawn_file_actions_adddup2: New file.
14203         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
14204         modifications.
14205         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
14206         the new module.
14207
14208         New module 'posix_spawn_file_actions_addclose'.
14209         * modules/posix_spawn_file_actions_addclose: New file.
14210         * lib/spawn_faction_addclose.c: New file, from GNU libc with
14211         modifications.
14212         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
14213         the new module.
14214
14215         New module 'posix_spawn_file_actions_init'.
14216         * modules/posix_spawn_file_actions_init: New file.
14217         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
14218         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
14219         new module.
14220
14221         New module 'posix_spawn-internal'.
14222         * modules/posix_spawn-internal: New file.
14223         * lib/spawn_int.h: New file, from GNU libc with modifications.
14224         * lib/spawni.c: New file, from GNU libc with modifications.
14225         * m4/posix_spawn.m4: New file.
14226
14227         New module 'spawn'.
14228         * modules/spawn: New file.
14229         * lib/spawn.in.h: New file, from GNU libc with modifications.
14230         * m4/spawn_h.m4: New file.
14231         * doc/posix-headers/spawn.texi: Mention the new module.
14232
14233 2008-09-28  Bruno Haible  <bruno@clisp.org>
14234
14235         * modules/sched-tests: New file.
14236         * tests/test-sched.c: New file.
14237
14238         New module 'sched'.
14239         * modules/sched: New file.
14240         * lib/sched.in.h: New file.
14241         * m4/sched_h.m4: New file.
14242         * doc/posix-headers/sched.texi: Mention the new module.
14243
14244 2008-09-27  Eric Blake  <ebb9@byu.net>
14245
14246         Fix previous patch, and tweak references to $0.
14247         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
14248         (func_version, func_gnulib_dir): Don't call this program
14249         gnulib-tool.
14250         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
14251         with using $0 in function.
14252         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
14253         (func_fatal_error): Reuse the name the user invoked us with.
14254
14255 2008-09-27  Bruno Haible  <bruno@clisp.org>
14256
14257         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
14258         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
14259         (gl_ICONV_H): Not here.
14260         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
14261         instead of assigning ICONV_H directly.
14262
14263         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
14264         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
14265         WCHAR_H directly.
14266
14267 2008-09-27  Bruno Haible  <bruno@clisp.org>
14268
14269         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
14270         * modules/arpa_inet (Depends-on): Add link-warning.
14271         (Makefile.am): Insert the definition of GL_LINK-WARNING.
14272         * modules/unistd (Makefile.am): Likewise.
14273
14274 2008-09-26  Bruno Haible  <bruno@clisp.org>
14275
14276         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
14277         variables.
14278         (func_version): Essentially copied from gnulib-tool.
14279         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
14280         func_readlink): Copied from gnulib-tool.
14281
14282 2008-09-26  Bruno Haible  <bruno@clisp.org>
14283
14284         * gnulib-tool (func_version): Change directory to $gnulib_dir before
14285         invoking git-version-gen.
14286
14287 2008-09-26  Bruno Haible  <bruno@clisp.org>
14288
14289         * posix-modules: Update to directory names changed on 2008-01-19.
14290         Remove commas in output before splitting into words. No more need to
14291         avoid 'ftruncate' since 2007-02-19.
14292
14293 2008-09-26  Bruno Haible  <bruno@clisp.org>
14294
14295         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
14296
14297 2008-09-26  Bruno Haible  <bruno@clisp.org>
14298
14299         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
14300         * modules/fwriteerror (Depends-on): Add errno.
14301
14302 2008-09-26  Bruno Haible  <bruno@clisp.org>
14303
14304         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
14305         * tests/test-vc-list-files-cvs.sh: Likewise.
14306
14307 2008-09-26  Bruno Haible  <bruno@clisp.org>
14308
14309         * doc/posix-headers/sys_resource.texi: Reorder items.
14310
14311 2008-09-26  Jim Meyering  <meyering@redhat.com>
14312
14313         fts: tweak inode comparison function
14314         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
14315         inode numbers, as documented.
14316
14317         fts: sort dirent entries on inode number before traversing
14318         This avoids a quadratic, seek-related performance penalty when
14319         operating on a directory containing many entries (measurable at 10k;
14320         3.5 hours at 2 million entries with a cold cache) on certain types
14321         of file systems, including ext3 and ext4, but not tmpfs.
14322         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
14323         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
14324         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
14325         (fs_handles_readdir_ordered_dirents_efficiently): New function.
14326         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
14327         (fts_build): Set the stat.st_ino member from D_INO.
14328         If it is likely to be useful, sort dirent entries on inode number.
14329
14330         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
14331         and the struct statfs.f_type member.
14332         * modules/fts (Depends-on): Add d-ino.
14333
14334 2008-09-26  Bruno Haible  <bruno@clisp.org>
14335
14336         * modules/sigpipe-die (Depends-on): Add sigpipe.
14337
14338         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
14339         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
14340         and GNULIB_STDIO_H_SIGPIPE are set.
14341         * lib/stdio-write.c: New file.
14342         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
14343         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
14344         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
14345         REPLACE_STDIO_WRITE_FUNCS.
14346         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
14347         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
14348         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
14349         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
14350         * modules/stdio (Files): Add lib/stdio-write.c.
14351         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
14352         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
14353         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
14354         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
14355         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
14356         REPLACE_FPRINTF_POSIX.
14357         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
14358         REPLACE_PRINTF_POSIX.
14359         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
14360         REPLACE_VFPRINTF_POSIX.
14361         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
14362         REPLACE_VPRINTF_POSIX.
14363         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
14364         SIGPIPE issue.
14365         * doc/posix-functions/fputc.texi: Likewise.
14366         * doc/posix-functions/fputs.texi: Likewise.
14367         * doc/posix-functions/fwrite.texi: Likewise.
14368         * doc/posix-functions/printf.texi: Likewise.
14369         * doc/posix-functions/putc.texi: Likewise.
14370         * doc/posix-functions/putchar.texi: Likewise.
14371         * doc/posix-functions/puts.texi: Likewise.
14372         * doc/posix-functions/vfprintf.texi: Likewise.
14373         * doc/posix-functions/vprintf.texi: Likewise.
14374
14375         * modules/safe-write (Depends-on): Add write.
14376
14377         * modules/sigpipe-tests: New file.
14378         * tests/test-sigpipe.c: New file.
14379         * tests/test-sigpipe.sh: New file.
14380
14381         * modules/write: New file.
14382         * lib/unistd.in.h: Include <sys/types.h>.
14383         (write): New declaration.
14384         * lib/write.c: New file.
14385         * m4/write.m4: New file.
14386         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
14387         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
14388         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
14389         GNULIB_WRITE, REPLACE_WRITE.
14390         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
14391         and the SIGPIPE issue.
14392
14393         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
14394         (raise): New declaration.
14395         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
14396         (ext_signal): New function.
14397         (rpl_raise): New function.
14398         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
14399         GNULIB_SIGNAL_H_SIGPIPE.
14400         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
14401         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
14402
14403         * modules/sigpipe: New file.
14404         * m4/sigpipe.m4: New file.
14405
14406 2008-09-25  Derek Price  <derek@ximbiot.com>
14407             Bruno Haible  <bruno@clisp.org>
14408
14409         * gnulib-tool (func_import): Report all license incompatibilities, not
14410         just the first one.
14411
14412 2008-09-25  Bruno Haible  <bruno@clisp.org>
14413
14414         * gnulib-tool (func_import): When computing the edits, consider not
14415         only the Makefile.ams that exist but also those that will be generated.
14416
14417 2008-09-25  Simon Josefsson  <simon@josefsson.org>
14418
14419         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
14420         fixes gnulib-tool --test warning about duplicate dependency.
14421
14422 2008-09-25  Bruno Haible  <bruno@clisp.org>
14423
14424         * gnulib-tool: Don't ask the user to perform edits in the generated
14425         Makefile.ams.
14426         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
14427         apply to the Makefile.am being generated.
14428         (func_emit_tests_Makefile_am): Execute edits that apply to the
14429         Makefile.am being generated.
14430         (func_import): Setup list of Makefile.am edits before emitting the
14431         Makefile.ams, not at the end.
14432         (func_create_testdir): Update.
14433         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
14434
14435 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14436
14437         * gnulib-tool (func_import): Store the --tests-base option in the
14438         comment in gnulib-cache.m4.
14439
14440 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
14441
14442         * NEWS: Document increased portability that sys_select now provides.
14443
14444         * lib/sys_select.in.h: Install select wrapper.
14445         * lib/sys_socket.in.h: Use more descriptive name when there is no
14446         select wrapper.
14447         * lib/winsock-select.c: New.
14448         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
14449         Require gl_HEADER_SYS_SOCKET.
14450         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
14451         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
14452         * tests/test-sys_select.c: Add functional tests.
14453
14454 2008-09-24  Eric Blake  <ebb9@byu.net>
14455
14456         open, fopen: close fd leak in last patch
14457         * lib/open.c (rpl_open): Close fd before returning error.
14458         * lib/fopen.c (rpl_fopen): Close fd before returning error.
14459         * doc/posix-functions/open.texi (open): Document that Irix also
14460         has the bug.
14461         * doc/posix-functions/fopen.texi (fopen): Likewise.
14462         Reported by Paolo Bonzini.
14463
14464 2008-09-24  Bruno Haible  <bruno@clisp.org>
14465
14466         Ensure that a filename ending in a slash cannot be used to access a
14467         non-directory.
14468         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
14469         to check whether it's really a directory.
14470         * lib/fopen.c: Include fcntl.h, unistd.h.
14471         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
14472         and fdopen().
14473         * modules/fopen (Depends-on): Add unistd.
14474         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
14475         * tests/test-fopen.c (main): Likewise.
14476         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
14477         * doc/posix-functions/fopen.texi: Likewise.
14478         Reported by Eric Blake.
14479
14480 2008-09-23  Eric Blake  <ebb9@byu.net>
14481
14482         c-stack: avoid compiler optimizations when provoking overflow
14483         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
14484         recursion harder to optimize, to ensure a stack overflow occurs.
14485         * tests/test-c-stack.c (recurse): Likewise.
14486         Borrowed from libsigsegv.
14487
14488         c-stack: work around Irix sigaltstack bug
14489         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
14490         whether sigaltstack uses wrong end of stack_t (copied in part from
14491         libsigsegv).
14492         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
14493         Irix bug, without requiring an over-allocation.
14494         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
14495         bug.
14496
14497         fopen: document mingw bug on directories
14498         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
14499         not allowing a stream visiting a directory, even though reading
14500         from such a stream is not portable.
14501
14502 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
14503
14504         * lib/poll.c: Rewrite.
14505         * modules/poll: Depend on alloca.
14506
14507 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
14508
14509         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
14510         instead define prototypes for a full set of wrappers.  Ensure
14511         that Cygwin does not use the compatibility code, which is only
14512         for MinGW.
14513         * lib/winsock.c: New.
14514         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
14515         * modules/sys_socket: Add lib/winsock.c.
14516
14517         * modules/poll-tests: Add errno and perror.
14518         * tests/test-poll.c: Use ioctl, not ioctlsocket.
14519
14520 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
14521
14522         * tests/test-poll.c: Downgrade minimum needed Winsock version.
14523
14524 2008-09-23  Bruno Haible  <bruno@clisp.org>
14525
14526         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
14527         * doc/glibc-functions/*: Likewise.
14528
14529 2008-09-23  Simon Josefsson  <simon@josefsson.org>
14530
14531         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
14532         success.
14533
14534 2008-09-22  Eric Blake  <ebb9@byu.net>
14535             Bruno Haible  <bruno@clisp.org>
14536
14537         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
14538         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
14539         supply %A but mishandle pseudo-NaN.
14540         Reported by Simon Josefsson.
14541
14542 2008-09-21  Bruno Haible  <bruno@clisp.org>
14543
14544         * tests/test-lock.c (main): Tweak skip message.
14545         * tests/test-tls.c (main): Likewise.
14546
14547 2008-09-21  Bruno Haible  <bruno@clisp.org>
14548
14549         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
14550         whether 'struct sigaction' has sa_sigaction here...
14551         (gl_PREREQ_SIG_HANDLER_H): ... not here.
14552         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
14553
14554 2008-09-21  Bruno Haible  <bruno@clisp.org>
14555
14556         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
14557         section.
14558         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
14559         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
14560         the new section.
14561         (Support for obsolete systems lacking POSIX:2001): New section.
14562         (String handling <string.h>): Move strdup to the new section.
14563         Suggested by Simon Josefsson and Paolo Bonzini.
14564
14565 2008-09-21  Bruno Haible  <bruno@clisp.org>
14566
14567         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
14568         exponents in %e and %g results on 'long double'. Needed for mingw's
14569         improved *printf functions.
14570         * tests/test-vasprintf-posix.c (test_function): Likewise.
14571         * tests/test-snprintf-posix.h (test_function): Likewise.
14572         * tests/test-sprintf-posix.h (test_function): Likewise.
14573         Reported by Eric Blake.
14574
14575 2008-09-21  Bruno Haible  <bruno@clisp.org>
14576
14577         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
14578         * tests/test-sprintf-posix.h (test_function): Likewise.
14579
14580 2008-09-21  Bruno Haible  <bruno@clisp.org>
14581
14582         * modules/getpass (Depends-on): Add strdup-posix.
14583
14584         New module 'strdup-posix'.
14585         * modules/strdup-posix: New file.
14586         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
14587         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
14588         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
14589         REPLACE_STRDUP.
14590         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
14591         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
14592         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
14593         strdup-posix.
14594
14595         * modules/strdup (Depends-on): Remove malloc-posix.
14596
14597 2008-09-20  Bruno Haible  <bruno@clisp.org>
14598
14599         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
14600         Wildenhues.
14601
14602 2008-09-20  Bruno Haible  <bruno@clisp.org>
14603
14604         Ensure that wint_t gets defined on IRIX 5.3.
14605         * lib/wchar.in.h (wint_t): Define if not defined by the system.
14606         * lib/wctype.in.h (wint_t): Likewise.
14607         (__wctype_wint_t): Remove type.
14608         (isw*): Use wint_t instead of __wctype_wint_t.
14609         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
14610         * modules/wchar (Files): Add m4/wint_t.m4.
14611         (Makefile.am): Substitute HAVE_WINT_T.
14612         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
14613         * tests/test-wctype.c: Check that wint_t is defined.
14614         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
14615         * doc/posix-headers/wctype.texi: Likewise.
14616         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
14617
14618 2008-09-18  Bruno Haible  <bruno@clisp.org>
14619
14620         * gnulib-tool (func_exit): Update comment.
14621
14622 2008-09-18  Simon Josefsson  <simon@josefsson.org>
14623
14624         * modules/getaddrinfo (Depends-on): Remove strdup, this module
14625         assumes strdup exists and does not depend on strdup to return
14626         ENOMEM on out of memory conditions.
14627
14628 2008-09-18  Bruno Haible  <bruno@clisp.org>
14629
14630         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
14631         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
14632         digits for the exponent.
14633
14634 2008-09-18  Jim Meyering  <meyering@redhat.com>
14635             Bruno Haible  <bruno@clisp.org>
14636
14637         * lib/vasnprintf.c (decimal_point_char): Define also if
14638         NEED_PRINTF_INFINITE_LONG_DOUBLE.
14639
14640 2008-09-16  Bruno Haible  <bruno@clisp.org>
14641         and Eric Blake  <ebb9@byu.net>
14642
14643         vasnprintf: support Irix 5.3
14644         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
14645         that mishandle long double infinity.
14646         Reported by Tom G. Christensen.
14647
14648 2008-09-16  Bruno Haible  <bruno@clisp.org>
14649
14650         * doc/glibc-functions/scandir.texi: Mention the function is missing on
14651         Solaris 9.
14652         * doc/glibc-functions/alphasort.texi: Likewise.
14653         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
14654
14655 2008-09-16  Jim Meyering  <meyering@redhat.com>
14656
14657         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
14658         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
14659         a umask modification leak out of a subshell.  Otherwise, the
14660         opensolaris /bin/sh would be accepted and thus cause unwarranted
14661         failures in the coreutils test suite.
14662
14663 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
14664
14665         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
14666         to succeed.
14667
14668 2008-09-16  Jim Meyering  <meyering@redhat.com>
14669
14670         avoid spurious test failure when library is built without ACL support
14671         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
14672         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
14673         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
14674         * tests/test-copy-acl.sh: Likewise.
14675
14676 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14677
14678         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
14679         based on character occurrence counts.
14680
14681 2008-09-15  Eric Blake  <ebb9@byu.net>
14682
14683         tests: avoid some compiler warnings
14684         * tests/test-memchr.c (main): Pass NULL indirectly.
14685         * tests/test-closein.c (main): Avoid unused variable.
14686
14687 2008-09-15  Bruno Haible  <bruno@clisp.org>
14688
14689         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
14690         are missing on OpenBSD 4.0 individually.
14691         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
14692
14693 2008-09-15  Bruno Haible  <bruno@clisp.org>
14694
14695         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
14696         * doc/posix-functions/strerror.texi: Mention also Cygwin.
14697         * doc/posix-functions/perror.texi: Likewise.
14698         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
14699         is missing.
14700         Reported by Eric Blake.
14701
14702         * lib/errno.in.h: Use replacement values >= 2000.
14703         Reported by Eric Blake.
14704
14705 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14706
14707         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
14708         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
14709         limit.
14710         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
14711         compareseq was aborted.
14712
14713 2008-09-14  Bruno Haible  <bruno@clisp.org>
14714
14715         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
14716         yvec_edit_count.
14717         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
14718         (fstrcmp_bounded): Simplify result computation accordingly.
14719
14720 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14721
14722         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
14723         (fstrcmp): Define in terms of fstrcmp_bounded.
14724         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
14725         lower_bound argument.
14726         Return quickly if the result is certainly < lower_bound.
14727         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
14728
14729 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14730
14731         * lib/diffseq.h (EARLY_ABORT): New macro.
14732         (compareseq): Change return type to bool. Return true when EARLY_ABORT
14733         evaluates to true.
14734
14735 2008-09-14  Bruno Haible  <bruno@clisp.org>
14736
14737         * modules/perror-tests: New file.
14738         * tests/test-perror.sh: New file.
14739         * tests/test-perror.c: New file.
14740
14741         New module 'perror'.
14742         * lib/stdio.in.h (perror): New declaration.
14743         * lib/perror.c: New file.
14744         * m4/perror.m4: New file.
14745         * modules/perror: New file.
14746         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
14747         * doc/posix-functions/perror.texi: Mention the perror module.
14748         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
14749         REPLACE_PERROR.
14750         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
14751         REPLACE_PERROR.
14752
14753 2008-09-14  Bruno Haible  <bruno@clisp.org>
14754
14755         * modules/stdio (Makefile.am): Reorder to match the order in
14756         lib/stdio.in.h.
14757         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
14758
14759 2008-09-13  Bruno Haible  <bruno@clisp.org>
14760
14761         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
14762
14763 2008-09-13  Bruno Haible  <bruno@clisp.org>
14764
14765         Extend strerror to cover the added errno values.
14766         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
14767         (rpl_strerror): Provide error messages for the added errno values and
14768         for the WSA* values.
14769         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
14770         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
14771         strerror.
14772         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
14773         * modules/strerror (Depends-on): Add errno.
14774         * doc/posix-functions/strerror.texi: Document the change.
14775         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
14776         and EOVERFLOW.
14777
14778 2008-09-13  Bruno Haible  <bruno@clisp.org>
14779
14780         * modules/EOVERFLOW: Remove file.
14781         * m4/eoverflow.m4: Remove file.
14782         * modules/EOVERFLOW-tests: Remove file.
14783         * tests/test-EOVERFLOW.c: Remove file.
14784         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
14785         * modules/ftell (Depends-on): Likewise.
14786         * modules/getdelim (Depends-on): Likewise.
14787         * modules/getugroups (Depends-on): Likewise.
14788         * modules/poll (Depends-on): Likewise.
14789         * modules/snprintf (Depends-on): Likewise.
14790         * modules/sprintf-posix (Depends-on): Likewise.
14791         * modules/vasnprintf (Depends-on): Likewise.
14792         * modules/vasprintf (Depends-on): Likewise.
14793         * modules/vfprintf-posix (Depends-on): Likewise.
14794         * modules/vsnprintf (Depends-on): Likewise.
14795         * modules/vsprintf-posix (Depends-on): Likewise.
14796         * modules/xvasprintf (Depends-on): Likewise.
14797         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
14798         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
14799         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
14800         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
14801         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
14802         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
14803         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
14804         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
14805         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
14806         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
14807         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
14808         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
14809         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
14810         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
14811         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
14812         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
14813         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
14814         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
14815         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
14816         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
14817         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
14818         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
14819         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
14820         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
14821         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
14822         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
14823         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
14824         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
14825         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
14826         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
14827         * MODULES.html.sh: Remove EOVERFLOW.
14828         * NEWS: Mention the change.
14829
14830 2008-09-13  Bruno Haible  <bruno@clisp.org>
14831
14832         * modules/errno-tests: New file.
14833         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
14834
14835         * lib/errno.in.h: New file.
14836         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
14837         * modules/errno: New file.
14838         * doc/posix-headers/errno.texi: Update documentation.
14839         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
14840
14841 2008-09-13  Bruno Haible  <bruno@clisp.org>
14842
14843         * tests/test-poll.c: Use #if for native Windows, rather than testing
14844         __MSVCRT__.
14845
14846 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14847             Bruno Haible  <bruno@clisp.org>
14848
14849         * lib/glob.c: Don't include <pwd.h> on native Windows.
14850         (WINDOWS32): New macro.
14851         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
14852
14853 2008-09-13  Bruno Haible  <bruno@clisp.org>
14854
14855         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
14856         (ETIMEDOUT): Remove macro.
14857         (glthread_cond_timedwait_multithreaded): New declaration.
14858         (glthread_cond_timedwait): Use it.
14859         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
14860         (glthread_cond_timedwait_multithreaded): New function.
14861
14862 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14863
14864         * modules/poll-tests: Do not check for io.h.
14865         * tests/test-poll.c: Check for __MSVCRT__ instead.
14866
14867 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14868
14869         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
14870         * modules/poll-tests: Add inet_pton, stdbool, sockets.
14871         * tests/test-poll.c: Use them.  Use _pipe on Windows.
14872
14873 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
14874
14875         * modules/poll-tests: New.
14876         * tests/test-poll.c: New.
14877
14878 2008-09-12  Eric Blake  <ebb9@byu.net>
14879
14880         frexp: test for NetBSD failure on -0.0
14881         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
14882         not all, bugs from NetBSD 3.0 have been fixed.
14883         * doc/posix-functions/frexp.texi (frexp): Document bug.
14884         Reported by Thomas Klausner.
14885
14886         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
14887         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
14888         literal -0.0.
14889         Reported by Jonathan C. Patschke <jp@centtech.com>.
14890
14891 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14892
14893         * lib/glthread/cond.h: Use dummy implementation also if
14894         USE_WIN32_THREADS.
14895
14896 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14897
14898         * modules/fnmatch-posix (License): Change to LGPLv2+.
14899         * modules/fnmatch-gnu (License): Likewise.
14900
14901 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
14902
14903         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
14904
14905 2008-09-11  Jim Meyering  <meyering@redhat.com>
14906
14907         * users.txt: Add gtk-vnc.
14908
14909 2008-09-08  Simon Josefsson  <simon@josefsson.org>
14910
14911         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
14912         rotate amounts.
14913
14914         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
14915         required for 16-bit and 8-bit rotates.
14916         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
14917         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
14918         UINT8_MAX instead of hard-coded constants.
14919         Suggested by Paul Eggert.
14920
14921 2008-09-07  Bruno Haible  <bruno@clisp.org>
14922
14923         * tests/test-striconveh.c (main): Check behaviour when converting from
14924         UTF-7.
14925
14926         Make striconveh work better with stateful encodings.
14927         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
14928         that iconv does not increment the inptr when returning -1/EINVAL.
14929
14930 2008-09-07  Bruno Haible  <bruno@clisp.org>
14931
14932         * build-aux/config.rpath: Update according to libtool-2.2.6.
14933         * build-aux/config.libpath: Likewise.
14934
14935 2008-09-06  Bruno Haible  <bruno@clisp.org>
14936
14937         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
14938         * lib/freadptr.c (freadptr): Likewise.
14939         * lib/freadseek.c (freadptrinc): Likewise.
14940         Reported by Simon Josefsson.
14941
14942 2008-09-06  Bruno Haible  <bruno@clisp.org>
14943
14944         * modules/freadptr (License): Change to LGPLv2+.
14945         * modules/freadseek (License): Likewise.
14946         Suggested by Eric Blake.
14947
14948         * modules/memchr2 (License): Change to LGPLv2+.
14949         Approved by Eric Blake.
14950
14951 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
14952             Bruno Haible  <bruno@clisp.org>
14953
14954         Make gnulib-tool work with native 'sed' on AIX.
14955         * gnulib-tool (sed_noop): New variable.
14956         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
14957         func_add_or_update, func_create_testdir): Use it to initialize sed
14958         script variables.
14959         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
14960
14961 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
14962             Bruno Haible  <bruno@clisp.org>
14963
14964         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
14965         also works after #include directives.
14966
14967 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
14968
14969         getdate.y: reject an out-of-range timezone value
14970         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
14971         the range [-24...+24].  When specified with only one or two digits,
14972         * tests/test-getdate.c: Tests for the fix.
14973         * doc/getdate.texi: Document this change.
14974
14975 2008-09-03  Bruno Haible  <bruno@clisp.org>
14976
14977         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
14978
14979 2008-09-02  Simon Josefsson  <simon@josefsson.org>
14980
14981         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
14982         <bruce.korb@gmail.com> with ideas from Ben Pfaff
14983         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
14984         Blake <ebb9@byu.net>.
14985
14986         * tests/test-bitrotate.c: Add more test vectors.
14987
14988 2008-09-02  Eric Blake  <ebb9@byu.net>
14989
14990         vasnprintf-posix: handle large precision via %.*d
14991         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
14992         when handling it ourselves.
14993         * tests/test-vasnprintf-posix.c (test_function): Add test.
14994         * tests/test-snprintf-posix.h (test_function): Likewise.
14995         * tests/test-sprintf-posix.h (test_function): Likewise.
14996         * tests/test-vasprintf-posix.c (test_function): Likewise.
14997         Reported by Alain Guibert.
14998
14999 2008-09-01  Eric Blake  <ebb9@byu.net>
15000
15001         c-stack: make configure-time check more robust
15002         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
15003         successful sigaction call.
15004         Reported by Tom G. Christensen.
15005
15006 2008-09-01  Bruno Haible  <bruno@clisp.org>
15007
15008         New module 'findprog-lgpl'.
15009         * modules/findprog-lgpl: New file.
15010         * lib/findprog-lgpl.c: New file.
15011         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
15012         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
15013         to decide whether to use strdup or xstrdup, concatenated_filename or
15014         xconcatenated_filename.
15015
15016 2008-09-01  Bruno Haible  <bruno@clisp.org>
15017
15018         Split module 'concat-filename' into 'concat-filename' (LGPL) and
15019         'xconcat-filename' (GPL).
15020         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
15021         (License): Change to LGPLv2+.
15022         * modules/xconcat-filename: New file.
15023         * lib/concat-filename.h (concatenated_filename): Change specification.
15024         (xconcatenated_filename): New declaration.
15025         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
15026         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
15027         memory situations.
15028         * lib/xconcat-filename.c: New file.
15029         * NEWS: Mention the change.
15030         * lib/findprog.c: Include concat-filename.h, not filename.h.
15031         (find_in_path): Use xconcatenated_filename instead of
15032         concatenated_filename.
15033         * lib/javacomp.c: Include concat-filename.h, not filename.h.
15034         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
15035         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
15036         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
15037         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
15038         instead of concatenated_filename.
15039         * lib/javaexec.c: Include concat-filename.h, not filename.h.
15040         (execute_java_class): Use xconcatenated_filename instead of
15041         concatenated_filename.
15042         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
15043         * modules/javacomp (Depends-on): Likewise.
15044         * modules/javaexec (Depends-on): Likewise.
15045
15046 2008-09-01  Bruno Haible  <bruno@clisp.org>
15047
15048         Split module 'filename' into 'filename' and 'concat-filename'.
15049         * modules/filename: Keep only lib/filename.h.
15050         (License): Change to LGPLv2+.
15051         * modules/concat-filename: New file, extracted from modules/filename.
15052         * lib/filename.h (concatenated_filename): Remove declaration.
15053         * lib/concat-filename.h: New file, extracted from lib/filename.h.
15054         * lib/concat-filename.c: Include concat-filename.h.
15055         * NEWS: Mention the change.
15056
15057 2008-09-01  Simon Josefsson  <simon@josefsson.org>
15058
15059         * lib/bitrotate.h (rotl8, rotr8): Add.
15060
15061         * modules/bitrotate (configure.ac): Need
15062         AC_REQUIRE([AC_C_INLINE]).
15063         (Description): Mention stdint.h.  Reported by Bruno Haible
15064         <bruno@clisp.org>.
15065
15066         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
15067         Paolo Bonzini <bonzini@gnu.org>.
15068
15069 2008-08-31  Bruno Haible  <bruno@clisp.org>
15070
15071         Assume Solaris specific bi-arch conventions on Solaris systems.
15072         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
15073         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
15074         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
15075         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
15076         like acl_libdirstem.
15077         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
15078         acl_libdirstem.
15079         * NEWS: Mention the change.
15080         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
15081
15082 2008-08-31  Jim Meyering  <meyering@redhat.com>
15083
15084         * lib/strftime.h: Add comments describing the two added arguments.
15085
15086         remove duplicate #include directives
15087         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
15088         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
15089
15090 2008-08-31  Bruno Haible  <bruno@clisp.org>
15091
15092         New module 'sigpipe-die'.
15093         * modules/sigpipe-die: New file.
15094         * lib/sigpipe-die.h: New file.
15095         * lib/sigpipe-die.c: New file.
15096         * MODULES.html.sh (Signal handling): Add sigpipe-die.
15097
15098 2008-08-31  Bruno Haible  <bruno@clisp.org>
15099
15100         Don't override previously installed signal handlers.
15101         * lib/fatal-signal.c (saved_sigactions): New variable.
15102         (uninstall_handlers): Reset the signal to the saved handler, not
15103         to SIG_DFL (except when ignored).
15104         (install_handlers): Save the previous handlers.
15105
15106 2008-08-30  Bruno Haible  <bruno@clisp.org>
15107
15108         * gnulib-tool (func_reset_sigpipe): New function.
15109         (func_get_automake_snippet, func_modules_transitive_closure,
15110         func_import): Invoke it before a join command that reads from stdin,
15111         to avoid "echo: write error: Broken pipe" error messages on stderr.
15112         Reported by Sam Steingold <sds@gnu.org>.
15113
15114 2008-08-30  Bruno Haible  <bruno@clisp.org>
15115
15116         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
15117         Code copied from m4/open.m4.
15118         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
15119         access and the filename ends in a slash. Code copied from lib/open.c.
15120         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
15121         * tests/test-fopen.c (main): Check against bug with trailing slash.
15122
15123 2008-08-29  Bruno Haible  <bruno@clisp.org>
15124
15125         Avoid some "gcc -pedantic" warnings.
15126         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
15127         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
15128         * lib/dirent.in.h: Likewise.
15129         * lib/fcntl.in.h: Likewise.
15130         * lib/float.in.h: Likewise.
15131         * lib/iconv.in.h: Likewise.
15132         * lib/inttypes.in.h: Likewise.
15133         * lib/locale.in.h: Likewise.
15134         * lib/math.in.h: Likewise.
15135         * lib/netinet_in.in.h: Likewise.
15136         * lib/search.in.h: Likewise.
15137         * lib/signal.in.h: Likewise.
15138         * lib/stdarg.in.h: Likewise.
15139         * lib/stdint.in.h: Likewise.
15140         * lib/stdio.in.h: Likewise.
15141         * lib/stdlib.in.h: Likewise.
15142         * lib/string.in.h: Likewise.
15143         * lib/strings.in.h: Likewise.
15144         * lib/sys_select.in.h: Likewise.
15145         * lib/sys_socket.in.h: Likewise.
15146         * lib/sys_stat.in.h: Likewise.
15147         * lib/sys_time.in.h: Likewise.
15148         * lib/sysexits.in.h: Likewise.
15149         * lib/time.in.h: Likewise.
15150         * lib/unistd.in.h: Likewise.
15151         * lib/wchar.in.h: Likewise.
15152         * lib/wctype.in.h: Likewise.
15153         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
15154         * modules/fchdir (Makefile.am): Likewise.
15155         * modules/fcntl (Makefile.am): Likewise.
15156         * modules/float (Makefile.am): Likewise.
15157         * modules/iconv_open (Makefile.am): Likewise.
15158         * modules/inttypes (Makefile.am): Likewise.
15159         * modules/locale (Makefile.am): Likewise.
15160         * modules/math (Makefile.am): Likewise.
15161         * modules/netinet_in (Makefile.am): Likewise.
15162         * modules/search (Makefile.am): Likewise.
15163         * modules/signal (Makefile.am): Likewise.
15164         * modules/stdarg (Makefile.am): Likewise.
15165         * modules/stdint (Makefile.am): Likewise.
15166         * modules/stdio (Makefile.am): Likewise.
15167         * modules/stdlib (Makefile.am): Likewise.
15168         * modules/string (Makefile.am): Likewise.
15169         * modules/strings (Makefile.am): Likewise.
15170         * modules/sys_select (Makefile.am): Likewise.
15171         * modules/sys_socket (Makefile.am): Likewise.
15172         * modules/sys_stat (Makefile.am): Likewise.
15173         * modules/sys_time (Makefile.am): Likewise.
15174         * modules/sysexits (Makefile.am): Likewise.
15175         * modules/time (Makefile.am): Likewise.
15176         * modules/unistd (Makefile.am): Likewise.
15177         * modules/wchar (Makefile.am): Likewise.
15178         * modules/wctype (Makefile.am): Likewise.
15179         Reported by Reuben Thomas <rrt@sc3d.org>.
15180
15181 2008-08-29  Bruno Haible  <bruno@clisp.org>
15182
15183         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
15184         any more.
15185
15186 2008-08-29  Simon Josefsson  <simon@josefsson.org>
15187
15188         * MODULES.html.sh (Misc): Add bitrotate.
15189
15190         * modules/bitrotate: New file.
15191
15192         * lib/bitrotate.h: New file.
15193
15194         * modules/bitrotate-tests: New file.
15195
15196         * tests/test-bitrotate.c: New file.
15197
15198         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
15199         on the bitrotate module.
15200
15201         * lib/arctwo.c: Use new bitrotate module.
15202
15203 2008-08-29  Jim Meyering  <meyering@redhat.com>
15204
15205         bootstrap: merge changes from coreutils
15206         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
15207         of copied files.  Remove a kludge, now that this is fixed.
15208         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
15209         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
15210         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
15211
15212 2008-08-29  Bruno Haible  <bruno@clisp.org>
15213
15214         * MODULES.html.sh: Remove --cvs-urls option.
15215
15216 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
15217
15218         maint.mk: adjust to file name change
15219         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
15220
15221 2008-08-28  Jim Meyering  <meyering@redhat.com>
15222
15223         * modules/getndelim2 (License): Relicense to LGPLv2+.
15224         Approved by Richard Stallman for the version of 1995, and by
15225         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
15226
15227 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
15228
15229         * lib/getdelim.c (flockfile, funlockfile): Make all of them
15230         dummy if one is not available.  Do not touch them if
15231         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
15232         (getc_maybe_unlocked): New.
15233         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
15234
15235 2008-08-26  Eric Blake  <ebb9@byu.net>
15236
15237         doc/INSTALL: resync from autoconf
15238         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
15239         (INSTALL_PRELUDE): Delete; this is done more efficiently by
15240         moving...
15241         * install.texi [!autoconf]: ...here.  Resync from autoconf.
15242         * INSTALL: Regenerate.
15243         * INSTALL.ISO: New file.
15244         * INSTALL.UTF-8: Likewise.
15245
15246 2008-08-26  Jim Meyering  <meyering@redhat.com>
15247
15248         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
15249         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
15250         these definitions conditional, so that they may be overridden, too.
15251
15252 2008-08-26  Bruno Haible  <bruno@clisp.org>
15253
15254         Generate INSTALL file variants with prettier quotes.
15255         * doc/Makefile (INSTALL_PRELUDE): New macro.
15256         (INSTALL): Use it.
15257         (INSTALL.ISO, INSTALL.UTF-8): New rules.
15258
15259 2008-08-26  Bruno Haible  <bruno@clisp.org>
15260
15261         Run makeinfo in an English locale.
15262         * doc/Makefile (MAKEINFO): New variable.
15263
15264 2008-08-26  Bruno Haible  <bruno@clisp.org>
15265
15266         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
15267         Suggested by Eric Blake.
15268
15269 2008-08-25  Bruno Haible  <bruno@clisp.org>
15270
15271         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
15272
15273 2008-08-25  Eric Blake  <ebb9@byu.net>
15274
15275         c-stack: test that stack overflow can be caught
15276         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
15277         that platform allows handling stack overflow; at least OS/2 EMX
15278         has sigaltstack, but crashes before transferring control to
15279         handler on stack overflow.
15280         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
15281         check for HAVE_STACK_OVERFLOW_HANDLING.
15282         Reported by Elbert Pol.
15283
15284 2008-08-25  Bruno Haible  <bruno@clisp.org>
15285
15286         * doc/posix-functions/strftime.texi: Fix description of strftime
15287         module.
15288
15289 2008-08-24  Bruno Haible  <bruno@clisp.org>
15290
15291         * tests/uniwidth/test-uc_width2.c: New file.
15292         * tests/uniwidth/test-uc_width2.sh: New file.
15293         * modules/uniwidth/width-tests (Files): Add the new files.
15294         (TESTS): Add uniwidth/test-uc_width2.sh.
15295         (TESTS_ENVIRONMENT): New variable.
15296         (check_PROGRAMS): Add test-uc_width2.
15297         (test_uc_width2_SOURCES): New variable.
15298
15299         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
15300         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
15301         not 0x00AB.
15302         Reported by Alexander V. Lukyanov <lav@netis.ru>.
15303
15304 2008-08-22  Eric Blake  <ebb9@byu.net>
15305
15306         test-lock, test-tls: mention why a test is skipped
15307         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
15308         skipped.
15309         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
15310
15311         count-one-bits: relax license
15312         * modules/count-one-bits (License): Relicense to LGPLv2+.
15313         Suggested by Ludovic Courtès, approved by Ben Pfaff.
15314
15315 2008-08-22  Andreas Schwab  <schwab@suse.de>
15316
15317         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
15318         Remove spurious space in assignment.
15319
15320 2008-08-21  Simon Josefsson  <simon@josefsson.org>
15321
15322         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
15323         Paul Eggert <eggert@CS.UCLA.EDU>.
15324
15325 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
15326
15327         * modules/gettext: Add m4/threadlib.m4.
15328
15329 2008-08-19  Eric Blake  <ebb9@byu.net>
15330
15331         test-c-stack: fix compilation failure on FreeBSD 5.0
15332         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
15333         headers before <sys/resource.h>.
15334         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
15335         the bug.
15336         Reported by Nelson H. F. Beebe.
15337
15338         strverscmp: migrate from "strverscmp.h" to <string.h>
15339         * modules/string (Makefile.am): Add new hooks.
15340         * modules/strverscmp (Files): Remove strverscmp.h.
15341         (Depends-on): Add string.
15342         (configure.ac): Add indicator.
15343         (Include): Mention new header.
15344         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
15345         defaults.
15346         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
15347         results.
15348         * lib/strverscmp.h: Delete.
15349         * lib/string.in.h (strverscmp): Provide declaration, when needed.
15350         * tests/test-strverscmp.c (includes): Adjust client.
15351         * lib/check-version.c (includes): Likewise.
15352         * NEWS: Document the change.
15353
15354         strverscmp: add unit test
15355         * modules/strverscmp-tests: New file.
15356         * tests/test-strverscmp.c: Likewise.
15357
15358 2008-08-19  Simon Josefsson  <simon@josefsson.org>
15359
15360         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
15361         regarding Windows crypto stuff, from Mono.
15362
15363 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
15364
15365         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
15366         if present, for intel RND.  Return error on failures.
15367
15368 2008-08-18  Ben Pfaff  <blp@gnu.org>
15369
15370         gitlog-to-changelog: give better diagnostic for failed pipe-open
15371         * build-aux/gitlog-to-changelog: Improve error message: suggest
15372         that the version of Git may be too old.
15373
15374 2008-08-18  Simon Josefsson  <simon@josefsson.org>
15375
15376         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
15377         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
15378
15379 2008-08-18  Bruno Haible  <bruno@clisp.org>
15380
15381         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
15382         pthread_in_use().
15383
15384 2008-08-18  Bruno Haible  <bruno@clisp.org>
15385
15386         * lib/glthread/threadlib.c: Include <pthread.h>.
15387
15388 2008-08-18  Bruno Haible  <bruno@clisp.org>
15389
15390         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
15391         glthread_recursive_lock_* macros.
15392         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
15393         Fix syntax error.
15394
15395 2008-08-18  Bruno Haible  <bruno@clisp.org>
15396
15397         * lib/glthread/thread.c: Avoid forcing a context switch right after
15398         thread creation.
15399
15400 2008-08-17  Bruno Haible  <bruno@clisp.org>
15401
15402         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
15403         * lib/glthread/thread.h: Provide Win32 specific implementation.
15404         * modules/thread (Files): Add lib/glthread/thread.c.
15405         (Depends-on): Add lock.
15406         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
15407
15408 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15409
15410         New module 'yield'.
15411         * modules/yield: New file.
15412         * lib/glthread/yield.h: New file.
15413         * m4/yield.m4: New file.
15414         * MODULES.html.sh (Multithreading): Add yield.
15415
15416 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15417
15418         New module 'thread'.
15419         * modules/thread: New file.
15420         * lib/glthread/thread.h: New file.
15421         * m4/thread.m4: New file.
15422         * MODULES.html.sh (Multithreading): Add thread.
15423
15424 2008-08-17  Bruno Haible  <bruno@clisp.org>
15425
15426         * lib/glthread/lock.h: Include <stdlib.h> always.
15427         * lib/glthread/tls.h: Likewise.
15428         * lib/glthread/cond.h: Likewise.
15429
15430 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
15431
15432         New module 'cond'.
15433         * modules/cond: New file.
15434         * lib/glthread/cond.h: New file.
15435         * lib/glthread/cond.c: New file.
15436         * m4/cond.m4: New file.
15437         * MODULES.html.sh (Multithreading): Add cond.
15438
15439 2008-08-16  Eric Blake  <ebb9@byu.net>
15440
15441         c-stack: fix regression on Irix 5.3 from 2008-06-21
15442         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
15443         sa_sigaction...
15444         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
15445         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
15446         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
15447         * modules/signal (Makefile.am): Use the value.
15448         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
15449         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
15450         * doc/posix-headers/signal.texi (signal.h): Document this
15451         portability issue.
15452         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
15453         Reported by Tom G. Christensen.
15454
15455 2008-08-17  Bruno Haible  <bruno@clisp.org>
15456
15457         New module 'threadlib'.
15458         * modules/threadlib: New file.
15459         * lib/glthread/threadlib.c: New file, extracted from
15460         lib/glthread/lock.c.
15461         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
15462         functions.
15463         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
15464         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
15465         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
15466         macros.
15467         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
15468         (gl_DISABLE_THREADS): Remove macro.
15469         * modules/lock (Files): Remove build-aux/config.rpath.
15470         (Depends-on): Remove havelib. Add threadlib.
15471         (configure.ac-early): Remove section.
15472         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
15473         * modules/tls (Depends-on): Remove lock. Add threadlib.
15474         (Link): New section, copied from threadlib.
15475         * MODULES.html.sh (Multithreading): Add threadlib.
15476
15477 2008-08-14  Bruno Haible  <bruno@clisp.org>
15478
15479         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
15480         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
15481         glthread_rwlock_unlock, glthread_rwlock_destroy,
15482         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
15483         glthread_recursive_lock_destroy): Define as macros always.
15484         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
15485         glthread_lock_lock.
15486         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
15487         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
15488         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
15489         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
15490         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
15491         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
15492         (glthread_recursive_lock_lock_func): Renamed from
15493         glthread_recursive_lock_lock.
15494         (glthread_recursive_lock_unlock_func): Renamed from
15495         glthread_recursive_lock_unlock.
15496         (glthread_recursive_lock_destroy_func): Renamed from
15497         glthread_recursive_lock_destroy.
15498
15499 2008-08-14  Bruno Haible  <bruno@clisp.org>
15500
15501         * lib/glthread/lock.h: Renamed from lib/lock.h.
15502         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
15503         * lib/glthread/tls.h: Renamed from lib/tls.h.
15504         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
15505         * lib/fstrcmp.c: Update includes.
15506         * lib/strsignal.c: Update includes.
15507         * modules/lock (Files, Makefile.am): Update.
15508         (Include): Change to "glthread/lock.h".
15509         * modules/tls (Files, Makefile.am): Update.
15510         (Include): Change to "glthread/tls.h".
15511         * tests/test-lock.c: Update includes.
15512         * tests/test-tls.c: Update includes.
15513         * NEWS: Mention the renamed header files.
15514
15515 2008-08-11  Jim Meyering  <meyering@redhat.com>
15516
15517         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
15518
15519 2008-08-11  Eric Blake  <ebb9@byu.net>
15520
15521         test-c-stack: avoid C99-ism
15522         * tests/test-c-stack.c (main): Fix whitespace, move declaration
15523         before statement.
15524         Reported by Alain Guibert.
15525
15526 2008-08-10  Jim Meyering  <meyering@redhat.com>
15527
15528         ensure that return value of uinttostr et al are not ignored
15529         * lib/inttostr.h (__GNUC_PREREQ): Define.
15530         (__attribute_warn_unused_result__): Define.
15531         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
15532
15533 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
15534
15535         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
15536         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
15537
15538 2008-08-07  Jim Meyering  <meyering@redhat.com>
15539
15540         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
15541
15542         * modules/mkstemp (License): Relicense under LGPLv2+.
15543         * modules/tempname (License): Likewise.
15544
15545 2008-08-06  Bruno Haible  <bruno@clisp.org>
15546
15547         * lib/poll.c (poll): Further micro-optimization.
15548
15549 2008-08-06  Jim Meyering  <meyering@redhat.com>
15550
15551         inet_pton.c: use locale-independent tolower
15552         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
15553         (inet_pton6): Use c_tolower rather than tolower.
15554         * modules/inet_pton (Depends-on): Add c-ctype.
15555
15556 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
15557
15558         * lib/poll.c (poll): Avoid division when timeout is 0, cache
15559         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
15560
15561 2008-08-06  Jim Meyering  <meyering@redhat.com>
15562
15563         * modules/inet_pton (License): Relicense under LGPLv2+.
15564
15565 2008-08-03  Bruno Haible  <bruno@clisp.org>
15566
15567         Additional non-aborting API for lock and tls.
15568         * lib/lock.h: Include <errno.h>.
15569         (glthread_lock_init): New macro/function.
15570         (gl_lock_init): Define as wrapper around glthread_lock_init.
15571         (glthread_lock_lock): New macro/function.
15572         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
15573         (glthread_lock_unlock): New macro/function.
15574         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
15575         (glthread_lock_destroy): New macro/function.
15576         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
15577         (glthread_rwlock_init): New macro/function.
15578         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
15579         (glthread_rwlock_rdlock): New macro/function.
15580         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
15581         (glthread_rwlock_wrlock): New macro/function.
15582         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
15583         (glthread_rwlock_unlock): New macro/function.
15584         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
15585         (glthread_rwlock_destroy): New macro/function.
15586         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
15587         (glthread_recursive_lock_init): New macro/function.
15588         (gl_recursive_lock_init): Define as wrapper around
15589         glthread_recursive_lock_init.
15590         (glthread_recursive_lock_lock): New macro/function.
15591         (gl_recursive_lock_lock): Define as wrapper around
15592         glthread_recursive_lock_lock.
15593         (glthread_recursive_lock_unlock): New macro/function.
15594         (gl_recursive_lock_unlock): Define as wrapper around
15595         glthread_recursive_lock_unlock.
15596         (glthread_recursive_lock_destroy): New macro/function.
15597         (gl_recursive_lock_destroy): Define as wrapper around
15598         glthread_recursive_lock_destroy.
15599         (glthread_once): New macro/function.
15600         (gl_once): Define as wrapper around glthread_once.
15601         Update function declarations.
15602         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
15603         glthread_rwlock_init. Return error code.
15604         (glthread_rwlock_rdlock_multithreaded): Renamed from
15605         glthread_rwlock_rdlock. Return error code.
15606         (glthread_rwlock_wrlock_multithreaded): Renamed from
15607         glthread_rwlock_wrlock. Return error code.
15608         (glthread_rwlock_unlock_multithreaded): Renamed from
15609         glthread_rwlock_unlock. Return error code.
15610         (glthread_rwlock_destroy_multithreaded): Renamed from
15611         glthread_rwlock_destroy. Return error code.
15612         (glthread_recursive_lock_init_multithreaded): Renamed from
15613         glthread_recursive_lock_init. Return error code.
15614         (glthread_recursive_lock_lock_multithreaded): Renamed from
15615         glthread_recursive_lock_lock. Return error code.
15616         (glthread_recursive_lock_unlock_multithreaded): Renamed from
15617         glthread_recursive_lock_unlock. Return error code.
15618         (glthread_recursive_lock_destroy_multithreaded): Renamed from
15619         glthread_recursive_lock_destroy. Return error code.
15620         (glthread_once_call): Make static.
15621         (glthread_once_multithreaded): Renamed from glthread_once.
15622         * lib/tls.h: Include <errno.h>.
15623         (glthread_tls_key_init): New macro/function.
15624         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
15625         (glthread_tls_set): New macro/function.
15626         (gl_tls_set): Define as wrapper around glthread_tls_set.
15627         (glthread_tls_key_destroy): New macro/function.
15628         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
15629         Update function declarations.
15630         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
15631         glthread_tls_get.
15632         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
15633
15634 2008-08-04  Eric Blake  <ebb9@byu.net>
15635
15636         gnumakefile: use space, not TAB, outside of targets
15637         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
15638
15639 2008-08-02  Jim Meyering  <meyering@redhat.com>
15640
15641         getdate.y: avoid locale-dependent date parsing failure
15642         In Turkish locales, getdate would fail to recognize keywords
15643         containing a lowercase "i".  The solution is not to rely on
15644         locale-sensitive case-conversion.
15645         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
15646         (lookup_word): Use c_toupper in place of toupper.
15647         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
15648         Reported by Vefa Bicakci <bicave@superonline.com> in
15649         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
15650         * modules/getdate (Depends-on): Add c-ctype.
15651
15652 2008-08-02  Bruno Haible  <bruno@clisp.org>
15653
15654         * gnulib-tool (func_import): When updating or creating a .gitignore
15655         file, prepend each added line with a slash, and ignore leading slashes
15656         from the existing lines.
15657         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
15658
15659 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
15660
15661         Portability fix for GNU make 3.79.1.
15662         * top/GNUmakefile: Avoid 'else COND', which older GNU make
15663         versions do not understand.
15664
15665 2008-08-01  Bruno Haible  <bruno@clisp.org>
15666
15667         Work around bug of HP-UX 10.20 cc with -0.0 literal.
15668         * tests/test-isnanf.h (zero): New variable.
15669         (main): Avoid literal -0.0f.
15670         * tests/test-isnand.h (zero): New variable.
15671         (main): Avoid literal -0.0.
15672         * tests/test-isnanl.h (zero): New variable.
15673         (main): Avoid literal -0.0L.
15674         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
15675         (test_float, test_double, test_long_double): Avoid literals -0.0f,
15676         -0.0, -0.0L.
15677         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
15678         (test_signbitd): Avoid literal -0.0.
15679         (test_signbitl): Avoid literal -0.0L.
15680         * tests/test-ceilf1.c (zero): New variable.
15681         (main): Avoid literal -0.0f.
15682         * tests/test-ceill.c (zero): New variable.
15683         (main): Avoid literal -0.0L.
15684         * tests/test-floorf1.c (zero): New variable.
15685         (main): Avoid literal -0.0f.
15686         * tests/test-floorl.c (zero): New variable.
15687         (main): Avoid literal -0.0L.
15688         * tests/test-roundf1.c (zero): New variable.
15689         (main): Avoid literal -0.0f.
15690         * tests/test-round1.c (zero): New variable.
15691         (main): Avoid literal -0.0.
15692         * tests/test-roundl.c (zero): New variable.
15693         (main): Avoid literal -0.0L.
15694         * tests/test-truncf1.c (zero): New variable.
15695         (main): Avoid literal -0.0f.
15696         * tests/test-trunc1.c (zero): New variable.
15697         (main): Avoid literal -0.0.
15698         * tests/test-truncl.c (zero): New variable.
15699         (main): Avoid literal -0.0L.
15700         * tests/test-frexp.c (zero): New variable.
15701         (main): Avoid literal -0.0.
15702         * tests/test-frexpl.c (zero): New variable.
15703         (main): Avoid literal -0.0L.
15704         * tests/test-ldexpl.c (zero): New variable.
15705         (main): Avoid literal -0.0L.
15706         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
15707         (zerod, zerol): New variables.
15708         (test_function): Avoid literals -0.0, -0.0L.
15709         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
15710         (zerod, zerol): New variables.
15711         (test_function): Avoid literals -0.0, -0.0L.
15712         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
15713         (zerod, zerol): New variables.
15714         (test_function): Avoid literals -0.0, -0.0L.
15715         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
15716         (zerod, zerol): New variables.
15717         (test_function): Avoid literals -0.0, -0.0L.
15718         * tests/test-strtod.c (zero): New variable.
15719         (main): Avoid literal -0.0.
15720         Reported by Jonathan C. Patschke <jp@centtech.com>.
15721
15722 2008-07-31  Jim Meyering  <meyering@redhat.com>
15723
15724         sha256.h: correct definition of SHA224_DIGEST_SIZE
15725         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
15726         Reported by Paulie Pena IV <paulie4@gmail.com>.
15727         Define as 224 / 8, rather than as a literal.
15728         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
15729         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
15730         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
15731
15732 2008-07-31  Bruno Haible  <bruno@clisp.org>
15733
15734         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
15735         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
15736         Reported by Jonathan Patschke <jp@centtech.com>.
15737
15738 2008-07-31  Bruno Haible  <bruno@clisp.org>
15739
15740         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
15741         Reported by Paolo Bonzini <bonzini@gnu.org>.
15742
15743 2008-07-30  Eric Blake  <ebb9@byu.net>
15744
15745         test-strtod: allow compilation without -lm
15746         * tests/test-strtod.c (main): Avoid link dependence on fabs.
15747         Reported by Dennis Clarke <blastwave@gmail.com>.
15748
15749 2008-07-28  Jim Meyering  <meyering@redhat.com>
15750
15751         bootstrap: work also when there are no .po files in po/
15752         * build-aux/bootstrap (update_po_files): Complete the change
15753         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
15754
15755 2008-07-27  Jim Meyering  <meyering@redhat.com>
15756
15757         * users.txt: Add zile.
15758
15759 2008-07-26  Ben Pfaff  <blp@gnu.org>
15760
15761         Add missing dependencies on new m4/exponent[fdl].m4 files.
15762         * modules/isnanf-nolibm: Add m4/exponentf.m4.
15763         * modules/isnand-nolibm: Add m4/exponentd.m4.
15764         * modules/isnanl-nolibm: Add m4/exponentl.m4.
15765         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
15766         m4/isnan[fdl].m4, because the macros actually used moved.
15767         Reported by Jim Meyering.
15768
15769 2008-07-14  Ben Pfaff  <blp@gnu.org>
15770
15771         Add isinf module.
15772         * lib/isinf.c: New file.
15773         * lib/math.in.h: Define isinf macro if we have decided to replace
15774         it.
15775         * m4/isinf.m4: New file.
15776         * m4/math_h.m4: Initialize and substitute variables for isinf
15777         module.
15778         * modules/isinf: New file.
15779         * modules/isinf-tests: New file.
15780         * modules/math: Add substitutions for new module.
15781         * tests/test-isinf.c: New file.
15782         * doc/posix-functions/isinf.texi: Mention new module.
15783         * MODULES.html.sh: Mention new module.
15784
15785 2008-07-14  Ben Pfaff  <blp@gnu.org>
15786
15787         Factor out some macros for use by additional modules.
15788         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
15789         exponentf.m4.
15790         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
15791         exponentd.m4.
15792         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
15793         file exponentl.m4.
15794         * m4/exponentf.m4: New file.
15795         * m4/exponentd.m4: New file.
15796         * m4/exponentl.m4: New file.
15797         * modules/isnanf: Use new file m4/exponentf.m4.
15798         * modules/isnand: Use new file m4/exponentd.m4.
15799         * modules/isnanl: Use new file m4/exponentl.m4.
15800
15801 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
15802
15803         mktime.c: normalize tp->tm_isdst value to -1/0/1.
15804         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
15805         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
15806         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
15807
15808         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
15809         readlink on platforms without PATH_MAX.
15810
15811 2008-07-21  Eric Blake  <ebb9@byu.net>
15812
15813         Warn, not fail, on stale version.
15814         * top/GNUmakefile (_curr-ver): Tone down previous patch.
15815
15816         Don't allow installation with stale devel version number.
15817         * top/GNUmakefile (_is-install-target): New macro.
15818         (_curr-ver): Forbid installation with stale version number.
15819
15820 2008-07-20  Bruno Haible  <bruno@clisp.org>
15821
15822         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
15823         TESTS_ENVIRONMENT.
15824         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
15825
15826 2008-07-20  Bruno Haible  <bruno@clisp.org>
15827
15828         * lib/c-stack.h (c_stack_action): Add documentation.
15829         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
15830
15831 2008-07-20  Bruno Haible  <bruno@clisp.org>
15832
15833         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
15834         * modules/readlink (License): Likewise.
15835
15836 2008-07-17  Eric Blake  <ebb9@byu.net>
15837
15838         * modules/c-stack (Link): Fix typo.
15839
15840         Make c-stack use libsigsegv, when available.
15841         * modules/c-stack (Depends-on): Add libsigsegv.
15842         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
15843         needed.
15844         * lib/c-stack.c (SIGSTKSZ): Define fallback.
15845         (segv_handler, overflow_handler, c_stack_action)
15846         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
15847         implementation when libsigsegv is available, but only when using
15848         the library is necessary.
15849         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
15850         comment, explaining why XSI check fails on Linux.
15851         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
15852         * tests/test-c-stack2.sh: Tweak skip message.
15853         * NEWS: Document new link-time requirements.
15854
15855 2008-07-16  Eric Blake  <ebb9@byu.net>
15856
15857         c-stack: Expose false positives when not using libsigsegv.
15858         * modules/c-stack-tests (Files): Expand test.
15859         * tests/test-c-stack.c (main): Add means to conditionally trigger
15860         non-overflow SIGSEGV.
15861         * tests/test-c-stack2.sh: New file.
15862
15863 2008-07-14  Bruno Haible  <bruno@clisp.org>
15864
15865         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
15866         Reported by Eric Blake.
15867
15868 2008-07-14  Sam Steingold  <sds@gnu.org>
15869             Bruno Haible  <bruno@clisp.org>
15870
15871         New module libsigsegv.
15872         * modules/libsigsegv: New file.
15873         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
15874         modifications.
15875         * MODULES.html.sh (Signal handling): New section.
15876
15877 2008-07-14  Bruno Haible  <bruno@clisp.org>
15878
15879         * modules/unictype/ctype-* (Description): Add the word "function".
15880         Improves the resulting doc in MODULES.html.
15881
15882 2008-07-12  Ben Pfaff  <blp@gnu.org>
15883
15884         Add longlong module.
15885         * modules/longlong: New file.
15886
15887 2008-07-12  Bruno Haible  <bruno@clisp.org>
15888
15889         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
15890         to empty.
15891
15892 2008-07-10  Ben Pfaff  <blp@gnu.org>
15893
15894         Add isnan module.
15895         * doc/posix-functions/isnan.texi: Mention new module.
15896         * lib/math.in.h: Define isnan macro if we have decided to replace
15897         it.
15898         * m4/isnan.m4: New file.
15899         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
15900         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
15901         also.
15902         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
15903         redundancy.
15904         * m4/math_h.m4: Initialize and substitute variables for isnan
15905         module.
15906         * modules/isnan: New file.
15907         * modules/isnan-tests: New file.
15908         * modules/math: Add substitutions for new module.
15909         * tests/test-isnan.c: New file.
15910         * MODULES.html.sh: Mention new module.
15911
15912 2008-07-10  Ben Pfaff  <blp@gnu.org>
15913
15914         Add isnanf module.
15915         * lib/isnanf.m4: New file.
15916         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
15917         (gl_HAVE_ISNANF_IN_LIBM): New macro.
15918         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
15919         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
15920         * modules/isnanf: New file.
15921         * modules/isnanf-tests: New file.
15922         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
15923         files.
15924         * tests/test-isnanf-nolibm.c: factored most of its contents into
15925         new file tests/test-isnanf.h.
15926         * tests/test-isnanf.h: New file.
15927         * tests/test-isnanf.c: New file.
15928         * MODULES.html.sh: Mention new module.
15929         * doc/glibc-functions/isnanf.texi: Mention new module.
15930
15931 2008-07-10  Ben Pfaff  <blp@gnu.org>
15932
15933         Add isnand module.
15934         * lib/isnand.h: New file.
15935         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
15936         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
15937         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
15938         functionality also.
15939         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
15940         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
15941         (gl_HAVE_ISNAND_IN_LIBM): New macro.
15942         * modules/isnand: New file.
15943         * modules/isnand-tests: New file.
15944         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
15945         files.
15946         * tests/test-isnand-nolibm.c: factored most of its contents into
15947         new file tests/test-isnand.h.
15948         * tests/test-isnand.h: New file.
15949         * tests/test-isnand.c: New file.
15950         * MODULES.html.sh: Mention new module.
15951
15952 2008-07-10  Ben Pfaff  <blp@gnu.org>
15953
15954         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
15955         * lib/isnand.h: Rename lib/isnand-nolibm.h.
15956         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
15957         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
15958         * modules/isnanf-nolibm: Update references to renamed files.
15959         * modules/isnand-nolibm: Likewise.
15960         * modules/isnanf-nolibm-tests: Likewise.
15961         * modules/isnand-nolibm-tests: Likewise.
15962         * lib/frexp.c: Likewise.
15963         * lib/isfinite.c: Likewise.
15964         * lib/signbitd.c: Likewise.
15965         * lib/signbitf.c: Likewise.
15966         * lib/vasnprintf.c: Likewise.
15967         * tests/test-ceilf1.c: Likewise.
15968         * tests/test-ceilf2.c: Likewise.
15969         * tests/test-floorf1.c: Likewise.
15970         * tests/test-floorf2.c: Likewise.
15971         * tests/test-frexp.c: Likewise.
15972         * tests/test-round1.c: Likewise.
15973         * tests/test-round2.c: Likewise.
15974         * tests/test-roundf1.c: Likewise.
15975         * tests/test-strtod.c: Likewise.
15976         * tests/test-trunc1.c: Likewise.
15977         * tests/test-trunc2.c: Likewise.
15978         * tests/test-truncf1.c: Likewise.
15979         * tests/test-truncf2.c: Likewise.
15980         * NEWS: Mention the renamed header files.
15981
15982 2008-07-11  Jim Meyering  <meyering@redhat.com>
15983
15984         vc-list-files: make the last-resort awk code more portable
15985         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
15986         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
15987         does not support it.
15988
15989 2008-07-10  Eric Blake  <ebb9@byu.net>
15990
15991         Work with tar's bootstrap.
15992         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
15993         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
15994         an m4 comment.
15995
15996 2008-07-09  Jim Meyering  <meyering@redhat.com>
15997
15998         posix-shell.m4: fix typo that made this test malfunction
15999         * m4/posix-shell.m4: Remove capitalization in variable name.
16000
16001 2008-07-08  Bruno Haible  <bruno@clisp.org>
16002
16003         * m4/onceonly.m4: Update comments.
16004         Reported by Ben Pfaff <blp@cs.stanford.edu>.
16005
16006 2008-07-04  Jim Meyering  <meyering@redhat.com>
16007
16008         * users.txt: Add vc-dwim.
16009         (bison, coreutils): Use the gitweb URL.
16010
16011 2008-07-03  Jim Meyering  <meyering@redhat.com>
16012
16013         * users.txt: Add libffcall.  From Sam Steingold.
16014
16015 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
16016
16017         getdate.y: do not ignore TZ with relative day, month or year offset
16018         * lib/getdate.y (get_date): Move the tz-handling block to follow the
16019         relative-date-handling, since otherwise, the latter would clobber the
16020         sole output (an updated Start value) of the tz-handling block.
16021         * tests/test-getdate.c: Tests for the fix
16022
16023 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16024
16025         Recognize 'foo_LIBRARIES += libgnu.a'.
16026         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
16027         makefile snippet has already specified an installation location,
16028         also using '+='.
16029
16030 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
16031
16032         getdate.y: factor out common actions
16033         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
16034         Use them in place of open-coded actions.
16035
16036 2008-07-01  Simon Josefsson  <simon@josefsson.org>
16037
16038         Add self-test for getdate module.
16039         * modules/getdate-tests: New file.
16040         * tests/test-getdate.c: New file.
16041
16042 2008-06-29  Bruno Haible  <bruno@clisp.org>
16043
16044         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
16045         .gitignore.
16046         Reported by Sylvain Beucler <beuc@beuc.net>.
16047
16048 2008-06-29  Bruno Haible  <bruno@clisp.org>
16049
16050         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
16051         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
16052
16053 2008-06-29  Bruno Haible  <bruno@clisp.org>
16054
16055         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
16056         EXTRA_DIST.
16057         Reported by Sylvain Beucler <beuc@beuc.net>.
16058
16059 2008-06-26  Jim Meyering  <meyering@redhat.com>
16060
16061         make several modules depend on the "open" module
16062         This provides slightly increased consistency when opening-for-write
16063         the name of a non-directory spelled with a trailing slash.
16064         * modules/chdir-safer: Likewise.
16065         * modules/chown: Likewise.
16066         * modules/clean-temp: Likewise.
16067         * modules/copy-file: Likewise.
16068         * modules/fchdir: Likewise.
16069         * modules/fcntl-safer: Likewise.
16070         * modules/pipe: Likewise.
16071         * modules/utime: Likewise.
16072         Prompted by Eric Blake and Bruno Haible.
16073
16074 2008-06-24  Andreas Schwab  <schwab@suse.de>
16075
16076         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
16077         literals can be used as initializers for global variables.
16078
16079 2008-06-23  Eric Blake  <ebb9@byu.net>
16080
16081         Make gnulib-cache.m4 easier to diff.
16082         * gnulib-tool (func_import): Allow newlines when reading cached
16083         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
16084
16085 2008-06-23  Bruno Haible  <bruno@clisp.org>
16086
16087         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
16088         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
16089         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
16090         m4/signalblocking.m4.
16091         (gl_PREREQ_SIGACTION): Don't invoke it.
16092         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
16093         gl_PREREQ_SIG_HANDLER_H.
16094         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
16095         Don't check for sigaction here.
16096
16097 2008-06-23  Bruno Haible  <bruno@clisp.org>
16098
16099         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
16100         (install_handlers): Don't set the SA_RESETHAND flag.
16101
16102 2008-06-23  Bruno Haible  <bruno@clisp.org>
16103
16104         * m4/sigaction.m4: Comment fixes.
16105         * lib/signal.in.h: Likewise.
16106
16107 2008-06-23  Eric Blake  <ebb9@byu.net>
16108
16109         Fix typo.
16110         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
16111
16112         Avoid SA_ namespace.
16113         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
16114         Reported by Ralf Wildenhues.
16115
16116         Avoid test failure due to SA_RESTORER.
16117         * tests/test-sigaction.c (SA_MASK): New macro.
16118         (main): Avoid failing due to extension flags being set.
16119         Reported by Jim Meyering.
16120
16121         Revert use of sig-handler.h in sigprocmask.c.
16122         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
16123         it requires the existence of struct sigaction.
16124         * lib/sigprocmask.c (handler_t): Restore typedef.
16125         (rpl_signal, old_handlers): Use local type.
16126
16127 2008-06-22  Bruno Haible  <bruno@clisp.org>
16128
16129         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
16130         conditionally.
16131         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
16132
16133 2008-06-22  Bruno Haible  <bruno@clisp.org>
16134
16135         * doc/posix-functions/siginterrupt.texi: Move note.
16136
16137         * lib/signal.in.h (SA_RESTART): New macro.
16138         * lib/sigaction.c: Update comment.
16139
16140         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
16141
16142         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
16143         (gl_PREREQ_SIGPROCMASK): Invoke it.
16144         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
16145
16146         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
16147
16148         * lib/sigprocmask.c: Update a comment.
16149
16150 2008-06-21  Eric Blake  <ebb9@byu.net>
16151
16152         Use sigaction module rather than signal().
16153         * modules/c-stack (Depends-on): Add sigaction.
16154         * modules/fatal-signal (Depends-on): Likewise.
16155         * modules/nanosleep (Depends-on): Likewise.
16156         * modules/sigprocmask (Files): Add sig-handler.h.
16157         * modules/sigaction (Files): Likewise.
16158         * lib/sig-handler.h (get_handler): New file, suggested by Paul
16159         Eggert.
16160         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
16161         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
16162         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
16163         (init_fatal_signals): Likewise.
16164         * lib/nanosleep.c (rpl_nanosleep): Likewise.
16165         (siginterrupt): Delete fallback.
16166         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
16167         instead.
16168         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
16169         siginterrupt.
16170
16171         New module sigaction, for mingw.
16172         * modules/sigaction: New module...
16173         * modules/sigaction-tests: ...and its test.
16174         * m4/sigaction.m4: New file.
16175         * lib/sigaction.c: Likewise.
16176         * tests/test-sigaction.c: Likewise.
16177         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
16178         * modules/signal (Makefile.am): Likewise.
16179         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
16180         needed.
16181         * doc/posix-headers/signal.texi (signal.h): Mention provided
16182         types.
16183         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
16184         that sigaction is preferable.
16185         * doc/posix-functions/sigaction.texi (sigaction): Mention new
16186         module.
16187         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
16188         sigaction.
16189
16190         Improve robustness of sigprocmask by overriding signal.
16191         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
16192         is in use.
16193         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
16194         (SIGKILL, SIGSTOP): Provide fallbacks.
16195         (rpl_signal): Implement.
16196         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
16197         signal can be called inside handlers.
16198
16199         Fix nanosleep module on mingw.
16200         * modules/nanosleep (Depends-on): Add sys_select.
16201         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
16202
16203         Fix licensing of sigprocmask.
16204         * modules/raise (License): Relicense as LGPL.
16205
16206 2008-06-21  Bruno Haible  <bruno@clisp.org>
16207
16208         * lib/propername.c (proper_name_utf8): Don't use the transliterated
16209         result if it contains question marks.
16210         Reported by Michael Geng <linux@michaelgeng.de>.
16211
16212 2008-06-19  Bruno Haible  <bruno@clisp.org>
16213
16214         Fix CVS-ism.
16215         * doc/gnulib.texi: Include updated-stamp.texi.
16216         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
16217         (updated-stamp.texi): New rule.
16218         (gnulib.info): Depend on it.
16219         * doc/.gitignore: Add updated-stamp.texi.
16220         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
16221
16222 2008-06-19  Bruno Haible  <bruno@clisp.org>
16223
16224         * doc/Makefile (gnulib.info): Update and simplify dependencies.
16225         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
16226
16227 2008-06-19  Eric Blake  <ebb9@byu.net>
16228
16229         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
16230         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
16231         Reported by Stepan Kasal.
16232
16233 2008-06-18  Bruno Haible  <bruno@clisp.org>
16234
16235         * lib/fatal-signal.c (init_fatal_signals): Add comment.
16236         Reported by Eric Blake.
16237
16238 2008-06-18  Eric Blake  <ebb9@byu.net>
16239
16240         Work around cygwin 1.5.25 strsignal bug.
16241         * tests/test-strsignal.c: Allow for const char *.
16242         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
16243
16244 2008-06-18  Simon Josefsson  <simon@josefsson.org>
16245
16246         * users.txt: Update URL to article and add author/date
16247         information.
16248
16249 2008-06-17  Bruno Haible  <bruno@clisp.org>
16250
16251         New macro gl_DISABLE_THREADS.
16252         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
16253         if the user did not pass --enable-threads or --disable-threads option.
16254         (gl_DISABLE_THREADS): New macro.
16255         Reported by Eric Blake <ebb9@byu.net>.
16256
16257 2008-06-17  Bruno Haible  <bruno@clisp.org>
16258
16259         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
16260         when the macro ignores it.
16261         Based on a patch by Eric Blake <ebb9@byu.net>.
16262
16263 2008-06-17  Bruno Haible  <bruno@clisp.org>
16264
16265         * modules/tls (License): Change to LGPLv2+.
16266         Reported by Eric Blake.
16267
16268 2008-06-17  Eric Blake  <ebb9@byu.net>
16269
16270         Simplify c-stack prerequisites.
16271         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
16272         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
16273         no longer requires <ucontext.h> to exist.  Optimize setrlimit
16274         check.
16275         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
16276         <sys/resource.h>.
16277
16278         Move c-stack test into testsuite.
16279         * modules/c-stack-tests: New file.
16280         * lib/c-stack.c [DEBUG]: Move test program...
16281         * tests/test-c-stack.c: ...into this new file.  Skip rather than
16282         fail test if sigaltstack is lacking.
16283         * tests/test-c-stack.sh: New driver file.
16284
16285 2008-06-16  Eric Blake  <ebb9@byu.net>
16286
16287         Use raise module consistently.
16288         * modules/fatal-signal (Depends-on): Add raise.
16289         * modules/sigprocmask (Depends-on): Likewise.
16290         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
16291         * lib/sigprocmask.c (sigprocmask): Likewise.
16292         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
16293         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
16294
16295         Fix compliance bug in sigpending.
16296         * lib/sigprocmask.c (sigpending): Return pending array via
16297         parameter, not return value.
16298
16299 2008-06-14  Eric Blake  <ebb9@byu.net>
16300
16301         Improve obstack-printf test code.
16302         * tests/test-obstack-printf.c (test_function): Fix comment, and
16303         simplify usage of obstack_* in macros.  Add a test for coverage.
16304         Reported by Bruno Haible.
16305
16306 2008-06-14  Bruno Haible  <bruno@clisp.org>
16307
16308         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
16309         array size as a constant, not as a const variable.
16310         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
16311         AC_USE_SYSTEM_EXTENSIONS.
16312         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
16313         Test whether the obstack_printf function actually exists.
16314         * modules/obstack-printf (Depends-on): Add extensions.
16315         (Include): Remove obstack.h.
16316         * modules/obstack-printf-posix (Depends-on): Add extensions.
16317         (Include): Remove obstack.h.
16318
16319 2008-06-13  Eric Blake  <ebb9@byu.net>
16320
16321         Add obstack-printf and obstack-printf-posix modules.
16322         * modules/obstack-printf: New file.
16323         * modules/obstack-printf-posix: Likewise.
16324         * MODULES.html.sh (Misc): Mention them.
16325         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
16326         Likewise.
16327         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
16328         Likewise.
16329         * modules/stdio (Makefile.am): Accomodate new modules.
16330         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
16331         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
16332         Declare.
16333         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
16334         functions.
16335         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
16336         (gl_REPLACE_OBSTACK_PRINTF): New macros
16337         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
16338         * tests/test-obstack-printf.c: New file.
16339         * modules/obstack-printf-tests: Likewise.
16340         * modules/obstack-printf-posix-tests: Likewise.
16341
16342 2008-06-11  Bruno Haible  <bruno@clisp.org>
16343
16344         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
16345         * lib/open.c: Include errno.h.
16346         (open): Fail when attempting to write to a file that has a trailing
16347         slash.
16348         * tests/test-open.c (main): Test against trailing slash bug.
16349         * doc/posix-functions/open.texi: Mention the trailing slash bug.
16350
16351 2008-06-10  Bruno Haible  <bruno@clisp.org>
16352
16353         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
16354         for $? to work inside the trap command, with various /bin/sh-s.
16355         * tests/test-vc-list-files-cvs.sh: Likewise.
16356
16357 2008-06-10  Bruno Haible  <bruno@clisp.org>
16358
16359         * lib/acl-internal.h: Don't include gettext.h here.
16360         * lib/set-mode-acl.c: Include gettext.h here.
16361         * lib/copy-acl.c: Likewise.
16362
16363 2008-06-10  Bruno Haible  <bruno@clisp.org>
16364
16365         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
16366         * lib/wait-process.c (wait_subprocess): Likewise.
16367         * lib/execute.h (execute): Add termsigp argument.
16368         * lib/execute.c (execute): Likewise.
16369         * lib/csharpcomp.c (compile_csharp_using_pnet,
16370         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
16371         * lib/csharpexec.c (execute_csharp_using_pnet,
16372         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
16373         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
16374         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
16375         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
16376         is_jikes_present): Update.
16377         * lib/javaexec.c (execute_java_class): Update.
16378         * lib/javaversion.c (execute_and_read_line): Update.
16379         * NEWS: Document the changes.
16380         Reported by Eric Blake.
16381
16382 2008-06-10  Eric Blake  <ebb9@byu.net>
16383
16384         Add missing include.
16385         * tests/test-strstr.c (includes): Add <signal.h>.
16386         * tests/test-strcasestr.c (includes): Likewise.
16387         * tests/test-memmem.c (includes): Likewise.
16388
16389 2008-06-10  Bruno Haible  <bruno@clisp.org>
16390
16391         * lib/wait-process.c (wait_subprocess): Add an assertion.
16392
16393 2008-06-10  Bruno Haible  <bruno@clisp.org>
16394
16395         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
16396
16397 2008-06-10  Bruno Haible  <bruno@clisp.org>
16398
16399         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
16400         using alarm().
16401         * tests/test-strcasestr.c (main): Likewise.
16402         * tests/test-strstr.c (main): Likewise.
16403
16404 2008-06-09  Bruno Haible  <bruno@clisp.org>
16405
16406         Work around the Solaris 10 ACE ACLs ABI change.
16407         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
16408         declare if ACL_NO_TRIVIAL is present.
16409         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
16410         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
16411         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
16412         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
16413         define if ACL_NO_TRIVIAL is present.
16414         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
16415         and use the current ABI.
16416         (file_has_acl): Use same #if condition as elsewhere.
16417         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
16418         in use, and use the current ABI.
16419         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
16420         Reported by Jim Meyering.
16421
16422 2008-06-09  Eric Blake  <ebb9@byu.net>
16423
16424         Work around environments that (stupidly) ignore SIGALRM.
16425         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
16426         before using alarm().
16427         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
16428         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
16429         Reported by Ian Beckwith <ianb@erislabs.net>.
16430
16431         Produce autobuild blurb earlier in log.
16432         * modules/autobuild (configure.ac-early): Move AB_INIT here.
16433
16434 2008-06-09  Jim Meyering  <meyering@redhat.com>
16435         and Ondřej Vašík  <ovasik@redhat.com>
16436
16437         utimens.c: correct kernel bug work-around
16438         Ondřej Vašík found that the invalid return value of 280 indicates
16439         failure, not success, and the kernel bug we're trying to work
16440         around affects not just the utimensat call, but also the fallback
16441         futimens call.
16442         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
16443         not success.
16444         [HAVE_FUTIMENS]: Use the same work-around, here.
16445
16446 2008-06-09  Jim Meyering  <meyering@redhat.com>
16447
16448         add more guards around definition of ACE_-related code
16449         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
16450         ALLOW and ACE_OWNER are also defined.
16451
16452 2008-06-08  Bruno Haible  <bruno@clisp.org>
16453
16454         * lib/acl-internal.h: Add me as co-author.
16455         * lib/file-has-acl.c: Likewise.
16456         * lib/set-mode-acl.c: Likewise.
16457         * lib/copy-acl.c: Likewise.
16458
16459 2008-06-08  Bruno Haible  <bruno@clisp.org>
16460
16461         Add support for AIX ACLs.
16462         * lib/acl-internal.h (acl_nontrivial): New declaration.
16463         * lib/file-has-acl.c (acl_nontrivial): New function.
16464         (file_has_acl): Add implementation using AIX 4 ACL API.
16465         * lib/set-mode-acl.c (qset_acl): Likewise.
16466         * lib/copy-acl.c (qcopy_acl): Likewise.
16467
16468 2008-06-08  Bruno Haible  <bruno@clisp.org>
16469
16470         Add support for HP-UX ACLs.
16471         * lib/acl-internal.h (acl_nontrivial): New declaration.
16472         * lib/file-has-acl.c (acl_nontrivial): New function.
16473         (file_has_acl): Add implementation using HP-UX 11 ACL API.
16474         * lib/set-mode-acl.c (qset_acl): Likewise.
16475         * lib/copy-acl.c (qcopy_acl): Likewise.
16476
16477 2008-06-08  Bruno Haible  <bruno@clisp.org>
16478
16479         Add support for Cygwin ACLs.
16480         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
16481         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
16482         the chmod_or_fchmod call.
16483         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
16484
16485 2008-06-08  Bruno Haible  <bruno@clisp.org>
16486
16487         Fix bug with setuid modes in Solaris 10+ code.
16488         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
16489         succeeded, when the mode contains some special bits.
16490
16491 2008-06-08  Bruno Haible  <bruno@clisp.org>
16492
16493         Add support for Solaris 7..10 ACLs.
16494         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
16495         declarations.
16496         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
16497         functions.
16498         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
16499         * lib/set-mode-acl.c (qset_acl): Likewise.
16500         * lib/copy-acl.c (qcopy_acl): Likewise.
16501
16502 2008-06-08  Bruno Haible  <bruno@clisp.org>
16503
16504         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
16505         declaration.
16506         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
16507         (acl_access_nontrivial): Remove MacOS X case.
16508         (file_has_acl): Use acl_extended_nontrivial.
16509         * lib/copy-acl.c (qcopy_acl): Likewise.
16510
16511 2008-06-08  Bruno Haible  <bruno@clisp.org>
16512
16513         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
16514
16515 2008-06-08  Jim Meyering  <meyering@redhat.com>
16516
16517         * modules/acl (Maintainer): Add Bruno Haible.
16518
16519 2008-06-07  Bruno Haible  <bruno@clisp.org>
16520
16521         Improve support for Tru64 ACLs.
16522         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
16523         ACL on OSF/1.
16524
16525 2008-06-07  Bruno Haible  <bruno@clisp.org>
16526
16527         Add support for MacOS X ACLs.
16528         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
16529         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
16530         * lib/set-mode-acl.c (qset_acl): Likewise.
16531         * lib/copy-acl.c (qcopy_acl): Likewise.
16532
16533 2008-06-07  Bruno Haible  <bruno@clisp.org>
16534
16535         Fix memory leak introduced on 2008-05-22.
16536         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
16537         use.
16538
16539 2008-06-07  Bruno Haible  <bruno@clisp.org>
16540
16541         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
16542         to construct an empty ACL.
16543
16544 2008-06-07  Bruno Haible  <bruno@clisp.org>
16545
16546         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
16547         precisely.
16548         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
16549
16550 2008-06-07  Bruno Haible  <bruno@clisp.org>
16551
16552         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
16553         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
16554
16555 2008-06-07  Bruno Haible  <bruno@clisp.org>
16556
16557         * doc/posix-functions/_setjmp.texi: Explain the use of this function
16558         regardless of POSIX.
16559         * doc/posix-functions/_longjmp.texi: Likewise.
16560         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
16561         SystemV platform in this case.
16562
16563 2008-06-06  Eric Blake  <ebb9@byu.net>
16564
16565         Document abort() bugs.
16566         * doc/posix-functions/abort.texi (abort): Mention anomalies.
16567
16568         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
16569         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
16570         sigsetjmp.
16571         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
16572         siglongjmp, but only as a macro.
16573         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
16574         is obsolete.
16575         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
16576
16577         Tweak documentation to cover cygwin argz bugs.
16578         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
16579         argz bug fix; no code change needed since no cygwin releases
16580         occurred between the last fix and the bug being tested.
16581         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
16582         module and recently fixed cygwin bugs.
16583         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
16584         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
16585         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
16586         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
16587         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
16588         Likewise.
16589         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
16590         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
16591         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
16592         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
16593         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
16594         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
16595         Likewise.
16596
16597         Avoid gcc warning on cygwin.
16598         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
16599         !ACL_NO_TRIVIAL]: Avoid unused variable.
16600
16601 2008-06-05  Eric Blake  <ebb9@byu.net>
16602
16603         Be tolerant of UNKNOWN version in gnulib-tool test dir.
16604         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
16605         git-version-gen fails to come up with a version.
16606         Reported by Simon Josefsson.
16607
16608 2008-06-05  Jim Meyering  <meyering@redhat.com>
16609             Paul Eggert  <eggert@cs.ucla.edu>
16610
16611         utimens.c: work around a probable Linux kernel bug
16612         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
16613         appears to be a kernel bug that causes utimensat to return 280
16614         instead of 0, indicating success.
16615
16616 2008-06-04  Bruno Haible  <bruno@clisp.org>
16617
16618         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
16619         2008-06-01 commit.
16620
16621 2008-06-04  Bruno Haible  <bruno@clisp.org>
16622
16623         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
16624         * lib/file-has-acl.c (acl_access_nontrivial): New function.
16625         (file_has_acl): Use it. Save errno afterwards.
16626         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
16627
16628 2008-06-03  Bruno Haible  <bruno@clisp.org>
16629
16630         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
16631         draft code. Simplify #ifs.
16632         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
16633         Put Solaris code after POSIX-draft code. Fix comments regarding
16634         Solaris 10, HP-UX. Mention Cygwin.
16635         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
16636
16637 2008-06-03  Eric Blake  <ebb9@byu.net>
16638
16639         Provide fallback for older kernels.
16640         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
16641         Provide runtime fallback if kernel lacks support.
16642         Reported by Mike Frysinger.
16643
16644 2008-06-02  Bruno Haible  <bruno@clisp.org>
16645
16646         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
16647         it exists.
16648
16649 2008-06-02  Bruno Haible  <bruno@clisp.org>
16650
16651         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
16652         * lib/copy-acl.c (qcopy_acl): Update comment.
16653
16654 2008-06-02  Bruno Haible  <bruno@clisp.org>
16655
16656         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
16657         like ACL APIs.
16658
16659 2008-06-02  Bruno Haible  <bruno@clisp.org>
16660
16661         * tests/test-file-has-acl.sh: Use different code for Cygwin.
16662         * tests/test-set-mode-acl.sh: Likewise.
16663         * tests/test-copy-acl.sh: Likewise.
16664         * tests/test-copy-file.sh: Likewise.
16665
16666 2008-06-02  Bruno Haible  <bruno@clisp.org>
16667
16668         * tests/test-file-has-acl.sh: Remove unused code.
16669
16670 2008-06-01  Bruno Haible  <bruno@clisp.org>
16671
16672         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
16673         (copy_acl): Just a wrapper around qcopy_acl that emits the error
16674         messages.
16675         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
16676
16677 2008-06-01  Bruno Haible  <bruno@clisp.org>
16678
16679         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
16680         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
16681         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
16682         APIs.
16683         * modules/acl-tests (configure.ac): Remove tests now contained in
16684         m4/acl.m4.
16685
16686 2008-06-02  Jim Meyering  <meyering@redhat.com>
16687
16688         announce-gen: use a better key-server host name
16689         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
16690         it may be more consistently reliable.  Suggested by Werner Koch
16691         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
16692
16693 2008-06-01  Bruno Haible  <bruno@clisp.org>
16694
16695         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
16696         Reported by Voroskoi Andras <voroskoi@gmail.com>.
16697
16698 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
16699
16700         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
16701
16702 2008-06-01  Bruno Haible  <bruno@clisp.org>
16703
16704         New ACL tests.
16705         * tests/test-file-has-acl.sh: New file.
16706         * tests/test-file-has-acl.c: New file.
16707         * tests/test-set-mode-acl.sh: New file.
16708         * tests/test-set-mode-acl.c: New file.
16709         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
16710         * tests/test-copy-acl.c: New file.
16711         * modules/acl-tests: New file, based on modules/copy-file-tests.
16712         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
16713         (Depends-on): Add acl-tests.
16714         (configure.ac): Remove checks.
16715         (Makefile.am): Don't create test-sameacls program here any more.
16716
16717 2008-06-01  Bruno Haible  <bruno@clisp.org>
16718
16719         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
16720         * tests/test-sameacls.c: Include progname.h.
16721         (main): Invoke set_program_name. Portability fixes for MacOS X,
16722         Solaris, HP-UX.
16723
16724 2008-06-01  Bruno Haible  <bruno@clisp.org>
16725
16726         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
16727         function.
16728         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
16729
16730 2008-06-01  Bruno Haible  <bruno@clisp.org>
16731
16732         * modules/rpmatch (Depends-on): Add strdup.
16733
16734 2008-06-01  Bruno Haible  <bruno@clisp.org>
16735
16736         * lib/pipe.c: Include unistd-safer.h.
16737         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
16738         * modules/pipe (Depends-on): Add unistd-safer.
16739
16740 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16741
16742         * modules/autobuild (configure.ac): Call AB_INIT.
16743
16744 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16745
16746         * tests/test-getaddrinfo.c: Don't print debug messages by default.
16747         Suggested by Bruno Haible <bruno@clisp.org>.
16748
16749 2008-05-30  Simon Josefsson  <simon@josefsson.org>
16750
16751         * tests/test-base64.c: Cast size_t to unsigned long when invoking
16752         printf.  Use %lu instead of %d.  Reported by Bruno Haible
16753         <bruno@clisp.org>.
16754
16755 2008-05-29  Eric Blake  <ebb9@byu.net>
16756
16757         Prefer new POSIX 200x interfaces over futimesat.
16758         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
16759         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
16760         when available.
16761         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
16762
16763 2008-05-28  Bruno Haible  <bruno@clisp.org>
16764
16765         * modules/stpcpy (License): Change to LGPLv2+.
16766         Requested by David Lutterkort <dlutter@redhat.com>.
16767
16768 2008-05-27  Bruno Haible  <bruno@clisp.org>
16769
16770         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
16771         current mingw.
16772         Reported by Jose E. Marchesi <jemarch@gnu.org>.
16773
16774 2008-05-27  Bruno Haible  <bruno@clisp.org>
16775
16776         * modules/iconv_open (Link): New section, from module 'iconv'.
16777         * modules/striconv (Link): Likewise.
16778         * modules/striconveh (Link): Likewise.
16779         * modules/xstriconv (Link): Likewise.
16780         * modules/unicodeio (Link): Likewise.
16781         * modules/propername (Link): Likewise.
16782         Reported by Jim Meyering.
16783
16784 2008-05-26  Jim Meyering  <meyering@redhat.com>
16785
16786         sha256: do not artificially restrict buffer length to be < 2^32
16787         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
16788         uint32_t to size_t.
16789         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
16790         to match.
16791
16792         avoid unaligned access errors, e.g., on sparc
16793         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
16794         direct access through a possibly-unaligned uint64* pointer.
16795         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
16796         direct access through a possibly-unaligned uint32* pointer.
16797         Prompted by this patch from Tom "spot" Callaway:
16798         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
16799
16800         sha512.c: fix typo in comment
16801         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
16802
16803 2008-05-25  Bruno Haible  <bruno@clisp.org>
16804
16805         * lib/set-mode-acl.c: Renamed from lib/acl.c.
16806         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
16807         (Makefile.am): Update lib_SOURCES.
16808
16809 2008-05-25  Bruno Haible  <bruno@clisp.org>
16810
16811         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
16812
16813 2008-05-25  Jim Meyering  <meyering@redhat.com>
16814
16815         useless-if-before-free: freed expr may have white-space differences
16816         * build-aux/useless-if-before-free: Recognize cases in which the
16817         freed expression differs from the tested one in embedded white
16818         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
16819         $1 was used, so we can't make any regexp shy.  Improved tests now
16820         detect this.
16821
16822         useless-if-before-free: accept white space in the expression.
16823         * build-aux/useless-if-before-free: For now, any white space
16824         in the expression must be identical in the free argument.
16825
16826         useless-if-before-free: efficiency tweak
16827         * build-aux/useless-if-before-free: Make the expression-matching
16828         regexp "shy".
16829         Make the *outer* regexp shy, not the expr-matching one.
16830
16831         update code-in-comment to accept cast of free arg
16832         * build-aux/useless-if-before-free: Update regexp.
16833
16834 2008-05-25  Bruno Haible  <bruno@clisp.org>
16835
16836         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
16837         * modules/copy-file-tests (Files, Makefile.am): Update.
16838         * tests/test-copy-file.c (func_test_copy): Update.
16839
16840 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
16841
16842         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
16843
16844 2008-05-23  Bruno Haible  <bruno@clisp.org>
16845
16846         Improve support for ACLs on OSF/1.
16847         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
16848         Remove fallback for unknown flavors of ACLs.
16849
16850 2008-05-22  Bruno Haible  <bruno@clisp.org>
16851
16852         Add support for ACLs on OSF/1.
16853         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
16854         replacements.
16855         (acl_free_text): New macro fallback.
16856         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
16857         acl_free.
16858         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
16859         acl_free_text function. Require AC_C_INLINE.
16860
16861 2008-05-22  Bruno Haible  <bruno@clisp.org>
16862
16863         Make copy_acl work on MacOS X 10.5.
16864         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
16865         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
16866         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
16867         If MODE_INSIDE_ACL, don't assume that every system has the same text
16868         representation for ACLs as FreeBSD.
16869         * lib/copy-acl.c (copy_acl): Add support for platforms with
16870         !MODE_INSIDE_ACL.
16871         * lib/file-has-acl.c (file_has_acl): Likewise.
16872         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
16873         FreeBSD, MacOS X, or IRIX, respectively.
16874
16875 2008-05-22  Bruno Haible  <bruno@clisp.org>
16876
16877         * lib/acl.h: Don't include <sys/acl.h>.
16878         (GETACLCNT): Move fallback to lib/acl-internal.h.
16879         * lib/acl-internal.h: Include <sys/acl.h> here.
16880         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
16881
16882 2008-05-22  Bruno Haible  <bruno@clisp.org>
16883
16884         Split off copy_acl function to separate file.
16885         * lib/copy-acl.c: New file, extracted from lib/acl.c.
16886         * lib/acl.c (copy_acl): Moved function to separate file.
16887         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
16888         * modules/acl (Files): Add lib/copy-acl.c.
16889         (Makefiles.am): Augment lib_SOURCES.
16890
16891 2008-05-22  Bruno Haible  <bruno@clisp.org>
16892
16893         * modules/copy-file-tests: New file.
16894         * tests/test-copy-file.sh: New file.
16895         * tests/test-copy-file.c: New file.
16896         * tests/test-copy-file-sameacls.c: New file.
16897
16898 2008-05-22  Eric Blake  <ebb9@byu.net>
16899
16900         Avoid gcc warning.
16901         * tests/test-memcmp.c (main): Pass NULL indirectly.
16902
16903 2008-05-21  Bruno Haible  <bruno@clisp.org>
16904
16905         Add reference doc about ACLs.
16906         * doc/acl-resources.txt: New file.
16907         * doc/acl-cygwin.txt: New file.
16908
16909 2008-05-21  Bruno Haible  <bruno@clisp.org>
16910
16911         Avoid one more warning from gcc.
16912         * lib/vasnprintf.c (IF_LINT): Update comments.
16913         (VASNPRINTF): Use it also for the 'prefix' array initializer.
16914
16915 2008-05-21  Jim Meyering  <meyering@redhat.com>
16916
16917         avoid a warning from gcc
16918         * lib/vasnprintf.c (IF_LINT): Define.
16919         (scale10_round_decimal_long_double):
16920         Use it to avoid a "may be used uninitialized" warning.
16921         (scale10_round_decimal_double): Likewise.
16922
16923 2008-05-21  Simon Josefsson  <simon@josefsson.org>
16924
16925         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
16926         declared.
16927
16928 2008-05-20  Bruno Haible  <bruno@clisp.org>
16929
16930         * tests/test-memcmp.c (main): Test also the sign of the result. Test
16931         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
16932
16933 2008-05-20  Simon Josefsson  <simon@josefsson.org>
16934
16935         * modules/memcmp-tests: New file.
16936         * tests/test-memcmp.c: New file.
16937
16938 2008-05-19  Bruno Haible  <bruno@clisp.org>
16939
16940         * modules/propername (Notice, configure.ac): Put quoted "..." into
16941         --keyword option.
16942         * lib/propername.h: Update comments accordingly.
16943         Reported by Eric Blake.
16944
16945 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
16946
16947         * modules/getpass-gnu (Depends-on): Add fseeko.
16948
16949 2008-05-19  Simon Josefsson  <simon@josefsson.org>
16950
16951         * modules/base64-tests: New file.
16952
16953 2008-05-19  Bo Borgerson <gigabo@gmail.com>
16954
16955         * lib/base64.c (base64_decode_ctx): If a decode context structure
16956         was passed in use it to ignore newlines.  If a context structure
16957         was _not_ passed in, continue to treat newlines as garbage (this
16958         is the historical behavior).  Formerly base64_decode.
16959         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
16960         takes a decode context structure.
16961         * lib/base64.h (base64_decode): Macro for four-argument calls.
16962         (base64_decode_alloc): Likewise.
16963         * lib/base64.c (base64_decode_ctx): If a decode context structure
16964         was passed in use it to ignore newlines.  If a context structure
16965         was _not_ passed in, continue to treat newlines as garbage (this
16966         is the historical behavior).  Formerly base64_decode.
16967         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
16968         takes a decode context structure.
16969         * lib/base64.h (base64_decode): Macro for four-argument calls.
16970         (base64_decode_alloc): Likewise.
16971
16972 2008-05-19  Jim Meyering  <meyering@redhat.com>
16973
16974         avoid a warning from gcc
16975         * lib/trim.c (IF_LINT): Define.
16976         (trim2): Use it to avoid a "may be used uninitialized" warning.
16977
16978         Fix doc typo.
16979         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
16980
16981 2008-05-19  Bruno Haible  <bruno@clisp.org>
16982
16983         * doc/glibc-functions/getpass.texi: Document limits of other
16984         implementations.
16985
16986 2008-05-19  Simon Josefsson  <simon@josefsson.org>
16987             Bruno Haible <bruno@clisp.org>
16988
16989         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
16990
16991 2008-05-18  Bruno Haible  <bruno@clisp.org>
16992
16993         * modules/propername: New file, from GNU gettext.
16994         * lib/propername.h: New file, from GNU gettext.
16995         * lib/propername.c: New file, from GNU gettext.
16996         * MODULES.html.sh (Internationalization functions): Add propername.
16997
16998 2008-05-16  Jim Meyering  <meyering@redhat.com>
16999             Bruno Haible  <bruno@clisp.org>
17000
17001         Avoid some warnings from "gcc -Wshadow".
17002         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
17003
17004 2008-05-15  Eric Blake  <ebb9@byu.net>
17005
17006         Extend previous patch to cygwin 1.7.0.
17007         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
17008         fast implementation in cygwin >= 1.7.0.
17009         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17010         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17011
17012 2008-05-15  Bruno Haible  <bruno@clisp.org>
17013
17014         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
17015         implementation in glibc >= 2.9.
17016         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
17017         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
17018
17019 2008-05-15  Bruno Haible  <bruno@clisp.org>
17020
17021         * MODULES.html.sh (Internationalization functions): Remove linebreak.
17022         (Unicode string functions): Add unilbrk/*.
17023         Reported by Karl Berry.
17024
17025 2008-05-15  Eric Blake  <ebb9@byu.net>
17026
17027         Fix violation of <stdbool.h> replacement in regex.
17028         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
17029         * lib/regexec.c (re_search_internal): Likewise.
17030         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
17031
17032 2008-05-15  Jim Meyering  <meyering@redhat.com>
17033
17034         avoid distracting test output when git or cvs is not found
17035         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
17036         * tests/test-vc-list-files-git.sh: Likewise.
17037
17038 2008-05-15  Eric Blake  <ebb9@byu.net>
17039
17040         Glibc finally accepted the memmem speedup code, bugzilla #5514.
17041         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
17042         glibc version.
17043         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
17044         * doc/posix-functions/strstr.texi (strstr): Likewise.
17045         * lib/str-two-way.h (MAX): Sychronize with glibc.
17046
17047 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
17048
17049         * lib/regcomp.c (optimize_utf8): Add a note on why we test
17050         opr.ctx_type.
17051         (calc_first): Initialize constraint field.
17052         (duplicate_node_closure): Use it instead of special casing ANCHORS.
17053         Fix grammar.
17054         (duplicate_node): Merge constraint field for all node types.
17055         (calc_eclosure_iter): Look at constraint field for all node types.
17056         * lib/regex_internal.c (create_cd_newstate): Don't look at
17057         opr.ctx_type.
17058
17059 2008-05-14  Bruno Haible  <bruno@clisp.org>
17060
17061         Help GCC to do better code generation.
17062         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
17063         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
17064         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
17065         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
17066         Declare with attribute 'malloc' if supported.
17067
17068 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
17069
17070         use "echo STR|wc -c" rather than unportable "expr length STR"
17071         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
17072         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
17073
17074 2008-05-14  Jim Meyering  <meyering@redhat.com>
17075
17076         use dd ibs=$n count=1 ... rather than less-portable head -c$n
17077         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
17078         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
17079         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
17080         via Collin Lasse.
17081
17082 2008-05-14  Eric Blake  <ebb9@byu.net>
17083
17084         Avoid quadratic growth in gl_LIBSOURCES.
17085         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
17086         Suggested by Bruno Haible.
17087
17088         Test xmemdup0.
17089         * modules/xmemdup0-tests: New file.
17090         * tests/test-xmemdup0.c: Likewise.
17091
17092 2008-05-13  Eric Blake  <ebb9@byu.net>
17093
17094         Split xmemdup0 into its own module.
17095         * modules/xmemdup0: New file.
17096         * lib/xmemdup0.h: Likewise.
17097         * lib/xmemdup0.c: Likewise.
17098         * MODULES.html.sh (Memory management functions): Add xmemdup0.
17099         * lib/xalloc.h (xmemdup0): Remove.
17100         * lib/xmalloc.c (xmemdup0): Likewise.
17101
17102 2008-05-13  Eric Blake  <ebb9@byu.net>
17103             Bruno Haible  <bruno@clisp.org>
17104
17105         Reduce number of forks required during autoconf.
17106         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
17107         and gl_LIBSOURCES_DIR.
17108         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
17109         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
17110         m4_syscmd per file.
17111         <m4_foreach_w>: Move...
17112         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
17113
17114 2008-05-13  Eric Blake  <ebb9@byu.net>
17115
17116         * gnulib-tool: Fix various comment typos.
17117
17118 2008-05-12  Bruno Haible  <bruno@clisp.org>
17119
17120         Tailor the linebreaking algorithm.
17121         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
17122
17123 2008-05-12  Bruno Haible  <bruno@clisp.org>
17124
17125         Update to Unicode 5.0.0.
17126         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
17127         LBP_JV, LBP_JT. Redistribute values.
17128         (unilbrk_table): Change size.
17129         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
17130         Unicode TR#14 rev. 22.
17131         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
17132         LBP_JV, LBP_JT. Redistribute values.
17133         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
17134         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
17135         Update.
17136         * lib/unilbrk/lbrkprop1.h: Regenerated.
17137         * lib/unilbrk/lbrkprop2.h: Regenerated.
17138         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
17139         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
17140         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
17141         Likewise.
17142         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
17143         Likewise.
17144         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
17145         result.
17146         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
17147         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
17148         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
17149         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
17150         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
17151         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
17152
17153 2008-05-11  Bruno Haible  <bruno@clisp.org>
17154
17155         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
17156
17157 2008-05-11  Bruno Haible  <bruno@clisp.org>
17158
17159         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
17160         * modules/unilbrk/gen-lbrk: New file.
17161
17162 2008-05-11  Bruno Haible  <bruno@clisp.org>
17163
17164         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
17165         * m4/sha512.m4 (gl_SHA512): Likewise.
17166
17167 2008-05-11  Jim Meyering  <meyering@redhat.com>
17168
17169         New modules: crypto/sha256, crypto/sha512 (from coreutils)
17170         * modules/crypto/sha256: New file.
17171         * modules/crypto/sha512: Likewise.
17172         * lib/sha256.c: Likewise.
17173         * lib/sha256.h: Likewise.
17174         * lib/sha512.c: Likewise.
17175         * lib/sha512.h: Likewise.
17176         * lib/u64.h: Likewise.
17177         * m4/sha256.m4: Likewise.
17178         * m4/sha512.m4: Likewise.
17179         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
17180
17181 2008-05-10  Bruno Haible  <bruno@clisp.org>
17182
17183         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
17184         (Input/Output <stdio.h>): Add xprintf.
17185         (Signal handling <signal.h>): Add strsignal.
17186         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
17187         (Core language properties): Add func.
17188         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
17189         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
17190         strings.
17191         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
17192         (Input/output): New section.
17193         (File system functions): Add openat-die, stat-macros.
17194         (Networking functions): Add sockets.
17195         (Unicode string functions): Add unictype/*.
17196         (Support for building libraries and executables): Add gperf.
17197         (Support for building documentation): Add agpl-3.0.
17198         (Misc): Add nocrash.
17199
17200 2008-05-10  Bruno Haible  <bruno@clisp.org>
17201
17202         * modules/unictype/gen-ctype: New file.
17203
17204 2008-05-10  Jim Meyering  <meyering@redhat.com>
17205
17206         Make chdir-safer.c more efficient on a system with no symlinks.
17207         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
17208         also if ELOOP is zero.  Suggested by Bruno Haible.
17209
17210         Make chdir-safer.c slightly safer.
17211         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
17212         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
17213
17214         Avoid compile failure on systems without ELOOP (like mingw).
17215         * lib/chdir-safer.c (ELOOP): Define if not already defined.
17216         Reported by Bruno Haible.
17217
17218 2008-05-10  Bruno Haible  <bruno@clisp.org>
17219
17220         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
17221         (is_utf8_encoding): Use a case-insensitive comparison.
17222         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
17223         streq.
17224
17225 2008-05-10  Bruno Haible  <bruno@clisp.org>
17226
17227         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
17228         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
17229         * lib/unilbrk/ulc-common.h (iconv_string_length,
17230         iconv_string_keeping_offsets): Remove declarations.
17231         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
17232         Don't include <iconv.h>, streq.h, xsize.h.
17233         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
17234         conversion.
17235         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
17236         <iconv.h>, streq.h, xsize.h.
17237         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
17238         conversion.
17239         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
17240         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
17241         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
17242         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
17243
17244 2008-05-10  Bruno Haible  <bruno@clisp.org>
17245
17246         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
17247         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
17248
17249         * modules/unilbrk/u32-width-linebreaks-tests: New file.
17250         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
17251
17252         * modules/unilbrk/u16-width-linebreaks-tests: New file.
17253         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
17254
17255         * modules/unilbrk/u8-width-linebreaks-tests: New file.
17256         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
17257
17258         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
17259         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
17260
17261         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
17262         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
17263
17264         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
17265         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
17266
17267         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
17268         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
17269
17270 2008-05-10  Bruno Haible  <bruno@clisp.org>
17271
17272         Split up 'linebreak' module.
17273         * lib/unilbrk.h: New file, based on lib/linebreak.h.
17274         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
17275         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
17276         modifications.
17277         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
17278         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
17279         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
17280         lib/linebreak.c.
17281         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
17282         lib/linebreak.c.
17283         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
17284         lib/linebreak.c.
17285         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
17286         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
17287         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
17288         lib/linebreak.c.
17289         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
17290         lib/linebreak.c.
17291         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
17292         lib/linebreak.c.
17293         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
17294         lib/linebreak.c.
17295         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
17296         lib/linebreak.c.
17297         * modules/unilbrk/base: New file.
17298         * modules/unilbrk/tables: New file.
17299         * modules/unilbrk/u8-possible-linebreaks: New file.
17300         * modules/unilbrk/u16-possible-linebreaks: New file.
17301         * modules/unilbrk/u32-possible-linebreaks: New file.
17302         * modules/unilbrk/ulc-common: New file.
17303         * modules/unilbrk/ulc-possible-linebreaks: New file.
17304         * modules/unilbrk/u8-width-linebreaks: New file.
17305         * modules/unilbrk/u16-width-linebreaks: New file.
17306         * modules/unilbrk/u32-width-linebreaks: New file.
17307         * modules/unilbrk/ulc-width-linebreaks: New file.
17308         * lib/linebreak.h: Remove file.
17309         * lib/linebreak.c: Remove file.
17310         * m4/linebreak.m4: Remove file.
17311         * modules/linebreak: Remove file.
17312         * NEWS: Mention the changes.
17313
17314 2008-05-09  Eric Blake  <ebb9@byu.net>
17315
17316         Add xmemdup0.
17317         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
17318         implementation.
17319         * lib/xmalloc.c (xmemdup0): New C implementation.
17320
17321 2008-05-08  Bruno Haible  <bruno@clisp.org>
17322
17323         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
17324
17325 2008-05-07  Eric Blake  <ebb9@byu.net>
17326
17327         Support cross-compilation of <wctype.h>.
17328         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
17329         AC_CACHE_CHECK.
17330
17331 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
17332
17333         * build-aux/vc-list-files: Add support for bzr.
17334
17335 2008-05-03  Jim Meyering  <meyering@redhat.com>
17336
17337         avoid failed assertion with tight malloc
17338         * tests/test-getndelim2.c: Correct an off-by-one assertion.
17339
17340 2008-05-03  Simon Josefsson  <simon@josefsson.org>
17341
17342         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
17343         are needed from arpa/inet.h.
17344         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
17345         Reported by Bruno Haible.
17346
17347 2008-05-02  Jim Meyering  <meyering@redhat.com>
17348
17349         avoid compilation error on FreeBSD 6
17350         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
17351
17352 2008-05-01  Jim Meyering  <meyering@redhat.com>
17353
17354         useless-if-before-free: correct --help's exit status description
17355         * build-aux/useless-if-before-free (usage): Like grep, exit 0
17356         for one or more matches, etc.  Reported by Bruno Haible.
17357
17358         vc-list-files: make the stand-alone gnulib test work
17359         * modules/vc-list-files-tests (configure.ac):
17360         Define and AC_SUBST abs_aux_dir.
17361         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
17362         $(abs_top_srcdir) to each script and having each of them
17363         duplicate the work of setting PATH, set PATH here, using
17364         the new variable, abs_aux_dir instead.
17365         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
17366         * tests/test-vc-list-files-git.sh: Likewise.
17367         Reported by Bruno Haible.
17368
17369 2008-05-01  Bruno Haible  <bruno@clisp.org>
17370
17371         * lib/getndelim2.c (getndelim2): Fix newsize computation during
17372         reallocation. Rename 'done' to 'found_delimiter'.
17373
17374 2008-05-01  Jim Meyering  <meyering@redhat.com>
17375
17376         vc-list-files: accommodate /bin/sh like the one from Solaris 10
17377         * build-aux/vc-list-files: Use `...`, not $(...).
17378
17379 2008-04-30  Jim Meyering  <meyering@redhat.com>
17380
17381         add tests for vc-list-files
17382         * modules/vc-list-files-tests: New module.
17383         * tests/test-vc-list-files-cvs.sh: New file.
17384         * tests/test-vc-list-files-git.sh: New file.
17385
17386         avoid a warning from gcc
17387         * lib/getndelim2.c (IF_LINT): Define.
17388         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
17389
17390         vc-list-files: work properly with build-aux/cvsu, too
17391         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
17392         to all cvs-based clauses.
17393
17394         vc-list-files: work properly in the CVS+awk case, too
17395         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
17396
17397         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
17398         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
17399         take more than one file argument, so .  Add quotes, just in case $dir
17400         ever contains a shell meta-character.  Prompted by Soren Hansen in
17401         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
17402
17403 2008-04-29  Eric Blake  <ebb9@byu.net>
17404
17405         Optimize getndelim2 to use block operations when possible.
17406         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
17407         freadseek, and memchr2.
17408         * lib/getndelim2.c (getndelim2): Use them for block reads.
17409
17410 2008-04-29  Bruno Haible  <bruno@clisp.org>
17411
17412         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
17413         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
17414         * modules/inet_ntop (Depends-on): Add extensions.
17415         * modules/inet_pton (Depends-on): Likewise.
17416         Reported by Simon Josefsson.
17417
17418 2008-04-29  Jim Meyering  <meyering@redhat.com>
17419
17420         When the is more than one match in a block, match all of them.
17421         * build-aux/useless-if-before-free: Iterate through each block
17422         until there are no more matches.
17423
17424         Fix broken useless-if-before-free script.
17425         * build-aux/useless-if-before-free: Fix typo: missing "?" after
17426         the expression to match cast of argument to free-like function.
17427
17428 2008-04-29  Eric Blake  <ebb9@byu.net>
17429
17430         Use new header.
17431         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
17432
17433 2008-04-29  Jim Meyering  <meyering@redhat.com>
17434
17435         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
17436         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
17437         by gnulib to exist and to declare e.g., inet_ntop.
17438         Don't include "inet_ntop.h", now removed.
17439
17440         * m4/arpa_inet_h.m4: Remove trailing blanks.
17441
17442 2008-04-29  Eric Blake  <ebb9@byu.net>
17443
17444         Silence valgrind on safe reads beyond potential array bounds.
17445         * lib/rawmemchr.valgrind: New file.
17446         * lib/strchrnul.valgrind: Likewise.
17447         * modules/rawmemchr (Files): Distribute new file.
17448         * modules/strchrnul (Files): Likewise.
17449         Suggested by Bruno Haible.
17450
17451 2008-04-29  Bruno Haible  <bruno@clisp.org>
17452
17453         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
17454         (inet_ntop, inet_pton): Change portability warning's wording.
17455         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
17456         Invoke gl_CHECK_NEXT_HEADERS.
17457         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
17458         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
17459         set ARPA_INET_H.
17460         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
17461         * modules/arpa_inet (Description): No longer only for systems that
17462         lack it.
17463         (Depends-on): Add include_next.
17464         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
17465         HAVE_ARPA_INET_H.
17466
17467 2008-04-29  Jim Meyering  <meyering@redhat.com>
17468
17469         * modules/mkdir (License): Re-license as LGPLv2+.
17470
17471 2008-04-29  Bruno Haible  <bruno@clisp.org>
17472
17473         * modules/rawmemchr (Maintainer): Set to Eric.
17474         * modules/strchrnul (Maintainer): Likewise.
17475
17476 2008-04-29  Simon Josefsson  <simon@josefsson.org>
17477
17478         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
17479         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
17480
17481         * modules/arpa_inet (arpa/inet.h): Use them.
17482
17483 2008-04-28  Eric Blake  <ebb9@byu.net>
17484
17485         Test getndelim2.
17486         * modules/getndelim2-tests: New file.
17487         * tests/test-getndelim2.c: Likewise.
17488         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
17489         stream.
17490         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
17491
17492         * MODULES.html.sh: Document new module.
17493
17494 2008-04-20  Bruno Haible  <bruno@clisp.org>
17495
17496         * lib/c-stack.c (die): Use raise.
17497         * modules/c-stack (Depends-on): Add raise.
17498
17499 2008-04-28  Bruno Haible  <bruno@clisp.org>
17500
17501         Expect rpmatch to be declared.
17502         * lib/yesno.c (rpmatch): Remove declaration.
17503
17504         Declare rpmatch.
17505         * lib/stdlib.in.h (rpmatch): New declaration.
17506         * lib/rpmatch.c: Include <stdlib.h> first.
17507         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
17508         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
17509         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
17510         HAVE_RPMATCH.
17511         * modules/rpmatch (Depends-on): Add stdlib, extensions.
17512         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
17513         (Include): Set to <stdlib.h>.
17514         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
17515         HAVE_RPMATCH.
17516         * NEWS: Document the change.
17517
17518 2008-04-28  Bruno Haible  <bruno@clisp.org>
17519
17520         Change rpmatch to use nl_langinfo when appropriate.
17521         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
17522         (N_): New macro.
17523         (localized_pattern): New function/macro.
17524         (try): Remove match, nomatch arguments. Copy the pattern into safe
17525         memory before caching it.
17526         (rpmatch): Use localized_pattern. Add translator comments.
17527         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
17528         Suggested by Eric Blake.
17529         * modules/rpmatch (Depends-on): Add stdbool.
17530
17531 2008-04-28  Eric Blake  <ebb9@byu.net>
17532
17533         Add rawmemchr module, matching glibc.
17534         * modules/string (Makefile.am): New indicator.
17535         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
17536         * lib/string.in.h (rawmemchr): Declare when appropriate.
17537         * modules/rawmemchr: New file.
17538         * m4/rawmemchr.m4: Likewise.
17539         * lib/rawmemchr.c: Likewise.
17540         * modules/rawmemchr-tests: Likewise.
17541         * tests/test-rawmemchr.c: Likewise.
17542         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
17543         module.
17544         * modules/strchrnul (Depends-on): Add rawmemchr.
17545         * lib/strchrnul.c (strchrnul): Optimize a corner case.
17546
17547         Whitespace cleanup.
17548         * tests/test-strchrnul.c: Reindent.
17549         * lib/strchrnul.c: Likewise.
17550
17551         Optimize and test strchrnul.
17552         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
17553         * modules/strchrnul-tests: New file.
17554         * tests/test-strchrnul.c: Likewise.
17555
17556         Remove intprops dependency.
17557         * modules/memchr (Depends-on): Remove intprops.
17558         * modules/memrchr (Depends-on): Likewise.
17559         * modules/memchr2 (Depends-on): Likewise.
17560         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
17561         * lib/memrchr.c (__memrchr): Likewise.
17562         * lib/memrchr2.c (memchr2): Likewise.
17563         Reported by Simon Josefsson.
17564
17565 2008-04-28  Simon Josefsson  <simon@josefsson.org>
17566
17567         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
17568         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17569
17570 2008-04-28  Simon Josefsson  <simon@josefsson.org>
17571
17572         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
17573
17574         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
17575
17576         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
17577
17578         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
17579         declarations.
17580         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
17581
17582         * m4/inet_pton.m4: Don't check for header files.
17583
17584         * m4/inet_ntop.m4: Don't check for header files.
17585
17586 2008-04-28  Simon Josefsson  <simon@josefsson.org>
17587
17588         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
17589         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
17590         trigger for cygwin).
17591         Reported by Bruno Haible  <bruno@clisp.org>.
17592
17593 2008-04-28  Bruno Haible  <bruno@clisp.org>
17594
17595         * doc/posix-functions/strdup.texi: Mention mingw problem.
17596
17597 2008-04-27  Bruno Haible  <bruno@clisp.org>
17598
17599         * modules/stat-time-tests (Depends-on): Add sleep.
17600         * tests/test-stat-time.c (force_unlink): New function.
17601         (cleanup): Use it.
17602         (test_mtime): Remove the ctime related tests.
17603         (test_ctime): New function, containing the ctime related tests.
17604         (main): Call test_ctime, except on native Windows platforms.
17605
17606 2008-04-27  Bruno Haible  <bruno@clisp.org>
17607
17608         * lib/rpmatch.c (rpmatch): Add some comments.
17609         Reported by James Youngman <jay@gnu.org>.
17610
17611 2008-04-27  Bruno Haible  <bruno@clisp.org>
17612
17613         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
17614         quiet NaNs.
17615
17616 2008-04-27  Bruno Haible  <bruno@clisp.org>
17617
17618         Make test-yesno.sh work on mingw.
17619         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
17620         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
17621         (main): Set stdin to binary mode.
17622         * modules/yesno-tests (Depends-on): Add binary-io.
17623
17624 2008-04-27  Bruno Haible  <bruno@clisp.org>
17625
17626         Fix 'isfinite' on x86, x86_64, ia64 platforms.
17627         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
17628         argument that lie outside the IEEE 854 domain.
17629         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
17630         (gl_ISFINITE): Use it.
17631         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
17632
17633 2008-04-27  Bruno Haible  <bruno@clisp.org>
17634
17635         Allow local renaming in config.h.
17636         * lib/memrchr.c (memrchr): Don't undefine outside libc.
17637
17638 2008-04-27  Bruno Haible  <bruno@clisp.org>
17639
17640         * lib/memchr.c (__memchr): Change type of 'i'.
17641         * lib/memchr2.c (memchr2): Likewise.
17642
17643 2008-04-26  Eric Blake  <ebb9@byu.net>
17644         and Bruno Haible  <bruno@clisp.org>
17645
17646         Optimize and test memrchr.
17647         * modules/memrchr (Depends-on): Add intprops.
17648         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
17649         * modules/memrchr-tests: New file.
17650         * tests/test-memrchr.c: New file.
17651
17652 2008-04-26  Bruno Haible  <bruno@clisp.org>
17653
17654         Add tentative support for DragonFly BSD.
17655         * lib/stdio-impl.h: Add macros for DragonFly BSD.
17656         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
17657         fp.
17658         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
17659         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
17660         * lib/fpurge.c (fpurge): Likewise.
17661         * lib/freadable.c (freaadable): Likewise.
17662         * lib/freadahead.c (freadahead): Likewise.
17663         * lib/freading.c (freading): Likewise.
17664         * lib/freadptr.c (freadptr): Likewise.
17665         * lib/freadseek.c (freadptrinc): Likewise.
17666         * lib/fseeko.c (fseeko): Likewise.
17667         * lib/fseterr.c (fseterr): Likewise.
17668         * lib/fwritable.c (fwritable): Likewise.
17669         * lib/fwriting.c (fwriting): Likewise.
17670
17671 2008-04-26  Bruno Haible  <bruno@clisp.org>
17672
17673         * lib/stdio-impl.h: New file.
17674         * lib/fbufmode.c: Include stdio-impl.h.
17675         (fbufmode): Use fp_, remove redundant #defines.
17676         * lib/fflush.c: Include stdio-impl.h.
17677         (clear_ungetc_buffer): Remove redundant #defines.
17678         * lib/fpurge.c: Include stdio-impl.h.
17679         (fpurge): Remove redundant #defines.
17680         * lib/freadable.c: Include stdio-impl.h.
17681         (freadable): Remove redundant #defines.
17682         * lib/freadahead.c: Include stdio-impl.h.
17683         (freadahead): Remove redundant #defines.
17684         * lib/freading.c: Include stdio-impl.h.
17685         (freading): Remove redundant #defines.
17686         * lib/freadptr.c: Include stdio-impl.h.
17687         (freadptr): Remove redundant #defines.
17688         * lib/freadseek.c: Include stdio-impl.h.
17689         (freadptrinc): Remove redundant #defines.
17690         * lib/fseeko.c: Include stdio-impl.h.
17691         (rpl_fseeko): Remove redundant #defines.
17692         * lib/fseterr.c: Include stdio-impl.h.
17693         (fseterr): Remove redundant #defines.
17694         * lib/fwritable.c: Include stdio-impl.h.
17695         (fwritable: Remove redundant #defines.
17696         * lib/fwriting.c: Include stdio-impl.h.
17697         (fwriting): Remove redundant #defines.
17698         * modules/fbufmode (Files): Add lib/stdio-impl.h.
17699         * modules/fflush (Files): Likewise.
17700         * modules/fpurge (Files): Likewise.
17701         * modules/freadable (Files): Likewise.
17702         * modules/freadahead (Files): Likewise.
17703         * modules/freading (Files): Likewise.
17704         * modules/freadptr (Files): Likewise.
17705         * modules/freadseek (Files): Likewise.
17706         * modules/fseeko (Files): Likewise.
17707         * modules/fseterr (Files): Likewise.
17708         * modules/fwritable (Files): Likewise.
17709         * modules/fwriting (Files): Likewise.
17710
17711 2008-04-26  Bruno Haible  <bruno@clisp.org>
17712
17713         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
17714         restore_seek_optimization, update_fpos_cache): New functions, extracted
17715         from rpl_fflush.
17716         (rpl_fflush): Use them.
17717         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
17718         (gl_REPLACE_FFLUSH): Use it.
17719
17720 2008-04-26  Bruno Haible  <bruno@clisp.org>
17721
17722         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
17723         on Solaris.
17724         * tests/test-xstrtoimax.sh: Likewise.
17725         * tests/test-xstrtoumax.sh: Likewise.
17726         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
17727
17728 2008-04-26  Bruno Haible  <bruno@clisp.org>
17729
17730         * modules/memchr-tests: New file.
17731         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
17732
17733 2008-04-26  Eric Blake  <ebb9@byu.net>
17734             Bruno Haible  <bruno@clisp.org>
17735
17736         * lib/memchr.c: Include intprops.h.
17737         (__memchr): Optimize parallel detection of matching bytes. Rename local
17738         variables. Add explanatory comments.
17739
17740 2008-04-26  Bruno Haible  <bruno@clisp.org>
17741
17742         Fix module 'memchr', broken since 2000-10-28.
17743         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
17744
17745 2008-04-26  Bruno Haible  <bruno@clisp.org>
17746
17747         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
17748         comments.
17749
17750 2008-04-25  Eric Blake  <ebb9@byu.net>
17751
17752         Use native fstatat on cygwin 1.7.0.
17753         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
17754         first.
17755
17756 2008-04-23  Eric Blake  <ebb9@byu.net>
17757
17758         Improve memchr2 performance.
17759         * lib/memchr2.c (memchr2): Further optimize parallel detection of
17760         NUL bytes.
17761         * modules/memchr2 (Depends-on): Use intprops.h.
17762
17763 2008-04-23  Simon Josefsson  <simon@josefsson.org>
17764
17765         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
17766         an inline function instead of a CPP macro.  Patch by Ben Pfaff
17767         <blp@cs.stanford.edu>.
17768
17769 2008-04-23  Simon Josefsson  <simon@josefsson.org>
17770
17771         * lib/arpa_inet.in.h: New file.
17772
17773         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
17774         (Makefile.am): Sed in substitute header file.
17775
17776         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
17777         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
17778
17779         * modules/inet_ntop (configure.ac): Use
17780         gl_ARPA_INET_MODULE_INDICATOR.
17781
17782         * modules/inet_pton (configure.ac): Use
17783         gl_ARPA_INET_MODULE_INDICATOR.
17784
17785 2008-04-22  Jim Meyering  <meyering@redhat.com>
17786
17787         * modules/verify (License): Re-license as LGPLv2+.
17788
17789 2008-04-22  Simon Josefsson  <simon@josefsson.org>
17790
17791         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
17792         parameter to void* as per POSIX standard (MinGW uses char*).
17793
17794 2008-04-21  Bruno Haible  <bruno@clisp.org>
17795
17796         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
17797         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
17798         Define to replacements if REPLACE_ISWCNTRL is 1.
17799         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
17800         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
17801         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
17802         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
17803         what it fixes.
17804         * doc/posix-functions/iswalpha.texi: Likewise.
17805         * doc/posix-functions/iswblank.texi: Likewise.
17806         * doc/posix-functions/iswcntrl.texi: Likewise.
17807         * doc/posix-functions/iswdigit.texi: Likewise.
17808         * doc/posix-functions/iswgraph.texi: Likewise.
17809         * doc/posix-functions/iswlower.texi: Likewise.
17810         * doc/posix-functions/iswprint.texi: Likewise.
17811         * doc/posix-functions/iswpunct.texi: Likewise.
17812         * doc/posix-functions/iswspace.texi: Likewise.
17813         * doc/posix-functions/iswupper.texi: Likewise.
17814         * doc/posix-functions/iswxdigit.texi: Likewise.
17815         Reported by Alain Guibert.
17816
17817 2008-04-21  Bruno Haible  <bruno@clisp.org>
17818
17819         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
17820         Patch by Alain Guibert.
17821
17822 2008-04-21  Bruno Haible  <bruno@clisp.org>
17823
17824         Fix test failures on mingw.
17825         * tests/test-xstrtol.c (print_no_progname): New function.
17826         (main): Install it in error_print_progname hook.
17827         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
17828         * tests/test-xstrtoimax.sh: Likewise.
17829         * tests/test-xstrtoumax.sh: Likewise.
17830
17831 2008-04-21  Bruno Haible  <bruno@clisp.org>
17832
17833         Fix test failure on mingw.
17834         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
17835
17836 2008-04-21  Bruno Haible  <bruno@clisp.org>
17837
17838         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
17839         Actually assign a value.
17840
17841 2008-04-20  Bruno Haible  <bruno@clisp.org>
17842
17843         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
17844         take 2.
17845         * lib/canonicalize.c (canonicalize_file_name): Elide if the
17846         'canonicalize-lgpl' module is also used.
17847         * lib/canonicalize-lgpl.c: Undo last change.
17848         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
17849
17850 2008-04-20  Bruno Haible  <bruno@clisp.org>
17851
17852         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
17853         config.h. Provide _mkdir based fallback for mingw.
17854         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
17855         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
17856         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
17857         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
17858         rather than defining mkdir in config.h.
17859         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
17860         (gl_SYS_STAT_H_DEFAULTS): New macro.
17861         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
17862         HAVE_IO_H any more.
17863         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
17864         HAVE_DECL_MKDIR and HAVE_IO_H.
17865
17866 2008-04-20  Bruno Haible  <bruno@clisp.org>
17867
17868         * lib/isapipe.c: Port to native Windows platforms.
17869
17870 2008-04-20  Bruno Haible  <bruno@clisp.org>
17871
17872         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
17873
17874 2008-04-21  Eric Blake  <ebb9@byu.net>
17875
17876         Work around preprocessors that don't handle UINTMAX_MAX.
17877         * lib/memchr2.c (memchr2): Avoid embedded #if.
17878         Reported by Alain Guibert, fix suggested by Bruno Haible.
17879
17880 2008-04-21  Simon Josefsson  <simon@josefsson.org>
17881
17882         * doc/posix-functions/strftime.texi (strftime): Explain better
17883         Windows incompatibility.  Suggested by Micah Cowan
17884         <micah@cowan.name>.
17885
17886 2008-04-20  Bruno Haible  <bruno@clisp.org>
17887
17888         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
17889         unistr/u8-mblen.
17890
17891 2008-04-20  Bruno Haible  <bruno@clisp.org>
17892
17893         Fix test failure on platforms with non-GNU iconv.
17894         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
17895         (U_TO_U8): Use it, rather than u16_to_u8.
17896         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
17897         units at the end of the input string.
17898         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
17899
17900 2008-04-20  Bruno Haible  <bruno@clisp.org>
17901
17902         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
17903         when the resulting length is 0.
17904         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
17905
17906 2008-04-20  Bruno Haible  <bruno@clisp.org>
17907
17908         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
17909         works.
17910         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
17911
17912 2008-04-20  Bruno Haible  <bruno@clisp.org>
17913
17914         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
17915         * modules/tsearch-tests (configure.ac): Test for initstate function.
17916
17917 2008-04-20  Bruno Haible  <bruno@clisp.org>
17918
17919         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
17920         for nlink_t if missing.
17921         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
17922
17923 2008-04-19  Bruno Haible  <bruno@clisp.org>
17924
17925         Work around snprintf bug on Linux libc5.
17926         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
17927         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
17928         gl_SNPRINTF_SIZE1.
17929         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
17930         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
17931         that test failed.
17932         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
17933         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
17934         * modules/snprintf (Files): Add m4/printf.m4.
17935         * modules/vsnprintf (Files): Likewise.
17936         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
17937         * doc/posix-functions/vsnprintf.texi: Likewise.
17938
17939 2008-04-19  Bruno Haible  <bruno@clisp.org>
17940
17941         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
17942         from 0.0058 to less than 10^-7.
17943
17944 2008-04-19  Bruno Haible  <bruno@clisp.org>
17945
17946         Fix rounding when a precision is given.
17947         * lib/vasnprintf.c (is_borderline): New function.
17948         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
17949         9...9x.
17950         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
17951         %e, %g.
17952         * tests/test-vasprintf-posix.c (test_function): Likewise.
17953         * tests/test-snprintf-posix.h (test_function): Likewise.
17954         * tests/test-sprintf-posix.h (test_function): Likewise.
17955         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
17956         * tests/test-printf-posix.h (test_function): Likewise.
17957         * tests/test-printf-posix.output: Update.
17958         Reported by John Darrington <john@darrington.wattle.id.au> via
17959         Ben Pfaff <blp@cs.stanford.edu>.
17960
17961 2008-04-18  Simon Josefsson  <simon@josefsson.org>
17962
17963         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
17964         Suggested by Bruno Haible <bruno@clisp.org>.
17965
17966 2008-04-17  Bruno Haible  <bruno@clisp.org>
17967
17968         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
17969         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
17970         implementation.
17971         Patch by Bruce Merry <bmerry@gmail.com>.
17972
17973 2008-04-17  Simon Josefsson  <simon@josefsson.org>
17974
17975         * doc/posix-functions/strftime.texi (strftime): Mention that %e
17976         doesn't work under Windows.
17977
17978 2008-04-16  Bruno Haible  <bruno@clisp.org>
17979
17980         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
17981         New macros.
17982         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
17983         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
17984         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
17985         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
17986         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
17987         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
17988         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
17989         macros.
17990         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
17991         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
17992         Northern Sotho, Uighur.
17993
17994 2008-04-16  Bruno Haible  <bruno@clisp.org>
17995
17996         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
17997         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
17998         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
17999         Reported by Daniel Bergström <daniel@octocode.com>.
18000
18001 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
18002             Bruno Haible  <bruno@clisp.org>
18003
18004         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
18005         function.
18006         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
18007         New functions, mostly extracted from gl_locale_name_default.
18008         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
18009
18010 2008-04-16  Eric Blake  <ebb9@byu.net>
18011
18012         Adjust strtod detection to catch glibc 2.7 bug.
18013         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
18014         Reported by John Gatewood Ham.
18015
18016 2008-04-16  Bruno Haible  <bruno@clisp.org>
18017
18018         Add tentative support for Linux libc5.
18019         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
18020         * lib/fpurge.c (fpurge): Likewise.
18021         * lib/freadable.c (freadable): Likewise.
18022         * lib/freadahead.c (freadahead): Likewise.
18023         * lib/freading.c (freading): Likewise.
18024         * lib/freadptr.c (freadptr): Likewise.
18025         * lib/freadseek.c (freadptrinc): Likewise.
18026         * lib/fseeko.c (rpl_fseeko): Likewise.
18027         * lib/fseterr.c (fseterr): Likewise.
18028         * lib/fwritable.c (fwritable): Likewise.
18029         * lib/fwriting.c (fwriting): Likewise.
18030         Reported by Alain Guibert <alguibert+bts@free.fr>.
18031
18032 2008-04-15  Bruno Haible  <bruno@clisp.org>
18033
18034         * modules/mathl (configure.ac): Define module indicator.
18035
18036 2008-04-15  Bruno Haible  <bruno@clisp.org>
18037
18038         * lib/logl.c (logl): Remove unused variables.
18039
18040 2008-04-15  Bruno Haible  <bruno@clisp.org>
18041
18042         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
18043         fails.
18044
18045 2008-04-15  Bruno Haible  <bruno@clisp.org>
18046
18047         * lib/trim.c (trim2): Fix argument of isspace() macro.
18048
18049 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
18050
18051         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
18052         to 0.
18053         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
18054
18055 2008-04-14  Bruno Haible  <bruno@clisp.org>
18056
18057         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
18058         AC_LANG_PROGRAM argument.
18059         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
18060         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
18061         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
18062         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
18063         * m4/math_h.m4 (gl_MATH_H): Likewise.
18064         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
18065         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
18066         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
18067         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
18068         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
18069         * m4/regex.m4 (gl_REGEX): Likewise.
18070         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
18071         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
18072         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
18073         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
18074         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
18075         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
18076         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
18077         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
18078
18079 2008-04-14  Jim Meyering  <meyering@redhat.com>
18080
18081         test-strtod: fix typos: s/abs/fabs/
18082         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
18083
18084 2008-04-13  Bruno Haible  <bruno@clisp.org>
18085
18086         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
18087         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
18088         module is also used and while not building the reloc-wrapper.
18089
18090 2008-04-13  Bruno Haible  <bruno@clisp.org>
18091
18092         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
18093
18094 2008-04-13  Bruno Haible  <bruno@clisp.org>
18095
18096         Fix AIX compilation failure introduced on 2008-04-02.
18097         * tests/test-frexp.c (exp): Undefine before redefining.
18098         * tests/test-frexpl.c (exp): Likewise.
18099
18100 2008-04-13  Bruno Haible  <bruno@clisp.org>
18101
18102         Work around a HP-UX stdio bug.
18103         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
18104         * tests/test-ftello.c (main): Likewise.
18105         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
18106         * doc/posix-functions/ftello.texi: Likewise.
18107
18108 2008-04-13  Bruno Haible  <bruno@clisp.org>
18109
18110         Make test-signbit pass on HP-UX/hppa.
18111         * tests/test-signbit.c (minus_zerol): New variable.
18112         (test_signbitl): Use it.
18113
18114 2008-04-13  Bruno Haible  <bruno@clisp.org>
18115
18116         Make truncl work on OSF/1 4.0.
18117         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
18118         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
18119         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
18120         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
18121         HAVE_DECL_TRUNCL.
18122         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
18123         HAVE_DECL_TRUNCL.
18124         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
18125
18126 2008-04-13  Bruno Haible  <bruno@clisp.org>
18127
18128         * lib/unictype.h: Remove trailing comma from enumeration definitions.
18129
18130 2008-04-13  Bruno Haible  <bruno@clisp.org>
18131
18132         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
18133         expression, so as to avoid HP-UX 11 cc compiler bug.
18134
18135 2008-04-13  Bruno Haible  <bruno@clisp.org>
18136
18137         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
18138
18139 2008-04-13  Bruno Haible  <bruno@clisp.org>
18140
18141         * lib/git-merge-changelog.c: Remove empty declaration outside of
18142         functions.
18143
18144 2008-04-13  Bruno Haible  <bruno@clisp.org>
18145
18146         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
18147
18148 2008-04-13  Bruno Haible  <bruno@clisp.org>
18149
18150         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
18151         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
18152         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
18153         also if it exists but lacks definitions of the SHUT_* macros.
18154         * modules/sys_socket (Description): Update.
18155         Reported by Elbert Pol <e.pol@chello.nl>.
18156
18157 2008-04-13  Bruno Haible  <bruno@clisp.org>
18158
18159         * lib/localcharset.c (OS2): Don't redefine if already defined.
18160         Reported by Elbert Pol <e.pol@chello.nl>.
18161
18162 2008-04-13  Bruno Haible  <bruno@clisp.org>
18163
18164         * lib/binary-io.h [__EMX__]: Include <io.h>.
18165         Reported by Elbert Pol <e.pol@chello.nl>.
18166
18167 2008-04-12  Bruno Haible  <bruno@clisp.org>
18168
18169         * lib/fpucw.h: Enable the definitions also for x86_64.
18170         Needed for NetBSD/x86_64.
18171         Reported by Thomas Klausner <tk@giga.or.at>.
18172
18173 2008-04-12  Bruno Haible  <bruno@clisp.org>
18174
18175         * tests/test-strtod.c: Include isnand.h.
18176         (main): Use isnand instead of isnan.
18177         Reported by Jim Meyering.
18178
18179 2008-04-12  Bruno Haible  <bruno@clisp.org>
18180
18181         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
18182         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
18183
18184 2008-04-12  Jim Meyering  <meyering@redhat.com>
18185
18186         * m4/math_h.m4 (gl_MATH_H): Fix typos.
18187
18188 2008-04-12  Bruno Haible  <bruno@clisp.org>
18189
18190         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
18191         Reported by Elbert Pol <e.pol@chello.nl>.
18192
18193 2008-04-12  Eric Blake  <ebb9@byu.net>
18194
18195         Work around Solaris 10 math.h bug.
18196         * m4/math_h.m4 (gl_MATH_H): Check for bug.
18197         (gl_MATH_H_DEFAULTS): Set up default.
18198         * modules/math (Makefile.am): Replace new indicators.
18199         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
18200         * tests/test-math.c (main): Test this.
18201         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
18202         * doc/posix-headers/math.texi (math.h): Mention bug.
18203         Reported by Nelson H. F. Beebe and Jim Meyering.
18204
18205 2008-04-11  Bruno Haible  <bruno@clisp.org>
18206
18207         Adapt to future versions of Apple GCC.
18208         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
18209         Reported by Peter O'Gorman <peter@pogma.com>.
18210
18211 2008-04-11  Bruno Haible  <bruno@clisp.org>
18212
18213         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
18214
18215 2008-04-11  Bruno Haible  <bruno@clisp.org>
18216
18217         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
18218
18219         * modules/getaddrinfo-tests (Makefile.am): Define
18220         test_getaddrinfo_LDADD.
18221
18222 2008-04-11  Bruno Haible  <bruno@clisp.org>
18223
18224         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
18225         (init): Fix syntax error.
18226         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
18227         is declared.
18228
18229 2008-04-11  Bruno Haible  <bruno@clisp.org>
18230
18231         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
18232         * modules/glob (Depends-on): Add stdbool.
18233
18234 2008-04-11  Bruno Haible  <bruno@clisp.org>
18235
18236         * lib/trim.c: Include <string.h>.
18237
18238 2008-04-11  Eric Blake  <ebb9@byu.net>
18239
18240         Avoid compile failure on OS/2.
18241         * lib/regex_internal.h (internal_function): Disable optimization
18242         on OS/2 (__EMX__), where it caused compiler error.
18243         Reported by Elbert Pol.
18244
18245 2008-04-11  Bruno Haible  <bruno@clisp.org>
18246
18247         Flush the standard error stream before aborting. Needed on mingw.
18248         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
18249         * tests/test-array_list.c (ASSERT): Likewise.
18250         * tests/test-array_oset.c (ASSERT): Likewise.
18251         * tests/test-avltree_list.c (ASSERT): Likewise.
18252         * tests/test-avltree_oset.c (ASSERT): Likewise.
18253         * tests/test-avltreehash_list.c (ASSERT): Likewise.
18254         * tests/test-binary-io.c (ASSERT): Likewise.
18255         * tests/test-byteswap.c (ASSERT): Likewise.
18256         * tests/test-c-ctype.c (ASSERT): Likewise.
18257         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
18258         * tests/test-c-strcasestr.c (ASSERT): Likewise.
18259         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
18260         * tests/test-c-strstr.c (ASSERT): Likewise.
18261         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
18262         * tests/test-canonicalize.c (ASSERT): Likewise.
18263         * tests/test-carray_list.c (ASSERT): Likewise.
18264         * tests/test-ceilf1.c (ASSERT): Likewise.
18265         * tests/test-ceilf2.c (ASSERT): Likewise.
18266         * tests/test-ceill.c (ASSERT): Likewise.
18267         * tests/test-count-one-bits.c (ASSERT): Likewise.
18268         * tests/test-fbufmode.c (ASSERT): Likewise.
18269         * tests/test-fflush2.c (ASSERT): Likewise.
18270         * tests/test-floorf1.c (ASSERT): Likewise.
18271         * tests/test-floorf2.c (ASSERT): Likewise.
18272         * tests/test-floorl.c (ASSERT): Likewise.
18273         * tests/test-fopen.c (ASSERT): Likewise.
18274         * tests/test-fpending.c (ASSERT): Likewise.
18275         * tests/test-fprintf-posix.c (ASSERT): Likewise.
18276         * tests/test-fpurge.c (ASSERT): Likewise.
18277         * tests/test-freadable.c (ASSERT): Likewise.
18278         * tests/test-freadahead.c (ASSERT): Likewise.
18279         * tests/test-freading.c (ASSERT): Likewise.
18280         * tests/test-freadptr.c (ASSERT): Likewise.
18281         * tests/test-freadptr2.c (ASSERT): Likewise.
18282         * tests/test-freadseek.c (ASSERT): Likewise.
18283         * tests/test-freopen.c (ASSERT): Likewise.
18284         * tests/test-frexp.c (ASSERT): Likewise.
18285         * tests/test-frexpl.c (ASSERT): Likewise.
18286         * tests/test-fseek.c (ASSERT): Likewise.
18287         * tests/test-fseeko.c (ASSERT): Likewise.
18288         * tests/test-fstrcmp.c (ASSERT): Likewise.
18289         * tests/test-ftell.c (ASSERT): Likewise.
18290         * tests/test-ftello.c (ASSERT): Likewise.
18291         * tests/test-func.c (ASSERT): Likewise.
18292         * tests/test-fwritable.c (ASSERT): Likewise.
18293         * tests/test-fwriting.c (ASSERT): Likewise.
18294         * tests/test-getdelim.c (ASSERT): Likewise.
18295         * tests/test-getline.c (ASSERT): Likewise.
18296         * tests/test-i-ring.c (ASSERT): Likewise.
18297         * tests/test-iconv-utf.c (ASSERT): Likewise.
18298         * tests/test-iconv.c (ASSERT): Likewise.
18299         * tests/test-isfinite.c (ASSERT): Likewise.
18300         * tests/test-isnand.c (ASSERT): Likewise.
18301         * tests/test-isnanf.c (ASSERT): Likewise.
18302         * tests/test-isnanl.h (ASSERT): Likewise.
18303         * tests/test-ldexpl.c (ASSERT): Likewise.
18304         * tests/test-linked_list.c (ASSERT): Likewise.
18305         * tests/test-linkedhash_list.c (ASSERT): Likewise.
18306         * tests/test-localename.c (ASSERT): Likewise.
18307         * tests/test-lseek.c (ASSERT): Likewise.
18308         * tests/test-mbscasecmp.c (ASSERT): Likewise.
18309         * tests/test-mbscasestr1.c (ASSERT): Likewise.
18310         * tests/test-mbscasestr2.c (ASSERT): Likewise.
18311         * tests/test-mbscasestr3.c (ASSERT): Likewise.
18312         * tests/test-mbscasestr4.c (ASSERT): Likewise.
18313         * tests/test-mbschr.c (ASSERT): Likewise.
18314         * tests/test-mbscspn.c (ASSERT): Likewise.
18315         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
18316         * tests/test-mbspbrk.c (ASSERT): Likewise.
18317         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
18318         * tests/test-mbsrchr.c (ASSERT): Likewise.
18319         * tests/test-mbsspn.c (ASSERT): Likewise.
18320         * tests/test-mbsstr1.c (ASSERT): Likewise.
18321         * tests/test-mbsstr2.c (ASSERT): Likewise.
18322         * tests/test-mbsstr3.c (ASSERT): Likewise.
18323         * tests/test-memchr2.c (ASSERT): Likewise.
18324         * tests/test-memmem.c (ASSERT): Likewise.
18325         * tests/test-open.c (ASSERT): Likewise.
18326         * tests/test-printf-frexp.c (ASSERT): Likewise.
18327         * tests/test-printf-frexpl.c (ASSERT): Likewise.
18328         * tests/test-printf-posix.c (ASSERT): Likewise.
18329         * tests/test-quotearg.c (ASSERT): Likewise.
18330         * tests/test-rbtree_list.c (ASSERT): Likewise.
18331         * tests/test-rbtree_oset.c (ASSERT): Likewise.
18332         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
18333         * tests/test-round1.c (ASSERT): Likewise.
18334         * tests/test-roundf1.c (ASSERT): Likewise.
18335         * tests/test-roundl.c (ASSERT): Likewise.
18336         * tests/test-signbit.c (ASSERT): Likewise.
18337         * tests/test-sleep.c (ASSERT): Likewise.
18338         * tests/test-snprintf-posix.c (ASSERT): Likewise.
18339         * tests/test-snprintf.c (ASSERT): Likewise.
18340         * tests/test-sprintf-posix.c (ASSERT): Likewise.
18341         * tests/test-stat-time.c (ASSERT): Likewise.
18342         * tests/test-strcasestr.c (ASSERT): Likewise.
18343         * tests/test-strerror.c (ASSERT): Likewise.
18344         * tests/test-striconv.c (ASSERT): Likewise.
18345         * tests/test-striconveh.c (ASSERT): Likewise.
18346         * tests/test-striconveha.c (ASSERT): Likewise.
18347         * tests/test-strsignal.c (ASSERT): Likewise.
18348         * tests/test-strstr.c (ASSERT): Likewise.
18349         * tests/test-strtod.c (ASSERT): Likewise.
18350         * tests/test-trunc1.c (ASSERT): Likewise.
18351         * tests/test-trunc2.c (ASSERT): Likewise.
18352         * tests/test-truncf1.c (ASSERT): Likewise.
18353         * tests/test-truncf2.c (ASSERT): Likewise.
18354         * tests/test-truncl.c (ASSERT): Likewise.
18355         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
18356         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
18357         * tests/test-vasnprintf.c (ASSERT): Likewise.
18358         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
18359         * tests/test-vasprintf.c (ASSERT): Likewise.
18360         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
18361         * tests/test-vprintf-posix.c (ASSERT): Likewise.
18362         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
18363         * tests/test-vsnprintf.c (ASSERT): Likewise.
18364         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
18365         * tests/test-wcwidth.c (ASSERT): Likewise.
18366         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
18367         * tests/test-xprintf-posix.c (ASSERT): Likewise.
18368         * tests/test-xvasprintf.c (ASSERT): Likewise.
18369         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
18370         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
18371         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
18372         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
18373         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
18374         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
18375         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
18376         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
18377         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
18378         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
18379         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
18380         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
18381         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
18382         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
18383         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
18384         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
18385         * tests/unictype/test-block_list.c (ASSERT): Likewise.
18386         * tests/unictype/test-block_of.c (ASSERT): Likewise.
18387         * tests/unictype/test-block_test.c (ASSERT): Likewise.
18388         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
18389         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
18390         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
18391         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
18392         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
18393         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
18394         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
18395         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
18396         * tests/unictype/test-combining.c (ASSERT): Likewise.
18397         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
18398         * tests/unictype/test-digit.c (ASSERT): Likewise.
18399         * tests/unictype/test-mirror.c (ASSERT): Likewise.
18400         * tests/unictype/test-numeric.c (ASSERT): Likewise.
18401         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
18402         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
18403         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
18404         * tests/unictype/test-scripts.c (ASSERT): Likewise.
18405         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
18406         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
18407         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
18408         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
18409         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
18410         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
18411         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
18412         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
18413         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
18414         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
18415         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
18416         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
18417         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
18418         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
18419         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
18420         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
18421         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
18422         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
18423         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
18424         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
18425         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
18426         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
18427         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
18428         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
18429         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
18430         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
18431         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
18432         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
18433         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
18434         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
18435         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
18436         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
18437         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
18438         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
18439         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
18440         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
18441         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
18442         Reported by Eric Blake.
18443
18444 2008-04-11  Bruno Haible  <bruno@clisp.org>
18445
18446         * lib/wchar.in.h: Tweak comment.
18447
18448 2008-04-11  Bruno Haible  <bruno@clisp.org>
18449
18450         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
18451         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
18452         gl_COMMON.
18453         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
18454
18455 2008-04-11  Bruno Haible  <bruno@clisp.org>
18456
18457         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
18458
18459 2008-04-11  Simon Josefsson  <simon@josefsson.org>
18460
18461         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
18462         of attempting to use non-existing /dev/*random.  Based on patch
18463         from Adam Strzelecki <ono@java.pl> in
18464         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
18465
18466 2008-04-08  Bruno Haible  <bruno@clisp.org>
18467
18468         Add tentative support for emx+gcc.
18469         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
18470         * lib/fpurge.c (fpurge): Likewise.
18471         * lib/freadable.c (freadable): Likewise.
18472         * lib/freadahead.c (freadahead): Likewise.
18473         * lib/freading.c (freading): Likewise.
18474         * lib/freadptr.c (freadptr): Likewise.
18475         * lib/freadseek.c (freadptrinc): Likewise.
18476         * lib/fseeko.c (rpl_fseeko): Likewise.
18477         * lib/fseterr.c (fseterr): Likewise.
18478         * lib/fwritable.c (fwritable): Likewise.
18479         * lib/fwriting.c (fwriting): Likewise.
18480         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
18481
18482 2008-04-09  Eric Blake  <ebb9@byu.net>
18483
18484         Avoid some autoconf warnings.
18485         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
18486         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
18487         * m4/afs.m4 (gl_AFS): Likewise.
18488         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
18489         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
18490         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
18491         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
18492         (gl_INTEGER_TYPE_SUFFIX): Likewise.
18493         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
18494         (AC_CHECK_DECLS_ONCE): Likewise.
18495         Rename file...
18496         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
18497         gnulib-tool requires autoconf 2.59 or better.
18498         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
18499
18500 2008-04-08  Eric Blake  <ebb9@byu.net>
18501
18502         Use 'git describe --match' if present (added in git 1.5.5).
18503         * build-aux/git-version-gen: Limit result to tags that match 'v*'
18504         if possible.
18505
18506 2008-04-08  Bruno Haible  <bruno@clisp.org>
18507
18508         Add tentative support for OpenServer.
18509         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
18510         _ptr, _cnt.
18511         * lib/fpurge.c (fpurge): Likewise.
18512         * lib/freadable.c (freadable): Likewise.
18513         * lib/freadahead.c (freadahead): Likewise.
18514         * lib/freading.c (freading): Likewise.
18515         * lib/freadptr.c (freadptr): Likewise.
18516         * lib/freadseek.c (freadptrinc): Likewise.
18517         * lib/fseeko.c (rpl_fseeko): Likewise.
18518         * lib/fseterr.c (fseterr): Likewise.
18519         * lib/fwritable.c (fwritable): Likewise.
18520         * lib/fwriting.c (fwriting): Likewise.
18521         Reported by Roger Cornelius <rac@tenzing.org> and
18522         Brian K. White <brian@aljex.com>.
18523
18524 2008-04-06  Jim Meyering  <meyering@redhat.com>
18525
18526         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
18527
18528 2008-04-06  Bruno Haible  <bruno@clisp.org>
18529
18530         Avoid possible error with non-ASCII bytes in UTF-8 locales.
18531         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
18532         * tests/test-printf-posix.sh: Likewise.
18533         * tests/test-vfprintf-posix.sh: Likewise.
18534         * tests/test-vprintf-posix.sh: Likewise.
18535         * tests/test-xprintf-posix.sh: Likewise.
18536
18537 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
18538
18539         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
18540         hide error from 'ls', needed on OS/2.
18541         Report by Elbert Pol <elbert.pol@gmail.com>.
18542
18543 2008-04-04  Eric Blake  <ebb9@byu.net>
18544
18545         Make test-fseeko.c failures meaningful.
18546         * tests/test-fseeko.c: Print line number on failure.
18547         * tests/test-fseek.c: Likewise.
18548         Reported by Nelson H. F. Beebe.
18549
18550         Improve strtod bug detection check.
18551         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
18552         required for Solaris 10.
18553         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
18554
18555 2008-04-04  Bruno Haible  <bruno@clisp.org>
18556
18557         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
18558         by m4/setenv.m4.
18559
18560 2008-04-03  Eric Blake  <ebb9@byu.net>
18561
18562         Ensure sane .version contents.
18563         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
18564         version string.
18565         * build-aux/git-version-gen: Improve documentation.
18566
18567         Make GNU make output nicer.
18568         * top/GNUmakefile [!_have-Makefile]: Add dependency on
18569         MAKECMDGOALS to enforce message for all command line targets.  Set
18570         srcdir for use in maint.mk.
18571
18572         Another maintainer tweak.
18573         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
18574         a target that regenerates version.
18575
18576 2008-04-03  Jim Meyering  <meyering@redhat.com>
18577
18578         vc-list-files: don't cause coreutils "make po-check" failure
18579         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
18580
18581 2008-04-03  Eric Blake  <ebb9@byu.net>
18582
18583         Allow VPATH usage of vc-list-files.
18584         * build-aux/vc-list-files (scriptversion): Add timestamp.
18585         (options): Add --help, --version, -C.
18586         (CVS): Support installed cvsu.
18587
18588 2008-04-02  Bruno Haible  <bruno@clisp.org>
18589
18590         Avoid some "statement with no effect" warnings from gcc.
18591         * tests/test-wctype.c (main): Explicitly ignore unused values.
18592         Reported by Jim Meyering.
18593
18594 2008-04-02  Jim Meyering  <meyering@redhat.com>
18595
18596         Avoid some warnings from "gcc -Wshadow".
18597         * tests/test-frexp.c (exp): Define to a different identifier.
18598         * tests/test-frexpl.c (exp): Likewise.
18599
18600 2008-04-03  Jim Meyering  <meyering@redhat.com>
18601
18602         bootstrap: remove dangling *.[ch] symlinks from lib
18603         * build-aux/bootstrap [dangling symlink removal]: Move find's
18604         -depth option to precede all others, to avoid a warning.
18605         Remove *.[ch] files too, and from "$source_base" (usually lib/).
18606
18607 2008-04-02  Bruno Haible  <bruno@clisp.org>
18608
18609         Avoid some warnings from "gcc -Wshadow".
18610         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
18611         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
18612         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
18613         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
18614         Reported by Jim Meyering.
18615
18616 2008-04-01  Bruno Haible  <bruno@clisp.org>
18617
18618         Fix test to work on IRIX 6.5 with cc.
18619         * tests/test-math.c (numeric_equal): New function.
18620         (main): Use it.
18621
18622 2008-04-01  Bruno Haible  <bruno@clisp.org>
18623
18624         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
18625
18626 2008-04-01  Bruno Haible  <bruno@clisp.org>
18627
18628         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
18629         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
18630         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
18631         (Depends-on): Remove math.
18632
18633         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
18634         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
18635         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
18636         (Depends-on): Remove math.
18637
18638         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
18639         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
18640         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
18641         (Depends-on): Remove math.
18642         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
18643         (Depends-on): Remove math.
18644
18645         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
18646         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
18647         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
18648         (Depends-on): Remove math.
18649         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
18650         (Depends-on): Remove math.
18651
18652         * tests/test-round1.c: Include nan.h.
18653         (main): Use NaNd instead of NAN.
18654         * modules/round-tests (Files): Add tests/nan.h.
18655
18656         * tests/test-trunc1.c: Include nan.h.
18657         (main): Use NaNd instead of NAN.
18658         * modules/trunc-tests (Files): Add tests/nan.h.
18659
18660         * tests/test-roundf1.c: Include nan.h.
18661         (main): Use NaNf instead of NAN.
18662         * modules/roundf-tests (Files): Add tests/nan.h.
18663
18664         * tests/test-truncf1.c: Include nan.h.
18665         (main): Use NaNf instead of NAN.
18666         * modules/truncf-tests (Files): Add tests/nan.h.
18667
18668         * tests/test-ceilf1.c: Include nan.h.
18669         (main): Use NaNf instead of NAN.
18670         * modules/ceilf-tests (Files): Add tests/nan.h.
18671
18672         * tests/test-floorf1.c: Include nan.h.
18673         (main): Use NaNf instead of NAN.
18674         * modules/floorf-tests (Files): Add tests/nan.h.
18675
18676         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
18677         (main): Use NaNf instead of NAN.
18678         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
18679
18680         * tests/test-isnand.c: Include nan.h instead of <math.h>.
18681         (main): Use NaNd instead of NAN.
18682         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
18683
18684         * tests/test-frexp.c: Include nan.h.
18685         (main): Use NaNd instead of NAN.
18686         * modules/frexp-tests (Files): Add tests/nan.h.
18687
18688         * lib/isnan.c: Don't include <math.h>.
18689         (FUNC): Don't use NAN macro.
18690         * modules/isnand-nolibm (Depends-on): Remove math.
18691         * modules/isnanf-nolibm (Depends-on): Remove math.
18692         * modules/isnanl (Depends-on): Remove math.
18693         * modules/isnanl-nolibm (Depends-on): Remove math.
18694
18695         * tests/nan.h: New file.
18696
18697 2008-04-01  Eric Blake  <ebb9@byu.net>
18698
18699         Fix typos.
18700         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
18701         values to be the right type.
18702
18703         For now, cater to gnulib strtod inaccuracies.
18704         * tests/test-strtod.c (main): Allow 1-ulp error on expected
18705         fractional results.  While not as nice from a QoI perspective, it
18706         is a quicker patch than correctly implementing decimal to binary
18707         rounding.
18708
18709 2008-03-31  Eric Blake  <ebb9@byu.net>
18710
18711         Guarantee a definition of NAN.
18712         * lib/math.in.h (NAN): Define if missing.
18713         * tests/test-math.c (main): Test it.
18714         * doc/posix-headers/math.texi (math.h): Document this.
18715         * lib/isnan.c (rpl_isnand): Use it.
18716         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
18717         * tests/test-floorf1.c (NaN): Likewise.
18718         * tests/test-frexp.c (NaN): Likewise.
18719         * tests/test-isnand.c (NaN): Likewise.
18720         * tests/test-isnanf.c (NaN): Likewise.
18721         * tests/test-round1.c (NaN): Likewise.
18722         * tests/test-roundf1.c (NaN): Likewise.
18723         * tests/test-snprintf-posix.h (NaN): Likewise.
18724         * tests/test-sprintf-posix.h (NaN): Likewise.
18725         * tests/test-trunc1.c (NaN): Likewise.
18726         * tests/test-truncf1.c (NaN): Likewise.
18727         * tests/test-vasnprintf-posix.c (NaN): Likewise.
18728         * tests/test-vasprintf-posix.c (NaN): Likewise.
18729         * modules/isnand-nolibm (Depends-on): Add math.
18730         * modules/isnanf-nolibm (Depends-on): Likewise.
18731         * modules/isnanl (Depends-on): Likewise.
18732         * modules/isnanl-nolibm (Depends-on): Likewise.
18733         * modules/snprintf-posix-tests (Depends-on): Likewise.
18734         * modules/sprintf-posix-tests (Depends-on): Likewise.
18735         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
18736         * modules/vsprintf-posix-tests (Depends-on): Likewise.
18737         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
18738         * modules/vasprintf-posix-tests (Depends-on): Likewise.
18739
18740 2008-03-31  Bruno Haible  <bruno@clisp.org>
18741
18742         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
18743         * doc/posix-functions/strtod.texi: Likewise.
18744
18745 2008-03-31  Bruno Haible  <bruno@clisp.org>
18746
18747         * tests/test-strtod.c (main): Don't use C99 syntax.
18748
18749 2008-03-31  Bruno Haible  <bruno@clisp.org>
18750
18751         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
18752         Reported by Eric Blake.
18753
18754 2008-03-31  Jim Meyering  <meyering@redhat.com>
18755
18756         Don't compare actual signbit return values.
18757         * tests/test-strtod.c (main): Rather, compare only their
18758         zero/non-zero nature.
18759
18760 2008-03-31  Eric Blake  <ebb9@byu.net>
18761
18762         More strtod documentation.
18763         * doc/posix-functions/strtod.texi (strtod): Interpret more test
18764         failures as distinct bugs.
18765
18766 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
18767
18768         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
18769         Problem reported by Erik Benada in
18770         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
18771
18772 2008-03-30  Bruno Haible  <bruno@clisp.org>
18773
18774         * tests/test-strtod.c: Add comments about which assertion fails on which
18775         platform.
18776         * doc/posix-functions/strtod.texi: Add info about many more platforms.
18777
18778 2008-03-30  Eric Blake  <ebb9@byu.net>
18779
18780         Test signbit behavior on zeros.
18781         * tests/test-signbit.c (test_signbitf): Add tests for zero.
18782         (test_signbitd, test_signbitl): Likewise.
18783
18784         More strtod touchups.
18785         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
18786         sign of negative underflow, for now.  Use .5, not .1.
18787         * doc/posix-functions/strtod.texi (strtod): Mention these
18788         limitations.
18789         Reported by Jim Meyering.
18790
18791 2008-03-30  Bruno Haible  <bruno@clisp.org>
18792
18793         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
18794         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
18795
18796 2008-03-30  Bruno Haible  <bruno@clisp.org>
18797
18798         Avoid failure when attempting to return empty iconv results on some
18799         platforms.
18800         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
18801         allocation, don't report ENOMEM when the resulting string is empty.
18802
18803 2008-03-30  Bruno Haible  <bruno@clisp.org>
18804
18805         Fix buffer overrun.
18806         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
18807         Don't consider the width for tmp_length. Check count against tmp_length
18808         before doing the padding. Ensure enough allocation during padding.
18809
18810 2008-03-30  Eric Blake  <ebb9@byu.net>
18811
18812         strtod touchups.
18813         * lib/strtod.c (strtod): Avoid compiler warnings.
18814         Reported by Jim Meyering.
18815
18816 2008-03-30  Bruno Haible  <bruno@clisp.org>
18817
18818         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
18819         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
18820         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
18821         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
18822         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
18823         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
18824         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
18825         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
18826
18827         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
18828         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
18829         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
18830         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
18831         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
18832         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
18833         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
18834         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
18835
18836         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
18837         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
18838         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
18839         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
18840         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
18841         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
18842         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
18843         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
18844
18845         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
18846         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
18847
18848         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
18849         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
18850
18851         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
18852         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
18853
18854         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
18855         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
18856         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
18857
18858         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
18859         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
18860         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
18861
18862         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
18863         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
18864         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
18865
18866         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
18867         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
18868         * modules/vasprintf (Depends-on): Add EOVERFLOW.
18869
18870         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
18871         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
18872         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
18873         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
18874         (Depends-on): Add EOVERFLOW.
18875         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
18876         (Depends-on): Add EOVERFLOW.
18877         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
18878         (Depends-on): Add EOVERFLOW.
18879         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
18880         (Depends-on): Add EOVERFLOW.
18881         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
18882         (Depends-on): Add EOVERFLOW.
18883         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
18884         (Depends-on): Add EOVERFLOW.
18885         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
18886         (Depends-on): Add EOVERFLOW.
18887         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
18888         (Depends-on): Add EOVERFLOW.
18889
18890         * lib/sprintf.c (EOVERFLOW): Remove fallback.
18891         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
18892         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
18893
18894         * lib/snprintf.c (EOVERFLOW): Remove fallback.
18895         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
18896         * modules/snprintf (Depends-on): Add EOVERFLOW.
18897
18898         * lib/poll.c (EOVERFLOW): Remove fallback.
18899         * modules/poll (Depends-on): Add EOVERFLOW.
18900
18901         * lib/getugroups.c (EOVERFLOW): Remove fallback.
18902         * modules/getugroups (Depends-on): Add EOVERFLOW.
18903
18904         * lib/getdelim.c (EOVERFLOW): Remove fallback.
18905         * modules/getdelim (Depends-on): Add EOVERFLOW.
18906
18907         * lib/ftell.c (EOVERFLOW): Remove fallback.
18908         * modules/ftell (Depends-on): Add EOVERFLOW.
18909
18910         * lib/fprintf.c (EOVERFLOW): Remove fallback.
18911         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
18912         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
18913
18914         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
18915
18916         * modules/EOVERFLOW-tests: New file.
18917         * tests/test-EOVERFLOW.c: New file.
18918
18919         * modules/EOVERFLOW: New file.
18920         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
18921
18922 2008-03-30  Bruno Haible  <bruno@clisp.org>
18923
18924         Fix bug introduced on 2007-06-10.
18925         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
18926         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
18927
18928 2008-03-30  Bruno Haible  <bruno@clisp.org>
18929
18930         Improve freadseek's efficiency after ungetc.
18931         * lib/freadseek.c: Include freadahead.h.
18932         (freadptrinc): New function, extracted from freadseek.
18933         (freadseek): Use it in a loop. Use freadahead to determine the number
18934         of loop iterations.
18935         * modules/freadseek (Depends-on): Add freadahead.
18936         (configure.ac): Require AC_C_INLINE.
18937
18938 2008-03-30  Bruno Haible  <bruno@clisp.org>
18939
18940         * lib/freadseek.c (freadseek): Don't ignore the return value of
18941         freadptr.
18942
18943 2008-03-29  Eric Blake  <ebb9@byu.net>
18944
18945         Add hex float support.
18946         * modules/strtod (Depends-on): Add c-ctype.
18947         (Link): Mention POW_LIB.
18948         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
18949         whitespace between 'e' and exponent.
18950         * tests/test-strtod.c (main): Enable hex float tests.
18951         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
18952         now provides.
18953
18954         Document various strtod bugs, with some fixes.
18955         * doc/posix-functions/strtod.texi (strtod): Document bugs with
18956         "-0x", "inf", "nan", and hex constants.
18957         * doc/posix-functions/atof.texi (atof): Likewise.
18958         * modules/stdlib (Makefile.am): Support strtod.
18959         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
18960         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
18961         detect additional strtod bugs.
18962         * lib/stdlib.in.h (rpl_strtod): Add declarations.
18963         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
18964         bool where appropriate.  Parse 'inf' and 'nan'.
18965         * tests/test-strtod.c: New file.
18966         * modules/strtod (Depends-on): Add stdbool, stdlib.
18967         (configure.ac): Turn on module indicator.
18968         * modules/strtod-tests: New module.
18969
18970 2008-03-29  Eric Blake  <ebb9@byu.net>
18971
18972         Fix ftell on mingw.
18973         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
18974         * modules/ftell-tests (Depends-on): Add binary-io.
18975         * modules/ftello-tests (Depends-on): Likewise.
18976         * tests/test-ftell.c (main): Enhance test to cover behavior after
18977         ungetc.  Enforce binary mode.
18978         * tests/test-ftello.c (main): Likewise.
18979
18980         Pass test-freadseek on cygwin.
18981         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
18982         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
18983         ungetc buffer.
18984
18985         * tests/test-fflush2.c (main): Fix typo.
18986
18987 2008-03-29  Bruno Haible  <bruno@clisp.org>
18988
18989         * tests/test-fflush2.c (main): Temporarily disable the contents of
18990         this test.
18991         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
18992         Reported by Eric Blake.
18993
18994 2008-03-28  Simon Josefsson  <simon@josefsson.org>
18995
18996         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
18997         (GC_SHA224_DIGEST_SIZE): Add.
18998
18999         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
19000         (gc_hash_digest_length): Likewise.
19001         (gc_hash_buffer): Likewise.
19002
19003 2008-03-25  Bruno Haible  <bruno@clisp.org>
19004
19005         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
19006         detail which gettext release to use.
19007         Reported by Simon Josefsson.
19008
19009 2008-03-26  Jim Meyering  <meyering@redhat.com>
19010
19011         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
19012         * modules/gnumakefile (clean-GNUmakefile): Also, use
19013         test ... && ... || : syntax rather than if-then ... fi.
19014
19015         gnumakefile: Don't double-quote-expand $(VPATH) value.
19016         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
19017
19018 2008-03-24  Eric Blake  <ebb9@byu.net>
19019
19020         Alter GNUmakefile to install into top directory.
19021         * modules/maintainer-makefile: Split, and add dependency...
19022         * modules/gnumakefile: to this new module.
19023         * build-aux/GNUmakefile: Move...
19024         * top/GNUmakefile: ...here.
19025         * build-aux/maint.mk: Move...
19026         * top/maint.mk: ...here.
19027         * MODULES.html.sh (Support for maintaining...): Document new
19028         module.
19029
19030 2008-03-23  Bruno Haible  <bruno@clisp.org>
19031
19032         * gnulib-tool: New options --vc-files, --no-vc-files.
19033         (func_usage): Document them.
19034         (vc_files): New variable.
19035         (func_import): Consider vc_files.
19036         (func_create_testdir): Set vc_files to empty.
19037         Suggested by Jim Meyering and Karl Berry.
19038
19039 2008-03-23  Bruno Haible  <bruno@clisp.org>
19040
19041         Fix regex compilation error on HP-UX 11.
19042         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
19043         * modules/regex (Files): Add m4/mbstate_t.m4.
19044         Reported by Ton Voon <ton.voon@altinity.com>.
19045
19046 2008-03-23  Bruno Haible  <bruno@clisp.org>
19047
19048         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
19049
19050 2008-03-23  Eric Blake  <ebb9@byu.net>
19051             Bruno Haible  <bruno@clisp.org>
19052
19053         Install files from top/ in the destination directory.
19054         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
19055         augmentation also for the files from top/.
19056         (func_import, func_create_testdir): Rewrite file names:
19057         top/filename -> filename.
19058
19059 2008-03-23  Bruno Haible  <bruno@clisp.org>
19060
19061         Tweak "gnulib --version" output.
19062         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
19063
19064 2008-03-23  Bruno Haible  <bruno@clisp.org>
19065
19066         Tweak "gnulib --version" output.
19067         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
19068         rather than contents of ChangeLog, when possible.
19069
19070 2008-03-21  Eric Blake  <ebb9@byu.net>
19071
19072         More --version tweaks.
19073         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
19074         date of last ChangeLog entry.
19075
19076 2008-03-21  Jim Meyering  <meyering@redhat.com>
19077
19078         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
19079
19080 2008-03-20  Eric Blake  <ebb9@byu.net>
19081
19082         VPATH fix.
19083         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
19084
19085 2008-03-20  Simon Josefsson  <simon@josefsson.org>
19086
19087         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
19088         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
19089
19090 2008-03-20  Eric Blake  <ebb9@byu.net>
19091
19092         Sync GNUmakefile with coreutils.
19093         * build-aux/GNUmakefile (have-Makefile): Rename...
19094         (_have-Makefile): ...to this, for namespace consideration.
19095         (GNUmakefile.cfg): Include, if present.
19096         (_autoreconf): Define a default.
19097         (_is-dist-target): New rule for rebuilds to pick up intra-release
19098         version.
19099         (maint-cfg.mk): Rename...
19100         (cfg.mk): ...to this.
19101
19102 2008-03-18  Jim Meyering  <meyering@redhat.com>
19103
19104         New script and module: mktempd
19105         * MODULES.html.sh (maint+release support): Add mktempd.
19106         * build-aux/mktempd: New file.
19107         * modules/mktempd: New file.
19108
19109 2008-03-15  Jim Meyering  <meyering@redhat.com>
19110
19111         Undo last change.
19112         * lib/sha1.c, lib/md5.c: 63 != ~63.
19113         Reported by Andreas Schwab.
19114
19115         sha1.c, md5.c: Hoist a redundant expression.
19116         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
19117         "ctx->buflen" only once, before calling *_process_block.
19118         * lib/md5.c (md5_process_bytes): Likewise.
19119
19120 2008-03-14  Eric Blake  <ebb9@byu.net>
19121
19122         Bump copyright year in files generated by gnulib-tool.
19123         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
19124         gnulib-tool, rather than hard-coding it.
19125
19126         Fix 'gnulib-tool --version' output to work with git.
19127         * gnulib-tool (func_gnulib_dir): New function, extracted from...
19128         (startup): ...here.
19129         (func_version): Use it to invoke git-version-gen, rather than
19130         relying on CVS keyword expansion.  Modernize wording.
19131         (cvsdatestamp, last_checkin_date, version): Kill unused
19132         variables.
19133
19134 2008-03-12  Jim Meyering  <meyering@redhat.com>
19135
19136         Recognize optional cast of the argument to free.
19137         * build-aux/useless-if-before-free: Update regexps.
19138
19139         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
19140
19141 2008-03-11  Bruno Haible  <bruno@clisp.org>
19142
19143         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
19144         by a single package.
19145         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
19146         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
19147         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
19148         Reported by Sam Steingold <sds@gnu.org>.
19149
19150 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
19151
19152         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
19153         repositories.
19154
19155 2008-03-11  Bruno Haible  <bruno@clisp.org>
19156
19157         Avoid conflicts between local macro definitions.
19158         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
19159         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
19160
19161 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
19162             Bruno Haible  <bruno@clisp.org>
19163
19164         Make va_copy work with some version of xlc on AIX 5.1.
19165         * lib/stdarg.in.h: New file.
19166         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
19167         On AIX, use a <stdarg.h> file substitute.
19168         * modules/stdarg (Files): Add lib/stdarg.in.h.
19169         (Depends-on): Add include_next.
19170         (Makefile.am): Build a stdarg.h substitute if requested.
19171         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
19172
19173 2008-03-10  Bruno Haible  <bruno@clisp.org>
19174
19175         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
19176         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
19177         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
19178
19179 2008-03-10  Bruno Haible  <bruno@clisp.org>
19180
19181         * modules/stdlib (Depends-on): Add include_next, remove
19182         absolute-header.
19183
19184 2008-03-09  Bruno Haible  <bruno@clisp.org>
19185
19186         * lib/freadahead.h (freadahead): Document more precisely.
19187         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
19188         the sum of both buffer sizes.
19189         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
19190         * NEWS: Document the change.
19191
19192 2008-03-09  Bruno Haible  <bruno@clisp.org>
19193
19194         Extend freadptr to return also the buffer size.
19195         * lib/freadptr.h (freadptr): Add sizep argument.
19196         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
19197         (freadptr): Add sizep argument. Determine buffer size like freadahead
19198         does.
19199         * tests/test-freadptr.c: Don't include freadahead.h.
19200         (main): Adapt for new calling convention of freadptr.
19201         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
19202         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
19203         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
19204         tests/test-freadptr2.sh.
19205         (Depends): Remove freadahead.
19206         (TESTS): Add test-freadptr2.sh.
19207         (check_PROGRAMS): Add test-freadptr2.
19208
19209 2008-03-09  Bruno Haible  <bruno@clisp.org>
19210
19211         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
19212         Report and solution by Simon Josefsson.
19213
19214 2008-03-06  Bruno Haible  <bruno@clisp.org>
19215
19216         Make fflush after ungetc work on BSD platforms.
19217         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
19218         * tests/test-fflush2.c: New file.
19219         * tests/test-fflush2.sh: New file.
19220         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
19221         tests/test-fflush2.c.
19222         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
19223         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
19224
19225 2008-03-06  Eric Blake  <ebb9@byu.net>
19226
19227         Likewise for ftello.
19228         * modules/ftello (Dependencies): Add extensions.
19229         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
19230
19231 2008-03-06  Bruno Haible  <bruno@clisp.org>
19232
19233         * modules/fseeko (Dependencies): Add extensions.
19234         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
19235         Needed on glibc systems.
19236
19237 2008-03-06  Bruno Haible  <bruno@clisp.org>
19238
19239         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
19240         email address.
19241         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
19242
19243 2008-03-06  Bruno Haible  <bruno@clisp.org>
19244
19245         * users.txt: Add libgnupdf.
19246
19247 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
19248
19249         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
19250         (Header File Substitutes, Function Substitutes,
19251         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
19252         (Build robot for gnulib): Fix typo.
19253
19254 2008-03-06  Bruno Haible  <bruno@clisp.org>
19255
19256         * doc/gnulib-tool.texi (VCS Issues): Small updates.
19257         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
19258
19259 2008-03-06  Bruno Haible  <bruno@clisp.org>
19260
19261         * doc/func.texi: New file, extracted from doc/gnulib.texi.
19262         * doc/gnulib.texi: Include it.
19263
19264 2008-03-06  Simon Josefsson  <simon@josefsson.org>
19265
19266         * modules/func (License): Change license to unlimited; there was
19267         no LGPL parts in the module anyway.
19268
19269 2008-03-06  Simon Josefsson  <simon@josefsson.org>
19270
19271         * modules/__func__: Renamed to modules/func.
19272         * modules/__func__-tests: Renamed to modules/func-tests.
19273         * tests/test-__func__.c: Renamed to tests/test-func.c.
19274         * m4/__func__.m4: Renamed to m4/func.m4.
19275         * doc/gnulib.texi (__func__): Section renamed to func.
19276         Suggested by Eric Blake <ebb9@byu.net>.
19277
19278 2008-03-06  Simon Josefsson  <simon@josefsson.org>
19279
19280         * doc/gnulib.texi (__func__): Use C99 terminology when talking
19281         about __func__.  Make example self-contained.  Suggested by Eric
19282         Blake <ebb9@byu.net>.
19283
19284         * tests/test-__func__.c (main): Avoid extraneous () around __func.
19285         Suggested by Eric Blake <ebb9@byu.net>.
19286
19287 2008-03-06  Simon Josefsson  <simon@josefsson.org>
19288
19289         * modules/__func__: New file.
19290         * modules/__func__-tests: New file.
19291         * tests/test-__func__.c: New file.
19292         * m4/__func__.m4: New file.
19293         * doc/gnulib.texi (__func__): Document __func__ module.
19294
19295 2008-03-05  Simon Josefsson  <simon@josefsson.org>
19296
19297         * modules/byteswap (License): Re-license as LGPLv2+.
19298
19299 2008-03-05  Simon Josefsson  <simon@josefsson.org>
19300
19301         * doc/Makefile: Add pdf target.
19302
19303 2008-03-05  Simon Josefsson  <simon@josefsson.org>
19304
19305         * modules/inline (License): Use 'unlimited', since there are only
19306         *.m4 files in this module.
19307
19308 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
19309             Bruno Haible  <bruno@clisp.org>
19310
19311         Add support for HP C 7.1 on OpenVMS 8.3.
19312         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
19313
19314 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
19315
19316         Update VMS specifics.
19317         * lib/getopt.c [VMS]: Remove include of unixlib.h.
19318
19319 2008-03-02  Jim Meyering  <meyering@redhat.com>
19320
19321         Remove the last dependency on the "free" module.
19322         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
19323         Reported by Bob Proulx.
19324
19325         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
19326
19327         Remove useless "if" tests before free.  Deprecate "free" module.
19328         * doc/posix-functions/free.texi: Mention that this
19329         module is no longer useful.
19330         * modules/free (Notice): Say this module is obsolete.
19331         * modules/readutmp (Depends-on): Remove free.
19332         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
19333         * lib/putenv.c (putenv): Likewise.
19334         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
19335         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
19336         * tests/test-c-strcasestr.c (main): Likewise.
19337         * tests/test-c-strstr.c (main): Likewise.
19338         * tests/test-mbscasestr1.c (main): Likewise.
19339         * tests/test-mbscasestr2.c (main): Likewise.
19340         * tests/test-mbsstr1.c (main): Likewise.
19341         * tests/test-mbsstr2.c (main): Likewise.
19342         * tests/test-memmem.c (main): Likewise.
19343         * tests/test-strcasestr.c (main): Likewise.
19344         * tests/test-striconv.c (main): Likewise.
19345         * tests/test-striconveh.c (main): Likewise.
19346         * tests/test-striconveha.c (main): Likewise.
19347         * tests/test-strstr.c (main): Likewise.
19348
19349         * build-aux/git-version-gen: Adjust a comment and the Usage string.
19350
19351         bootstrap: sync from coreutils again
19352         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
19353
19354 2008-03-01  Jim Meyering  <meyering@redhat.com>
19355
19356         bootstrap: sync from coreutils
19357         * build-aux/bootstrap (update_po_files): Copy a .po file into place
19358         also when the target doesn't exist.
19359
19360 2008-03-01  Eric Blake  <ebb9@byu.net>
19361
19362         Fix bugs in last patch.
19363         * lib/memchr2.c (memchr2): Fix typo.
19364         * tests/test-memchr2.c: Test previous bug, and don't use GNU
19365         extension.
19366         Reported by Bruce Korb.
19367
19368         New module 'memchr2'.
19369         * modules/memchr2: New file.
19370         * modules/memchr2-tests: Likewise.
19371         * lib/memchr2.h: Likewise.
19372         * lib/memchr2.c: Likewise, based on memchr.c.
19373         * tests/test-memchr2.c: New test.
19374         * MODULES.html.sh (String handling): Add memchr2.
19375
19376 2008-02-29  Bruno Haible  <bruno@clisp.org>
19377
19378         * modules/freadseek-tests: New file.
19379         * tests/test-freadseek.sh: New file.
19380         * tests/test-freadseek.c: New file.
19381
19382         New module 'freadseek'.
19383         * modules/freadseek: New file.
19384         * lib/freadseek.h: New file.
19385         * lib/freadseek.c: New file.
19386         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
19387
19388 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
19389
19390         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
19391         wydawca.
19392
19393         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
19394         program_invocation_name and program_invocation_short_name are
19395         present.
19396
19397 2008-02-28  Bruno Haible  <bruno@clisp.org>
19398
19399         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
19400         * tests/test-freadptr.sh: Also test non-seekable stdin.
19401
19402 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
19403
19404         * build-aux/bootstrap (source_base, m4_base)
19405         (doc_base, tests_base): New variables.
19406         (gnulib_tool_options): Do not hardcode base directories, use
19407         the above variables instead.
19408
19409 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
19410
19411         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
19412
19413 2008-02-28  Bruno Haible  <bruno@clisp.org>
19414
19415         * modules/freadptr-tests: New file.
19416         * tests/test-freadptr.sh: New file.
19417         * tests/test-freadptr.c: New file.
19418
19419         New module 'freadptr'.
19420         * modules/freadptr: New file.
19421         * lib/freadptr.h: New file.
19422         * lib/freadptr.c: New file.
19423         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
19424
19425 2008-02-26  Karl Berry  <karl@freefriends.org>
19426
19427         Sync from Libtool:
19428         * libltdl/argz.c (argz_add, argz_count): New functions.
19429         * libltdl/argz.in.h: Declare them.
19430         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
19431
19432 2008-02-22  Bruno Haible  <bruno@clisp.org>
19433
19434         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
19435         is a pointer type.  Needed for HP-UX 10.
19436         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
19437         * doc/posix-functions/gmtime_r.texi: Likewise.
19438         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
19439
19440 2008-02-24  Bruno Haible  <bruno@clisp.org>
19441
19442         * modules/environ-tests: New file.
19443         * tests/test-environ.c: New file.
19444
19445         New module 'environ'.
19446         * modules/environ: New file.
19447         * lib/unistd.in.h (environ): New declaration.
19448         * m4/environ.m4: New file.
19449         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
19450         after use.
19451         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
19452         HAVE_DECL_ENVIRON.
19453         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
19454         HAVE_DECL_ENVIRON.
19455         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
19456         wrong claim that 'environ' is missing on some systems.
19457         * modules/execute (Depends-on): Add environ.
19458         * lib/execute.c (environ): Remove fallback declaration.
19459         * modules/pipe (Depends-on): Add environ.
19460         * lib/pipe.c (environ): Remove fallback declaration.
19461         * modules/setenv (Depends-on): Add environ.
19462         * lib/setenv.c (environ): Remove fallback declaration.
19463         * modules/unsetenv (Depends-on): Add environ.
19464         * lib/unsetenv.c (environ): Remove fallback declaration.
19465         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
19466         m4/environ.m4.
19467         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
19468         (gl_PREREQ_UNSETENV): Likewise.
19469
19470 2008-02-24  Bruno Haible  <bruno@clisp.org>
19471
19472         * doc/posix-functions/environ.texi: Document the MacOS X problem.
19473
19474 2008-02-20  Bob Proulx  <bob@proulx.com>
19475
19476         Enable use of older two part flavor 'git describe'.
19477         * build-aux/git-version-gen: If using the older two part flavor of
19478         git version then recreate the third part now present in the
19479         newer three part flavor of git describe.
19480
19481 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
19482
19483         * lib/fts.c (fts_build): Typo correction to comment.
19484
19485 2008-02-17  Bruno Haible  <bruno@clisp.org>
19486
19487         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
19488         generating no-op conflicts.
19489
19490 2008-02-17  Bruno Haible  <bruno@clisp.org>
19491
19492         Speed up by 10%.
19493         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
19494         result_entries, rather than an index-based loop.
19495
19496 2008-02-17  Bruno Haible  <bruno@clisp.org>
19497
19498         Speed up by 25%.
19499         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
19500         'hashcode_cached'.
19501         (entry_create): New function.
19502         (entry_hashcode): Use the cached hashcode if possible.
19503         (read_changelog_file, try_split_merged_entry): Use entry_create.
19504
19505 2008-02-17  Bruno Haible  <bruno@clisp.org>
19506
19507         Speed up from O(n^2) to O(n) for long ChangeLog files.
19508         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
19509         (read_changelog_file): Change implementation of entries_reversed list
19510         to rbtreehash.
19511         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
19512
19513 2008-02-17  Bruno Haible  <bruno@clisp.org>
19514
19515         New option --split-merged-entry.
19516         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
19517         (find_paragraph_end, try_split_merged_entry): New functions.
19518         (long_options): Add option --split-merged-entry.
19519         (usage): Document option --split-merged-entry.
19520         (main): Implement option --split-merged-entry.
19521         Reported by Eric Blake.
19522
19523 2008-02-17  Bruno Haible  <bruno@clisp.org>
19524
19525         * lib/git-merge-changelog.c: Include c-strstr.h.
19526         (main): Support the "git pull --rebase" situation.
19527         * modules/git-merge-changelog (Depends-on): Add c-strstr.
19528         Reported by Eric Blake.
19529
19530 2008-02-16  Eric Blake  <ebb9@byu.net>
19531
19532         Avoid doubling \ in common case of "c-maybe" quoting style.
19533         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
19534         eliding outer quotes.
19535         * lib/quotearg.h: Document this.
19536         * tests/test-quotearg.c (result_strings, inputs, results_g)
19537         (flag_results, locale_results): Test it by adding a new string to
19538         each test group.
19539         (compare_strings): Test new string.
19540
19541 2008-02-13  Eric Blake  <ebb9@byu.net>
19542
19543         Avoid trigraph quoting in default output.
19544         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
19545         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
19546         unless explicitly requested.
19547         * tests/test-quotearg.c (flag_results, main): Add additional tests.
19548
19549 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
19550
19551         Don't rely on signed integer overflowing to negative value.
19552         * lib/getugroups.c (getugroups): Include <limits.h>.
19553         Instead, compare against INT_MAX, and increment only if the test passes.
19554
19555 2008-02-13  Jim Meyering  <meyering@redhat.com>
19556         and Eric Blake  <ebb9@byu.net>
19557
19558         Avoid shadowing warning and compile errors on Linux.
19559         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
19560         forwarding macros on Linux.
19561         (dcgettext): Define a stub, for Linux.
19562         (results_g, main): Avoid warnings.
19563
19564 2008-02-12  Eric Blake  <ebb9@byu.net>
19565
19566         Silence warning in last patch.
19567         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
19568
19569         Quotearg part 4: add tests, fix c-maybe colon quoting.
19570         * lib/quotearg.h: Improve documentation.
19571         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
19572         escapes when adding outer quotes.  When quoting trigraphs, use
19573         valid C notation.  When quoting NUL, omit extra characters if next
19574         character is not digit.  Alter prototype.
19575         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
19576         callers.
19577         * modules/quotearg-tests: New module.
19578         * tests/test-quotearg.c: New test.
19579
19580 2008-02-07  Eric Blake  <ebb9@byu.net>
19581
19582         Quotearg part 3: add flag to control outer quote elision.
19583         * lib/quotearg.h (c_maybe_quoting_style): New style.
19584         (enum quoting_flags): Better documentation of flags.
19585         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
19586         c-maybe style.
19587         (quotearg_buffer_restyled): Handle new flag to elide outer
19588         quotes.
19589
19590         Quotearg part 2: add flag that can control NUL elision.
19591         * lib/quotearg.h (set_quoting_flags): New prototype.
19592         * lib/quotearg.c (struct quoting_options): Add flag field.
19593         (set_quoting_flags): New function.
19594         (quotearg_buffer_restyled): Add flags parameter.
19595         (quotearg_alloc_mem): Set the flag if length cannot be returned.
19596         (quotearg_n_options): Set the flag, since length cannot be
19597         returned.
19598         (quoting_options_from_style): Default flags correctly.
19599
19600         Quotearg part 1: more wrappers, restore quotearg_char state.
19601         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
19602         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
19603         (quotearg_colon_mem): New wrappers.
19604         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
19605         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
19606         functions.
19607         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
19608         (quotearg_colon_mem): New functions.
19609
19610 2008-02-11  Bruno Haible  <bruno@clisp.org>
19611
19612         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
19613         library in the current directory: it does not work with parallel make.
19614         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
19615
19616 2008-02-11  Bruno Haible  <bruno@clisp.org>
19617
19618         * .gitattributes: New file.
19619
19620 2008-02-11  Jim Meyering  <meyering@redhat.com>
19621
19622         useless-if-before-free: Fix reversed exit values.
19623         * build-aux/useless-if-before-free: Use correct values
19624         for EXIT_MATCH and EXIT_NO_MATCH.
19625
19626         * build-aux/useless-if-before-free: Close stdout carefully.
19627
19628 2008-02-10  Bruno Haible  <bruno@clisp.org>
19629
19630         New module 'git-merge-changelog'.
19631         * modules/git-merge-changelog: New file.
19632         * lib/git-merge-changelog.c: New file.
19633
19634 2008-02-10  Jim Meyering  <meyering@redhat.com>
19635
19636         useless-if-before-free: New option: --list (-l).
19637
19638         useless-if-before-free: Don't exit immediately upon open failure.
19639         * build-aux/useless-if-before-free: Exit 2 for errors.
19640         Upon failure to open a file, don't exit immediately.
19641         Rather, just warn and continue with any remaining files.
19642
19643 2008-02-10  Bruno Haible  <bruno@clisp.org>
19644
19645         New abstract list operation 'node_set_value'.
19646         * lib/gl_list.h (gl_list_node_set_value): New function.
19647         (struct gl_list_implementation): New field node_set_value.
19648         * lib/gl_list.c (gl_list_node_set_value): New function.
19649         * lib/gl_array_list.c (gl_array_node_set_value): New function.
19650         (gl_array_list_implementation): Update.
19651         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
19652         (gl_carray_list_implementation): Update.
19653         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
19654         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
19655         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
19656         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
19657         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
19658         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
19659         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
19660         Update.
19661         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
19662         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
19663         (gl_sublist_list_implementation): Update.
19664
19665 2008-02-10  Bruno Haible  <bruno@clisp.org>
19666
19667         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
19668         Needed when ELEMENT is #defined to 'some_type *'.
19669
19670 2008-02-10  Jim Meyering  <meyering@redhat.com>
19671
19672         New script and module: useless-if-before-free
19673         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
19674         * build-aux/useless-if-before-free: New file.
19675         * modules/useless-if-before-free: New file.
19676
19677         * build-aux/gitlog-to-changelog: Use committer date, not author date.
19678
19679         xstrtol_error: Fix typo.
19680         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
19681         s/exit_failure/exit_status/.
19682
19683 2008-02-09  Jim Meyering  <meyering@redhat.com>
19684
19685         New script and module: gitlog-to-changelog
19686         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
19687         * modules/gitlog-to-changelog: New file.
19688         * build-aux/gitlog-to-changelog: New file.
19689
19690 2008-02-08  Jim Meyering  <meyering@redhat.com>
19691
19692         Avoid two "parameter unused" warnings.
19693         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
19694         Mark "st" as used.
19695
19696         Use "git COMMAND", not "git-COMMAND".
19697         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
19698         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
19699         * build-aux/git-version-gen: Use "git status", not "git-status".
19700
19701 2008-02-07  Bruno Haible  <bruno@clisp.org>
19702
19703         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
19704         Avoids a crash on Windows Vista.
19705         Reported by Adam Strzelecki <ono@java.pl> via
19706         Simon Josefsson <simon@josefsson.org>.
19707
19708 2008-02-06  Bruno Haible  <bruno@clisp.org>
19709
19710         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
19711         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
19712         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
19713         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
19714         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
19715         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
19716         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
19717         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
19718         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
19719         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
19720         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
19721         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
19722         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
19723         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
19724         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
19725         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
19726         left-adjust flag.
19727         * tests/test-snprintf-posix.h (test_function): Likewise.
19728         * tests/test-sprintf-posix.h (test_function): Likewise.
19729         * tests/test-vasprintf-posix.c (test_function): Likewise.
19730         * doc/posix-functions/fprintf.texi: Update.
19731         * doc/posix-functions/printf.texi: Update.
19732         * doc/posix-functions/snprintf.texi: Update.
19733         * doc/posix-functions/sprintf.texi: Update.
19734         * doc/posix-functions/vfprintf.texi: Update.
19735         * doc/posix-functions/vprintf.texi: Update.
19736         * doc/posix-functions/vsnprintf.texi: Update.
19737         * doc/posix-functions/vsprintf.texi: Update.
19738         Reported by Peter Fales <psfales@alcatel-lucent.com>.
19739
19740 2008-02-06  Bruno Haible  <bruno@clisp.org>
19741
19742         Fix bug introduced on 2008-01-26.
19743         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
19744
19745 2008-02-06  Bruno Haible  <bruno@clisp.org>
19746
19747         Fix bug introduced on 2007-06-10.
19748         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
19749         !NEED_PRINTF_FLAG_ZERO.
19750
19751 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
19752
19753         getloadavg: use libperfstat on AIX5
19754         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
19755
19756 2008-02-03  Bruno Haible  <bruno@clisp.org>
19757
19758         * lib/diffseq.h: Add comments about required #includes.
19759         Reported by Michael Biggs <gnulib@doubleplum.net>.
19760
19761 2008-02-01  Bruno Haible  <bruno@clisp.org>
19762
19763         * users.txt: Add gnuit.
19764
19765 2008-01-31  Bruno Haible  <bruno@clisp.org>
19766
19767         * lib/md4.c (set_uint32): Mark as inline.
19768         * lib/md5.c (set_uint32): Likewise.
19769         * lib/sha1.c (set_uint32): Likewise.
19770         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
19771         * m4/md5.m4 (gl_MD5): Likewise.
19772         * m4/sha1.m4 (gl_SHA1): Likewise.
19773
19774 2008-01-31  Jim Meyering  <meyering@redhat.com>
19775
19776         Use "sizeof VAR", rather than a literal "4".
19777         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
19778         * lib/md4.c (md4_read_ctx): Likewise.
19779         * lib/sha1.c (sha1_read_ctx): Likewise.
19780
19781 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19782
19783         * tests/test-sha1.c: New file, based on test-md5.c.
19784
19785         * modules/crypto/sha1-tests: New file.
19786
19787 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19788
19789         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
19790
19791 2008-01-31  Jim Meyering  <meyering@redhat.com>
19792
19793         Prefer "sizeof v" over the equivalent "4".
19794         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
19795         * lib/md5.c (set_uint32): Likewise.
19796         * lib/sha1.c (set_uint32): Likewise.
19797
19798 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19799
19800         * lib/sha1.c (set_uint32): Mark function as static.
19801
19802 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19803
19804         md2: clarify comments to say that alignment is not required.
19805         * lib/md2.h: Remove warning about alignment in comment.
19806         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
19807         never been required.
19808
19809 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19810
19811         md4: adapt alignment constraint fix from sha1.
19812         * lib/md4.c (set_uint32): New function, from sha1.c
19813         (md4_read_ctx): Use it.
19814         (md4_finish_ctx): Doc fix.
19815         * lib/md4.h: Doc fix.
19816
19817 2008-01-31  Simon Josefsson  <simon@josefsson.org>
19818
19819         md5: adapt alignment constraint fix from sha1.
19820         * lib/md5.c (set_uint32): New function, from sha1.c
19821         (md5_read_ctx): Use it.
19822         (md5_finish_ctx): Doc fix.
19823         * lib/md5.h: Doc fix.
19824
19825 2008-01-30  Peter Palfrader  <weasel@debian.org>
19826
19827         sha1: remove the result buffer alignment constraint
19828         * lib/sha1.c (set_uint32): New function.
19829         (sha1_read_ctx): Rewrite to remove the result buffer alignment
19830         constraint.
19831         (sha1_finish_ctx): Remove comment warning about alignment constraint.
19832         * lib/sha1.h: Likewise.
19833
19834 2008-01-30  Andreas Schwab  <schwab@suse.de>
19835             Bruno Haible  <bruno@clisp.org>
19836
19837         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
19838         correct definition of LDBL_MIN_EXP.
19839
19840 2008-01-30  Karl Berry  <karl@gnu.org>
19841
19842         * config/srclist-update: try to preserve x bit on updates.
19843         * config/srclistvars.sh: update for karl.
19844
19845 2008-01-29  Jim Meyering  <meyering@redhat.com>
19846
19847         vasnprintf.c: Avoid warning about unused label
19848         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
19849         "overflow" label definition and associated code with the
19850         same cpp condition that guards the sole use of that label.
19851
19852 2008-01-26  Bruno Haible  <bruno@clisp.org>
19853
19854         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
19855         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
19856         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
19857         * lib/isnanl-nolibm.h (isnanl): Likewise.
19858         Reported by Paul Eggert <eggert@cs.ucla.edu>.
19859
19860 2008-01-26  Bruno Haible  <bruno@clisp.org>
19861
19862         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
19863         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
19864
19865 2008-01-26  Bruno Haible  <bruno@clisp.org>
19866
19867         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
19868         GCC >= 4.0 built-in.
19869         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
19870
19871 2008-01-26  Bruno Haible  <bruno@clisp.org>
19872
19873         Rename isnan, applicable to 'double' only, to isnand.
19874         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
19875         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
19876         (configure.ac): Update.
19877         (Include): Replace "isnan.h" with "isnand.h".
19878         * m4/isnand.m4: Renamed from m4/isnan.m4.
19879         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
19880         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
19881         instead of isnan.c.
19882         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
19883         instead of HAVE_ISNAN_IN_LIBC.
19884         (isnand): Renamed from isnan.
19885         * lib/isnand.c: New file.
19886         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
19887         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
19888         (Makefile.am): Update.
19889         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
19890         Include isnand.h instead of isnan.h.
19891         (main): Test isnand instead of isnan.
19892         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
19893         isnan-nolibm.
19894         * modules/frexp (Depends-on): Likewise.
19895         * modules/frexp-tests (Depends-on): Likewise.
19896         * modules/frexp-nolibm (Depends-on): Likewise.
19897         * modules/frexp-nolibm-tests (Depends-on): Likewise.
19898         * modules/isfinite (Depends-on): Likewise.
19899         * modules/round-tests (Depends-on): Likewise.
19900         * modules/signbit (Depends-on): Likewise.
19901         * modules/signbit-tests (Depends-on): Likewise.
19902         * modules/snprintf-posix (Depends-on): Likewise.
19903         * modules/sprintf-posix (Depends-on): Likewise.
19904         * modules/trunc-tests (Depends-on): Likewise.
19905         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
19906         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19907         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19908         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19909         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19910         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19911         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19912         * modules/vasnprintf-posix (Depends-on): Likewise.
19913         * modules/vasprintf-posix (Depends-on): Likewise.
19914         * modules/vfprintf-posix (Depends-on): Likewise.
19915         * modules/vsnprintf-posix (Depends-on): Likewise.
19916         * modules/vsprintf-posix (Depends-on): Likewise.
19917         * lib/frexp.c: Include isnand.h instead of isnan.h.
19918         (ISNAN): Set to isnand instead of isnan.
19919         * lib/isfinite.c: Include isnand.h instead of isnan.h.
19920         (gl_isfinited): Use isnand instead of isnan.
19921         * lib/signbitd.c: Include isnand.h instead of isnan.h.
19922         (gl_signbitd): Use isnand instead of isnan.
19923         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
19924         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
19925         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
19926         (main): Use isnand instead of isnan.
19927         * tests/test-round1.c: Include isnand.h.
19928         (main): Use isnand instead of isnan.
19929         * tests/test-round2.c: Include isnand.h instead of isnan.h.
19930         (ISNAN): Set to isnand instead of isnan.
19931         * tests/test-trunc1.c: Include isnand.h.
19932         (main): Use isnand instead of isnan.
19933         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
19934         (equal): Use isnand instead of isnan.
19935         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
19936         isnand-nolibm.
19937         * NEWS: Mention the change.
19938
19939 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
19940             Bruno Haible  <bruno@clisp.org>
19941
19942         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
19943         the GCC builtins for signbits are present and set
19944         REPLACE_SIGNBIT_USING_GCC if so.
19945         * lib/math.in.h (signbit): Define using GCC builtins if
19946         REPLACE_SIGNBIT_USING_GCC is set.
19947         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
19948         REPLACE_SIGNBIT_USING_GCC.
19949         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
19950
19951 2008-01-25  Jim Meyering  <meyering@redhat.com>
19952
19953         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
19954         * lib/poll.c: Include <config.h>, not "config.h".
19955         * tests/test-getaddrinfo.c: Likewise.
19956
19957 2008-01-25  Simon Josefsson  <simon@josefsson.org>
19958
19959         * modules/sockets-tests: New file.
19960
19961 2008-01-24  Simon Josefsson  <simon@josefsson.org>
19962
19963         * modules/sockets: New module, can be used to call WSA_Startup and
19964         WSA_Cleanup when needed.
19965
19966         * lib/sockets.h, lib/sockets.c: New files.
19967
19968         * m4/sockets.m4: New file.
19969
19970         * tests/test-sockets.c: New file.
19971
19972 2008-01-19  Bruno Haible  <bruno@clisp.org>
19973
19974         * doc/posix-headers: Renamed from doc/headers.
19975         * doc/posix-functions: Renamed from doc/functions.
19976         * doc/gnulib.texi: Update.
19977
19978 2008-01-19  Bruno Haible  <bruno@clisp.org>
19979
19980         * doc/glibc-functions/strcasestr.texi: Include contents of
19981         doc/functions/strcasestr.texi, fixing the list of platforms.
19982         * doc/functions/strcasestr.texi: Remove file.
19983
19984 2008-01-19  Bruno Haible  <bruno@clisp.org>
19985
19986         * doc/glibc-functions/memmem.texi: Include contents of
19987         doc/functions/memmem.texi.
19988         * doc/functions/memmem.texi: Remove file.
19989
19990 2008-01-18  Bruno Haible  <bruno@clisp.org>
19991
19992         * doc/glibc-functions/*.texi: New files.
19993         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
19994         to use the new files.
19995
19996 2008-01-17  Bruno Haible  <bruno@clisp.org>
19997
19998         * tests/test-gethostname.c (main): Fix printf statement.
19999
20000 2008-01-17  Simon Josefsson  <simon@josefsson.org>
20001
20002         * modules/gethostname-tests: New file.
20003
20004         * tests/test-gethostname.c: New file.
20005
20006 2008-01-17  Simon Josefsson  <simon@josefsson.org>
20007
20008         * lib/gethostname.c: Include string.h unconditionally, strncpy is
20009         used by the UNAME case.  Reported by Bruno Haible
20010         <bruno@clisp.org>.
20011
20012 2008-01-17  Eric Blake  <ebb9@byu.net>
20013
20014         Convert c-strcasestr to be more efficient.
20015         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
20016         (Depends-on): Add c-strcase, remove malloca, strnlen.
20017         * tests/test-c-strcasestr.c (main): Enhance test.
20018         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
20019
20020 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
20021
20022         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
20023         Use it in creating po/Makevars.
20024
20025 2008-01-15  Simon Josefsson  <simon@josefsson.org>
20026
20027         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
20028         Applications that requires it should initialize libgcrypt
20029         manually.
20030
20031 2008-01-16  Simon Josefsson  <simon@josefsson.org>
20032
20033         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
20034
20035 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
20036
20037         Fix problem with getdate on mingw32 reported by Simon Josefsson
20038         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
20039         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
20040         tzname", when deciding whether to declare tzname.
20041         * lib/strftime.c (tzname): Likewise.
20042
20043 2008-01-15  Bruno Haible  <bruno@clisp.org>
20044
20045         Work around a MacOS X 10.5 bug in frexpl().
20046         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
20047         * doc/functions/frexpl.texi: Document the bug.
20048         Reported by Elias Pipping <pipping@gentoo.org>.
20049
20050 2008-01-14  Eric Blake  <ebb9@byu.net>
20051
20052         Touch up previous patch.
20053         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
20054         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
20055
20056         Convert strcasestr module to use Two-Way algorithm.
20057         * modules/strcasestr-simple: New module, based on the old
20058         strcasestr, but with Two-Way rather than KMP.
20059         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
20060         * lib/string.in.h (rpl_strcasestr): Declare.
20061         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
20062         performance.
20063         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
20064         * modules/string (Makefile.am): Support strcasestr.
20065         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
20066         * modules/strcasestr-tests (Depends-on): Check for alarm.
20067         * tests/test-strcasestr.c: Augment test.
20068         * lib/str-two-way.h: Clean up stray macro.
20069         * NEWS: Document new module.
20070         * MODULES.html.sh (string handling): Likewise.
20071         * doc/functions/strcasestr.texi: New file.
20072         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
20073         here, since it is not a POSIX function.
20074
20075 2008-01-14  Colin Watson  <cjwatson@debian.org>
20076             Bruno Haible  <bruno@clisp.org>
20077
20078         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
20079         works fine; if not, set REPLACE_STRSIGNAL.
20080         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
20081         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
20082         REPLACE_STRSIGNAL.
20083         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
20084         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
20085         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
20086
20087 2008-01-14  Bruno Haible  <bruno@clisp.org>
20088
20089         * modules/strsignal (Include): Change to <string.h>.
20090
20091 2008-01-14  Colin Watson  <cjwatson@debian.org>
20092
20093         * modules/argp (Notice): Add a notice recommending to change
20094         XGETTEXT_OPTIONS.
20095         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
20096
20097 2008-01-13  Colin Watson  <cjwatson@debian.org>
20098
20099         * modules/strsignal-tests: New file.
20100         * tests/test-strsignal.c: New file.
20101
20102         * lib/strsignal.c: New file, from glibc with modifications.
20103         * lib/siglist.h: New file, from glibc with modifications.
20104         * lib/string.in.h (strsignal): New declaration.
20105         * m4/strsignal.m4: New file.
20106         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
20107         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
20108         * modules/strsignal: New file.
20109         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
20110         HAVE_DECL_STRSIGNAL.
20111
20112 2008-01-13  Bruno Haible  <bruno@clisp.org>
20113
20114         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
20115         locale encoding is not ASCII. Needed for OpenBSD 4.0.
20116         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
20117         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
20118
20119 2008-01-13  Bruno Haible  <bruno@clisp.org>
20120
20121         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
20122         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
20123         * lib/argp.h (__attribute__): Likewise.
20124         * lib/c-stack.c (__attribute__): Likewise.
20125         * lib/error.h (__attribute__): Likewise.
20126         * lib/fts.c (__attribute__): Likewise.
20127         * lib/openat.h (__attribute__): Likewise.
20128         * lib/stdio.in.h (__attribute__): Likewise.
20129         * lib/string.in.h (__attribute__): Likewise.
20130         * lib/utimens.c (__attribute__): Likewise.
20131         * lib/vasnprintf.h (__attribute__): Likewise.
20132         * lib/xalloc.h (__attribute__): Likewise.
20133         * lib/xprintf.h (__attribute__): Likewise.
20134         * lib/xstrtol.h (__attribute__): Likewise.
20135         * lib/xvasprintf.h (__attribute__): Likewise.
20136
20137 2008-01-12  Bruno Haible  <bruno@clisp.org>
20138
20139         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
20140         * doc/glibc-headers/a.out.texi: New file.
20141         * doc/glibc-headers/aliases.texi: New file.
20142         * doc/glibc-headers/alloca.texi: New file.
20143         * doc/glibc-headers/ar.texi: New file.
20144         * doc/glibc-headers/argp.texi: New file.
20145         * doc/glibc-headers/argz.texi: New file.
20146         * doc/glibc-headers/byteswap.texi: New file.
20147         * doc/glibc-headers/crypt.texi: New file.
20148         * doc/glibc-headers/endian.texi: New file.
20149         * doc/glibc-headers/envz.texi: New file.
20150         * doc/glibc-headers/err.texi: New file.
20151         * doc/glibc-headers/error.texi: New file.
20152         * doc/glibc-headers/execinfo.texi: New file.
20153         * doc/glibc-headers/fpu_control.texi: New file.
20154         * doc/glibc-headers/fstab.texi: New file.
20155         * doc/glibc-headers/fts.texi: New file.
20156         * doc/glibc-headers/getopt.texi: New file.
20157         * doc/glibc-headers/ieee754.texi: New file.
20158         * doc/glibc-headers/ifaddrs.texi: New file.
20159         * doc/glibc-headers/libintl.texi: New file.
20160         * doc/glibc-headers/mcheck.texi: New file.
20161         * doc/glibc-headers/mntent.texi: New file.
20162         * doc/glibc-headers/obstack.texi: New file.
20163         * doc/glibc-headers/paths.texi: New file.
20164         * doc/glibc-headers/printf.texi: New file.
20165         * doc/glibc-headers/pty.texi: New file.
20166         * doc/glibc-headers/resolv.texi: New file.
20167         * doc/glibc-headers/shadow.texi: New file.
20168         * doc/glibc-headers/sysexits.texi: New file.
20169         * doc/glibc-headers/ttyent.texi: New file.
20170
20171 2008-01-12  Jim Meyering  <meyering@redhat.com>
20172
20173         announce-gen: emit Gnulib's git-based version string.
20174         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
20175         New option --gnulib-version=V, where V is expected to be
20176         the output of running git describe in the gnulib directory.
20177         (get_tool_versions): Request feedback on xdelta.  I suspect it's
20178         not useful, and plan to stop publishing an xdelta file with each
20179         coreutils release.
20180
20181         * build-aux/announce-gen: Also check for lzma-compressed files.
20182
20183 2008-01-11  Bruno Haible  <bruno@clisp.org>
20184
20185         * tests/test-memmem.c (main): Increase maximum allowed time.
20186         * tests/test-strstr.c (main): Likewise.
20187
20188 2008-01-11  Bruno Haible  <bruno@clisp.org>
20189
20190         * doc/functions/memmem.texi: Add more precisions about platforms.
20191         * doc/functions/strstr.texi: Likewise.
20192
20193 2008-01-10  Eric Blake  <ebb9@byu.net>
20194
20195         * m4/strstr.m4: Delete cruft from copy-n-paste.
20196         Reported by Bruno Haible.
20197
20198 2008-01-10  Bruno Haible  <bruno@clisp.org>
20199
20200         Make c-strstr rely on strstr.
20201         * lib/c-strstr.c: Don't include str-kmp.h.
20202         (c_strstr): Define in terms of strstr.
20203         * modules/c-strstr (Files): Remove lib/str-kmp.h.
20204         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
20205
20206 2008-01-10  Bruno Haible  <bruno@clisp.org>
20207
20208         * doc/gnulib.texi (String Functions in C Locale): New section.
20209         * doc/c-ctype.texi: New file.
20210         * doc/c-strcase.texi: New file.
20211         * doc/c-strcaseeq.texi: New file.
20212         * doc/c-strcasestr.texi: New file.
20213         * doc/c-strstr.texi: New file.
20214         * doc/c-strtod.texi: New file.
20215         * doc/c-strtold.texi: New file.
20216
20217 2008-01-10  Eric Blake  <ebb9@byu.net>
20218
20219         * lib/relocatable.h: Fix a comment.
20220
20221 2008-01-10  Eric Blake  <ebb9@byu.net>
20222
20223         Share two-way algorithm.
20224         * lib/str-two-way.h: New file, merged from...
20225         * lib/memmem.c: ...here...
20226         * lib/strstr.c: ...and here.
20227         * modules/memmem (Files): Use it.
20228         * modules/strstr (Files): Likewise.
20229
20230         Avoid quadratic strstr implementations.
20231         * lib/strstr.c: New file.
20232         * m4/strstr.m4: Likewise.
20233         * modules/strstr: Likewise.
20234         * modules/strstr-tests: Likewise.
20235         * tests/test-strstr.c: Likewise.
20236         * lib/string.in.h (rpl_strstr): Declare.
20237         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
20238         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
20239         * modules/string (Makefile.am): Likewise.
20240         * MODULES.html.sh (string handling): Mention new module.
20241         * doc/functions/strstr.texi (strstr): Document the bug.
20242
20243 2008-01-10  Bruno Haible  <bruno@clisp.org>
20244
20245         * lib/relocatable.h (relocate): State whether result is freshly
20246         allocated or not.
20247         * lib/relocatable.c (relocate): Return a freshly allocated string
20248         instead of a pointer to a privately held string.
20249         Reported by Sylvain Beucler <beuc@gnu.org>.
20250
20251 2008-01-10  Colin Watson  <cjwatson@debian.org>
20252
20253         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
20254         s/S_ISNLK/S_ISLNK/.
20255
20256 2008-01-09  Bruno Haible  <bruno@clisp.org>
20257
20258         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
20259         and other files.
20260         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
20261         if it's only a guess.
20262         * modules/memmem: Simplify by depending on memmem-simple.
20263
20264 2008-01-09  Bruno Haible  <bruno@clisp.org>
20265
20266         Work around OpenBSD 4.0 tdelete() bug.
20267         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
20268         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
20269         macros and don't redefine the enum values.
20270         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
20271         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
20272         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
20273
20274 2008-01-09  Bruno Haible  <bruno@clisp.org>
20275
20276         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
20277         (main): Don't perform the tests if setlocale did not install a UTF-8
20278         locale. Needed on OpenBSD 4.0.
20279         * modules/wcwidth-tests (Depends-on): Add localcharset.
20280
20281 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
20282
20283         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
20284         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
20285         * NEWS: announce this.
20286         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
20287
20288 2008-01-09  Simon Josefsson  <simon@josefsson.org>
20289         and Eric Blake  <ebb9@byu.net>
20290
20291         Add memmem-simple module.
20292         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
20293         (gl_FUNC_MEMMEM): Separate performance from presence checks.
20294         * modules/memmem-simple: New file.
20295         * modules/memmem (Description): Tweak.
20296         * MODULES.html.sh (string handling): Mention new module.
20297         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
20298         addressed by memmem-simple.
20299         * NEWS: Document the difference.
20300
20301 2008-01-09  Eric Blake  <ebb9@byu.net>
20302
20303         Give gcc some memmem optimization hints.
20304         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
20305         (strcasestr): Declare as pure.
20306         * modules/memmem (Maintainer): Claim my implementation.
20307
20308 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20309
20310         Support AIX 6.1 and higher.
20311         * build-aux/config.libpath: Likewise.
20312         * build-aux/config.rpath: Likewise.
20313
20314 2008-01-08  Jim Meyering  <meyering@redhat.com>
20315             Bruno Haible  <bruno@clisp.org>
20316
20317         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
20318         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
20319         Reported by Peter Fales in
20320         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
20321
20322 2008-01-08  Bruno Haible  <bruno@clisp.org>
20323
20324         * modules/unictype/category-of (Depends-on): Add
20325         unictype/category-none.
20326         * modules/unictype/category-and-tests (Depends-on): Add
20327         unictype/category-{L,N,Lu,Nd}.
20328         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
20329         * modules/unictype/category-or-tests (Depends-on): Add
20330         unictype/category-{L,N}.
20331         * modules/unictype/category-name-tests (Depends-on): Add
20332         unictype/category-{Z,Nl}.
20333         Reported by Simon Josefsson.
20334
20335 2008-01-08  Bruno Haible  <bruno@clisp.org>
20336
20337         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
20338         convention better.
20339         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
20340         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
20341         Reported by Peter Miller <millerp@canb.auug.org.au>.
20342
20343 2008-01-08  Eric Blake  <ebb9@byu.net>
20344
20345         Rewrite memmem to guarantee linear complexity without malloc.
20346         * lib/memmem.c (memmem): Use Two-Way rather than
20347         Knuth-Morris-Pratt, to allow O(1) space usage.
20348         (critical_factorization, two_way_short_needle)
20349         (two_way_long_needle): New functions.
20350         (knuth_morris_pratt): Delete.
20351         * modules/memmem (Depends-on): No longer need malloca or stdbool.
20352         Add stdint.
20353         * tests/test-memmem.c (main): Add tests for periodic needle and
20354         sublinear performance.
20355         * doc/functions/memmem.texi (memmem): Document other deficiencies
20356         in cygwin and older glibc.
20357
20358 2008-01-08  Bruno Haible  <bruno@clisp.org>
20359
20360         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
20361         augmentation.
20362
20363 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
20364
20365         Add a configure time option: --disable-acl.
20366         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
20367         AC_ARG_ENABLE(acl).
20368
20369 2008-01-06  Simon Josefsson  <simon@josefsson.org>
20370
20371         * tests/test-localename.c: Don't include obsolete "setenv.h".
20372
20373         * modules/localename-tests (Depends-on): Need unsetenv.
20374
20375 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20376
20377         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
20378
20379 2008-01-06  Colin Watson  <cjwatson@debian.org>
20380
20381         * users.txt: Add man-db.
20382
20383 2008-01-07  Bruno Haible  <bruno@clisp.org>
20384
20385         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
20386         previous section name.
20387
20388 2008-01-07  Bruno Haible  <bruno@clisp.org>
20389
20390         * lib/progname.c (set_program_name): Don't strip off a leading
20391         "lt-" prefix outside a .libs directory.
20392         Suggested by Paul Eggert.
20393
20394 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
20395             Bruno Haible  <bruno@clisp.org>
20396
20397         Improve memory cleanup in 'relocatable' module.
20398         * lib/relocatable.h (compute_curr_prefix): Change return type to
20399         'char *'.
20400         * lib/relocatable.c (compute_curr_prefix): Change return type to
20401         'char *'. Free curr_installdir after use.
20402         (relocate): Free curr_prefix_better after use.
20403         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
20404
20405 2008-01-01  Bruno Haible  <bruno@clisp.org>
20406
20407         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
20408         failure on older glibc systems.
20409         Reported by Peter Fales <psfales@alcatel-lucent.com>.
20410
20411 2008-01-05  Eric Blake  <ebb9@byu.net>
20412
20413         Avoid quadratic system memmem.
20414         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
20415         Reported by Ralf Wildenhues.
20416
20417         Fix memmem test for mingw.
20418         * modules/memmem-tests (configure.ac): Check for alarm.
20419         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
20420         it.
20421         * doc/functions/memmem.texi: New file.
20422         * doc/gnulib.texi (Function Substitutes): Add memmem.
20423         Reported by Bruno Haible.
20424
20425 2008-01-04  Bruno Haible  <bruno@clisp.org>
20426
20427         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
20428         Require gl_HEADER_STRINGS_H_DEFAULTS, not
20429         gl_HEADER_STRING_H_DEFAULTS.
20430
20431 2008-01-04  Eric Blake  <ebb9@byu.net>
20432
20433         Shorten duration of memmem test.
20434         * tests/test-memmem.c (main): Use alarm to declare failure if test
20435         is taking too long.
20436         Reported by Ralf Wildenhues.
20437
20438 2007-12-21  Simon Josefsson  <simon@josefsson.org>
20439
20440         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
20441         string, needed by strerror.
20442
20443 2008-01-03  Colin Watson  <cjwatson@debian.org>
20444             Bruno Haible  <bruno@clisp.org>
20445
20446         * doc/gnulib-tool.texi (Localization): New section.
20447
20448 2008-01-02  Bruno Haible  <bruno@clisp.org>
20449
20450         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
20451         variables to 'unsigned char *' type.
20452         Reported by Paul Eggert.
20453
20454 2008-01-02  Jim Meyering  <jim@meyering.net>
20455
20456         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
20457
20458 2007-12-31  Jim Meyering  <jim@meyering.net>
20459
20460         Avoid use of private FTS type name.
20461         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
20462
20463 2007-12-30  Karl Berry  <karl@gnu.org>
20464
20465         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
20466         work around defect in Texinfo and/or the standalone Info browser.
20467
20468 2007-12-30  Bruno Haible  <bruno@clisp.org>
20469
20470         Unify 5 copies of the KMP code.
20471         * lib/str-kmp.h: New file.
20472         * lib/c-strcasestr.c: Include str-kmp.h.
20473         (knuth_morris_pratt): Remove function.
20474         (c_strcasestr): Update.
20475         * lib/c-strstr.c: Include str-kmp.h.
20476         (knuth_morris_pratt): Remove function.
20477         (c_strcasestr): Update.
20478         * lib/mbscasestr.c: Include str-kmp.h.
20479         (knuth_morris_pratt_unibyte): Remove function.
20480         * lib/mbsstr.c: Include str-kmp.h.
20481         (knuth_morris_pratt_unibyte): Remove function.
20482         * lib/strcasestr.c: Include str-kmp.h.
20483         (knuth_morris_pratt): Remove function.
20484         (strcasestr): Update.
20485         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
20486         * modules/c-strstr (Files): Likewise.
20487         * modules/mbscasestr (Files): Likewise.
20488         * modules/mbsstr (Files): Likewise.
20489         * modules/strcasestr (Files): Likewise.
20490         Suggested by Paul Eggert.
20491
20492 2007-12-30  Bruno Haible  <bruno@clisp.org>
20493
20494         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
20495         defined.
20496
20497 2007-12-30  Bruno Haible  <bruno@clisp.org>
20498
20499         * lib/xmalloca.h: Include xalloc.h.
20500         (xnmalloca): New macro.
20501
20502 2007-12-30  Bruno Haible  <bruno@clisp.org>
20503
20504         * lib/malloca.h (nmalloca): New macro.
20505         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
20506         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
20507         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
20508         knuth_morris_pratt_multibyte): Likewise.
20509         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
20510         knuth_morris_pratt_multibyte): Likewise.
20511         * lib/memmem.c (knuth_morris_pratt): Likewise.
20512         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
20513
20514 2007-12-25  Bruno Haible  <bruno@clisp.org>
20515
20516         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
20517         * lib/glob.c: Don't include openat.h.
20518         (link_exists2_p): Add back the code that deals with the
20519         !GLOB_ALTDIRFUNC case.
20520         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
20521         let it do the filename concatenation.
20522         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
20523         * modules/glob (Depends-on): Remove openat.
20524
20525 2007-12-31  Bruno Haible  <bruno@clisp.org>
20526
20527         * modules/dirfd (License): Change to LGPLv2+.
20528         Approved by Jim Meyering.
20529
20530 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
20531
20532         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
20533         when multiplying M by sizeof (size_t).
20534
20535 2007-12-10  Martin Lambers  <marlam@marlam.de>
20536
20537         Override getpagesize on mingw.
20538         * lib/getpagesize.c: New file.
20539         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
20540         * modules/getpagesize (Files): Add lib/getpagesize.c.
20541         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
20542         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20543         REPLACE_GETPAGESIZE.
20544         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
20545
20546 2007-12-25  Bruno Haible  <bruno@clisp.org>
20547
20548         * modules/localcharset (Notice): New field.
20549         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
20550         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
20551
20552 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
20553             Bruno Haible  <bruno@clisp.org>
20554
20555         Avoid using the syntax symbol() in formatted documentation.
20556         * MODULES.html.sh (func_module): When replacing symbol() with a
20557         hyperlink, remove the parentheses. Show an error if some remain.
20558         Recognize and render the '...' syntax.
20559         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
20560         Rework. Add paragraph about GCC's inlining.
20561         * doc/alloca.texi: Likewise.
20562         * doc/error.texi: Remove parentheses from symbol reference.
20563         * doc/gnulib-intro.texi: Likewise.
20564         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
20565         * modules/fnmatch (Description): Reword to say "the ... function".
20566         * modules/full-read (Description): Likewise.
20567         * modules/full-write (Description): Likewise.
20568         * modules/safe-read (Description): Likewise.
20569         * modules/safe-write (Description): Likewise.
20570         * modules/strchrnul (Description): Likewise.
20571         * modules/trim (Description): Likewise.
20572         * modules/error (Description): Remove parentheses from symbol
20573         references.
20574         * modules/verror (Description): Likewise.
20575         Reported by Karl Berry.
20576
20577 2007-12-25  Bruno Haible  <bruno@clisp.org>
20578
20579         Fixup after 2007-10-16 commit.
20580         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
20581
20582 2007-12-24  Bruno Haible  <bruno@clisp.org>
20583
20584         Make --enable-relocatable work with DESTDIR.
20585         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
20586         to compute installdir from destprog.
20587         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
20588         also set the RELOC_DESTDIR variable.
20589         Reported by Левашев Иван <octagram@bluebottle.com>.
20590
20591 2007-12-24  Bruno Haible  <bruno@clisp.org>
20592
20593         Fix link error due to xalloc_die().
20594         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
20595         of xreadlink.
20596         * lib/relocwrapper.c: Update comments.
20597         * build-aux/install-reloc: Remove xreadlink.c from file list.
20598         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
20599         xreadlink.c.
20600         Reported by Левашев Иван <octagram@bluebottle.com>.
20601
20602 2007-12-24  Bruno Haible  <bruno@clisp.org>
20603
20604         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
20605         * lib/setenv.h: Remove file.
20606         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
20607         lib/setenv.h.
20608         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
20609         (Depends-on): Add stdlib.
20610         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
20611         gl_FUNC_UNSETENV.
20612         (Include): Replace setenv.h with <stdlib.h>.
20613         * modules/unsetenv: New file.
20614         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
20615         * lib/unsetenv.c: Include <stdlib.h> first.
20616         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
20617         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
20618         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
20619         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
20620         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
20621         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
20622         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
20623         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
20624         * doc/functions/unsetenv.texi: Update.
20625         * modules/xsetenv (Depends-on): Add unsetenv.
20626         * modules/getdate (Depends-on): Likewise.
20627         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
20628         * lib/xsetenv.c: Don't include setenv.h.
20629         * lib/getdate.y: Likewise.
20630         * lib/relocwrapper.c: Likewise.
20631         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
20632         (Depends-on): Add stdlib.
20633         * NEWS: Mention the changes.
20634         Reported by Левашев Иван <octagram@bluebottle.com>.
20635
20636 2007-12-23  Bruno Haible  <bruno@clisp.org>
20637
20638         * lib/memmem.c (memmem): Use lowercase variable names. Tab
20639         indentation.
20640
20641 2007-12-23  Bruno Haible  <bruno@clisp.org>
20642
20643         * lib/c-strcasestr.c: Add more comments.
20644         * lib/c-strstr.c: Likewise.
20645         * lib/mbscasestr.c: Likewise.
20646         * lib/mbsstr.c: Likewise.
20647         * lib/strcasestr.c: Likewise.
20648         * lib/memmem.c: Likewise.
20649
20650 2007-12-23  Bruno Haible  <bruno@clisp.org>
20651
20652         * tests/test-memmem.c: Include <string.h> first.
20653
20654 2007-12-22  Bruno Haible  <bruno@clisp.org>
20655
20656         * gnulib-tool (func_create_testdir): Change $auxdir while generating
20657         the contents of $testsbase.
20658         Reported by Ralf Wildenhues.
20659
20660 2007-12-22  Bruno Haible  <bruno@clisp.org>
20661
20662         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
20663         two variables local_ldadd_before, local_ldadd_last.
20664
20665 2007-12-20  Eric Blake  <ebb9@byu.net>
20666
20667         Work around circular library issue when cross-compiling.
20668         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
20669         that progname.o does not need to pull in rpl_memcmp.
20670
20671 2007-12-19  Eric Blake  <ebb9@byu.net>
20672
20673         Fix memmem to avoid O(n^2) worst-case complexity.
20674         * lib/memmem.c (knuth_morris_pratt): New function.
20675         (memmem): Use it if first few naive iterations fail.
20676         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
20677         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
20678         * modules/memchr (License): Likewise.
20679         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
20680         malloca.
20681         * tests/test-memmem.c: Rewrite, borrowing ideas from
20682         test-mbsstr1.c; the old version wouldn't even compile!
20683         * modules/memmem-tests: New file.
20684         * lib/string.in.h (rpl_memmem): Add declaration.
20685         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
20686         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
20687         REPLACE_MEMMEM.
20688
20689 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
20690
20691         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
20692         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
20693         before any system include files, and undef after them all.  This
20694         should fix a problem on VMS reported by John E. Malmberg in
20695         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
20696
20697 2007-12-17  Eric Blake  <ebb9@byu.net>
20698
20699         Revert addition of verify, for BSD/OS.
20700         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
20701         can't handle large files, for the sake of obsolete platforms.
20702         * modules/fseeko (Depends-on): Remove verify.
20703         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
20704         * doc/functions/ftello.texi (ftello): Likewise.
20705         * doc/functions/fgetpos.texi (fgetpos): Likewise.
20706         Reported by Larry Jones.
20707
20708 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
20709
20710         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
20711         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
20712
20713 2007-12-17  Jim Meyering  <meyering@redhat.com>
20714
20715         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
20716         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
20717         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
20718         * modules/getcwd (Depends-on): Add openat.
20719         Reported by Petr Salinger.
20720
20721 2007-12-17  Bruno Haible  <bruno@clisp.org>
20722
20723         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
20724         avoid a segmentation fault of the configure test on x86_64 systems.
20725
20726 2007-12-15  Jim Meyering  <meyering@redhat.com>
20727
20728         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
20729
20730 2007-12-13  Eric Blake  <ebb9@byu.net>
20731
20732         Another fseek test.
20733         * tests/test-fseek.c (main): Also test ungetc handling.
20734         * tests/test-fseeko.c (main): Likewise.
20735         * modules/fseeko (Depends-on): Add verify.
20736         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
20737         large.
20738         Reported by Larry Jones.
20739
20740         Fix fseeko on mingw.
20741         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
20742         seek.
20743
20744         Beef up fseek tests.
20745         * tests/test-fseek.c (main): Also test eof handling.
20746         * tests/test-fseeko.c (main): Likewise.
20747         Reported by Larry Jones.
20748
20749 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
20750
20751         Fix fseeko on BSD-based platforms.
20752         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
20753         successful seek.
20754
20755 2007-12-12  Eric Blake  <ebb9@byu.net>
20756
20757         Allow circular dependency of separate libtests.a
20758         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
20759         when use_libtests.
20760
20761 2007-12-11  Eric Blake  <ebb9@byu.net>
20762
20763         Fix bug with -0.0L in previous patch.
20764         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
20765         * tests/test-isnan.c (main): Also test on zeroes.
20766         * tests/test-isnanf.c (main): Likewise.
20767         * tests/test-isnanl.h (main): Likewise.
20768
20769         Detect pseudo-denormals on x86 even when cross-compiling.
20770         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
20771         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
20772         invalid bit patterns that happen to satisfy ==.
20773
20774         Avoid link failures with separate libtests.a.
20775         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
20776         last, to satisfy circular dependencies.
20777
20778 2007-12-11  Eric Blake  <ebb9@byu.net>
20779         and Bruno Haible  <bruno@clisp.org>
20780
20781         Fix OpenBSD 4.0 <float.h> handling of long double.
20782         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
20783         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
20784         * doc/headers/float.texi (float.h): Document OpenBSD bug.
20785
20786 2007-12-11  Jim Meyering  <meyering@redhat.com>
20787
20788         * users.txt: Add libvirt.
20789
20790         Support versions of autoconf prior to 2.59c.
20791         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
20792         if it is not already defined.
20793
20794 2007-12-09  Bruno Haible  <bruno@clisp.org>
20795
20796         Let 'gnulib-tool --import' collect sources needed for the tests in
20797         tests/ rather than in lib/.
20798         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
20799         argument. If true, add rules to generate libtests.a, and put libtests.a
20800         into $(LDADD). Consider source files in subdirectories and set
20801         uses_subdirs.
20802         (func_emit_initmacro_start, func_emit_initmacro_end,
20803         func_emit_initmacro_done): Pass all arguments explicitly.
20804         (func_import): Determine two module lists main_modules,
20805         testsrelated_modules. Determine use_libtests. Determine two variables
20806         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
20807         instead of just sed_transform_lib_file. Determine two variables
20808         main_files and testsrelated_files. Compute 'files' as the union of
20809         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
20810         func_add_or_update. In the generated gnulib-comp.m4, collect the
20811         object files for tests/ in different variables than those for lib/.
20812         Substitute LIBTESTS_LIBDEPS.
20813         (func_create_testdir): Combine the uses_subdirs results from
20814         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
20815
20816 2007-12-09  Bruno Haible  <bruno@clisp.org>
20817
20818         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
20819         the build-aux directory.
20820
20821 2007-12-09  Bruno Haible  <bruno@clisp.org>
20822
20823         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
20824         introduced on 2006-09-09.
20825
20826 2007-12-07  Jim Meyering  <meyering@redhat.com>
20827
20828         Let these macros work also with autoconf-2.59.
20829         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
20830         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
20831         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
20832
20833 2007-12-06  Jim Meyering  <meyering@redhat.com>
20834
20835         Avoid a configure-time syntax error in gl_FUNC_ACL.
20836         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
20837         function in each branch, before testing the cache variable.
20838
20839 2007-12-04  Eric Blake  <ebb9@byu.net>
20840
20841         Make scripts executable.
20842         * build-aux/config.guess: Add execute permissions.
20843         * build-aux/config.sub: Likewise.
20844         * build-aux/gendocs.sh: Likewise.
20845
20846         Fix frexp on mingw.
20847         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
20848         cross-compiling.
20849         * doc/functions/frexp.texi (frexp): Document the bug.
20850
20851         Make cygwin fseeko check more reliable.
20852         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
20853         version numbers, rather than unrelated feature check.
20854         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
20855         * doc/functions/ftello.texi (ftello): Likewise.
20856         Reported by Bruno Haible.
20857
20858         * m4/strerror.m4: Bump version number.
20859
20860 2007-12-03  Bruno Haible  <bruno@clisp.org>
20861
20862         * doc/functions/mprotect.texi: Mention the mingw problem.
20863
20864 2007-12-03  Eric Blake  <ebb9@byu.net>
20865
20866         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
20867         REPLACE_STRERROR is initialized before this macro.
20868
20869 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
20870
20871         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
20872         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
20873         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
20874         put -lsec in even for programs other than 'ls'.  This fixes a problem
20875         for gettext reported by Bruno Haible in
20876         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
20877         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
20878         Add support for Solaris 10.  This isn't efficient, but should get the
20879         job done for now.
20880
20881 2007-12-03  James Youngman  <jay@gnu.org>
20882
20883         * doc/regexprops-generic.texi: change "an close-group" to "a
20884         close-group" and "illegal" to "not allowed".
20885
20886 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20887
20888         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
20889         pr_byname.h. Needed for the rare case when the maintainer has done
20890         "make maintainer-clean" in the source directory and then attempts a
20891         build outside the source directory.
20892         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
20893         scripts_byname.h.
20894
20895 2007-12-02  Martin Lambers <marlam@marlam.de>
20896             Bruno Haible  <bruno@clisp.org>
20897
20898         * lib/getpagesize.h: Remove file.
20899         * lib/unistd.in.h: Include declaration of getpagesize here.
20900         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
20901         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
20902         HAVE_SYS_PARAM_H.
20903         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
20904         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
20905         * modules/getpagesize (Files): Remove lib/getpagesize.h.
20906         (Depends-on): Add unistd.
20907         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20908         (Include): Use <unistd.h> instead of getpagesize.h.
20909         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
20910         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
20911         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
20912         gl_GETPAGESIZE invocation, already handled by module dependency.
20913         * lib/pagealign_alloc.c: Don't include getpagesize.h.
20914
20915 2007-12-02  Bruno Haible  <bruno@clisp.org>
20916
20917         * modules/strings-tests: New file.
20918         * tests/test-strings.c: New file.
20919
20920         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
20921         * lib/strings.in.h: New file.
20922         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
20923         * m4/strings_h.m4: New file.
20924         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
20925         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
20926         * modules/strings: New file.
20927         * modules/string (Makefile.am): Update.
20928         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
20929         Reported by Karl Berry.
20930
20931 2007-12-01  Eric Blake  <ebb9@byu.net>
20932
20933         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
20934         accomodate fix in cygwin 1.5.25.
20935
20936 2007-12-01  Jim Meyering  <meyering@redhat.com>
20937
20938         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
20939         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
20940         that would inhibit utf8-optimization of a regexp containing line-
20941         or buffer-anchors, e.g., `^', `$'.
20942
20943 2007-11-30  Bruno Haible  <bruno@clisp.org>
20944
20945         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
20946         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
20947         glthread_recursive_lock_init.
20948         * lib/lock.c (glthread_recursive_lock_init)
20949         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
20950         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
20951
20952 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
20953
20954         New function qset_acl, like set_acl but with syscall semantics.
20955         * lib/acl.h (qset_acl): New decl.
20956         * lib/acl.c (qset_acl): New function.
20957         (set_acl): Use new function.  Use more-consistent diagnostics.
20958
20959 2007-11-28  Jim Meyering  <meyering@redhat.com>
20960
20961         * modules/physmem (License): Change from GPL to LGPLv2+.
20962
20963 2007-11-26  Bruno Haible  <bruno@clisp.org>
20964
20965         * lib/vasnprintf.c (decode_long_double): Don't abort if the
20966         'long double' type has excess precision.
20967         Reported by Jim Meyering in
20968         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
20969
20970 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20971
20972         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
20973         Sync from <http://gnu.org/licenses>.
20974         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
20975         with license text from same location.
20976         * doc/maintain.texi, doc/standards.texi:  Sync from
20977         <http://savannah.gnu.org/projects/gnustandards>.
20978
20979 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
20980         and Jim Meyering  <meyering@redhat.com>
20981
20982         Adjust getdate' grammar to accept a slightly more regular language.
20983         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
20984         Before, the former was rejected.
20985         * lib/getdate.y (digits_to_date_time): New function, factored
20986         out of ...
20987         (number): ...here.  Just call digits_to_date_time.
20988         (hybrid): New non-terminal to handle an <unsigned number,
20989         signed relative offset> sequence consistently.
20990
20991 2007-11-18  Jim Meyering  <meyering@redhat.com>
20992
20993         Pull my changes from coreutils:
20994         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
20995         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
20996         use of $gnulib_tool_option_extras, so that it's separated from the
20997         preceding argument.
20998
20999         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
21000         * build-aux/bootstrap (cp_mark_as_generated): Create any required
21001         parent destination directories before copying a file into place.
21002
21003 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
21004
21005         bootstrap: work also with 4-argument variant of AC_INIT
21006         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
21007
21008 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
21009
21010         Port test-getaddrinfo to Solaris.
21011         Problem reported by Bruno Haible in
21012         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
21013         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
21014         explanation of setting 'hints'.
21015         Don't reject an implementation merely because it returns EAI_SERVICE.
21016         (EAI_SERVICE): Define to 0 if not defined.
21017
21018 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
21019
21020         The license of gnu-make and posix-shell is now "GPLed build tool".
21021         * modules/gnu-make (License): Likewise.
21022         * modules/posix-shell (License): Likewise.
21023
21024         New module posix-shell, for determining a POSIX shell
21025         or perhaps something that is close enough to a POSIX shell.
21026         * m4/posix-shell.m4: New file.
21027         * modules/posix-shell: New file.
21028
21029         * MODULES.html.sh: Mention new module.
21030
21031         New module gnu-make, for determining whether we're using GNU Make.
21032         * m4/gnu-make.m4: New file.
21033         * modules/gnu-make: New file.
21034         * MODULES.html.sh: Mention new module.
21035
21036 2007-11-14  Jim Meyering  <meyering@redhat.com>
21037
21038         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
21039         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
21040         use this macro to create a function _definition_.
21041         Remove useless "#undef ARGMATCH_DIE".
21042
21043 2007-11-14  Bruno Haible  <bruno@clisp.org>
21044
21045         * lib/config.charset: Update for OpenBSD 4.1.
21046         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
21047
21048 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
21049
21050         Document 64-bit #if problems in stdint.texi.
21051         * doc/headers/stdint.texi (stdint.h): Mention problems with
21052         64-bit-#if, and how to work around them.
21053
21054         Don't insist on 'long long int' support in the preprocessor.  It
21055         breaks too many things.  For example, PRIdMAX still uses a 'long
21056         long int' format with the latest Sun compiler, even though
21057         HAVE_LONG_LONG_INT isn't defined due to that compiler's
21058         preprocessor problem.  This causes the latest coreutils to dump
21059         core on Solaris 10 sparc with the Sun C compiler.
21060         Instead, fix the 2007-10-16 problem in a different way, by evaluating
21061         the troublesome expressions at configure-time, not at #if-time.
21062         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
21063         preprocessor.
21064         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
21065         compile-time C checks, done at 'configure'-time.
21066         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
21067         * modules/inttypes (Makefile): Substitute the new symbols that
21068         gl_INTTYPES_H now generates.
21069         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
21070
21071 2007-11-12  Bruno Haible  <bruno@clisp.org>
21072
21073         Tests for Unicode character classification functions.
21074
21075         * modules/unictype/bidicategory-byname-tests: New file.
21076         * modules/unictype/bidicategory-name-tests: New file.
21077         * modules/unictype/bidicategory-of-tests: New file.
21078         * modules/unictype/bidicategory-test-tests: New file.
21079         * modules/unictype/block-list-tests: New file.
21080         * modules/unictype/block-of-tests: New file.
21081         * modules/unictype/block-test-tests: New file.
21082         * modules/unictype/category-C-tests: New file.
21083         * modules/unictype/category-Cc-tests: New file.
21084         * modules/unictype/category-Cf-tests: New file.
21085         * modules/unictype/category-Cn-tests: New file.
21086         * modules/unictype/category-Co-tests: New file.
21087         * modules/unictype/category-Cs-tests: New file.
21088         * modules/unictype/category-L-tests: New file.
21089         * modules/unictype/category-Ll-tests: New file.
21090         * modules/unictype/category-Lm-tests: New file.
21091         * modules/unictype/category-Lo-tests: New file.
21092         * modules/unictype/category-Lt-tests: New file.
21093         * modules/unictype/category-Lu-tests: New file.
21094         * modules/unictype/category-M-tests: New file.
21095         * modules/unictype/category-Mc-tests: New file.
21096         * modules/unictype/category-Me-tests: New file.
21097         * modules/unictype/category-Mn-tests: New file.
21098         * modules/unictype/category-N-tests: New file.
21099         * modules/unictype/category-Nd-tests: New file.
21100         * modules/unictype/category-Nl-tests: New file.
21101         * modules/unictype/category-No-tests: New file.
21102         * modules/unictype/category-P-tests: New file.
21103         * modules/unictype/category-Pc-tests: New file.
21104         * modules/unictype/category-Pd-tests: New file.
21105         * modules/unictype/category-Pe-tests: New file.
21106         * modules/unictype/category-Pf-tests: New file.
21107         * modules/unictype/category-Pi-tests: New file.
21108         * modules/unictype/category-Po-tests: New file.
21109         * modules/unictype/category-Ps-tests: New file.
21110         * modules/unictype/category-S-tests: New file.
21111         * modules/unictype/category-Sc-tests: New file.
21112         * modules/unictype/category-Sk-tests: New file.
21113         * modules/unictype/category-Sm-tests: New file.
21114         * modules/unictype/category-So-tests: New file.
21115         * modules/unictype/category-Z-tests: New file.
21116         * modules/unictype/category-Zl-tests: New file.
21117         * modules/unictype/category-Zp-tests: New file.
21118         * modules/unictype/category-Zs-tests: New file.
21119         * modules/unictype/category-and-not-tests: New file.
21120         * modules/unictype/category-and-tests: New file.
21121         * modules/unictype/category-byname-tests: New file.
21122         * modules/unictype/category-name-tests: New file.
21123         * modules/unictype/category-none-tests: New file.
21124         * modules/unictype/category-of-tests: New file.
21125         * modules/unictype/category-or-tests: New file.
21126         * modules/unictype/category-test-withtable-tests: New file.
21127         * modules/unictype/combining-class-tests: New file.
21128         * modules/unictype/ctype-alnum-tests: New file.
21129         * modules/unictype/ctype-alpha-tests: New file.
21130         * modules/unictype/ctype-blank-tests: New file.
21131         * modules/unictype/ctype-cntrl-tests: New file.
21132         * modules/unictype/ctype-digit-tests: New file.
21133         * modules/unictype/ctype-graph-tests: New file.
21134         * modules/unictype/ctype-lower-tests: New file.
21135         * modules/unictype/ctype-print-tests: New file.
21136         * modules/unictype/ctype-punct-tests: New file.
21137         * modules/unictype/ctype-space-tests: New file.
21138         * modules/unictype/ctype-upper-tests: New file.
21139         * modules/unictype/ctype-xdigit-tests: New file.
21140         * modules/unictype/decimal-digit-tests: New file.
21141         * modules/unictype/digit-tests: New file.
21142         * modules/unictype/mirror-tests: New file.
21143         * modules/unictype/numeric-tests: New file.
21144         * modules/unictype/property-alphabetic-tests: New file.
21145         * modules/unictype/property-ascii-hex-digit-tests: New file.
21146         * modules/unictype/property-bidi-arabic-digit-tests: New file.
21147         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
21148         * modules/unictype/property-bidi-block-separator-tests: New file.
21149         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
21150         * modules/unictype/property-bidi-common-separator-tests: New file.
21151         * modules/unictype/property-bidi-control-tests: New file.
21152         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
21153         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
21154         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
21155         * modules/unictype/property-bidi-european-digit-tests: New file.
21156         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
21157         * modules/unictype/property-bidi-left-to-right-tests: New file.
21158         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
21159         * modules/unictype/property-bidi-other-neutral-tests: New file.
21160         * modules/unictype/property-bidi-pdf-tests: New file.
21161         * modules/unictype/property-bidi-segment-separator-tests: New file.
21162         * modules/unictype/property-bidi-whitespace-tests: New file.
21163         * modules/unictype/property-byname-tests: New file.
21164         * modules/unictype/property-combining-tests: New file.
21165         * modules/unictype/property-composite-tests: New file.
21166         * modules/unictype/property-currency-symbol-tests: New file.
21167         * modules/unictype/property-dash-tests: New file.
21168         * modules/unictype/property-decimal-digit-tests: New file.
21169         * modules/unictype/property-default-ignorable-code-point-tests: New file.
21170         * modules/unictype/property-deprecated-tests: New file.
21171         * modules/unictype/property-diacritic-tests: New file.
21172         * modules/unictype/property-extender-tests: New file.
21173         * modules/unictype/property-format-control-tests: New file.
21174         * modules/unictype/property-grapheme-base-tests: New file.
21175         * modules/unictype/property-grapheme-extend-tests: New file.
21176         * modules/unictype/property-grapheme-link-tests: New file.
21177         * modules/unictype/property-hex-digit-tests: New file.
21178         * modules/unictype/property-hyphen-tests: New file.
21179         * modules/unictype/property-id-continue-tests: New file.
21180         * modules/unictype/property-id-start-tests: New file.
21181         * modules/unictype/property-ideographic-tests: New file.
21182         * modules/unictype/property-ids-binary-operator-tests: New file.
21183         * modules/unictype/property-ids-trinary-operator-tests: New file.
21184         * modules/unictype/property-ignorable-control-tests: New file.
21185         * modules/unictype/property-iso-control-tests: New file.
21186         * modules/unictype/property-join-control-tests: New file.
21187         * modules/unictype/property-left-of-pair-tests: New file.
21188         * modules/unictype/property-line-separator-tests: New file.
21189         * modules/unictype/property-logical-order-exception-tests: New file.
21190         * modules/unictype/property-lowercase-tests: New file.
21191         * modules/unictype/property-math-tests: New file.
21192         * modules/unictype/property-non-break-tests: New file.
21193         * modules/unictype/property-not-a-character-tests: New file.
21194         * modules/unictype/property-numeric-tests: New file.
21195         * modules/unictype/property-other-alphabetic-tests: New file.
21196         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
21197         * modules/unictype/property-other-grapheme-extend-tests: New file.
21198         * modules/unictype/property-other-id-continue-tests: New file.
21199         * modules/unictype/property-other-id-start-tests: New file.
21200         * modules/unictype/property-other-lowercase-tests: New file.
21201         * modules/unictype/property-other-math-tests: New file.
21202         * modules/unictype/property-other-uppercase-tests: New file.
21203         * modules/unictype/property-paired-punctuation-tests: New file.
21204         * modules/unictype/property-paragraph-separator-tests: New file.
21205         * modules/unictype/property-pattern-syntax-tests: New file.
21206         * modules/unictype/property-pattern-white-space-tests: New file.
21207         * modules/unictype/property-private-use-tests: New file.
21208         * modules/unictype/property-punctuation-tests: New file.
21209         * modules/unictype/property-quotation-mark-tests: New file.
21210         * modules/unictype/property-radical-tests: New file.
21211         * modules/unictype/property-sentence-terminal-tests: New file.
21212         * modules/unictype/property-soft-dotted-tests: New file.
21213         * modules/unictype/property-space-tests: New file.
21214         * modules/unictype/property-terminal-punctuation-tests: New file.
21215         * modules/unictype/property-test-tests: New file.
21216         * modules/unictype/property-titlecase-tests: New file.
21217         * modules/unictype/property-unassigned-code-value-tests: New file.
21218         * modules/unictype/property-unified-ideograph-tests: New file.
21219         * modules/unictype/property-uppercase-tests: New file.
21220         * modules/unictype/property-variation-selector-tests: New file.
21221         * modules/unictype/property-white-space-tests: New file.
21222         * modules/unictype/property-xid-continue-tests: New file.
21223         * modules/unictype/property-xid-start-tests: New file.
21224         * modules/unictype/property-zero-width-tests: New file.
21225         * modules/unictype/scripts-tests: New file.
21226         * modules/unictype/syntax-c-ident-tests: New file.
21227         * modules/unictype/syntax-c-whitespace-tests: New file.
21228         * modules/unictype/syntax-java-ident-tests: New file.
21229         * modules/unictype/syntax-java-whitespace-tests: New file.
21230         * tests/unictype/test-bidi_byname.c: New file.
21231         * tests/unictype/test-bidi_name.c: New file.
21232         * tests/unictype/test-bidi_of.c: New file.
21233         * tests/unictype/test-bidi_test.c: New file.
21234         * tests/unictype/test-block_list.c: New file.
21235         * tests/unictype/test-block_of.c: New file.
21236         * tests/unictype/test-block_test.c: New file.
21237         * tests/unictype/test-categ_and.c: New file.
21238         * tests/unictype/test-categ_and_not.c: New file.
21239         * tests/unictype/test-categ_byname.c: New file.
21240         * tests/unictype/test-categ_name.c: New file.
21241         * tests/unictype/test-categ_none.c: New file.
21242         * tests/unictype/test-categ_of.c: New file.
21243         * tests/unictype/test-categ_or.c: New file.
21244         * tests/unictype/test-categ_test_withtable.c: New file.
21245         * tests/unictype/test-combining.c: New file.
21246         * tests/unictype/test-decdigit.c: New file.
21247         * tests/unictype/test-digit.c: New file.
21248         * tests/unictype/test-mirror.c: New file.
21249         * tests/unictype/test-numeric.c: New file.
21250         * tests/unictype/test-pr_byname.c: New file.
21251         * tests/unictype/test-pr_test.c: New file.
21252         * tests/unictype/test-predicate-part1.h: New file.
21253         * tests/unictype/test-predicate-part2.h: New file.
21254         * tests/unictype/test-scripts.c: New file.
21255         * tests/unictype/test-sy_c_ident.c: New file.
21256         * tests/unictype/test-sy_java_ident.c: New file.
21257
21258         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
21259         for Unicode 5.0.0.
21260         * tests/unictype/test-categ_Cc.c: Likewise.
21261         * tests/unictype/test-categ_Cf.c: Likewise.
21262         * tests/unictype/test-categ_Cn.c: Likewise.
21263         * tests/unictype/test-categ_Co.c: Likewise.
21264         * tests/unictype/test-categ_Cs.c: Likewise.
21265         * tests/unictype/test-categ_L.c: Likewise.
21266         * tests/unictype/test-categ_Ll.c: Likewise.
21267         * tests/unictype/test-categ_Lm.c: Likewise.
21268         * tests/unictype/test-categ_Lo.c: Likewise.
21269         * tests/unictype/test-categ_Lt.c: Likewise.
21270         * tests/unictype/test-categ_Lu.c: Likewise.
21271         * tests/unictype/test-categ_M.c: Likewise.
21272         * tests/unictype/test-categ_Mc.c: Likewise.
21273         * tests/unictype/test-categ_Me.c: Likewise.
21274         * tests/unictype/test-categ_Mn.c: Likewise.
21275         * tests/unictype/test-categ_N.c: Likewise.
21276         * tests/unictype/test-categ_Nd.c: Likewise.
21277         * tests/unictype/test-categ_Nl.c: Likewise.
21278         * tests/unictype/test-categ_No.c: Likewise.
21279         * tests/unictype/test-categ_P.c: Likewise.
21280         * tests/unictype/test-categ_Pc.c: Likewise.
21281         * tests/unictype/test-categ_Pd.c: Likewise.
21282         * tests/unictype/test-categ_Pe.c: Likewise.
21283         * tests/unictype/test-categ_Pf.c: Likewise.
21284         * tests/unictype/test-categ_Pi.c: Likewise.
21285         * tests/unictype/test-categ_Po.c: Likewise.
21286         * tests/unictype/test-categ_Ps.c: Likewise.
21287         * tests/unictype/test-categ_S.c: Likewise.
21288         * tests/unictype/test-categ_Sc.c: Likewise.
21289         * tests/unictype/test-categ_Sk.c: Likewise.
21290         * tests/unictype/test-categ_Sm.c: Likewise.
21291         * tests/unictype/test-categ_So.c: Likewise.
21292         * tests/unictype/test-categ_Z.c: Likewise.
21293         * tests/unictype/test-categ_Zl.c: Likewise.
21294         * tests/unictype/test-categ_Zp.c: Likewise.
21295         * tests/unictype/test-categ_Zs.c: Likewise.
21296         * tests/unictype/test-ctype_alnum.c: Likewise.
21297         * tests/unictype/test-ctype_alpha.c: Likewise.
21298         * tests/unictype/test-ctype_blank.c: Likewise.
21299         * tests/unictype/test-ctype_cntrl.c: Likewise.
21300         * tests/unictype/test-ctype_digit.c: Likewise.
21301         * tests/unictype/test-ctype_graph.c: Likewise.
21302         * tests/unictype/test-ctype_lower.c: Likewise.
21303         * tests/unictype/test-ctype_print.c: Likewise.
21304         * tests/unictype/test-ctype_punct.c: Likewise.
21305         * tests/unictype/test-ctype_space.c: Likewise.
21306         * tests/unictype/test-ctype_upper.c: Likewise.
21307         * tests/unictype/test-ctype_xdigit.c: Likewise.
21308         * tests/unictype/test-decdigit.h: Likewise.
21309         * tests/unictype/test-digit.h: Likewise.
21310         * tests/unictype/test-numeric.h: Likewise.
21311         * tests/unictype/test-pr_alphabetic.c: Likewise.
21312         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
21313         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
21314         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
21315         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
21316         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
21317         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
21318         * tests/unictype/test-pr_bidi_control.c: Likewise.
21319         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
21320         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
21321         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
21322         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
21323         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
21324         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
21325         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
21326         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
21327         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
21328         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
21329         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
21330         * tests/unictype/test-pr_combining.c: Likewise.
21331         * tests/unictype/test-pr_composite.c: Likewise.
21332         * tests/unictype/test-pr_currency_symbol.c: Likewise.
21333         * tests/unictype/test-pr_dash.c: Likewise.
21334         * tests/unictype/test-pr_decimal_digit.c: Likewise.
21335         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
21336         * tests/unictype/test-pr_deprecated.c: Likewise.
21337         * tests/unictype/test-pr_diacritic.c: Likewise.
21338         * tests/unictype/test-pr_extender.c: Likewise.
21339         * tests/unictype/test-pr_format_control.c: Likewise.
21340         * tests/unictype/test-pr_grapheme_base.c: Likewise.
21341         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
21342         * tests/unictype/test-pr_grapheme_link.c: Likewise.
21343         * tests/unictype/test-pr_hex_digit.c: Likewise.
21344         * tests/unictype/test-pr_hyphen.c: Likewise.
21345         * tests/unictype/test-pr_id_continue.c: Likewise.
21346         * tests/unictype/test-pr_id_start.c: Likewise.
21347         * tests/unictype/test-pr_ideographic.c: Likewise.
21348         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
21349         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
21350         * tests/unictype/test-pr_ignorable_control.c: Likewise.
21351         * tests/unictype/test-pr_iso_control.c: Likewise.
21352         * tests/unictype/test-pr_join_control.c: Likewise.
21353         * tests/unictype/test-pr_left_of_pair.c: Likewise.
21354         * tests/unictype/test-pr_line_separator.c: Likewise.
21355         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
21356         * tests/unictype/test-pr_lowercase.c: Likewise.
21357         * tests/unictype/test-pr_math.c: Likewise.
21358         * tests/unictype/test-pr_non_break.c: Likewise.
21359         * tests/unictype/test-pr_not_a_character.c: Likewise.
21360         * tests/unictype/test-pr_numeric.c: Likewise.
21361         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
21362         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
21363         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
21364         * tests/unictype/test-pr_other_id_continue.c: Likewise.
21365         * tests/unictype/test-pr_other_id_start.c: Likewise.
21366         * tests/unictype/test-pr_other_lowercase.c: Likewise.
21367         * tests/unictype/test-pr_other_math.c: Likewise.
21368         * tests/unictype/test-pr_other_uppercase.c: Likewise.
21369         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
21370         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
21371         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
21372         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
21373         * tests/unictype/test-pr_private_use.c: Likewise.
21374         * tests/unictype/test-pr_punctuation.c: Likewise.
21375         * tests/unictype/test-pr_quotation_mark.c: Likewise.
21376         * tests/unictype/test-pr_radical.c: Likewise.
21377         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
21378         * tests/unictype/test-pr_soft_dotted.c: Likewise.
21379         * tests/unictype/test-pr_space.c: Likewise.
21380         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
21381         * tests/unictype/test-pr_titlecase.c: Likewise.
21382         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
21383         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
21384         * tests/unictype/test-pr_uppercase.c: Likewise.
21385         * tests/unictype/test-pr_variation_selector.c: Likewise.
21386         * tests/unictype/test-pr_white_space.c: Likewise.
21387         * tests/unictype/test-pr_xid_continue.c: Likewise.
21388         * tests/unictype/test-pr_xid_start.c: Likewise.
21389         * tests/unictype/test-pr_zero_width.c: Likewise.
21390         * tests/unictype/test-sy_c_whitespace.c: Likewise.
21391         * tests/unictype/test-sy_java_whitespace.c: Likewise.
21392
21393 2007-11-12  Bruno Haible  <bruno@clisp.org>
21394
21395         Unicode character classification functions.
21396         * lib/unictype.h: New file.
21397         * modules/unictype/base: New file.
21398         * modules/unictype/category-L: New file.
21399         * modules/unictype/category-Lu: New file.
21400         * modules/unictype/category-Ll: New file.
21401         * modules/unictype/category-Lt: New file.
21402         * modules/unictype/category-Lm: New file.
21403         * modules/unictype/category-Lo: New file.
21404         * modules/unictype/category-M: New file.
21405         * modules/unictype/category-Mn: New file.
21406         * modules/unictype/category-Mc: New file.
21407         * modules/unictype/category-Me: New file.
21408         * modules/unictype/category-N: New file.
21409         * modules/unictype/category-Nd: New file.
21410         * modules/unictype/category-Nl: New file.
21411         * modules/unictype/category-No: New file.
21412         * modules/unictype/category-P: New file.
21413         * modules/unictype/category-Pc: New file.
21414         * modules/unictype/category-Pd: New file.
21415         * modules/unictype/category-Ps: New file.
21416         * modules/unictype/category-Pe: New file.
21417         * modules/unictype/category-Pi: New file.
21418         * modules/unictype/category-Pf: New file.
21419         * modules/unictype/category-Po: New file.
21420         * modules/unictype/category-S: New file.
21421         * modules/unictype/category-Sm: New file.
21422         * modules/unictype/category-Sc: New file.
21423         * modules/unictype/category-Sk: New file.
21424         * modules/unictype/category-So: New file.
21425         * modules/unictype/category-Z: New file.
21426         * modules/unictype/category-Zs: New file.
21427         * modules/unictype/category-Zl: New file.
21428         * modules/unictype/category-Zp: New file.
21429         * modules/unictype/category-C: New file.
21430         * modules/unictype/category-Cc: New file.
21431         * modules/unictype/category-Cf: New file.
21432         * modules/unictype/category-Cs: New file.
21433         * modules/unictype/category-Co: New file.
21434         * modules/unictype/category-Cn: New file.
21435         * modules/unictype/category-or: New file.
21436         * modules/unictype/category-of: New file.
21437         * modules/unictype/category-test: New file.
21438         * modules/unictype/category-test-withtable: New file.
21439         * modules/unictype/category-byname: New file.
21440         * modules/unictype/category-none: New file.
21441         * modules/unictype/category-and: New file.
21442         * modules/unictype/category-and-not: New file.
21443         * modules/unictype/category-name: New file.
21444         * modules/unictype/combining-class: New file.
21445         * modules/unictype/category-all: New file.
21446         * modules/unictype/bidicategory-all: New file.
21447         * modules/unictype/bidicategory-byname: New file.
21448         * modules/unictype/bidicategory-name: New file.
21449         * modules/unictype/bidicategory-of: New file.
21450         * modules/unictype/bidicategory-test: New file.
21451         * modules/unictype/decimal-digit: New file.
21452         * modules/unictype/digit: New file.
21453         * modules/unictype/numeric: New file.
21454         * modules/unictype/mirror: New file.
21455         * modules/unictype/property-white-space: New file.
21456         * modules/unictype/property-alphabetic: New file.
21457         * modules/unictype/property-other-alphabetic: New file.
21458         * modules/unictype/property-not-a-character: New file.
21459         * modules/unictype/property-default-ignorable-code-point: New file.
21460         * modules/unictype/property-other-default-ignorable-code-point: New
21461         file.
21462         * modules/unictype/property-deprecated: New file.
21463         * modules/unictype/property-logical-order-exception: New file.
21464         * modules/unictype/property-variation-selector: New file.
21465         * modules/unictype/property-private-use: New file.
21466         * modules/unictype/property-unassigned-code-value: New file.
21467         * modules/unictype/property-uppercase: New file.
21468         * modules/unictype/property-other-uppercase: New file.
21469         * modules/unictype/property-lowercase: New file.
21470         * modules/unictype/property-other-lowercase: New file.
21471         * modules/unictype/property-titlecase: New file.
21472         * modules/unictype/property-soft-dotted: New file.
21473         * modules/unictype/property-id-start: New file.
21474         * modules/unictype/property-other-id-start: New file.
21475         * modules/unictype/property-id-continue: New file.
21476         * modules/unictype/property-other-id-continue: New file.
21477         * modules/unictype/property-xid-start: New file.
21478         * modules/unictype/property-xid-continue: New file.
21479         * modules/unictype/property-pattern-white-space: New file.
21480         * modules/unictype/property-pattern-syntax: New file.
21481         * modules/unictype/property-join-control: New file.
21482         * modules/unictype/property-grapheme-base: New file.
21483         * modules/unictype/property-grapheme-extend: New file.
21484         * modules/unictype/property-other-grapheme-extend: New file.
21485         * modules/unictype/property-grapheme-link: New file.
21486         * modules/unictype/property-bidi-control: New file.
21487         * modules/unictype/property-bidi-left-to-right: New file.
21488         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
21489         * modules/unictype/property-bidi-arabic-right-to-left: New file.
21490         * modules/unictype/property-bidi-european-digit: New file.
21491         * modules/unictype/property-bidi-eur-num-separator: New file.
21492         * modules/unictype/property-bidi-eur-num-terminator: New file.
21493         * modules/unictype/property-bidi-arabic-digit: New file.
21494         * modules/unictype/property-bidi-common-separator: New file.
21495         * modules/unictype/property-bidi-block-separator: New file.
21496         * modules/unictype/property-bidi-segment-separator: New file.
21497         * modules/unictype/property-bidi-whitespace: New file.
21498         * modules/unictype/property-bidi-non-spacing-mark: New file.
21499         * modules/unictype/property-bidi-boundary-neutral: New file.
21500         * modules/unictype/property-bidi-pdf: New file.
21501         * modules/unictype/property-bidi-embedding-or-override: New file.
21502         * modules/unictype/property-bidi-other-neutral: New file.
21503         * modules/unictype/property-hex-digit: New file.
21504         * modules/unictype/property-ascii-hex-digit: New file.
21505         * modules/unictype/property-ideographic: New file.
21506         * modules/unictype/property-unified-ideograph: New file.
21507         * modules/unictype/property-radical: New file.
21508         * modules/unictype/property-ids-binary-operator: New file.
21509         * modules/unictype/property-ids-trinary-operator: New file.
21510         * modules/unictype/property-zero-width: New file.
21511         * modules/unictype/property-space: New file.
21512         * modules/unictype/property-non-break: New file.
21513         * modules/unictype/property-iso-control: New file.
21514         * modules/unictype/property-format-control: New file.
21515         * modules/unictype/property-dash: New file.
21516         * modules/unictype/property-hyphen: New file.
21517         * modules/unictype/property-punctuation: New file.
21518         * modules/unictype/property-line-separator: New file.
21519         * modules/unictype/property-paragraph-separator: New file.
21520         * modules/unictype/property-quotation-mark: New file.
21521         * modules/unictype/property-sentence-terminal: New file.
21522         * modules/unictype/property-terminal-punctuation: New file.
21523         * modules/unictype/property-currency-symbol: New file.
21524         * modules/unictype/property-math: New file.
21525         * modules/unictype/property-other-math: New file.
21526         * modules/unictype/property-paired-punctuation: New file.
21527         * modules/unictype/property-left-of-pair: New file.
21528         * modules/unictype/property-combining: New file.
21529         * modules/unictype/property-composite: New file.
21530         * modules/unictype/property-decimal-digit: New file.
21531         * modules/unictype/property-numeric: New file.
21532         * modules/unictype/property-diacritic: New file.
21533         * modules/unictype/property-extender: New file.
21534         * modules/unictype/property-ignorable-control: New file.
21535         * modules/unictype/property-test: New file.
21536         * modules/unictype/property-byname: New file.
21537         * modules/unictype/property-all: New file.
21538         * modules/unictype/scripts: New file.
21539         * modules/unictype/scripts-all: New file.
21540         * modules/unictype/block-of: New file.
21541         * modules/unictype/block-test: New file.
21542         * modules/unictype/block-list: New file.
21543         * modules/unictype/block-all: New file.
21544         * modules/unictype/syntax-c-whitespace: New file.
21545         * modules/unictype/syntax-java-whitespace: New file.
21546         * modules/unictype/syntax-c-ident: New file.
21547         * modules/unictype/syntax-java-ident: New file.
21548         * modules/unictype/ctype-alnum: New file.
21549         * modules/unictype/ctype-alpha: New file.
21550         * modules/unictype/ctype-cntrl: New file.
21551         * modules/unictype/ctype-digit: New file.
21552         * modules/unictype/ctype-graph: New file.
21553         * modules/unictype/ctype-lower: New file.
21554         * modules/unictype/ctype-print: New file.
21555         * modules/unictype/ctype-punct: New file.
21556         * modules/unictype/ctype-space: New file.
21557         * modules/unictype/ctype-upper: New file.
21558         * modules/unictype/ctype-xdigit: New file.
21559         * modules/unictype/ctype-blank: New file.
21560         * lib/unictype/bidi_byname.c: New file.
21561         * lib/unictype/bidi_name.c: New file.
21562         * lib/unictype/bidi_of.c: New file.
21563         * lib/unictype/bidi_test.c: New file.
21564         * lib/unictype/bitmap.h: New file.
21565         * lib/unictype/block_test.c: New file.
21566         * lib/unictype/blocks.c: New file.
21567         * lib/unictype/categ_C.c: New file.
21568         * lib/unictype/categ_Cc.c: New file.
21569         * lib/unictype/categ_Cf.c: New file.
21570         * lib/unictype/categ_Cn.c: New file.
21571         * lib/unictype/categ_Co.c: New file.
21572         * lib/unictype/categ_Cs.c: New file.
21573         * lib/unictype/categ_L.c: New file.
21574         * lib/unictype/categ_Ll.c: New file.
21575         * lib/unictype/categ_Lm.c: New file.
21576         * lib/unictype/categ_Lo.c: New file.
21577         * lib/unictype/categ_Lt.c: New file.
21578         * lib/unictype/categ_Lu.c: New file.
21579         * lib/unictype/categ_M.c: New file.
21580         * lib/unictype/categ_Mc.c: New file.
21581         * lib/unictype/categ_Me.c: New file.
21582         * lib/unictype/categ_Mn.c: New file.
21583         * lib/unictype/categ_N.c: New file.
21584         * lib/unictype/categ_Nd.c: New file.
21585         * lib/unictype/categ_Nl.c: New file.
21586         * lib/unictype/categ_No.c: New file.
21587         * lib/unictype/categ_P.c: New file.
21588         * lib/unictype/categ_Pc.c: New file.
21589         * lib/unictype/categ_Pd.c: New file.
21590         * lib/unictype/categ_Pe.c: New file.
21591         * lib/unictype/categ_Pf.c: New file.
21592         * lib/unictype/categ_Pi.c: New file.
21593         * lib/unictype/categ_Po.c: New file.
21594         * lib/unictype/categ_Ps.c: New file.
21595         * lib/unictype/categ_S.c: New file.
21596         * lib/unictype/categ_Sc.c: New file.
21597         * lib/unictype/categ_Sk.c: New file.
21598         * lib/unictype/categ_Sm.c: New file.
21599         * lib/unictype/categ_So.c: New file.
21600         * lib/unictype/categ_Z.c: New file.
21601         * lib/unictype/categ_Zl.c: New file.
21602         * lib/unictype/categ_Zp.c: New file.
21603         * lib/unictype/categ_Zs.c: New file.
21604         * lib/unictype/categ_and.c: New file.
21605         * lib/unictype/categ_and_not.c: New file.
21606         * lib/unictype/categ_byname.c: New file.
21607         * lib/unictype/categ_name.c: New file.
21608         * lib/unictype/categ_none.c: New file.
21609         * lib/unictype/categ_of.c: New file.
21610         * lib/unictype/categ_or.c: New file.
21611         * lib/unictype/categ_test.c: New file.
21612         * lib/unictype/combining.c: New file.
21613         * lib/unictype/ctype_alnum.c: New file.
21614         * lib/unictype/ctype_alpha.c: New file.
21615         * lib/unictype/ctype_blank.c: New file.
21616         * lib/unictype/ctype_cntrl.c: New file.
21617         * lib/unictype/ctype_digit.c: New file.
21618         * lib/unictype/ctype_graph.c: New file.
21619         * lib/unictype/ctype_lower.c: New file.
21620         * lib/unictype/ctype_print.c: New file.
21621         * lib/unictype/ctype_punct.c: New file.
21622         * lib/unictype/ctype_space.c: New file.
21623         * lib/unictype/ctype_upper.c: New file.
21624         * lib/unictype/ctype_xdigit.c: New file.
21625         * lib/unictype/decdigit.c: New file.
21626         * lib/unictype/digit.c: New file.
21627         * lib/unictype/identsyntaxmap.h: New file.
21628         * lib/unictype/mirror.c: New file.
21629         * lib/unictype/numeric.c: New file.
21630         * lib/unictype/pr_alphabetic.c: New file.
21631         * lib/unictype/pr_ascii_hex_digit.c: New file.
21632         * lib/unictype/pr_bidi_arabic_digit.c: New file.
21633         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
21634         * lib/unictype/pr_bidi_block_separator.c: New file.
21635         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
21636         * lib/unictype/pr_bidi_common_separator.c: New file.
21637         * lib/unictype/pr_bidi_control.c: New file.
21638         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
21639         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
21640         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
21641         * lib/unictype/pr_bidi_european_digit.c: New file.
21642         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
21643         * lib/unictype/pr_bidi_left_to_right.c: New file.
21644         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
21645         * lib/unictype/pr_bidi_other_neutral.c: New file.
21646         * lib/unictype/pr_bidi_pdf.c: New file.
21647         * lib/unictype/pr_bidi_segment_separator.c: New file.
21648         * lib/unictype/pr_bidi_whitespace.c: New file.
21649         * lib/unictype/pr_byname.c: New file.
21650         * lib/unictype/pr_byname.gperf: New file.
21651         * lib/unictype/pr_combining.c: New file.
21652         * lib/unictype/pr_composite.c: New file.
21653         * lib/unictype/pr_currency_symbol.c: New file.
21654         * lib/unictype/pr_dash.c: New file.
21655         * lib/unictype/pr_decimal_digit.c: New file.
21656         * lib/unictype/pr_default_ignorable_code_point.c: New file.
21657         * lib/unictype/pr_deprecated.c: New file.
21658         * lib/unictype/pr_diacritic.c: New file.
21659         * lib/unictype/pr_extender.c: New file.
21660         * lib/unictype/pr_format_control.c: New file.
21661         * lib/unictype/pr_grapheme_base.c: New file.
21662         * lib/unictype/pr_grapheme_extend.c: New file.
21663         * lib/unictype/pr_grapheme_link.c: New file.
21664         * lib/unictype/pr_hex_digit.c: New file.
21665         * lib/unictype/pr_hyphen.c: New file.
21666         * lib/unictype/pr_id_continue.c: New file.
21667         * lib/unictype/pr_id_start.c: New file.
21668         * lib/unictype/pr_ideographic.c: New file.
21669         * lib/unictype/pr_ids_binary_operator.c: New file.
21670         * lib/unictype/pr_ids_trinary_operator.c: New file.
21671         * lib/unictype/pr_ignorable_control.c: New file.
21672         * lib/unictype/pr_iso_control.c: New file.
21673         * lib/unictype/pr_join_control.c: New file.
21674         * lib/unictype/pr_left_of_pair.c: New file.
21675         * lib/unictype/pr_line_separator.c: New file.
21676         * lib/unictype/pr_logical_order_exception.c: New file.
21677         * lib/unictype/pr_lowercase.c: New file.
21678         * lib/unictype/pr_math.c: New file.
21679         * lib/unictype/pr_non_break.c: New file.
21680         * lib/unictype/pr_not_a_character.c: New file.
21681         * lib/unictype/pr_numeric.c: New file.
21682         * lib/unictype/pr_other_alphabetic.c: New file.
21683         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
21684         * lib/unictype/pr_other_grapheme_extend.c: New file.
21685         * lib/unictype/pr_other_id_continue.c: New file.
21686         * lib/unictype/pr_other_id_start.c: New file.
21687         * lib/unictype/pr_other_lowercase.c: New file.
21688         * lib/unictype/pr_other_math.c: New file.
21689         * lib/unictype/pr_other_uppercase.c: New file.
21690         * lib/unictype/pr_paired_punctuation.c: New file.
21691         * lib/unictype/pr_paragraph_separator.c: New file.
21692         * lib/unictype/pr_pattern_syntax.c: New file.
21693         * lib/unictype/pr_pattern_white_space.c: New file.
21694         * lib/unictype/pr_private_use.c: New file.
21695         * lib/unictype/pr_punctuation.c: New file.
21696         * lib/unictype/pr_quotation_mark.c: New file.
21697         * lib/unictype/pr_radical.c: New file.
21698         * lib/unictype/pr_sentence_terminal.c: New file.
21699         * lib/unictype/pr_soft_dotted.c: New file.
21700         * lib/unictype/pr_space.c: New file.
21701         * lib/unictype/pr_terminal_punctuation.c: New file.
21702         * lib/unictype/pr_test.c: New file.
21703         * lib/unictype/pr_titlecase.c: New file.
21704         * lib/unictype/pr_unassigned_code_value.c: New file.
21705         * lib/unictype/pr_unified_ideograph.c: New file.
21706         * lib/unictype/pr_uppercase.c: New file.
21707         * lib/unictype/pr_variation_selector.c: New file.
21708         * lib/unictype/pr_white_space.c: New file.
21709         * lib/unictype/pr_xid_continue.c: New file.
21710         * lib/unictype/pr_xid_start.c: New file.
21711         * lib/unictype/pr_zero_width.c: New file.
21712         * lib/unictype/scripts.c: New file.
21713         * lib/unictype/sy_c_ident.c: New file.
21714         * lib/unictype/sy_c_whitespace.c: New file.
21715         * lib/unictype/sy_java_ident.c: New file.
21716         * lib/unictype/sy_java_whitespace.c: New file.
21717
21718         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
21719         Unicode 5.0.0.
21720         * lib/unictype/blocks.h: Likewise.
21721         * lib/unictype/categ_C.h: Likewise.
21722         * lib/unictype/categ_Cc.h: Likewise.
21723         * lib/unictype/categ_Cf.h: Likewise.
21724         * lib/unictype/categ_Cn.h: Likewise.
21725         * lib/unictype/categ_Co.h: Likewise.
21726         * lib/unictype/categ_Cs.h: Likewise.
21727         * lib/unictype/categ_L.h: Likewise.
21728         * lib/unictype/categ_Ll.h: Likewise.
21729         * lib/unictype/categ_Lm.h: Likewise.
21730         * lib/unictype/categ_Lo.h: Likewise.
21731         * lib/unictype/categ_Lt.h: Likewise.
21732         * lib/unictype/categ_Lu.h: Likewise.
21733         * lib/unictype/categ_M.h: Likewise.
21734         * lib/unictype/categ_Mc.h: Likewise.
21735         * lib/unictype/categ_Me.h: Likewise.
21736         * lib/unictype/categ_Mn.h: Likewise.
21737         * lib/unictype/categ_N.h: Likewise.
21738         * lib/unictype/categ_Nd.h: Likewise.
21739         * lib/unictype/categ_Nl.h: Likewise.
21740         * lib/unictype/categ_No.h: Likewise.
21741         * lib/unictype/categ_P.h: Likewise.
21742         * lib/unictype/categ_Pc.h: Likewise.
21743         * lib/unictype/categ_Pd.h: Likewise.
21744         * lib/unictype/categ_Pe.h: Likewise.
21745         * lib/unictype/categ_Pf.h: Likewise.
21746         * lib/unictype/categ_Pi.h: Likewise.
21747         * lib/unictype/categ_Po.h: Likewise.
21748         * lib/unictype/categ_Ps.h: Likewise.
21749         * lib/unictype/categ_S.h: Likewise.
21750         * lib/unictype/categ_Sc.h: Likewise.
21751         * lib/unictype/categ_Sk.h: Likewise.
21752         * lib/unictype/categ_Sm.h: Likewise.
21753         * lib/unictype/categ_So.h: Likewise.
21754         * lib/unictype/categ_Z.h: Likewise.
21755         * lib/unictype/categ_Zl.h: Likewise.
21756         * lib/unictype/categ_Zp.h: Likewise.
21757         * lib/unictype/categ_Zs.h: Likewise.
21758         * lib/unictype/categ_of.h: Likewise.
21759         * lib/unictype/combining.h: Likewise.
21760         * lib/unictype/ctype_alnum.h: Likewise.
21761         * lib/unictype/ctype_alpha.h: Likewise.
21762         * lib/unictype/ctype_blank.h: Likewise.
21763         * lib/unictype/ctype_cntrl.h: Likewise.
21764         * lib/unictype/ctype_digit.h: Likewise.
21765         * lib/unictype/ctype_graph.h: Likewise.
21766         * lib/unictype/ctype_lower.h: Likewise.
21767         * lib/unictype/ctype_print.h: Likewise.
21768         * lib/unictype/ctype_punct.h: Likewise.
21769         * lib/unictype/ctype_space.h: Likewise.
21770         * lib/unictype/ctype_upper.h: Likewise.
21771         * lib/unictype/ctype_xdigit.h: Likewise.
21772         * lib/unictype/decdigit.h: Likewise.
21773         * lib/unictype/digit.h: Likewise.
21774         * lib/unictype/mirror.h: Likewise.
21775         * lib/unictype/numeric.h: Likewise.
21776         * lib/unictype/pr_alphabetic.h: Likewise.
21777         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
21778         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
21779         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
21780         * lib/unictype/pr_bidi_block_separator.h: Likewise.
21781         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
21782         * lib/unictype/pr_bidi_common_separator.h: Likewise.
21783         * lib/unictype/pr_bidi_control.h: Likewise.
21784         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
21785         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
21786         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
21787         * lib/unictype/pr_bidi_european_digit.h: Likewise.
21788         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
21789         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
21790         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
21791         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
21792         * lib/unictype/pr_bidi_pdf.h: Likewise.
21793         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
21794         * lib/unictype/pr_bidi_whitespace.h: Likewise.
21795         * lib/unictype/pr_combining.h: Likewise.
21796         * lib/unictype/pr_composite.h: Likewise.
21797         * lib/unictype/pr_currency_symbol.h: Likewise.
21798         * lib/unictype/pr_dash.h: Likewise.
21799         * lib/unictype/pr_decimal_digit.h: Likewise.
21800         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
21801         * lib/unictype/pr_deprecated.h: Likewise.
21802         * lib/unictype/pr_diacritic.h: Likewise.
21803         * lib/unictype/pr_extender.h: Likewise.
21804         * lib/unictype/pr_format_control.h: Likewise.
21805         * lib/unictype/pr_grapheme_base.h: Likewise.
21806         * lib/unictype/pr_grapheme_extend.h: Likewise.
21807         * lib/unictype/pr_grapheme_link.h: Likewise.
21808         * lib/unictype/pr_hex_digit.h: Likewise.
21809         * lib/unictype/pr_hyphen.h: Likewise.
21810         * lib/unictype/pr_id_continue.h: Likewise.
21811         * lib/unictype/pr_id_start.h: Likewise.
21812         * lib/unictype/pr_ideographic.h: Likewise.
21813         * lib/unictype/pr_ids_binary_operator.h: Likewise.
21814         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
21815         * lib/unictype/pr_ignorable_control.h: Likewise.
21816         * lib/unictype/pr_iso_control.h: Likewise.
21817         * lib/unictype/pr_join_control.h: Likewise.
21818         * lib/unictype/pr_left_of_pair.h: Likewise.
21819         * lib/unictype/pr_line_separator.h: Likewise.
21820         * lib/unictype/pr_logical_order_exception.h: Likewise.
21821         * lib/unictype/pr_lowercase.h: Likewise.
21822         * lib/unictype/pr_math.h: Likewise.
21823         * lib/unictype/pr_non_break.h: Likewise.
21824         * lib/unictype/pr_not_a_character.h: Likewise.
21825         * lib/unictype/pr_numeric.h: Likewise.
21826         * lib/unictype/pr_other_alphabetic.h: Likewise.
21827         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
21828         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
21829         * lib/unictype/pr_other_id_continue.h: Likewise.
21830         * lib/unictype/pr_other_id_start.h: Likewise.
21831         * lib/unictype/pr_other_lowercase.h: Likewise.
21832         * lib/unictype/pr_other_math.h: Likewise.
21833         * lib/unictype/pr_other_uppercase.h: Likewise.
21834         * lib/unictype/pr_paired_punctuation.h: Likewise.
21835         * lib/unictype/pr_paragraph_separator.h: Likewise.
21836         * lib/unictype/pr_pattern_syntax.h: Likewise.
21837         * lib/unictype/pr_pattern_white_space.h: Likewise.
21838         * lib/unictype/pr_private_use.h: Likewise.
21839         * lib/unictype/pr_punctuation.h: Likewise.
21840         * lib/unictype/pr_quotation_mark.h: Likewise.
21841         * lib/unictype/pr_radical.h: Likewise.
21842         * lib/unictype/pr_sentence_terminal.h: Likewise.
21843         * lib/unictype/pr_soft_dotted.h: Likewise.
21844         * lib/unictype/pr_space.h: Likewise.
21845         * lib/unictype/pr_terminal_punctuation.h: Likewise.
21846         * lib/unictype/pr_titlecase.h: Likewise.
21847         * lib/unictype/pr_unassigned_code_value.h: Likewise.
21848         * lib/unictype/pr_unified_ideograph.h: Likewise.
21849         * lib/unictype/pr_uppercase.h: Likewise.
21850         * lib/unictype/pr_variation_selector.h: Likewise.
21851         * lib/unictype/pr_white_space.h: Likewise.
21852         * lib/unictype/pr_xid_continue.h: Likewise.
21853         * lib/unictype/pr_xid_start.h: Likewise.
21854         * lib/unictype/pr_zero_width.h: Likewise.
21855         * lib/unictype/scripts.h: Likewise.
21856         * lib/unictype/scripts_byname.gperf: Likewise.
21857         * lib/unictype/sy_c_ident.h: Likewise.
21858         * lib/unictype/sy_c_whitespace.h: Likewise.
21859         * lib/unictype/sy_java_ident.h: Likewise.
21860         * lib/unictype/sy_java_whitespace.h: Likewise.
21861
21862         * lib/unictype/Makefile: New file.
21863         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
21864         glibc.
21865         * lib/unictype/3level.h: New file, copied from glibc.
21866         * lib/unictype/3levelbit.h: New file.
21867
21868 2007-11-11  Bruno Haible  <bruno@clisp.org>
21869
21870         * modules/gperf: New file.
21871         * modules/iconv_open (Depends-on): Add it.
21872         (Makefile.am): Remove the GPERF definition.
21873
21874 2007-11-11  Bruno Haible  <bruno@clisp.org>
21875
21876         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
21877         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
21878
21879 2007-11-11  Bruno Haible  <bruno@clisp.org>
21880
21881         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
21882         (usage): Remove function.
21883
21884 2007-11-11  Bruno Haible  <bruno@clisp.org>
21885
21886         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
21887         gl_FUNC_CEILF_LIBS.
21888         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
21889         gl_FUNC_CEIL_LIBS.
21890         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
21891         gl_FUNC_CEILL_LIBS.
21892         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
21893         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
21894         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
21895
21896 2007-11-11  Bruno Haible  <bruno@clisp.org>
21897
21898         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
21899         roundf were declared but do not exist on functions.
21900         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
21901         roundl were declared but do not exist on functions.
21902         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
21903         HAVE_FLOORL_AND_CEILL, respectively.
21904         Needed for Sun C on Solaris 10.
21905
21906 2007-11-11  Bruno Haible  <bruno@clisp.org>
21907
21908         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
21909         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
21910         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
21911         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
21912         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
21913         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
21914         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
21915         HAVE_DECL_ROUNDF.
21916         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
21917         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
21918         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
21919         of HAVE_DECL_ROUND*.
21920         * modules/math (Makefile.am): Update.
21921
21922 2007-11-10  Bruno Haible  <bruno@clisp.org>
21923
21924         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
21925         ptrdiff_t as m4/intl.m4.
21926
21927 2007-11-10  Jim Meyering  <meyering@redhat.com>
21928
21929         Avoid link failure for the argmatch test.
21930         * tests/test-argmatch.c (usage): Define function to avoid a link
21931         failure: argmatch_die requires a usage function.
21932
21933 2007-11-09  Bruno Haible  <bruno@clisp.org>
21934
21935         * doc/functions/snprintf.texi: Mention BeOS deficiency.
21936         * doc/functions/vsnprintf.texi: Likewise.
21937         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
21938         with a size argument < 2.
21939
21940 2007-11-09  Bruno Haible  <bruno@clisp.org>
21941
21942         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
21943         buffer. Fixes an inefficiency introduced on 2007-11-03.
21944
21945 2007-11-09  Bruno Haible  <bruno@clisp.org>
21946
21947         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
21948         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
21949
21950 2007-11-08  Jim Meyering  <meyering@redhat.com>
21951
21952         Change cache variable name prefix "jm_" to "gl_" everywhere.
21953         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
21954         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
21955         * m4/uptime.m4: s/gl_/jm_/
21956
21957 2007-11-07  Bruno Haible  <bruno@clisp.org>
21958
21959         Update to GNU gettext 0.17.
21960         * m4/intl.m4: Update to GNU gettext 0.17.
21961         * m4/po.m4: Likewise.
21962         * modules/gettext (Files): Remove m4/ulonglong.m4.
21963         (configure.ac): Require gettext infrastructure from version 0.17.
21964
21965 2007-11-06  Bruno Haible  <bruno@clisp.org>
21966
21967         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
21968         symbolic values are not defined in a public header.
21969         * lib/freadable.c (freadable) [QNX]: Likewise.
21970         * lib/freadahead.c (freadahead) [QNX]: Likewise.
21971         * lib/freading.c (freading) [QNX]: Likewise.
21972         * lib/fseterr.c (fseterr) [QNX]: Likewise.
21973         * lib/fwritable.c (fwritable) [QNX]: Likewise.
21974         * lib/fwriting.c (fwriting) [QNX]: Likewise.
21975         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
21976         Reported by Alain Magloire.
21977
21978         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
21979
21980 2007-11-05  Bruno Haible  <bruno@clisp.org>
21981
21982         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
21983         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
21984         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
21985         Reported by Eric Blake.
21986
21987 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21988             Bruno Haible  <bruno@clisp.org>
21989
21990         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
21991         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
21992         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
21993         (malloc): Undefine also before including <stdlib.h>.
21994         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
21995         Needed on OSF/1 4.0.
21996
21997 2007-11-05  Jim Meyering  <meyering@redhat.com>
21998
21999         git-version-gen: sync from coreutils.
22000         * build-aux/git-version-gen: Add comments.
22001         Change the first '-' to '.' in the snapshot version string,
22002         e.g., 6.9-377-08144 -> 6.9.377-08144
22003         Remove first parameter.
22004         Don't declare a version "-dirty" merely because a time
22005         stamp has changed.
22006
22007 2007-11-04  Bruno Haible  <bruno@clisp.org>
22008
22009         * lib/lock.h: Protect all macro definitions containing an 'if'
22010         statement through a "do { ... } while (0)".
22011         * lib/tls.h: Likewise.
22012
22013 2007-11-04  Bruno Haible  <bruno@clisp.org>
22014
22015         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
22016
22017 2007-11-04  Bruno Haible  <bruno@clisp.org>
22018
22019         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
22020         * modules/fprintf-posix (Depends-on): Add nocrash.
22021         * modules/snprintf-posix (Depends-on): Likewise.
22022         * modules/sprintf-posix (Depends-on): Likewise.
22023         * modules/vasnprintf-posix (Depends-on): Likewise.
22024         * modules/vasprintf-posix (Depends-on): Likewise.
22025         * modules/vfprintf-posix (Depends-on): Likewise.
22026         * modules/vsnprintf-posix (Depends-on): Likewise.
22027         * modules/vsprintf-posix (Depends-on): Likewise.
22028         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
22029         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
22030         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
22031         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
22032         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
22033         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
22034         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
22035
22036 2007-11-04  Bruno Haible  <bruno@clisp.org>
22037
22038         * modules/nocrash: New file.
22039         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
22040         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
22041
22042 2007-11-04  Bruno Haible  <bruno@clisp.org>
22043
22044         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
22045         precision handling.
22046         * tests/test-vasprintf-posix.c (test_function): Likewise.
22047         * tests/test-snprintf-posix.h (test_function): Likewise.
22048         * tests/test-sprintf-posix.h (test_function): Likewise.
22049
22050         Fix *printf behaviour for large precisions on mingw and BeOS.
22051         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
22052         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
22053         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
22054         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
22055         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
22056         gl_PRINTF_PRECISION and test its result. Invoke
22057         gl_PREREQ_VASNPRINTF_PRECISION.
22058         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
22059         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
22060         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
22061         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
22062         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
22063         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
22064         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
22065         * doc/functions/fprintf.texi: Update.
22066         * doc/functions/printf.texi: Update.
22067         * doc/functions/snprintf.texi: Update.
22068         * doc/functions/sprintf.texi: Update.
22069         * doc/functions/vfprintf.texi: Update.
22070         * doc/functions/vprintf.texi: Update.
22071         * doc/functions/vsnprintf.texi: Update.
22072         * doc/functions/vsprintf.texi: Update.
22073
22074 2007-11-04  Bruno Haible  <bruno@clisp.org>
22075
22076         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
22077
22078 2007-11-04  Bruno Haible  <bruno@clisp.org>
22079
22080         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
22081         Reported by Sylvain Beucler <beuc@gnu.org>.
22082
22083 2007-11-03  Bruno Haible  <bruno@clisp.org>
22084
22085         * tests/test-fprintf-posix2.sh: New file.
22086         * tests/test-fprintf-posix2.c: New file.
22087         * modules/fprintf-posix-tests (Files): Add them.
22088         (TESTS): Add test-fprintf-posix2.sh.
22089         (configure.ac): Check for getrlimit and setrlimit.
22090         (check_PROGRAMS): Add test-fprintf-posix2.
22091
22092         * tests/test-printf-posix2.sh: New file.
22093         * tests/test-printf-posix2.c: New file.
22094         * modules/printf-posix-tests (Files): Add them.
22095         (TESTS): Add test-printf-posix2.sh.
22096         (configure.ac): Check for getrlimit and setrlimit.
22097         (check_PROGRAMS): Add test-printf-posix2.
22098
22099         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
22100         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
22101         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
22102         (decode_double): New function, copied from decode_long_double.
22103         (scale10_round_decimal_decoded): New function, extracted from
22104         scale10_round_decimal_long_double.
22105         (scale10_round_decimal_long_double): Use it.
22106         (scale10_round_decimal_double): New function.
22107         (floorlog10): New function.
22108         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
22109         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
22110         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
22111         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
22112         gl_PRINTF_ENOMEM and test its result. Invoke
22113         gl_PREREQ_VASNPRINTF_ENOMEM.
22114         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
22115         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
22116         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
22117         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
22118         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
22119         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
22120         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
22121         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
22122         * modules/snprintf-posix (Depends-on): Likewise.
22123         * modules/sprintf-posix (Depends-on): Likewise.
22124         * modules/vasnprintf-posix (Depends-on): Likewise.
22125         * modules/vasprintf-posix (Depends-on): Likewise.
22126         * modules/vfprintf-posix (Depends-on): Likewise.
22127         * modules/vsnprintf-posix (Depends-on): Likewise.
22128         * modules/vsprintf-posix (Depends-on): Likewise.
22129         * doc/functions/fprintf.texi: Update.
22130         * doc/functions/printf.texi: Update.
22131         * doc/functions/snprintf.texi: Update.
22132         * doc/functions/sprintf.texi: Update.
22133         * doc/functions/vfprintf.texi: Update.
22134         * doc/functions/vprintf.texi: Update.
22135         * doc/functions/vsnprintf.texi: Update.
22136         * doc/functions/vsprintf.texi: Update.
22137
22138 2007-11-03  Bruno Haible  <bruno@clisp.org>
22139
22140         * modules/frexp-nolibm-tests: New file.
22141
22142         * modules/frexp-nolibm: New file.
22143         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
22144
22145 2007-11-03  Bruno Haible  <bruno@clisp.org>
22146
22147         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
22148         value is C99 compliant.
22149         Needed for OSF/1 5.1.
22150
22151 2007-11-03  Bruno Haible  <bruno@clisp.org>
22152
22153         Fix out-of-memory handling of vasnprintf.
22154         * lib/printf-parse.c: Include <errno.h>.
22155         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
22156         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
22157         is already set.
22158
22159 2007-11-02  Eric Blake  <ebb9@byu.net>
22160
22161         Fix tests on cygwin.
22162         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
22163
22164 2007-11-01  Bruno Haible  <bruno@clisp.org>
22165
22166         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
22167         warning.
22168         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
22169         needed for POSIX compatibility.
22170
22171 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
22172
22173         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
22174         for compatibility with GNU.
22175
22176 2007-11-01  Bruno Haible  <bruno@clisp.org>
22177
22178         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
22179         (putenv): Renamed from rpl_putenv. Change argument type from
22180         'const char *' to 'char *'.
22181         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
22182         of defining putenv in config.h, just set REPLACE_PUTENV.
22183         * modules/putenv (Depends-on): Add stdlib.
22184         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
22185         (Include): Use <stdlib.h>.
22186         * lib/stdlib.in.h (putenv): New declaration.
22187         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
22188         REPLACE_PUTENV.
22189         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
22190         REPLACE_PUTENV.
22191         Needed for MacOS X 10.5.0.
22192         Reported by Peter O'Gorman <peter@pogma.com>.
22193
22194 2007-11-01  Jim Meyering  <meyering@redhat.com>
22195
22196         Treat an empty date string exactly like "0".
22197         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
22198         if the remaining date string (to be parsed) is empty, use "0".
22199         Reported by Mischa Molhoek and discussed in this thread:
22200         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
22201
22202 2007-10-31  Bruno Haible  <bruno@clisp.org>
22203
22204         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
22205         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
22206         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
22207         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
22208         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
22209         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
22210
22211 2007-10-31  Bruno Haible  <bruno@clisp.org>
22212
22213         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
22214         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
22215         (AC_TYPE_LONG_LONG_INT): Use it.
22216         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
22217         it as well.
22218         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
22219         to m4/longlong.m4.
22220         * modules/stdint (Files): Remove m4/ulonglong.m4.
22221         * modules/strtoull (Files): Use m4/longlong.m4 instead of
22222         m4/ulonglong.m4.
22223         * modules/strtoumax (Files): Likewise.
22224
22225 2007-10-30  Bruno Haible  <bruno@clisp.org>
22226
22227         * modules/xvasprintf-posix: New file.
22228         Suggested by Eric Blake.
22229
22230 2007-10-30  Bruno Haible  <bruno@clisp.org>
22231
22232         * modules/xprintf-posix-tests: New file.
22233         * tests/test-xprintf-posix.sh: New file.
22234         * tests/test-xprintf-posix.c: New file.
22235         * tests/test-xfprintf-posix.c: New file.
22236
22237         * modules/xprintf-posix: New file.
22238
22239 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22240
22241         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
22242         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
22243         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
22244
22245 2007-10-29  Bruno Haible  <bruno@clisp.org>
22246
22247         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
22248         contain the special marker '_cv_'.
22249         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
22250         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
22251         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
22252         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
22253         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
22254         Reported by Ralf Wildenhues.
22255
22256 2007-10-29  Bruno Haible  <bruno@clisp.org>
22257
22258         * gnulib-tool (func_import): When --lgpl is not specified, set
22259         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
22260         GPLv3.
22261         Reported by Simon Josefsson.
22262
22263 2007-10-28  Bruno Haible  <bruno@clisp.org>
22264
22265         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
22266         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
22267         HAVE_DECL_ISFINITE.
22268         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
22269         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
22270         HAVE_DECL_ISFINITE.
22271
22272 2007-10-28  Bruno Haible  <bruno@clisp.org>
22273
22274         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
22275         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
22276
22277 2007-10-28  Bruno Haible  <bruno@clisp.org>
22278
22279         Fix link errors with Sun C 5.0 on Solaris 10.
22280         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
22281         function is declared but not present in the compiler's libm.
22282         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
22283         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
22284         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
22285         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
22286         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
22287         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
22288         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
22289         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
22290         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
22291         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
22292         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
22293         HAVE_DECL_FLOORL.
22294
22295 2007-10-28  Bruno Haible  <bruno@clisp.org>
22296
22297         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
22298         gl_FUNC_FLOORL. Cache the result.
22299         (gl_FUNC_FLOORL): Use it.
22300         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
22301         gl_FUNC_CEILL. Cache the result.
22302         (gl_FUNC_CEILL): Use it.
22303
22304         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
22305         gl_FUNC_FLOOR. Cache the result.
22306         (gl_FUNC_FLOOR): Use it.
22307         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
22308         gl_FUNC_CEIL. Cache the result.
22309         (gl_FUNC_CEIL): Use it.
22310
22311         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
22312         gl_FUNC_FLOORF. Cache the result.
22313         (gl_FUNC_FLOORF): Use it.
22314         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
22315         gl_FUNC_CEILF. Cache the result.
22316         (gl_FUNC_CEILF): Use it.
22317
22318 2007-10-28  Bruno Haible  <bruno@clisp.org>
22319
22320         * gnulib-tool: Allow specifying the LGPL version number through
22321         --lgpl=2 or --lgpl=3.
22322         (func_usage): Document --lgpl with argument.
22323         Handle --lgpl=... arguments.
22324         (func_import): Recognize also gl_LGPL calls with an argument. When
22325         --lgpl=2 is used and the module's license is just LGPL, report an
22326         error. Set sed_transform_lib_file according to the lgpl variable. In
22327         the generated files, use --lgpl or gl_LGPL invocations with argument,
22328         if necessary.
22329         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
22330         an LGPv2+ license.
22331         * doc/gnulib-tool.texi (Modified imports): Update explanation of
22332         gl_LGPL macro.
22333
22334 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22335             Bruno Haible  <bruno@clisp.org>
22336
22337         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
22338         (u16_uctomb_aux): Likewise.
22339         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
22340         !HAVE_INLINE.
22341         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
22342
22343 2007-10-28  Bruno Haible  <bruno@clisp.org>
22344
22345         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
22346         Invoke AM_GETTEXT_OPTION if it exists.
22347         * modules/vasprintf: Likewise.
22348         * modules/verror: Likewise.
22349         * modules/xprintf: Likewise.
22350         * modules/xvasprintf: Likewise.
22351
22352 2007-10-27  Ben Pfaff  <blp@gnu.org>
22353
22354         * lib/math.in.h: Define isfinite macro and prototypes for
22355         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
22356         implementations.
22357         * m4/math_h.m4: New substitutions for isfinite module.
22358         * lib/isfinite.c: New file.
22359         * m4/isfinite.m4: New file.
22360         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
22361         * modules/isfinite: New file.
22362         * modules/isfinite-tests: New file.
22363         * tests/tests-isfinite.c: New file.
22364         * doc/functions/isfinite.texi: Mention isfinite module.
22365         * MODULES.html.sh: Mention new module.
22366
22367 2007-10-27  Ben Pfaff  <blp@gnu.org>
22368
22369         Ralf Wildenhues reported that Tru64 4.0D declares the round
22370         functions but does not have definitions.
22371         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
22372         cannot be found in any library, set the output variable to
22373         "missing" instead of "".
22374         * m4/round.m4: Also use our substitute if we cannot find round in
22375         any library, even if it is declared.
22376         * m4/roundf.m4: Likewise for roundf.
22377         * m4/roundl.m4: Likewise for roundl.
22378         * lib/math.in.h: Undefine roundf, round, roundl before defining
22379         their replacements, to allow for hypothetical systems where these
22380         may be defined as macros but not available in libraries.
22381
22382 2007-10-27  Bruno Haible  <bruno@clisp.org>
22383
22384         * doc/gnulib.texi: Invoke @firstparagraphindent.
22385         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
22386         changes in gnulib.
22387         (Source changes): New section.
22388
22389 2007-10-26  Bruno Haible  <bruno@clisp.org>
22390
22391         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
22392         borrowed from autoconf.
22393
22394 2007-10-26  Bruno Haible  <bruno@clisp.org>
22395
22396         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
22397         strerror returned the empty string. Needed on HP-UX 11.00.
22398
22399 2007-10-24  Micah Cowan  <micah@cowan.name>
22400
22401         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
22402         * build-aux/bootstrap: Remove support for now-unnecessary option,
22403         --cvs-user, and envvars CVS_USER, CVS_RSH.
22404
22405 2007-10-24  Jim Meyering  <meyering@redhat.com>
22406
22407         Avoid diagnostics from sha1sum when there is no cached checksum.
22408         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
22409         if the po.s1 file hasn't been created yet.
22410
22411         * build-aux/bootstrap: Sync from coreutils:
22412         2007-10-24  Jim Meyering  <meyering@redhat.com>
22413         Get gnulib from the git repository, not from an obsolete cvs one.
22414         * build-aux/bootstrap: Suggestion from Micah Cowan.
22415         2007-10-04  Jim Meyering  <jim@meyering.net>
22416         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
22417         (update_po_files): Work also when there are no .po files in po/.
22418
22419 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
22420
22421         * README: Append ".git" to git and cg examples.
22422         Problem reported by Benoit Sigoure.
22423
22424 2007-10-23  Micah Cowan  <micah@cowan.name>
22425
22426         * users.txt: Add wget.
22427
22428 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22429
22430         Fix linking of some unistdio tests on FreeBSD.
22431         * modules/unistdio/u16-vsnprintf-tests
22432         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
22433         * modules/unistdio/u16-vsprintf-tests
22434         (test_u16_vsnprintf1_LDADD): Likewise.
22435         * modules/unistdio/u32-vsnprintf-tests
22436         (test_u32_vsnprintf1_LDADD): Likewise.
22437         * modules/unistdio/u32-vsprintf-tests
22438         (test_u32_vsprintf1_LDADD): Likewise.
22439         * modules/unistdio/u8-vsnprintf-tests
22440         (test_u8_vsnprintf1_LDADD): Likewise.
22441         * modules/unistdio/u8-vsprintf-tests
22442         (test_u8_vsprintf1_LDADD): Likewise.
22443         * modules/unistdio/ulc-vsnprintf-tests
22444         (test_ulc_vsnprintf1_LDADD): Likewise.
22445         * modules/unistdio/ulc-vsprintf-tests
22446         (test_ulc_vsprintf1_LDADD): Likewise.
22447
22448         Fix linking of some uniconv tests on FreeBSD.
22449         * modules/uniconv/u16-conv-from-enc-tests
22450         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
22451         * modules/uniconv/u16-conv-to-enc-tests
22452         (test_u16_conv_to_enc_LDADD): Likewise.
22453         * modules/uniconv/u16-strconv-from-enc-tests
22454         (test_u16_strconv_from_enc_LDADD): Likewise.
22455         * modules/uniconv/u16-strconv-to-enc-tests
22456         (test_u16_strconv_to_enc_LDADD): Likewise.
22457         * modules/uniconv/u32-conv-from-enc-tests
22458         (test_u32_conv_from_enc_LDADD): Likewise.
22459         * modules/uniconv/u32-conv-to-enc-tests
22460         (test_u32_conv_to_enc_LDADD): Likewise.
22461         * modules/uniconv/u32-strconv-from-enc-tests
22462         (test_u32_strconv_from_enc_LDADD): Likewise.
22463         * modules/uniconv/u32-strconv-to-enc-tests
22464         (test_u32_strconv_to_enc_LDADD): Likewise.
22465         * modules/uniconv/u8-conv-from-enc-tests
22466         (test_u8_conv_from_enc_LDADD): Likewise.
22467         * modules/uniconv/u8-conv-to-enc-tests
22468         (test_u8_conv_to_enc_LDADD): Likewise.
22469         * modules/uniconv/u8-strconv-from-enc-tests
22470         (test_u8_strconv_from_enc_LDADD): Likewise.
22471         * modules/uniconv/u8-strconv-to-enc-tests
22472         (test_u8_strconv_to_enc_LDADD): Likewise.
22473
22474 2007-10-22  Bruno Haible  <bruno@clisp.org>
22475
22476         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
22477         size.
22478
22479 2007-10-22  Eric Blake  <ebb9@byu.net>
22480
22481         Tweak x*printf documentation.
22482         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
22483         variable name and comments.
22484         Suggested by Bruno Haible.
22485
22486 2007-10-22  Bruno Haible  <bruno@clisp.org>
22487
22488         * lib/acl.c (copy_acl): Fix file name in comment.
22489
22490 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
22491
22492         Fix Tru64 problem with stdbool.h.
22493         * lib/stdbool.in.h (false, true):
22494         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
22495         Don't declare as an enum in this situation; it runs afoul of Tru64.
22496         Problem reported by Steven M. Schweda in
22497         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
22498
22499 2007-10-22  Eric Blake  <ebb9@byu.net>
22500
22501         Also wrap vf?printf.
22502         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
22503         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
22504         (xvprintf, xvfprintf): New functions.
22505
22506 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22507
22508         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
22509         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
22510
22511         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
22512         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
22513
22514 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
22515
22516         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
22517         by Bruno Haible.
22518
22519 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22520
22521         * lib/getloadavg.c
22522         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
22523         Undef `sys' after including sys/table.h, for Tru64 4.0D.
22524
22525         * tests/test-i-ring.c: Work for C89.
22526
22527 2007-10-22  Bruno Haible  <bruno@clisp.org>
22528
22529         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
22530         -1u, in preprocessor expression, so that we don't test for the bug
22531         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
22532         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
22533
22534 2007-10-22  Eric Blake  <ebb9@byu.net>
22535
22536         * tests/test-yesno.sh: Silence stderr during test.
22537
22538 2007-10-22  Simon Josefsson  <simon@josefsson.org>
22539
22540         * modules/crypto/gc-camellia: New file.
22541
22542         * m4/gc-camellia.m4: New file.
22543
22544         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
22545
22546         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
22547
22548 2007-10-22  Simon Josefsson  <simon@josefsson.org>
22549
22550         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
22551         --help to stdout.  Reported by sms@antinode.org (Steven
22552         M. Schweda).
22553
22554 2007-10-22  Simon Josefsson  <simon@josefsson.org>
22555
22556         * users.txt: Fix link to libksba.
22557
22558 2007-10-21  Ben Pfaff  <blp@gnu.org>
22559
22560         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
22561         round.c roundf implementation that depends on floorf and ceilf to
22562         be tested unconditionally.
22563
22564 2007-10-21  Ben Pfaff  <blp@gnu.org>
22565
22566         * m4/check-libm-func.m4: Removed.
22567         * m4/check-math-lib.m4: New file.
22568         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
22569         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
22570         definition and lack of AC_LIBOBJ([roundf]).
22571         * m4/roundl.m4: Ditto, and similarly for roundl.
22572         * modules/round: Reference new m4 file.
22573         * modules/roundf: Ditto.
22574         * modules/roundl: Ditto.
22575         * tests/test-round2.c (main): Use ROUND instead of round.
22576         Bug report from Bruno Haible.
22577
22578 2007-10-21  Bruno Haible  <bruno@clisp.org>
22579
22580         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
22581         context.
22582
22583 2007-10-21  Bruno Haible  <bruno@clisp.org>
22584
22585         * tests/test-wcwidth.c (main): Allow negative result for some control
22586         characters.
22587
22588         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
22589         Needed on OSF/1 5.1.
22590
22591 2007-10-21  Bruno Haible  <bruno@clisp.org>
22592
22593         * tests/test-floorf1.c: Include isnanf.h.
22594         (main): Use isnanf() instead of isnan().
22595         * tests/test-ceilf1.c: Include isnanf.h.
22596         (main): Use isnanf() instead of isnan().
22597         * tests/test-truncf1.c: Include isnanf.h.
22598         (main): Use isnanf() instead of isnan().
22599         * tests/test-roundf1.c: Include isnanf.h.
22600         (main): Use isnanf() instead of isnan().
22601
22602 2007-10-21  Eric Blake  <ebb9@byu.net>
22603
22604         * users.txt: Update URL for m4.
22605
22606 2007-10-21  Bruno Haible  <bruno@clisp.org>
22607
22608         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
22609
22610 2007-10-21  Bruno Haible  <bruno@clisp.org>
22611
22612         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
22613         Git's management files if the CVS files are not present.
22614
22615 2007-10-20  Bruno Haible  <bruno@clisp.org>
22616
22617         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
22618         gcc-3.4.x.
22619
22620 2007-10-20  Ben Pfaff  <blp@gnu.org>
22621
22622         * lib/math.in.h: Declare round, roundf, roundl if we are providing
22623         implementations.
22624         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
22625         * lib/round.c: New file.
22626         * lib/roundf.c: New file.
22627         * lib/roundl.c: New file.
22628         * m4/round.m4: New file.
22629         * m4/roundf.m4: New file.
22630         * m4/roundl.m4: New file.
22631         * m4/check-libm-func-m4: New file.
22632         * modules/math: Replace round, roundf, roundl related @VARS@ in
22633         math.in.h.
22634         * modules/round: New file.
22635         * modules/round-tests: New file.
22636         * modules/roundf: New file.
22637         * modules/roundf-tests: New file.
22638         * modules/roundl: New file.
22639         * modules/roundl-tests: New file.
22640         * tests/test-round1.c: New file.
22641         * tests/test-round2.c: New file.
22642         * tests/test-roundf1.c: New file.
22643         * tests/test-roundf2.c: New file.
22644         * tests/test-roundl.c: New file.
22645         * doc/functions/round.texi: Mention round module.
22646         * doc/functions/roundf.texi: Mention roundf module.
22647         * doc/functions/roundl.texi: Mention roundl module.
22648         * MODULES.html.sh: Mention new modules.
22649         Thanks to Bruno Haible for suggestions.
22650
22651 2007-10-20  Jim Meyering  <meyering@redhat.com>
22652
22653         * lib/xprintf.c: Include <config.h> unconditionally.
22654
22655         Change xprintf's license to GPL.
22656         * modules/xprintf (License): s/LGPL/GPL/, since this module
22657         depends on modules (exit and exitfail) which are GPL.
22658         Suggestion from Bruno Haible.
22659
22660         xprintf fixes.
22661         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
22662         Use a clearer diagnostic.
22663         Patch from Bruno Haible.
22664
22665 2007-10-20  Bruno Haible  <bruno@clisp.org>
22666
22667         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
22668         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
22669         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22670
22671 2007-10-20  Bruno Haible  <bruno@clisp.org>
22672
22673         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
22674         precision in the comparison result > x - 1 or similar.
22675         * tests/test-ceilf2.c (correct_result_p): Likewise.
22676         * tests/test-truncf2.c (correct_result_p): Likewise.
22677         * tests/test-trunc2.c (correct_result_p): Likewise.
22678         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
22679
22680 2007-10-20  Bruno Haible  <bruno@clisp.org>
22681
22682         * modules/ceil: New file.
22683         * m4/ceil.m4: New file.
22684         * doc/functions/ceil.texi: Mention the 'ceil' module.
22685
22686 2007-10-20  Bruno Haible  <bruno@clisp.org>
22687
22688         * modules/floor: New file.
22689         * m4/floor.m4: New file.
22690         * doc/functions/floor.texi: Mention the 'floor' module.
22691
22692 2007-10-20  Bruno Haible  <bruno@clisp.org>
22693
22694         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
22695         of %a.
22696         * modules/floorf-tests (Depends-on): Likewise.
22697         * modules/truncf-tests (Depends-on): Likewise.
22698         * modules/trunc-tests (Depends-on): Likewise.
22699         Reported by Ben Pfaff.
22700
22701 2007-10-19  Jim Meyering  <meyering@redhat.com>
22702
22703         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
22704         Don't bother testing specific errno values.  Just test ferror.
22705
22706         New module: xprintf
22707         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
22708
22709 2007-10-19  Bruno Haible  <bruno@clisp.org>
22710
22711         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
22712         syntax.
22713         * modules/javaexec (Makefile.am): Likewise.
22714         * modules/relocatable-prog (Makefile.am): Likewise.
22715         Suggested by Jim Meyering.
22716
22717 2007-10-18  Bruno Haible  <bruno@clisp.org>
22718
22719         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
22720         Reported by Jim Meyering.
22721
22722 2007-10-18  Eric Blake  <ebb9@byu.net>
22723
22724         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
22725
22726 2007-10-18  Bruno Haible  <bruno@clisp.org>
22727
22728         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
22729         the format string into writable memory. Needed in Fortify conditions.
22730
22731 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
22732             Bruno Haible  <bruno@clisp.org>
22733
22734         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
22735         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
22736         * modules/trim (Depends-on): Add mbchar.
22737         (configure.ac): Add gl_FUNC_MBRTOWC.
22738         (Makefile.am): Augment lib_SOURCES.
22739
22740 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
22741
22742         Modify glob.c to use fstatat and dirfd, to simplify it.
22743         Suggested by Eric Blake.
22744         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
22745         Don't include <stdbool.h>; not used.
22746         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
22747         (link_exists_p): Simplify implementation, since we can now assume
22748         dirfd and fstatat.
22749         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
22750
22751 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22752
22753         * gnulib-tool (func_get_dependencies): Fix sed script to
22754         match only tests.
22755
22756 2007-10-17  Bruno Haible  <bruno@clisp.org>
22757
22758         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
22759         allow locale names without encoding suffix.
22760         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
22761         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22762
22763 2007-10-16  Bruno Haible  <bruno@clisp.org>
22764
22765         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
22766         * lib/getgroups.c (getgroups): Likewise.
22767         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
22768
22769 2007-10-16  Bruno Haible  <bruno@clisp.org>
22770
22771         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
22772         * modules/malloc-posix (License): Likewise.
22773         * modules/realloc-posix (License): Likewise.
22774         * modules/calloc-posix (License): Likewise.
22775         * modules/intprops (License): Change from GPL to LGPL, with
22776         Paul Eggert's approval.
22777
22778 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
22779
22780         Merge glibc changes into lib/glob.c.
22781
22782         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
22783         2007-10-15 04:59:03 UTC.  Here are the changes:
22784
22785         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
22786
22787         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
22788
22789         * lib/glob.c: Add some branch prediction throughout.
22790
22791         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
22792
22793         [BZ #5103]
22794         * lib/glob.c (glob): Recognize patterns starting \/.
22795
22796         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
22797
22798         [BZ #3996]
22799         * lib/glob.c (attribute_hidden): Define if not defined.
22800         (glob): Unescape dirname, filename or username when needed and not
22801         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
22802         is NULL.  Handle unescaped [ in pattern without closing ].
22803         Don't pass GLOB_CHECK down to recursive glob for directories.
22804         (__glob_pattern_type): New function.
22805         (__glob_pattern_p): Implement using __glob_pattern_type.
22806         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
22807         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
22808         Remove unreachable code.
22809
22810         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
22811
22812         * lib/glob.c (glob_in_dir): Add some comments and asserts to
22813         explain why there are no leaks.
22814
22815         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
22816
22817         [BZ #3253]
22818         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
22819         time, rather allocate increasingly bigger arrays of pointers, if
22820         possible with alloca, if too large with malloc.
22821
22822 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
22823
22824         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
22825         Problem reported by H.Merijn Brand in
22826         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
22827         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
22828         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
22829
22830 2007-10-15  Bruno Haible  <bruno@clisp.org>
22831
22832         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
22833         with explicit rpl_ prefix.
22834         * lib/fopen.c (fopen): Likewise.
22835         * lib/freopen.c (freopen): Likewise.
22836         * lib/iconv.c (iconv): Likewise.
22837         * lib/iconv_close.c (iconv_close): Likewise.
22838
22839 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22840
22841         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
22842
22843 2007-10-15  Bruno Haible  <bruno@clisp.org>
22844
22845         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
22846         <stddef.h> instead of <stdlib.h> since we only need NULL.
22847         Reported by Ben Pfaff <blp@cs.stanford.edu>.
22848
22849 2007-10-15  Bruno Haible  <bruno@clisp.org>
22850
22851         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
22852         Replace paragraph talking about LIBOBJS.
22853         Reported by Colin Watson <cjwatson@debian.org>.
22854
22855 2007-10-15  Bruno Haible  <bruno@clisp.org>
22856
22857         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
22858         <stdlib.h> before using NULL.
22859
22860 2007-10-15  Simon Josefsson  <simon@josefsson.org>
22861
22862         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
22863         Reported by Albert Chin <china@thewrittenword.com>.
22864
22865 2007-10-14  Bruno Haible  <bruno@clisp.org>
22866
22867         * modules/iconv_open-utf-tests: New file.
22868         * tests/test-iconv-utf.c: New file.
22869
22870         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
22871         * modules/iconv_open-utf: New file.
22872         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
22873         (iconv, iconv_close): New declarations.
22874         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
22875         be defined.
22876         (iconv_open): Add special handling of conversion between UTF-8 and
22877         UTF-{16,32}{BE,LE}.
22878         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
22879         * lib/iconv_close.c: New file.
22880         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
22881         gl_FUNC_ICONV_OPEN.
22882         (gl_FUNC_ICONV_OPEN): Use it.
22883         (gl_FUNC_ICONV_OPEN_UTF): New macro.
22884         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
22885         and REPLACE_ICONV_UTF.
22886         * modules/iconv_open (Depends-on): Add c-strcase.
22887         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
22888         ICONV_CONST.
22889         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
22890
22891 2007-10-13  Albert Chin  <china@thewrittenword.com>
22892             Bruno Haible  <bruno@clisp.org>
22893
22894         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
22895         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
22896
22897 2007-10-13  Bruno Haible  <bruno@clisp.org>
22898
22899         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
22900         defined, use the ISO C99 inline semantics.
22901         * lib/argp.h (ARGP_EI): Likewise.
22902
22903 2007-10-13  Bruno Haible  <bruno@clisp.org>
22904
22905         Handle 'inline' change in gcc 4.3.0.
22906         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
22907         argp_fmtstream_write, argp_fmtstream_set_lmargin,
22908         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
22909         argp_fmtstream_point): Disable 'extern' declaration if the function
22910         definition is going to be provided inline.
22911         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
22912         semantics, not the ISO C99 inline semantics.
22913         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
22914         'extern' declaration if the function definition is going to be provided
22915         inline.
22916         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
22917         the GNU C inline semantics, not the ISO C99 inline semantics. With
22918         GCC 4.2, avoid a warning.
22919
22920 2007-10-13  Bruno Haible  <bruno@clisp.org>
22921
22922         * lib/freading.h (freading): Enable the use of __freading for
22923         glibc >= 2.7.
22924         * lib/freading.c (freading): Likewise.
22925
22926 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
22927
22928         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
22929         "warning: C99 inline functions are not supported; using GNU89".
22930
22931 2007-10-12  Bruno Haible  <bruno@clisp.org>
22932
22933         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
22934         of 2.
22935         * tests/test-ceilf2.c: New file.
22936         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
22937
22938         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
22939         * modules/ceilf-tests: Update.
22940
22941 2007-10-12  Bruno Haible  <bruno@clisp.org>
22942
22943         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
22944         of 2.
22945         * tests/test-floorf2.c: New file.
22946         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
22947
22948         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
22949         * modules/floorf-tests: Update.
22950
22951 2007-10-12  Bruno Haible  <bruno@clisp.org>
22952
22953         * tests/test-trunc2.c: New file.
22954         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
22955
22956         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
22957         * modules/trunc-tests: Update.
22958
22959 2007-10-12  Bruno Haible  <bruno@clisp.org>
22960
22961         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
22962         of 2.
22963         * tests/test-truncf2.c: New file.
22964         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
22965
22966         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
22967         * modules/truncf-tests: Update.
22968
22969 2007-10-11  Eric Blake  <ebb9@byu.net>
22970
22971         Don't claim strerror is broken on Interix.
22972         * doc/functions/strerror.texi (strerror): Known broken systems are
22973         now Solaris 8, and not Interix.
22974         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
22975         Interix on cross-compile.
22976         Reported by Martin Koeppe in
22977         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
22978
22979 2007-10-11  Bruno Haible  <bruno@clisp.org>
22980
22981         * modules/i-ring-tests: New file.
22982         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
22983         instead of assert.
22984
22985 2007-10-11  Bruno Haible  <bruno@clisp.org>
22986
22987         * modules/filenamecat-tests: New file.
22988         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
22989         * lib/filenamecat.c: Remove test code.
22990
22991 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
22992
22993         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
22994
22995         * lib/strerror.c: Include <string.h> always, to test interface,
22996         and to remove the need for the dummy.
22997         Include intprops.h to compute width instead of doing it ourselves
22998         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
22999         (strerror): Define it to return NULL if there's no system strerror.
23000         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
23001         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
23002         ancient pre-strerror Unix systems well any more.  Saying "unknown
23003         system error" is enough.
23004         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
23005         simpler strerror.c implementation.
23006         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
23007         Simplify the tests to reflect the simpler strerror implementation.
23008         * modules/strerror (Depends-on): Add intprops.
23009
23010 2007-10-09  Eric Blake  <ebb9@byu.net>
23011
23012         Silence test-fpending.
23013         * modules/fpending-tests (Files): Add wrapper script.
23014         * tests/test-fpending.sh: New file.
23015
23016 2007-10-09  Bruno Haible  <bruno@clisp.org>
23017
23018         * MODULES.html.sh (func_module): Don't create a hyperlink for
23019         function names like 'printf_frexp'.
23020         (Misc): Add crc, memxor.
23021         (Characteristics of floating types): New section.
23022         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
23023         isnanf-nolibm, signbit, trunc, truncf, truncl.
23024         (Enhancements for ISO C 99 functions): New subsection Input/output.
23025         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
23026         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
23027         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
23028         (Compatibility checks for POSIX:2001 functions): Add clock-time.
23029         (Enhancements for POSIX:2001 functions): Add chdir-long.
23030         (File system functions): Add areadlink, chdir-safer, read-file.
23031         Remove cycle-check.
23032         (File system as inode set): New section.
23033         (Date and time): Add gethrxtime.
23034         (Multithreading): Add openmp.
23035         (Internationalization functions): Add localename.
23036         (Unicode string functions): Add unistr/u*-mbsnlen.
23037         (Support for maintaining and releasing projects): Add git-version-gen.
23038         (Lone files): Remove directories.
23039
23040 2007-10-08  Ben Pfaff  <blp@gnu.org>
23041
23042         * lib/xmalloca.h: Fix typo in comment.
23043
23044 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
23045
23046         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
23047         when avoiding problems with integer overflow.  Use a portable test
23048         instead.
23049
23050 2007-10-08  Simon Josefsson  <simon@josefsson.org>
23051
23052         * modules/dummy (License): Change to LGPLv2+.
23053         * modules/float (License): Likewise
23054         * modules/realloc (License): Likewise
23055         * modules/stdlib (License): Likewise
23056
23057 2007-10-07  Bruno Haible  <bruno@clisp.org>
23058
23059         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
23060         * floor.c (TWO_MANT_DIG): Likewise.
23061         * ceil.c (TWO_MANT_DIG): Likewise.
23062         Reported by Ben Pfaff.
23063
23064 2007-10-07  Bruno Haible  <bruno@clisp.org>
23065
23066         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
23067         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
23068         * lib/frexp.c (FUNC): Likewise.
23069         * lib/printf-frexp.h (printf_frexp): Likewise.
23070         * lib/printf-frexpl.h (printf_frexpl): Likewise.
23071         * lib/printf-frexp.c (FUNC): Likewise.
23072         Suggested by Jim Meyering.
23073
23074 2007-10-07  Jim Meyering  <meyering@redhat.com>
23075
23076         Make xnanosleep's integer overflow test more robust.
23077         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
23078         so that gcc-4.3.0 doesn't optimize away this test for overflow.
23079
23080 2007-10-07  Bruno Haible  <bruno@clisp.org>
23081
23082         * NEWS: Mention the license change.
23083
23084         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
23085         abbreviations in the modules files.
23086
23087         Change copyright notice from GPLv2+ to GPLv3+.
23088         * README: Change copyright notice.
23089         * MODULES.html.sh: Likewise.
23090         * build-aux/bootstrap.conf: Likewise.
23091         * build-aux/config.libpath: Likewise.
23092         * build-aux/csharpcomp.sh.in: Likewise.
23093         * build-aux/csharpexec.sh.in: Likewise.
23094         * build-aux/install-reloc: Likewise.
23095         * build-aux/javacomp.sh.in: Likewise.
23096         * build-aux/javaexec.sh.in: Likewise.
23097         * build-aux/ldd.sh.in: Likewise.
23098         * build-aux/reloc-ldflags: Likewise.
23099         * build-aux/relocatable.sh.in: Likewise.
23100         * build-aux/x-to-1.in: Likewise.
23101         * check-module: Likewise.
23102         * config/srclistvars.sh: Likewise.
23103         * gnulib-tool: Likewise.
23104         * lib/acl-internal.h: Likewise.
23105         * lib/acl.c: Likewise.
23106         * lib/acl.h: Likewise.
23107         * lib/acl_entries.c: Likewise.
23108         * lib/areadlink-with-size.c: Likewise.
23109         * lib/areadlink.c: Likewise.
23110         * lib/areadlink.h: Likewise.
23111         * lib/argmatch.c: Likewise.
23112         * lib/argmatch.h: Likewise.
23113         * lib/argp-ba.c: Likewise.
23114         * lib/argp-eexst.c: Likewise.
23115         * lib/argp-fmtstream.c: Likewise.
23116         * lib/argp-fmtstream.h: Likewise.
23117         * lib/argp-fs-xinl.c: Likewise.
23118         * lib/argp-help.c: Likewise.
23119         * lib/argp-namefrob.h: Likewise.
23120         * lib/argp-parse.c: Likewise.
23121         * lib/argp-pin.c: Likewise.
23122         * lib/argp-pv.c: Likewise.
23123         * lib/argp-pvh.c: Likewise.
23124         * lib/argp-xinl.c: Likewise.
23125         * lib/argp.h: Likewise.
23126         * lib/at-func.c: Likewise.
23127         * lib/atanl.c: Likewise.
23128         * lib/backupfile.c: Likewise.
23129         * lib/backupfile.h: Likewise.
23130         * lib/basename.c: Likewise.
23131         * lib/binary-io.h: Likewise.
23132         * lib/byteswap.in.h: Likewise.
23133         * lib/c-stack.c: Likewise.
23134         * lib/c-stack.h: Likewise.
23135         * lib/c-strcasestr.c: Likewise.
23136         * lib/c-strcasestr.h: Likewise.
23137         * lib/c-strstr.c: Likewise.
23138         * lib/c-strstr.h: Likewise.
23139         * lib/c-strtod.c: Likewise.
23140         * lib/calloc.c: Likewise.
23141         * lib/canon-host.c: Likewise.
23142         * lib/canon-host.h: Likewise.
23143         * lib/canonicalize-lgpl.c: Likewise.
23144         * lib/canonicalize.c: Likewise.
23145         * lib/canonicalize.h: Likewise.
23146         * lib/ceil.c: Likewise.
23147         * lib/ceilf.c: Likewise.
23148         * lib/ceill.c: Likewise.
23149         * lib/chdir-long.c: Likewise.
23150         * lib/chdir-long.h: Likewise.
23151         * lib/chdir-safer.c: Likewise.
23152         * lib/chdir-safer.h: Likewise.
23153         * lib/chown.c: Likewise.
23154         * lib/classpath.c: Likewise.
23155         * lib/classpath.h: Likewise.
23156         * lib/clean-temp.c: Likewise.
23157         * lib/clean-temp.h: Likewise.
23158         * lib/cloexec.c: Likewise.
23159         * lib/close-stream.c: Likewise.
23160         * lib/closein.c: Likewise.
23161         * lib/closein.h: Likewise.
23162         * lib/closeout.c: Likewise.
23163         * lib/closeout.h: Likewise.
23164         * lib/concat-filename.c: Likewise.
23165         * lib/copy-file.c: Likewise.
23166         * lib/copy-file.h: Likewise.
23167         * lib/count-one-bits.h: Likewise.
23168         * lib/crc.c: Likewise.
23169         * lib/crc.h: Likewise.
23170         * lib/creat-safer.c: Likewise.
23171         * lib/csharpcomp.c: Likewise.
23172         * lib/csharpcomp.h: Likewise.
23173         * lib/csharpexec.c: Likewise.
23174         * lib/csharpexec.h: Likewise.
23175         * lib/cycle-check.c: Likewise.
23176         * lib/cycle-check.h: Likewise.
23177         * lib/diacrit.c: Likewise.
23178         * lib/diacrit.h: Likewise.
23179         * lib/diffseq.h: Likewise.
23180         * lib/dirchownmod.c: Likewise.
23181         * lib/dirent.in.h: Likewise.
23182         * lib/dirfd.c: Likewise.
23183         * lib/dirfd.h: Likewise.
23184         * lib/dirname.c: Likewise.
23185         * lib/dirname.h: Likewise.
23186         * lib/dummy.c: Likewise.
23187         * lib/dup-safer.c: Likewise.
23188         * lib/dup2.c: Likewise.
23189         * lib/eealloc.h: Likewise.
23190         * lib/error.c: Likewise.
23191         * lib/error.h: Likewise.
23192         * lib/euidaccess.c: Likewise.
23193         * lib/exclude.c: Likewise.
23194         * lib/exclude.h: Likewise.
23195         * lib/execute.c: Likewise.
23196         * lib/execute.h: Likewise.
23197         * lib/exitfail.c: Likewise.
23198         * lib/exitfail.h: Likewise.
23199         * lib/expl.c: Likewise.
23200         * lib/fatal-signal.c: Likewise.
23201         * lib/fatal-signal.h: Likewise.
23202         * lib/fbufmode.c: Likewise.
23203         * lib/fbufmode.h: Likewise.
23204         * lib/fchdir.c: Likewise.
23205         * lib/fchmodat.c: Likewise.
23206         * lib/fchownat.c: Likewise.
23207         * lib/fcntl--.h: Likewise.
23208         * lib/fcntl-safer.h: Likewise.
23209         * lib/fcntl.in.h: Likewise.
23210         * lib/fd-safer.c: Likewise.
23211         * lib/fflush.c: Likewise.
23212         * lib/file-has-acl.c: Likewise.
23213         * lib/file-set.c: Likewise.
23214         * lib/file-type.c: Likewise.
23215         * lib/file-type.h: Likewise.
23216         * lib/fileblocks.c: Likewise.
23217         * lib/filemode.c: Likewise.
23218         * lib/filemode.h: Likewise.
23219         * lib/filename.h: Likewise.
23220         * lib/filenamecat.c: Likewise.
23221         * lib/filenamecat.h: Likewise.
23222         * lib/findprog.c: Likewise.
23223         * lib/findprog.h: Likewise.
23224         * lib/float.in.h: Likewise.
23225         * lib/floor.c: Likewise.
23226         * lib/floorf.c: Likewise.
23227         * lib/floorl.c: Likewise.
23228         * lib/fopen-safer.c: Likewise.
23229         * lib/fopen.c: Likewise.
23230         * lib/fpending.c: Likewise.
23231         * lib/fpending.h: Likewise.
23232         * lib/fprintf.c: Likewise.
23233         * lib/fprintftime.h: Likewise.
23234         * lib/fpucw.h: Likewise.
23235         * lib/fpurge.c: Likewise.
23236         * lib/fpurge.h: Likewise.
23237         * lib/freadable.c: Likewise.
23238         * lib/freadable.h: Likewise.
23239         * lib/freadahead.c: Likewise.
23240         * lib/freadahead.h: Likewise.
23241         * lib/freading.c: Likewise.
23242         * lib/freading.h: Likewise.
23243         * lib/free.c: Likewise.
23244         * lib/freopen.c: Likewise.
23245         * lib/frexp.c: Likewise.
23246         * lib/frexpl.c: Likewise.
23247         * lib/fseek.c: Likewise.
23248         * lib/fseterr.c: Likewise.
23249         * lib/fseterr.h: Likewise.
23250         * lib/fstatat.c: Likewise.
23251         * lib/fstrcmp.c: Likewise.
23252         * lib/fstrcmp.h: Likewise.
23253         * lib/fsusage.c: Likewise.
23254         * lib/fsusage.h: Likewise.
23255         * lib/ftell.c: Likewise.
23256         * lib/ftello.c: Likewise.
23257         * lib/fts-cycle.c: Likewise.
23258         * lib/fts.c: Likewise.
23259         * lib/fts_.h: Likewise.
23260         * lib/full-read.c: Likewise.
23261         * lib/full-read.h: Likewise.
23262         * lib/full-write.c: Likewise.
23263         * lib/full-write.h: Likewise.
23264         * lib/fwritable.c: Likewise.
23265         * lib/fwritable.h: Likewise.
23266         * lib/fwriteerror.c: Likewise.
23267         * lib/fwriteerror.h: Likewise.
23268         * lib/fwriting.c: Likewise.
23269         * lib/fwriting.h: Likewise.
23270         * lib/gcd.c: Likewise.
23271         * lib/gcd.h: Likewise.
23272         * lib/getcwd.c: Likewise.
23273         * lib/getdate.h: Likewise.
23274         * lib/getdate.y: Likewise.
23275         * lib/getdomainname.c: Likewise.
23276         * lib/getdomainname.h: Likewise.
23277         * lib/getgroups.c: Likewise.
23278         * lib/gethostname.c: Likewise.
23279         * lib/gethrxtime.c: Likewise.
23280         * lib/gethrxtime.h: Likewise.
23281         * lib/getloadavg.c: Likewise.
23282         * lib/getndelim2.c: Likewise.
23283         * lib/getndelim2.h: Likewise.
23284         * lib/getnline.c: Likewise.
23285         * lib/getnline.h: Likewise.
23286         * lib/getopt.c: Likewise.
23287         * lib/getopt.in.h: Likewise.
23288         * lib/getopt1.c: Likewise.
23289         * lib/getopt_int.h: Likewise.
23290         * lib/getpagesize.h: Likewise.
23291         * lib/getsubopt.c: Likewise.
23292         * lib/gettime.c: Likewise.
23293         * lib/getugroups.c: Likewise.
23294         * lib/getugroups.h: Likewise.
23295         * lib/getusershell.c: Likewise.
23296         * lib/gl_anyavltree_list1.h: Likewise.
23297         * lib/gl_anyavltree_list2.h: Likewise.
23298         * lib/gl_anyhash_list1.h: Likewise.
23299         * lib/gl_anyhash_list2.h: Likewise.
23300         * lib/gl_anylinked_list1.h: Likewise.
23301         * lib/gl_anylinked_list2.h: Likewise.
23302         * lib/gl_anyrbtree_list1.h: Likewise.
23303         * lib/gl_anyrbtree_list2.h: Likewise.
23304         * lib/gl_anytree_list1.h: Likewise.
23305         * lib/gl_anytree_list2.h: Likewise.
23306         * lib/gl_anytree_oset.h: Likewise.
23307         * lib/gl_anytreehash_list1.h: Likewise.
23308         * lib/gl_anytreehash_list2.h: Likewise.
23309         * lib/gl_array_list.c: Likewise.
23310         * lib/gl_array_list.h: Likewise.
23311         * lib/gl_array_oset.c: Likewise.
23312         * lib/gl_array_oset.h: Likewise.
23313         * lib/gl_avltree_list.c: Likewise.
23314         * lib/gl_avltree_list.h: Likewise.
23315         * lib/gl_avltree_oset.c: Likewise.
23316         * lib/gl_avltree_oset.h: Likewise.
23317         * lib/gl_avltreehash_list.c: Likewise.
23318         * lib/gl_avltreehash_list.h: Likewise.
23319         * lib/gl_carray_list.c: Likewise.
23320         * lib/gl_carray_list.h: Likewise.
23321         * lib/gl_linked_list.c: Likewise.
23322         * lib/gl_linked_list.h: Likewise.
23323         * lib/gl_linkedhash_list.c: Likewise.
23324         * lib/gl_linkedhash_list.h: Likewise.
23325         * lib/gl_list.c: Likewise.
23326         * lib/gl_list.h: Likewise.
23327         * lib/gl_oset.c: Likewise.
23328         * lib/gl_oset.h: Likewise.
23329         * lib/gl_rbtree_list.c: Likewise.
23330         * lib/gl_rbtree_list.h: Likewise.
23331         * lib/gl_rbtree_oset.c: Likewise.
23332         * lib/gl_rbtree_oset.h: Likewise.
23333         * lib/gl_rbtreehash_list.c: Likewise.
23334         * lib/gl_rbtreehash_list.h: Likewise.
23335         * lib/gl_sublist.c: Likewise.
23336         * lib/gl_sublist.h: Likewise.
23337         * lib/group-member.c: Likewise.
23338         * lib/group-member.h: Likewise.
23339         * lib/hard-locale.c: Likewise.
23340         * lib/hard-locale.h: Likewise.
23341         * lib/hash-pjw.c: Likewise.
23342         * lib/hash-pjw.h: Likewise.
23343         * lib/hash-triple.c: Likewise.
23344         * lib/hash.c: Likewise.
23345         * lib/hash.h: Likewise.
23346         * lib/human.c: Likewise.
23347         * lib/human.h: Likewise.
23348         * lib/i-ring.c: Likewise.
23349         * lib/i-ring.h: Likewise.
23350         * lib/idcache.c: Likewise.
23351         * lib/imaxabs.c: Likewise.
23352         * lib/imaxdiv.c: Likewise.
23353         * lib/inet_pton.c: Likewise.
23354         * lib/inet_pton.h: Likewise.
23355         * lib/intprops.h: Likewise.
23356         * lib/inttostr.c: Likewise.
23357         * lib/inttostr.h: Likewise.
23358         * lib/inttypes.in.h: Likewise.
23359         * lib/isapipe.c: Likewise.
23360         * lib/isdir.c: Likewise.
23361         * lib/isnan.c: Likewise.
23362         * lib/isnan.h: Likewise.
23363         * lib/isnanf.c: Likewise.
23364         * lib/isnanf.h: Likewise.
23365         * lib/isnanl-nolibm.h: Likewise.
23366         * lib/isnanl.c: Likewise.
23367         * lib/isnanl.h: Likewise.
23368         * lib/javacomp.c: Likewise.
23369         * lib/javacomp.h: Likewise.
23370         * lib/javaexec.c: Likewise.
23371         * lib/javaexec.h: Likewise.
23372         * lib/javaversion.c: Likewise.
23373         * lib/javaversion.h: Likewise.
23374         * lib/javaversion.java: Likewise.
23375         * lib/lbrkprop.h: Likewise.
23376         * lib/lchmod.h: Likewise.
23377         * lib/lchown.c: Likewise.
23378         * lib/ldexpl.c: Likewise.
23379         * lib/linebreak.c: Likewise.
23380         * lib/linebreak.h: Likewise.
23381         * lib/linebuffer.c: Likewise.
23382         * lib/linebuffer.h: Likewise.
23383         * lib/locale.in.h: Likewise.
23384         * lib/logl.c: Likewise.
23385         * lib/long-options.c: Likewise.
23386         * lib/long-options.h: Likewise.
23387         * lib/lstat.c: Likewise.
23388         * lib/lstat.h: Likewise.
23389         * lib/math.in.h: Likewise.
23390         * lib/mbchar.c: Likewise.
23391         * lib/mbchar.h: Likewise.
23392         * lib/mbfile.h: Likewise.
23393         * lib/mbiter.h: Likewise.
23394         * lib/mbscasecmp.c: Likewise.
23395         * lib/mbscasestr.c: Likewise.
23396         * lib/mbschr.c: Likewise.
23397         * lib/mbscspn.c: Likewise.
23398         * lib/mbslen.c: Likewise.
23399         * lib/mbsncasecmp.c: Likewise.
23400         * lib/mbsnlen.c: Likewise.
23401         * lib/mbspbrk.c: Likewise.
23402         * lib/mbspcasecmp.c: Likewise.
23403         * lib/mbsrchr.c: Likewise.
23404         * lib/mbssep.c: Likewise.
23405         * lib/mbsspn.c: Likewise.
23406         * lib/mbsstr.c: Likewise.
23407         * lib/mbstok_r.c: Likewise.
23408         * lib/mbswidth.c: Likewise.
23409         * lib/mbswidth.h: Likewise.
23410         * lib/mbuiter.h: Likewise.
23411         * lib/memcasecmp.c: Likewise.
23412         * lib/memcasecmp.h: Likewise.
23413         * lib/memchr.c: Likewise.
23414         * lib/memcmp.c: Likewise.
23415         * lib/memcoll.c: Likewise.
23416         * lib/memcoll.h: Likewise.
23417         * lib/memcpy.c: Likewise.
23418         * lib/memrchr.c: Likewise.
23419         * lib/mkancesdirs.c: Likewise.
23420         * lib/mkdir-p.c: Likewise.
23421         * lib/mkdir-p.h: Likewise.
23422         * lib/mkdir.c: Likewise.
23423         * lib/mkdirat.c: Likewise.
23424         * lib/mkdtemp.c: Likewise.
23425         * lib/mkstemp-safer.c: Likewise.
23426         * lib/mkstemp.c: Likewise.
23427         * lib/modechange.c: Likewise.
23428         * lib/modechange.h: Likewise.
23429         * lib/mountlist.c: Likewise.
23430         * lib/mountlist.h: Likewise.
23431         * lib/mpsort.c: Likewise.
23432         * lib/nanosleep.c: Likewise.
23433         * lib/obstack.c: Likewise.
23434         * lib/obstack.h: Likewise.
23435         * lib/open-safer.c: Likewise.
23436         * lib/open.c: Likewise.
23437         * lib/openat-die.c: Likewise.
23438         * lib/openat-priv.h: Likewise.
23439         * lib/openat-proc.c: Likewise.
23440         * lib/openat.c: Likewise.
23441         * lib/openat.h: Likewise.
23442         * lib/pagealign_alloc.c: Likewise.
23443         * lib/pagealign_alloc.h: Likewise.
23444         * lib/physmem.c: Likewise.
23445         * lib/physmem.h: Likewise.
23446         * lib/pipe-safer.c: Likewise.
23447         * lib/pipe.c: Likewise.
23448         * lib/pipe.h: Likewise.
23449         * lib/posixtm.c: Likewise.
23450         * lib/posixtm.h: Likewise.
23451         * lib/posixver.c: Likewise.
23452         * lib/printf-frexp.c: Likewise.
23453         * lib/printf-frexp.h: Likewise.
23454         * lib/printf-frexpl.c: Likewise.
23455         * lib/printf-frexpl.h: Likewise.
23456         * lib/printf.c: Likewise.
23457         * lib/progname.c: Likewise.
23458         * lib/progname.h: Likewise.
23459         * lib/progreloc.c: Likewise.
23460         * lib/putenv.c: Likewise.
23461         * lib/quote.c: Likewise.
23462         * lib/quote.h: Likewise.
23463         * lib/quotearg.c: Likewise.
23464         * lib/quotearg.h: Likewise.
23465         * lib/raise.c: Likewise.
23466         * lib/readline.c: Likewise.
23467         * lib/readline.h: Likewise.
23468         * lib/readlink.c: Likewise.
23469         * lib/readtokens.c: Likewise.
23470         * lib/readtokens.h: Likewise.
23471         * lib/readtokens0.c: Likewise.
23472         * lib/readtokens0.h: Likewise.
23473         * lib/readutmp.c: Likewise.
23474         * lib/readutmp.h: Likewise.
23475         * lib/realloc.c: Likewise.
23476         * lib/relocwrapper.c: Likewise.
23477         * lib/rename-dest-slash.c: Likewise.
23478         * lib/rename.c: Likewise.
23479         * lib/rmdir.c: Likewise.
23480         * lib/rpmatch.c: Likewise.
23481         * lib/safe-read.c: Likewise.
23482         * lib/safe-read.h: Likewise.
23483         * lib/safe-write.c: Likewise.
23484         * lib/safe-write.h: Likewise.
23485         * lib/same-inode.h: Likewise.
23486         * lib/same.c: Likewise.
23487         * lib/same.h: Likewise.
23488         * lib/save-cwd.c: Likewise.
23489         * lib/save-cwd.h: Likewise.
23490         * lib/savedir.c: Likewise.
23491         * lib/savedir.h: Likewise.
23492         * lib/savewd.c: Likewise.
23493         * lib/savewd.h: Likewise.
23494         * lib/search.in.h: Likewise.
23495         * lib/setenv.c: Likewise.
23496         * lib/setenv.h: Likewise.
23497         * lib/settime.c: Likewise.
23498         * lib/sh-quote.c: Likewise.
23499         * lib/sh-quote.h: Likewise.
23500         * lib/sig2str.c: Likewise.
23501         * lib/sig2str.h: Likewise.
23502         * lib/signal.in.h: Likewise.
23503         * lib/signbitd.c: Likewise.
23504         * lib/signbitf.c: Likewise.
23505         * lib/signbitl.c: Likewise.
23506         * lib/sigprocmask.c: Likewise.
23507         * lib/sincosl.c: Likewise.
23508         * lib/sleep.c: Likewise.
23509         * lib/sprintf.c: Likewise.
23510         * lib/sqrtl.c: Likewise.
23511         * lib/stat-time.h: Likewise.
23512         * lib/stdio--.h: Likewise.
23513         * lib/stdio-safer.h: Likewise.
23514         * lib/stdlib--.h: Likewise.
23515         * lib/stdlib-safer.h: Likewise.
23516         * lib/stdlib.in.h: Likewise.
23517         * lib/stpcpy.c: Likewise.
23518         * lib/stpncpy.c: Likewise.
23519         * lib/strchrnul.c: Likewise.
23520         * lib/strcspn.c: Likewise.
23521         * lib/strerror.c: Likewise.
23522         * lib/strftime.c: Likewise.
23523         * lib/strftime.h: Likewise.
23524         * lib/striconveh.c: Likewise.
23525         * lib/striconveh.h: Likewise.
23526         * lib/striconveha.c: Likewise.
23527         * lib/striconveha.h: Likewise.
23528         * lib/stripslash.c: Likewise.
23529         * lib/strnlen1.c: Likewise.
23530         * lib/strnlen1.h: Likewise.
23531         * lib/strtod.c: Likewise.
23532         * lib/strtoimax.c: Likewise.
23533         * lib/strtok_r.c: Likewise.
23534         * lib/strtol.c: Likewise.
23535         * lib/strtoll.c: Likewise.
23536         * lib/strtoul.c: Likewise.
23537         * lib/strtoull.c: Likewise.
23538         * lib/sysexits.in.h: Likewise.
23539         * lib/tempname.c: Likewise.
23540         * lib/tempname.h: Likewise.
23541         * lib/timespec.h: Likewise.
23542         * lib/tls.c: Likewise.
23543         * lib/tls.h: Likewise.
23544         * lib/tmpdir.c: Likewise.
23545         * lib/tmpdir.h: Likewise.
23546         * lib/tmpfile-safer.c: Likewise.
23547         * lib/tmpfile.c: Likewise.
23548         * lib/trigl.c: Likewise.
23549         * lib/trigl.h: Likewise.
23550         * lib/trim.c: Likewise.
23551         * lib/trim.h: Likewise.
23552         * lib/trunc.c: Likewise.
23553         * lib/truncf.c: Likewise.
23554         * lib/truncl.c: Likewise.
23555         * lib/tsearch.c: Likewise.
23556         * lib/unicodeio.c: Likewise.
23557         * lib/unicodeio.h: Likewise.
23558         * lib/unistd--.h: Likewise.
23559         * lib/unistd-safer.h: Likewise.
23560         * lib/unistdio/ulc-fprintf.c: Likewise.
23561         * lib/unistdio/ulc-vfprintf.c: Likewise.
23562         * lib/unlinkdir.c: Likewise.
23563         * lib/unlinkdir.h: Likewise.
23564         * lib/unlocked-io.h: Likewise.
23565         * lib/unsetenv.c: Likewise.
23566         * lib/userspec.c: Likewise.
23567         * lib/utime.c: Likewise.
23568         * lib/utimecmp.c: Likewise.
23569         * lib/utimecmp.h: Likewise.
23570         * lib/utimens.c: Likewise.
23571         * lib/verify.h: Likewise.
23572         * lib/verror.c: Likewise.
23573         * lib/verror.h: Likewise.
23574         * lib/version-etc-fsf.c: Likewise.
23575         * lib/version-etc.c: Likewise.
23576         * lib/version-etc.h: Likewise.
23577         * lib/vfprintf.c: Likewise.
23578         * lib/vprintf.c: Likewise.
23579         * lib/vsprintf.c: Likewise.
23580         * lib/w32spawn.h: Likewise.
23581         * lib/wait-process.c: Likewise.
23582         * lib/wait-process.h: Likewise.
23583         * lib/wcwidth.c: Likewise.
23584         * lib/write-any-file.c: Likewise.
23585         * lib/xalloc-die.c: Likewise.
23586         * lib/xalloc.h: Likewise.
23587         * lib/xasprintf.c: Likewise.
23588         * lib/xgetcwd.c: Likewise.
23589         * lib/xgetcwd.h: Likewise.
23590         * lib/xgetdomainname.c: Likewise.
23591         * lib/xgetdomainname.h: Likewise.
23592         * lib/xgethostname.c: Likewise.
23593         * lib/xmalloc.c: Likewise.
23594         * lib/xmalloca.c: Likewise.
23595         * lib/xmalloca.h: Likewise.
23596         * lib/xmemcoll.c: Likewise.
23597         * lib/xnanosleep.c: Likewise.
23598         * lib/xreadlink.c: Likewise.
23599         * lib/xreadlink.h: Likewise.
23600         * lib/xsetenv.c: Likewise.
23601         * lib/xsetenv.h: Likewise.
23602         * lib/xstriconv.c: Likewise.
23603         * lib/xstriconv.h: Likewise.
23604         * lib/xstrndup.c: Likewise.
23605         * lib/xstrndup.h: Likewise.
23606         * lib/xstrtod.c: Likewise.
23607         * lib/xstrtod.h: Likewise.
23608         * lib/xstrtol-error.c: Likewise.
23609         * lib/xstrtol.c: Likewise.
23610         * lib/xstrtol.h: Likewise.
23611         * lib/xtime.h: Likewise.
23612         * lib/xvasprintf.c: Likewise.
23613         * lib/xvasprintf.h: Likewise.
23614         * lib/yesno.c: Likewise.
23615         * lib/yesno.h: Likewise.
23616         * posix-modules: Likewise.
23617         * tests/test-alloca-opt.c: Likewise.
23618         * tests/test-arcfour.c: Likewise.
23619         * tests/test-arctwo.c: Likewise.
23620         * tests/test-argmatch.c: Likewise.
23621         * tests/test-argp-2.sh: Likewise.
23622         * tests/test-argp.c: Likewise.
23623         * tests/test-arpa_inet.c: Likewise.
23624         * tests/test-array_list.c: Likewise.
23625         * tests/test-array_oset.c: Likewise.
23626         * tests/test-atexit.c: Likewise.
23627         * tests/test-avltree_list.c: Likewise.
23628         * tests/test-avltree_oset.c: Likewise.
23629         * tests/test-avltreehash_list.c: Likewise.
23630         * tests/test-base64.c: Likewise.
23631         * tests/test-binary-io.c: Likewise.
23632         * tests/test-byteswap.c: Likewise.
23633         * tests/test-c-ctype.c: Likewise.
23634         * tests/test-c-strcasecmp.c: Likewise.
23635         * tests/test-c-strcasestr.c: Likewise.
23636         * tests/test-c-strncasecmp.c: Likewise.
23637         * tests/test-c-strstr.c: Likewise.
23638         * tests/test-canonicalize-lgpl.c: Likewise.
23639         * tests/test-canonicalize.c: Likewise.
23640         * tests/test-carray_list.c: Likewise.
23641         * tests/test-ceilf.c: Likewise.
23642         * tests/test-ceill.c: Likewise.
23643         * tests/test-count-one-bits.c: Likewise.
23644         * tests/test-crc.c: Likewise.
23645         * tests/test-dirname.c: Likewise.
23646         * tests/test-fbufmode.c: Likewise.
23647         * tests/test-fcntl.c: Likewise.
23648         * tests/test-fflush.c: Likewise.
23649         * tests/test-floorf.c: Likewise.
23650         * tests/test-floorl.c: Likewise.
23651         * tests/test-fopen.c: Likewise.
23652         * tests/test-fprintf-posix.c: Likewise.
23653         * tests/test-fprintf-posix.h: Likewise.
23654         * tests/test-fpurge.c: Likewise.
23655         * tests/test-freadable.c: Likewise.
23656         * tests/test-freadahead.c: Likewise.
23657         * tests/test-freading.c: Likewise.
23658         * tests/test-freopen.c: Likewise.
23659         * tests/test-frexp.c: Likewise.
23660         * tests/test-frexpl.c: Likewise.
23661         * tests/test-fseek.c: Likewise.
23662         * tests/test-fseeko.c: Likewise.
23663         * tests/test-fseterr.c: Likewise.
23664         * tests/test-fstrcmp.c: Likewise.
23665         * tests/test-ftell.c: Likewise.
23666         * tests/test-ftello.c: Likewise.
23667         * tests/test-fwritable.c: Likewise.
23668         * tests/test-fwriting.c: Likewise.
23669         * tests/test-getaddrinfo.c: Likewise.
23670         * tests/test-getpass.c: Likewise.
23671         * tests/test-gettimeofday.c: Likewise.
23672         * tests/test-hmac-md5.c: Likewise.
23673         * tests/test-hmac-sha1.c: Likewise.
23674         * tests/test-iconv.c: Likewise.
23675         * tests/test-iconvme.c: Likewise.
23676         * tests/test-inttypes.c: Likewise.
23677         * tests/test-isnan.c: Likewise.
23678         * tests/test-isnanf.c: Likewise.
23679         * tests/test-isnanl-nolibm.c: Likewise.
23680         * tests/test-isnanl.c: Likewise.
23681         * tests/test-isnanl.h: Likewise.
23682         * tests/test-ldexpl.c: Likewise.
23683         * tests/test-linked_list.c: Likewise.
23684         * tests/test-linkedhash_list.c: Likewise.
23685         * tests/test-locale.c: Likewise.
23686         * tests/test-localename.c: Likewise.
23687         * tests/test-lock.c: Likewise.
23688         * tests/test-lseek.c: Likewise.
23689         * tests/test-malloca.c: Likewise.
23690         * tests/test-math.c: Likewise.
23691         * tests/test-mbscasecmp.c: Likewise.
23692         * tests/test-mbscasestr1.c: Likewise.
23693         * tests/test-mbscasestr2.c: Likewise.
23694         * tests/test-mbscasestr3.c: Likewise.
23695         * tests/test-mbscasestr4.c: Likewise.
23696         * tests/test-mbschr.c: Likewise.
23697         * tests/test-mbscspn.c: Likewise.
23698         * tests/test-mbsncasecmp.c: Likewise.
23699         * tests/test-mbspbrk.c: Likewise.
23700         * tests/test-mbspcasecmp.c: Likewise.
23701         * tests/test-mbsrchr.c: Likewise.
23702         * tests/test-mbsspn.c: Likewise.
23703         * tests/test-mbsstr1.c: Likewise.
23704         * tests/test-mbsstr2.c: Likewise.
23705         * tests/test-mbsstr3.c: Likewise.
23706         * tests/test-md5.c: Likewise.
23707         * tests/test-memmem.c: Likewise.
23708         * tests/test-netinet_in.c: Likewise.
23709         * tests/test-open.c: Likewise.
23710         * tests/test-printf-frexp.c: Likewise.
23711         * tests/test-printf-frexpl.c: Likewise.
23712         * tests/test-printf-posix.c: Likewise.
23713         * tests/test-printf-posix.h: Likewise.
23714         * tests/test-rbtree_list.c: Likewise.
23715         * tests/test-rbtree_oset.c: Likewise.
23716         * tests/test-rbtreehash_list.c: Likewise.
23717         * tests/test-read-file.c: Likewise.
23718         * tests/test-rijndael.c: Likewise.
23719         * tests/test-search.c: Likewise.
23720         * tests/test-signbit.c: Likewise.
23721         * tests/test-sleep.c: Likewise.
23722         * tests/test-snprintf-posix.c: Likewise.
23723         * tests/test-snprintf-posix.h: Likewise.
23724         * tests/test-snprintf.c: Likewise.
23725         * tests/test-sprintf-posix.c: Likewise.
23726         * tests/test-sprintf-posix.h: Likewise.
23727         * tests/test-stat-time.c: Likewise.
23728         * tests/test-stdbool.c: Likewise.
23729         * tests/test-stdint.c: Likewise.
23730         * tests/test-stdio.c: Likewise.
23731         * tests/test-stdlib.c: Likewise.
23732         * tests/test-stpncpy.c: Likewise.
23733         * tests/test-strcasestr.c: Likewise.
23734         * tests/test-striconv.c: Likewise.
23735         * tests/test-striconveh.c: Likewise.
23736         * tests/test-striconveha.c: Likewise.
23737         * tests/test-string.c: Likewise.
23738         * tests/test-sys_select.c: Likewise.
23739         * tests/test-sys_socket.c: Likewise.
23740         * tests/test-sys_stat.c: Likewise.
23741         * tests/test-sys_time.c: Likewise.
23742         * tests/test-sysexits.c: Likewise.
23743         * tests/test-time.c: Likewise.
23744         * tests/test-tls.c: Likewise.
23745         * tests/test-trunc.c: Likewise.
23746         * tests/test-truncf.c: Likewise.
23747         * tests/test-truncl.c: Likewise.
23748         * tests/test-unistd.c: Likewise.
23749         * tests/test-vasnprintf-posix.c: Likewise.
23750         * tests/test-vasnprintf-posix2.c: Likewise.
23751         * tests/test-vasnprintf.c: Likewise.
23752         * tests/test-vasprintf-posix.c: Likewise.
23753         * tests/test-vasprintf.c: Likewise.
23754         * tests/test-verify.c: Likewise.
23755         * tests/test-vfprintf-posix.c: Likewise.
23756         * tests/test-vprintf-posix.c: Likewise.
23757         * tests/test-vsnprintf-posix.c: Likewise.
23758         * tests/test-vsnprintf.c: Likewise.
23759         * tests/test-vsprintf-posix.c: Likewise.
23760         * tests/test-wchar.c: Likewise.
23761         * tests/test-wctype.c: Likewise.
23762         * tests/test-wcwidth.c: Likewise.
23763         * tests/test-xstrtol.c: Likewise.
23764         * tests/test-xvasprintf.c: Likewise.
23765         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
23766         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
23767         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
23768         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
23769         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
23770         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
23771         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
23772         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
23773         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
23774         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
23775         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
23776         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
23777         * tests/uniname/test-uninames.c: Likewise.
23778         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
23779         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
23780         * tests/unistdio/test-u16-printf1.h: Likewise.
23781         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
23782         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
23783         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
23784         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
23785         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
23786         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
23787         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
23788         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
23789         * tests/unistdio/test-u32-printf1.h: Likewise.
23790         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
23791         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
23792         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
23793         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
23794         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
23795         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
23796         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
23797         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
23798         * tests/unistdio/test-u8-printf1.h: Likewise.
23799         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
23800         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
23801         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
23802         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
23803         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
23804         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
23805         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
23806         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
23807         * tests/unistdio/test-ulc-printf1.h: Likewise.
23808         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
23809         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
23810         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
23811         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
23812         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
23813         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
23814         * tests/uniwidth/test-u16-strwidth.c: Likewise.
23815         * tests/uniwidth/test-u16-width.c: Likewise.
23816         * tests/uniwidth/test-u32-strwidth.c: Likewise.
23817         * tests/uniwidth/test-u32-width.c: Likewise.
23818         * tests/uniwidth/test-u8-strwidth.c: Likewise.
23819         * tests/uniwidth/test-u8-width.c: Likewise.
23820         * tests/uniwidth/test-uc_width.c: Likewise.
23821         * config/srclist-update: Likewise.
23822         (fixlicense): Update to GPLv3+.
23823
23824         Change copyright notice from LGPLv2.1+ to LGPLv3+.
23825         * tests/test-tsearch.c: Change copyright notice.
23826
23827         Change copyright notice from LGPLv2.0+ to LGPLv3+.
23828         * lib/c-strcaseeq.h: Change copyright notice.
23829         * lib/streq.h: Likewise.
23830         * lib/uniconv.h: Likewise.
23831         * lib/uniconv/u-conv-from-enc.h: Likewise.
23832         * lib/uniconv/u-conv-to-enc.h: Likewise.
23833         * lib/uniconv/u-strconv-from-enc.h: Likewise.
23834         * lib/uniconv/u-strconv-to-enc.h: Likewise.
23835         * lib/uniconv/u16-conv-from-enc.c: Likewise.
23836         * lib/uniconv/u16-conv-to-enc.c: Likewise.
23837         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
23838         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
23839         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
23840         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
23841         * lib/uniconv/u32-conv-from-enc.c: Likewise.
23842         * lib/uniconv/u32-conv-to-enc.c: Likewise.
23843         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
23844         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
23845         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
23846         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
23847         * lib/uniconv/u8-conv-from-enc.c: Likewise.
23848         * lib/uniconv/u8-conv-to-enc.c: Likewise.
23849         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
23850         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
23851         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
23852         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
23853         * lib/uniname.h: Likewise.
23854         * lib/uniname/uniname.c: Likewise.
23855         * lib/unistdio.h: Likewise.
23856         * lib/unistdio/u-asnprintf.h: Likewise.
23857         * lib/unistdio/u-asprintf.h: Likewise.
23858         * lib/unistdio/u-printf-args.c: Likewise.
23859         * lib/unistdio/u-printf-args.h: Likewise.
23860         * lib/unistdio/u-printf-parse.h: Likewise.
23861         * lib/unistdio/u-snprintf.h: Likewise.
23862         * lib/unistdio/u-sprintf.h: Likewise.
23863         * lib/unistdio/u-vasprintf.h: Likewise.
23864         * lib/unistdio/u-vsnprintf.h: Likewise.
23865         * lib/unistdio/u-vsprintf.h: Likewise.
23866         * lib/unistdio/u16-asnprintf.c: Likewise.
23867         * lib/unistdio/u16-asprintf.c: Likewise.
23868         * lib/unistdio/u16-printf-parse.c: Likewise.
23869         * lib/unistdio/u16-snprintf.c: Likewise.
23870         * lib/unistdio/u16-sprintf.c: Likewise.
23871         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
23872         * lib/unistdio/u16-u16-asprintf.c: Likewise.
23873         * lib/unistdio/u16-u16-snprintf.c: Likewise.
23874         * lib/unistdio/u16-u16-sprintf.c: Likewise.
23875         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
23876         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
23877         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
23878         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
23879         * lib/unistdio/u16-vasnprintf.c: Likewise.
23880         * lib/unistdio/u16-vasprintf.c: Likewise.
23881         * lib/unistdio/u16-vsnprintf.c: Likewise.
23882         * lib/unistdio/u16-vsprintf.c: Likewise.
23883         * lib/unistdio/u32-asnprintf.c: Likewise.
23884         * lib/unistdio/u32-asprintf.c: Likewise.
23885         * lib/unistdio/u32-printf-parse.c: Likewise.
23886         * lib/unistdio/u32-snprintf.c: Likewise.
23887         * lib/unistdio/u32-sprintf.c: Likewise.
23888         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
23889         * lib/unistdio/u32-u32-asprintf.c: Likewise.
23890         * lib/unistdio/u32-u32-snprintf.c: Likewise.
23891         * lib/unistdio/u32-u32-sprintf.c: Likewise.
23892         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
23893         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
23894         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
23895         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
23896         * lib/unistdio/u32-vasnprintf.c: Likewise.
23897         * lib/unistdio/u32-vasprintf.c: Likewise.
23898         * lib/unistdio/u32-vsnprintf.c: Likewise.
23899         * lib/unistdio/u32-vsprintf.c: Likewise.
23900         * lib/unistdio/u8-asnprintf.c: Likewise.
23901         * lib/unistdio/u8-asprintf.c: Likewise.
23902         * lib/unistdio/u8-printf-parse.c: Likewise.
23903         * lib/unistdio/u8-snprintf.c: Likewise.
23904         * lib/unistdio/u8-sprintf.c: Likewise.
23905         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
23906         * lib/unistdio/u8-u8-asprintf.c: Likewise.
23907         * lib/unistdio/u8-u8-snprintf.c: Likewise.
23908         * lib/unistdio/u8-u8-sprintf.c: Likewise.
23909         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
23910         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
23911         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
23912         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
23913         * lib/unistdio/u8-vasnprintf.c: Likewise.
23914         * lib/unistdio/u8-vasprintf.c: Likewise.
23915         * lib/unistdio/u8-vsnprintf.c: Likewise.
23916         * lib/unistdio/u8-vsprintf.c: Likewise.
23917         * lib/unistdio/ulc-asnprintf.c: Likewise.
23918         * lib/unistdio/ulc-asprintf.c: Likewise.
23919         * lib/unistdio/ulc-printf-parse.c: Likewise.
23920         * lib/unistdio/ulc-snprintf.c: Likewise.
23921         * lib/unistdio/ulc-sprintf.c: Likewise.
23922         * lib/unistdio/ulc-vasnprintf.c: Likewise.
23923         * lib/unistdio/ulc-vasprintf.c: Likewise.
23924         * lib/unistdio/ulc-vsnprintf.c: Likewise.
23925         * lib/unistdio/ulc-vsprintf.c: Likewise.
23926         * lib/unistr.h: Likewise.
23927         * lib/unistr/u-cpy-alloc.h: Likewise.
23928         * lib/unistr/u-cpy.h: Likewise.
23929         * lib/unistr/u-endswith.h: Likewise.
23930         * lib/unistr/u-move.h: Likewise.
23931         * lib/unistr/u-set.h: Likewise.
23932         * lib/unistr/u-startswith.h: Likewise.
23933         * lib/unistr/u-stpcpy.h: Likewise.
23934         * lib/unistr/u-stpncpy.h: Likewise.
23935         * lib/unistr/u-strcat.h: Likewise.
23936         * lib/unistr/u-strcpy.h: Likewise.
23937         * lib/unistr/u-strcspn.h: Likewise.
23938         * lib/unistr/u-strdup.h: Likewise.
23939         * lib/unistr/u-strlen.h: Likewise.
23940         * lib/unistr/u-strncat.h: Likewise.
23941         * lib/unistr/u-strncpy.h: Likewise.
23942         * lib/unistr/u-strnlen.h: Likewise.
23943         * lib/unistr/u-strpbrk.h: Likewise.
23944         * lib/unistr/u-strspn.h: Likewise.
23945         * lib/unistr/u-strstr.h: Likewise.
23946         * lib/unistr/u-strtok.h: Likewise.
23947         * lib/unistr/u16-check.c: Likewise.
23948         * lib/unistr/u16-chr.c: Likewise.
23949         * lib/unistr/u16-cmp.c: Likewise.
23950         * lib/unistr/u16-cpy-alloc.c: Likewise.
23951         * lib/unistr/u16-cpy.c: Likewise.
23952         * lib/unistr/u16-endswith.c: Likewise.
23953         * lib/unistr/u16-mblen.c: Likewise.
23954         * lib/unistr/u16-mbsnlen.c: Likewise.
23955         * lib/unistr/u16-mbtouc-aux.c: Likewise.
23956         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
23957         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
23958         * lib/unistr/u16-mbtouc.c: Likewise.
23959         * lib/unistr/u16-mbtoucr.c: Likewise.
23960         * lib/unistr/u16-move.c: Likewise.
23961         * lib/unistr/u16-next.c: Likewise.
23962         * lib/unistr/u16-prev.c: Likewise.
23963         * lib/unistr/u16-set.c: Likewise.
23964         * lib/unistr/u16-startswith.c: Likewise.
23965         * lib/unistr/u16-stpcpy.c: Likewise.
23966         * lib/unistr/u16-stpncpy.c: Likewise.
23967         * lib/unistr/u16-strcat.c: Likewise.
23968         * lib/unistr/u16-strchr.c: Likewise.
23969         * lib/unistr/u16-strcmp.c: Likewise.
23970         * lib/unistr/u16-strcpy.c: Likewise.
23971         * lib/unistr/u16-strcspn.c: Likewise.
23972         * lib/unistr/u16-strdup.c: Likewise.
23973         * lib/unistr/u16-strlen.c: Likewise.
23974         * lib/unistr/u16-strmblen.c: Likewise.
23975         * lib/unistr/u16-strmbtouc.c: Likewise.
23976         * lib/unistr/u16-strncat.c: Likewise.
23977         * lib/unistr/u16-strncmp.c: Likewise.
23978         * lib/unistr/u16-strncpy.c: Likewise.
23979         * lib/unistr/u16-strnlen.c: Likewise.
23980         * lib/unistr/u16-strpbrk.c: Likewise.
23981         * lib/unistr/u16-strrchr.c: Likewise.
23982         * lib/unistr/u16-strspn.c: Likewise.
23983         * lib/unistr/u16-strstr.c: Likewise.
23984         * lib/unistr/u16-strtok.c: Likewise.
23985         * lib/unistr/u16-to-u32.c: Likewise.
23986         * lib/unistr/u16-to-u8.c: Likewise.
23987         * lib/unistr/u16-uctomb-aux.c: Likewise.
23988         * lib/unistr/u16-uctomb.c: Likewise.
23989         * lib/unistr/u32-check.c: Likewise.
23990         * lib/unistr/u32-chr.c: Likewise.
23991         * lib/unistr/u32-cmp.c: Likewise.
23992         * lib/unistr/u32-cpy-alloc.c: Likewise.
23993         * lib/unistr/u32-cpy.c: Likewise.
23994         * lib/unistr/u32-endswith.c: Likewise.
23995         * lib/unistr/u32-mblen.c: Likewise.
23996         * lib/unistr/u32-mbsnlen.c: Likewise.
23997         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
23998         * lib/unistr/u32-mbtouc.c: Likewise.
23999         * lib/unistr/u32-mbtoucr.c: Likewise.
24000         * lib/unistr/u32-move.c: Likewise.
24001         * lib/unistr/u32-next.c: Likewise.
24002         * lib/unistr/u32-prev.c: Likewise.
24003         * lib/unistr/u32-set.c: Likewise.
24004         * lib/unistr/u32-startswith.c: Likewise.
24005         * lib/unistr/u32-stpcpy.c: Likewise.
24006         * lib/unistr/u32-stpncpy.c: Likewise.
24007         * lib/unistr/u32-strcat.c: Likewise.
24008         * lib/unistr/u32-strchr.c: Likewise.
24009         * lib/unistr/u32-strcmp.c: Likewise.
24010         * lib/unistr/u32-strcpy.c: Likewise.
24011         * lib/unistr/u32-strcspn.c: Likewise.
24012         * lib/unistr/u32-strdup.c: Likewise.
24013         * lib/unistr/u32-strlen.c: Likewise.
24014         * lib/unistr/u32-strmblen.c: Likewise.
24015         * lib/unistr/u32-strmbtouc.c: Likewise.
24016         * lib/unistr/u32-strncat.c: Likewise.
24017         * lib/unistr/u32-strncmp.c: Likewise.
24018         * lib/unistr/u32-strncpy.c: Likewise.
24019         * lib/unistr/u32-strnlen.c: Likewise.
24020         * lib/unistr/u32-strpbrk.c: Likewise.
24021         * lib/unistr/u32-strrchr.c: Likewise.
24022         * lib/unistr/u32-strspn.c: Likewise.
24023         * lib/unistr/u32-strstr.c: Likewise.
24024         * lib/unistr/u32-strtok.c: Likewise.
24025         * lib/unistr/u32-to-u16.c: Likewise.
24026         * lib/unistr/u32-to-u8.c: Likewise.
24027         * lib/unistr/u32-uctomb.c: Likewise.
24028         * lib/unistr/u8-check.c: Likewise.
24029         * lib/unistr/u8-chr.c: Likewise.
24030         * lib/unistr/u8-cmp.c: Likewise.
24031         * lib/unistr/u8-cpy-alloc.c: Likewise.
24032         * lib/unistr/u8-cpy.c: Likewise.
24033         * lib/unistr/u8-endswith.c: Likewise.
24034         * lib/unistr/u8-mblen.c: Likewise.
24035         * lib/unistr/u8-mbsnlen.c: Likewise.
24036         * lib/unistr/u8-mbtouc-aux.c: Likewise.
24037         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
24038         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
24039         * lib/unistr/u8-mbtouc.c: Likewise.
24040         * lib/unistr/u8-mbtoucr.c: Likewise.
24041         * lib/unistr/u8-move.c: Likewise.
24042         * lib/unistr/u8-next.c: Likewise.
24043         * lib/unistr/u8-prev.c: Likewise.
24044         * lib/unistr/u8-set.c: Likewise.
24045         * lib/unistr/u8-startswith.c: Likewise.
24046         * lib/unistr/u8-stpcpy.c: Likewise.
24047         * lib/unistr/u8-stpncpy.c: Likewise.
24048         * lib/unistr/u8-strcat.c: Likewise.
24049         * lib/unistr/u8-strchr.c: Likewise.
24050         * lib/unistr/u8-strcmp.c: Likewise.
24051         * lib/unistr/u8-strcpy.c: Likewise.
24052         * lib/unistr/u8-strcspn.c: Likewise.
24053         * lib/unistr/u8-strdup.c: Likewise.
24054         * lib/unistr/u8-strlen.c: Likewise.
24055         * lib/unistr/u8-strmblen.c: Likewise.
24056         * lib/unistr/u8-strmbtouc.c: Likewise.
24057         * lib/unistr/u8-strncat.c: Likewise.
24058         * lib/unistr/u8-strncmp.c: Likewise.
24059         * lib/unistr/u8-strncpy.c: Likewise.
24060         * lib/unistr/u8-strnlen.c: Likewise.
24061         * lib/unistr/u8-strpbrk.c: Likewise.
24062         * lib/unistr/u8-strrchr.c: Likewise.
24063         * lib/unistr/u8-strspn.c: Likewise.
24064         * lib/unistr/u8-strstr.c: Likewise.
24065         * lib/unistr/u8-strtok.c: Likewise.
24066         * lib/unistr/u8-to-u16.c: Likewise.
24067         * lib/unistr/u8-to-u32.c: Likewise.
24068         * lib/unistr/u8-uctomb-aux.c: Likewise.
24069         * lib/unistr/u8-uctomb.c: Likewise.
24070         * lib/unitypes.h: Likewise.
24071         * lib/uniwidth.h: Likewise.
24072         * lib/uniwidth/cjk.h: Likewise.
24073         * lib/uniwidth/u16-strwidth.c: Likewise.
24074         * lib/uniwidth/u16-width.c: Likewise.
24075         * lib/uniwidth/u32-strwidth.c: Likewise.
24076         * lib/uniwidth/u32-width.c: Likewise.
24077         * lib/uniwidth/u8-strwidth.c: Likewise.
24078         * lib/uniwidth/u8-width.c: Likewise.
24079         * lib/uniwidth/width.c: Likewise.
24080
24081 2007-10-07  Bruno Haible  <bruno@clisp.org>
24082
24083         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
24084         The file is still under LGPL (see modules/inttypes).
24085
24086 2007-10-06  Bruno Haible  <bruno@clisp.org>
24087
24088         * modules/trunc (Dependencies): Add 'extensions'.
24089         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
24090         Reported by Ben Pfaff <blp@gnu.org>.
24091
24092 2007-10-06  Bruno Haible  <bruno@clisp.org>
24093
24094         * modules/freopen-tests: New file.
24095         * tests/test-freopen.c: New file.
24096
24097         * modules/fopen-tests: New file.
24098         * tests/test-fopen.c: New file.
24099
24100         * modules/fopen: New file.
24101         * lib/fopen.c: New file.
24102         * m4/fopen.m4: New file.
24103         * modules/freopen: New file.
24104         * lib/freopen.c: New file.
24105         * m4/freopen.m4: New file.
24106         * lib/stdio.in.h (fopen, freopen): New declarations.
24107         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
24108         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
24109         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
24110         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
24111         * doc/functions/fopen.texi: Mention the 'fopen' module.
24112         * doc/functions/freopen.texi: Mention the 'freopen' module.
24113
24114 2007-10-06  Bruno Haible  <bruno@clisp.org>
24115
24116         * modules/open-tests: New file.
24117         * tests/test-open.c: New file.
24118
24119         * modules/open: New file.
24120         * lib/open.c: New file.
24121         * m4/open.m4: New file.
24122         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
24123         lib/open.c does.
24124         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
24125         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
24126         macros.
24127         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
24128         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
24129         REPLACE_OPEN.
24130         * doc/functions/open.texi: Mention the 'open' module.
24131
24132 2007-10-04  Bruno Haible  <bruno@clisp.org>
24133
24134         * modules/ceill-tests: New file.
24135         * tests/test-ceill.c: New file.
24136
24137         * modules/ceill: New file.
24138         * lib/ceill.c: Replace entire file.
24139         * m4/ceill.m4: New file.
24140         * lib/math.in.h (ceill): Replace declaration.
24141         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
24142         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
24143         * doc/functions/ceill.texi: Mention the 'ceill' module.
24144         * modules/mathl (Files): Remove lib/ceill.c.
24145         (Depends-on): Add ceill.
24146
24147 2007-10-04  Bruno Haible  <bruno@clisp.org>
24148
24149         * modules/ceilf-tests: New file.
24150         * tests/test-ceilf.c: New file.
24151
24152         * modules/ceilf: New file.
24153         * lib/ceil.c: New file.
24154         * lib/ceilf.c: New file.
24155         * m4/ceilf.m4: New file.
24156         * lib/math.in.h (ceilf): New declaration.
24157         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
24158         HAVE_DECL_CEILF.
24159         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
24160         HAVE_DECL_CEILF.
24161         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
24162
24163 2007-10-04  Bruno Haible  <bruno@clisp.org>
24164
24165         * modules/floorl-tests: New file.
24166         * tests/test-floorl.c: New file.
24167
24168         * modules/floorl: New file.
24169         * lib/floorl.c: Replace entire file.
24170         * m4/floorl.m4: New file.
24171         * lib/math.in.h (floorl): Replace declaration.
24172         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
24173         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
24174         * doc/functions/floorl.texi: Mention the 'floorl' module.
24175         * modules/mathl (Files): Remove lib/floorl.c.
24176         (Depends-on): Add floorl.
24177
24178 2007-10-04  Bruno Haible  <bruno@clisp.org>
24179
24180         * modules/floorf-tests: New file.
24181         * tests/test-floorf.c: New file.
24182
24183         * modules/floorf: New file.
24184         * lib/floor.c: New file.
24185         * lib/floorf.c: New file.
24186         * m4/floorf.m4: New file.
24187         * lib/math.in.h (floorf): New declaration.
24188         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
24189         HAVE_DECL_FLOORF.
24190         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
24191         HAVE_DECL_FLOORF.
24192         * doc/functions/floorf.texi: Mention the 'floorf' module.
24193
24194 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
24195             Bruno Haible  <bruno@clisp.org>
24196
24197         Advertise for the Git server instead of the CVS server.
24198         * doc/gnulib-intro.texi (Steady Development): Mention the Git
24199         repository instead of the CVS one.
24200         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
24201         about all VCS systems generically.
24202         * doc/gnulib.texi (Introduction): Capitalize `Git'.
24203
24204 2007-10-04  Bruno Haible  <bruno@clisp.org>
24205
24206         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
24207         means.
24208         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
24209
24210 2007-10-04  Bruno Haible  <bruno@clisp.org>
24211
24212         * modules/truncl-tests: New file.
24213         * tests/test-truncl.c: New file.
24214
24215         * modules/truncl: New file.
24216         * lib/truncl.c: New file.
24217         * m4/truncl.m4: New file.
24218         * lib/math.in.h (truncl): New declaration.
24219         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
24220         HAVE_DECL_TRUNCL.
24221         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
24222         HAVE_DECL_TRUNCL.
24223         * doc/functions/truncl.texi: Mention the 'truncl' module.
24224
24225 2007-10-04  Bruno Haible  <bruno@clisp.org>
24226
24227         * modules/truncf-tests: New file.
24228         * tests/test-truncf.c: New file.
24229
24230         * modules/truncf: New file.
24231         * lib/trunc.c: Make paramerizable through USE_* macros.
24232         * lib/truncf.c: New file.
24233         * m4/truncf.m4: New file.
24234         * lib/math.in.h (truncf): New declaration.
24235         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
24236         HAVE_DECL_TRUNCF.
24237         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
24238         HAVE_DECL_TRUNCF.
24239         * doc/functions/truncf.texi: Mention the 'truncf' module.
24240
24241 2007-10-03  Bruno Haible  <bruno@clisp.org>
24242
24243         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
24244         augmentation also for tests modules.
24245         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
24246         * modules/atexit-tests (Makefile.am): Likewise.
24247         * modules/binary-io-tests (Makefile.am): Likewise.
24248         * modules/c-strcase-tests (Makefile.am): Likewise.
24249         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
24250         * modules/canonicalize-tests (Makefile.am): Likewise.
24251         * modules/closein-tests (Makefile.am): Likewise.
24252         * modules/fprintf-posix-tests (Makefile.am): Likewise.
24253         * modules/freadahead-tests (Makefile.am): Likewise.
24254         * modules/fseek-tests (Makefile.am): Likewise.
24255         * modules/fseeko-tests (Makefile.am): Likewise.
24256         * modules/ftell-tests (Makefile.am): Likewise.
24257         * modules/ftello-tests (Makefile.am): Likewise.
24258         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
24259         * modules/isnanl-tests (Makefile.am): Likewise.
24260         * modules/lseek-tests (Makefile.am): Likewise.
24261         * modules/mbscasecmp-tests (Makefile.am): Likewise.
24262         * modules/mbscasestr-tests (Makefile.am): Likewise.
24263         * modules/mbschr-tests (Makefile.am): Likewise.
24264         * modules/mbscspn-tests (Makefile.am): Likewise.
24265         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
24266         * modules/mbspbrk-tests (Makefile.am): Likewise.
24267         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
24268         * modules/mbsrchr-tests (Makefile.am): Likewise.
24269         * modules/mbsspn-tests (Makefile.am): Likewise.
24270         * modules/mbsstr-tests (Makefile.am): Likewise.
24271         * modules/printf-posix-tests (Makefile.am): Likewise.
24272         * modules/snprintf-posix-tests (Makefile.am): Likewise.
24273         * modules/sprintf-posix-tests (Makefile.am): Likewise.
24274         * modules/tsearch-tests (Makefile.am): Likewise.
24275         * modules/uniname/uniname-tests (Makefile.am): Likewise.
24276         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
24277         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
24278         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
24279         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
24280         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
24281         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
24282         * modules/vprintf-posix-tests (Makefile.am): Likewise.
24283         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
24284         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
24285         * modules/xstrtoimax-tests (Makefile.am): Likewise.
24286         * modules/xstrtol-tests (Makefile.am): Likewise.
24287         * modules/xstrtoumax-tests (Makefile.am): Likewise.
24288         * modules/yesno-tests (Makefile.am): Likewise.
24289
24290 2007-10-03  Bruno Haible  <bruno@clisp.org>
24291
24292         * modules/trunc-tests: New file.
24293         * tests/test-trunc.c: New file.
24294
24295         * modules/trunc: New file.
24296         * lib/trunc.c: New file.
24297         * m4/trunc.m4: New file.
24298         * lib/math.in.h (trunc): New declaration.
24299         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
24300         HAVE_DECL_TRUNC.
24301         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
24302         HAVE_DECL_TRUNC.
24303         * doc/functions/trunc.texi: Mention the 'trunc' module.
24304
24305 2007-10-03  Bruno Haible  <bruno@clisp.org>
24306
24307         * tests/test-fpending.c: New file, mostly copied
24308         from coreutils/lib/t-fpending.c.
24309         * modules/fpending-tests: New file.
24310
24311 2007-10-03  Bruno Haible  <bruno@clisp.org>
24312
24313         Port the stdio extensions to QNX (untested).
24314         * lib/fseterr.c (fseterr): Add support for QNX.
24315         * lib/fbufmode.c (fbufmode): Likewise.
24316         * lib/freadable.c (freadable): Likewise.
24317         * lib/fwritable.c (fwritable): Likewise.
24318         * lib/freading.c (freading): Likewise.
24319         * lib/fwriting.c (fwriting): Likewise.
24320         * lib/freadahead.c (freadahed): Likewise.
24321         * lib/fpurge.c (fpurge): Likewise.
24322         * lib/fseeko.c (rpl_fseeko): Likewise.
24323
24324 2007-10-03  Bruno Haible  <bruno@clisp.org>
24325             Jim Meyering  <jim@meyering.net>
24326             Eric Blake  <ebb9@byu.net>
24327
24328         * doc/relocatable.texi: Use @command instead of @program.
24329
24330 2007-10-02  Jim Meyering  <jim@meyering.net>
24331
24332         Perform one more "_.h" -> ".in.h" substitution.
24333         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
24334         instead of unistd_.h here, too.
24335
24336 2007-10-01  Bruno Haible  <bruno@clisp.org>
24337
24338         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
24339         Needed for the alloca-opt module.
24340
24341 2007-09-30  Bruno Haible  <bruno@clisp.org>
24342
24343         * lib/alloca.in.h: Renamed from lib/alloca_.h.
24344         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
24345         alloca_.h.
24346         * lib/argz.in.h: Renamed from lib/argz_.h.
24347         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
24348         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
24349         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
24350         byteswap_.h.
24351         * lib/dirent.in.h: Renamed from lib/dirent_.h.
24352         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
24353         dirent_.h.
24354         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
24355         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
24356         fcntl_.h.
24357         * lib/float.in.h: Renamed from lib/float_.h.
24358         * modules/float (Files, Makefile.am): Use float.in.h instead of
24359         float_.h.
24360         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
24361         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
24362         fnmatch_.h.
24363         * lib/getopt.in.h: Renamed from lib/getopt_.h.
24364         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
24365         getopt_.h.
24366         * lib/glob.in.h: Renamed from lib/glob_.h.
24367         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
24368         * lib/iconv.in.h: Renamed from lib/iconv_.h.
24369         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
24370         iconv_.h.
24371         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
24372         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
24373         inttypes_.h.
24374         * lib/locale.in.h: Renamed from lib/locale_.h.
24375         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
24376         locale_.h.
24377         * lib/math.in.h: Renamed from lib/math_.h.
24378         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
24379         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
24380         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
24381         of netinet_in_.h. Add dependency.
24382         * lib/poll.in.h: Renamed from lib/poll_.h.
24383         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
24384         * lib/search.in.h: Renamed from lib/search_.h.
24385         * modules/search (Files, Makefile.am): Use search.in.h instead of
24386         search_.h.
24387         * lib/signal.in.h: Renamed from lib/signal_.h.
24388         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
24389         _signal.h.
24390         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
24391         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
24392         stdbool_.h.
24393         * lib/stdint.in.h: Renamed from lib/stdint_.h.
24394         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
24395         stdint_.h.
24396         * lib/stdio.in.h: Renamed from lib/stdio_.h.
24397         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
24398         stdio_.h.
24399         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
24400         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
24401         stdlib_.h.
24402         * lib/string.in.h: Renamed from lib/string_.h.
24403         * modules/string (Files, Makefile.am): Use string.in.h instead of
24404         string_.h.
24405         * doc/gnulib-tool.texi (Initial import): Update.
24406         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
24407         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
24408         of sys_select_.h. Add dependency.
24409         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
24410         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
24411         of sys_socket_.h.
24412         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
24413         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
24414         sys_stat_.h.
24415         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
24416         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
24417         sys_time_.h.
24418         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
24419         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
24420         sysexits_.h.
24421         * lib/time.in.h: Renamed from lib/time_.h.
24422         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
24423         * lib/unistd.in.h: Renamed from lib/unistd_.h.
24424         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
24425         unistd_.h.
24426         * lib/wchar.in.h: Renamed from lib/wchar_.h.
24427         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
24428         wchar_.h.
24429         * lib/wctype.in.h: Renamed from lib/wctype_.h.
24430         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
24431         wctype_.h.
24432         * build-aux/bootstrap (slurp): Update.
24433         * lib/.cppi-disable: Update.
24434
24435 2007-09-30  Bruno Haible  <bruno@clisp.org>
24436
24437         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
24438         Needed on BeOS.
24439
24440 2007-09-30  Bruno Haible  <bruno@clisp.org>
24441
24442         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
24443
24444 2007-09-29  Bruno Haible  <bruno@clisp.org>
24445
24446         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
24447
24448 2007-09-29  Bruno Haible  <bruno@clisp.org>
24449
24450         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
24451         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
24452         * build-aux/install-reloc: Compile also areadlink.c.
24453         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
24454
24455 2007-09-29  Bruno Haible  <bruno@clisp.org>
24456
24457         * gnulib-tool (func_emit_initmacro_done): Indentation.
24458
24459 2007-09-29  Bruno Haible  <bruno@clisp.org>
24460
24461         * README: Add CVS checkout update instructions.
24462         Info from Bob Proulx <bob@proulx.com>.
24463
24464 2007-09-28  Eric Blake  <ebb9@byu.net>
24465
24466         Provide move-if-change.
24467         * build-aux/move-if-change: New file, based on best practice
24468         rather than any canonical upstream location.
24469
24470 2007-09-28  Jim Meyering  <jim@meyering.net>
24471
24472         Fix canonicalize loop-detection corner case.
24473         Do not attempt to stat the symlink values stored via seen_triple.
24474         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
24475         on linux-2.6.18, (but not 2.6.22).
24476         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
24477         triple_compare.  The former compares dev,ino,filename, while the latter
24478         would actually stat dirname(filename) when dev and ino were equal.
24479         * lib/hash-triple.c: Install <string.h>.
24480         (STREQ): Define.
24481         (triple_compare_ino_str): New function.
24482         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
24483
24484 2007-09-28  Eric Blake  <ebb9@byu.net>
24485
24486         Enforce that AC_REPLACE_FUNCS files exist.
24487         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
24488         override check for typos.
24489
24490         Fix test-closein on Solaris 10.
24491         * tests/test-closein.c (main): Don't assume stdin can be inherited
24492         closed on all systems.
24493         * tests/test-closein.sh: Likewise.
24494         Reported by Piotr Tarnowski.
24495
24496 2007-09-28  Jim Meyering  <jim@meyering.net>
24497
24498         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
24499
24500 2007-09-27  Jim Meyering  <jim@meyering.net>
24501
24502         canonicalize: Avoid a false-positive cycle failure.
24503         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
24504         Sort.  Remove cycle-check.
24505         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
24506         not cycle-check.h.
24507         (seen_triple): New function.
24508         (canonicalize_filename_mode): Use it instead of cycle-check.
24509         * tests/test-canonicalize.c: Add a test for this bug.
24510         * tests/test-canonicalize.sh: Set up and run the test.
24511
24512         New module, file-set, from coreutils.
24513         * modules/file-set: Define it.
24514         * lib/file-set.c, lib/file-set.h: Implement.
24515
24516         New module, hash-triple, from coreutils.
24517         * modules/hash-triple: Define it.
24518         * lib/hash-triple.c, lib/hash-triple.h: Implement.
24519
24520 2007-09-25  Eric Blake  <ebb9@byu.net>
24521
24522         Fix strerror on Interix.
24523         * lib/string_.h (strerror): Declare replacement.
24524         * doc/functions/strerror.texi (strerror): Document the Interix
24525         shortcoming.
24526         * modules/string (Makefile.am): Support new hooks.
24527         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
24528         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
24529         gl_FUNC_STRERROR_SEPARATE.
24530         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
24531         * lib/strerror.c (rpl_strerror): Provide replacement.
24532         * modules/strerror (Depends-on): Add string.
24533         (configure.ac): Detect use of module.
24534         * tests/test-strerror.c: New file.
24535         * modules/strerror-tests: New test module.
24536         * modules/argp (Depends-on): Add strerror.
24537         * modules/error (Depends-on): Likewise.
24538         Reported by Martin Koeppe.
24539
24540 2007-09-24  Bruno Haible  <bruno@clisp.org>
24541
24542         * README: Update git instructions.
24543
24544 2007-09-24  Eric Blake  <ebb9@byu.net>
24545
24546         Revert fpending breakage from 2007-09-08.
24547         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
24548         __fpending.c.
24549
24550 2007-09-24  Jim Meyering  <jim@meyering.net>
24551
24552         filenamecat.c: Add a test.
24553         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
24554         showing how the function works when DIR is the empty string.
24555
24556 2007-09-21  Simon Josefsson  <simon@josefsson.org>
24557
24558         * tests/test-canonicalize.sh: Turn on executable bit.
24559
24560 2007-09-19  Eric Blake  <ebb9@byu.net>
24561
24562         * README: Update CVS instructions.
24563
24564 2007-09-18  Bruno Haible  <bruno@clisp.org>
24565
24566         * modules/areadlink: New file.
24567         * lib/areadlink.h (areadlink): New declaration.
24568         * lib/areadlink.c: New file, based on lib/xreadlink.c.
24569
24570 2007-09-17  Jim Meyering  <jim@meyering.net>
24571
24572         * lib/savewd.c (ESTALE) [!defined]: Define.
24573         Reported to be required on Interix by Martin Koeppe.
24574
24575 2007-09-17  Bruno Haible  <bruno@clisp.org>
24576
24577         * gnulib-tool (func_version): Use $version.
24578
24579 2007-09-16  Bruno Haible  <bruno@clisp.org>
24580
24581         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
24582         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
24583         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
24584         Reported by Greg Schafer <gschafer@zip.com.au>.
24585
24586 2007-09-15  Bruno Haible  <bruno@clisp.org>
24587
24588         * gnulib-tool (sed): Try a little harder to make bash understand the
24589         alias.
24590         Reported by Bruce Korb <bruce.korb@gmail.com>.
24591
24592 2007-09-13  Eric Blake  <ebb9@byu.net>
24593
24594         * ChangeLog: Remove conflict markers.
24595
24596 2007-09-13  Simon Josefsson  <simon@josefsson.org>
24597
24598         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
24599         Reported by Bruno Haible <bruno@clisp.org>.
24600
24601 2007-09-12  Bruno Haible  <bruno@clisp.org>
24602
24603         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
24604         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
24605         is not defined.
24606
24607 2007-09-12  Eric Blake  <ebb9@byu.net>
24608
24609         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
24610         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
24611         Autoconf definition.
24612         * modules/euidaccess (Depends-on): Add extensions, for
24613         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
24614         * modules/fnmatch (Depends-on): Likewise.
24615         * modules/getaddrinfo (Depends-on): Likewise.
24616         * modules/getdelim (Depends-on): Likewise.
24617         * modules/getline (Depends-on): Likewise.
24618         * modules/getsubopt (Depends-on): Likewise.
24619         * modules/gettext (Depends-on): Likewise.
24620         * modules/group-member (Depends-on): Likewise.
24621         * modules/mbchar (Depends-on): Likewise.
24622         * modules/memmem (Depends-on): Likewise.
24623         * modules/mempcpy (Depends-on): Likewise.
24624         * modules/memrchr (Depends-on): Likewise.
24625         * modules/pagealign_alloc (Depends-on): Likewise.
24626         * modules/readutmp (Depends-on): Likewise.
24627         * modules/stpcpy (Depends-on): Likewise.
24628         * modules/stpncpy (Depends-on): Likewise.
24629         * modules/strchrnul (Depends-on): Likewise.
24630         * modules/strndup (Depends-on): Likewise.
24631         * modules/strsep (Depends-on): Likewise.
24632         * modules/strverscmp (Depends-on): Likewise.
24633         * modules/vasprintf (Depends-on): Likewise.
24634         * modules/wcwidth (Depends-on): Likewise.
24635         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
24636         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
24637         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
24638         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
24639         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
24640         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24641         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
24642         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
24643         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
24644         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
24645         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24646         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
24647         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
24648         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
24649         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
24650         * m4/readutmp.m4 (gl_READUTMP): Likewise.
24651         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
24652         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
24653         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24654         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
24655         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
24656         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
24657         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
24658         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
24659         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
24660         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24661         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
24662         so that lock.m4 can be used in gettext without extensions module.
24663
24664 2007-09-11  Bruno Haible  <bruno@clisp.org>
24665
24666         * m4/isc-posix.m4: Remove file.
24667         Suggested by Eric Blake.
24668
24669 2007-09-11  Eric Blake  <ebb9@byu.net>
24670
24671         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
24672
24673 2007-09-10  Bruno Haible  <bruno@clisp.org>
24674
24675         * posix-modules: Fix typo in error message.
24676         Reported by Matt <mkraai@beckman.com>.
24677
24678 2007-09-09  Bruno Haible  <bruno@clisp.org>
24679
24680         * doc/functions/getdelim.texi: Update list of platforms lacking the
24681         function.
24682         * doc/functions/getline.texi: Likewise.
24683
24684 2007-09-09  Jim Meyering  <jim@meyering.net>
24685
24686         * lib/hash.c (hash_initialize): Detect calloc failure.
24687         Reported by Bruno Haible.
24688
24689 2007-09-09  Bruno Haible  <bruno@clisp.org>
24690
24691         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
24692         malloc or realloc fails.
24693
24694 2007-09-09  Bruno Haible  <bruno@clisp.org>
24695
24696         * modules/getcwd (Depends-on): Add malloc-posix.
24697         * modules/glob (Depends-on): Likewise.
24698         * modules/putenv (Depends-on): Likewise.
24699         * modules/strdup (Depends-on): Likewise.
24700         * modules/getdelim (Depends-on): Add realloc-posix.
24701         * modules/read-file (Depends-on): Likewise.
24702
24703 2007-09-09  Bruno Haible  <bruno@clisp.org>
24704
24705         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
24706         (gl_FUNC_MALLOC_POSIX): Require it.
24707         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
24708         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
24709         * modules/realloc (Files): Add m4/malloc.m4.
24710         * modules/calloc (Files): Likewise.
24711
24712 2007-09-09  Bruno Haible  <bruno@clisp.org>
24713
24714         * modules/malloc-posix: New file.
24715         * modules/malloc (Depends-on): Add malloc-posix.
24716         * lib/malloc.c: Include errno.h.
24717         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
24718         and a POSIX-compatible malloc into a single function. Set ENOMEM
24719         when returning NULL.
24720         * m4/malloc.m4: New file.
24721         * doc/functions/malloc.texi: Mention the malloc-posix module.
24722         * lib/stdlib_.h (malloc): New declaration.
24723         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24724         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
24725         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
24726         and HAVE_MALLOC_POSIX.
24727
24728 2007-09-09  Bruno Haible  <bruno@clisp.org>
24729
24730         * modules/realloc-posix: New file.
24731         * modules/realloc (Depends-on): Add realloc-posix.
24732         * lib/realloc.c: Include errno.h.
24733         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
24734         and a POSIX-compatible realloc into a single function. Set ENOMEM
24735         when returning NULL.
24736         * m4/realloc.m4: New file.
24737         * doc/functions/realloc.texi: Mention the realloc-posix module.
24738         * lib/stdlib_.h (realloc): New declaration.
24739         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24740         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
24741         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
24742         and HAVE_REALLOC_POSIX.
24743
24744 2007-09-09  Bruno Haible  <bruno@clisp.org>
24745
24746         * modules/calloc-posix: New file.
24747         * modules/calloc (Depends-on): Add calloc-posix.
24748         * lib/calloc.c: Include errno.h.
24749         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
24750         and a POSIX-compatible calloc into a single function. Set ENOMEM
24751         when returning NULL.
24752         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
24753         * doc/functions/calloc.texi: Mention the calloc-posix module.
24754         * lib/stdlib_.h (calloc): New declaration.
24755         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
24756         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
24757         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
24758         and HAVE_CALLOC_POSIX.
24759
24760 2007-09-09  Bruno Haible  <bruno@clisp.org>
24761
24762         Allow for modules to show an arbitrary notice.
24763         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
24764         * gnulib-tool: New option --extract-notice.
24765         (func_usage): Document it.
24766         (sed_extract_prog): Update.
24767         (func_get_notice): New function.
24768         (func_modules_notice): New function.
24769         (func_import, func_create_testdir): Invoke it.
24770         Suggested by Jim Meyering.
24771
24772 2007-09-09  Bruno Haible  <bruno@clisp.org>
24773
24774         * gnulib-tool: New options --verbose, --quiet.
24775         (func_usage): Document them.
24776         (verbose): New variable.
24777         (func_execute_command): New function.
24778         (func_import): Don't show the module list and the file list if
24779         $verbose < 0.
24780         (func_create_testdir): Likewise. Use func_execute_command.
24781         (func_create_megatestdir): Use func_execute_command.
24782
24783 2007-09-08  Bruno Haible  <bruno@clisp.org>
24784
24785         * gnulib-tool (func_import): Prefer rsync over wget when available,
24786         for fetching the PO files.
24787
24788 2007-09-08  Bruno Haible  <bruno@clisp.org>
24789
24790         * posix-modules: New file. Portions copied from gnulib-tool.
24791         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
24792
24793 2007-09-08  Jim Meyering  <jim@meyering.net>
24794
24795         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
24796         * lib/fpending.h: Rename from __fpending.h.
24797         * lib/fpending.c: Rename from __fpending.c.
24798         Include "fpending.h", not "__fpending.h".
24799         * lib/__fpending.h, lib/__fpending.c: Remove files.
24800         * modules/fpending (Files): Reflect new file names.
24801         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
24802
24803 2007-09-08  Bruno Haible  <bruno@clisp.org>
24804
24805         * m4/inttypes-h.m4: Remove stub file.
24806
24807 2007-09-07  Simon Josefsson  <simon@josefsson.org>
24808
24809         * doc/headers/stdint.texi: Discuss #include_next issue.
24810
24811 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
24812
24813         * build-aux/bootstrap: Remove obsolete comment about wget --help.
24814
24815 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
24816
24817         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
24818         in variable name.
24819
24820 2007-09-03  Jim Meyering  <jim@meyering.net>
24821
24822         New module: git-version-gen.
24823         * modules/git-version-gen: New file.
24824
24825         Import changes from coreutils for bootstrap script.
24826
24827         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
24828
24829         bootstrap: uses rsync to download the .po files
24830         * build-aux/bootstrap (po_download_command_format): New global.
24831         (download_po_files): Use rsync.
24832         (update_po_files): Don't remove .po files after download,
24833         so future rsync runs can take advantage of the copies.
24834
24835         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
24836
24837         Solve the unnecessary-.po-file-regeneration problem once and for all.
24838         * build-aux/bootstrap (download_po_files): New function, renamed from
24839         get_translations.  Now, downloads, but doesn't update LINGUAS.
24840         (update_po_files): New function.
24841
24842         bootstrap: Ignore more.
24843         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
24844         uniwidth to e.g., lib/.gitignore.
24845         (slurp): Handle the sys_stat_.h -> sys mapping, too.
24846
24847         * build-aux/bootstrap: New setting: vc_ignore.
24848         (insert_sorted_if_absent): Create $file if absent.
24849         Adapt to new, possibly empty, list: $vc_ignore.
24850
24851         bootstrap: generate more ignorable names
24852         * build-aux/bootstrap (slurp): When generating ignorable names,
24853         also map .sin to .sed, .gperf to .c, and .y to .c.
24854
24855 2007-09-03  Jim Meyering  <jim@meyering.net>
24856
24857         * build-aux/git-version-gen: New file, from coreutils.  For details, see
24858         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
24859
24860 2007-09-02  Bruno Haible  <bruno@clisp.org>
24861
24862         Fix mis-recognition of 'mcs' on QNX 6.
24863         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
24864         output contains the string "Mono".
24865         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
24866         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
24867
24868 2007-09-01  Bruno Haible  <bruno@clisp.org>
24869
24870         Fix collision between uniwidth/* and linebreak modules.
24871         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
24872         u32_width): Remove declarations.
24873         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
24874         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
24875         streq3, streq2, streq1, streq0): Remove functions.
24876         (STREQ): Remove macro.
24877         (is_cjk_encoding): Remove function.
24878         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
24879         (uc_width, u8_width, u16_width, u32_width): Remove functions.
24880         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
24881         * NEWS: Document the change.
24882
24883 2007-09-01  Bruno Haible  <bruno@clisp.org>
24884
24885         * lib/streq.h: Add double-inclusion guard.
24886
24887 2007-09-01  Karl Berry  <karl@gnu.org>
24888
24889         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
24890
24891 2007-08-28  Jim Meyering  <jim@meyering.net>
24892
24893         Rename mreadlink_with_size to areadlink_with_size.
24894         * NEWS: Document the change.
24895         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
24896         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
24897         * lib/mreadlink.h: Rename this to...
24898         * lib/areadlink.h: ...this.
24899         * modules/mreadlink-with-size: Rename this to...
24900         * modules/areadlink-with-size: ...this.
24901         * lib/canonicalize.c: Reflect the renaming.
24902         * modules/canonicalize: Likewise.
24903
24904 2007-08-26  Bruno Haible  <bruno@clisp.org>
24905
24906         * gnulib-tool (func_import): When deciding which files to remove,
24907         consider also dangling symbolic links.
24908         Reported by Eric Blake.
24909
24910 2007-08-26  Bruno Haible  <bruno@clisp.org>
24911
24912         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
24913
24914 2007-08-23  Simon Josefsson  <simon@josefsson.org>
24915
24916         * lib/readline.c: Don't include getline.h, the prototype is now
24917         found in stdio.h.
24918
24919 2007-08-23  Jim Meyering  <jim@meyering.net>
24920
24921         Getdelim touchup.
24922         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
24923         around the funlockfile call, since funlockfile never sets errno.
24924         Don't set errno upon failed realloc.
24925
24926 2007-08-22  Eric Blake  <ebb9@byu.net>
24927
24928         Getline touchups.
24929         * lib/getdelim.c (getdelim): Revert regression that required *n to
24930         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
24931         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
24932         getdelim, rather than whether implementation is missing.
24933         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
24934         * lib/stdio_.h (getline): Also declare if replacement is
24935         required.
24936         * doc/functions/getdelim.texi: New file.
24937         * doc/functions/getline.texi: Likewise.
24938         * doc/gnulib.texi (Function Substitutes): Add new files.
24939         Reported by Bruno Haible.
24940
24941 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
24942
24943         * users.txt: Add Guile.
24944
24945 2007-08-22  Eric Blake  <ebb9@byu.net>
24946
24947         * tests/test-getdelim.c (main): Use remove, not unlink.
24948         * tests/test-getline.c (main): Likewise.
24949
24950         Move getline and getdelim into stdio.h, per POSIX 200x.
24951         * modules/getline (Files): Remove getline.h.
24952         (Depends-on): Add stdio.
24953         (configure.ac): Add module indicator.
24954         * modules/getdelim (Files): Remove getdelim.h.
24955         (Depends-on): Add stdio.
24956         (configure.ac): Add module indicator.
24957         * modules/stdio (Makefile.am): Work with new indicators.
24958         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
24959         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
24960         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
24961         * lib/getdelim.h: Delete.
24962         * lib/getline.h: Delete.
24963         * lib/stdio_.h (getdelim, getline): Declare.
24964         * modules/getdelim-tests: New module.
24965         * modules/getline-tests: Likewise.
24966         * tests/test-getdelim.c: New file.
24967         * tests/test-getline.c: Likewise.
24968         * NEWS: Document the change.
24969         * lib/getline.c: Update choice of header.
24970         * lib/csharpcomp.c: Likewise.
24971         * lib/getpass.c: Likewise.
24972         * lib/javacomp.c: Likewise.
24973         * lib/javaversion.c: Likewise.
24974         * lib/yesno.c: Likewise.
24975         * lib/getdelim.c: Likewise.
24976         (getdelim): Set errno on failure, and avoid memory leak.
24977
24978 2007-08-19  Bruno Haible  <bruno@clisp.org>
24979
24980         * modules/closein (Depends-on): Add freadahead.
24981         * lib/closein.c: Include freadahead.h.
24982         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
24983         is zero.
24984
24985 2007-08-19  Bruno Haible  <bruno@clisp.org>
24986
24987         * modules/freadahead-tests: New file.
24988         * tests/test-freadahead.sh: New file.
24989         * tests/test-freadahead.c: New file.
24990
24991         * modules/freadahead: New file.
24992         * lib/freadahead.h: New file.
24993         * lib/freadahead.c: New file.
24994         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
24995         fbufmode, fpurge, freadable, fwritable.
24996
24997 2007-08-19  Eric Blake  <ebb9@byu.net>
24998
24999         Test yesno in combination with closein.
25000         * lib/yesno.c (yesno): Document use of stdin.
25001         * modules/yesno-tests (Files): New module.
25002         * tests/test-yesno.c (main): New file.
25003         * tests/test-yesno.sh: Likewise.
25004
25005 2007-08-19  Bruno Haible  <bruno@clisp.org>
25006
25007         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
25008         * lib/fseeko.c (rpl_fseeko): Likewise.
25009         * lib/fseterr.c (fseterr): Likewise.
25010
25011 2007-08-19  Bruno Haible  <bruno@clisp.org>
25012
25013         * tests/test-lseek.c (main): Disable a test for BeOS.
25014         * doc/functions/lseek.texi: Document the BeOS bug.
25015
25016 2007-08-19  Bruno Haible  <bruno@clisp.org>
25017             Eric Blake  <ebb9@byu.net>
25018
25019         * lib/lseek.c: Include <sys/stat.h>.
25020         (rpl_lseek): Add workaround code also for Unix platforms.
25021         Needed for BeOS.
25022         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
25023         * doc/functions/lseek.texi: Document BeOS definiency.
25024
25025 2007-08-18  Bruno Haible  <bruno@clisp.org>
25026
25027         * modules/fstrcmp-tests: New file.
25028         * tests/test-fstrcmp.c: New file.
25029
25030 2007-08-18  Bruno Haible  <bruno@clisp.org>
25031
25032         * modules/fstrcmp: New file, from GNU gettext with modifications.
25033         * lib/fstrcmp.h: New file, from GNU gettext.
25034         * lib/fstrcmp.c: New file, from GNU gettext.
25035         * MODULES.html.sh (String handling): Add fstrcmp.
25036
25037 2007-08-18  Bruno Haible  <bruno@clisp.org>
25038
25039         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
25040         'bool'.
25041         (diag, compareseq): Remove const from the ctxt argument.
25042         (USE_HEURISTIC): Undefine at the end.
25043
25044 2007-08-18  Jim Meyering  <jim@meyering.net>
25045
25046         New file: lib/idcache.h
25047         * NEWS: Mention the addition.
25048         * modules/idcache (Files): Add lib/idcache.h
25049         * lib/idcache.c: Include "idcache.h".
25050         Don't include <sys/types.h>.
25051         Add a FIXME comment.
25052         Move file-scoped "static" declarations to the top.
25053         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
25054
25055 2007-08-17  Bruno Haible  <bruno@clisp.org>
25056         and Paul Eggert  <eggert@cs.ucla.edu>
25057
25058         * MODULES.html.sh: Add diffseq.
25059         * modules/diffseq: New file.
25060         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
25061         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
25062
25063 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
25064
25065         Import changes from coreutils for bootstrap script.
25066
25067         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
25068
25069         * build-aux/bootstrap (slurp): Work even in environments where
25070         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
25071         current code does not slurp files whose names start with ".", and
25072         this looks like it might be a troublesome area.
25073
25074         2007-07-11  Jim Meyering  <jim@meyering.net>
25075
25076         If there's a GPL vN copyright comment, require that N == 3.
25077
25078         2007-07-08  Jim Meyering  <jim@meyering.net>
25079
25080         Run the coreutils-specific code only if tests/Makefile.am.in exists.
25081         * build-aux/bootstrap (mam_template): Move definition out of loop.
25082
25083         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
25084
25085         * build-aux/bootstrap (symlink_to_dir): Rename function from
25086         symlink_to_gnulib.  Add a directory parameter.  Update all
25087         callers.
25088         (cp_mark_as_generated): Also check for -- and link to -- files in
25089         gl/.
25090
25091         2007-07-08  Jim Meyering  <jim@meyering.net>
25092
25093         Adapt to deeper hierarchy in gnulib.
25094         * build-aux/bootstrap (symlink_to_dir): If the destination
25095         directory doesn't exist, create it. This is required at least for
25096         "lib/uniwidth/cjk.h".
25097
25098         2007-05-15  Jim Meyering  <jim@meyering.net>
25099
25100         * build-aux/bootstrap: Now that generated Makefile.am files
25101         are no longer under version control, they must be created at
25102         bootstrap time.
25103
25104 2007-08-14  Ben Pfaff  <blp@gnu.org>
25105
25106         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
25107
25108 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
25109
25110         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
25111         given the changes below.
25112         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
25113         even on hosts that have padding bits beyond the supported 64.
25114
25115 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
25116
25117         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
25118         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
25119         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
25120         depends on it.
25121         (xstrtol_error): Remove.
25122         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
25123         but with a different signature.
25124         (ATTRIBUTE_NORETURN, __attribute__): New macros.
25125         * lib/xstrtol-error.c: Include exitfail.h.
25126         (xstrtol_fatal): New function, with a different signature from the
25127         old xstrtol_error, so that the caller need not worry about passing
25128         in an exit status, or about storage management of the option argument.
25129         (xstrtol_error): Now a static function.  Redo signature to
25130         implement xstrtol_fatal.  Output the correct number of hyphens in
25131         front of the option so that the caller need not worry about
25132         storage management.
25133         (N_): New macro.
25134         (_): Remove; not used now.
25135         * modules/xstrtol: Depend on getopt.
25136         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
25137         of old STRTOL_FATAL_ERROR macro.
25138         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
25139         of test program.
25140         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
25141         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
25142
25143 2007-08-08  Eric Blake  <ebb9@byu.net>
25144
25145         * lib/xstrtol-error.c: Add missing include.
25146
25147         Move xstrtol messages into gnulib domain, when --pobase is used.
25148         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
25149         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
25150         * modules/xstrtol (Files): Distribute new file.
25151         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
25152         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
25153         * tests/test-xstrtol.c: ...into new file.
25154         * tests/test-xstrtoul.c: Also test xstrtoul.
25155         * tests/test-xstrtoimax.c: Also test xstrtoimax.
25156         * tests/test-xstrtoumax.c: Also test xstrtoumax.
25157         * tests/test-xstrtol.sh: Drive the tests.
25158         * tests/test-xstrtoimax.sh: Likewise.
25159         * tests/test-xstrtoumax.sh: Likewise.
25160         * modules/xstrtol-tests: New module.
25161         * modules/xstrtoimax-tests: Likewise.
25162         * modules/xstrtoumax-tests: Likewise.
25163
25164 2007-08-08  Jim Meyering  <jim@meyering.net>
25165
25166         New function: mfile_name_concat.
25167         * lib/filenamecat.c (mfile_name_concat): New function, just like
25168         file_name_concat, but return NULL upon failure rather than exiting
25169         with a diagnostic.
25170         * lib/filenamecat.h: Declare it.
25171
25172 2007-08-07  Bruno Haible  <bruno@clisp.org>
25173
25174         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
25175         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
25176         warning from gcc.
25177         Reported by Eric Blake.
25178
25179 2007-08-07  Simon Josefsson  <simon@josefsson.org>
25180
25181         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
25182         * modules/crypto/arcfour (License): Likewise.
25183         * modules/crypto/des-tests (License): Likewise.
25184         * modules/crypto/gc-arctwo-tests (License): Likewise.
25185         * modules/crypto/gc-des-tests (License): Likewise.
25186         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
25187         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
25188         * modules/crypto/gc-md2-tests (License): Likewise.
25189         * modules/crypto/gc-md4-tests (License): Likewise.
25190         * modules/crypto/gc-md5-tests (License): Likewise.
25191         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
25192         * modules/crypto/gc-rijndael-tests (License): Likewise.
25193         * modules/crypto/gc-sha1-tests (License): Likewise.
25194         * modules/crypto/gc-tests (License): Likewise.
25195         * modules/crypto/hmac-md5 (License): Likewise.
25196         * modules/crypto/hmac-sha1 (License): Likewise.
25197         * modules/crypto/md2-tests (License): Likewise.
25198         * modules/crypto/md4-tests (License): Likewise.
25199         * modules/crypto/md5 (License): Likewise.
25200         * modules/crypto/rijndael (License): Likewise.
25201         * modules/crypto/sha1 (License): Likewise.
25202         * modules/memxor (License): Likewise.
25203
25204 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
25205         and Bruno Haible  <bruno@clisp.org>
25206
25207         * NEWS: Describe interface changes to human, xstrtol.
25208         * lib/human.h: Include <xstrtol.h>.
25209         (human_options): Return enum strtol_error, not int.  Remove
25210         bool arg; take int * instead.
25211         * lib/human.c: Don't include "gettext.h".
25212         (_): Remove; no longer used.
25213         Don't include <xstrtol.h>, since human.h does it.
25214         (human_options): Adjust to abovementioned interface changes.
25215         Do not report error to stderr; that's now the caller's
25216         responsibility.
25217         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
25218         interface change.
25219         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
25220         Str, Argument_type_string.  All uses changed.  Put " argument"
25221         in diagnostics to make them clearer.  Change wording of suffix
25222         message for clarity.
25223         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
25224         Argument_type_string.
25225         (STRTOL_FATAL_WARN): Remove; no longer used.
25226         * modules/human (Depends-on): Remove gettext-h.
25227
25228 2007-08-06  Simon Josefsson  <simon@josefsson.org>
25229
25230         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
25231
25232 2007-07-31  Bruno Haible  <bruno@clisp.org>
25233
25234         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
25235         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
25236         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
25237
25238 2007-07-31  Bruno Haible  <bruno@clisp.org>
25239
25240         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
25241         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
25242
25243 2007-07-30  Bruno Haible  <bruno@clisp.org>
25244
25245         * modules/base64 (License): Use the synonymous term "LGPLv2+".
25246         * modules/c-ctype (License): Likewise.
25247         * modules/c-strcase (License): Likewise.
25248         * modules/check-version (License): Likewise.
25249         * modules/iconv (License): Likewise.
25250         * modules/iconv_open (License): Likewise.
25251         * modules/read-file (License): Likewise.
25252         * modules/striconv (License): Likewise.
25253         * modules/strverscmp (License): Likewise.
25254         * modules/vasprintf (License): Likewise.
25255         * modules/crypto/des (License): Likewise.
25256         * modules/crypto/gc (License): Likewise.
25257         * modules/crypto/gc-arcfour (License): Likewise.
25258         * modules/crypto/gc-arctwo (License): Likewise.
25259         * modules/crypto/gc-des (License): Likewise.
25260         * modules/crypto/gc-hmac-md5 (License): Likewise.
25261         * modules/crypto/gc-hmac-sha1 (License): Likewise.
25262         * modules/crypto/gc-md2 (License): Likewise.
25263         * modules/crypto/gc-md4 (License): Likewise.
25264         * modules/crypto/gc-md5 (License): Likewise.
25265         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
25266         * modules/crypto/gc-random (License): Likewise.
25267         * modules/crypto/gc-rijndael (License): Likewise.
25268         * modules/crypto/gc-sha1 (License): Likewise.
25269         * modules/crypto/md2 (License): Likewise.
25270         * modules/crypto/md4 (License): Likewise.
25271
25272 2007-07-30  Jim Meyering  <jim@meyering.net>
25273
25274         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
25275         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
25276         it has valid stat data.  This bug would cause du not to count the
25277         sizes of inaccessible directories.
25278         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
25279         in <http://bugzilla.redhat.com/250077>.
25280
25281 2007-07-25  Peter O'Gorman  <peter@pogma.com>
25282             Bruno Haible  <bruno@clisp.org>
25283
25284         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
25285         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
25286         #include_next, gives a diagnostic about it, but reports no error in
25287         the exit code.
25288         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
25289
25290 2007-07-24  Ben Pfaff  <blp@gnu.org>
25291
25292         Improve name: "count-one-bits" is better than "popcount".
25293         * MODULES.html.sh: Update name.
25294         * lib/popcount.h: Renamed lib/count-one-bits.h.
25295         (popcount): Renamed count_one_bits.
25296         (popcountl): Renamed count_one_bits_l.
25297         (popcountll): Renamed count_one_bits_ll.
25298         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
25299         * modules/popcount: Renamed module/count-one-bits.
25300         * modules/popcount-tests: Renamed module/count-one-bits-tests.
25301         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
25302
25303 2007-07-23  Ben Pfaff  <blp@gnu.org>
25304
25305         * lib/popcount.h (popcount32): Reduce size of constants, to allow
25306         better code generation, and add U to large constants to avoid
25307         warnings, in non-GCC case.
25308         Suggested by Bruno Haible.
25309
25310 2007-07-23  Ben Pfaff  <blp@gnu.org>
25311
25312         * lib/popcount.h: Use verify_true instead of if...abort.
25313         * modules/popcount: Depend on verify module.
25314         Suggested by Jim Meyering.
25315
25316 2007-07-23  Bruno Haible  <bruno@clisp.org>
25317
25318         * gnulib-tool (func_import): Create a .cvsignore file also when the
25319         directory is not yet in CVS but the toplevel directory is. When
25320         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
25321         Reported by Karl Berry.
25322
25323 2007-07-22  Ben Pfaff  <blp@gnu.org>
25324
25325         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
25326         case.
25327         Suggested by Eric Blake.
25328
25329 2007-07-22  Ben Pfaff  <blp@gnu.org>
25330
25331         New module: popcount.
25332         * MODULES.html.sh: Add popcount.
25333         * modules/popcount: New file.
25334         * modules/popcount-tests: New file.
25335         * tests/test-popcount.c: New file.
25336         * lib/popcount.h: New file.
25337         * m4/popcount.m4: New file.
25338
25339 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
25340
25341         * build-aux/announce-gen: Update to GPLv3.
25342
25343         * build-aux/config.guess: Update from config.
25344
25345 2007-07-21  Bruno Haible  <bruno@clisp.org>
25346
25347         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
25348         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
25349
25350 2007-07-20  Jim Meyering  <jim@meyering.net>
25351
25352         * check-module: Diagnose a self-dependency.
25353
25354 2007-07-19  Bruno Haible  <bruno@clisp.org>
25355
25356         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
25357         empty.
25358         Reported by Eric Blake.
25359
25360 2007-07-18  Bruno Haible  <bruno@clisp.org>
25361
25362         * gnulib-tool: New options --po-base, --po-domain.
25363         (func_usage): Document them.
25364         (pobase, po_domain): New variables.
25365         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
25366         DEFAULT_TEXT_DOMAIN.
25367         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
25368         (func_import): Consider pobase and po_domain. Create a po/ directory.
25369         (func_create_testdir): Set pobase and po_domain to empty.
25370         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
25371         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
25372
25373 2007-07-18  Bruno Haible  <bruno@clisp.org>
25374
25375         * gnulib-tool (func_get_automake_snippet): Synthesize also an
25376         EXTRA_DIST augmentation for files in build-aux/.
25377
25378 2007-07-16  Bruno Haible  <bruno@clisp.org>
25379
25380         * modules/lseek (License): Use the synonymous term "LGPLv2+".
25381         * modules/getdelim (License): Likewise.
25382
25383 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
25384
25385         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
25386         * modules/d-type (License): Likewise.
25387         * modules/extensions (License): Likewise.
25388         * modules/fnmatch (License): Likewise.
25389         * modules/fseeko (License): Likewise.
25390         * modules/getaddrinfo (License): Likewise.
25391         * modules/getline (License): Likewise.
25392         * modules/getlogin_r (License): Likewise.
25393         * modules/getpass (License): Likewise.
25394         * modules/gettimeofday (License): Likewise.
25395         * modules/glob (License): Likewise.
25396         * modules/inet_ntop (License): Likewise.
25397         * modules/malloc (License): Likewise.
25398         * modules/malloca (License): Likewise.
25399         * modules/memmem (License): Likewise.
25400         * modules/mempcpy (License): Likewise.
25401         * modules/memset (License): Likewise.
25402         * modules/minmax (License): Likewise.
25403         * modules/mktime (License): Likewise.
25404         * modules/netinet_in (License): Likewise.
25405         * modules/pathmax (License): Likewise.
25406         * modules/poll (License): Likewise.
25407         * modules/regex (License): Likewise.
25408         * modules/snprintf (License): Likewise.
25409         * modules/stdbool (License): Likewise.
25410         * modules/stdint (License): Likewise.
25411         * modules/stdio (License): Likewise.
25412         * modules/strcase (License): Likewise.
25413         * modules/strcasestr (License): Likewise.
25414         * modules/strdup (License): Likewise.
25415         * modules/string (License): Likewise.
25416         * modules/strndup (License): Likewise.
25417         * modules/strnlen (License): Likewise.
25418         * modules/strpbrk (License): Likewise.
25419         * modules/strptime (License): Likewise.
25420         * modules/strsep (License): Likewise.
25421         * modules/sys_select (License): Likewise.
25422         * modules/sys_socket (License): Likewise.
25423         * modules/sys_stat (License): Likewise.
25424         * modules/sys_time (License): Likewise.
25425         * modules/time (License): Likewise.
25426         * modules/time_r (License): Likewise.
25427         * modules/timegm (License): Likewise.
25428         * modules/unistd (License): Likewise.
25429         * modules/vsnprintf (License): Likewise.
25430         * modules/wctype (License): Likewise.
25431
25432 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25433
25434         * modules/argz (License): LGPLv2+.
25435
25436 2007-07-15  Karl Berry  <karl@gnu.org>
25437
25438         * doc/gnulib.texi: revise node structure per new fdl.texi.
25439
25440 2007-07-14  Bruno Haible  <bruno@clisp.org>
25441
25442         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
25443         the output file.
25444         * lib/uniname/uninames.h: Regenerated.
25445
25446 2007-07-14  Karl Berry  <karl@gnu.org>
25447
25448         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
25449         omitting sectioning and index commands.
25450
25451 2007-07-13  Bruno Haible  <bruno@clisp.org>
25452
25453         New gnulib-tool option --more-symlinks.
25454         * gnulib-tool (func_usage): Document --more-symlinks.
25455         (do_copyrights): New variable.
25456         Recognize option --more-symlinks.
25457         (func_import): Don't add a copyright notice transform to
25458         sed_transform_lib_file if do_copyrights is empty.
25459
25460 2007-07-13  Bruno Haible  <bruno@clisp.org>
25461
25462         * lib/vasnprintf.c (decimal_point_char): Define also if
25463         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
25464         && !NEED_PRINTF_DIRECTIVE_A.
25465         Reported by Clemens Koller <clemens.koller@anagramm.de> via
25466         Gary V. Vaughan <gary@gnu.org>.
25467
25468 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
25469
25470         * lib/inttypes_.h: Undo previous change, since it was fixed
25471         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
25472
25473 2007-07-13  Bruno Haible  <bruno@clisp.org>
25474
25475         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
25476         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
25477
25478 2007-07-13  Jim Meyering  <jim@meyering.net>
25479
25480         df: Don't fail for Tru64's "file-on-file mount".
25481         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
25482         so we fall through and use statfs instead.  Details here:
25483         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
25484         Reported by Albert Chin.
25485
25486 2007-07-13  Bruno Haible  <bruno@clisp.org>
25487
25488         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
25489         * modules/configmake (License): Likewise.
25490         * modules/gettext (License): Likewise.
25491         * modules/gettext-h (License): Likewise.
25492         * modules/include_next (License): Likewise.
25493         * modules/link-warning (License): Likewise.
25494         * modules/localcharset (License): Likewise.
25495         * modules/localename (License): Likewise.
25496         * modules/lock (License): Likewise.
25497         * modules/relocatable-lib-lgpl (License): Likewise.
25498         * modules/size_max (License): Likewise.
25499         * modules/vasnprintf (License): Likewise.
25500         * modules/wchar (License): Likewise.
25501         * modules/xsize (License): Likewise.
25502
25503 2007-07-13  Bruno Haible  <bruno@clisp.org>
25504
25505         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
25506         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
25507
25508 2007-07-12  Bruno Haible  <bruno@clisp.org>
25509
25510         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
25511         in the modules files.
25512
25513 2007-07-11  Karl Berry  <karl@gnu.org>
25514
25515         * MODULES.html.sh (func_module): use
25516          sed -e '\|^'"${includefile}"'$|d'
25517          instead of /.../d, to avoid errors on $includefile's containing /.
25518
25519 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
25520
25521         * gnulib-tool (func_import): Avoid duplication of --avoid
25522         statements
25523         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
25524         names to `_' in variable names.
25525
25526 2007-07-10  Eric Blake  <ebb9@byu.net>
25527
25528         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
25529         * NEWS: Document this change.
25530
25531 2007-07-08  Bruno Haible  <bruno@clisp.org>
25532
25533         Update to Unicode 5.0.
25534         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
25535         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
25536         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
25537         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
25538         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
25539         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
25540         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
25541         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
25542         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
25543         U+10A3F, U+1D242..U+1D244.
25544         (nonspacing_table_ind): Update.
25545         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
25546         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
25547
25548 2007-07-08  Bruno Haible  <bruno@clisp.org>
25549
25550         Update to Unicode 5.0.
25551         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
25552         code transform. Extend the name index field of unicode_name_to_code and
25553         unicode_code_to_name from 16 to 24 bits.
25554         * lib/uniname/uniname.c (unicode_character_name,
25555         unicode_name_character): Add the range 0x12xxx to the code transform.
25556         * lib/uniname/uninames.h: Regenerated.
25557         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
25558
25559 2007-07-07  Bruno Haible  <bruno@clisp.org>
25560
25561         * modules/wcwidth-tests: New file.
25562         * tests/test-wcwidth.c: New file.
25563
25564         Work around MacOS X wcwidth() bug.
25565         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
25566         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
25567         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
25568         original wcwidth in non-UTF-8 locales.
25569         * modules/wcwidth (Depends-on): Add localcharset, streq,
25570         uniwidth/width.
25571         * doc/functions/wcwidth.texi: Update.
25572
25573 2007-07-07  Bruno Haible  <bruno@clisp.org>
25574
25575         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
25576         (wcwidth): New declaration.
25577         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
25578         macros.
25579         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
25580         here. Prepare for creating <wchar.h> unconditionally.
25581         * modules/wchar (Depends-on): Add link-warning.
25582         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
25583         REPLACE_WCWIDTH, and GL_LINK_WARNING.
25584         * lib/wcwidth.h: Remove file.
25585         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
25586         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
25587         * modules/wcwidth (Files): Remove lib/wcwidth.h.
25588         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
25589         (Include): Replace wcwidth.h with <wchar.h>.
25590         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
25591         * lib/mbchar.h: Don't include wcwidth.h.
25592         * lib/mbswidth.c: Likewise.
25593         * NEWS: Mention the change.
25594
25595 2007-07-07  Bruno Haible  <bruno@clisp.org>
25596
25597         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
25598         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
25599         definition with an external declaration.
25600         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
25601         defined as a function. Remove AC_C_INLINE requirement.
25602         * modules/wcwidth (Files): Add lib/wcwidth.c.
25603         (Makefile.am): Remove redundant statement.
25604
25605 2007-07-07  Bruno Haible  <bruno@clisp.org>
25606
25607         * MODULES.html.sh (Unicode string functions): Add the new modules.
25608
25609         * tests/uniwidth/test-u32-strwidth.c: New file.
25610         * modules/uniwidth/u32-strwidth-tests: New file.
25611
25612         * lib/uniwidth/u32-strwidth.c: New file.
25613         * modules/uniwidth/u32-strwidth: New file.
25614
25615         * tests/uniwidth/test-u16-strwidth.c: New file.
25616         * modules/uniwidth/u16-strwidth-tests: New file.
25617
25618         * lib/uniwidth/u16-strwidth.c: New file.
25619         * modules/uniwidth/u16-strwidth: New file.
25620
25621         * tests/uniwidth/test-u8-strwidth.c: New file.
25622         * modules/uniwidth/u8-strwidth-tests: New file.
25623
25624         * lib/uniwidth/u8-strwidth.c: New file.
25625         * modules/uniwidth/u8-strwidth: New file.
25626
25627         * tests/uniwidth/test-u32-width.c: New file.
25628         * modules/uniwidth/u32-width-tests: New file.
25629
25630         * lib/uniwidth/u32-width.c: New file.
25631         * modules/uniwidth/u32-width: New file.
25632
25633         * tests/uniwidth/test-u16-width.c: New file.
25634         * modules/uniwidth/u16-width-tests: New file.
25635
25636         * lib/uniwidth/u16-width.c: New file.
25637         * modules/uniwidth/u16-width: New file.
25638
25639         * tests/uniwidth/test-u8-width.c: New file.
25640         * modules/uniwidth/u8-width-tests: New file.
25641
25642         * lib/uniwidth/u8-width.c: New file.
25643         * modules/uniwidth/u8-width: New file.
25644
25645         * tests/uniwidth/test-uc_width.c: New file.
25646         * modules/uniwidth/width-tests: New file.
25647
25648         * lib/uniwidth/width.c: New file, from GNU libiconv.
25649         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
25650         * modules/uniwidth/width: New file.
25651
25652         * lib/uniwidth.h: New file, from GNU libiconv.
25653         * modules/uniwidth/base: New file.
25654
25655 2007-07-07  Bruno Haible  <bruno@clisp.org>
25656
25657         * lib/uniname.h: New file, from GNU gettext.
25658         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
25659         * lib/uniname/uninames.h: New file, from GNU gettext.
25660         * lib/uniname/uniname.c: New file, from GNU gettext.
25661         * tests/uniname/test-uninames.sh: New file.
25662         * tests/uniname/test-uninames.c: New file, from GNU gettext.
25663         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
25664         * modules/uniname/base: New file.
25665         * modules/uniname/uniname: New file.
25666         * modules/uniname/uniname-tests: New file.
25667         * MODULES.html.sh (Unicode string functions): Add the new modules.
25668
25669 2007-07-06  Bruno Haible  <bruno@clisp.org>
25670
25671         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
25672
25673 2007-07-06  Bruno Haible  <bruno@clisp.org>
25674
25675         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
25676         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
25677         includes <cygwin/sys_time.h> which includes <sys/select.h> which
25678         include <sys/time.h>.
25679         Reported by Eric Blake.
25680
25681 2007-07-06  Eric Blake  <ebb9@byu.net>
25682
25683         Fix testing canonicalize on cygwin.
25684         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
25685         Revert patch from 2007-06-19.
25686         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
25687         canonicalize module is also in use.
25688         * tests/test-canonicalize.c: New file.
25689         * tests/test-canonicalize.sh: Likewise.
25690         * modules/canonicalize-tests: Likewise.
25691
25692 2007-07-06  Jim Meyering  <jim@meyering.net>
25693
25694         * lib/getugroups.c (getugroups): Detect getgrent failure.
25695         Adjust comment to reflect reality: this function may return -1.
25696
25697 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
25698
25699         * build-aux/bootstrap (TP_URL,get_translations): Update to use
25700         the new TP address.
25701         (usage): Fix typo
25702         (gnulib_mk): New variable.
25703
25704 2007-07-05  Jim Meyering  <jim@meyering.net>
25705
25706         Don't let endgrent clobber errno, no matter how improbable.
25707         * lib/getugroups.c (getugroups): Save and restore errno around
25708         endgrent call.
25709
25710         Close the group DB even when failing with 2^31 or more members.
25711         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
25712
25713 2007-07-04  Jim Meyering  <jim@meyering.net>
25714
25715         * lib/getugroups.h: New file.
25716         * lib/getugroups.c: Include "getugroups.h".
25717         Remove uses of "register" keyword.
25718         Move local variable, "cp", down into scope where used.
25719         Give "username" parameter the "const" attribute.
25720         * modules/getugroups (Files): Add lib/getugroups.h
25721
25722 2007-07-04  Karl Berry  <karl@gnu.org>
25723
25724         * MODULES.html.sh (func_all_modules): Complete rename of
25725         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
25726
25727 2007-07-02  Bruno Haible  <bruno@clisp.org>
25728
25729         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
25730         mode, when inttypes.h comes from gnulib.
25731         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
25732
25733 2007-07-02  Simon Josefsson  <simon@josefsson.org>
25734
25735         * NEWS: Mention lgpl module name change.
25736
25737         * modules/lgpl-2.1: Renamed from lgpl.
25738
25739         * NEWS: Mention gpl module name change.
25740
25741         * modules/gpl-3.0: New file, based on gpl-2.0.
25742
25743         * modules/gpl-2.0: Renamed from gpl.
25744
25745         * modules/gpl: Fix filename, doc/gpl.texi is now found at
25746         doc/gpl-2.0.texi.
25747
25748 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
25749
25750         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
25751         #define __STDC_LIMIT_MACROS temporarily while including
25752         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
25753         Problem reported by Joel E. Denny in
25754         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
25755
25756 2007-07-01  Bruno Haible  <bruno@clisp.org>
25757
25758         * lib/unistdio.h: New file.
25759         * lib/unistdio/u-asnprintf.h: New file.
25760         * lib/unistdio/u-asprintf.h: New file.
25761         * lib/unistdio/u-printf-args.c: New file.
25762         * lib/unistdio/u-printf-args.h: New file.
25763         * lib/unistdio/u-printf-parse.h: New file.
25764         * lib/unistdio/u-snprintf.h: New file.
25765         * lib/unistdio/u-sprintf.h: New file.
25766         * lib/unistdio/u-vasprintf.h: New file.
25767         * lib/unistdio/u-vsnprintf.h: New file.
25768         * lib/unistdio/u-vsprintf.h: New file.
25769         * lib/unistdio/ulc-asnprintf.c: New file.
25770         * lib/unistdio/ulc-asprintf.c: New file.
25771         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
25772         * lib/unistdio/ulc-printf-parse.c: New file.
25773         * lib/unistdio/ulc-snprintf.c: New file.
25774         * lib/unistdio/ulc-sprintf.c: New file.
25775         * lib/unistdio/ulc-vasnprintf.c: New file.
25776         * lib/unistdio/ulc-vasprintf.c: New file.
25777         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
25778         * lib/unistdio/ulc-vsnprintf.c: New file.
25779         * lib/unistdio/ulc-vsprintf.c: New file.
25780         * lib/unistdio/u8-asnprintf.c: New file.
25781         * lib/unistdio/u8-asprintf.c: New file.
25782         * lib/unistdio/u8-printf-parse.c: New file.
25783         * lib/unistdio/u8-snprintf.c: New file.
25784         * lib/unistdio/u8-sprintf.c: New file.
25785         * lib/unistdio/u8-vasnprintf.c: New file.
25786         * lib/unistdio/u8-vasprintf.c: New file.
25787         * lib/unistdio/u8-vsnprintf.c: New file.
25788         * lib/unistdio/u8-vsprintf.c: New file.
25789         * lib/unistdio/u8-u8-asnprintf.c: New file.
25790         * lib/unistdio/u8-u8-asprintf.c: New file.
25791         * lib/unistdio/u8-u8-snprintf.c: New file.
25792         * lib/unistdio/u8-u8-sprintf.c: New file.
25793         * lib/unistdio/u8-u8-vasnprintf.c: New file.
25794         * lib/unistdio/u8-u8-vasprintf.c: New file.
25795         * lib/unistdio/u8-u8-vsnprintf.c: New file.
25796         * lib/unistdio/u8-u8-vsprintf.c: New file.
25797         * lib/unistdio/u16-asnprintf.c: New file.
25798         * lib/unistdio/u16-asprintf.c: New file.
25799         * lib/unistdio/u16-printf-parse.c: New file.
25800         * lib/unistdio/u16-snprintf.c: New file.
25801         * lib/unistdio/u16-sprintf.c: New file.
25802         * lib/unistdio/u16-vasnprintf.c: New file.
25803         * lib/unistdio/u16-vasprintf.c: New file.
25804         * lib/unistdio/u16-vsnprintf.c: New file.
25805         * lib/unistdio/u16-vsprintf.c: New file.
25806         * lib/unistdio/u16-u16-asnprintf.c: New file.
25807         * lib/unistdio/u16-u16-asprintf.c: New file.
25808         * lib/unistdio/u16-u16-snprintf.c: New file.
25809         * lib/unistdio/u16-u16-sprintf.c: New file.
25810         * lib/unistdio/u16-u16-vasnprintf.c: New file.
25811         * lib/unistdio/u16-u16-vasprintf.c: New file.
25812         * lib/unistdio/u16-u16-vsnprintf.c: New file.
25813         * lib/unistdio/u16-u16-vsprintf.c: New file.
25814         * lib/unistdio/u32-asnprintf.c: New file.
25815         * lib/unistdio/u32-asprintf.c: New file.
25816         * lib/unistdio/u32-printf-parse.c: New file.
25817         * lib/unistdio/u32-snprintf.c: New file.
25818         * lib/unistdio/u32-sprintf.c: New file.
25819         * lib/unistdio/u32-vasnprintf.c: New file.
25820         * lib/unistdio/u32-vasprintf.c: New file.
25821         * lib/unistdio/u32-vsnprintf.c: New file.
25822         * lib/unistdio/u32-vsprintf.c: New file.
25823         * lib/unistdio/u32-u32-asnprintf.c: New file.
25824         * lib/unistdio/u32-u32-asprintf.c: New file.
25825         * lib/unistdio/u32-u32-snprintf.c: New file.
25826         * lib/unistdio/u32-u32-sprintf.c: New file.
25827         * lib/unistdio/u32-u32-vasnprintf.c: New file.
25828         * lib/unistdio/u32-u32-vasprintf.c: New file.
25829         * lib/unistdio/u32-u32-vsnprintf.c: New file.
25830         * lib/unistdio/u32-u32-vsprintf.c: New file.
25831         * tests/unistdio/test-ulc-asnprintf1.c: New file.
25832         * tests/unistdio/test-ulc-asnprintf1.h: New file.
25833         * tests/unistdio/test-ulc-printf1.h: New file.
25834         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
25835         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
25836         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
25837         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
25838         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
25839         * tests/unistdio/test-ulc-vasprintf1.c: New file.
25840         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
25841         * tests/unistdio/test-ulc-vsprintf1.c: New file.
25842         * tests/unistdio/test-u8-asnprintf1.c: New file.
25843         * tests/unistdio/test-u8-asnprintf1.h: New file.
25844         * tests/unistdio/test-u8-printf1.h: New file.
25845         * tests/unistdio/test-u8-vasnprintf1.c: New file.
25846         * tests/unistdio/test-u8-vasnprintf2.c: New file.
25847         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
25848         * tests/unistdio/test-u8-vasnprintf3.c: New file.
25849         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
25850         * tests/unistdio/test-u8-vasprintf1.c: New file.
25851         * tests/unistdio/test-u8-vsnprintf1.c: New file.
25852         * tests/unistdio/test-u8-vsprintf1.c: New file.
25853         * tests/unistdio/test-u16-asnprintf1.c: New file.
25854         * tests/unistdio/test-u16-asnprintf1.h: New file.
25855         * tests/unistdio/test-u16-printf1.h: New file.
25856         * tests/unistdio/test-u16-vasnprintf1.c: New file.
25857         * tests/unistdio/test-u16-vasnprintf2.c: New file.
25858         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
25859         * tests/unistdio/test-u16-vasnprintf3.c: New file.
25860         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
25861         * tests/unistdio/test-u16-vasprintf1.c: New file.
25862         * tests/unistdio/test-u16-vsnprintf1.c: New file.
25863         * tests/unistdio/test-u16-vsprintf1.c: New file.
25864         * tests/unistdio/test-u32-asnprintf1.c: New file.
25865         * tests/unistdio/test-u32-asnprintf1.h: New file.
25866         * tests/unistdio/test-u32-printf1.h: New file.
25867         * tests/unistdio/test-u32-vasnprintf1.c: New file.
25868         * tests/unistdio/test-u32-vasnprintf2.c: New file.
25869         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
25870         * tests/unistdio/test-u32-vasnprintf3.c: New file.
25871         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
25872         * tests/unistdio/test-u32-vasprintf1.c: New file.
25873         * tests/unistdio/test-u32-vsnprintf1.c: New file.
25874         * tests/unistdio/test-u32-vsprintf1.c: New file.
25875         * modules/unistdio/base: New file.
25876         * modules/unistdio/u-printf-args: New file.
25877         * modules/unistdio/ulc-asnprintf: New file.
25878         * modules/unistdio/ulc-asprintf: New file.
25879         * modules/unistdio/ulc-fprintf: New file.
25880         * modules/unistdio/ulc-printf-parse: New file.
25881         * modules/unistdio/ulc-snprintf: New file.
25882         * modules/unistdio/ulc-sprintf: New file.
25883         * modules/unistdio/ulc-vasnprintf: New file.
25884         * modules/unistdio/ulc-vasprintf: New file.
25885         * modules/unistdio/ulc-vfprintf: New file.
25886         * modules/unistdio/ulc-vsnprintf: New file.
25887         * modules/unistdio/ulc-vsprintf: New file.
25888         * modules/unistdio/u8-asnprintf: New file.
25889         * modules/unistdio/u8-asprintf: New file.
25890         * modules/unistdio/u8-printf-parse: New file.
25891         * modules/unistdio/u8-snprintf: New file.
25892         * modules/unistdio/u8-sprintf: New file.
25893         * modules/unistdio/u8-vasnprintf: New file.
25894         * modules/unistdio/u8-vasprintf: New file.
25895         * modules/unistdio/u8-vsnprintf: New file.
25896         * modules/unistdio/u8-vsprintf: New file.
25897         * modules/unistdio/u8-u8-asnprintf: New file.
25898         * modules/unistdio/u8-u8-asprintf: New file.
25899         * modules/unistdio/u8-u8-snprintf: New file.
25900         * modules/unistdio/u8-u8-sprintf: New file.
25901         * modules/unistdio/u8-u8-vasnprintf: New file.
25902         * modules/unistdio/u8-u8-vasprintf: New file.
25903         * modules/unistdio/u8-u8-vsnprintf: New file.
25904         * modules/unistdio/u8-u8-vsprintf: New file.
25905         * modules/unistdio/u16-asnprintf: New file.
25906         * modules/unistdio/u16-asprintf: New file.
25907         * modules/unistdio/u16-printf-parse: New file.
25908         * modules/unistdio/u16-snprintf: New file.
25909         * modules/unistdio/u16-sprintf: New file.
25910         * modules/unistdio/u16-vasnprintf: New file.
25911         * modules/unistdio/u16-vasprintf: New file.
25912         * modules/unistdio/u16-vsnprintf: New file.
25913         * modules/unistdio/u16-vsprintf: New file.
25914         * modules/unistdio/u16-u16-asnprintf: New file.
25915         * modules/unistdio/u16-u16-asprintf: New file.
25916         * modules/unistdio/u16-u16-snprintf: New file.
25917         * modules/unistdio/u16-u16-sprintf: New file.
25918         * modules/unistdio/u16-u16-vasnprintf: New file.
25919         * modules/unistdio/u16-u16-vasprintf: New file.
25920         * modules/unistdio/u16-u16-vsnprintf: New file.
25921         * modules/unistdio/u16-u16-vsprintf: New file.
25922         * modules/unistdio/u32-asnprintf: New file.
25923         * modules/unistdio/u32-asprintf: New file.
25924         * modules/unistdio/u32-printf-parse: New file.
25925         * modules/unistdio/u32-snprintf: New file.
25926         * modules/unistdio/u32-sprintf: New file.
25927         * modules/unistdio/u32-vasnprintf: New file.
25928         * modules/unistdio/u32-vasprintf: New file.
25929         * modules/unistdio/u32-vsnprintf: New file.
25930         * modules/unistdio/u32-vsprintf: New file.
25931         * modules/unistdio/u32-u32-asnprintf: New file.
25932         * modules/unistdio/u32-u32-asprintf: New file.
25933         * modules/unistdio/u32-u32-snprintf: New file.
25934         * modules/unistdio/u32-u32-sprintf: New file.
25935         * modules/unistdio/u32-u32-vasnprintf: New file.
25936         * modules/unistdio/u32-u32-vasprintf: New file.
25937         * modules/unistdio/u32-u32-vsnprintf: New file.
25938         * modules/unistdio/u32-u32-vsprintf: New file.
25939         * modules/unistdio/ulc-asnprintf-tests: New file.
25940         * modules/unistdio/ulc-vasnprintf-tests: New file.
25941         * modules/unistdio/ulc-vasprintf-tests: New file.
25942         * modules/unistdio/ulc-vsnprintf-tests: New file.
25943         * modules/unistdio/ulc-vsprintf-tests: New file.
25944         * modules/unistdio/u8-asnprintf-tests: New file.
25945         * modules/unistdio/u8-vasnprintf-tests: New file.
25946         * modules/unistdio/u8-vasprintf-tests: New file.
25947         * modules/unistdio/u8-vsnprintf-tests: New file.
25948         * modules/unistdio/u8-vsprintf-tests: New file.
25949         * modules/unistdio/u16-asnprintf-tests: New file.
25950         * modules/unistdio/u16-vasnprintf-tests: New file.
25951         * modules/unistdio/u16-vasprintf-tests: New file.
25952         * modules/unistdio/u16-vsnprintf-tests: New file.
25953         * modules/unistdio/u16-vsprintf-tests: New file.
25954         * modules/unistdio/u32-asnprintf-tests: New file.
25955         * modules/unistdio/u32-vasnprintf-tests: New file.
25956         * modules/unistdio/u32-vasprintf-tests: New file.
25957         * modules/unistdio/u32-vsnprintf-tests: New file.
25958         * modules/unistdio/u32-vsprintf-tests: New file.
25959         * MODULES.html.sh (Unicode string functions): Add the new modules.
25960
25961 2007-07-01  Bruno Haible  <bruno@clisp.org>
25962
25963         * lib/sprintf.c (sprintf): Limit the available length estimation,
25964         to avoid address wraparound.
25965         * lib/vsprintf.c (vsprintf): Likewise.
25966         * modules/sprintf-posix (Dependencies): Add stdint.
25967         * modules/vsprintf-posix (Dependencies): Likewise.
25968
25969 2007-07-01  Bruno Haible  <bruno@clisp.org>
25970
25971         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
25972         Windows PATH as well. Conservative double-quoting. Comments.
25973
25974 2007-07-01  Bruno Haible  <bruno@clisp.org>
25975             Eric Blake  <ebb9@byu.net>
25976             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25977
25978         * gnulib-tool (self_abspathname): Fix algorithm to cope with
25979         empty components in $PATH, denoting '.'.
25980
25981 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25982
25983         * gnulib-tool: Fix indentation.
25984         (func_create_megatestdir): Likewise.
25985         Report by Bruno Haible.
25986
25987 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25988
25989         Sync from Automake.
25990         * build-aux/gnupload: Fix shell portability issues with for loops.
25991         Report by Karl Berry.
25992
25993 2007-06-29  Simon Josefsson  <simon@josefsson.org>
25994
25995         * build-aux/maint.mk (POURL): Use translationproject.org.
25996
25997 2007-06-27  Simon Josefsson  <simon@josefsson.org>
25998             Bruno Haible  <bruno@clisp.org>
25999
26000         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
26001         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
26002         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
26003         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
26004         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
26005
26006 2007-06-27  Bruno Haible  <bruno@clisp.org>
26007
26008         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
26009         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
26010
26011 2007-06-26  Karl Berry  <karl@gnu.org>
26012
26013         * MODULES.html.sh: remove xreadlink-with-size.
26014
26015 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
26016
26017         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
26018         method that I hope also handles the double-include problem noted
26019         by Bruno Haible in
26020         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
26021
26022 2007-06-23  Bruno Haible  <bruno@clisp.org>
26023
26024         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
26025         Don't let the 'mostlyclean' target fail if the last subdirectory could
26026         not be removed.
26027         Reported by Karl Berry.
26028
26029 2007-06-23  Bruno Haible  <bruno@clisp.org>
26030
26031         * gnulib-tool (echo): Add a speedier workaround for ksh.
26032         * tests/test-echo.sh: Likewise.
26033
26034 2007-06-23  Bruno Haible  <bruno@clisp.org>
26035
26036         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
26037         * tests/test-echo.sh: Likewise.
26038
26039 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26040
26041         * gnulib-tool (IFS): Initialize early, so we don't set it to
26042         empty later.
26043         (self_abspathname): Rewrite algorithm to set it, reindent.
26044         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
26045         (func_create_megatestdir): Merge some sed scripts.
26046
26047 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
26048
26049         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
26050         exposed by Sun Studio 11 cc on Solaris 8.
26051
26052 2007-06-22  Bruno Haible  <bruno@clisp.org>
26053
26054         * gnulib-tool (echo): Ensure the echo primitive does not interpret
26055         backslashes.
26056         * tests/test-echo.sh: New file.
26057
26058 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26059
26060         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
26061         simplify `sed_replace_build_aux' scripts, they are portable but
26062         echoing them with `echo' is not.
26063         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
26064
26065 2007-06-21  Karl Berry  <karl@gnu.org>
26066
26067         * config/srclist.txt: guess we can't handle the licenses via
26068         srclist at the moment.
26069
26070 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
26071
26072         * MODULES.html.sh: Add include_next.
26073         * modules/include_next: New file.
26074
26075 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
26076
26077         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
26078         INCLUDE_NEXT.
26079         (gl_CHECK_NEXT_HEADERS): New macro.
26080         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
26081         the obsolescent gl_ABSOLUTE_HEADER.
26082         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
26083         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
26084         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
26085         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
26086         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
26087         * m4/math_h.m4 (gl_MATH_H): Likewise.
26088         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
26089         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
26090         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
26091         * m4/stdint.m4 (gl_STDINT_H): Likewise.
26092         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
26093         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
26094         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
26095         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
26096         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
26097         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
26098         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
26099         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
26100         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
26101         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
26102         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
26103         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
26104         * m4/inttypes.m4 (gl_INTTYPES_H): Define
26105         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
26106         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
26107         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
26108         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
26109         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
26110         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
26111         * lib/float_.h: Likewise.
26112         * lib/inttypes_.h: Likewise.
26113         * lib/math_.h: Likewise.
26114         * lib/search_.h: Likewise.
26115         * lib/signal_.h: Likewise.
26116         * lib/stdint_.h: Likewise.
26117         * lib/stdio_.h: Likewise.
26118         * lib/stdlib_.h: Likewise.
26119         * lib/string_.h: Likewise.
26120         * lib/sys_stat_.h: Likewise.
26121         * lib/sys_time_.h: Likewise.
26122         * lib/time_.h: Likewise.
26123         * lib/unistd_.h: Likewise.
26124         * lib/wchar_.h: Likewise.
26125         * lib/wctype_.h: Likewise.
26126         * lib/dirent_.h: Likewise.
26127         * lib/iconv_.h: Likewise.
26128         * lib/locale_.h: Likewise.
26129         * lib/netinet_in_.h: Likewise.
26130         * lib/sys_select_.h: Likewise.
26131         * lib/sys_socket_.h: Likewise.
26132         * lib/sysexits_.h: Likewise.
26133         * modules/fcntl (Depends-on): Depend on include_next, not
26134         absolute_header.
26135         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
26136         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
26137         * modules/fchdir: Likewise.
26138         * modules/float: Likewise.
26139         * modules/iconv_open: Likewise.
26140         * modules/inttypes: Likewise.
26141         * modules/locale: Likewise.
26142         * modules/math: Likewise.
26143         * modules/netinet_in: Likewise.
26144         * modules/search: Likewise.
26145         * modules/signal: Likewise.
26146         * modules/stdint: Likewise.
26147         * modules/stdio: Likewise.
26148         * modules/stdlib: Likewise.
26149         * modules/string: Likewise.
26150         * modules/sys_select: Likewise.
26151         * modules/sys_socket: Likewise.
26152         * modules/sys_stat: Likewise.
26153         * modules/sys_time: Likewise.
26154         * modules/sysexits: Likewise.
26155         * modules/time: Likewise.
26156         * modules/unistd: Likewise.
26157         * modules/wchar: Likewise.
26158         * modules/wctype: Likewise.
26159         * modules/sys_stat: Change maintainer to "all".
26160         * modules/unistd: Likewise.
26161
26162 2007-06-20  Karl Berry  <karl@gnu.org>
26163
26164         * config/srclist.txt: track www changes in license files.
26165
26166 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
26167
26168         * build-aux/bootstrap: Remove stray dot.
26169         Make sure build_aux settings are honored when linking
26170         gnulib_extra_files.
26171
26172 2007-06-19  Eric Blake  <ebb9@byu.net>
26173
26174         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
26175         Allow compilation on cygwin.
26176
26177 2007-06-19  Jim Meyering  <jim@meyering.net>
26178
26179         xreadlink-with-size: Remove module.  No longer used.
26180         Ex-callers now use xreadlink or mreadlink-with-size.
26181         * modules/xreadlink-with-size: Remove module.
26182         * lib/xreadlink-with-size.c: Remove file.
26183         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
26184         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
26185         just before the function definition *is* accurate.
26186
26187         Eliminate one way canonicalize_filename_mode could exit.
26188         * lib/canonicalize.c (canonicalize_filename_mode):
26189         Use mreadlink_with_size, not xreadlink_with_size.
26190
26191 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
26192
26193         Detect porting problems to FreeBSD/arm, which has time_t wider than
26194         long int.  Original problem reported for GNU diff by Xin Li in
26195         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
26196         * modules/getdate (Depends-on): Add intprops, verify.
26197         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
26198         is an integer type no wider than long int.
26199
26200 2007-06-18  Jim Meyering  <jim@meyering.net>
26201
26202         New module: mreadlink-with-size.
26203         * MODULES.html.sh: Add mreadlink-with-size.
26204         * modules/mreadlink-with-size: New module
26205         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
26206         not xreadlink-with-size.
26207         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
26208
26209 2007-06-16  Bruno Haible  <bruno@clisp.org>
26210
26211         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
26212         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
26213         Reported by Gary V. Vaughan <gary@gnu.org>.
26214
26215 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
26216
26217         Revamp lchown so that it lives in unistd.h where it belongs.
26218         * lib/lchown.h: Remove.
26219         * lib/dirchownmod.c: Don't include lib/lchown.h.
26220         * lib/fchownat.c: Likewise.
26221         * lib/openat.c: Likewise.
26222         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
26223         does not follow symlinks.
26224         (EOPNOTSUPP): Define if not defined.
26225         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
26226         is defined to 0.
26227         (lchown): New decl.
26228         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
26229         Do not check for lchown decl.
26230         Set REPLACE_LCHOWN.
26231         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
26232         REPLACE_LCHOWN.
26233         * modules/chown: Make it clear it follows symlinks.
26234         * modules/lchown: Make it clear it doesn't follow symlinks.
26235         (Files): Remove lib/lchown.h
26236         (Depends-on): Add unistd.
26237         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
26238         (Include): Include <unistd.h>, not "lchown.h".
26239         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
26240         REPLACE_LCHOWN.
26241
26242 2007-06-15  Jim Meyering  <jim@meyering.net>
26243
26244         Change license (GPL to LGPL) of fsusage and dependents.
26245         * modules/fsusage (License): Change to LGPL.
26246         * modules/full-read (License): Likewise.
26247         * modules/full-write (License): Likewise.
26248         * modules/safe-read (License): Likewise.
26249         * modules/safe-write (License): Likewise.
26250
26251 2007-06-14  Ben Pfaff  <blp@gnu.org>
26252
26253         Missing part of allocsa -> malloca transition.
26254         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
26255         gl_MALLOCA.
26256
26257 2007-06-12  Bruno Haible  <bruno@clisp.org>
26258
26259         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
26260         to ia64, x86_64, i386.
26261         Reported by Eric Blake.
26262
26263 2007-06-12  Bruno Haible  <bruno@clisp.org>
26264
26265         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
26266         cross-compiling to x86_64.
26267
26268 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
26269
26270         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
26271         glitch reported by Ralf Wildenhues in
26272         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
26273
26274         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
26275         Vin Shelton.
26276
26277 2007-06-11  Bruno Haible  <bruno@clisp.org>
26278
26279         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
26280         replacement string.
26281         Reported by Eric Blake.
26282
26283 2007-06-10  Bruno Haible  <bruno@clisp.org>
26284
26285         Prepare vasnprintf code for use with Unicode strings.
26286         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
26287         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
26288         TYPE_U32_STRING.
26289         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
26290         a_u32_string variants.
26291         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
26292         * lib/printf-args.c: Don't include config.h and the specification
26293         header if PRINTF_FETCHARGS is already defined.
26294         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
26295         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
26296         TYPE_U16_STRING, TYPE_U32_STRING.
26297         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
26298         u16_directive, u16_directives, u32_directive, u32_directives): New
26299         types.
26300         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
26301         New declarations.
26302         * lib/printf-parse.c: Don't include config.h and the specification
26303         header if PRINTF_PARSE is already defined. Eliminate the set of
26304         parameters for WIDE_CHAR_VERSION; the user of this file must provide
26305         them now. Include c-ctype.h.
26306         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
26307         directive and CHAR_T_ONLY_ASCII.
26308         * lib/vasnprintf.c: Don't include config.h and the specification header
26309         if VASNPRINTF is already defined.
26310         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
26311         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
26312         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
26313         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
26314         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
26315         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
26316         code accordingly.
26317         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
26318         pad_ourselves also in this case, with the 'c' and 's' directives, and
26319         with a different notion of "width".
26320         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
26321
26322 2007-06-10  Bruno Haible  <bruno@clisp.org>
26323
26324         * modules/unistr/u32-mbsnlen: New file.
26325         * lib/unistr/u32-mbsnlen.c: New file.
26326
26327         * modules/unistr/u16-mbsnlen: New file.
26328         * lib/unistr/u16-mbsnlen.c: New file.
26329
26330         * modules/unistr/u8-mbsnlen: New file.
26331         * lib/unistr/u8-mbsnlen.c: New file.
26332
26333         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
26334         declarations.
26335
26336 2007-06-10  Bruno Haible  <bruno@clisp.org>
26337
26338         * lib/string_.h (mbsnlen): New declaration.
26339         * lib/mbsnlen.c: New file.
26340         * m4/mbsnlen.m4: New file.
26341         * modules/mbsnlen: New file.
26342         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
26343         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
26344         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
26345
26346 2007-06-10  Bruno Haible  <bruno@clisp.org>
26347
26348         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
26349
26350 2007-06-10  Bruno Haible  <bruno@clisp.org>
26351
26352         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
26353         * lib/mbuiter.h: Likewise.
26354
26355 2007-06-10  Bruno Haible  <bruno@clisp.org>
26356
26357         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
26358         declaration.
26359
26360 2007-06-10  Karl Berry  <karl@gnu.org>
26361
26362         * config/srclist.txt: remove gettext entries, Bruno prefers
26363         to update individually.
26364
26365 2007-06-10  Bruno Haible  <bruno@clisp.org>
26366
26367         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
26368         'maxlen'. Ensure only length + width bytes are allocated, not
26369         length + 1 + width.
26370
26371 2007-06-09  Bruno Haible  <bruno@clisp.org>
26372
26373         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
26374         (CHAR_T): Remove macro.
26375         (VASNPRINTF): Update.
26376
26377 2007-06-09  Bruno Haible  <bruno@clisp.org>
26378
26379         * MODULES.html.sh (Unicode string functions): Add the new modules.
26380
26381         * modules/uniconv/u32-conv-to-enc: New file.
26382         * lib/uniconv/u32-conv-to-enc.c: New file.
26383         * modules/uniconv/u32-conv-to-enc-tests: New file.
26384         * tests/uniconv/test-u32-conv-to-enc.c: New file.
26385
26386         * modules/uniconv/u16-conv-to-enc: New file.
26387         * lib/uniconv/u16-conv-to-enc.c: New file.
26388         * lib/uniconv/u-conv-to-enc.h: New file.
26389         * modules/uniconv/u16-conv-to-enc-tests: New file.
26390         * tests/uniconv/test-u16-conv-to-enc.c: New file.
26391
26392         * modules/uniconv/u8-conv-to-enc: New file.
26393         * lib/uniconv/u8-conv-to-enc.c: New file.
26394         * modules/uniconv/u8-conv-to-enc-tests: New file.
26395         * tests/uniconv/test-u8-conv-to-enc.c: New file.
26396
26397         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
26398         u32_conv_to_encoding): New declarations.
26399
26400 2007-06-09  Bruno Haible  <bruno@clisp.org>
26401
26402         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
26403
26404 2007-06-09  Bruno Haible  <bruno@clisp.org>
26405
26406         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
26407         * modules/malloca: Renamed from modules/allocsa, updated.
26408         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
26409         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
26410         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
26411         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
26412         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
26413         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
26414         * modules/xmalloca: Renamed from modules/xallocsa, updated.
26415         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
26416         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
26417         * modules/c-strcasestr (Depends-on): Update.
26418         * lib/c-strcasestr.c: Update.
26419         * modules/c-strstr (Depends-on): Update.
26420         * lib/c-strstr.c: Update.
26421         * modules/canonicalize-lgpl (Depends-on): Update.
26422         * lib/canonicalize-lgpl.c: Update.
26423         * modules/clean-temp (Depends-on): Update.
26424         * lib/clean-temp.c: Update.
26425         * modules/csharpcomp (Depends-on): Update.
26426         * lib/csharpcomp.c: Update.
26427         * modules/csharpexec (Depends-on): Update.
26428         * lib/csharpexec.c: Update.
26429         * modules/javacomp (Depends-on): Update.
26430         * lib/javacomp.c: Update.
26431         * modules/javaexec (Depends-on): Update.
26432         * lib/javaexec.c: Update.
26433         * modules/mbscasestr (Depends-on): Update.
26434         * lib/mbscasestr.c: Update.
26435         * modules/mbsstr (Depends-on): Update.
26436         * lib/mbsstr.c: Update.
26437         * modules/setenv (Depends-on): Update.
26438         * lib/setenv.c: Update.
26439         * modules/strcasestr (Depends-on): Update.
26440         * lib/strcasestr.c: Update.
26441         * modules/striconveha (Depends-on): Update.
26442         * lib/striconveha.c: Update.
26443         * modules/relocatable-prog-wrapper (Files): Update.
26444         * lib/relocwrapper.c: Update.
26445         * build-aux/install-reloc: Update.
26446         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
26447
26448 2007-06-08  Bruno Haible  <bruno@clisp.org>
26449
26450         Port to uClibc.
26451         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
26452         * lib/fpurge.c (fpurge): Likewise.
26453         * lib/freading.c (freading): Likewise.
26454         * lib/fseeko.c (rpl_fseeko): Likewise.
26455         * lib/fseterr.c (fseterr): Likewise.
26456         * lib/fwriting.c (fwriting): Likewise.
26457         * tests/test-fflush.c (main): Avoid a failure on uClibc.
26458
26459 2007-06-08  Bruno Haible  <bruno@clisp.org>
26460
26461         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
26462         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
26463         * modules/gettext (Files): Add m4/intlmacosx.m4.
26464
26465 2007-06-07  Bruno Haible  <bruno@clisp.org>
26466
26467         * modules/localename-tests: New file.
26468         * tests/test-localename.c: New file.
26469
26470         New module 'localename'.
26471         * lib/localename.h: New file.
26472         * lib/localename.c: New file, from GNU gettext.
26473         * m4/localename.m4: New file.
26474         * modules/localename: New file.
26475
26476 2007-06-07  Bruno Haible  <bruno@clisp.org>
26477
26478         Work around the lack of <wchar.h> on some builds of uClibc.
26479         * doc/headers/wchar.texi: Update.
26480         * lib/wchar_.h: Include <wchar.h> only if it exists.
26481         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
26482         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
26483         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
26484         doesn't exist.
26485         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
26486         * modules/mbfile (Depends-on): Add wchar.
26487         * modules/mbiter (Depends-on): Likewise.
26488         * modules/mbuiter (Depends-on): Likewise.
26489         Reported by Simon Josefsson.
26490
26491 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
26492
26493         Work around problem reported by Steven M. Schweda in
26494         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
26495         Tru64 5.1B with the Compaq compiler environment installed declares
26496         an 'isblank' function but does not define it in the C library.
26497         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
26498         * lib/regex_internal.h (isblank): Likewise.
26499         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
26500         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
26501
26502 2007-06-05  Bruno Haible  <bruno@clisp.org>
26503
26504         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
26505         ia64.
26506         * modules/printf-safe: New file.
26507         * modules/fprintf-posix (Depends-on): Add printf-safe.
26508         * modules/printf-posix (Depends-on): Likewise.
26509         * modules/snprintf-posix (Depends-on): Likewise.
26510         * modules/sprintf-posix (Depends-on): Likewise.
26511         * modules/vasnprintf-posix (Depends-on): Likewise.
26512         * modules/vasprintf-posix (Depends-on): Likewise.
26513         * modules/vfprintf-posix (Depends-on): Likewise.
26514         * modules/vprintf-posix (Depends-on): Likewise.
26515         * modules/vsnprintf-posix (Depends-on): Likewise.
26516         * modules/vsprintf-posix (Depends-on): Likewise.
26517         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
26518         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
26519         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
26520         "no" on i386, x86_64, ia64.
26521         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
26522         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
26523         on i386, x86_64, ia64.
26524         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
26525         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
26526         on i386, x86_64, ia64.
26527         * tests/test-vasnprintf-posix.c: Include float.h.
26528         (LDBL80_WORDS): New macro.
26529         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
26530         on i386, x86_64, ia64.
26531         * tests/test-vasprintf-posix.c: Include float.h.
26532         (LDBL80_WORDS): New macro.
26533         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
26534         on i386, x86_64, ia64.
26535         * tests/test-snprintf-posix.c: Include float.h.
26536         * tests/test-sprintf-posix.c: Likewise.
26537         * tests/test-vsnprintf-posix.c: Likewise.
26538         * tests/test-vsprintf-posix.c: Likewise.
26539
26540 2007-06-05  Bruno Haible  <bruno@clisp.org>
26541
26542         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
26543         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
26544         non-IEEE numbers on i386, x86_64, ia64.
26545         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
26546         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
26547         * tests/test-isnanl.h: Include float.h.
26548         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
26549
26550 2007-06-05  Bruno Haible  <bruno@clisp.org>
26551
26552         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
26553         also the %a / %A. Handle the %a / %A code before this extra handling.
26554
26555 2007-06-05  Bruno Haible  <bruno@clisp.org>
26556
26557         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
26558         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
26559
26560 2007-06-05  Bruno Haible  <bruno@clisp.org>
26561
26562         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
26563         typo in variable name.
26564
26565 2007-06-05  Eric Blake  <ebb9@byu.net>
26566
26567         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
26568         Reported by Simon Josefsson.
26569
26570 2007-06-04  Bruno Haible  <bruno@clisp.org>
26571
26572         Avoid test failures on some PowerPC platforms.
26573         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
26574         Define differently for PowerPC.
26575         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
26576         Reported by Gary V. Vaughan <gary@gnu.org>.
26577
26578 2007-06-02  Bruno Haible  <bruno@clisp.org>
26579
26580         Fix test-stdint failure on FreeBSD/ia64.
26581         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
26582         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
26583         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
26584         * doc/headers/stdint.texi: Update.
26585
26586 2007-06-01  Bruno Haible  <bruno@clisp.org>
26587
26588         * tests/test-binary-io.c (main): Pass a third argument to open().
26589         Reported by Gary V. Vaughan <gary@gnu.org>.
26590
26591 2007-06-01  Bruno Haible  <bruno@clisp.org>
26592
26593         * doc/functions/frexpl.texi: Update for mingw.
26594
26595 2007-06-01  Bruno Haible  <bruno@clisp.org>
26596
26597         * tests/test-lseek.c (main): Disable test of errno for invalid third
26598         argument.
26599         * doc/functions/lseek.texi: Update.
26600         Reported by Gary V. Vaughan <gary@gnu.org>.
26601
26602 2007-05-28  Bruno Haible  <bruno@clisp.org>
26603
26604         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
26605
26606 2007-05-31  Eric Blake  <ebb9@byu.net>
26607
26608         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
26609         cross compiling.
26610
26611 2007-05-30  Eric Blake  <ebb9@byu.net>
26612         and Bruno Haible  <bruno@clisp.org>
26613
26614         Work around mingw test failures exposed by m4-1.4.9b.
26615         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
26616         * tests/test-unistd.c: Disable uid_t and git_t tests for the
26617         moment.
26618
26619 2007-05-30  Bruno Haible  <bruno@clisp.org>
26620
26621         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
26622         assuming that they are closed. Needed on HP-UX 11.
26623
26624 2007-05-29  Bruno Haible  <bruno@clisp.org>
26625
26626         Fix a problem with #include_next.
26627         * lib/dirent_.h: Split the double-inclusion guard.
26628         * lib/fcntl_.h: Likewise.
26629         * lib/float_.h: Likewise.
26630         * lib/iconv_.h: Likewise.
26631         * lib/inttypes_.h: Likewise.
26632         * lib/locale_.h: Likewise.
26633         * lib/math_.h: Likewise.
26634         * lib/netinet_in_.h: Likewise.
26635         * lib/search_.h: Likewise.
26636         * lib/signal_.h: Likewise.
26637         * lib/stdint_.h: Likewise.
26638         * lib/stdio_.h: Likewise.
26639         * lib/stdlib_.h: Likewise.
26640         * lib/string_.h: Likewise.
26641         * lib/sys_select_.h: Likewise.
26642         * lib/sys_socket_.h: Likewise.
26643         * lib/sys_stat_.h: Likewise.
26644         * lib/sys_time_.h: Likewise.
26645         * lib/sysexits_.h: Likewise.
26646         * lib/time_.h: Likewise.
26647         * lib/unistd_.h: Likewise.
26648         * lib/wchar_.h: Likewise.
26649         * lib/wctype_.h: Likewise.
26650
26651 2007-05-29  Bruno Haible  <bruno@clisp.org>
26652
26653         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
26654         for the moment.
26655
26656 2007-05-29  Bruno Haible  <bruno@clisp.org>
26657
26658         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
26659         invocation.
26660         Reported by Eric Blake.
26661
26662 2007-05-29  Bruno Haible  <bruno@clisp.org>
26663
26664         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
26665         compiling case.
26666
26667 2007-05-29  Eric Blake  <ebb9@byu.net>
26668             Bruno Haible  <bruno@clisp.org>
26669
26670         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
26671         cross compiles.
26672
26673 2007-05-28  Eric Blake  <ebb9@byu.net>
26674
26675         * modules/closein-tests (test_closein_LDADD): Support test on
26676         cygwin with libtool.
26677
26678 2007-05-28  Bruno Haible  <bruno@clisp.org>
26679
26680         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
26681         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
26682         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
26683         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
26684         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
26685         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
26686         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
26687         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
26688         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
26689
26690 2007-05-28  Eric Blake  <ebb9@byu.net>
26691
26692         Unconditionally include <config.h> in unit tests.
26693         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
26694         * tests/test-allocsa.c, tests/test-arcfour.c,
26695         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
26696         tests/test-array_list.c, tests/test-array_oset.c,
26697         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
26698         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
26699         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
26700         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
26701         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
26702         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
26703         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
26704         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
26705         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
26706         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
26707         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
26708         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
26709         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
26710         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
26711         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
26712         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
26713         test-md5.c, test-memmem.c, test-printf-posix.c,
26714         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
26715         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
26716         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
26717         test-strcasestr.c, test-striconv.c, test-striconveh.c,
26718         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
26719         test-vasnprintf-posix2.c, test-vasnprintf.c,
26720         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
26721         test-vfprintf-posix.c, test-vprintf-posix.c,
26722         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
26723         test-xvasprintf.c: Likewise.
26724
26725 2007-05-28  Bruno Haible  <bruno@clisp.org>
26726
26727         * gnulib-tool (func_import): Remember the --with-tests command-line
26728         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
26729         Reported by Eric Blake.
26730
26731 2007-05-28  Bruno Haible  <bruno@clisp.org>
26732
26733         * modules/ftell-tests: New file.
26734         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
26735         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
26736
26737         * lib/ftell.c: New file.
26738         * modules/ftell: New file.
26739         * m4/ftell.m4: New file.
26740         * doc/functions/ftell.texi: Update.
26741         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
26742         REPLACE_FTELL.
26743         * lib/stdio_.h (rpl_ftell): New declaration.
26744         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
26745         REPLACE_FTELL.
26746
26747 2007-05-28  Eric Blake  <ebb9@byu.net>
26748
26749         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
26750
26751 2007-05-28  Bruno Haible  <bruno@clisp.org>
26752
26753         * modules/fseek-tests: New file.
26754         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
26755         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
26756
26757         * lib/fseek.c: New file.
26758         * modules/fseek: New file.
26759         * m4/fseek.m4: New file.
26760         * doc/functions/fseek.texi: Update.
26761         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
26762         REPLACE_FSEEK.
26763         * lib/stdio_.h (rpl_fseek): New declaration.
26764         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
26765         REPLACE_FSEEK.
26766
26767 2007-05-28  Bruno Haible  <bruno@clisp.org>
26768
26769         * lib/stdio_.h (fflush): More comments.
26770
26771 2007-05-28  Bruno Haible  <bruno@clisp.org>
26772
26773         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
26774         runtime test.
26775
26776 2007-05-28  Eric Blake  <ebb9@byu.net>
26777
26778         Improve lseek module.
26779         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
26780         * lib/unistd_.h (lseek): Scale back link warning message.
26781         * tests/test-lseek.c: Beef up test.
26782         * tests/test-lseek.sh: Exercise more facets of lseek.
26783         Reported by Bruno Haible.
26784
26785 2007-05-28  Bruno Haible  <bruno@clisp.org>
26786
26787         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
26788         to define.
26789
26790 2007-05-27  Bruno Haible  <bruno@clisp.org>
26791
26792         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
26793
26794 2007-05-27  Bruno Haible  <bruno@clisp.org>
26795
26796         * modules/openmp: New file.
26797         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
26798         Noah Misch.
26799
26800 2007-05-26  Bruno Haible  <bruno@clisp.org>
26801
26802         * modules/chdir-long (Depends-on): Add fchdir.
26803         * modules/chdir-safer (Depends-on): Likewise.
26804         * modules/fts (Depends-on): Likewise.
26805         * modules/fts-lgpl (Depends-on): Likewise.
26806         * modules/openat (Depends-on): Likewise.
26807         * modules/savewd (Depends-on): Likewise.
26808
26809 2007-05-24  Eric Blake  <ebb9@byu.net>
26810
26811         Fix lseek on mingw.
26812         * modules/lseek: New module.
26813         * m4/lseek.m4: New file.
26814         * lib/lseek.c: New file.
26815         * modules/lseek-tests: New file.
26816         * tests/test-lseek.c: New file.
26817         * tests/test-lseek.sh: New file.
26818         * MODULES.html.sh: Document lseek module.
26819         * modules/fflush (Depends-on): Add lseek, fseeko.
26820         * modules/fseeko (Depends-on): Likewise.
26821         * modules/ftello (Depends-on): Likewise.
26822         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
26823         broken.
26824         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
26825         broken.
26826         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
26827         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
26828         * lib/ftello.c (rpl_ftello): Likewise.
26829         * tests/test-fseeko.c (main): Test this.
26830         * tests/test-fseeko.sh: Likewise.
26831         * tests/test-ftello.c (main): Likewise.
26832         * tests/test-ftello.sh: Likewise.
26833         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
26834         implies replacing fseek.
26835         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
26836         HAVE_FTELLO.
26837         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
26838         * modules/unistd (Makefile.am): Likewise.
26839         * lib/unistd_.h (lseek): Declare a replacement.
26840         * doc/functions/lseek.texi (lseek): Document this fix.
26841         * doc/functions/fseek.texi (fseek): Likewise.
26842         * doc/functions/ftell.texi (ftell): Likewise.
26843
26844 2007-05-24  Bruno Haible  <bruno@clisp.org>
26845
26846         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
26847         in the printed representation of a NaN.
26848         * tests/test-vasprintf-posix.c (test_function): Likewise.
26849         * tests/test-snprintf-posix.h (test_function): Likewise.
26850         * tests/test-sprintf-posix.h (test_function): Likewise.
26851         Reported by Eric Blake.
26852
26853 2007-05-23  Eric Blake  <ebb9@byu.net>
26854
26855         Fix fseeko/ftello on cygwin 1.5.24.
26856         * doc/functions/fseeko.texi (fseeko): Document the fix.
26857         * doc/functions/ftello.texi (ftello): Document the fix.
26858         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
26859         * doc/functions/stdout.text (stdout): New file.
26860         * doc/functions/stderr.text (stderr): New file.
26861         * doc/gnulib.texi (Function Substitutes): Use new files.
26862         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
26863         prior to 1.7.0.
26864         * tests/test-ftello.c (main): Likewise for ftello.
26865         * tests/test-fseeko.sh: New file.
26866         * tests/test-ftello.sh: New file.
26867         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
26868         with seekable stdin.
26869         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
26870         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
26871         (gl_REPLACE_FSEEKO): New macro.
26872         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
26873         * modules/fseeko (Files): Distribute fseeko.c.
26874         * modules/ftello (Files): Distribute ftello.c.
26875         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
26876         mode.
26877         * lib/ftello.c (rpl_ftello): New file.
26878         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
26879         fseeko, ftello.
26880         (gl_STDIN_LARGE_OFFSET): New macro.
26881         * modules/stdio (Makefile.am): Perform the replacement.
26882         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
26883
26884 2007-05-23  Bruno Haible  <bruno@clisp.org>
26885
26886         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
26887         GNULIB_POSIXCHECK is defined.
26888
26889 2007-05-21  Bruno Haible  <bruno@clisp.org>
26890
26891         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
26892         Check also the output for NaN arguments. When cross-compiling, guess
26893         no on IRIX.
26894         * lib/vasnprintf.c: Update comments.
26895         * tests/test-vasnprintf-posix.c (strisnan): New function.
26896         (test_function): Use it.
26897         * tests/test-vasprintf-posix.c (strisnan): New function.
26898         (test_function): Use it.
26899         * tests/test-snprintf-posix.h (strisnan): New function.
26900         (test_function): Use it.
26901         * tests/test-sprintf-posix.h (strisnan): New function.
26902         (test_function): Use it.
26903         Reported by Eric Blake.
26904
26905 2007-05-20  Bruno Haible  <bruno@clisp.org>
26906
26907         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
26908         numbers that fails on BeOS.
26909         * doc/functions/frexpl.texi: Update.
26910
26911 2007-05-20  Jim Meyering  <jim@meyering.net>
26912
26913         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
26914         forced upon us by glibc-2.6.
26915
26916 2007-05-20  Bruno Haible  <bruno@clisp.org>
26917
26918         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
26919         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
26920         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
26921         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
26922         NEED_PRINTF_INFINITE.
26923         (is_infinitel): New function.
26924         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
26925         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
26926         gl_PREREQ_VASNPRINTF_INFINITE.
26927         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
26928         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
26929         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
26930         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
26931         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
26932         gl_PREREQ_VASNPRINTF_INFINITE.
26933         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
26934         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
26935         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
26936         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
26937         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
26938         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
26939         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
26940         * doc/functions/fprintf.texi: Update.
26941         * doc/functions/printf.texi: Update.
26942         * doc/functions/snprintf.texi: Update.
26943         * doc/functions/sprintf.texi: Update.
26944         * doc/functions/vfprintf.texi: Update.
26945         * doc/functions/vprintf.texi: Update.
26946         * doc/functions/vsnprintf.texi: Update.
26947         * doc/functions/vsprintf.texi: Update.
26948
26949 2007-05-20  Bruno Haible  <bruno@clisp.org>
26950
26951         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
26952         was not found in libc.
26953         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
26954
26955 2007-05-20  Bruno Haible  <bruno@clisp.org>
26956
26957         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
26958         printed as "-nan" instead of "nan".
26959         * tests/test-vasprintf-posix.c (test_function): Likewise.
26960         * tests/test-snprintf-posix.h (test_function): Likewise.
26961         * tests/test-sprintf-posix.h (test_function): Likewise.
26962         Needed for HP-UX 11.
26963
26964 2007-05-20  Jim Meyering  <jim@meyering.net>
26965
26966         Fix buggy test for the fchownat-deref bug.
26967         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
26968         symlink required for the run-test.  Without it, this test would
26969         always declare that fchownat doesn't work, and client code would
26970         unnecessarily use the replacement function with fixed libc.
26971         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
26972         Reported by Greg Schafer.
26973
26974 2007-05-19  Bruno Haible  <bruno@clisp.org>
26975
26976         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
26977         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
26978         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
26979         Needed for IRIX 6.5 and Solaris 2.5.1.
26980
26981 2007-05-19  Bruno Haible  <bruno@clisp.org>
26982
26983         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
26984         (test_function): Skip tests involving -0.0 on platforms where
26985         -0.0 = 0.0.
26986         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
26987         (test_function): Skip tests involving -0.0 on platforms where
26988         -0.0 = 0.0.
26989         * tests/test-snprintf-posix.h (have_minus_zero): New function.
26990         (test_function): Skip tests involving -0.0 on platforms where
26991         -0.0 = 0.0.
26992         * tests/test-sprintf-posix.h (have_minus_zero): New function.
26993         (test_function): Skip tests involving -0.0 on platforms where
26994         -0.0 = 0.0.
26995         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
26996         tests.
26997         * tests/test-printf-posix.h (test_function): Likewise.
26998         * tests/test-printf-posix.output: Remove all -0.0 related results.
26999         Needed for IRIX 6.5.
27000
27001 2007-05-19  Bruno Haible  <bruno@clisp.org>
27002
27003         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
27004         printed as "nan0x7fffffff" instead of "nan".
27005         * tests/test-vasprintf-posix.c (test_function): Likewise.
27006         * tests/test-snprintf-posix.h (test_function): Likewise.
27007         * tests/test-sprintf-posix.h (test_function): Likewise.
27008         * tests/test-fprintf-posix.h (NaN): Remove macro.
27009         (test_function): Remove all NaN related tests.
27010         * tests/test-printf-posix.h (NaN): Remove macro.
27011         (test_function): Remove all NaN related tests.
27012         * tests/test-printf-posix.output: Remove all NaN related results.
27013         Needed for IRIX 6.5.
27014
27015 2007-05-19  Bruno Haible  <bruno@clisp.org>
27016
27017         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
27018         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27019
27020 2007-05-19  Bruno Haible  <bruno@clisp.org>
27021
27022         * lib/float_.h: New file.
27023         * m4/float_h.m4: New file.
27024         * modules/float: New file.
27025         * modules/isnanl (Dependencies): Add float.
27026         * modules/isnanl-nolibm (Dependencies): Likewise.
27027         * modules/mathl (Dependencies): Likewise.
27028         * modules/printf-frexpl (Dependencies): Likewise.
27029         * modules/signbit (Dependencies): Likewise.
27030         * modules/vasnprintf (Dependencies): Likewise.
27031         * doc/headers/float.texi: Update.
27032
27033 2007-05-19  Jim Meyering  <jim@meyering.net>
27034
27035         * lib/utimens.c (gl_futimens): Rename from futimens,
27036         now that glibc-2.6 declares futimens.
27037         * lib/utimens.h: Likewise.
27038
27039 2007-05-19  Bruno Haible  <bruno@clisp.org>
27040
27041         Avoid test failures on mingw.
27042         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
27043         * tests/test-printf-posix.sh: Likewise.
27044         * tests/test-vfprintf-posix.sh: Likewise.
27045         * tests/test-vprintf-posix.sh: Likewise.
27046
27047 2007-05-19  Bruno Haible  <bruno@clisp.org>
27048
27049         Fix *printf result for NaN, Inf, -0.0 on mingw.
27050         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
27051         * lib/vasnprintf.c: Include math.h and isnan.h.
27052         (is_infinite_or_zero): New function.
27053         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
27054         values in the %f, %F, %e, %E, %g, %G directives.
27055         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
27056         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27057         gl_PRINTF_INFINITE and test its result. Invoke
27058         gl_PREREQ_VASNPRINTF_INFINITE.
27059         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27060         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27061         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27062         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27063         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27064         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27065         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27066         * doc/functions/fprintf.texi: Update.
27067         * doc/functions/printf.texi: Update.
27068         * doc/functions/snprintf.texi: Update.
27069         * doc/functions/sprintf.texi: Update.
27070         * doc/functions/vfprintf.texi: Update.
27071         * doc/functions/vprintf.texi: Update.
27072         * doc/functions/vsnprintf.texi: Update.
27073         * doc/functions/vsprintf.texi: Update.
27074
27075 2007-05-19  Bruno Haible  <bruno@clisp.org>
27076
27077         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
27078         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
27079         Instead of multiplying with 10^k, set extra_zeroes to k.
27080         (scale10_round_long_double): Remove function.
27081
27082 2007-05-18  Bruno Haible  <bruno@clisp.org>
27083
27084         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
27085         introduced on 2007-05-06.
27086
27087 2007-05-18  Bruno Haible  <bruno@clisp.org>
27088
27089         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
27090         %g directives.
27091         * tests/test-vasprintf-posix.c (test_function): Likewise.
27092         * tests/test-snprintf-posix.h (test_function): Likewise.
27093         * tests/test-sprintf-posix.h (test_function): Likewise.
27094
27095 2007-05-18  Bruno Haible  <bruno@clisp.org>
27096
27097         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
27098         (strmatch): New function.
27099         (test_function): Test the %f directive on numbers of various exponents.
27100         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
27101         (strmatch): New function.
27102         (test_function): Test the %f directive on numbers of various exponents.
27103         * tests/test-snprintf-posix.h (strmatch): New function.
27104         (test_function): Test the %f directive on numbers of various exponents.
27105         * tests/test-sprintf-posix.h (strmatch): New function.
27106         (test_function): Test the %f directive on numbers of various exponents.
27107         * tests/test-snprintf-posix.c (SIZEOF): New macro.
27108         * tests/test-sprintf-posix.c (SIZEOF): New macro.
27109         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
27110         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
27111
27112 2007-05-18  Bruno Haible  <bruno@clisp.org>
27113
27114         Add support for 'long double' number output.
27115         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
27116         * lib/vasnprintf.c: Include math.h and float+.h.
27117         (mp_limb_t): New type.
27118         (GMP_LIMB_BITS): New macro.
27119         (mp_twolimb_t): New type.
27120         (GMP_TWOLIMB_BITS): New macro.
27121         (mpn_t): New type.
27122         (multiply, divide, convert_to_decimal, decode_long_double,
27123         scale10_round_long_double, scale10_round_decimal_long_double,
27124         floorlog10l): New functions.
27125         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
27126         for the %f, %F, %e, %E, %g, %G directives.
27127         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
27128         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27129         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
27130         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
27131         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
27132         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27133         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27134         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27135         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27136         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27137         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27138         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
27139         * modules/snprintf-posix (Depends-on): Likewise.
27140         * modules/sprintf-posix (Depends-on): Likewise.
27141         * modules/vasnprintf-posix (Depends-on): Likewise.
27142         * modules/vasprintf-posix (Depends-on): Likewise.
27143         * modules/vfprintf-posix (Depends-on): Likewise.
27144         * modules/vsnprintf-posix (Depends-on): Likewise.
27145         * modules/vsprintf-posix (Depends-on): Likewise.
27146         * modules/vasnprintf (Files): Add lib/float+.h.
27147         * doc/functions/fprintf.texi: Update.
27148         * doc/functions/printf.texi: Update.
27149         * doc/functions/snprintf.texi: Update.
27150         * doc/functions/sprintf.texi: Update.
27151         * doc/functions/vfprintf.texi: Update.
27152         * doc/functions/vprintf.texi: Update.
27153         * doc/functions/vsnprintf.texi: Update.
27154         * doc/functions/vsprintf.texi: Update.
27155
27156 2007-05-18  Bruno Haible  <bruno@clisp.org>
27157
27158         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
27159
27160 2007-05-18  Bruno Haible  <bruno@clisp.org>
27161
27162         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
27163         for printing 64-bit integers. Needed for mingw.
27164
27165 2007-05-18  Bruno Haible  <bruno@clisp.org>
27166
27167         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
27168         gl_FUNC_FREXPL_WORKS.
27169         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
27170
27171 2007-05-18  Bruno Haible  <bruno@clisp.org>
27172
27173         * modules/frexpl-nolibm-tests: New file.
27174
27175         * modules/frexpl-nolibm: New file.
27176         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
27177
27178 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
27179
27180         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
27181         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
27182         GCC 4.2, which otherwise issues a lot of warnings.
27183         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
27184         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
27185         Likewise.
27186         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
27187         * modules/iconv_open (iconv.h): Likewise.
27188         * modules/locale (locale.h): Likewise.
27189         * modules/netinet_in (netinet/in.h): Likewise.
27190         * modules/sys_select (sys_select.h): Likewise.
27191         * modules/sys_socket (sys/socket.h): Likewise.
27192         * modules/sys_stat (sys/stat.h): Likewise.
27193         * modules/sysexits (sysexits.h): Likewise.
27194         * modules/unistd (unistd.h): Likewise.
27195
27196 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27197
27198         * modules/closein-tests (Makefile.am): Distribute
27199         `test-closein.sh'.
27200
27201 2007-05-17  Bruno Haible  <bruno@clisp.org>
27202
27203         * tests/test-printf-posix.output: Renamed from
27204         tests/test-fprintf-posix.out.
27205         * modules/fprintf-posix-tests: Update.
27206         * modules/printf-posix-tests: Update.
27207         * modules/vfprintf-posix-tests: Update.
27208         * modules/vprintf-posix-tests: Update.
27209         * tests/test-fprintf-posix.sh: Update.
27210         * tests/test-printf-posix.sh: Update.
27211         * tests/test-vfprintf-posix.sh: Update.
27212         * tests/test-vprintf-posix.sh: Update.
27213         Reported by Ralf Wildenhues.
27214
27215 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
27216
27217         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
27218         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
27219         GCC 4.2, which otherwise issues a lot of warnings.
27220         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
27221         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
27222         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
27223         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
27224         it should no longer be needed.
27225         * lib/string_.h: Likewise.
27226         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
27227         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
27228         * modules/inttypes (inttypes.h): Likewise.
27229         * modules/math (math.h): Likewise.
27230         * modules/search (search.h): Likewise.
27231         * modules/signal (signal.h): Likewise.
27232         * modules/stdint (stdint.h): Likewise.
27233         * modules/stdio (stdio.h): Likewise.
27234         * modules/stdlib (stdlib.h): Likewise.
27235         * modules/string (string.h): Likewise.
27236         * modules/sys_time (sys/time.h): Likewise.
27237         * modules/time (time.h): Likewise.
27238         * modules/wchar (wchar.h): Likewise.
27239         * modules/wctype (wtype.h): Likewise.
27240
27241 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
27242
27243         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
27244
27245 2007-05-13  Bruno Haible  <bruno@clisp.org>
27246
27247         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
27248         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27249         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
27250         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
27251         (gl_PREREQ_STRTOK_R): Don't require it here.
27252
27253 2007-05-13  Bruno Haible  <bruno@clisp.org>
27254
27255         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
27256         when used in C++ mode.
27257
27258 2007-05-12  Bruno Haible  <bruno@clisp.org>
27259
27260         * lib/linebuffer.h: Tweak doc.
27261         * lib/linebuffer.c: Likewise.
27262
27263 2007-05-12  James Youngman  <jay@gnu.org>
27264
27265         * lib/linebuffer.c (readlinebuffer_delim): New function,
27266         like readlinebuffer, but use a caller-specified delimiter.
27267         (readlinebuffer): Just call readlinebuffer_delim with '\n'
27268         as the delimiter.
27269         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
27270
27271 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
27272
27273         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
27274         * modules/openat (Files): Remove openat-die.c.
27275         (Depends-on): Add openat-die.
27276         * modules/openat-die: New module.
27277
27278 2007-05-06  Bruno Haible  <bruno@clisp.org>
27279
27280         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
27281         Update with info about Cygwin.
27282         * doc/functions/fprintf.texi: Update.
27283         * doc/functions/printf.texi: Update.
27284         * doc/functions/snprintf.texi: Update.
27285         * doc/functions/sprintf.texi: Update.
27286         * doc/functions/vfprintf.texi: Update.
27287         * doc/functions/vprintf.texi: Update.
27288         * doc/functions/vsnprintf.texi: Update.
27289         * doc/functions/vsprintf.texi: Update.
27290         Reported by Eric Blake.
27291
27292 2007-05-06  Bruno Haible  <bruno@clisp.org>
27293
27294         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
27295         padding ourselves for the floating-point directives.
27296         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
27297         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
27298         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27299         gl_PRINTF_FLAG_ZERO and test its result. Invoke
27300         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
27301         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27302         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
27303         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27304         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27305         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27306         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27307         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27308         * tests/test-snprintf-posix.h (test_function): Also check the width
27309         and some flags in the %f directive.
27310         * tests/test-sprintf-posix.h (test_function): Likewise.
27311         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27312         * tests/test-vasprintf-posix.c (test_function): Likewise.
27313         * doc/functions/fprintf.texi: Update.
27314         * doc/functions/printf.texi: Update.
27315         * doc/functions/snprintf.texi: Update.
27316         * doc/functions/sprintf.texi: Update.
27317         * doc/functions/vfprintf.texi: Update.
27318         * doc/functions/vprintf.texi: Update.
27319         * doc/functions/vsnprintf.texi: Update.
27320         * doc/functions/vsprintf.texi: Update.
27321
27322 2007-05-06  Bruno Haible  <bruno@clisp.org>
27323
27324         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
27325         pass the ' flag character to sprintf or snprintf.
27326         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
27327         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
27328         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27329         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
27330         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
27331         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
27332         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
27333         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
27334         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
27335         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
27336         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27337         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
27338         * tests/test-snprintf-posix.h (test_function): Also check the grouping
27339         flag.
27340         * tests/test-sprintf-posix.h (test_function): Likewise.
27341         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27342         * tests/test-vasprintf-posix.c (test_function): Likewise.
27343         * doc/functions/fprintf.texi: Update.
27344         * doc/functions/printf.texi: Update.
27345         * doc/functions/snprintf.texi: Update.
27346         * doc/functions/sprintf.texi: Update.
27347         * doc/functions/vfprintf.texi: Update.
27348         * doc/functions/vprintf.texi: Update.
27349         * doc/functions/vsnprintf.texi: Update.
27350         * doc/functions/vsprintf.texi: Update.
27351
27352 2007-05-01  Bruno Haible  <bruno@clisp.org>
27353
27354         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
27355
27356 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
27357
27358         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
27359         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
27360
27361 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
27362
27363         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
27364         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
27365         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
27366
27367 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
27368
27369         * lib/argp-help.c (struct hol_entry): New member `ord'.
27370         (HOL_ENTRY_PTRCMP): Use ord for comparison
27371         (hol_sort): Initialize ord.
27372
27373 2007-05-01  Bruno Haible  <bruno@clisp.org>
27374
27375         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
27376         Reported by Eric Blake.
27377         * doc/gnulib.texi (Function Substitutes): Update.
27378
27379 2007-05-01  Bruno Haible  <bruno@clisp.org>
27380
27381         * doc/functions.texi: Remove file, now redundant through
27382         doc/functions/*.texi.
27383
27384 2007-05-01  Bruno Haible  <bruno@clisp.org>
27385
27386         * modules/argp (Depends-on): Add sleep.
27387
27388 2007-05-01  Bruno Haible  <bruno@clisp.org>
27389
27390         * modules/sleep-tests: New file.
27391         * tests/test-sleep.c: New file.
27392
27393         * modules/sleep: New file.
27394         * lib/sleep.c: New file.
27395         * m4/sleep.m4: New file.
27396         * lib/unistd_.h (sleep): New declaration.
27397         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
27398         HAVE_SLEEP.
27399         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
27400         * doc/functions/sleep.texi: Document the sleep module.
27401
27402 2007-05-01  Bruno Haible  <bruno@clisp.org>
27403
27404         * lib/sigprocmask.h: Remove file.
27405         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
27406         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
27407         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
27408         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
27409         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
27410         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
27411         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
27412         HAVE_SIGSET_T as a shell variable.
27413         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
27414         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
27415         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
27416         (Depends-on): Add signal. Remove verify.
27417         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
27418         (Include): Mention <signal.h> instead of sigprocmask.h.
27419         * NEWS: Mention the change.
27420         * lib/fatal-signal.c: Don't include sigprocmask.h.
27421
27422 2007-05-01  Bruno Haible  <bruno@clisp.org>
27423
27424         * modules/signal: New file.
27425         * lib/signal_.h: New file.
27426         * m4/signal_h.m4: New file.
27427
27428 2007-05-01  Bruno Haible  <bruno@clisp.org>
27429
27430         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
27431         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
27432         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
27433         HAVE_WCTYPE_CTMP_BUG into wctype.h.
27434
27435 2007-05-01  Bruno Haible  <bruno@clisp.org>
27436
27437         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
27438         configure time.
27439         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
27440         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
27441         * modules/sys_stat (Makefile.am): Substitute their values into
27442         sys/stat.h.
27443
27444 2007-05-01  Bruno Haible  <bruno@clisp.org>
27445
27446         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
27447         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
27448         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
27449
27450 2007-05-01  Bruno Haible  <bruno@clisp.org>
27451
27452         * doc/header/assert.texi: Undo last change: don't mention the gnulib
27453         'assert' module here.
27454
27455 2007-05-01  Bruno Haible  <bruno@clisp.org>
27456
27457         * doc/functions/*.texi: New files.
27458         * doc/functions/google-ranking.txt: New file.
27459         * doc/gnulib.texi (Function Substitutes): New chapter.
27460         (ctime, inet_ntoa): Remove sections.
27461         * doc/ctime.texi: Remove file.
27462         * doc/inet_ntoa.texi: Remove file.
27463         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
27464         dependencies.
27465         (%.info): New rule, specifying a --reference-limit.
27466
27467 2007-05-01  Bruno Haible  <bruno@clisp.org>
27468
27469         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
27470
27471 2007-05-01  Bruno Haible  <bruno@clisp.org>
27472
27473         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
27474         the portability of 'mkdir' to mingw systems.
27475
27476 2007-05-01  Bruno Haible  <bruno@clisp.org>
27477
27478         * doc/headers/google-ranking.txt: New file.
27479
27480 2007-04-30  Eric Blake  <ebb9@byu.net>
27481
27482         Prefer fseeko to fseek.
27483         * modules/getpass (Depends-on): Add fseeko.
27484         * lib/getpass.c (getpass): Use fseeko, not fseek.
27485
27486 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
27487
27488         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
27489         assumes the sorting is stable, while most qsort implementations
27490         are not.  Use argument addresses to ensure they never compare as
27491         equal.
27492
27493         * tests/test-argp-2.sh (usage-indent test): Fix output
27494         (func_compare): Restore diff options
27495         * tests/test-argp.c: Restore #include "progname.h"
27496
27497 2007-04-29  Bruno Haible  <bruno@clisp.org>
27498
27499         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
27500         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27501         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
27502         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
27503         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
27504         (configure.ac): Define CHECK_SNPRINTF_POSIX.
27505         (TESTS, check_PROGRAMS): Add test-snprintf.
27506         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
27507         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
27508         (TESTS, check_PROGRAMS): Add test-vsnprintf.
27509         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
27510         assertions that fail on HP-UX, OSF/1, or IRIX.
27511         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
27512
27513 2007-04-29  Bruno Haible  <bruno@clisp.org>
27514
27515         * MODULES.html.sh (posix_functions): Remove 'contents'.
27516
27517 2007-04-29  Karl Berry  <karl@gnu.org>
27518
27519         * config/srclist.txt (gendocs_template_min): new entry.
27520
27521 2007-04-29  Bruno Haible  <bruno@clisp.org>
27522
27523         Work around fpurge bug on BSD systems.
27524         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
27525         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
27526         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
27527         fpurge to rpl_fpurge if the system already has this function.
27528         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
27529         the case where the system already has this function. Correct invariants
27530         on BSD systems.
27531         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
27532         BSD systems.
27533
27534 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
27535
27536         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
27537         proposed by Sven Verdoolaege.
27538
27539         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
27540         options.
27541         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
27542         (usage and help tests): Update
27543
27544 2007-04-29  Bruno Haible  <bruno@clisp.org>
27545
27546         * tests/test-fflush.c (main): Use a file of size 17, not 10.
27547         Print more information in case of failure. Disable a test on BeOS.
27548
27549 2007-04-29  Bruno Haible  <bruno@clisp.org>
27550
27551         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
27552         This helps debugging on systems on which no gdb is available.
27553
27554 2007-04-29  Bruno Haible  <bruno@clisp.org>
27555
27556         * lib/freading.h: Improve comments.
27557         * lib/fwriting.h: Likewise.
27558         * tests/test-freading.c (main): Don't check freading immediately after
27559         repositioning. Needed for glibc.
27560
27561 2007-04-29  Bruno Haible  <bruno@clisp.org>
27562
27563         * lib/freading.c (freading): Trivial simplification.
27564
27565 2007-04-28  Bruno Haible  <bruno@clisp.org>
27566
27567         * tests/test-fwriting.c (main): Also test the interaction between
27568         fflush and fwriting.
27569         * modules/fwriting-tests (Depends-on): Add fflush.
27570
27571         * tests/test-freading.c (main): Also test the interaction between
27572         fflush and freading.
27573         * modules/freading-tests (Depends-on): Add fflush.
27574
27575 2007-04-28  Bruno Haible  <bruno@clisp.org>
27576
27577         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
27578         fseeko and ftello.
27579         Suggested by Eric Blake.
27580
27581 2007-04-28  Jim Meyering  <jim@meyering.net>
27582
27583         Avoid false-negative in gl_STDINT_H's C99 conformance test.
27584         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
27585         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
27586
27587 2007-04-27  Eric Blake  <ebb9@byu.net>
27588
27589         * doc/headers/assert.texi (assert.h): Document assert module use.
27590
27591 2007-04-27  Bruno Haible  <bruno@clisp.org>
27592
27593         * doc/headers/*.texi: New files.
27594         * doc/gnulib.texi (Header File Substitutes): New chapter.
27595         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
27596         dependencies.
27597         (standards.info ,standards.html, standards.dvi): Update dependencies.
27598         (mostlyclean, clean): New targets.
27599
27600 2007-04-27  Bruno Haible  <bruno@clisp.org>
27601
27602         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
27603         * modules/sysexits (Files, Makefile.am): Update.
27604
27605         * lib/sys_socket_.h: Renamed from lib/socket_.h.
27606         * modules/sys_socket (Files, Makefile.am): Update.
27607
27608         * lib/sys_stat_.h: Renamed from lib/stat_.h.
27609         * modules/sys_stat (Files, Makefile.am): Update.
27610
27611 2007-04-27  Eric Blake  <ebb9@byu.net>
27612
27613         * lib/freading.h: Improve comments.
27614         * lib/fwriting.h: Likewise.
27615         * lib/fflush.c: Likewise.
27616
27617         Fix closein for mingw.
27618         * modules/closein-tests: Add tests for closein.
27619         * tests/test-closein.c: New file.
27620         * tests/test-closein.sh: Likewise.
27621         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
27622         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
27623
27624 2007-04-27  Bruno Haible  <bruno@clisp.org>
27625
27626         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
27627         version is < 6.
27628         * lib/math_.h [__DECC]: Likewise.
27629         * lib/stdio_.h [__DECC]: Likewise.
27630         * lib/stdlib_.h [__DECC]: Likewise.
27631         * lib/string_.h [__DECC]: Likewise.
27632         * lib/time_.h [__DECC]: Likewise.
27633         * lib/wchar_.h [__DECC]: Likewise.
27634         * lib/wctype_.h [__DECC]: Likewise.
27635
27636 2007-04-27  Bruno Haible  <bruno@clisp.org>
27637
27638         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
27639
27640 2007-04-27  Bruno Haible  <bruno@clisp.org>
27641
27642         * lib/fflush.c: Add comments.
27643         * modules/fpurge-tests (Depends-on): Add fflush.
27644         * modules/freadable-tests (Depends-on): Likewise.
27645         * modules/fwritable-tests (Depends-on): Likewise.
27646
27647 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
27648
27649         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
27650         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
27651         Report by Bruno Haible <bruno@clisp.org>.
27652
27653 2007-04-26  Eric Blake  <ebb9@byu.net>
27654
27655         Fix fflush on mingw.
27656         * modules/fflush (Depends-on): Add freading.
27657         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
27658         but unread data.
27659
27660 2007-04-26  Eric Blake  <ebb9@byu.net>
27661         and Bruno Haible  <bruno@clisp.org>
27662
27663         Implement freading and fwriting.
27664         * lib/freading.c: New file.
27665         * lib/freading.h: Likewise.
27666         * m4/freading.m4: Likewise.
27667         * modules/freading: Likewise.
27668         * modules/freading-tests: Likewise.
27669         * tests/test-freading.c: Likewise.
27670         * lib/fwriting.c: New file.
27671         * lib/fwriting.h: Likewise.
27672         * m4/fwriting.m4: Likewise.
27673         * modules/fwriting: Likewise.
27674         * modules/fwriting-tests: Likewise.
27675         * tests/test-fwriting.c: Likewise.
27676         * MODULES.html.sh (File stream based Input/Output): Mention them.
27677
27678 2007-04-26  Bruno Haible  <bruno@clisp.org>
27679
27680         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
27681         'long' when we assume it.
27682         Suggested by Eric Blake.
27683
27684 2007-04-26  Bruno Haible  <bruno@clisp.org>
27685
27686         Ensure fseeko, ftello are declared on glibc systems.
27687         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
27688         * modules/fseeko (configure.ac-early): Likewise.
27689         * modules/ftello (configure.ac-early): Likewise.
27690         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
27691         AC_FUNC_FSEEKO for this.
27692         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
27693         (gl_CHECK_FSEEKO): Remove macro.
27694
27695 2007-04-26  Bruno Haible  <bruno@clisp.org>
27696
27697         * tests/test-fflush.c (main): Also check the ftell result after
27698         fflush and fseek/fseeko.
27699         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
27700         file descriptor position cache in the stream.
27701         * lib/fseeko.c (rpl_fseeko): Likewise.
27702
27703 2007-04-26  Bruno Haible  <bruno@clisp.org>
27704
27705         * modules/fflush-tests (Depends-on): Add fseeko.
27706
27707 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
27708             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27709
27710         * lib/argz_.h: ensure error_t definition is obtained in same
27711         mechanism system argz.h would have.
27712         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
27713         argz facilities are known bad.  Err on the side of caution if
27714         cross-compiling.
27715
27716 2007-04-25  Eric Blake  <ebb9@byu.net>
27717
27718         * lib/fpurge.c (includes): Use stdlib.h for free.
27719         * tests/test-fflush.c (main): Also test fflush-fseeko.
27720
27721 2007-04-25  Bruno Haible  <bruno@clisp.org>
27722
27723         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
27724         * lib/fseeko.c: New file.
27725         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
27726         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
27727         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
27728         gl_FUNC_FSEEKO.
27729         (gl_FUNC_FSEEKO): Invoke it.
27730         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
27731         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
27732         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
27733
27734 2007-04-25  Bruno Haible  <bruno@clisp.org>
27735
27736         * modules/fflush (Depends-on): Add ftello.
27737
27738 2007-04-25  Bruno Haible  <bruno@clisp.org>
27739
27740         * modules/ftello-tests: New file.
27741         * tests/test-ftello.c: New file.
27742
27743         * modules/ftello: New file.
27744         * m4/ftello.m4: New file.
27745         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
27746         HAVE_FTELLO.
27747         * lib/stdio_.h (ftello): New declaration.
27748         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
27749         HAVE_FTELLO.
27750
27751 2007-04-25  Bruno Haible  <bruno@clisp.org>
27752
27753         * modules/fseeko-tests: New file.
27754         * tests/test-fseeko.c: New file.
27755
27756         * modules/fseeko: New file.
27757         * m4/fseeko.m4: New file.
27758         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
27759         HAVE_FSEEKO.
27760         * lib/stdio_.h (fseeko): New declaration.
27761         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
27762         HAVE_FSEEKO.
27763
27764 2007-04-25  Bruno Haible  <bruno@clisp.org>
27765
27766         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
27767
27768 2007-04-25  Bruno Haible  <bruno@clisp.org>
27769
27770         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
27771         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
27772         * tests/test-unistd.c: Likewise.
27773         * tests/test-fcntl.c: Likewise.
27774
27775 2007-04-23  Eric Blake  <ebb9@byu.net>
27776
27777         * lib/fflush.c: Fix missing include.
27778         Reported by Bruno Haible.
27779
27780 2007-04-23  Bruno Haible  <bruno@clisp.org>
27781
27782         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
27783         Reported by Eric Blake.
27784
27785 2007-04-23  Bruno Haible  <bruno@clisp.org>
27786
27787         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
27788
27789 2007-04-23  Bruno Haible  <bruno@clisp.org>
27790
27791         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
27792
27793 2007-04-23  Bruno Haible  <bruno@clisp.org>
27794
27795         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
27796         Needed on HP-UX 11.
27797
27798 2007-04-16  Eric Blake  <ebb9@byu.net>
27799
27800         Make fflush rely on fpurge.
27801         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
27802         open coding all variants.
27803         * modules/fflush (Depends-on): Add fpurge and unistd.
27804         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
27805         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
27806
27807         Fix --with-tests compilation on cygwin.
27808         * modules/argmatch-tests (Makefile.am): List gnulib library first
27809         in LDADD.
27810         * modules/argp-tests (Makefile.am): Likewise.
27811         * modules/array-list-tests (Makefile.am): Likewise.
27812         * modules/array-oset-tests (Makefile.am): Likewise.
27813         * modules/avltree-list-tests (Makefile.am): Likewise.
27814         * modules/avltree-oset-tests (Makefile.am): Likewise.
27815         * modules/avltreehash-list-tests (Makefile.am): Likewise.
27816         * modules/carray-list-tests (Makefile.am): Likewise.
27817         * modules/dirname-tests (Makefile.am): Likewise.
27818         * modules/frexp-tests (Makefile.am): Likewise.
27819         * modules/isnanl-tests (Makefile.am): Likewise.
27820         * modules/linked-list-tests (Makefile.am): Likewise.
27821         * modules/linkedhash-list-tests (Makefile.am): Likewise.
27822         * modules/lock-tests (Makefile.am): Likewise.
27823         * modules/rbtree-list-tests (Makefile.am): Likewise.
27824         * modules/rbtree-oset-tests (Makefile.am): Likewise.
27825         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
27826         * modules/tls-tests (Makefile.am): Likewise.
27827         * modules/tsearch-tests (Makefile.am): Likewise.
27828         * modules/xvasprintf-tests (Makefile.am): Likewise.
27829
27830         Fix fpurge for cygwin.
27831         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
27832         value.
27833         * modules/fpurge-tests (Depends-on): Clean up trash.
27834
27835 2007-04-16  Simon Josefsson  <simon@josefsson.org>
27836
27837         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
27838
27839         * m4/autobuild.m4: Re-indent.
27840
27841 2007-04-13  Bruno Haible  <bruno@clisp.org>
27842
27843         * modules/fpurge-tests: New file.
27844         * tests/test-fpurge.c: New file.
27845
27846         * modules/fpurge: New file.
27847         * lib/fpurge.h: New file.
27848         * lib/fpurge.c: New file.
27849         * m4/fpurge.m4: New file.
27850
27851 2007-04-13  Bruno Haible  <bruno@clisp.org>
27852
27853         * modules/fbufmode-tests: New file.
27854         * tests/test-fbufmode.c: New file.
27855
27856         * modules/fbufmode: New file.
27857         * lib/fbufmode.h: New file.
27858         * lib/fbufmode.c: New file.
27859         * m4/fbufmode.m4: New file.
27860
27861 2007-04-13  Bruno Haible  <bruno@clisp.org>
27862
27863         * modules/fwritable-tests: New file.
27864         * tests/test-fwritable.c: New file.
27865
27866         * modules/fwritable: New file.
27867         * lib/fwritable.h: New file.
27868         * lib/fwritable.c: New file.
27869         * m4/fwritable.m4: New file.
27870
27871 2007-04-13  Bruno Haible  <bruno@clisp.org>
27872
27873         * modules/freadable-tests: New file.
27874         * tests/test-freadable.c: New file.
27875
27876         * modules/freadable: New file.
27877         * lib/freadable.h: New file.
27878         * lib/freadable.c: New file.
27879         * m4/freadable.m4: New file.
27880
27881 2007-04-13  Bruno Haible  <bruno@clisp.org>
27882
27883         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
27884         MOSTLYCLEANFILES.
27885
27886 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
27887
27888         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
27889         gzip bootstrap.conf to avoid dragging in i18n machinery.
27890         (gnulib_tool_option): Use it.
27891
27892 2007-04-13  Bruno Haible  <bruno@clisp.org>
27893
27894         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
27895         %F directives.
27896         * tests/test-vasprintf-posix.c (test_function): Likewise.
27897         * tests/test-snprintf-posix.h (test_function): Likewise.
27898         * tests/test-sprintf-posix.h (test_function): Likewise.
27899         * tests/test-fprintf-posix.h (test_function): Likewise.
27900         * tests/test-printf-posix.h (test_function): Likewise.
27901         * tests/test-fprintf-posix.out: Likewise.
27902
27903 2007-04-13  Bruno Haible  <bruno@clisp.org>
27904
27905         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
27906         * modules/tls-tests (configure.ac): Likewise.
27907         Reported by Arto C. Nirkko <anirkko@insel.ch>.
27908
27909 2007-04-13  Bruno Haible  <bruno@clisp.org>
27910
27911         * lib/tls.c (glthread_tls_get): Fix return type.
27912         Patch by Arto C. Nirkko <anirkko@insel.ch>.
27913
27914 2007-04-12  Eric Blake  <ebb9@byu.net>
27915
27916         * modules/gettime (Depends-on): Remove gettime.
27917         Reported by Dmitry V. Levin.
27918
27919 2007-04-12  Bruno Haible  <bruno@clisp.org>
27920
27921         * modules/fflush (Include): Mention <stdio.h>.
27922         * modules/strtoimax (Include): Mention <inttypes.h>.
27923         * modules/strtoumax (Include): Likewise.
27924
27925 2007-04-12  Eric Blake  <ebb9@byu.net>
27926
27927         * .cvsignore: New file.
27928         * .gitignore: Likewise.
27929
27930 2007-04-12  Bruno Haible  <bruno@clisp.org>
27931
27932         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
27933         not before, since $(LDADD) often contains libgnu.a.
27934         * modules/striconv-tests (test_striconv_LDADD): Likewise.
27935         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
27936         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
27937         Needed on Cygwin.
27938
27939 2007-04-12  Eric Blake  <ebb9@byu.net>
27940
27941         Work around glibc's failure to flush stdin on fclose.
27942         * lib/closein.c (close_stdin): Flush stdin before closing.
27943
27944         Work around glibc's failure to reset seekable stdin on exit.
27945         * modules/closein: New module.
27946         * lib/closein.c: New file.
27947         * lib/closein.h: Likewise.
27948         * m4/closein.m4: Likewise.
27949         * MODULES.html.sh (File stream based Input/Output): Document it.
27950
27951 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27952
27953         * gnulib-tool: Rename generated 'autobuild' script to
27954         'do-autobuild' in --create-megatestdir output.
27955
27956         * doc/gnulib.texi (Build robot for gnulib): Fix.
27957
27958 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27959
27960         * modules/sysexits (Depends-on): Add absolute-header.
27961
27962 2007-04-12  Eric Blake  <ebb9@byu.net>
27963
27964         No need to preserve errno on success.
27965         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
27966         Reported by Bruno Haible.
27967
27968 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27969
27970         * MODULES.html.sh (Support for maintaining and releasing
27971         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
27972
27973 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27974
27975         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
27976
27977 2007-04-12  Simon Josefsson  <simon@josefsson.org>
27978
27979         * modules/autobuild: New module.
27980
27981         * m4/autobuild.m4: New file.
27982
27983 2007-04-11  Bruno Haible  <bruno@clisp.org>
27984
27985         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
27986         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
27987         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
27988         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
27989         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
27990         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27991         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27992         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
27993         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27994         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27995         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
27996         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
27997         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
27998         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
27999         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
28000         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
28001         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
28002         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
28003         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
28004         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
28005         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
28006         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
28007         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
28008         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
28009         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
28010         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
28011         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
28012         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
28013         Reported by Eric Blake.
28014
28015 2007-04-11  Bruno Haible  <bruno@clisp.org>
28016
28017         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
28018
28019 2007-04-10  Bruno Haible  <bruno@clisp.org>
28020
28021         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
28022         for NaN and Infinity. Needed on FreeBSD 6.1.
28023         * tests/test-vasnprintf-posix.c (test_function): Undo last change
28024         regarding results for "%010a" of Infinity and NaN.
28025         * tests/test-vasprintf-posix.c (test_function): Likewise.
28026         * tests/test-snprintf-posix.h (test_function): Likewise.
28027         * tests/test-sprintf-posix.h (test_function): Likewise.
28028         * tests/test-fprintf-posix.h (test_function): Likewise.
28029         * tests/test-printf-posix.h (test_function): Likewise.
28030         * tests/test-fprintf-posix.out: Likewise.
28031
28032 2007-04-10  Bruno Haible  <bruno@clisp.org>
28033
28034         * modules/locale-tests: New file.
28035         * tests/test-locale.c: New file.
28036
28037         * modules/locale: New file.
28038         * lib/locale_.h: New file.
28039         * m4/locale_h.m4: New file.
28040
28041 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
28042             Bruno Haible  <bruno@clisp.org>
28043
28044         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
28045         be determined, test for availability of the copysignf, copysign,
28046         copysignl functions.
28047         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
28048         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
28049         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
28050
28051 2007-04-09  Eric Blake  <ebb9@byu.net>
28052
28053         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
28054         * modules/stdio (Makefile.am): Support fflush.
28055         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28056         * modules/fflush: New file.
28057         * lib/fflush.c: Likewise.
28058         * m4/fflush.m4: Likewise.
28059         * modules/fflush-tests: New test.
28060         * tests/test-fflush.c: Likewise.
28061         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
28062
28063 2007-04-06  Bruno Haible  <bruno@clisp.org>
28064
28065         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
28066         (VASNPRINTF): Use signbit for faster determination whether to print a
28067         minus sign.
28068         * modules/vasnprintf (Files): Remove lib/float+.h.
28069         * modules/fprintf-posix (Depends-on): Add signbit.
28070         * modules/snprintf-posix (Depends-on): Likewise.
28071         * modules/sprintf-posix (Depends-on): Likewise.
28072         * modules/vasnprintf-posix (Depends-on): Likewise.
28073         * modules/vasprintf-posix (Depends-on): Likewise.
28074         * modules/vfprintf-posix (Depends-on): Likewise.
28075         * modules/vsnprintf-posix (Depends-on): Likewise.
28076         * modules/vsprintf-posix (Depends-on): Likewise.
28077
28078 2007-04-06  Bruno Haible  <bruno@clisp.org>
28079
28080         * tests/test-frexp.c (main): Test also the sign bit of zero results.
28081         * tests/test-frexpl.c (main): Likewise.
28082         * tests/test-ldexpl.c (main): Likewise.
28083         * modules/frexp-tests (Depends-on): Add signbit.
28084         * modules/frexpl-tests (Depdends-on): Likewise.
28085         * modules/ldexpl-tests (Depdends-on): Likewise.
28086
28087 2007-04-06  Bruno Haible  <bruno@clisp.org>
28088
28089         * modules/signbit-tests: New file.
28090         * tests/test-signbit.c: New file.
28091
28092         * modules/signbit: New file.
28093         * lib/signbitf.c: New file.
28094         * lib/signbitd.c: New file.
28095         * lib/signbitl.c: New file.
28096         * m4/signbit.m4: New file.
28097         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
28098         (signbit): New macro.
28099         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
28100         REPLACE_SIGNBIT.
28101         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
28102         REPLACE_FREXPL into math.h.
28103
28104 2007-04-06  Bruno Haible  <bruno@clisp.org>
28105
28106         * modules/isnanf-nolibm-tests: New file.
28107         * tests/test-isnanf.c: New file.
28108
28109         * modules/isnanf-nolibm: New file.
28110         * lib/isnanf.h: New file.
28111         * lib/isnanf.c: New file.
28112         * lib/isnan.c: Consider the USE_FLOAT macro.
28113         * m4/isnanf.m4: New file.
28114
28115 2007-04-06  Bruno Haible  <bruno@clisp.org>
28116
28117         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
28118         (Link): New section.
28119
28120         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
28121
28122 2007-04-06  Bruno Haible  <bruno@clisp.org>
28123
28124         Assume the 'long double' type.
28125         * m4/longdouble.m4: Remove file.
28126         * config/srclist.txt: Don't mention longdouble.m4.
28127         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
28128         * lib/float+.h: Likewise.
28129         * lib/frexp.c: Likewise.
28130         * lib/printf-args.h: Likewise.
28131         * lib/printf-args.c: Likewise.
28132         * lib/printf-frexp.c: Likewise.
28133         * lib/printf-parse.c: Likewise.
28134         * lib/vasnprintf.c: Likewise.
28135         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
28136         * m4/intl.m4: Likewise.
28137         * m4/isnanl.m4: Likewise.
28138         * m4/printf.m4: Likewise.
28139         * m4/printf-frexpl.m4: Likewise.
28140         * m4/vasnprintf.m4: Likewise.
28141         * modules/allocsa (Files): Remove m4/longdouble.m4.
28142         * modules/gettext (Files): Likewise.
28143         * modules/relocatable-prog-wrapper (Files): Likewise.
28144         * modules/vasnprintf (Files): Likewise.
28145         * modules/isnanl (Files): Likewise.
28146         (Include): Simplify.
28147         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
28148         (Include): Simplify.
28149         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
28150         (Include): Simplify.
28151         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
28152         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
28153         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
28154         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
28155         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
28156         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
28157         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
28158         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
28159         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
28160         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
28161         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
28162         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
28163         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
28164         * tests/test-isnanl.c: Likewise.
28165         * tests/test-snprintf-posix.h: Likewise.
28166         * tests/test-sprintf-posix.h: Likewise.
28167         * tests/test-vasnprintf-posix.c: Likewise.
28168         * tests/test-vasnprintf-posix2.c: Likewise.
28169         * tests/test-vasprintf-posix.c: Likewise.
28170
28171 2007-04-06  Bruno Haible  <bruno@clisp.org>
28172
28173         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
28174         * lib/math_.h [__DECC]: Include the overridden include file through
28175         #include_next, outside the double-inclusion guard.
28176         * lib/stdio_.h [__DECC]: Likewise.
28177         * lib/stdlib_.h [__DECC]: Likewise.
28178         * lib/string_.h [__DECC]: Likewise.
28179         * lib/time_.h [__DECC]: Likewise.
28180         * lib/wchar_.h [__DECC]: Likewise.
28181         * lib/wctype_.h [__DECC]: Likewise.
28182         * lib/inttypes_.h [__DECC]: Likewise.
28183         Reported by Albert Chin <china@thewrittenword.com> in
28184         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
28185
28186 2007-04-04  Eric Blake  <ebb9@byu.net>
28187
28188         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
28189         1.5.x.
28190
28191 2007-04-04  Bruno Haible  <bruno@clisp.org>
28192
28193         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
28194         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
28195
28196 2007-04-04  Bruno Haible  <bruno@clisp.org>
28197
28198         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
28199         results for "%010a" of Infinity and NaN.
28200         * tests/test-vasprintf-posix.c (test_function): Likewise.
28201         * tests/test-snprintf-posix.h (test_function): Likewise.
28202         * tests/test-sprintf-posix.h (test_function): Likewise.
28203         * tests/test-fprintf-posix.h (test_function): Remove these tests.
28204         * tests/test-printf-posix.h (test_function): Likewise.
28205         * tests/test-fprintf-posix.out: Update.
28206         Needed for FreeBSD 6.1.
28207
28208 2007-04-04  Bruno Haible  <bruno@clisp.org>
28209
28210         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
28211         directly used by the gnulib modules nor by gnulib-tool.
28212
28213 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
28214
28215         * DEPENDENCIES: Give overall description of version dependency
28216         desirability.  Use more-typical names for apps.
28217         Add shell, coreutils, diffutils, grep, tar, gzip.
28218
28219 2007-04-04  Simon Josefsson  <simon@josefsson.org>
28220
28221         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
28222
28223 2007-04-04  Karl Berry  <karl@gnu.org>
28224
28225         * MODULES.html.sh (func_module): missing '.
28226
28227 2007-04-03  Bruno Haible  <bruno@clisp.org>
28228
28229         * modules/argmatch-tests (Makefile.am): New variable
28230         test_argmatch_LDADD.
28231         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
28232         * modules/array-list-tests (Makefile.am): New variable
28233         test_array_list_LDADD.
28234         * modules/array-oset-tests (Makefile.am): New variable
28235         test_array_oset_LDADD.
28236         * modules/avltree-list-tests (Makefile.am): New variable
28237         test_avltree_list_LDADD.
28238         * modules/avltree-oset-tests (Makefile.am): New variable
28239         test_avltree_oset_LDADD.
28240         * modules/avltreehash-list-tests (Makefile.am): New variable
28241         test_avltreehash_list_LDADD.
28242         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
28243         test_canonicalize_lgpl_LDADD.
28244         * modules/carray-list-tests (Makefile.am): New variable
28245         test_carray_list_LDADD.
28246         * modules/dirname-tests (Makefile.am): New variable
28247         test_dirname_LDADD.
28248         * modules/linked-list-tests (Makefile.am): New variable
28249         test_linked_list_LDADD.
28250         * modules/linkedhash-list-tests (Makefile.am): New variable
28251         test_linkedhash_list_LDADD.
28252         * modules/rbtree-list-tests (Makefile.am): New variable
28253         test_rbtree_list_LDADD.
28254         * modules/rbtree-oset-tests (Makefile.am): New variable
28255         test_rbtree_oset_LDADD.
28256         * modules/rbtreehash-list-tests (Makefile.am): New variable
28257         test_rbtreehash_list_LDADD.
28258         * modules/xvasprintf-tests (Makefile.am): New variable
28259         test_xvasprintf_LDADD.
28260         Reported by Eric Blake.
28261
28262 2007-04-03  Eric Blake  <ebb9@byu.net>
28263
28264         * DEPENDENCIES: Weaken m4 requirements.
28265
28266 2007-04-03  Bruno Haible  <bruno@clisp.org>
28267
28268         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
28269         * modules/isnanl-tests (configure.ac): Likewise.
28270
28271 2007-04-03  Ben Pfaff  <blp@gnu.org>
28272
28273         * modules/iconv_open: Add $(srcdir)/ to source directory
28274         references in Makefile fragments that call gperf, to fix VPATH
28275         builds.
28276
28277 2007-04-03  Bruno Haible  <bruno@clisp.org>
28278
28279         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
28280         * lib/ldexpl.c: Undo last change.
28281
28282 2007-04-03  Bruno Haible  <bruno@clisp.org>
28283
28284         * modules/printf-frexpl (Depends-on): Undo last change.
28285         (Files): Add m4/ldexpl.m4.
28286
28287 2007-04-03  Bruno Haible  <bruno@clisp.org>
28288
28289         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
28290         * modules/isnanl (Link): New section.
28291
28292         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
28293         * modules/frexp (Link): New section.
28294
28295         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
28296         * modules/frexpl (Link): New section.
28297
28298         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
28299         * modules/ldexpl (Link): New section.
28300
28301 2007-04-03  Bruno Haible  <bruno@clisp.org>
28302
28303         * modules/TEMPLATE-EXTENDED: New file.
28304         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
28305
28306 2007-04-03  Bruno Haible  <bruno@clisp.org>
28307
28308         * DEPENDENCIES: New file.
28309         Suggested by Simon Josefsson.
28310
28311 2007-04-03  Bruno Haible  <bruno@clisp.org>
28312
28313         * doc/gnulib.texi: Escape @.
28314
28315 2007-04-03  James Youngman  <jay@gnu.org>
28316         and Paul Eggert  <eggert@cs.ucla.edu>
28317
28318         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
28319         birthtime on all systems that have birthtime, not just those which
28320         use st_birthtimensec rather than st_birthtim.  Putting zero in
28321         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
28322         that the birth time is not available for files on an NFS mount.
28323
28324 2007-04-03  Simon Josefsson  <simon@josefsson.org>
28325
28326         * modules/memxor: Move back from crypto/, suggested by Bruno.
28327         * modules/crypto/hmac-sha1: Fix memxor dependency.
28328
28329         * modules/crypto/gc: Moved from ../.
28330
28331 2007-04-02  Eric Blake  <ebb9@byu.net>
28332
28333         * lib/ldexpl.c (includes): Avoid libm.
28334
28335         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
28336
28337 2007-04-02  Bruno Haible  <bruno@clisp.org>
28338
28339         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
28340         on IRIX.
28341
28342 2007-04-02  Bruno Haible  <bruno@clisp.org>
28343
28344         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
28345         x86 or x86_64 platforms running MacOS X.
28346         Reported by Ryan Schmidt <@ryandesign.com>.
28347
28348 2007-04-02  Bruno Haible  <bruno@clisp.org>
28349
28350         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
28351         i386.
28352
28353 2007-04-01  Simon Josefsson  <simon@josefsson.org>
28354
28355         * modules/crypto/arcfour: Moved from ../.
28356         * modules/crypto/arcfour-tests: Moved from ../.
28357         * modules/crypto/arctwo: Moved from ../.
28358         * modules/crypto/arctwo-tests: Moved from ../.
28359         * modules/crypto/des: Moved from ../.
28360         * modules/crypto/des-tests: Moved from ../.
28361         * modules/crypto/gc-arcfour: Moved from ../.
28362         * modules/crypto/gc-arcfour-tests: Moved from ../.
28363         * modules/crypto/gc-arctwo: Moved from ../.
28364         * modules/crypto/gc-arctwo-tests: Moved from ../.
28365         * modules/crypto/gc-des: Moved from ../.
28366         * modules/crypto/gc-des-tests: Moved from ../.
28367         * modules/crypto/gc-hmac-md5: Moved from ../.
28368         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
28369         * modules/crypto/gc-hmac-sha1: Moved from ../.
28370         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
28371         * modules/crypto/gc-md2: Moved from ../.
28372         * modules/crypto/gc-md2-tests: Moved from ../.
28373         * modules/crypto/gc-md4: Moved from ../.
28374         * modules/crypto/gc-md4-tests: Moved from ../.
28375         * modules/crypto/gc-md5: Moved from ../.
28376         * modules/crypto/gc-md5-tests: Moved from ../.
28377         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
28378         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
28379         * modules/crypto/gc-random: Moved from ../.
28380         * modules/crypto/gc-rijndael: Moved from ../.
28381         * modules/crypto/gc-rijndael-tests: Moved from ../.
28382         * modules/crypto/gc-sha1: Moved from ../.
28383         * modules/crypto/gc-sha1-tests: Moved from ../.
28384         * modules/crypto/gc-tests: Moved from ../.
28385         * modules/crypto/hmac-md5: Moved from ../.
28386         * modules/crypto/hmac-md5-tests: Moved from ../.
28387         * modules/crypto/hmac-sha1: Moved from ../.
28388         * modules/crypto/hmac-sha1-tests: Moved from ../.
28389         * modules/crypto/md2: Moved from ../.
28390         * modules/crypto/md2-tests: Moved from ../.
28391         * modules/crypto/md4: Moved from ../.
28392         * modules/crypto/md4-tests: Moved from ../.
28393         * modules/crypto/md5: Moved from ../.
28394         * modules/crypto/md5-tests: Moved from ../.
28395         * modules/crypto/memxor: Moved from ../.
28396         * modules/crypto/rijndael: Moved from ../.
28397         * modules/crypto/rijndael-tests: Moved from ../.
28398         * modules/crypto/sha1: Moved from ../.
28399
28400 2007-03-30  James Youngman  <jay@gnu.org>
28401
28402         * tests/test-stat-time.c (prepare_test): use chmod() rather than
28403         rename() to change the ctime of a file (because ctime is unaffected
28404         by rename on jfs2 on AIX 5.1).
28405         (main): Start by doing cleanup, in case a previous run failed leaving
28406         test files behind.
28407
28408 2007-03-31  Bruno Haible  <bruno@clisp.org>
28409
28410         Support old proprietary implementations of iconv.
28411         * modules/iconv_open: New file.
28412         * lib/iconv_.h: New file.
28413         * m4/iconv_h.m4: New file.
28414         * lib/iconv_open.c: New file.
28415         * lib/iconv_open-aix.gperf: New file.
28416         * lib/iconv_open-hpux.gperf: New file.
28417         * lib/iconv_open-irix.gperf: New file.
28418         * lib/iconv_open-osf.gperf: New file.
28419         * m4/iconv_open.m4: New file.
28420         * modules/linebreak (Depends-on): Add iconv_open.
28421         * modules/striconv (Depends-on): Likewise.
28422         * modules/striconveh (Depends-on): Likewise.
28423         * modules/unicodeio (Depends-on): Likewise.
28424         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
28425         (iconv_t)(-1).
28426         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
28427         conversion if cd is (iconv_t)(-1).
28428         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
28429         is not possible.
28430
28431 2007-03-31  Bruno Haible  <bruno@clisp.org>
28432
28433         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
28434         work on Solaris either. Protect also second use of "autodetect_jp".
28435
28436 2007-03-31  Bruno Haible  <bruno@clisp.org>
28437
28438         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
28439         the function is not present.
28440
28441 2007-03-31  Bruno Haible  <bruno@clisp.org>
28442
28443         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
28444         the function is not present.
28445
28446 2007-03-31  Bruno Haible  <bruno@clisp.org>
28447
28448         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
28449         a bug in HP-UX iconv_open().
28450
28451 2007-03-31  Bruno Haible  <bruno@clisp.org>
28452
28453         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
28454         (Mathematics <math.h>): New section, add fpieee.
28455         (Input/output <stdio.h>): Add fseterr.
28456         (Mathematics <math.h>): New section, add printf-frexp.
28457         (Container data structures): Add sublist.
28458         (Core language properties): Add fpucw, inline.
28459         (Functions for greatest-width integer types <inttypes.h>): Add
28460         imaxabs, imaxdiv, inttypes.
28461         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
28462         isnanl-nolibm, ldexp.
28463         (Mathematics <math.h>): New section, add printf-frexpl.
28464         (Support for systems lacking POSIX:2001): Add fprintf-posix,
28465         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
28466         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
28467         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
28468         (Unicode string functions): Add unistr/u*-mbtoucr.
28469         (Java): Add javacomp-script, javaexec-script.
28470         (C#): Add csharpcomp-script, csharpexec-script.
28471         (Support for building libraries and executables): Add havelib,
28472         relocatable-*.
28473         (Support for maintaining and releasing projects): Renamed from
28474         'Support for maintaining and release projects'. Add announce-gen.
28475
28476 2007-03-31  Bruno Haible  <bruno@clisp.org>
28477
28478         * README: Talk primarily about git.
28479         (git and CVS): Renamed from CVS.
28480         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
28481         gnulib is available through git.
28482         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
28483
28484 2007-03-30  Bruno Haible  <bruno@clisp.org>
28485
28486         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
28487         * lib/poll_.h: Likewise.
28488         * lib/stat_.h: Likewise.
28489         * lib/sys_time_.h: Likewise.
28490         * lib/sysexit_.h: Likewise.
28491         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
28492         * lib/stdbool_.h: Likewise.
28493         * lib/byteswap_.h: Add double-inclusion guard.
28494
28495 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
28496
28497         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
28498
28499 2007-03-30  Karl Berry  <karl@gnu.org>
28500
28501         * config/srclist-update: double space after USA in the license
28502         substitution, since that's how it's usually (?) written.
28503
28504 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
28505
28506         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
28507         reported by Bruno Haible.
28508
28509 2007-03-29  Bruno Haible  <bruno@clisp.org>
28510
28511         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
28512         a bug in AIX iconv().
28513
28514 2007-03-29  Bruno Haible  <bruno@clisp.org>
28515
28516         * modules/ldexpl-tests: New file.
28517         * tests/test-ldexpl.c: New file.
28518
28519 2007-03-29  Bruno Haible  <bruno@clisp.org>
28520
28521         * lib/ldexpl.c: Include fpucw.h.
28522         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
28523         multiplication.
28524         * modules/ldexpl (Depends-on): Add fpucw.
28525
28526 2007-03-29  Bruno Haible  <bruno@clisp.org>
28527
28528         * modules/ldexpl: New file.
28529         * m4/ldexpl.m4: New file.
28530         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
28531         set.
28532         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
28533         REPLACE_LDEXPL.
28534         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
28535         REPLACE_LDEXPL.
28536         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
28537         gl_FUNC_LDEXPL_WORKS.
28538         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
28539         * modules/mathl (Files): Remove lib/ldexpl.c.
28540         (Depends-on): Add ldexpl.
28541
28542 2007-03-29  Bruno Haible  <bruno@clisp.org>
28543
28544         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
28545
28546 2007-03-29  Bruno Haible  <bruno@clisp.org>
28547
28548         * tests/test-striconveh.c (main): Don't assume that a direct conversion
28549         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
28550         and possibly also HP-UX.
28551         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
28552         work on AIX, IRIX, HP-UX, OSF/1.
28553         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
28554         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
28555         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
28556         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
28557         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
28558         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
28559
28560 2007-03-29  Bruno Haible  <bruno@clisp.org>
28561
28562         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
28563
28564 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
28565
28566         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
28567         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
28568
28569 2007-03-29  Eric Blake  <ebb9@byu.net>
28570
28571         * lib/acl-internal.h: Remove redundant include.
28572         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
28573         Cygwin when a file is locked.
28574
28575 2007-03-29  Bruno Haible  <bruno@clisp.org>
28576
28577         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
28578         file.
28579         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
28580
28581 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
28582
28583         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
28584         try to remove a parent directory if the child couldn't be removed
28585         (except for the first rmdir, which could fail because the child
28586         doesn't exist).  Problem reported by Jeff Blaine in
28587         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
28588
28589 2007-03-28  Bruno Haible  <bruno@clisp.org>
28590
28591         * lib/striconveh.c (utf8conv_carefully): New function.
28592         (mem_cd_iconveh_internal): Invoke it.
28593
28594 2007-03-28  Bruno Haible  <bruno@clisp.org>
28595
28596         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
28597         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
28598         input.
28599         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
28600         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
28601         unistr/u8-uctomb.
28602
28603 2007-03-28  Bruno Haible  <bruno@clisp.org>
28604
28605         * modules/unistr/u8-mbtoucr: New file.
28606         * lib/unistr/u8-mbtoucr.c: New file.
28607         * modules/unistr/u16-mbtoucr: New file.
28608         * lib/unistr/u16-mbtoucr.c: New file.
28609         * modules/unistr/u16-mbtoucr: New file.
28610         * lib/unistr/u16-mbtoucr.c: New file.
28611         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
28612
28613 2007-03-27  Simon Josefsson  <simon@josefsson.org>
28614             Bruno Haible  <bruno@clisp.org>
28615
28616         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
28617         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
28618         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
28619
28620         * m4/stdio_h.m4: Add stubs for vasprintf too.
28621
28622         * modules/stdio: Support vasprintf in sed command.
28623
28624         * modules/vasprintf: Depend on stdio for prototypes.  Remove
28625         vasprintf.h.  Add stdio module indicator.
28626
28627         * lib/stdio_.h: Declare asprintf and vasprintf, based on
28628         vasprintf.h.
28629
28630         * lib/vasprintf.h: File removed.
28631
28632         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
28633         * lib/vasprintf.c: Ditto.
28634         * lib/xvasprintf.c: Ditto.
28635         * tests/test-vasprintf-posix.c: Ditto.
28636         * tests/test-vasprintf.c: Ditto.
28637
28638 2007-03-27  Bruno Haible  <bruno@clisp.org>
28639
28640         Make vasnprintf multithread-safe.
28641         * lib/vasnprintf.c (decimal_point_char): New function.
28642         (VASNPRINTF): Use it.
28643         Suggested by Simon Josefsson.
28644
28645 2007-03-27  Eric Blake  <ebb9@byu.net>
28646
28647         Support sub-second birthtime on cygwin.
28648         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
28649         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
28650         (get_stat_birthtime): Also work with st_birthtim.
28651
28652 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
28653
28654         * lib/stat-time.h (USE_BIRTHTIME): Remove.
28655         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
28656         (get_stat_birthtime_ns): Do not try to use "spare" fields.
28657         (get_stat_birthtime_ns): Simplify compile-time tests.
28658         (get_stat_birthtime): Change the API to look like
28659         get_stat_mtime etc., except return a negative tv_nsec on error.
28660         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
28661         Don't check for "spare" fields.
28662         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
28663         or for struct stat.st_birthtime, as these tests aren't used.
28664         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
28665
28666 2007-03-27  Bruno Haible  <bruno@clisp.org>
28667
28668         * lib/stat-time.h: Include <sys/stat.h>.
28669
28670 2007-03-27  James Youngman  <jay@gnu.org>
28671
28672         * lib/stat-time.h (get_stat_birthtime): New function for
28673           retrieving st_birthtime as provided by UFS2 (hence *BSD).
28674         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
28675           and its variants.
28676         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
28677         * modules/stat-time-test: New file.
28678         * tests/test-stat-time.c: New test, devised by Bruno Haible.
28679
28680 2007-03-26  Bruno Haible  <bruno@clisp.org>
28681
28682         Better support of signalling NaNs.
28683         * lib/atanl.c: Include isnanl.h.
28684         (atanl): Perform test for NaN at the beginning of the function and
28685         through a call to isnanl.
28686         * lib/cosl.c: Include isnanl.h.
28687         (cosl): Perform test for NaN at the beginning of the function and
28688         through a call to isnanl.
28689         * lib/ldexpl.c: Include isnanl.h.
28690         (ldexpl): Perform test for NaN through a call to isnanl.
28691         * lib/logl.c: Include isnanl.h.
28692         (logl): Perform test for NaN at the beginning of the function and
28693         through a call to isnanl.
28694         * lib/sinl.c: Include isnanl.h.
28695         (sinl): Perform test for NaN at the beginning of the function and
28696         through a call to isnanl.
28697         * lib/sqrtl.c: Include isnanl.h.
28698         (sqrtl): Perform test for NaN at the beginning of the function and
28699         through a call to isnanl.
28700         * lib/tanl.c: Include isnanl.h.
28701         (tanl): Perform test for NaN at the beginning of the function and
28702         through a call to isnanl.
28703         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
28704         * modules/mathl (Depends-on): Add isnanl.
28705
28706 2007-03-26  Eric Blake  <ebb9@byu.net>
28707
28708         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
28709         regression in logic sense of previous patch.
28710
28711 2007-03-26  Bruno Haible  <bruno@clisp.org>
28712
28713         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
28714         unportable shell command "if ! ...".
28715         Reported by Ralf Wildenhues.
28716
28717 2007-03-25  Bruno Haible  <bruno@clisp.org>
28718
28719         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
28720         <sysexits.h> file, and only add EX_CONFIG.
28721         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
28722         absolute file name and whether it is sufficient. Substitute also
28723         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
28724         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
28725         ABSOLUTE_SYSEXITS_H into sysexits.h.
28726
28727 2007-03-25  Bruno Haible  <bruno@clisp.org>
28728
28729         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
28730         hints is NULL.
28731
28732 2007-03-25  Bruno Haible  <bruno@clisp.org>
28733
28734         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
28735         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
28736
28737 2007-03-25  Bruno Haible  <bruno@clisp.org>
28738
28739         * lib/vasnprintf.c: Include langinfo.h.
28740         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
28741         multithread-safe.
28742         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
28743         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
28744         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
28745         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
28746         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
28747         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
28748         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
28749         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
28750         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
28751         Reported by Simon Josefsson.
28752
28753 2007-03-25  Bruno Haible  <bruno@clisp.org>
28754
28755         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
28756         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
28757         * modules/vasnprintf (Depends-on): Add stdint.
28758
28759 2007-03-25  Bruno Haible  <bruno@clisp.org>
28760
28761         * modules/fpieee: New file.
28762         * m4/fpieee.m4: New file.
28763         * modules/isnan-nolibm (Depends-on): Add fpieee.
28764         * modules/isnanl-nolibm (Depends-on): Add fpieee.
28765         * modules/isnanl (Depends-on): Add fpieee.
28766
28767 2007-03-25  Bruno Haible  <bruno@clisp.org>
28768
28769         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
28770
28771 2007-03-25  Bruno Haible  <bruno@clisp.org>
28772
28773         Avoid test failures on IRIX 6.5.
28774         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
28775         (main): Use it.
28776         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
28777         macros.
28778         (main): Use them.
28779
28780 2007-03-25  Bruno Haible  <bruno@clisp.org>
28781
28782         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
28783         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
28784         exists but doesn't work.
28785         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
28786         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
28787         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
28788         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
28789
28790 2007-03-25  Bruno Haible  <bruno@clisp.org>
28791
28792         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
28793         returns inf. Needed on IRIX 6.5.
28794
28795 2007-03-25  Bruno Haible  <bruno@clisp.org>
28796
28797         * tests/test-frexpl.c: Include isnanl-nolibm.h.
28798         (main): Use isnanl instead of x != x idiom.
28799         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
28800
28801         * tests/test-frexp.c: Include isnan.h.
28802         (main): Use isnan instead of x != x idiom.
28803         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
28804
28805 2007-03-25  Bruno Haible  <bruno@clisp.org>
28806
28807         * tests/test-frexp.c (NaN): New function/macro.
28808         (main): Use it instead of 0.0 / 0.0.
28809         * tests/test-isnan.c (NaN): New function/macro.
28810         (main): Use it instead of 0.0 / 0.0.
28811         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
28812         (test_function): Use it instead of 0.0 / 0.0.
28813         * tests/test-vasprintf-posix.c (NaN): New function/macro.
28814         (test_function): Use it instead of 0.0 / 0.0.
28815         * tests/test-snprintf-posix.h (NaN): New function/macro.
28816         (test_function): Use it instead of 0.0 / 0.0.
28817         * tests/test-sprintf-posix.h (NaN): New function/macro.
28818         (test_function): Use it instead of 0.0 / 0.0.
28819         * tests/test-fprintf-posix.h (NaN): New function/macro.
28820         (test_function): Use it instead of 0.0 / 0.0.
28821         * tests/test-printf-posix.h (NaN): New function/macro.
28822         (test_function): Use it instead of 0.0 / 0.0.
28823
28824         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
28825
28826 2007-03-25  Bruno Haible  <bruno@clisp.org>
28827
28828         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
28829
28830 2007-03-25  Bruno Haible  <bruno@clisp.org>
28831
28832         * lib/regexec.c (merge_state_with_log): Make static.
28833
28834 2007-03-25  Bruno Haible  <bruno@clisp.org>
28835
28836         * lib/trigl.c (kernel_rem_pio2): Make static.
28837
28838 2007-03-25  Bruno Haible  <bruno@clisp.org>
28839
28840         * lib/sincosl.c (sincosl_table): Make static.
28841
28842 2007-03-25  Bruno Haible  <bruno@clisp.org>
28843
28844         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
28845         if the compiler does not support C99.
28846
28847 2007-03-25  Bruno Haible  <bruno@clisp.org>
28848
28849         * modules/time (Makefile.am): Ensure all rule action lines start with a
28850         tab.
28851
28852 2007-03-24  Bruno Haible  <bruno@clisp.org>
28853
28854         * modules/tsearch-tests: New file.
28855         * tests/test-tsearch.sh: New file.
28856         * tests/test-tsearch.c: New file, mostly copied from glibc.
28857
28858         * modules/search-tests: New file.
28859         * tests/test-search.c: New file.
28860
28861         * modules/search: New file.
28862         * lib/search_.h: New file, incorporating lib/tsearch.h.
28863         * m4/search_h.m4: New file.
28864         * lib/tsearch.h: Remove file.
28865         * lib/tsearch.c: Include search.h instead of tsearch.h.
28866         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
28867         HAVE_TSEARCH.
28868         * modules/tsearch (Files): Remove lib/tsearch.h.
28869         (Depends-on): Add search.
28870         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
28871         (Include): Change tsearch.h into search.h.
28872
28873 2007-03-24  Bruno Haible  <bruno@clisp.org>
28874
28875         * modules/fpucw: New file.
28876         * lib/fpucw.h: New file.
28877         * lib/frexp.c: Include fpucw.h.
28878         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
28879         (FUNC): Use them.
28880         * lib/printf-frexp.c: Include fpucw.h.
28881         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
28882         (FUNC): Use them.
28883         * lib/vasnprintf.c: Include fpucw.h.
28884         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
28885         'long double' calculations.
28886         * tests/test-frexpl.c: Include fpucw.h.
28887         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
28888         * tests/test-printf-frexpl.c: Include fpucw.h.
28889         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
28890         * modules/frexpl (Depends-on): Add fpucw.
28891         * modules/printf-frexpl (Depends-on): Likewise.
28892         * modules/fprintf-posix (Depends-on): Likewise.
28893         * modules/snprintf-posix (Depends-on): Likewise.
28894         * modules/sprintf-posix (Depends-on): Likewise.
28895         * modules/vasnprintf-posix (Depends-on): Likewise.
28896         * modules/vasprintf-posix (Depends-on): Likewise.
28897         * modules/vfprintf-posix (Depends-on): Likewise.
28898         * modules/vsnprintf-posix (Depends-on): Likewise.
28899         * modules/vsprintf-posix (Depends-on): Likewise.
28900         * modules/frexpl-tests (Depends-on): Likewise.
28901         * modules/printf-frexpl-tests (Depends-on): Likewise.
28902
28903 2007-03-24  Bruno Haible  <bruno@clisp.org>
28904
28905         * lib/float+.h: New file.
28906         * lib/isnan.c: Include float+.h.
28907         (SIZE): New macro.
28908         (FUNC): Compare only SIZE bytes of the value.
28909         * lib/vasnprintf.c: Include float+.h.
28910         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
28911         SIZEOF_LDBL or SIZEOF_DBL bytes.
28912         * modules/isnan-nolibm (Files): Add lib/float+.h.
28913         * modules/isnanl-nolibm (Files): Add lib/float+.h.
28914         * modules/isnanl (Files): Add lib/float+.h.
28915         * modules/vasnprintf (Files): Add lib/float+.h.
28916
28917 2007-03-24  Bruno Haible  <bruno@clisp.org>
28918
28919         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
28920         include isnanl-nolibm.h.
28921
28922 2007-03-24  Bruno Haible  <bruno@clisp.org>
28923
28924         * tests/test-read-file.c (main): Don't produce spurious output for
28925         expected situations. Make the test fail if it encountered unexpected
28926         results.
28927
28928 2007-03-24  Bruno Haible  <bruno@clisp.org>
28929
28930         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
28931         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
28932
28933 2007-03-24  Bruno Haible  <bruno@clisp.org>
28934
28935         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
28936
28937 2007-03-24  Bruno Haible  <bruno@clisp.org>
28938
28939         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
28940         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
28941
28942         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
28943         * modules/utf8-ucs4: Turn into a symbolic link to module
28944         unistr/u8-mbtouc.
28945
28946         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
28947         utf8-ucs4-unsafe.
28948         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
28949         unistr/u8-mbtouc-unsafe.
28950
28951         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
28952         * modules/utf16-ucs4: Turn into a symbolic link to module
28953         unistr/u16-mbtouc.
28954
28955         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
28956         utf16-ucs4-unsafe.
28957         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
28958         unistr/u16-mbtouc-unsafe.
28959
28960         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
28961         * modules/ucs4-utf8: Turn into a symbolic link to module
28962         unistr/u8-ubtomb.
28963
28964         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
28965         * modules/ucs4-utf16: Turn into a symbolic link to module
28966         unistr/u16-ubtomb.
28967
28968 2007-03-24  Bruno Haible  <bruno@clisp.org>
28969
28970         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
28971         Enable the function only if HAVE_INLINE.
28972         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
28973         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
28974         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
28975         Enable the function only if HAVE_INLINE.
28976         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
28977         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
28978         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
28979         Enable the function only if HAVE_INLINE.
28980         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
28981         Enable the function only if HAVE_INLINE.
28982         * modules/utf8-ucs4: Update.
28983         * modules/utf8-ucs4-unsafe: Update.
28984         * modules/utf16-ucs4: Update.
28985         * modules/utf16-ucs4-unsafe: Update.
28986         * modules/ucs4-utf8: Update.
28987         * modules/ucs4-utf16: Update.
28988
28989 2007-03-24  Bruno Haible  <bruno@clisp.org>
28990
28991         * lib/utf8-ucs4.h: Remove file.
28992         * lib/utf8-ucs4-unsafe.h: Remove file.
28993         * lib/utf16-ucs4.h: Remove file.
28994         * lib/utf16-ucs4-unsafe.h: Remove file.
28995         * lib/ucs4-utf8.h: Remove file.
28996         * lib/ucs4-utf16.h: Remove file.
28997         * lib/unistr.h: Include their previous contents.
28998         * m4/utf-ucs4.m4: Remove file.
28999         * m4/ucs4-utf.m4: Remove file.
29000         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
29001         (Depends-on): Add unistr/base.
29002         (configure.ac): Remove gl_UTF_UCS4.
29003         (Makefile.am): Update.
29004         (Include): Change to unistr.h.
29005         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
29006         (Depends-on): Add unistr/base.
29007         (configure.ac): Remove gl_UTF_UCS4.
29008         (Makefile.am): Update.
29009         (Include): Change to unistr.h.
29010         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
29011         (Depends-on): Add unistr/base.
29012         (configure.ac): Remove gl_UTF_UCS4.
29013         (Makefile.am): Update.
29014         (Include): Change to unistr.h.
29015         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
29016         (Depends-on): Add unistr/base.
29017         (configure.ac): Remove gl_UTF_UCS4.
29018         (Makefile.am): Update.
29019         (Include): Change to unistr.h.
29020         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
29021         (Depends-on): Add unistr/base.
29022         (configure.ac): Remove gl_UCS4_UTF.
29023         (Makefile.am): Update.
29024         (Include): Change to unistr.h.
29025         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
29026         (Depends-on): Add unistr/base.
29027         (configure.ac): Remove gl_UCS4_UTF.
29028         (Makefile.am): Update.
29029         (Include): Change to unistr.h.
29030         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
29031         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
29032         utf8-ucs4-unsafe.h.
29033         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
29034         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
29035         utf16-ucs4-unsafe.h.
29036         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
29037         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
29038         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
29039         * lib/unistr/u8-strchr.c: Likewise.
29040         * lib/unistr/u8-strrchr.c: Likewise.
29041         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
29042         * lib/unistr/u16-strchr.c: Likewise.
29043         * lib/unistr/u16-strrchr.c: Likewise.
29044         * lib/striconveh.c: Update.
29045         * lib/linebreak.c: Update.
29046
29047 2007-03-24  Bruno Haible  <bruno@clisp.org>
29048
29049         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
29050         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
29051
29052 2007-03-22  Bruno Haible  <bruno@clisp.org>
29053
29054         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
29055
29056 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
29057
29058         * MODULES.html.sh (File system functions): New module write-any-file.
29059         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
29060         * m4/write-any-file.m4: New files.
29061
29062 2007-03-23  Eric Blake  <ebb9@byu.net>
29063
29064         * gnulib-tool: Rearrange space-tab sequences, since some editors
29065         like to eat them.
29066
29067 2007-03-23  Eric Blake  <ebb9@byu.net>
29068
29069         * lib/version-etc.c (version_etc_va): Update license wording to
29070         be more concise.  Recommended by Richard Stallman.
29071
29072 2007-03-22  Bruno Haible  <bruno@clisp.org>
29073
29074         * lib/poll.c (MSG_PEEK): New fallback definition.
29075
29076 2007-03-22  Bruno Haible  <bruno@clisp.org>
29077
29078         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
29079         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
29080         (main): Update.
29081         Fixes a compilation error on BeOS.
29082
29083 2007-03-22  Bruno Haible  <bruno@clisp.org>
29084
29085         * modules/frexpl-tests: New file.
29086         * tests/test-frexpl.c: New file.
29087
29088         * modules/frexpl: New file.
29089         * m4/frexpl.m4: New file.
29090         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
29091         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
29092         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
29093         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
29094         (Depends-on): Add frexpl. Remove isnanl-nolibm.
29095         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
29096
29097 2007-03-22  Bruno Haible  <bruno@clisp.org>
29098
29099         * lib/frexpl.c: Share code with lib/frexp.c.
29100         * modules/mathl (Files): Add lib/frexp.c.
29101         (Depends-on): Add isnanl-nolibm.
29102
29103 2007-03-22  Bruno Haible  <bruno@clisp.org>
29104
29105         * modules/printf-frexp (Files): Add m4/frexp.m4.
29106         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
29107         only if the found frexp function actually works.
29108
29109 2007-03-22  Bruno Haible  <bruno@clisp.org>
29110
29111         * lib/frexp.c: Remove older implementation that uses divisions.
29112
29113 2007-03-21  Bruno Haible  <bruno@clisp.org>
29114
29115         * modules/frexp-tests: New file.
29116         * tests/test-frexp.c: New file.
29117
29118         * modules/frexp: New file.
29119         * lib/frexp.c: New file.
29120         * m4/frexp.m4: New file.
29121         * lib/math_.h (frexp): New declaration.
29122         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
29123         REPLACE_FREXP.
29124         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
29125
29126 2007-03-21  Bruno Haible  <bruno@clisp.org>
29127
29128         * modules/isnanl-tests: New file.
29129         * tests/test-isnanl.c: New file.
29130
29131         * modules/isnanl: New file.
29132         * lib/isnanl.h: New file.
29133         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
29134         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
29135         gl_FUNC_ISNANL_WORKS.
29136         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
29137         New macros.
29138
29139 2007-03-21  Bruno Haible  <bruno@clisp.org>
29140
29141         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
29142         lib/isnanl.h.
29143         (Include): Update.
29144         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
29145         * lib/vasnprintf.c: Update.
29146         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
29147         tests/test-isnanl.h, remove tests/test-isnanl.c.
29148         (Makefile.am): Update.
29149         * tests/test-isnanl-nolibm.c: New file.
29150         * tests/test-isnanl.h: New file.
29151         * tests/test-isnanl.c: Remove file.
29152
29153 2007-03-21  Jim Meyering  <jim@meyering.net>
29154
29155         When trying to open ".", treat ESTALE like EACCES.
29156         * lib/savewd.c (savewd_save): Resort to forking not just upon
29157         failure with EACCES, but also when errno is ESTALE.
29158
29159 2007-03-20  Bruno Haible  <bruno@clisp.org>
29160
29161         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
29162         Needed on AIX 5.1. Reported by Matthew Woehlke.
29163
29164 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29165
29166         Suggestions by Bruno Haible:
29167         * lib/acl-internal.h: Include "gettext.h" rather than rolling
29168         our own.
29169         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
29170         * modules/acl (Depends-on): Add gettext.
29171
29172 2007-03-19  Bruno Haible  <bruno@clisp.org>
29173
29174         * modules/iconvme: Remove file.
29175         * lib/iconvme.h: Remove file.
29176         * lib/iconvme.c: Remove file.
29177         * m4/iconvme.m4: Remove file.
29178
29179 2007-03-19  Bruno Haible  <bruno@clisp.org>
29180
29181         * doc/relocatable-maint.texi: Break long shell script line.
29182         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
29183
29184 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29185
29186         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
29187         handle file_has_acl.
29188         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
29189         * lib/acl.c: Move header inclusions and related macro defns into
29190         lib/acl-internal.h.
29191         (S_ISLNK): Remove defn, since that's now done for us.
29192         (file_has_acl): Move to lib/file-has-acl.c.
29193         Call acl_trivial if available.  This is the crucial part of the fix.
29194         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
29195         shared within the library.  Rewrite a bit, partly to make it compatible
29196         with the GNU coding style.
29197         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
29198         Remove unnecessary double-quotes.
29199         Don't test for acl_to_text; the build will catch that.
29200         Replace acl_entries if it doesn't exist and it is needed.
29201         Check for -lsec and acl_trivial (as used on Solaris 10).
29202         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
29203         lib/file-has-acl.c.
29204         (Depends-on): Add sys_stat, for S_ISLNK.
29205
29206 2007-03-19  Ben Pfaff  <blp@gnu.org>
29207
29208         * doc/gnulib.texi: Fix typos.
29209         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
29210
29211 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
29212
29213         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
29214         If size is zero here, buf must be zero.
29215
29216 2007-03-19  Simon Josefsson  <simon@josefsson.org>
29217
29218         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
29219         <bruno@clisp.org>.
29220
29221 2007-03-18  Bruno Haible  <bruno@clisp.org>
29222
29223         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
29224         Suggested by Eric Blake.
29225
29226 2007-03-18  Ben Pfaff  <blp@gnu.org>
29227
29228         * doc/relocatable.texi: Recommend using as prefix a directory
29229         that does not exist and will never be created.  Based on
29230         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
29231         and others.
29232
29233 2007-03-17  Bruno Haible  <bruno@clisp.org>
29234
29235         * lib/fchownat.c: Include lchown.h.
29236
29237 2007-03-17  Bruno Haible  <bruno@clisp.org>
29238
29239         Fix endless loop when the given allocated size was > INT_MAX.
29240         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
29241         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
29242         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
29243         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
29244         * lib/sprintf.c (sprintf): Likewise.
29245
29246 2007-03-17  Bruno Haible  <bruno@clisp.org>
29247
29248         * tests/test-argp-2.sh (func_compare): Output a context diff.
29249
29250 2007-03-17  Bruno Haible  <bruno@clisp.org>
29251
29252         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
29253         locale's decimal-point character.
29254
29255 2007-03-17  Bruno Haible  <bruno@clisp.org>
29256
29257         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
29258         before comparing it. Needed because on some platforms (e.g. x86) a
29259         'long double' occupies less bytes than sizeof (long double).
29260
29261 2007-03-17  Bruno Haible  <bruno@clisp.org>
29262
29263         * tests/test-crc.c (main): Make printf statements 64-bit clean.
29264         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
29265         * tests/test-getaddrinfo.c (simple): Likewise.
29266         * tests/test-read-file.c (main): Likewise.
29267
29268 2007-03-17  Bruno Haible  <bruno@clisp.org>
29269
29270         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
29271
29272 2007-03-17  Bruno Haible  <bruno@clisp.org>
29273
29274         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
29275         unused variable.
29276
29277 2007-03-17  Bruno Haible  <bruno@clisp.org>
29278
29279         * tests/test-c-strcasecmp.c: Include c-strcase.h.
29280         * tests/test-c-strncasecmp.c: Likewise.
29281
29282 2007-03-17  Bruno Haible  <bruno@clisp.org>
29283
29284         * modules/stdlib (Depends-on): Add unistd.
29285         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
29286         Needed for MacOS X 10.3.
29287
29288 2007-03-17  Bruno Haible  <bruno@clisp.org>
29289
29290         * lib/unistr/u-strdup.h: Include <stdlib.h>.
29291
29292 2007-03-17  Bruno Haible  <bruno@clisp.org>
29293
29294         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
29295
29296 2007-03-17  Bruno Haible  <bruno@clisp.org>
29297
29298         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
29299         to reflect files copied from gnulib (with or without modifications).
29300         Suggested by Jim Meyering.
29301
29302 2007-03-17  Eric Blake  <ebb9@byu.net>
29303
29304         * NEWS: Document stdlib change from 2007-02-18.
29305
29306 2007-03-17  Jim Meyering  <jim@meyering.net>
29307
29308         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
29309         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
29310         someone uses a name containing shell meta-characters.
29311         Reported by Alfred M. Szmidt.
29312
29313         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
29314
29315 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
29316
29317         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
29318         and copy gettext configuration files only if configure.ac contains
29319         a use of AM_GNU_GETTEXT_VERSION.
29320
29321 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
29322
29323         * build-aux/bootstrap (gnulib_name): New variable.
29324         (gnulib_tool_options): Use it.
29325
29326 2007-03-13  Simon Josefsson  <simon@josefsson.org>
29327
29328         * tests/test-des.c: Use new namespace.
29329
29330 2007-03-15  Bruno Haible  <bruno@clisp.org>
29331
29332         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
29333         Reported by James Youngman <jay@gnu.org>.
29334
29335 2007-03-15  Bruno Haible  <bruno@clisp.org>
29336
29337         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
29338         declared prototype. Needed with cc on OSF/1 5.1.
29339
29340 2007-03-15  Bruno Haible  <bruno@clisp.org>
29341
29342         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
29343         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
29344         (struct gl_list_implementation): Add dispose_fn argument to the
29345         'create_empty', 'create' methods.
29346         (struct gl_list_impl_base): Add field 'dispose_fn'.
29347         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
29348         argument.
29349         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
29350         dispose_fn argument.
29351         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
29352         dispose_fn on the dropped values.
29353         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
29354         dispose_fn argument.
29355         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
29356         dropped values.
29357         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
29358         (gl_tree_remove_node): Call dispose_fn on the dropped value.
29359         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
29360         (gl_tree_remove_node): Call dispose_fn on the dropped value.
29361         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
29362         argument.
29363         (gl_tree_list_free): Call dispose_fn on the dropped values.
29364         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
29365         the dropped values.
29366         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
29367         Add dispose_fn argument.
29368         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
29369         Call dispose_fn on the dropped values.
29370         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
29371         Add dispose_fn argument.
29372         (gl_sublist_create): Initialize the 'dispose_fn' field.
29373         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
29374         * tests/test-array_list.c (main): Update.
29375         * tests/test-carray_list.c (main): Update.
29376         * tests/test-avltree_list.c (main): Update.
29377         * tests/test-rbtree_list.c (main): Update.
29378         * tests/test-avltreehash_list.c (main): Update.
29379         * tests/test-rbtreehash_list.c (main): Update.
29380         * tests/test-linked_list.c (main): Update.
29381         * tests/test-linkedhash_list.c (main): Update.
29382         * tests/test-array_oset.c (main): Update.
29383
29384 2007-03-15  Bruno Haible  <bruno@clisp.org>
29385
29386         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
29387         (gl_oset_create_empty): Add dispose_fn argument.
29388         (struct gl_oset_implementation): Add dispose_fn argument to
29389         'create_empty' method.
29390         (struct gl_oset_impl_base): Add dispose_fn field.
29391         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
29392         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
29393         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
29394         values.
29395         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
29396         (gl_tree_oset_free): Call dispose_fn on the dropped values.
29397         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
29398         dropped value.
29399         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
29400         dropped value.
29401         * tests/test-array_oset.c (main): Update.
29402         * tests/test-avltree_oset.c (main): Update.
29403         * tests/test-rbtree_oset.c (main): Update.
29404         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
29405
29406 2007-03-13  Bruno Haible  <bruno@clisp.org>
29407
29408         * tests/test-stdbool.c (i): Update after last patch.
29409
29410 2007-03-12  Bruno Haible  <bruno@clisp.org>
29411
29412         * lib/quotearg.c: Include <wctype.h> early, before the definition of
29413         the iswprint macro. Needed on Solaris 2.5.1.
29414
29415 2007-03-12  Bruno Haible  <bruno@clisp.org>
29416
29417         * tests/test-printf-frexp.c (main): Declare x as volatile.
29418
29419 2007-03-12  Simon Josefsson  <simon@josefsson.org>
29420
29421         * doc/gnulib.texi (Build robot for gnulib): New section.
29422
29423 2007-03-12  Jim Meyering  <jim@meyering.net>
29424
29425         * build-aux/bootstrap: New file.
29426         * build-aux/bootstrap.conf: New file, from coreutils.
29427
29428 2007-03-11  Bruno Haible  <bruno@clisp.org>
29429
29430         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
29431
29432 2007-03-12  Simon Josefsson  <simon@josefsson.org>
29433
29434         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
29435         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
29436         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
29437
29438 2007-03-11  Bruno Haible  <bruno@clisp.org>
29439
29440         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
29441         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
29442
29443 2007-03-11  Bruno Haible  <bruno@clisp.org>
29444
29445         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
29446         formula. Needed for SunPRO C 5.0.
29447
29448 2007-03-11  Bruno Haible  <bruno@clisp.org>
29449
29450         * modules/long-options (Depends-on): Add getopt.
29451
29452 2007-03-11  Bruno Haible  <bruno@clisp.org>
29453
29454         * modules/modechange (Depends-on): Add stdbool.
29455
29456 2007-03-11  Bruno Haible  <bruno@clisp.org>
29457
29458         * modules/i-ring (Depends-on): Add stdbool.
29459
29460 2007-03-11  Bruno Haible  <bruno@clisp.org>
29461
29462         * modules/gc-des (Depends-on): Add stdbool.
29463
29464 2007-03-11  Bruno Haible  <bruno@clisp.org>
29465
29466         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
29467
29468 2007-03-11  Bruno Haible  <bruno@clisp.org>
29469
29470         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
29471
29472 2007-03-11  Bruno Haible  <bruno@clisp.org>
29473
29474         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
29475
29476 2007-03-11  Bruno Haible  <bruno@clisp.org>
29477
29478         * lib/vasnprintf.c (sprintf): Undefine.
29479
29480 2007-03-11  Bruno Haible  <bruno@clisp.org>
29481
29482         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
29483         initializers in SunPRO C and Compaq C compilers.
29484
29485 2007-03-11  Bruno Haible  <bruno@clisp.org>
29486
29487         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
29488         decrementing code ANSI C compliant.
29489
29490 2007-03-11  Bruno Haible  <bruno@clisp.org>
29491
29492         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
29493         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
29494
29495 2007-03-11  Bruno Haible  <bruno@clisp.org>
29496
29497         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
29498         <stdbool.h> substitute doesn't pass.
29499
29500 2007-03-11  Bruno Haible  <bruno@clisp.org>
29501
29502         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
29503
29504 2007-03-11  Bruno Haible  <bruno@clisp.org>
29505
29506         * gnulib-tool (func_create_megatestdir): Create also an autobuild
29507         script, for submission to autobuild.josefsson.org.
29508
29509 2007-03-10  Bruno Haible  <bruno@clisp.org>
29510
29511         * modules/canonicalize-lgpl-tests: New file.
29512         * tests/test-canonicalize-lgpl.sh: New file.
29513         * tests/test-canonicalize-lgpl.c: New file.
29514
29515         * modules/c-strcase-tests: New file.
29516         * tests/test-c-strcase.sh: New file.
29517         * tests/test-c-strcasecmp.c: New file.
29518         * tests/test-c-strncasecmp.c: New file.
29519
29520         * modules/atexit-tests: New file.
29521         * tests/test-atexit.sh: New file.
29522         * tests/test-atexit.c: New file.
29523
29524 2007-03-10  Bruno Haible  <bruno@clisp.org>
29525
29526         * tests/test-binary-io.sh: Use temporary filenames that are not so
29527         likely to clash with those of other tests (in a parallel make).
29528         * tests/test-binary-io.c: Likewise.
29529
29530 2007-03-10  Bruno Haible  <bruno@clisp.org>
29531
29532         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
29533         fallback; use #error instead.
29534         Suggested by Simon Josefsson.
29535
29536 2007-03-10  Bruno Haible  <bruno@clisp.org>
29537
29538         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
29539         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
29540         first and the last.
29541
29542 2007-03-10  Bruno Haible  <bruno@clisp.org>
29543
29544         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
29545
29546 2007-03-10  Bruno Haible  <bruno@clisp.org>
29547
29548         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
29549         "make distcheck".
29550         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
29551         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
29552         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
29553
29554 2007-03-10  Bruno Haible  <bruno@clisp.org>
29555
29556         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
29557         variable.
29558         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
29559         variable.
29560
29561 2007-03-09  Eric Blake  <ebb9@byu.net>
29562         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
29563
29564         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
29565         types are not being provided by gnulib.
29566         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
29567         types are supported.
29568
29569 2007-03-10  Bruno Haible  <bruno@clisp.org>
29570
29571         * lib/stdio_.h (__attribute__): New macro.
29572         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
29573         vsprintf): Specify __attribute__ __format__ for GCC.
29574         Suggested by Eric Blake.
29575
29576 2007-03-09  Bruno Haible  <bruno@clisp.org>
29577
29578         * modules/printf-posix-tests: New file.
29579         * tests/test-printf-posix.sh: New file.
29580         * tests/test-printf-posix.c: New file.
29581
29582         * modules/printf-posix: New file.
29583         * lib/printf.c: New file.
29584         * m4/printf-posix-rpl.m4: New file.
29585         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
29586         REPLACE_PRINTF.
29587         * lib/stdio_.h (printf): New declaration.
29588         (format, __format__, ____printf____, ____scanf____, ____strftime____,
29589         ____strfmon____): New macros.
29590         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
29591         REPLACE_PRINTF.
29592
29593 2007-03-09  Bruno Haible  <bruno@clisp.org>
29594
29595         * tests/test-vasnprintf-posix2.sh: New file.
29596         * tests/test-vasnprintf-posix2.c: New file.
29597         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
29598         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
29599         (Makefile.am): Activate test-vasnprintf-posix2.sh.
29600
29601         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
29602         a locale dependent decimal point, rather than always '.'.
29603
29604 2007-03-09  Eric Blake  <ebb9@byu.net>
29605
29606         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
29607         spite of platforms like Tandem/NSK that define it to -1.
29608
29609 2007-03-08  Bruno Haible  <bruno@clisp.org>
29610
29611         * modules/vprintf-posix-tests: New file.
29612         * tests/test-vprintf-posix.sh: New file.
29613         * tests/test-vprintf-posix.c: New file.
29614         * tests/test-printf-posix.h: New file.
29615
29616         * modules/vprintf-posix: New file.
29617         * lib/vprintf.c: New file.
29618         * m4/vprintf-posix.m4: New file.
29619         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
29620         REPLACE_VPRINTF.
29621         * lib/stdio_.h (vprintf): New declaration.
29622         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
29623         REPLACE_VPRINTF.
29624
29625 2007-03-08  Bruno Haible  <bruno@clisp.org>
29626
29627         * modules/fprintf-posix-tests: New file.
29628         * tests/test-fprintf-posix.sh: New file.
29629         * tests/test-fprintf-posix.c: New file.
29630
29631         * modules/fprintf-posix: New file.
29632         * lib/fprintf.c: New file.
29633         * m4/fprintf-posix.m4: New file.
29634         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
29635         REPLACE_FPRINTF.
29636         * lib/stdio_.h (fprintf): New declaration.
29637         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
29638         REPLACE_FPRINTF.
29639
29640 2007-03-08  Bruno Haible  <bruno@clisp.org>
29641
29642         * modules/vfprintf-posix-tests: New file.
29643         * tests/test-vfprintf-posix.sh: New file.
29644         * tests/test-vfprintf-posix.c: New file.
29645         * tests/test-fprintf-posix.h: New file.
29646         * tests/test-fprintf-posix.out: New file.
29647
29648         * modules/vfprintf-posix: New file.
29649         * lib/vfprintf.c: New file.
29650         * m4/vfprintf-posix.m4: New file.
29651         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
29652         REPLACE_VFPRINTF.
29653         * lib/stdio_.h (vfprintf): New declaration.
29654         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
29655         REPLACE_VFPRINTF.
29656
29657 2007-03-08  Bruno Haible  <bruno@clisp.org>
29658
29659         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
29660
29661 2007-03-08  Bruno Haible  <bruno@clisp.org>
29662
29663         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
29664         instead of 'expr' invocations.
29665         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
29666         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
29667         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
29668         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
29669         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
29670         Suggested by Paul Eggert.
29671
29672 2007-03-08  Bruno Haible  <bruno@clisp.org>
29673
29674         * modules/fseterr-tests: New file.
29675         * tests/test-fseterr.c: New file.
29676
29677         * modules/fseterr: New file.
29678         * lib/fseterr.h: New file.
29679         * lib/fseterr.c: New file.
29680
29681 2007-03-08  Bruno Haible  <bruno@clisp.org>
29682
29683         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
29684         * lib/getopt_.h: Likewise.
29685         * lib/mbswidth.h: Likewise.
29686         * lib/setenv.h: Likewise.
29687         * lib/vasnprintf.h: Likewise.
29688         * lib/vasprintf.h: Likewise.
29689         * lib/verror.h: Likewise.
29690         * lib/xsetenv.h: Likewise.
29691         * lib/xvasprintf.h: Likewise.
29692
29693 2007-03-08  Jim Meyering  <jim@meyering.net>
29694
29695         * users.txt: Add parted.
29696
29697         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
29698
29699 2007-03-07  Bruno Haible  <bruno@clisp.org>
29700
29701         * m4/printf.m4: Make the shell script snippets copy&pastable.
29702
29703 2007-03-02  Bruno Haible  <bruno@clisp.org>
29704
29705         * lib/netinet_in_.h: New file.
29706         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
29707         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
29708         * modules/netinet_in (Files): Add lib/netinet_in_.h.
29709         (Depends-on): Add absolute-header.
29710         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
29711         into netinet/in.h.
29712
29713 2007-03-03  Bruno Haible  <bruno@clisp.org>
29714
29715         * lib/sys_select_.h: New file.
29716         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
29717         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
29718         * modules/sys_select (Files): Add lib/sys_select_.h.
29719         (Depends-on): Add absolute-header.
29720         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
29721         into sys/select.h.
29722
29723 2007-03-02  Bruno Haible  <bruno@clisp.org>
29724
29725         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
29726         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
29727         values.
29728         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
29729         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
29730         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
29731         * modules/sys_socket (Depends-on): Add absolute-header.
29732         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
29733         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
29734         (Include): Remove requirement of inclusion of <sys/types.h>.
29735
29736 2007-03-02  Bruno Haible  <bruno@clisp.org>
29737
29738         * lib/byteswap_.h (bswap_32): Fix formula.
29739
29740 2007-03-06  Bruno Haible  <bruno@clisp.org>
29741
29742         * modules/sprintf-posix-tests: New file.
29743         * tests/test-sprintf-posix.c: New file.
29744
29745         * modules/sprintf-posix: New file.
29746         * lib/sprintf.c: New file.
29747         * m4/sprintf-posix.m4: New file.
29748         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
29749         REPLACE_SPRINTF.
29750         * lib/stdio_.h (sprintf): New declaration.
29751         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
29752         REPLACE_SPRINTF.
29753
29754 2007-03-06  Bruno Haible  <bruno@clisp.org>
29755
29756         * modules/vsprintf-posix-tests: New file.
29757         * tests/test-vsprintf-posix.c: New file.
29758         * tests/test-sprintf-posix.h: New file.
29759
29760         * modules/vsprintf-posix: New file.
29761         * lib/vsprintf.c: New file.
29762         * m4/vsprintf-posix.m4: New file.
29763         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
29764         REPLACE_VSPRINTF.
29765         * lib/stdio_.h (vsprintf): New declaration.
29766         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
29767         REPLACE_VSPRINTF.
29768
29769 2007-03-06  Bruno Haible  <bruno@clisp.org>
29770
29771         * modules/vsnprintf (Depend-on): Remove minmax.
29772
29773 2007-03-06  Bruno Haible  <bruno@clisp.org>
29774
29775         * modules/snprintf-posix-tests: New file.
29776         * tests/test-snprintf-posix.c: New file.
29777
29778         * modules/snprintf-posix: New file.
29779         * m4/snprintf-posix.m4: New file.
29780         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
29781         gl_FUNC_SNPRINTF.
29782         (gl_FUNC_SNPRINTF): Invoke it.
29783         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
29784         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
29785         is set.
29786         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
29787
29788 2007-03-06  Bruno Haible  <bruno@clisp.org>
29789
29790         * modules/vsnprintf-posix-tests: New file.
29791         * tests/test-vsnprintf-posix.c: New file.
29792         * tests/test-snprintf-posix.h: New file.
29793
29794         * modules/vsnprintf-posix: New file.
29795         * m4/vsnprintf-posix.m4: New file.
29796         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
29797         gl_FUNC_VSNPRINTF.
29798         (gl_FUNC_VSNPRINTF): Invoke it.
29799         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
29800         * lib/stdio_.h (vsnprintf): Define as a replacement if
29801         REPLACE_VSNPRINTF is set.
29802         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
29803
29804 2007-03-06  Bruno Haible  <bruno@clisp.org>
29805
29806         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
29807         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
29808
29809 2007-03-06  Bruno Haible  <bruno@clisp.org>
29810
29811         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
29812         (asinl): Declare also if HAVE_DECL_ASINL is set.
29813         (atanl): Declare also if HAVE_DECL_ATANL is set.
29814         (ceill): Declare also if HAVE_DECL_CEILL is set.
29815         (cosl): Declare also if HAVE_DECL_COSL is set.
29816         (expl): Declare also if HAVE_DECL_EXPL is set.
29817         (floorl): Declare also if HAVE_DECL_FLOORL is set.
29818         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
29819         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
29820         (logl): Declare also if HAVE_DECL_LOGL is set.
29821         (sinl): Declare also if HAVE_DECL_SINL is set.
29822         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
29823         (tanl): Declare also if HAVE_DECL_TANL is set.
29824         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
29825         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
29826         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
29827         declaration of frexpl, ldexpl.
29828         * modules/printf-frexpl (Depends-on): Add math.
29829         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
29830
29831 2007-03-05  Bruno Haible  <bruno@clisp.org>
29832
29833         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
29834         frexpl and ldexpl are declared.
29835         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
29836
29837 2007-03-05  Bruno Haible  <bruno@clisp.org>
29838
29839         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
29840         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
29841
29842 2007-03-05  Bruno Haible  <bruno@clisp.org>
29843
29844         * lib/stdio_.h: Include <stddef.h>.
29845
29846 2007-03-05  Bruno Haible  <bruno@clisp.org>
29847
29848         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
29849
29850 2007-03-05  Bruno Haible  <bruno@clisp.org>
29851
29852         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
29853         NetBSD 4, from Ralf Wildenhues.
29854
29855 2007-03-04  Bruno Haible  <bruno@clisp.org>
29856
29857         * lib/vasprintf.h: Update #if logic for the case when the functions
29858         exist but are overridden.
29859
29860 2007-03-04  Bruno Haible  <bruno@clisp.org>
29861
29862         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
29863         implementations: glibc-2.4 and MacOS X 10.3.
29864         * tests/test-vasnprintf-posix.c (test_function): Test also the case
29865         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
29866         * tests/test-vasprintf-posix.c (test_function): Likewise.
29867
29868 2007-03-04  Bruno Haible  <bruno@clisp.org>
29869
29870         * modules/vasprintf-posix-tests: New file.
29871         * tests/test-vasprintf-posix.c: New file.
29872
29873         * modules/vasprintf-posix: New file.
29874         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
29875         defined.
29876         * m4/vasprintf-posix.m4: New file.
29877         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
29878         gl_FUNC_VASPRINTF.
29879         (gl_FUNC_VASPRINTF): Invoke it.
29880         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
29881         here.
29882         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
29883
29884 2007-03-04  Bruno Haible  <bruno@clisp.org>
29885
29886         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
29887         REPLACE_GETTIMEOFDAY.
29888         * modules/sys_time (Makefile.am): Likewise.
29889         * m4/sys_time_h.m4: Likewise.
29890         * m4/gettimeofday.m4: Likewise.
29891
29892 2007-03-04  Bruno Haible  <bruno@clisp.org>
29893
29894         * modules/vasnprintf-posix-tests: New file.
29895         * tests/test-vasnprintf-posix.c: New file.
29896
29897         * modules/vasnprintf-posix: New file.
29898         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
29899         printf-frexpl.h.
29900         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
29901         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
29902         REPLACE_VASNPRINTF is defined.
29903         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
29904         gl_FUNC_VASNPRINTF.
29905         (gl_FUNC_VASNPRINTF): Invoke it.
29906         * m4/vasnprintf-posix.m4: New file.
29907         * m4/printf.m4: New file.
29908
29909 2007-03-04  Bruno Haible  <bruno@clisp.org>
29910
29911         Compile progreloc.c only if --enable-relocatable is specified.
29912         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
29913         if --enable-relocatable was specified.
29914         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
29915         lib_SOURCES.
29916
29917 2007-03-04  Jim Meyering  <jim@meyering.net>
29918
29919         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
29920         Use it consistently, rather than enumerating errno constants.
29921
29922 2007-03-04  Bruno Haible  <bruno@clisp.org>
29923
29924         * modules/xvasprintf-tests: New file.
29925         * tests/test-xvasprintf.c: New file.
29926
29927         * modules/vasprintf-tests: New file.
29928         * tests/test-vasprintf.c: New file.
29929
29930         * modules/vasnprintf-tests: New file.
29931         * tests/test-vasnprintf.c: New file.
29932
29933         * modules/vsnprintf-tests: New file.
29934         * tests/test-vsnprintf.c: New file.
29935
29936         * modules/snprintf-tests: New file.
29937         * tests/test-snprintf.c: New file.
29938
29939 2007-03-04  Bruno Haible  <bruno@clisp.org>
29940
29941         Compile relocatable.c only if --enable-relocatable is specified.
29942         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
29943         gl_RELOCATABLE_LIBRARY.
29944         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
29945         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
29946         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
29947         gl_RELOCATABLE_LIBRARY.
29948         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
29949         (Makefile.am): Remove lib_SOURCES.
29950         * modules/relocatable-lib-lgpl (configure.ac): Invoke
29951         gl_RELOCATABLE_LIBRARY.
29952         (Makefile.am): Remove lib_SOURCES.
29953         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
29954         always.
29955         * modules/relocatable-prog-wrapper (configure.ac): Invoke
29956         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
29957
29958 2007-03-04  Bruno Haible  <bruno@clisp.org>
29959
29960         * modules/argmatch-tests: New file.
29961         * tests/test-argmatch.c: New file.
29962
29963         * tests/test-allocsa.c (main): Halve the number of loop runs.
29964
29965         * modules/alloca-opt-tests: New file.
29966         * tests/test-alloca-opt.c: New file.
29967
29968 2007-03-04  Jim Meyering  <jim@meyering.net>
29969
29970         Work around difference between Linux ACLs and Solaris 10 ZFS.
29971         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
29972         for EINVAL.
29973
29974 2007-03-03  Bruno Haible  <bruno@clisp.org>
29975
29976         * modules/relocatable-prog (Depends-on): Add back progreloc's
29977         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
29978
29979 2007-03-03  Bruno Haible  <bruno@clisp.org>
29980
29981         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
29982         * modules/relocatable-lib: New file.
29983
29984 2007-03-03  Bruno Haible  <bruno@clisp.org>
29985
29986         * modules/relocatable-prog: Renamed from modules/relocatable.
29987         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
29988
29989 2007-03-03  Bruno Haible  <bruno@clisp.org>
29990
29991         * modules/relocatable-script (Files): Add doc/relocatable.texi,
29992         m4/relocatable-lib.m4.
29993         (Depends-on): Remove 'relocatable'.
29994         (configure.ac): Add gl_RELOCATABLE_NOP.
29995
29996 2007-03-03  Bruno Haible  <bruno@clisp.org>
29997
29998         * modules/relocatable-prog-wrapper: New file.
29999         * modules/relocatable (Depends-on): Add it. Remove all other
30000         dependencies except progname.
30001         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
30002
30003         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
30004         (gl_FUNC_STRERROR): Nop.
30005         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
30006
30007         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
30008         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
30009
30010         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
30011         (gl_FUNC_READLINK): Update.
30012
30013         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
30014
30015 2007-03-03  Bruno Haible  <bruno@clisp.org>
30016
30017         * lib/xreadlink.c: Include <unistd.h> unconditionally.
30018         * modules/xreadlink (Depends-on): Add unistd.
30019         * modules/xreadlink-with-size (Depends-on): Likewise.
30020
30021 2007-03-03  Bruno Haible  <bruno@clisp.org>
30022
30023         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
30024         extracted from gt_FUNC_SETENV.
30025         (gt_FUNC_SETENV): Remove macro.
30026         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
30027         remove gt_FUNC_SETENV.
30028
30029 2007-03-03  Bruno Haible  <bruno@clisp.org>
30030
30031         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
30032         ENABLE_RELOCATABLE here.
30033         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
30034
30035 2007-03-03  Bruno Haible  <bruno@clisp.org>
30036
30037         * modules/rbtreehash-list-tests (Depends-on): Add progname.
30038         * tests/test-rbtreehash_list.c: Include progname.h.
30039         (main): Call set_program_name.
30040
30041         * modules/rbtree-oset-tests (Depends-on): Add progname.
30042         * tests/test-rbtree_oset.c: Include progname.h.
30043         (main): Call set_program_name.
30044
30045         * modules/rbtree-list-tests (Depends-on): Add progname.
30046         * tests/test-rbtree_list.c: Include progname.h.
30047         (main): Call set_program_name.
30048
30049         * modules/linked-list-tests (Depends-on): Add progname.
30050         * tests/test-linked_list.c: Include progname.h.
30051         (main): Call set_program_name.
30052
30053 2007-03-03  Bruno Haible  <bruno@clisp.org>
30054
30055         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
30056         All uses of __restrict changed to _Restrict_.
30057         * lib/glob_.h (__restrict): Remove macro.
30058
30059 2007-03-02  Bruno Haible  <bruno@clisp.org>
30060
30061         * modules/gettext (configure.ac): Require gettext infrastructure
30062         from version 0.16.1.
30063
30064 2007-03-02  Bruno Haible  <bruno@clisp.org>
30065
30066         * modules/linkedhash-list-tests (Depends-on): Add progname.
30067         * tests/test-linkedhash_list.c: Include progname.h.
30068         (main): Call set_program_name.
30069
30070         * modules/carray-list-tests (Depends-on): Add progname.
30071         * tests/test-carray_list.c: Include progname.h.
30072         (main): Call set_program_name.
30073
30074         * modules/avltreehash-list-tests (Depends-on): Add progname.
30075         * tests/test-avltreehash_list.c: Include progname.h.
30076         (main): Call set_program_name.
30077
30078         * modules/avltree-oset-tests (Depends-on): Add progname.
30079         * tests/test-avltree_oset.c: Include progname.h.
30080         (main): Call set_program_name.
30081
30082         * modules/avltree-list-tests (Depends-on): Add progname.
30083         * tests/test-avltree_list.c: Include progname.h.
30084         (main): Call set_program_name.
30085
30086         * modules/array-oset-tests (Depends-on): Add progname.
30087         * tests/test-array_oset.c: Include progname.h.
30088         (main): Call set_program_name.
30089
30090         * modules/array-list-tests (Depends-on): Add progname.
30091         * tests/test-array_list.c: Include progname.h.
30092         (main): Call set_program_name.
30093
30094         * modules/argp-tests (Depends-on): Add progname.
30095         * tests/test-argp.c: Include argp.h first. Include progname.h.
30096         (main): Call set_program_name.
30097
30098 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
30099
30100         * doc/gnulib-tool.texi (Initial import): Reword description of
30101         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
30102         limited effect even if defined after the first system include.
30103
30104 2007-03-01  Bruno Haible  <bruno@clisp.org>
30105
30106         * build-aux/config.libpath: Update to libtool-1.5.22.
30107         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30108
30109 2007-03-01  Bruno Haible  <bruno@clisp.org>
30110
30111         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
30112         foo_CFLAGS.
30113         Reported by Ralf Wildenhues.
30114
30115 2007-03-01  Bruno Haible  <bruno@clisp.org>
30116
30117         * build-aux/install-reloc: Remove object files left over by some
30118         compilers.
30119         Reported by Ralf Wildenhues.
30120
30121 2007-03-01  Bruno Haible  <bruno@clisp.org>
30122
30123         * build-aux/install-reloc: Break long lines.
30124
30125 2007-03-01  Bruno Haible  <bruno@clisp.org>
30126
30127         * doc/relocatable.texi: Document that it may not work on OpenBSD.
30128         Reported by Ralf Wildenhues.
30129
30130 2007-03-01  Bruno Haible  <bruno@clisp.org>
30131
30132         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
30133         include ordering constraints.
30134
30135 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
30136
30137         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
30138         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
30139         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
30140         as another example.
30141         * lib/time_.h: Fix misspelling.
30142         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
30143         Require gl_HEADER_TIME_H_DEFAULTS.
30144         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
30145         * m4/time_r.m4 (gl_TIME_R): Likewise.
30146         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
30147
30148 2007-03-01  Bruno Haible  <bruno@clisp.org>
30149
30150         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
30151         * m4/utimens.m4 (gl_UTIMENS): Likewise.
30152
30153 2007-03-01  Jim Meyering  <jim@meyering.net>
30154
30155         * modules/xreadlink (Maintainer): Add my name.
30156         * modules/xreadlink-with-size (Depends-on): Alphabetize.
30157
30158 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
30159             Bruno Haible  <bruno@clisp.org>
30160
30161         * build-aux/install-reloc: Compile also c-ctype.c.
30162         * build-aux/relocatable.sh.in: New file.
30163         * doc/relocatable.texi: New file.
30164         * doc/relocatable-maint.texi: New file.
30165         * doc/gnulib.texi: Include relocatable-maint.texi.
30166         * lib/progreloc.c: Include unistd.h unconditionally.
30167         * lib/relocwrapper.c: Include unistd.h unconditionally.
30168         Include c-ctype.h.
30169         (add_dotbin): Use c_tolower.
30170         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
30171         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
30172         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
30173         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
30174         to m4/relocatable-lib.m4.
30175         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
30176         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
30177         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
30178         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
30179         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
30180         * modules/relocatable: New file.
30181         * modules/relocatable-lib: New file.
30182         * modules/relocatable-script: New file.
30183
30184 2007-02-28  Bruno Haible  <bruno@clisp.org>
30185
30186         Import --enable-relocatable infrastructure.
30187         * build-aux/config.libpath: New file, from GNU gettext.
30188         * build-aux/install-reloc: New file, from GNU gettext.
30189         * build-aux/reloc-ldflags: New file, from GNU gettext.
30190         * lib/relocatable.h: New file, from GNU gettext.
30191         * lib/relocatable.c: New file, from GNU gettext.
30192         * lib/relocwrapper.c: New file, from GNU gettext.
30193         * m4/relocatable.m4: New file, from GNU gettext.
30194
30195 2007-02-28  Bruno Haible  <bruno@clisp.org>
30196
30197         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
30198
30199         * modules/xreadlink: New file, from GNU gettext with modifications.
30200         * lib/xreadlink.c: New file, from GNU gettext.
30201         * lib/xreadlink.h: Add comments.
30202         (xreadlink): New declaration.
30203
30204         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
30205         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
30206         lib/xreadlink-with-size.c.
30207         (configure.ac): Remove gl_XREADLINK invocation.
30208         (Makefile.am): Augment lib_SOURCES.
30209         * m4/xreadlink.m4: Remove file.
30210         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
30211         (xreadlink_with_size): Renamed from xreadink.
30212         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
30213         * modules/canonicalize (Depends-on): Replace xreadlink with
30214         xreadlink-with-size.
30215         * lib/canonicalize.c (canonicalize_filename_mode): Update.
30216
30217 2007-02-25  Jim Meyering  <jim@meyering.net>
30218
30219         * build-aux/announce-gen: When complaining about excess arguments,
30220         list them.
30221
30222 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
30223
30224         * README: Document signed integer overflow situation more
30225         accurately.
30226
30227 2007-02-25  Bruno Haible  <bruno@clisp.org>
30228
30229         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
30230         'a' or 'A' conversion.
30231
30232 2007-02-25  Bruno Haible  <bruno@clisp.org>
30233
30234         * modules/filename: Renamed from modules/pathname.
30235         (Files): Replace lib/pathname.h with lib/filename.h. Replace
30236         lib/concatpath.c with lib/concat-filename.c.
30237         (Makefile.am): Update.
30238         (Include): Replace pathname.h with filename.h.
30239         * lib/filename.h: Renamed from lib/pathname.h.
30240         (concatenated_filename): Renamed from concatenated_pathname.
30241         * lib/concat-filename.c: Renamed from lib/concatpath.c.
30242         (concatenated_filename): Renamed from concatenated_pathname.
30243         * lib/findprog.c: Include filename.h instead of pathname.h.
30244         (find_in_path): Update.
30245         * lib/javacomp.c: Include filename.h instead of pathname.h.
30246         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
30247         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
30248         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
30249         is_oldgcj_14_13_usable, is_javac_usable): Update.
30250         * lib/javaexec.c: Include filename.h instead of pathname.h.
30251         (execute_java_class): Update.
30252         * modules/findprog: Update.
30253         * modules/javacomp: Update.
30254         * modules/javaexec: Update.
30255         * MODULES.html.sh (File system functions): Add 'filename', remove
30256         'pathname'.
30257
30258 2007-02-25  Bruno Haible  <bruno@clisp.org>
30259
30260         * modules/printf-frexpl-tests: New file.
30261         * tests/test-printf-frexpl.c: New file.
30262
30263         * modules/printf-frexpl: New file.
30264         * lib/printf-frexpl.h: New file.
30265         * lib/printf-frexpl.c: New file.
30266         * m4/printf-frexpl.m4: New file.
30267
30268 2007-02-25  Bruno Haible  <bruno@clisp.org>
30269
30270         * modules/printf-frexp-tests: New file.
30271         * tests/test-printf-frexp.c: New file.
30272
30273         * modules/printf-frexp: New file.
30274         * lib/printf-frexp.h: New file.
30275         * lib/printf-frexp.c: New file.
30276         * m4/printf-frexp.m4: New file.
30277
30278 2007-02-25  Bruno Haible  <bruno@clisp.org>
30279
30280         Assume automake >= 1.10 for the tests.
30281         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
30282         * modules/arctwo-tests: Likewise.
30283         * modules/argp-tests: Likewise.
30284         * modules/avltree-list-tests: Likewise.
30285         * modules/avltree-oset-tests: Likewise.
30286         * modules/avltreehash-list-tests: Likewise.
30287         * modules/carray-list-tests: Likewise.
30288         * modules/crc-tests: Likewise.
30289         * modules/des-tests: Likewise.
30290         * modules/gc-arcfour-tests: Likewise.
30291         * modules/gc-arctwo-tests: Likewise.
30292         * modules/gc-des-tests: Likewise.
30293         * modules/gc-hmac-md5-tests: Likewise.
30294         * modules/gc-hmac-sha1-tests: Likewise.
30295         * modules/gc-md2-tests: Likewise.
30296         * modules/gc-md4-tests: Likewise.
30297         * modules/gc-md5-tests: Likewise.
30298         * modules/gc-pbkdf2-sha1-tests: Likewise.
30299         * modules/gc-rijndael-tests: Likewise.
30300         * modules/gc-sha1-tests: Likewise.
30301         * modules/gc-tests: Likewise.
30302         * modules/getaddrinfo-tests: Likewise.
30303         * modules/hmac-md5-tests: Likewise.
30304         * modules/hmac-sha1-tests: Likewise.
30305         * modules/linked-list-tests: Likewise.
30306         * modules/linkedhash-list-tests: Likewise.
30307         * modules/lock-tests: Likewise.
30308         * modules/md2-tests: Likewise.
30309         * modules/md4-tests: Likewise.
30310         * modules/md5-tests: Likewise.
30311         * modules/rbtree-list-tests: Likewise.
30312         * modules/rbtree-oset-tests: Likewise.
30313         * modules/rbtreehash-list-tests: Likewise.
30314         * modules/read-file-tests: Likewise.
30315         * modules/rijndael-tests: Likewise.
30316         * modules/stdint-tests: Likewise.
30317         * modules/tls-tests: Likewise.
30318
30319 2007-02-24  Bruno Haible  <bruno@clisp.org>
30320
30321         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
30322         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
30323         function; instead check whether isnan with a double argument links.
30324         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
30325         function; instead check whether isnan with a 'long double' argument
30326         links.
30327         Reported by Eric Blake <ebb9@byu.net>.
30328
30329 2007-02-24  Bruno Haible  <bruno@clisp.org>
30330
30331         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
30332         defined.
30333         * lib/isnanl.c: Remove all code. Just include isnan.c.
30334         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
30335
30336 2007-02-25  Jim Meyering  <jim@meyering.net>
30337
30338         Avoid conflicting types for 'unsetenv' on FreeBSD.
30339         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
30340         conflicting with FreeBSD's (5.0 and 6.1) function declaration
30341         in stdlib.h.
30342
30343 2007-02-24  Bruno Haible  <bruno@clisp.org>
30344
30345         * modules/isnanl-nolibm-tests: New file.
30346         * tests/test-isnanl.c: New file.
30347
30348         * modules/isnanl-nolibm: New file.
30349         * lib/isnanl.h: New file.
30350         * lib/isnanl.c: New file.
30351         * m4/isnanl.m4: New file.
30352
30353 2007-02-24  Bruno Haible  <bruno@clisp.org>
30354
30355         * modules/isnan-nolibm-tests: New file.
30356         * tests/test-isnan.c: New file.
30357
30358         * modules/isnan-nolibm: New file.
30359         * lib/isnan.h: New file.
30360         * lib/isnan.c: New file.
30361         * m4/isnan.m4: New file.
30362
30363 2007-02-24  Bruno Haible  <bruno@clisp.org>
30364
30365         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
30366         assume that an exponent fits in 20 bits.
30367
30368 2007-02-24  Jim Meyering  <jim@meyering.net>
30369
30370         * m4/regex.m4: Update the description of the configure-time option,
30371         --without-included-regex, to state accurately what the defaults are,
30372         and perhaps to give people an idea why using this option is risky.
30373
30374 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
30375
30376         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
30377         loops on small arguments.  This attempts to avoid the problem
30378         Bruno Haible reported for AIX 4.3.2 in
30379         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
30380
30381 2007-02-23  Bruno Haible  <bruno@clisp.org>
30382
30383         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
30384         Needed for help2man.
30385
30386 2007-02-23  Karl Berry  <karl@gnu.org>
30387
30388         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
30389         exists, foo.h should be cvs-ignored, not committed.
30390
30391 2007-02-23  Eric Blake  <ebb9@byu.net>
30392
30393         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
30394         * lib/stat-time.h (includes): Likewise.
30395         * lib/utimecmp.c (includes): Likewise.
30396         * lib/utimens.h (includes): Likewise.
30397         * lib/getdate.y (includes): Also include "timespec.h" for use
30398         internal to the module.
30399         * modules/utimens (Depends-on): Revert yesterday's patch.
30400         * modules/nanosleep (Depends-on): Add missing dependency.
30401
30402 2007-02-22  Bruno Haible  <bruno@clisp.org>
30403
30404         * lib/glob.c: Don't include getlogin_r.h.
30405
30406 2007-02-22  Jim Meyering  <jim@meyering.net>
30407
30408         * modules/utimens (Depends-on): Add timespec, required for
30409         utimens.h's inclusion of timespec.h.
30410
30411 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
30412
30413         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
30414         long unreadable paths in GNU/Linux.  Problem reported by Andreas
30415         Schwab in
30416         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
30417         I'll try to think of a better way to fix the Solaris problem.
30418
30419         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
30420         like glibc; on Solaris 10, it fails with errno == EINVAL.
30421         POSIX says the behavior is unspecified if the first argument is NULL,
30422         so play it safe and never pass NULL to the system getcwd.
30423
30424 2007-02-21  Jim Meyering  <jim@meyering.net>
30425
30426         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
30427         of gettimeofday.  It would conflict with the one now always
30428         provided via sys_time_.h.  Reported by Matthew Woehlke, as
30429         an IRIX 6.5 build failure.
30430
30431 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
30432
30433         Minor fixups to port to Solaris 10 with Sun C 5.8.
30434         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
30435         * modules/getcwd (Depends-on): Add dirfd.
30436         * lib/putenv.c (putenv): #undef it.
30437         (rpl_putenv): New decl.
30438         (malloc, free): Include <stdlib.h> rather than prototyping separately.
30439
30440 2007-02-20  Bruno Haible  <bruno@clisp.org>
30441
30442         * modules/stdio-tests: New file.
30443         * tests/test-stdio.c: New file.
30444
30445         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
30446         (Depends-on): Add stdio.
30447         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
30448         (Include): Use <stdio.h> instead of vsnprintf.h.
30449         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
30450         HAVE_DECL_VSNPRINTF.
30451         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
30452
30453         * modules/snprintf (Files): Remove lib/snprintf.h.
30454         (Depends-on): Add stdio.
30455         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
30456         (Include): Use <stdio.h> instead of snprintf.h.
30457         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
30458         HAVE_DECL_SNPRINTF.
30459         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
30460         * lib/getaddrinfo.c: Likewise.
30461
30462         * modules/stdio: New file.
30463         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
30464         * lib/snprintf.h: Remove file.
30465         * lib/vsnprintf.h: Remove file.
30466         * lib/.cppi-disable: Remove snprintf.h.
30467         * m4/stdio_h.m4: New file.
30468         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
30469
30470 2007-02-20  Jim Meyering  <jim@meyering.net>
30471
30472         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
30473         used by e.g., mingw.  From Bruno Haible.
30474
30475 2007-02-19  Bruno Haible  <bruno@clisp.org>
30476
30477         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
30478         warnings.
30479         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30480
30481 2007-02-19  Bruno Haible  <bruno@clisp.org>
30482
30483         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
30484         from mingw users.
30485
30486 2007-02-19  Bruno Haible  <bruno@clisp.org>
30487
30488         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
30489         warnings.
30490         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
30491
30492 2007-02-19  Jim Meyering  <jim@meyering.net>
30493
30494         Don't use FD after a successful "fdopendir (fd)".
30495         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
30496         Reset it by calling dirfd on the just-obtained DIR*.
30497
30498         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
30499         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
30500
30501 2007-02-18  Bruno Haible  <bruno@clisp.org>
30502
30503         * lib/readlink.c: Include <unistd.h>.
30504         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
30505         HAVE_READLINK.
30506         * modules/readlink (Depends-on): Add unistd.
30507         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30508         (Include): Add <unistd.h>.
30509
30510         * lib/getlogin_r.h: Remove file.
30511         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
30512         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
30513         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
30514         HAVE_DECL_GETLOGIN_R.
30515         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
30516         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30517         (Include): Use <unistd.h> instead of getlogin_r.h.
30518
30519         * lib/getcwd.h: Remove file.
30520         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
30521         * lib/xgetcwd.c: Likewise.
30522         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
30523         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
30524         * modules/getcwd (Files): Remove lib/getcwd.h.
30525         (Depends-on): Add unistd.
30526         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30527         (Include): Use <unistd.h> instad of getcwd.h.
30528
30529         * lib/ftruncate.c: Include <unistd.h> first.
30530         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
30531         Set HAVE_FTRUNCATE.
30532         * modules/ftruncate (Depends-on): Add unistd.
30533         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30534
30535         * lib/fchdir.c: Include <unistd.h> first.
30536         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
30537         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
30538         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
30539         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30540         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
30541
30542         * lib/dup2.c: Include <unistd.h> first.
30543         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
30544         HAVE_DUP2.
30545         * modules/dup2 (Depends-on): Add unistd.
30546         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30547
30548         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
30549         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
30550         REPLACE_CHOWN. Don't define chown as a macro here.
30551         * modules/chown (Depends-on): Add unistd.
30552         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
30553
30554         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
30555         Add definition for GL_LINK_WARNING.
30556         (chown, dup2): New declarations.
30557         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
30558         link warning.
30559         (ftruncate): New declaration.
30560         (getcwd): New declaration, taken from old getcwd.h.
30561         (getlogin_r): New declaration, taken from old getlogin_r.h.
30562         (readlink): New declaration.
30563         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
30564         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
30565         (gl_PREREQ_UNISTD): Remove macro.
30566         (gl_UNISTD_MODULE_INDICATOR): New macro.
30567         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
30568         many new variables. Don't set UNISTD_H.
30569         * modules/unistd (Description): Change.
30570         (Depends-on): Add link-warning.
30571         (configure.ac): Update.
30572         (Makefile.am): Create unistd.h always. Substitute many new variables
30573         into it.
30574
30575 2007-02-18  Bruno Haible  <bruno@clisp.org>
30576
30577         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
30578         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
30579         HAVE_GETSUBOPT.
30580         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
30581         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
30582         * lib/getsubopt.h: Remove file.
30583         * modules/getsubopt (Files): Remove lib/getsubopt.h.
30584         (Depends-on): Add stdlib.
30585         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30586         (Includes): Use <stdlib.h> instead of getsubopt.h.
30587         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
30588         Set HAVE_GETSUBOPT.
30589         * lib/getsubopt.c: Don't include getsubopt.h.
30590
30591 2007-02-18  Bruno Haible  <bruno@clisp.org>
30592
30593         * modules/fchdir (Depends-on): Add dup2.
30594
30595 2007-02-18  Bruno Haible  <bruno@clisp.org>
30596
30597         * lib/stdlib_.h: Handle glibc's special invocation convention
30598         specially.
30599
30600 2007-02-18  Bruno Haible  <bruno@clisp.org>
30601
30602         * modules/stdlib-tests: New file.
30603         * tests/test-stdlib.c: New file.
30604
30605         * modules/mkstemp (Files): Remove lib/mkstemp.h.
30606         (Depends-on): Add stdlib.
30607         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30608         (Includes): Use <stdlib.h> instead of mkstemp.h.
30609         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
30610         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
30611         * lib/mkstemp.c: Don't include mkstemp.h.
30612         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
30613         * lib/stdlib--.h: Don't include mkstemp.h.
30614
30615         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
30616         (Depends-on): Add stdlib.
30617         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30618         (Includes): Use <stdlib.h> instead of mkdtemp.h.
30619         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
30620         HAVE_MKDTEMP.
30621         * lib/mkdtemp.c: Don't include mkdtemp.h.
30622         * lib/clean-temp.c: Don't include mkdtemp.h.
30623
30624         * modules/exit (Files): Remove lib/exit.h.
30625         (Depends-on): Add stdlib.
30626         (Makefile.am): Remove lib_SOURCES.
30627         (Include): Use <stdlib.h> instead of exit.h.
30628         * lib/argmatch.c: Don't include exit.h.
30629         * lib/execute.c: Likewise.
30630         * lib/pagealign_alloc.c: Likewise.
30631         * lib/pipe.c: Likewise.
30632         * lib/wait-process.c: Likewise.
30633         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
30634         * lib/exitfail.c: Likewise.
30635         * lib/savewd.c: Likewise.
30636         * lib/xsetenv.c: Likewise.
30637
30638         * modules/stdlib: New file.
30639         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
30640         and extra comments about mkstemp().
30641         * lib/exit.h: Remove file.
30642         * lib/mkdtemp.h: Remove file.
30643         * lib/mkstemp.h: Remove file.
30644         * m4/stdlib_h.m4: New file.
30645         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
30646
30647 2007-02-18  Bruno Haible  <bruno@clisp.org>
30648
30649         * modules/math-tests: New file.
30650         * tests/test-math.c: New file.
30651
30652         * modules/math: New file.
30653         * modules/mathl (Files): Remove lib/mathl.h.
30654         (Depends-on): Add math.
30655         (Makefile.am): Don't mention mathl.h.
30656         (Include): Use <math.h> instead of mathl.h.
30657         * lib/math_.h: New file.
30658         * lib/mathl.h: Remove file.
30659         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
30660         mathl.h.
30661         * lib/asinl.c: Likewise.
30662         * lib/atanl.c: Likewise.
30663         * lib/ceill.c: Likewise.
30664         * lib/cosl.c: Likewise.
30665         * lib/expl.c: Likewise.
30666         * lib/floorl.c: Likewise.
30667         * lib/frexpl.c: Likewise.
30668         * lib/ldexpl.c: Likewise.
30669         * lib/logl.c: Likewise.
30670         * lib/sincosl.c: Likewise.
30671         * lib/sinl.c: Likewise.
30672         * lib/sqrtl.c: Likewise.
30673         * lib/tanl.c: Likewise.
30674         * lib/trigl.c: Likewise.
30675         * m4/math_h.m4: New file.
30676         * MODULES.html.sh (Mathematics): Add math.
30677
30678 2007-02-17  Bruno Haible  <bruno@clisp.org>
30679
30680         * modules/wctype-tests: New file.
30681         * tests/test-wctype.c: New file.
30682
30683         * modules/wchar-tests: New file.
30684         * tests/test-wchar.c: New file.
30685
30686         * modules/unistd-tests: New file.
30687         * tests/test-unistd.c: New file.
30688
30689         * modules/time-tests: New file.
30690         * tests/test-time.c: New file.
30691
30692         * modules/sysexits-tests: New file.
30693         * tests/test-sysexits.c: New file.
30694
30695         * modules/sys_time-tests: New file.
30696         * tests/test-sys_time.c: New file.
30697
30698         * modules/sys_stat-tests: New file.
30699         * tests/test-sys_stat.c: New file.
30700
30701         * modules/sys_socket-tests: New file.
30702         * tests/test-sys_socket.c: New file.
30703
30704         * modules/sys_select-tests: New file.
30705         * tests/test-sys_select.c: New file.
30706
30707         * modules/string-tests: New file.
30708         * tests/test-string.c: New file.
30709
30710         * modules/stdbool-tests: New file.
30711         * tests/test-stdbool.c: New file.
30712
30713         * modules/netinet_in-tests: New file.
30714         * tests/test-netinet_in.c: New file.
30715
30716         * modules/inttypes-tests: New file.
30717         * tests/test-inttypes.c: New file.
30718
30719         * modules/fcntl-tests: New file.
30720         * tests/test-fcntl.c: New file.
30721
30722         * modules/byteswap-tests: New file.
30723         * tests/test-byteswap.c: New file.
30724
30725         * modules/arpa_inet-tests: New file.
30726         * tests/test-arpa_inet.c: New file.
30727
30728 2007-02-17  Bruno Haible  <bruno@clisp.org>
30729
30730         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
30731         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
30732         if the corresponding module is not enabled. Emit link warnings if
30733         the function is used nevertheless.
30734         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
30735         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
30736         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
30737         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
30738         * modules/inttypes (Depends-on): Add link-warning.
30739         (Makefile.am): Copy the contents of build-aux/link-warning.h into
30740         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
30741         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
30742         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
30743         * modules/imaxdiv (configure.ac): Likewise.
30744         * modules/strtoimax (configure.ac): Likewise.
30745         * modules/strtoumax (configure.ac): Likewise.
30746
30747 2007-02-17  Bruno Haible  <bruno@clisp.org>
30748
30749         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
30750         gl_STRING_MODULE_INDICATOR_DEFAULTS.
30751         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
30752         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
30753
30754 2007-02-17  Bruno Haible  <bruno@clisp.org>
30755
30756         * modules/link-warning: New file.
30757         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
30758         * lib/string_.h (GL_LINK_WARNING): Remove definition.
30759         * modules/string (Depends-on): Add link-warning.
30760         (Makefile.am): Copy the contents of build-aux/link-warning.h into
30761         string.h.
30762         * MODULES.html.sh (Support for building libraries and executables): Add
30763         link-warning.
30764
30765 2007-02-17  Bruno Haible  <bruno@clisp.org>
30766
30767         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
30768         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
30769         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
30770         long lines.
30771
30772 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
30773             Bruno Haible  <bruno@clisp.org>
30774
30775         * modules/tmpfile: New file.
30776         * lib/tmpfile.c: New file.
30777         * m4/tmpfile.m4: New file.
30778         * MODULES.html.sh (func_all_modules): New section "Input/output".
30779
30780 2007-02-15  Bruno Haible  <bruno@clisp.org>
30781
30782         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
30783         (supports_delete_on_close): New function.
30784         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
30785
30786 2007-02-14  Bruno Haible  <bruno@clisp.org>
30787
30788         * modules/mbspcasecmp-tests: New file.
30789         * tests/test-mbspcasecmp.sh: New file.
30790         * tests/test-mbspcasecmp.c: New file.
30791
30792         New module mbspcasecmp.
30793         * modules/mbspcasecmp: New file.
30794         * lib/mbspcasecmp.c: New file.
30795         * lib/string_.h (strncasecmp): Change warning message.
30796         (mbspcasecmp): New declaration.
30797         * m4/mbspcasecmp.m4: New file.
30798         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30799         GNULIB_MBSPCASECMP.
30800         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
30801         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
30802
30803 2007-02-14  Bruno Haible  <bruno@clisp.org>
30804
30805         * modules/mbsncasecmp-tests: New file.
30806         * tests/test-mbsncasecmp.sh: New file.
30807         * tests/test-mbsncasecmp.c: New file.
30808
30809         New module mbsncasecmp.
30810         * modules/mbsncasecmp: New file.
30811         * lib/mbsncasecmp.c: New file.
30812         * lib/string_.h (mbsncasecmp): New declaration.
30813         * m4/mbsncasecmp.m4: New file.
30814         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
30815         GNULIB_MBSNCASECMP.
30816         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
30817         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
30818
30819 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
30820
30821         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
30822         Verify that it doesn't overlap with our flags.
30823         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
30824         do not have the desired effect in multibyte locales; instead, use
30825         mbscasecmp.
30826         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
30827         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
30828         we don't require GNU fnmatch ourselves (if our users require it, they
30829         should do so explicitly).
30830
30831         Fix regex code so it doesn't rely on strcasecmp.
30832         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
30833         Otherwise, include gnulib's langinfo.h.
30834         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
30835         undesirable behavior in non-C locales.  Instead, rely on localecharset.
30836         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
30837         * modules/regex (FILES): Remove m4/codeset.m4.
30838         (Depends-on): Add localcharset.  Remove strcase.
30839
30840 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30841
30842         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
30843         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
30844
30845 2007-02-13  Bruno Haible  <bruno@clisp.org>
30846
30847         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
30848         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30849
30850 2007-02-12  Bruno Haible  <bruno@clisp.org>
30851
30852         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
30853         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
30854         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
30855         time warning rather than a link error.
30856
30857 2007-02-12  Bruno Haible  <bruno@clisp.org>
30858
30859         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
30860         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
30861         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30862
30863 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30864
30865         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
30866         args, not 2.
30867
30868 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
30869
30870         New module 'time', so that apps can include <time.h> as per
30871         POSIX and GNU instead of separate include files like time_r.h
30872         and timegm.h.  This implementation tries out a simpler approach
30873         for replacing decls in standard include files (as compared to
30874         the string module), somewhat as an experiment.
30875
30876         * config/srclist.txt: Comment out mktime.c for now.
30877         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
30878         since it doesn't apply any more.  Use generic wording instead.
30879         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
30880         'time'.
30881         * lib/time_.h, m4/time_h.m4, modules/time: New files.
30882         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
30883         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
30884         Don't include <sys/types.h>; no longer needed since we assume C89.
30885         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
30886         * lib/strftime.c: Likewise.
30887         * lib/time_r.c: Likewise.
30888         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
30889         * lib/nanosleep.c: Include <time.h> first, to check interface.
30890         * lib/strptime.c: Likewise.
30891         * lib/time_r.c: Likewise.
30892         * lib/timegm.c: Likewise.
30893         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
30894         needed.
30895         * lib/timegm.c: Don't include timegm.h; no longer needed.
30896         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
30897         time.h now handles any problems in that area.
30898         (struct timespec, nanosleep): Remove; time.h now arranges for these.
30899         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
30900         that time.h defines struct timespec.
30901         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
30902         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
30903         handles that.
30904         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
30905         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
30906         needed.  Set REPLACE_LOCALTIME.
30907         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
30908         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
30909         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
30910         nanosleep; time_h.m4 now does that.  Don't require
30911         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
30912         module handles this now.
30913         * modules/getdate (Depends-on): Remove timespec.  Add time.
30914         * modules/nanosleep (Depends-on): Likewise.
30915         * modules/stat-time (Depends-on): Likewise.
30916         * modules/nanosleep (Include): Include time.h, not timespec.h.
30917         * modules/strptime (Files): Remove lib/strptime.h.
30918         (Depends-on): Add extensions, time.
30919         (Include): Include time.h, not strptime.h.
30920         * modules/time_r (Files): Remove lib/time_r.h.
30921         (Depends-on): Add time.
30922         (Include): Include time.h, not time_r.h.
30923         * modules/timegm: Likewise.
30924         * modules/timespec (Description): Now does timespec-related decls
30925         of our own, instead of struct timespec itself.
30926         (Depends-on): Add time; remove extensions.
30927         (Maintainer): Add self.
30928         * modules/utimecmp (Depends-on): Add time; remove timespec.
30929         * modules/utimens (Depends-on): Likewise.
30930         * modules/xnanosleep (Depends-on): Likewise.
30931
30932 2007-02-11  Bruno Haible  <bruno@clisp.org>
30933
30934         * lib/c-strstr.c: Include allocsa.h.
30935         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30936         * lib/c-strcasestr.c: Include allocsa.h.
30937         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30938         * lib/strcasestr.c: Include allocsa.h.
30939         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
30940         * lib/mbsstr.c: Include allocsa.h.
30941         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
30942         allocsa/freesa instead of malloc/free.
30943         * lib/mbscasestr.c: Include allocsa.h.
30944         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
30945         allocsa/freesa instead of malloc/free.
30946         * modules/c-strstr (Depends-on): Add allocsa.
30947         * modules/c-strcasestr (Depends-on): Likewise.
30948         * modules/strcasestr (Depends-on): Likewise.
30949         * modules/mbsstr (Depends-on): Likewise.
30950         * modules/mbscasestr (Depends-on): Likewise.
30951
30952 2007-02-11  Bruno Haible  <bruno@clisp.org>
30953
30954         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
30955
30956         * modules/mbsspn-tests: New file.
30957         * tests/test-mbsspn.sh: New file.
30958         * tests/test-mbsspn.c: New file.
30959
30960 2007-02-11  Bruno Haible  <bruno@clisp.org>
30961
30962         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
30963
30964         * modules/mbspbrk-tests: New file.
30965         * tests/test-mbspbrk.sh: New file.
30966         * tests/test-mbspbrk.c: New file.
30967
30968 2007-02-11  Bruno Haible  <bruno@clisp.org>
30969
30970         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
30971         unneeded cast.
30972
30973         * modules/mbscspn-tests: New file.
30974         * tests/test-mbscspn.sh: New file.
30975         * tests/test-mbscspn.c: New file.
30976
30977 2007-02-11  Bruno Haible  <bruno@clisp.org>
30978
30979         * modules/mbscasecmp-tests: New file.
30980         * tests/test-mbscasecmp.sh: New file.
30981         * tests/test-mbscasecmp.c: New file.
30982
30983 2007-02-11  Bruno Haible  <bruno@clisp.org>
30984
30985         Ensure O(n) worst-case complexity of mbscasestr.
30986         * lib/mbscasestr.c: Include stdbool.h.
30987         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
30988         functions.
30989         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
30990         the bookkeeping indicates that it's worth it.
30991         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
30992
30993         * modules/mbscasestr-tests: New file.
30994         * tests/test-mbscasestr1.c: New file.
30995         * tests/test-mbscasestr2.sh: New file.
30996         * tests/test-mbscasestr2.c: New file.
30997         * tests/test-mbscasestr3.sh: New file.
30998         * tests/test-mbscasestr3.c: New file.
30999         * tests/test-mbscasestr4.sh: New file.
31000         * tests/test-mbscasestr4.c: New file.
31001         * m4/locale-tr.m4: New file.
31002
31003 2007-02-11  Bruno Haible  <bruno@clisp.org>
31004
31005         Ensure O(n) worst-case complexity of mbsstr.
31006         * lib/mbsstr.c: Include stdbool.h.
31007         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
31008         functions.
31009         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
31010         bookkeeping indicates that it's worth it.
31011         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
31012
31013         * modules/mbsstr-tests: New file.
31014         * tests/test-mbsstr1.c: New file.
31015         * tests/test-mbsstr2.sh: New file.
31016         * tests/test-mbsstr2.c: New file.
31017         * tests/test-mbsstr3.sh: New file.
31018         * tests/test-mbsstr3.c: New file.
31019         * m4/locale-fr.m4: New file.
31020
31021 2007-02-11  Bruno Haible  <bruno@clisp.org>
31022
31023         * lib/mbsrchr.c (mbsrchr): Fix bug.
31024
31025         * modules/mbsrchr-tests: New file.
31026         * tests/test-mbsrchr.sh: New file.
31027         * tests/test-mbsrchr.c: New file.
31028
31029 2007-02-11  Bruno Haible  <bruno@clisp.org>
31030
31031         * lib/mbschr.c (mbschr): Fix bug.
31032
31033         * modules/mbschr-tests: New file.
31034         * tests/test-mbschr.sh: New file.
31035         * tests/test-mbschr.c: New file.
31036         * m4/locale-zh.m4: New file.
31037
31038 2007-02-11  Bruno Haible  <bruno@clisp.org>
31039
31040         Support for copying multibyte string iterators.
31041         * lib/mbiter.h: Include <string.h>.
31042         (mbiter_multi_copy): New function.
31043         (mbi_copy): New macro.
31044         * lib/mbuiter.h: Include <string.h>.
31045         (mbuiter_multi_copy): New function.
31046         (mbui_copy): New macro.
31047
31048 2007-02-11  Bruno Haible  <bruno@clisp.org>
31049
31050         New module mbslen.
31051         * modules/mbslen: New file.
31052         * lib/mbslen.c: New file.
31053         * lib/string_.h (mbslen): New declaration.
31054         * m4/mbslen.m4: New file.
31055         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31056         GNULIB_MBSLEN.
31057         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
31058         * MODULES.html.sh (Internationalization functions): Add mbslen.
31059
31060 2007-02-11  Bruno Haible  <bruno@clisp.org>
31061
31062         Ensure O(n) worst-case complexity of strcasestr substitute.
31063         * lib/strcasestr.c: Include stdbool.h.
31064         (knuth_morris_pratt): New function.
31065         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
31066         bookkeeping indicates that it's worth it.
31067         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
31068
31069         * modules/strcasestr-tests: New file.
31070         * tests/test-strcasestr.c: New file.
31071
31072 2007-02-11  Bruno Haible  <bruno@clisp.org>
31073
31074         Ensure O(n) worst-case complexity of c_strcasestr.
31075         * lib/c-strcasestr.c: Include stdbool.h, string.h.
31076         (knuth_morris_pratt): New function.
31077         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
31078         the bookkeeping indicates that it's worth it.
31079         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
31080
31081         * modules/c-strcasestr-tests: New file.
31082         * tests/test-c-strcasestr.c: New file.
31083
31084 2007-02-11  Bruno Haible  <bruno@clisp.org>
31085
31086         Ensure O(n) worst-case complexity of c_strstr.
31087         * lib/c-strstr.c: Include stdbool.h, string.h.
31088         (knuth_morris_pratt): New function.
31089         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
31090         bookkeeping indicates that it's worth it.
31091         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
31092
31093         * lib/c-strstr.c: Complete rewrite for maintainability.
31094
31095         * modules/c-strstr-tests: New file.
31096         * tests/test-c-strstr.c: New file.
31097
31098 2007-02-11  Bruno Haible  <bruno@clisp.org>
31099
31100         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
31101         5.2.1 and earlier, whereby \055 was treated just like the range
31102         delimiter '-'.
31103         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
31104
31105 2007-02-08  Bruno Haible  <bruno@clisp.org>
31106
31107         * modules/regex (Depends-on): Add stdbool.
31108         Reported by Dalibor Topic <robilad@kaffe.org>.
31109
31110 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
31111
31112         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
31113         Prefer returning from main to exiting from it.
31114         Remove unnecessary parens after sizeof.
31115
31116 2007-02-05  Bruno Haible  <bruno@clisp.org>
31117
31118         New module mbssep.
31119         * modules/mbssep: New file.
31120         * lib/mbssep.c: New file.
31121         * lib/string_.h (strsep): Add a conditional link warning.
31122         (mbssep): New declaration.
31123         * m4/mbssep.m4: New file.
31124         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31125         GNULIB_MBSSEP.
31126         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
31127         * MODULES.html.sh (Internationalization functions): Add mbssep.
31128
31129 2007-02-05  Bruno Haible  <bruno@clisp.org>
31130
31131         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
31132         Optimize search in case of 1 delimiter.
31133
31134 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
31135
31136         * lib/acl.h: Include sys/types.h before sys/acl.h.
31137
31138 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
31139
31140         Merge upstream fix for glibc bugzilla #3957:
31141
31142         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
31143
31144         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
31145         bit for RE_HAT_LISTS_NOT_NEWLINE.
31146         (build_charclass_op): Remove bogus comment.
31147
31148 2007-02-05  Simon Josefsson  <simon@josefsson.org>
31149
31150         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
31151
31152 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
31153
31154         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
31155         * lib/memmem.c [!defined _LIBC]: Include config.h.
31156
31157 2007-02-04  Bruno Haible  <bruno@clisp.org>
31158
31159         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
31160         warning message.
31161
31162 2007-02-04  Bruno Haible  <bruno@clisp.org>
31163
31164         New module mbstok_r.
31165         * modules/mbstok_r: New file.
31166         * lib/mbstok_r.c: New file.
31167         * lib/string_.h (strtok_r): Change argument names to match the
31168         comments. Add a conditional link warning.
31169         (mbstok_r): New declaration.
31170         * m4/mbstok_r.m4: New file.
31171         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31172         GNULIB_MBSTOK_R.
31173         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
31174         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
31175
31176 2007-02-04  Bruno Haible  <bruno@clisp.org>
31177
31178         New module mbsspn.
31179         * modules/mbsspn: New file.
31180         * lib/mbsspn.c: New file.
31181         * lib/string_.h (strspn): Add a conditional link warning.
31182         (mbsspn): New declaration.
31183         * m4/mbsspn.m4: New file.
31184         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31185         GNULIB_MBSSPN.
31186         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
31187         * MODULES.html.sh (Internationalization functions): Add mbsspn.
31188
31189 2007-02-04  Bruno Haible  <bruno@clisp.org>
31190
31191         New module mbspbrk.
31192         * modules/mbspbrk: New file.
31193         * lib/mbspbrk.c: New file.
31194         * lib/string_.h (strpbrk): Add a conditional link warning.
31195         (mbspbrk): New declaration.
31196         * m4/mbspbrk.m4: New file.
31197         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31198         GNULIB_MBSPBRK.
31199         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
31200         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
31201
31202 2007-02-04  Bruno Haible  <bruno@clisp.org>
31203
31204         New module mbscspn.
31205         * modules/mbscspn: New file.
31206         * lib/mbscspn.c: New file.
31207         * lib/string_.h (strcspn): Add a conditional link warning.
31208         (mbscspn): New declaration.
31209         * m4/mbscspn.m4: New file.
31210         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31211         GNULIB_MBSCSPN.
31212         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
31213         * MODULES.html.sh (Internationalization functions): Add mbscspn.
31214
31215 2007-02-04  Bruno Haible  <bruno@clisp.org>
31216
31217         New module mbscasestr, reduced goal of strcasestr.
31218         * modules/mbscasestr: New file.
31219         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
31220         (mbscasestr): Renamed from strcasestr.
31221         * lib/strcasestr.c: Don't include mbuiter.h.
31222         (strcasestr): Remove support for multibyte locales.
31223         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
31224         Change the conditional link warning.
31225         (mbscasestr): New declaration.
31226         * m4/mbscasestr.m4: New file.
31227         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
31228         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
31229         REPLACE_STRCASESTR.
31230         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
31231         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31232         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
31233         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
31234         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
31235         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
31236         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
31237         (Depends-on): Remove mbuiter.
31238         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
31239
31240 2007-02-04  Bruno Haible  <bruno@clisp.org>
31241
31242         Simplify handling of strncasecmp.
31243         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
31244         the conditional link warning.
31245         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
31246         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
31247         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
31248         * modules/strcase (configure.ac): Don't invoke
31249         gl_STRING_MODULE_INDICATOR.
31250         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
31251
31252 2007-02-04  Bruno Haible  <bruno@clisp.org>
31253
31254         New module mbscasecmp, reduced goal of strcasecmp.
31255         * modules/mbscasecmp: New file.
31256         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
31257         (mbscasecmp): Renamed from strcasecmp.
31258         * lib/strcasecmp.c: Don't include mbuiter.h.
31259         (strcasecmp): Remove support for multibyte locales.
31260         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
31261         Change the conditional link warning.
31262         (mbscasecmp): New declaration.
31263         * m4/mbscasecmp.m4: New file.
31264         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
31265         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
31266         REPLACE_STRCASECMP.
31267         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
31268         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31269         GNULIB_MBSCASECMP.
31270         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
31271         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
31272         * modules/strcase (Files): Remove m4/mbrtowc.m4.
31273         (Depends-on): Remove mbuiter.
31274         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
31275
31276 2007-02-04  Bruno Haible  <bruno@clisp.org>
31277
31278         New module mbsstr. Remove module strstr.
31279         * modules/mbsstr: New file.
31280         * modules/strstr: Remove file.
31281         * lib/mbsstr.c: Renamed from lib/strstr.c.
31282         (mbsstr): Renamed from strstr.
31283         * lib/string_.h (strstr): Remove declaration. Change the conditional
31284         link warning.
31285         (mbsstr): New declaration.
31286         * m4/mbsstr.m4: New file.
31287         * m4/strstr.m4: Remove file.
31288         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
31289         REPLACE_STRSTR.
31290         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
31291         Don't initialize GNULIB_STRSTR.
31292         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
31293         substitute GNULIB_STRSTR and REPLACE_STRSTR.
31294         * MODULES.html.sh (Internationalization functions): Add mbsstr.
31295         (Support for systems lacking ANSI C 89): Remove strstr.
31296
31297 2007-02-04  Bruno Haible  <bruno@clisp.org>
31298
31299         New module mbsrchr.
31300         * modules/mbsrchr: New file.
31301         * lib/mbsrchr.c: New file.
31302         * lib/string_.h (strrchr): Add a conditional link warning.
31303         (mbsrchr): New declaration.
31304         * m4/mbsrchr.m4: New file.
31305         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31306         GNULIB_MBSRCHR.
31307         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
31308         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
31309
31310 2007-02-04  Bruno Haible  <bruno@clisp.org>
31311
31312         New module mbschr.
31313         * modules/mbschr: New file.
31314         * lib/mbschr.c: New file.
31315         * lib/string_.h (strchr): Add a conditional link warning.
31316         (mbschr): New declaration.
31317         * m4/mbschr.m4: New file.
31318         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
31319         GNULIB_MBSCHR.
31320         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
31321         * MODULES.html.sh (Internationalization functions): Add mbschr.
31322
31323 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
31324
31325         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
31326
31327         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
31328
31329 2007-02-04  Bruno Haible  <bruno@clisp.org>
31330
31331         New module description section 'configure.ac-early'.
31332         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
31333         (func_get_autoconf_early_snippet): New function.
31334         (func_import, func_create_testdir): Use it. Remove special cases for
31335         modules 'extensions' and 'lock'.
31336         * modules/extensions (configure.ac-early): Require
31337         gl_USE_SYSTEM_EXTENSIONS.
31338         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
31339
31340 2007-02-04  Bruno Haible  <bruno@clisp.org>
31341
31342         Make use of gcj-4.3's -fsource and -ftarget option.
31343         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
31344         and if so try the options -fsource and -ftarget.
31345         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
31346         source_version, ftarget_option, target_version arguments.
31347         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
31348         (is_envjavac_oldgcj_14_14_usable): Renamed from
31349         is_envjavac_gcj_14_14_usable.
31350         (is_envjavac_oldgcj_14_13_usable): Renamed from
31351         is_envjavac_gcj_14_13_usable.
31352         (is_gcj_present): Update.
31353         (is_gcj_43, is_gcj43_usable): New functions.
31354         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
31355         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
31356         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
31357         try the options -fsource and -ftarget.
31358
31359 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
31360
31361         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
31362         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
31363         larger value.
31364
31365 2007-02-03  Jim Meyering  <jim@meyering.net>
31366
31367         Give tools a better chance to allocate space for very large buffers.
31368         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
31369
31370         Make pwd and readlink work also when run with an unreadable parent dir
31371         on systems with openat support.
31372         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
31373         provided getcwd function, even when we have openat support.
31374         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
31375
31376 2007-02-02  Bruno Haible  <bruno@clisp.org>
31377
31378         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
31379         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
31380         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
31381         portability problems if one of these functions is only used on specific
31382         platforms.
31383         Reported by Paul Eggert.
31384
31385 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
31386
31387         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
31388         is causing more trouble than it's curing.
31389         * lib/regex_internal.h (__mempcpy): Remove.
31390         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
31391         (and make the code a tad smaller to boot).
31392         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
31393
31394 2007-02-02  Jim Meyering  <jim@meyering.net>
31395
31396         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
31397         section, not in the Makefile.am: one.
31398
31399 2007-02-02  Eric Blake  <ebb9@byu.net>
31400
31401         * lib/strchrnul.c: Always include config.h first.
31402
31403         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
31404         gnulib strstr is not necessary here.
31405
31406 2007-02-02  Simon Josefsson  <simon@josefsson.org>
31407
31408         * m4/socklen.m4: Fix typo.
31409
31410 2007-02-02  Eric Blake  <ebb9@byu.net>
31411
31412         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
31413         * modules/netinet_in (Makefile.am): Likewise.
31414
31415 2007-02-01  Bruno Haible  <bruno@clisp.org>
31416
31417         * lib/string_.h (GL_LINK_WARNING): New macro.
31418         (strcasecmp, strstr, strcasestr): If provided by the system,
31419         conditionally define as a macro that leads to a warning instead of to
31420         an error.
31421         (strncasecmp): Conditionally define as a macro that leads to a warning.
31422
31423 2007-02-01  Karl Berry  <karl@gnu.org>
31424
31425         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
31426
31427 2007-02-01  Bruno Haible  <bruno@clisp.org>
31428
31429         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
31430         renamings.
31431
31432 2007-02-01  Eric Blake  <ebb9@byu.net>
31433
31434         * modules/regex (Depends-on): Revert dependence on mempcpy.
31435         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
31436         module's definition of mempcpy.
31437         Reported by Paul Eggert.
31438
31439 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
31440
31441         * lib/string_.h: If the gnulib module XYZ is not present, undefine
31442         the symbol XYZ before redefining it.  This fixes a problem with
31443         programs that don't use XYZ, when compiled on systems that define
31444         XYZ to something else.
31445
31446 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
31447
31448         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
31449         occurs when "mkdir -m foo" creates a setgid directory that is (1)
31450         writeable to group or other and (2) is intended to have a special
31451         mode bit that is set or cleared.  In such a case, the directory
31452         should be neither group- nor other-writeable until the special
31453         mode bits are right.
31454
31455 2007-01-31  Eric Blake  <ebb9@byu.net>
31456
31457         * modules/mountlist (Depends-on): Add strstr.
31458
31459         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
31460         bug.
31461         * modules/string (Makefile.am): Remove redundant replacement.
31462         * modules/regex (Depends-on): Add mempcpy.
31463
31464 2007-01-31  Bruno Haible  <bruno@clisp.org>
31465
31466         New module description field 'Link'.
31467         * gnulib-tool (func_usage): Document --extract-link-directive.
31468         (sed_extract_prog): Recognize 'Link' directive.
31469         (func_get_link_directive): New function.
31470         (func_import): Show summary of link directives.
31471         Handle --extract-link-directive option.
31472         * modules/acl (Link): New section.
31473         * modules/clock-time (Link): New section.
31474         * modules/euidaccess (Link): New section.
31475         * modules/gettext (Link): New section.
31476         * modules/iconv (Link): New section.
31477         * modules/lock (Link): New section.
31478         * modules/nanosleep (Link): New section.
31479         * modules/readline (Link): New section.
31480
31481 2007-01-27  Bruno Haible  <bruno@clisp.org>
31482
31483         Enforce the use of gnulib modules for unportable <string.h> functions.
31484         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
31485         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
31486         (gl_HEADER_STRING_H_BODY): Require it.
31487         * lib/string_.h: If the gnulib module XYZ is not present, redefine
31488         the symbol XYZ to one that gives a link error.
31489         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
31490         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
31491         * modules/mempcpy (configure.ac): Likewise.
31492         * modules/memrchr (configure.ac): Likewise.
31493         * modules/stpcpy (configure.ac): Likewise.
31494         * modules/stpncpy (configure.ac): Likewise.
31495         * modules/strcase (configure.ac): Likewise.
31496         * modules/strcasestr (configure.ac): Likewise.
31497         * modules/strchrnul (configure.ac): Likewise.
31498         * modules/strdup (configure.ac): Likewise.
31499         * modules/strndup (configure.ac): Likewise.
31500         * modules/strnlen (configure.ac): Likewise.
31501         * modules/strpbrk (configure.ac): Likewise.
31502         * modules/strsep (configure.ac): Likewise.
31503         * modules/strstr (configure.ac): Likewise.
31504         * modules/strtok_r (configure.ac): Likewise.
31505
31506 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
31507
31508         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
31509
31510 2007-01-30  Jim Meyering  <jim@meyering.net>
31511
31512         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
31513
31514 2007-01-29  Bruno Haible  <bruno@clisp.org>
31515
31516         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
31517         * lib/execute.c: Likewise.
31518         * lib/pipe.c: Likewise.
31519         * lib/printf-args.h: Likewise.
31520         * lib/printf-args.c: Likewise.
31521         * lib/printf-parse.c: Likewise.
31522         * lib/vasnprintf.c: Likewise.
31523
31524 2007-01-29  Eric Blake  <ebb9@byu.net>
31525
31526         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
31527         declaration.
31528
31529 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
31530
31531         * lib/strptime.h (strptime): Use 'restrict' for args where
31532         POSIX requires this.
31533         * lib/strptime.c (strptime): Likewise.
31534         Change license notice from LGPL to GPL, since gnulib-tool will
31535         change this as needed.
31536         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
31537         defined.
31538         Include "strptime.h" first, to check interface.
31539         Do not #undef _LIBC and _NL_CURRENT.
31540         Do not include <stdlib.h>; no longer needed.
31541         Include "time_r.h" and declare ptime_locale_status
31542         only if _LIBC is not defined.
31543         (__P): Remove unused macro.
31544         (match_string): Bring back glibc version, but use it only if _LIBC
31545         is defined.
31546         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
31547         Remove unnecessary assertion and abort() call.
31548         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
31549         * m4/strptime.m4: Fix serial number comment.
31550         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
31551         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
31552         (Depends-on): Add time_r.
31553
31554 2007-01-29  Bruno Haible  <bruno@clisp.org>
31555
31556         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
31557         strptime.
31558         * modules/strptime (Depends-on): Add stdbool.
31559         * lib/strptime.h: Include <time.h> always. Add comments.
31560
31561 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
31562
31563         * modules/strptime: New file.
31564         * lib/strptime.h: New file.
31565         * lib/strptime.c: New file.
31566         * m4/strptime.m4: New file.
31567
31568 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
31569
31570         * MODULES.html.sh: New module mpsort.
31571         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
31572
31573         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
31574         a circularity problem with HP-UX ia64 reported by Bob Proulx in
31575         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
31576         All uses changed.
31577         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
31578         All uses changed.
31579         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
31580         to _Restrict_.
31581         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
31582         the parameter matches the prototype.
31583
31584 2007-01-28  Jim Meyering  <jim@meyering.net>
31585
31586         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
31587         sys/time.h here, reverting that part of the previous patch:
31588         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
31589
31590 2007-01-28  Bruno Haible  <bruno@clisp.org>
31591
31592         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
31593         value of $(SYS_TIME_H).
31594         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
31595         remove it conditionally, too. [added by Jim Meyering]
31596         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
31597         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
31598         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
31599         GETTIMEOFDAY_REPLACEMENT to 1.
31600
31601 2007-01-28  Bruno Haible  <bruno@clisp.org>
31602
31603         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
31604         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
31605         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
31606         Set UNISTD_H instead of UNISTD_H2.
31607         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
31608
31609 2007-01-28  Bruno Haible  <bruno@clisp.org>
31610
31611         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
31612         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
31613
31614 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31615
31616         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
31617         (func_create_testdir): Ensure C locale for `grep' and `tr'
31618         character ranges.
31619         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
31620         ACLOCAL_AMFLAGS parsing state machine.
31621
31622 2007-01-27  Bruno Haible  <bruno@clisp.org>
31623
31624         * modules/unistr/base: Update.
31625
31626 2007-01-27  Bruno Haible  <bruno@clisp.org>
31627
31628         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
31629         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
31630         * modules/unistr/u32-mbtouc-unsafe: Renamed from
31631         modules/unistr/u32-mbtouc.
31632         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
31633         * lib/unistr.h: Update.
31634         * lib/linebreak.c: Update.
31635         * modules/unistr/u32-mbtouc: Renamed from
31636         modules/unistr/u32-mbtouc-safe.
31637         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
31638         * lib/unistr.h: Update.
31639         * lib/unistr/u32-to-u8.c: Update.
31640         * lib/unistr/u32-to-u16.c: Update.
31641
31642 2007-01-27  Bruno Haible  <bruno@clisp.org>
31643
31644         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
31645         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
31646         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
31647         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
31648         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
31649         * modules/unistr/u16-mbtouc-unsafe: Renamed from
31650         modules/unistr/u16-mbtouc.
31651         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
31652         * lib/unistr.h: Update.
31653         * lib/linebreak.c: Update.
31654         * modules/linebreak: Update.
31655         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
31656         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
31657         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
31658         * modules/unistr/u16-mbtouc: Renamed from
31659         modules/unistr/u16-mbtouc-safe.
31660         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
31661         * lib/unistr.h: Update.
31662         * lib/unistr/u16-to-u8.c: Update.
31663         * modules/unistr/u16-to-u8: Update.
31664         * lib/unistr/u16-to-u32.c: Update.
31665         * modules/unistr/u16-to-u32: Update.
31666
31667 2007-01-27  Bruno Haible  <bruno@clisp.org>
31668
31669         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
31670         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
31671         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
31672         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
31673         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
31674         * modules/unistr/u8-mbtouc-unsafe: Renamed from
31675         modules/unistr/u8-mbtouc.
31676         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
31677         * lib/unistr.h: Update.
31678         * lib/striconveh.c: Update.
31679         * modules/striconveh: Update.
31680         * lib/linebreak.c: Update.
31681         * modules/linebreak: Update.
31682         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
31683         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
31684         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
31685         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
31686         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
31687         * lib/unistr.h: Update.
31688         * lib/striconveh.c: Update.
31689         * modules/striconveh: Update.
31690         * lib/unistr/u8-to-u16.c: Update.
31691         * modules/unistr/u8-to-u16: Update.
31692         * lib/unistr/u8-to-u32.c: Update.
31693         * modules/unistr/u8-to-u32: Update.
31694
31695 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31696
31697         Sync from Libtool.
31698         * lib/argz.c: Do not include strings.h nor memory.h, include
31699         string.h unconditionally.  Patch by Simon Josefsson.
31700
31701 2007-01-27  Bruno Haible  <bruno@clisp.org>
31702
31703         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
31704         from gl_HEADER_STRING_H_BODY.
31705         (gl_HEADER_STRING_H_BODY): Require it.
31706         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
31707         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
31708         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
31709         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
31710         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
31711         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
31712         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
31713         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
31714         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
31715         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
31716         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
31717         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
31718         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
31719         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
31720         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
31721
31722 2007-01-27  Bruno Haible  <bruno@clisp.org>
31723
31724         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
31725         check_PROGRAMS into noinst_PROGRAMS.
31726         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
31727         check_PROGRAMS in this case.
31728         (func_import): Set for_test to false.
31729         (func_create_testdir): Set for_test to true.
31730
31731 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
31732             Bruno Haible  <bruno@clisp.org>
31733
31734         * modules/strcasestr (Files): Remove lib/strcasestr.h.
31735         (Depends-on): Add string.
31736         (Includes): Use <string.h> instead of strcasestr.h.
31737         * modules/string (Makefile.am): Also substitute the value of
31738         REPLACE_STRCASESTR.
31739         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
31740         assume strcasestr is declared in <string.h> not <strings.h>. Also
31741         set REPLACE_STRCASESTR.
31742         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
31743         REPLACE_STRCASESTR.
31744         * lib/strcasestr.h: Remove file.
31745         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
31746         * lib/string_.h (strcasestr): New declaration.
31747
31748 2007-01-27  Bruno Haible  <bruno@clisp.org>
31749
31750         * lib/string_.h: Use 'extern'.
31751
31752 2007-01-27  Jim Meyering  <jim@meyering.net>
31753
31754         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
31755         of set-but-not-used local, "q".
31756
31757         * lib/mempcpy.c: Include <config.h> before <string.h>.
31758         This fixes a compilation error on HP-UX, due to the system's
31759         "restrict"-using mempcpy prototype.
31760
31761 2007-01-26  Bruno Haible  <bruno@clisp.org>
31762
31763         Small optimization.
31764         * lib/javacomp.c: Include c-strstr.h.
31765          (is_envjavac_gcj): Use c_strstr instead of strstr.
31766         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
31767
31768 2007-01-26  Bruno Haible  <bruno@clisp.org>
31769
31770         * MODULES.html.sh (Unicode string functions): Add the new modules.
31771
31772         * modules/uniconv/u32-strconv-to-locale: New file.
31773         * lib/uniconv/u32-strconv-to-locale.c: New file.
31774
31775         * modules/uniconv/u16-strconv-to-locale: New file.
31776         * lib/uniconv/u16-strconv-to-locale.c: New file.
31777
31778         * modules/uniconv/u8-strconv-to-locale: New file.
31779         * lib/uniconv/u8-strconv-to-locale.c: New file.
31780
31781         * modules/uniconv/u32-strconv-from-locale: New file.
31782         * lib/uniconv/u32-strconv-from-locale.c: New file.
31783
31784         * modules/uniconv/u16-strconv-from-locale: New file.
31785         * lib/uniconv/u16-strconv-from-locale.c: New file.
31786
31787         * modules/uniconv/u8-strconv-from-locale: New file.
31788         * lib/uniconv/u8-strconv-from-locale.c: New file.
31789
31790         * modules/uniconv/u32-strconv-to-enc: New file.
31791         * lib/uniconv/u32-strconv-to-enc.c: New file.
31792         * modules/uniconv/u32-strconv-to-enc-tests: New file.
31793         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
31794
31795         * modules/uniconv/u16-strconv-to-enc: New file.
31796         * lib/uniconv/u16-strconv-to-enc.c: New file.
31797         * lib/uniconv/u-strconv-to-enc.h: New file.
31798         * modules/uniconv/u16-strconv-to-enc-tests: New file.
31799         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
31800
31801         * modules/uniconv/u8-strconv-to-enc: New file.
31802         * lib/uniconv/u8-strconv-to-enc.c: New file.
31803         * modules/uniconv/u8-strconv-to-enc-tests: New file.
31804         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
31805
31806         * modules/uniconv/u32-strconv-from-enc: New file.
31807         * lib/uniconv/u32-strconv-from-enc.c: New file.
31808         * modules/uniconv/u32-strconv-from-enc-tests: New file.
31809         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
31810
31811         * modules/uniconv/u16-strconv-from-enc: New file.
31812         * lib/uniconv/u16-strconv-from-enc.c: New file.
31813         * modules/uniconv/u16-strconv-from-enc-tests: New file.
31814         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
31815
31816         * modules/uniconv/u8-strconv-from-enc: New file.
31817         * lib/uniconv/u8-strconv-from-enc.c: New file.
31818         * lib/uniconv/u-strconv-from-enc.h: New file.
31819         * modules/uniconv/u8-strconv-from-enc-tests: New file.
31820         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
31821
31822         * modules/uniconv/u32-conv-from-enc: New file.
31823         * lib/uniconv/u32-conv-from-enc.c: New file.
31824         * modules/uniconv/u32-conv-from-enc-tests: New file.
31825         * tests/uniconv/test-u32-conv-from-enc.c: New file.
31826
31827         * modules/uniconv/u16-conv-from-enc: New file.
31828         * lib/uniconv/u16-conv-from-enc.c: New file.
31829         * lib/uniconv/u-conv-from-enc.h: New file.
31830         * modules/uniconv/u16-conv-from-enc-tests: New file.
31831         * tests/uniconv/test-u16-conv-from-enc.c: New file.
31832
31833         * modules/uniconv/u8-conv-from-enc: New file.
31834         * lib/uniconv/u8-conv-from-enc.c: New file.
31835         * modules/uniconv/u8-conv-from-enc-tests: New file.
31836         * tests/uniconv/test-u8-conv-from-enc.c: New file.
31837
31838         * modules/uniconv/base: New file.
31839         * lib/uniconv.h: New file.
31840
31841 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
31842
31843         * doc/gnulib-tool.texi (Initial import): Update to match current
31844         behavior with strdup module.
31845         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
31846         * lib/memmem.h: Remove; all uses removed.  This is now done
31847         by <string.h>.
31848         * lib/mempcpy.h: Likewise.
31849         * lib/memrchr.h: Likewise.
31850         * lib/stpcpy.h: Likewise.
31851         * lib/stpncpy.h: Likewise.
31852         * lib/strcase.h: Likewise.
31853         * lib/strchrnul.h: Likewise.
31854         * lib/strdup.h: Likewise.
31855         * lib/strndup.h: Likewise.
31856         * lib/strnlen.h: Likewise.
31857         * lib/strpbrk.h: Likewise.
31858         * lib/strsep.h: Likewise.
31859         * lib/strstr.h: Likewise.
31860         * lib/strtok_r.h: Likewise.
31861         * lib/string_.h: New file.
31862         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
31863         Rely on <string.h> instead.
31864         * lib/canon-host.c: Likewise.
31865         * lib/chdir-long.c: Likewise.
31866         * lib/concatpath.c: Likewise.
31867         * lib/exclude.c: Likewise.
31868         * lib/fchdir.c: Likewise.
31869         * lib/getaddrinfo.c: Likewise.
31870         * lib/getcwd.c: Likewise.
31871         * lib/getsubopt.c: Likewise.
31872         * lib/glob.c: Likewise.
31873         * lib/hard-locale.c: Likewise.
31874         * lib/iconvme.c: Likewise.
31875         * lib/javacomp.c: Likewise.
31876         * lib/mempcpy.c: Likewise.
31877         * lib/memrchr.c: Likewise.
31878         * lib/regex_internal.h: Likewise.
31879         * lib/stpncpy.c: Likewise.
31880         * lib/strcasecmp.c: Likewise.
31881         * lib/strchrnul.c: Likewise.
31882         * lib/strdup.c: Likewise.
31883         * lib/striconv.c: Likewise.
31884         * lib/striconveh.c: Likewise.
31885         * lib/striconveha.c: Likewise.
31886         * lib/strncasecmp.c: Likewise.
31887         * lib/strndup.c: Likewise.
31888         * lib/strnlen.c: Likewise.
31889         * lib/strsep.c: Likewise.
31890         * lib/strstr.c: Likewise.
31891         * lib/strtok_r.c: Likewise.
31892         * lib/userspec.c: Likewise.
31893         * lib/w32spawn.h: Likewise.
31894         * lib/xstrndup.c: Likewise.
31895         * lib/mountlist.c (strstr): Remove decl.
31896         * m4/string_h.m4: New file.
31897         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
31898         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
31899         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
31900         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
31901         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
31902         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
31903         Set REPLACE_STRCASECMP if necessary.
31904         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
31905         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
31906         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
31907         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
31908         HAVE_DECL_STRDUP if necessary.
31909         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
31910         since gl_FUNC_STRNDUP does that now.
31911         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
31912         Check for decl here...
31913         (gl_PREREQ_STRNLEN): ... not here.
31914         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
31915         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
31916         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
31917         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
31918         necessary.
31919         * modules/string: New file.
31920         * modules/memmem (Files): Remove special-purpose include file.
31921         (Depends-on): Add string.
31922         (Include): Include <string.h>, not the removed file.
31923         * modules/mempcpy: Likewise.
31924         * modules/memrchr: Likewise.
31925         * modules/stpcpy: Likewise.
31926         * modules/stpncpy: Likewise.
31927         * modules/strcase: Likewise.
31928         * modules/strchrnul: Likewise.
31929         * modules/strdup: Likewise.
31930         * modules/strndup: Likewise.
31931         * modules/strnlen: Likewise.
31932         * modules/strpbrk: Likewise.
31933         * modules/strsep: Likewise.
31934         * modules/strstr: Likewise.
31935         * modules/strtok_r: Likewise.
31936         * tests/test-dirname.c: Don't include "strdup.h", since
31937         <string.h> now suffices.
31938         * tests/test-memmem.c: Don't include "memmem.h", since
31939         <string.h> now suffices.
31940
31941 2007-01-25  Bruno Haible  <bruno@clisp.org>
31942
31943         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
31944         *resultp is 0.
31945
31946         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
31947         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
31948         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
31949         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
31950
31951         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
31952         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
31953         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
31954         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
31955         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
31956         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
31957
31958 2007-01-24  Bruno Haible  <bruno@clisp.org>
31959
31960         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
31961         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
31962         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
31963         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
31964         gl_FUNC_FTS_CORE.
31965         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
31966         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
31967         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
31968         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
31969         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
31970         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
31971         gl_FUNC_FCHOWNAT.
31972         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
31973         gl_FUNC_STRFTIME.
31974         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
31975         Reported by Ralf Wildenhues.
31976
31977 2007-01-24  Bruno Haible  <bruno@clisp.org>
31978
31979         Drop AC_REQUIRE calls that are redundant with the module dependencies.
31980         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
31981         gl_GETADDRINFO.
31982         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
31983         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
31984         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
31985
31986 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
31987
31988         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
31989         Don't use 'exit'; just return from 'main'.
31990         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
31991
31992         * lib/fnmatch_.h: Readjust white space and comments to match
31993         glibc, to avoid spurious diffs.
31994
31995 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
31996
31997         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
31998         2004-12-01 change by Jakub Jelinek, since this code won't compile
31999         if !LIBC.  Problem reported by Bob Proulx.
32000
32001 2007-01-23  Bruno Haible  <bruno@clisp.org>
32002
32003         * lib/striconveh.c: Include c-strcaseeq.h.
32004         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
32005         * modules/striconveh (Depends-on): Add c-strcaseeq.
32006
32007 2007-01-23  Bruno Haible  <bruno@clisp.org>
32008
32009         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
32010
32011         * modules/c-strcaseeq: New file.
32012         * lib/c-strcaseeq.h: New file.
32013
32014         * modules/streq: New file.
32015         * lib/streq.h: New file.
32016
32017 2007-01-23  Bruno Haible  <bruno@clisp.org>
32018
32019         * modules/striconveha-tests: New file.
32020         * tests/test-striconveha.c: New file.
32021
32022         * lib/striconveha.h: Include <stdbool.h>.
32023         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
32024         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
32025         (mem_iconveha_notranslit): Renamed from mem_iconveha.
32026         (mem_iconveha): New function.
32027         (str_iconveha_notranslit): Renamed from str_iconveha.
32028         (str_iconveha): New function.
32029         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
32030         c-strcase.
32031
32032 2007-01-23  Bruno Haible  <bruno@clisp.org>
32033
32034         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
32035         encodings without forgiving before trying any encoding with handler.
32036         (str_iconveha): Try all encodings without forgiving before trying any
32037         encoding with handler.
32038
32039 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
32040
32041         Import the following changes from libc.
32042
32043         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
32044
32045         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
32046
32047         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
32048
32049         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
32050         normal_bracket label.
32051
32052         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
32053
32054         [BZ #361]
32055         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
32056         to normal_bracket after fetching the next character.
32057
32058 2007-01-22  Bruno Haible  <bruno@clisp.org>
32059
32060         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
32061         argument.
32062         * lib/striconveh.c (iconv_carefully_1): New function.
32063         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
32064         argument.
32065         (str_cd_iconveh): Update.
32066         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
32067         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
32068         * tests/test-striconveh.c (MAGIC): New macro.
32069         (new_offsets): New function.
32070         (main): Test call with and without offsets.
32071
32072 2007-01-22  Bruno Haible  <bruno@clisp.org>
32073
32074         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
32075         * modules/sys_select (Makefile.am): Likewise.
32076         * modules/sys_socket (Makefile.am): Likewise.
32077         * modules/sys_time (Makefile.am): Likewise.
32078
32079 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
32080
32081         * modules/gettimeofday (License): Change from GPL to LGPL, since
32082         gettimeofday is a library function.
32083
32084 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32085
32086         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
32087
32088 2007-01-21  Bruno Haible  <bruno@clisp.org>
32089
32090         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
32091
32092 2007-01-21  Bruno Haible  <bruno@clisp.org>
32093
32094         * modules/striconveha: New file.
32095         * lib/striconveha.h: New file.
32096         * lib/striconveha.c: New file.
32097         * MODULES.html.sh (Internationalization functions): Add striconveha.
32098         * lib/striconv.c (str_iconv): Optimize the case of an empty input
32099         string.
32100         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
32101
32102 2007-01-21  Bruno Haible  <bruno@clisp.org>
32103
32104         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
32105         * lib/striconveh.c (str_iconveh): Likewise.
32106
32107 2007-01-21  Bruno Haible  <bruno@clisp.org>
32108
32109         * lib/striconveh.h (mem_iconveh): New declaration.
32110         * lib/striconveh.c (mem_iconveh): New function.
32111         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
32112
32113 2007-01-21  Bruno Haible  <bruno@clisp.org>
32114
32115         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
32116
32117         * lib/striconveh.h (mem_cd_iconveh): Change specification.
32118         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
32119         original result buffer.
32120         (str_cd_iconveh): Update.
32121         * tests/test-striconveh.c (main): Update.
32122
32123         * lib/striconv.h (mem_cd_iconv): Change specification.
32124         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
32125         result buffer.
32126         (str_cd_iconv): Update.
32127         * tests/test-striconv.c (main): Update.
32128
32129 2007-01-21  Bruno Haible  <bruno@clisp.org>
32130
32131         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
32132
32133 2007-01-20  Jim Meyering  <jim@meyering.net>
32134
32135         * lib/userspec.c (parse_with_separator): If a user or group string
32136         starts with "+", skip the corresponding name-to-ID look-up, since
32137         such a look-up must fail: user and group names may not include "+".
32138
32139 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
32140
32141         * lib/poll.c: Include sys/time.h and time.h unconditionally,
32142         since we now assume the sys_time module.
32143         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
32144         check for sys/time.h; no longer needed.
32145         * modules/poll (Depends-on): Depend on sys_time.
32146
32147 2007-01-18  Bruno Haible  <bruno@clisp.org>
32148
32149         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
32150         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
32151
32152         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
32153         gettimeofday.
32154
32155         * tests/test-gettimeofday.c: Include <time.h>.
32156         (dummy): Remove variable.
32157
32158         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
32159         gl_HEADER_SYS_TIME_H.
32160         (gl_HEADER_SYS_TIME_H): New macro.
32161
32162         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
32163         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32164         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
32165         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
32166         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32167         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
32168         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
32169         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32170         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
32171         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
32172         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32173
32174         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
32175         last change; it caused a compilation error when cross-compiling to
32176         Cygwin.
32177
32178 2007-01-18  Jim Meyering  <jim@meyering.net>
32179
32180         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
32181         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
32182         than the race-prone "test -d sys || mkdir sys".
32183         (configure.ac): Use AC_PROG_MKDIR_P.
32184         * modules/sys_select: Likewise.
32185         * modules/sys_socket: Likewise.
32186         * modules/sys_time: Likewise.
32187
32188 2007-01-18  Eric Blake  <ebb9@byu.net>
32189
32190         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
32191         replace gettimeofday.
32192         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
32193         name, to avoid infinite recursion.
32194
32195 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
32196
32197         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
32198         module sys_time.
32199         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
32200         assume timespec.h defines struct timeval.
32201         * lib/settime.c: Likewise.
32202         * lib/utimens.c: Likewise.
32203         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
32204         since we now assume the gettimeofday module.
32205         * lib/tempname.c (__gen_tempname): Likewise.
32206         * lib/gettimeofday.h: Remove.
32207         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
32208         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
32209         Include <time.h>, for 'time()'.
32210         (localtime_buffer_addr): Also use this workaround if
32211         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
32212         to simplify the uses.  All uses changed.
32213         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
32214         that #undef is inside {}, and 'const' follows type name consistently.
32215         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
32216         (gettimeofday): Do not use the maximum possible value for
32217         tv->tv_usec, since that might break usages other than ls.c.
32218         Instead, we'll leave ls.c alone.  This undoes today's patch
32219         by Bruno.  Add a compile-time warning for 1s-clock resolution;
32220         we've never observed the problem but might as well keep the
32221         canary.
32222         * lib/nanosleep.c: Include timespec.h first, for interface check.
32223         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
32224         now assume the sys_time module.
32225         * lib/tempname.c: Likewise.
32226         * lib/timespec.h: Likewise.
32227         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
32228         needed.
32229         * lib/strftime.c: Likewise.
32230         * lib/timespec.h: Likewise.
32231         * lib/posixtm.c: Include posixtm.h first, for interface check.
32232         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
32233         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
32234         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
32235         * lib/sys_time_.h: New file.
32236         * lib/timespec.h (struct timespec): Use long int, not long.
32237         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
32238         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
32239         Remove obsolescent call to AC_HEADER_TIME.
32240         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
32241         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
32242         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
32243         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
32244         Likewise.
32245         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
32246         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
32247         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
32248         into the sys_time module.  Check for gettimeofday just once.
32249         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
32250         for gettimeofday signature to just check the signature.  Merely
32251         compile it, since linking doesn't test signature.  Improve test for
32252         whether gettimeofday.o is actually needed.
32253         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
32254         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
32255         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
32256         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32257         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
32258         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
32259         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
32260         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
32261         than worrying about sys/time.h.
32262         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
32263         Don't bother worrying about TIME_WITH_SYS_TIME.
32264         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
32265         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
32266         * m4/sys_time_h.m4: New file.
32267         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
32268         Don't include sys/time.h.  Return from main rather than exiting.
32269         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
32270         all uses changed.
32271         * modules/gethrxtime (Depends-on): Add sys_time.
32272         * modules/gettime (Depends-on): Likewise.
32273         * modules/gettimeofday (Depends-on): Likewise.
32274         * modules/nanosleep (Depends-on): Likewise.
32275         * modules/settime (Depends-on): Likewise.
32276         * modules/tempname (Depends-on): Likewise.
32277         * modules/utimens (Depends-on): Likewise.
32278         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
32279         (Include:) Change back to <sys/time.h>.
32280         (Maintainer:) Add self.
32281         * modules/sys_time: New file.
32282         * modules/tempname (Depends-on): Add gettimeofday.
32283         * tests/test-gettimeofday.c: Include <sys/time.h>
32284         rather than gettimeofday.h.
32285
32286 2007-01-17  Bruno Haible  <bruno@clisp.org>
32287
32288         * gnulib-tool (func_get_license): Revert last patch. Instead, let
32289         the license default to GPL.
32290         (func_create_testdir): Don't complain if a module is LGPL and its
32291         tests module depends on GPLed modules.
32292
32293 2007-01-17  Bruno Haible  <bruno@clisp.org>
32294
32295         * lib/gettimeofday.c (gettimeofday): Add code for the case
32296         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
32297         maximum possible value for tv->tv_usec, rather than the minimum one.
32298
32299 2005-10-08  Martin Lambers  <marlam@marlam.de>
32300 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
32301 2007-01-16  Bruno Haible  <bruno@clisp.org>
32302
32303         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
32304         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
32305         gl_FUNC_GETTIMEOFDAY.
32306         (Include): Add gettimeofday.h.
32307         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
32308         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
32309         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
32310         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
32311         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
32312         * lib/gettimeofday.h: New file.
32313         * lib/gettimeofday.c: Include <sys/timeb.h>.
32314         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
32315         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
32316         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
32317         fall back on time().
32318
32319         * tests/test-gettimeofday.c: New file.
32320         * modules/gettimeofday-tests: New file.
32321
32322 2007-01-16  Eric Blake  <ebb9@byu.net>
32323
32324         * modules/fnmatch (Depends-on): Depend on wchar.
32325         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
32326         * m4/fnmatch.m4: Likewise.
32327         * modules/mbchar (Makefile.am): Assume <wchar.h>.
32328         * m4/mbchar.m4: Likewise.
32329         * modules/mbswidth (Depends-on): Depend on wchar.
32330         * lib/mbswidth.c: Assume <wchar.h>.
32331         * m4/mbswidth.m4: Likewise.
32332         * modules/quotearg (Depends-on): Depend on wchar.
32333         * lib/quotearg.c: Assume <wchar.h>.
32334         * m4/quotearg.m4: Likewise.
32335         * modules/regex (Depends-on): Depend on wchar.
32336         * lib/regex_internal.h: Assume <wchar.h>.
32337         * m4/regex.m4: Likewise.
32338         * modules/stdint (Depends-on): Depend on wchar.
32339         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
32340         * m4/stdint.m4: Likewise.
32341         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
32342         * modules/strftime (Depends-on): Depend on wchar.
32343         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
32344         * modules/strtol (Depends-on): Depend on wchar.
32345         * lib/strtol.c: Assume <wchar.h>.
32346         * modules/wcwidth (Depends-on): Depend on wchar.
32347         * lib/wcwidth.h: Assume <wchar.h>.
32348         * m4/wcwidth.m4: Likewise.
32349
32350 2007-01-16  Bruno Haible  <bruno@clisp.org>
32351
32352         * modules/csharpexec-script: New, created from...
32353         * modules/csharpexec: ... this.
32354
32355 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
32356
32357         * modules/javaexec-script: New, created from...
32358         * modules/javaexec: ... this.
32359
32360 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
32361
32362         * modules/poll (Dependencies): Add sys_select.
32363
32364 2007-01-15  Jim Meyering  <jim@meyering.net>
32365
32366         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
32367         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
32368         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
32369         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
32370
32371 2007-01-15  Bruno Haible  <bruno@clisp.org>
32372
32373         * modules/striconveh: New file.
32374         * lib/striconveh.h: New file.
32375         * lib/striconveh.c: New file.
32376         * MODULES.html.sh (Internationalization functions): Add striconveh.
32377
32378         * modules/striconveh-tests: New file.
32379         * tests/test-striconveh.c: New file.
32380
32381 2007-01-15  Bruno Haible  <bruno@clisp.org>
32382
32383         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
32384         not from GNU libiconv or GNU libc.
32385
32386 2007-01-15  Bruno Haible  <bruno@clisp.org>
32387
32388         * doc/gnulib-intro.texi (Copyright): Explain the different license
32389         terms for module descriptions, autoconf macros, tests, documentation.
32390
32391 2007-01-14  Bruno Haible  <bruno@clisp.org>
32392
32393         * modules/striconv-tests: New file.
32394         * tests/test-striconv.c: New file.
32395
32396 2007-01-14  Bruno Haible  <bruno@clisp.org>
32397
32398         * modules/iconv-tests: New file.
32399         * tests/test-iconv.c: New file.
32400
32401 2007-01-14  Bruno Haible  <bruno@clisp.org>
32402
32403         * gnulib-tool (func_get_license): For test modules, use the license of
32404         the main module.
32405
32406 2007-01-14  Bruno Haible  <bruno@clisp.org>
32407
32408         * modules/iconv (Include): Clarify that <iconv.h> can only be included
32409         if iconv is found to exist.
32410
32411 2007-01-14  Bruno Haible  <bruno@clisp.org>
32412
32413         * modules/c-ctype-tests: New file.
32414         * tests/test-c-ctype.c: New file.
32415
32416 2007-01-14  Bruno Haible  <bruno@clisp.org>
32417
32418         * modules/binary-io-tests: New file.
32419         * tests/test-binary-io.sh: New file.
32420         * tests/test-binary-io.c: New file.
32421
32422 2007-01-14  Bruno Haible  <bruno@clisp.org>
32423
32424         * modules/array-oset-tests: New file.
32425         * tests/test-array_oset.c: New file.
32426
32427 2007-01-14  Bruno Haible  <bruno@clisp.org>
32428
32429         * modules/array-list-tests: New file.
32430         * tests/test-array_list.c: New file.
32431
32432 2007-01-14  Bruno Haible  <bruno@clisp.org>
32433
32434         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
32435         and make.
32436         Reported by Simon Josefsson in
32437         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
32438
32439 2007-01-14  Bruno Haible  <bruno@clisp.org>
32440
32441         * modules/allocsa-tests: New file.
32442         * tests/test-allocsa.c: New file.
32443
32444 2007-01-14  Bruno Haible  <bruno@clisp.org>
32445
32446         * modules/fchdir (Depends-on): Add absolute-header.
32447         * modules/unistd (Depends-on): Likewise.
32448
32449 2006-12-30  Bruno Haible  <bruno@clisp.org>
32450
32451         * modules/fchdir: New file.
32452         * modules/unistd (Files): Add lib/unistd_.h.
32453         (Makefile.am): Generate unistd.h from unistd_.h.
32454         * lib/fchdir.c: New file.
32455         * lib/dirent_.h: New file.
32456         * lib/unistd_.h: New file.
32457         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
32458         * m4/fchdir.m4: New file.
32459         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
32460         (gl_HEADER_UNISTD): Invoke it.
32461         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
32462         function.
32463         * lib/backupfile.c (opendir, closedir): Undefine.
32464         * lib/chown.c (open, close): Undefine.
32465         * lib/clean-temp.c (open, close): Undefine.
32466         * lib/copy-file.c (open, close): Undefine.
32467         * lib/execute.c (open, close): Undefine.
32468         * lib/fsusage.c (open, close): Undefine.
32469         * lib/gc-gnulib.c (open, close): Undefine.
32470         * lib/getcwd.c (opendir, closedir): Undefine.
32471         * lib/glob.c (opendir, closedir): Undefine.
32472         * lib/javacomp.c (open, close): Undefine.
32473         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
32474         * lib/openat-proc.c (open, close): Undefine.
32475         * lib/pagealign_alloc.c (open, close): Undefine.
32476         * lib/pipe.c (open, close): Undefine.
32477         * lib/progreloc.c (open, close): Undefine.
32478         * lib/savedir.c (opendir, closedir): Undefine.
32479         * lib/utime.c (open, close): Undefine.
32480         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
32481
32482 2007-01-10  Bruno Haible  <bruno@clisp.org>
32483
32484         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
32485
32486 2007-01-12  Eric Blake  <ebb9@byu.net>
32487
32488         Provide a robust <wchar.h>.  Further simplifications are now
32489         possible in other modules, but not included here.
32490         * modules/wchar: New module.
32491         * m4/wchar.m4: New file.
32492         * lib/wchar_.h: Likewise.
32493         * modules/mbchar (Depends-on): Depend on wchar, as the first use
32494         of the new module.
32495         * MODULES.html.sh (Extended multibyte and wide character utilities):
32496         New section.
32497
32498 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
32499
32500         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
32501         to a reasonable default for memory allocation.
32502         (xreadlink): Don't allocate a huge buffer, to work around a buggy
32503         file system that reports garbage st_size values for symlinks.
32504         Problem reported by Liyang Hu.
32505
32506 2007-01-11  Simon Josefsson  <simon@josefsson.org>
32507
32508         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
32509         Emacs .#* auto-save files).
32510
32511 2007-01-11  Bruno Haible  <bruno@clisp.org>
32512
32513         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
32514         directory.
32515
32516 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
32517
32518         Use @...@ consistently in lib/wctype_.h.
32519         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
32520         on it being set to 1 or 0.
32521         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
32522         go back to AC_SUBSTing it.
32523         * modules/wctype (Makefile.am): Undo previous change.
32524
32525 2007-01-10  Eric Blake  <ebb9@byu.net>
32526
32527         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
32528         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
32529         * modules/wctype (Makefile.am): Likewise.
32530         Reported by Chris McGuire.
32531
32532 2007-01-10  Jim Meyering  <jim@meyering.net>
32533
32534         fts.c: a small readability/maintainability improvement
32535         * lib/fts.c (fts_read): Make this code slightly more readable and
32536         maintainable by hoisting the "sp->fts_cur = p" assignments to
32537         immediately follow the statements that set P.  Derived from
32538         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
32539
32540 2007-01-10  Eric Blake  <ebb9@byu.net>
32541
32542         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
32543         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
32544         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
32545         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
32546         Reported by Chris McGuire.
32547
32548 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32549
32550         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
32551         in sed script.
32552
32553 2007-01-09  Bruno Haible  <bruno@clisp.org>
32554
32555         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
32556         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
32557         variables.
32558         (func_module): Use them.
32559
32560 2007-01-09  Bruno Haible  <bruno@clisp.org>
32561
32562         * modules/unistr/base: New file.
32563         * lib/unistr.h: New file.
32564
32565         * modules/unistr/u8-to-u16: New file.
32566         * lib/unistr/u8-to-u16.c: New file.
32567
32568         * modules/unistr/u8-to-u32: New file.
32569         * lib/unistr/u8-to-u32.c: New file.
32570
32571         * modules/unistr/u16-to-u8: New file.
32572         * lib/unistr/u16-to-u8.c: New file.
32573
32574         * modules/unistr/u16-to-u32: New file.
32575         * lib/unistr/u16-to-u32.c: New file.
32576
32577         * modules/unistr/u32-to-u8: New file.
32578         * lib/unistr/u32-to-u8.c: New file.
32579
32580         * modules/unistr/u32-to-u16: New file.
32581         * lib/unistr/u32-to-u16.c: New file.
32582
32583         * modules/unistr/u8-check: New file.
32584         * modules/unistr/u16-check: New file.
32585         * modules/unistr/u32-check: New file.
32586         * lib/unistr/u8-check.c: New file.
32587         * lib/unistr/u16-check.c: New file.
32588         * lib/unistr/u32-check.c: New file.
32589
32590         * modules/unistr/u8-chr: New file.
32591         * modules/unistr/u16-chr: New file.
32592         * modules/unistr/u32-chr: New file.
32593         * lib/unistr/u8-chr.c: New file.
32594         * lib/unistr/u16-chr.c: New file.
32595         * lib/unistr/u32-chr.c: New file.
32596
32597         * modules/unistr/u8-cmp: New file.
32598         * modules/unistr/u16-cmp: New file.
32599         * modules/unistr/u32-cmp: New file.
32600         * lib/unistr/u8-cmp.c: New file.
32601         * lib/unistr/u16-cmp.c: New file.
32602         * lib/unistr/u32-cmp.c: New file.
32603
32604         * modules/unistr/u8-cpy: New file.
32605         * modules/unistr/u16-cpy: New file.
32606         * modules/unistr/u32-cpy: New file.
32607         * lib/unistr/u8-cpy.c: New file.
32608         * lib/unistr/u16-cpy.c: New file.
32609         * lib/unistr/u32-cpy.c: New file.
32610         * lib/unistr/u-cpy.h: New file.
32611
32612         * modules/unistr/u8-cpy-alloc: New file.
32613         * modules/unistr/u16-cpy-alloc: New file.
32614         * modules/unistr/u32-cpy-alloc: New file.
32615         * lib/unistr/u8-cpy-alloc.c: New file.
32616         * lib/unistr/u16-cpy-alloc.c: New file.
32617         * lib/unistr/u32-cpy-alloc.c: New file.
32618         * lib/unistr/u-cpy-alloc.h: New file.
32619
32620         * modules/unistr/u8-endswith: New file.
32621         * modules/unistr/u16-endswith: New file.
32622         * modules/unistr/u32-endswith: New file.
32623         * lib/unistr/u8-endswith.c: New file.
32624         * lib/unistr/u16-endswith.c: New file.
32625         * lib/unistr/u32-endswith.c: New file.
32626         * lib/unistr/u-endswith.h: New file.
32627
32628         * modules/unistr/u8-mblen: New file.
32629         * modules/unistr/u16-mblen: New file.
32630         * modules/unistr/u32-mblen: New file.
32631         * lib/unistr/u8-mblen.c: New file.
32632         * lib/unistr/u16-mblen.c: New file.
32633         * lib/unistr/u32-mblen.c: New file.
32634
32635         * modules/unistr/u8-mbtouc: New file.
32636         * modules/unistr/u16-mbtouc: New file.
32637         * modules/unistr/u32-mbtouc: New file.
32638         * lib/unistr/u8-mbtouc.c: New file.
32639         * lib/unistr/u16-mbtouc.c: New file.
32640         * lib/unistr/u32-mbtouc.c: New file.
32641
32642         * modules/unistr/u8-mbtouc-safe: New file.
32643         * modules/unistr/u16-mbtouc-safe: New file.
32644         * modules/unistr/u32-mbtouc-safe: New file.
32645         * lib/unistr/u8-mbtouc-safe.c: New file.
32646         * lib/unistr/u16-mbtouc-safe.c: New file.
32647         * lib/unistr/u32-mbtouc-safe.c: New file.
32648
32649         * modules/unistr/u8-move: New file.
32650         * modules/unistr/u16-move: New file.
32651         * modules/unistr/u32-move: New file.
32652         * lib/unistr/u8-move.c: New file.
32653         * lib/unistr/u16-move.c: New file.
32654         * lib/unistr/u32-move.c: New file.
32655         * lib/unistr/u-move.h: New file.
32656
32657         * modules/unistr/u8-next: New file.
32658         * modules/unistr/u16-next: New file.
32659         * modules/unistr/u32-next: New file.
32660         * lib/unistr/u8-next.c: New file.
32661         * lib/unistr/u16-next.c: New file.
32662         * lib/unistr/u32-next.c: New file.
32663
32664         * modules/unistr/u8-prev: New file.
32665         * modules/unistr/u16-prev: New file.
32666         * modules/unistr/u32-prev: New file.
32667         * lib/unistr/u8-prev.c: New file.
32668         * lib/unistr/u16-prev.c: New file.
32669         * lib/unistr/u32-prev.c: New file.
32670
32671         * modules/unistr/u8-set: New file.
32672         * modules/unistr/u16-set: New file.
32673         * modules/unistr/u32-set: New file.
32674         * lib/unistr/u8-set.c: New file.
32675         * lib/unistr/u16-set.c: New file.
32676         * lib/unistr/u32-set.c: New file.
32677         * lib/unistr/u-set.h: New file.
32678
32679         * modules/unistr/u8-startswith: New file.
32680         * modules/unistr/u16-startswith: New file.
32681         * modules/unistr/u32-startswith: New file.
32682         * lib/unistr/u8-startswith.c: New file.
32683         * lib/unistr/u16-startswith.c: New file.
32684         * lib/unistr/u32-startswith.c: New file.
32685         * lib/unistr/u-startswith.h: New file.
32686
32687         * modules/unistr/u8-stpcpy: New file.
32688         * modules/unistr/u16-stpcpy: New file.
32689         * modules/unistr/u32-stpcpy: New file.
32690         * lib/unistr/u8-stpcpy.c: New file.
32691         * lib/unistr/u16-stpcpy.c: New file.
32692         * lib/unistr/u32-stpcpy.c: New file.
32693         * lib/unistr/u-stpcpy.h: New file.
32694
32695         * modules/unistr/u8-stpncpy: New file.
32696         * modules/unistr/u16-stpncpy: New file.
32697         * modules/unistr/u32-stpncpy: New file.
32698         * lib/unistr/u8-stpncpy.c: New file.
32699         * lib/unistr/u16-stpncpy.c: New file.
32700         * lib/unistr/u32-stpncpy.c: New file.
32701         * lib/unistr/u-stpncpy.h: New file.
32702
32703         * modules/unistr/u8-strcat: New file.
32704         * modules/unistr/u16-strcat: New file.
32705         * modules/unistr/u32-strcat: New file.
32706         * lib/unistr/u8-strcat.c: New file.
32707         * lib/unistr/u16-strcat.c: New file.
32708         * lib/unistr/u32-strcat.c: New file.
32709         * lib/unistr/u-strcat.h: New file.
32710
32711         * modules/unistr/u8-strchr: New file.
32712         * modules/unistr/u16-strchr: New file.
32713         * modules/unistr/u32-strchr: New file.
32714         * lib/unistr/u8-strchr.c: New file.
32715         * lib/unistr/u16-strchr.c: New file.
32716         * lib/unistr/u32-strchr.c: New file.
32717
32718         * modules/unistr/u8-strcmp: New file.
32719         * modules/unistr/u16-strcmp: New file.
32720         * modules/unistr/u32-strcmp: New file.
32721         * lib/unistr/u8-strcmp.c: New file.
32722         * lib/unistr/u16-strcmp.c: New file.
32723         * lib/unistr/u32-strcmp.c: New file.
32724
32725         * modules/unistr/u8-strcpy: New file.
32726         * modules/unistr/u16-strcpy: New file.
32727         * modules/unistr/u32-strcpy: New file.
32728         * lib/unistr/u8-strcpy.c: New file.
32729         * lib/unistr/u16-strcpy.c: New file.
32730         * lib/unistr/u32-strcpy.c: New file.
32731         * lib/unistr/u-strcpy.h: New file.
32732
32733         * modules/unistr/u8-strcspn: New file.
32734         * modules/unistr/u16-strcspn: New file.
32735         * modules/unistr/u32-strcspn: New file.
32736         * lib/unistr/u8-strcspn.c: New file.
32737         * lib/unistr/u16-strcspn.c: New file.
32738         * lib/unistr/u32-strcspn.c: New file.
32739         * lib/unistr/u-strcspn.h: New file.
32740
32741         * modules/unistr/u8-strdup: New file.
32742         * modules/unistr/u16-strdup: New file.
32743         * modules/unistr/u32-strdup: New file.
32744         * lib/unistr/u8-strdup.c: New file.
32745         * lib/unistr/u16-strdup.c: New file.
32746         * lib/unistr/u32-strdup.c: New file.
32747         * lib/unistr/u-strdup.h: New file.
32748
32749         * modules/unistr/u8-strlen: New file.
32750         * modules/unistr/u16-strlen: New file.
32751         * modules/unistr/u32-strlen: New file.
32752         * lib/unistr/u8-strlen.c: New file.
32753         * lib/unistr/u16-strlen.c: New file.
32754         * lib/unistr/u32-strlen.c: New file.
32755         * lib/unistr/u-strlen.h: New file.
32756
32757         * modules/unistr/u8-strmblen: New file.
32758         * modules/unistr/u16-strmblen: New file.
32759         * modules/unistr/u32-strmblen: New file.
32760         * lib/unistr/u8-strmblen.c: New file.
32761         * lib/unistr/u16-strmblen.c: New file.
32762         * lib/unistr/u32-strmblen.c: New file.
32763
32764         * modules/unistr/u8-strmbtouc: New file.
32765         * modules/unistr/u16-strmbtouc: New file.
32766         * modules/unistr/u32-strmbtouc: New file.
32767         * lib/unistr/u8-strmbtouc.c: New file.
32768         * lib/unistr/u16-strmbtouc.c: New file.
32769         * lib/unistr/u32-strmbtouc.c: New file.
32770
32771         * modules/unistr/u8-strncat: New file.
32772         * modules/unistr/u16-strncat: New file.
32773         * modules/unistr/u32-strncat: New file.
32774         * lib/unistr/u8-strncat.c: New file.
32775         * lib/unistr/u16-strncat.c: New file.
32776         * lib/unistr/u32-strncat.c: New file.
32777         * lib/unistr/u-strncat.h: New file.
32778
32779         * modules/unistr/u8-strncmp: New file.
32780         * modules/unistr/u16-strncmp: New file.
32781         * modules/unistr/u32-strncmp: New file.
32782         * lib/unistr/u8-strncmp.c: New file.
32783         * lib/unistr/u16-strncmp.c: New file.
32784         * lib/unistr/u32-strncmp.c: New file.
32785
32786         * modules/unistr/u8-strncpy: New file.
32787         * modules/unistr/u16-strncpy: New file.
32788         * modules/unistr/u32-strncpy: New file.
32789         * lib/unistr/u8-strncpy.c: New file.
32790         * lib/unistr/u16-strncpy.c: New file.
32791         * lib/unistr/u32-strncpy.c: New file.
32792         * lib/unistr/u-strncpy.h: New file.
32793
32794         * modules/unistr/u8-strnlen: New file.
32795         * modules/unistr/u16-strnlen: New file.
32796         * modules/unistr/u32-strnlen: New file.
32797         * lib/unistr/u8-strnlen.c: New file.
32798         * lib/unistr/u16-strnlen.c: New file.
32799         * lib/unistr/u32-strnlen.c: New file.
32800         * lib/unistr/u-strnlen.h: New file.
32801
32802         * modules/unistr/u8-strpbrk: New file.
32803         * modules/unistr/u16-strpbrk: New file.
32804         * modules/unistr/u32-strpbrk: New file.
32805         * lib/unistr/u8-strpbrk.c: New file.
32806         * lib/unistr/u16-strpbrk.c: New file.
32807         * lib/unistr/u32-strpbrk.c: New file.
32808         * lib/unistr/u-strpbrk.h: New file.
32809
32810         * modules/unistr/u8-strrchr: New file.
32811         * modules/unistr/u16-strrchr: New file.
32812         * modules/unistr/u32-strrchr: New file.
32813         * lib/unistr/u8-strrchr.c: New file.
32814         * lib/unistr/u16-strrchr.c: New file.
32815         * lib/unistr/u32-strrchr.c: New file.
32816
32817         * modules/unistr/u8-strspn: New file.
32818         * modules/unistr/u16-strspn: New file.
32819         * modules/unistr/u32-strspn: New file.
32820         * lib/unistr/u8-strspn.c: New file.
32821         * lib/unistr/u16-strspn.c: New file.
32822         * lib/unistr/u32-strspn.c: New file.
32823         * lib/unistr/u-strspn.h: New file.
32824
32825         * modules/unistr/u8-strstr: New file.
32826         * modules/unistr/u16-strstr: New file.
32827         * modules/unistr/u32-strstr: New file.
32828         * lib/unistr/u8-strstr.c: New file.
32829         * lib/unistr/u16-strstr.c: New file.
32830         * lib/unistr/u32-strstr.c: New file.
32831         * lib/unistr/u-strstr.h: New file.
32832
32833         * modules/unistr/u8-strtok: New file.
32834         * modules/unistr/u16-strtok: New file.
32835         * modules/unistr/u32-strtok: New file.
32836         * lib/unistr/u8-strtok.c: New file.
32837         * lib/unistr/u16-strtok.c: New file.
32838         * lib/unistr/u32-strtok.c: New file.
32839         * lib/unistr/u-strtok.h: New file.
32840
32841         * modules/unistr/u8-uctomb: New file.
32842         * modules/unistr/u16-uctomb: New file.
32843         * modules/unistr/u32-uctomb: New file.
32844         * lib/unistr/u8-uctomb.c: New file.
32845         * lib/unistr/u16-uctomb.c: New file.
32846         * lib/unistr/u32-uctomb.c: New file.
32847
32848         * MODULES.html.sh (Unicode string functions): Add the new modules.
32849
32850 2007-01-08  Bruno Haible  <bruno@clisp.org>
32851
32852         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
32853         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
32854         subdirectories.
32855
32856 2007-01-08  Karl Berry  <karl@gnu.org>
32857
32858         * doc/error.texi: mention that main() fns must set program_name
32859         when progname is used.
32860
32861 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
32862
32863         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
32864         WCTYPE_H is empty, for the benefit of builds from non-distclean
32865         directories.  Problem reported by Eric Blake in
32866         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
32867
32868 2007-01-08  Bruno Haible  <bruno@clisp.org>
32869
32870         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
32871         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
32872         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
32873         PROVIDE_CANONICALIZE_FILENAME_MODE.
32874         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
32875
32876 2007-01-08  Bruno Haible  <bruno@clisp.org>
32877
32878         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
32879         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
32880         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
32881         * lib/fts.c: Likewise.
32882         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
32883
32884 2006-12-25  Bruno Haible  <bruno@clisp.org>
32885
32886         * modules/utf8-ucs4-safe: New file.
32887         * lib/utf8-ucs4-safe.h: New file.
32888         * lib/unistr/utf8-ucs4-safe.c: New file.
32889
32890         * modules/utf16-ucs4-safe: New file.
32891         * lib/utf16-ucs4-safe.h: New file.
32892         * lib/unistr/utf16-ucs4-safe.c: New file.
32893
32894         * MODULES.html.sh (Unicode string functions): Add the new modules.
32895
32896 2007-01-08  Bruno Haible  <bruno@clisp.org>
32897
32898         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
32899         (Depends-on): Add unitypes.
32900         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
32901         (u8_mbtouc_aux): Move out to separate file.
32902         (u8_mbtouc): Use ucs4_t, uint8_t types.
32903         * lib/unistr/utf8-ucs4.c: New file.
32904
32905         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
32906         (Depends-on): Add unitypes.
32907         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
32908         (u16_mbtouc_aux): Move out to separate file.
32909         (u16_mbtouc): Use ucs4_t, uint16_t types.
32910         * lib/unistr/utf16-ucs4.c: New file.
32911
32912         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
32913         (Depends-on): Add unitypes.
32914         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
32915         (u8_uctomb_aux): Move out to separate file.
32916         (u8_uctomb): Use ucs4_t, uint8_t types.
32917         * lib/unistr/ucs4-utf8.c: New file.
32918
32919         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
32920         (Depends-on): Add unitypes.
32921         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
32922         (u16_uctomb_aux): Move out to separate file.
32923         (u16_uctomb): Use ucs4_t, uint16_t types.
32924         * lib/unistr/ucs4-utf16.c: New file.
32925
32926 2006-12-25  Bruno Haible  <bruno@clisp.org>
32927
32928         * modules/unitypes: New file.
32929         * lib/unitypes.h: New file.
32930         * MODULES.html.sh (func_all_modules): New section "Unicode string
32931         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
32932         this section. Add unitypes.
32933
32934 2007-01-08  Bruno Haible  <bruno@clisp.org>
32935
32936         Avoid variable names that conflict with those from libtool.
32937         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
32938         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
32939         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
32940         library_names_spec to acl_library_names_spec, hardcode_* to
32941         acl_hardcode_*.
32942         Reported by Ralf Wildenhues.
32943
32944 2007-01-08  Bruno Haible  <bruno@clisp.org>
32945
32946         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
32947         definition.
32948         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
32949         definition.
32950         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
32951         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
32952         definition.
32953         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
32954         definition.
32955         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
32956         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
32957         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
32958         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
32959         definition.
32960         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
32961         definition.
32962         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
32963         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
32964         GC_USE_<algorithm>.
32965         * lib/gc-libgcrypt.c: Likewise.
32966         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
32967         * modules/gc-arctwo (configure.ac): Likewise.
32968         * modules/gc-des (configure.ac): Likewise.
32969         * modules/gc-hmac-md5 (configure.ac): Likewise.
32970         * modules/gc-hmac-sha1 (configure.ac): Likewise.
32971         * modules/gc-md2 (configure.ac): Likewise.
32972         * modules/gc-md4 (configure.ac): Likewise.
32973         * modules/gc-md5 (configure.ac): Likewise.
32974         * modules/gc-random (configure.ac): Likewise.
32975         * modules/gc-rijndael (configure.ac): Likewise.
32976         * modules/gc-sha1 (configure.ac): Likewise.
32977
32978 2007-01-08  Bruno Haible  <bruno@clisp.org>
32979
32980         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
32981         macro definition.
32982         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
32983         definition.
32984         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
32985         definition.
32986         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
32987         * modules/fcntl-safer (configure.ac): Likewise.
32988         * modules/fopen-safer (configure.ac): Likewise.
32989         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
32990         GNULIB_FWRITEERROR macro definition.
32991
32992 2007-01-08  Bruno Haible  <bruno@clisp.org>
32993
32994         * m4/gnulib-common.m4: New file.
32995         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
32996         (func_get_filelist): Add m4/gnulib-common.m4.
32997
32998 2007-01-08  Bruno Haible  <bruno@clisp.org>
32999
33000         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
33001         command.
33002
33003 2007-01-08  Jim Meyering  <jim@meyering.net>
33004
33005         Use a more robust test for a "can't happen" condition.
33006         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
33007         narrowed the st_size value.  Presuming the "can't happen" condition
33008         is true, that narrowing could conceivably convert an invalid st_size
33009         value into a valid one.  Instead, use a change based on Matthew
33010         Woehlke's original patch.
33011
33012         Slight readability improvement: use an assert-like macro
33013         in place of literal "abort ()" uses.
33014         * lib/fts.c (fts_assert): Define.
33015         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
33016         Use this macro instead of a bare 'abort'.
33017
33018 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
33019
33020         Don't worry about using IRIX 5.3's wctype.h broken definitions;
33021         simply work around them.
33022         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
33023         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
33024         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
33025         declaring.
33026         Don't bother to define as macros, since the standard doesn't require it.
33027         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
33028         longer worry about IRIX 5.3.
33029         (HAVE_WCTYPE_CTMP_BUG): Remove.
33030
33031 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
33032
33033         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
33034         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
33035         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
33036         Problems reported by Georg Schwarz for IRIX 5.3.
33037
33038         * gnulib-tool (autoconf_minversion): Take the maximum version number
33039         found, not the minimum.  Problem reported by James Youngman.
33040
33041 2007-01-03  Karl Berry  <karl@gnu.org>
33042
33043         * doc/error.texi: new file, explaining interaction with progname.
33044         * doc/gnulib.texi: include it.  Update copyright.
33045
33046 2007-01-03  Simon Josefsson  <simon@josefsson.org>
33047
33048         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
33049         AC_CANONICAL_HOST, to improve autobuild outputs.
33050
33051 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
33052             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
33053
33054         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
33055         sockets, server sockets, and other file descriptors.  Count errors
33056         to compute the return value.  Reorder the code a bit to be easier
33057         to follow.  Don't set event bits that were not requested (except
33058         POLLERR and POLLHUP).
33059
33060 2007-01-01  Bruno Haible  <bruno@clisp.org>
33061
33062         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
33063
33064 2007-01-03  Jim Meyering  <jim@meyering.net>
33065
33066         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
33067
33068 2007-01-02  Bruno Haible  <bruno@clisp.org>
33069
33070         * modules/settime (Include): Require timespec.h.
33071         * modules/nanosleep (Include): Likewise.
33072
33073 2007-01-01  Bruno Haible  <bruno@clisp.org>
33074
33075         * gnulib-tool (func_emit_copyright_notice): Bump year.
33076         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
33077
33078 2007-01-01  Bruno Haible  <bruno@clisp.org>
33079
33080         Improve support for OpenBSD.
33081         * build-aux/config.rpath (libname_spec): Export.
33082         (library_names_spec): New variable. Export.
33083         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
33084         library_names_spec from the config.rpath output. Locate shared library
33085         through the name pattern in library_names_spec.
33086
33087 2007-01-01  Eric Blake  <ebb9@byu.net>
33088
33089         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
33090
33091 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
33092
33093         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
33094         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
33095         assume the C locale, and avoid an "eval" that could cause trouble.
33096         Problem with SORT reported by Bob Proulx.
33097
33098         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
33099         Define.  Trivial patch from Henning Nielsen Lund, originally
33100         sent to bug-grep@gnu.org today.
33101
33102 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
33103
33104         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
33105         struct stat.  Problem reported by Henning Nielsen Lund.
33106         * lib/acl.c: Include acl.h first, to check interface.  Don't
33107         bother to include sys/types.h and sys/stat.h again.
33108
33109 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
33110
33111         Import the following change from libc; problem reported by
33112         Sven Verdoolaege.
33113
33114         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
33115
33116         [BZ #1373]
33117         * lib/argp.h: Remove __NTH for __argp_usage inline function.
33118
33119 2006-12-28  Jim Meyering  <jim@meyering.net>
33120
33121         * build-aux/announce-gen: Do not assume that the package
33122         builds any of tar.gz, tar.bz2, and .xdelta files.
33123         Suggestion from Simon Josefsson.
33124
33125 2006-12-28  Simon Josefsson  <simon@josefsson.org>
33126
33127         * modules/announce-gen: New file.
33128
33129 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
33130
33131         * lib/mbchar.h: Just include <wctype.h>; the wctype module
33132         handles its gotchas now.
33133         * lib/mbswidth.c: Likewise.
33134         * lib/wcwidth.h: Likewise.
33135         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
33136         and iswcntrl; the wctype module does this stuff now.
33137         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
33138         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
33139         * modules/mbchar (Depends-on): Add wctype.
33140         * modules/mbswidth (Depends-on): Likewise.
33141         * modules/wcwidth (Depends-on): Likewise.
33142
33143 2006-12-27  Eric Blake  <ebb9@byu.net>
33144
33145         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
33146         module uses more than what <wctype.h> is required to provide.
33147
33148 2006-12-26  Eric Blake  <ebb9@byu.net>
33149
33150         * gnulib-tool (sed_extract_prog): Avoid space-tab.
33151
33152 2006-12-26  Eric Blake  <ebb9@byu.net>
33153
33154         * modules/absolute-header: New module.
33155         * modules/fcntl (Depends-on): Depend on it.
33156         * modules/inttypes (Depends-on): Likewise.
33157         * modules/stdint (Depends-on): Likewise.
33158         * modules/sys_stat (Depends-on): Likewise.
33159         * modules/wctype (Depends-on): Likewise.
33160         * MODULES.html.sh (Support for building libraries and
33161         executables): Document it.
33162
33163 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
33164
33165         * gnulib-tool (SED): Remove, undoing previous change.
33166         The problem was that it broke coreutils on Solaris, because
33167         "sed --posix" leaked into a makefile.
33168         (sed): New alias, if 'alias' and GNU sed.
33169
33170 2006-12-24  Jim Meyering  <jim@meyering.net>
33171
33172         Work around an fchownat bug in glibc-2.4:
33173         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
33174         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
33175         in spite of the -P option.
33176         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
33177         New macros.
33178         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
33179         * modules/openat (Files): Add lib/fchownat.c.
33180         * lib/openat.c (fchownat): Don't define here.  Move to...
33181         * lib/fchownat.c: ...this new file.
33182
33183 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
33184
33185         Fix bug reported by Bruno Haible in
33186         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
33187         where quotearg.c didn't compile on Mac OS X 10.2 because it
33188         lacks <wchar.h> and wint_t.
33189         * lib/wctype_.h (__wctype_wint_t): New type.
33190         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
33191         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
33192         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
33193         Arg is now of type __wctype_wint_t, not wint_t.
33194         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
33195         substitute HAVE_WINT_T.
33196         * modules/wctype (Files): Add m4/wint_t.m4.
33197         (wctype.h): Substitute HAVE_WINT_T.
33198
33199 2006-12-23  Bruno Haible  <bruno@clisp.org>
33200
33201         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
33202
33203 2006-12-23  Bruno Haible  <bruno@clisp.org>
33204
33205         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
33206         S_ISLNK.
33207         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
33208         mingw.
33209
33210 2006-12-22  Bruno Haible  <bruno@clisp.org>
33211
33212         * lib/copy-file.c: Include acl.h.
33213         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
33214         Close the file descriptors only after being done with copy_acl.
33215         * modules/copy-file (Depends-on): Add acl.
33216
33217 2006-12-22  Bruno Haible  <bruno@clisp.org>
33218
33219         * gnulib-tool (SED): New variable.
33220         Use $SED instead of sed everywhere.
33221
33222 2006-12-22  Bruno Haible  <bruno@clisp.org>
33223
33224         * modules/no-c++: New file.
33225         * m4/no-c++.m4: New file.
33226         * MODULES.html.sh (Support for building libraries and executables):
33227         Add no-c++.
33228
33229 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
33230
33231         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
33232         Include <limits.h>, and use its INT_MAX to rewrite the
33233         j loop so that it does not overflow 'int'.  Problem reported by
33234         Ralf Wildenhues in
33235         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
33236         Play it safe by shifting left by 1 rather than multiplying by 2,
33237         as GCC is less likely to optimize this away when the value
33238         is signed (when it assumes overflow leads to undefined behavior).
33239         Also, don't assume time_t uses two's complement.
33240
33241 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
33242
33243         * MODULES.html.sh: New module wctype.
33244         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
33245         * lib/fnmatch.c: Don't bother to include <wchar.h> before
33246         <wctype.h>, since the new wctype module should fix this.
33247         * lib/quotearg.c: Include <wctype.h> unconditionally, since
33248         the wctype module should arrange for it.
33249         * lib/regex_internal.h: Likewise.
33250         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
33251         since the wctype module should handle this now.
33252         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
33253         * modules/fnmatch (Depends-on): Add wctype.
33254         * modules/quotearg (Depends-on): Likewise.
33255         * modules/regex (Depends-on): Likewise.
33256
33257 2006-12-19  Bruno Haible  <bruno@clisp.org>
33258
33259         * lib/strdup.h [C++]: Wrap definitions in extern "C".
33260         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
33261
33262 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33263
33264         * modules/savewd (Depends-on): Fix dependency on fcntl.
33265
33266 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
33267
33268         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
33269         conforms to C99, rather than relying on the user's environment
33270         setting of STDINT_H.
33271
33272 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
33273         and Eric Blake  <ebb9@byu.net>
33274
33275         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
33276         This is more consistent with the other defines here.
33277         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
33278         Port to z/OS.  Problem reported by Paul Gilmartin.
33279         Change local vars to use gl_ prefix rather than ac_.
33280         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
33281         with other defines.
33282         * modules/double-slash-root: New module.
33283         * modules/dirname (Files): Remove m4/double-slash-root.m4.
33284         (Depends-on): Add double-slash-root.
33285         * MODULES.html.sh (File system functions): Mention new module.
33286
33287 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
33288
33289         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
33290         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
33291         This is for the benefit of gzip, which doesn't do i18n.
33292
33293 2006-12-12  Jim Meyering  <jim@meyering.net>
33294
33295         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
33296         Reported by Andreas Schwab <schwab@suse.de>.
33297
33298 2006-12-12  Bruno Haible  <bruno@clisp.org>
33299
33300         Merge these changes.
33301         2006-09-05  Bruno Haible  <bruno@clisp.org>
33302         * lib/iconvme.c (iconv_string): No need to save and restore errno when
33303         iconv_alloc succeeded.
33304         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
33305         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
33306         test for " && dest " at the end - dest is always != NULL there. Call
33307         iconv with 4xNULL arguments initially, to reset the state. Call iconv
33308         with 2xNULL arguments, also to flush the state storage. Handle the
33309         IRIX iconv behaviour. Realloc the final result, to throw away unused
33310         memory.
33311
33312 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
33313
33314         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
33315         and fchmodat unconditionally, since glibc 2.4 has them.
33316         Problem reported by Arkadiusz Miskiewicz.
33317
33318 2006-12-10  Bruno Haible  <bruno@clisp.org>
33319
33320         * gnulib-tool (func_import): Show the include files only for those
33321         modules that are copied and specified.
33322         Reported by Karl Berry.
33323
33324 2006-12-08  Jim Meyering  <jim@meyering.net>
33325
33326         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
33327         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
33328
33329         * build-aux/announce-gen: Add two new options, both optional:
33330         --bootstrap-tools=TOOL_LIST
33331               a comma-separated list of tools, e.g.,
33332               autoconf,automake,bison,gnulib
33333         --gnulib-snapshot-date=DATE
33334               if gnulib is in the bootstrap tool list,
33335               then report this as the snapshot date.
33336               If not specified, use the current date/time.
33337               If you specify a date here, be sure it's UTC.
33338
33339 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33340
33341         * tests/test-argp-2.sh: Fix test to match actual output.
33342         (func_compare): Fix sed script to be portable.
33343
33344 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
33345
33346         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
33347         workaround for this case.  It is not autoconfigured now; offhand
33348         it's hard to see how to autoconfigure it.
33349
33350 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
33351
33352         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
33353         a directory that is about to be chowned.  Such a directory's
33354         initial file permissions should permit the owner only and this
33355         should not be changed until after the chown, since the group and
33356         other bits would be incorrect if they granted permission before
33357         the chown.
33358
33359         Fix porting problem for iswctype reported by Georg Schwarz in:
33360         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
33361         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
33362         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
33363         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
33364         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33365
33366 2006-12-03  Jim Meyering  <jim@meyering.net>
33367
33368         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
33369         p->fts_statp may not yet be defined.
33370         (fts_read): Instead, set it in the caller, once p->fts_statp is
33371         sure to be defined, and corresponds to a top-level directory.
33372         This bug made du -x fail.  Here's the coreutils test case:
33373         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
33374         Reported by Mike Frysinger.
33375
33376 2006-12-01  Jim Meyering  <jim@meyering.net>
33377
33378         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
33379         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
33380         Reported by Simon Josefsson.
33381
33382 2006-11-30  Jim Meyering  <jim@meyering.net>
33383
33384         * m4/warning.m4: Use the all-permissive copyright notice
33385         recommended by RMS (rather than LGPL).
33386         * m4/vararrays.m4: Likewise.
33387         * m4/flexmember.m4: Likewise.
33388
33389 2006-11-29  Bruno Haible  <bruno@clisp.org>
33390
33391         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
33392         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
33393         using +=.
33394         Reported by Simon Josefsson <simon@josefsson.org>.
33395
33396 2006-11-28  James Youngman <jay@gnu.org>
33397
33398         * README: Advise users that they might find the bug-gnulib@gnu.org
33399         and autotools-announce@gnu.org mailing lists useful.
33400
33401 2006-11-28  Bruno Haible  <bruno@clisp.org>
33402
33403         * m4/ptrdiff_max.m4: Remove file.
33404
33405 2006-11-21  Bruno Haible  <bruno@clisp.org>
33406
33407         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
33408         _AC_COMPUTE_INT.
33409         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
33410         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
33411         _AC_COMPUTE_INT.
33412         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
33413         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
33414         _AC_COMPUTE_INT.
33415         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
33416
33417 2006-11-28  Jim Meyering  <jim@meyering.net>
33418
33419         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
33420         warning from "gcc -Wshadow" about shadowing the builtin.
33421
33422 2006-11-27  Bruno Haible  <bruno@clisp.org>
33423
33424         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
33425         _AC_COMPUTE_INT.
33426         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
33427
33428 2006-11-27  Bruno Haible  <bruno@clisp.org>
33429             Paul Eggert  <eggert@cs.ucla.edu>
33430
33431         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
33432
33433 2006-11-26  Bruno Haible  <bruno@clisp.org>
33434
33435         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
33436         noinst_LTLIBRARIES.
33437
33438 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
33439             Bruno Haible  <bruno@clisp.org>
33440
33441         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
33442         if compiling with "gcc -ansi".
33443
33444 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
33445
33446         Fix some incompatibilities with gcc -ansi -pedantic.
33447         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
33448         if compiling pedantically with GCC, unless it's C99 or later.
33449         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
33450         it mishandles gcc -ansi -pedantic as well.
33451         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
33452         if gcc -pedantic.
33453         * lib/regexec.c (check_node_accept_bytes): Don't use auto
33454         initializers for struct if -pedantic, unless it's C99 or later.
33455
33456 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
33457
33458         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
33459         Don't close an fd more than once. Identical atimes indicate
33460         success, not failure.
33461
33462 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
33463
33464         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
33465
33466 2006-11-23  Jim Meyering  <jim@meyering.net>
33467
33468         * build-aux/announce-gen: New file.  From coreutils.
33469
33470 2006-11-22  Jim Meyering  <jim@meyering.net>
33471
33472         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
33473         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
33474         (fts_read): Use a temporary to narrow the overused st_size member
33475         before using it in a switch statement.  Reported by Matthew Woehlke.
33476
33477         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
33478         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
33479
33480 2006-11-20  Bruno Haible  <bruno@clisp.org>
33481
33482         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
33483         changequote instead of pairs of brackets.
33484         Reported by Andreas Schwab <schwab@suse.de>.
33485
33486 2006-11-21  Jim Meyering  <jim@meyering.net>
33487
33488         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
33489         so as to remain compatible with older compilers.
33490         Patch from Michael Deutschmann.
33491
33492 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
33493
33494         * MODULES.html.sh (File system functions): Add openat.
33495
33496         * lib/openat.h (rpl_fstatat): New macro, if
33497         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
33498         (fstatat): Define to rpl_fstatat under the same conditions,
33499         unless COMPILING_FSTATAT.
33500         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
33501         seems to have the bug.
33502         * lib/fstatat.c: New file.
33503         * modules/openat (Files): Add it.
33504
33505 2006-11-20  Bruno Haible  <bruno@clisp.org>
33506
33507         * Makefile: New file.
33508
33509 2006-11-20  Jim Meyering  <jim@meyering.net>
33510
33511         The beginnings of syntax-related checks for gnulib.
33512         * lib/Makefile: New file.
33513         * lib/t-idcache: New script.  Ensure that the two halves of
33514         idcache.c stay in sync.
33515
33516         * lib/idcache.c: Adjust comments in user- and group- portions to
33517         be more accurate, and to be consistent with one another.
33518
33519 2006-11-20  Jim Meyering  <jim@meyering.net>
33520
33521         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
33522         continue using the flexible array member (thus, this module performs
33523         half as many malloc calls), with the addition that...
33524         (getgroup, getuser): Consistently record a non-match via an empty
33525         "name" string, and map an empty string match to a NULL return value.
33526         * modules/idcache (Depends-on): Re-add flexmember.
33527
33528         * lib/idcache.c (getuser): Remove all uses of the register keyword.
33529         (getuidbyname, getgroup, getgidbyname): Likewise.
33530
33531         Use cleaner syntax: NULL rather than 0.
33532         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
33533
33534 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
33535
33536         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
33537         It mishandled the case where the group was missing.
33538         Problem reported by Greg Schafer.
33539         * modules/idcache: Likewise.
33540
33541 2006-11-18  Jim Meyering  <jim@meyering.net>
33542
33543         * check-module (%exempt_header): Add exception for some
33544         conditionally-included headers.
33545
33546         * modules/i-ring (Depends-on): Add verify.
33547         (License): Change to LGPL.
33548
33549 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
33550
33551         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
33552         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
33553         and inttostr.h.  Use snprintf rather than uinttostr, so that
33554         LGPLed code doesn't depend on GPLed.
33555
33556 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
33557
33558         * modules/inline (License): Change from GPL to LGPL.
33559
33560 2006-11-17  Jim Meyering  <jim@meyering.net>
33561
33562         * modules/d-type (License): Switch to LGPL.
33563
33564 2006-11-15  Bruno Haible  <bruno@clisp.org>
33565
33566         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
33567
33568 2006-11-15  Eric Blake  <ebb9@byu.net>
33569
33570         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
33571         the module dependency.
33572
33573 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
33574             Bruno Haible  <bruno@clisp.org>
33575
33576         * gnulib-tool (func_create_testdir): Add license consistency check.
33577
33578 2006-11-15  Eric Blake  <ebb9@byu.net>
33579
33580         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
33581         random "(cached)" in configure output.
33582
33583 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33584
33585         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
33586         test for conforming inttypes.h is both announced and cached.
33587
33588         * MODULES.html.sh (seen_modules, seen_files): New variables.
33589         (func_module): Rewrite to use a few less gnulib-tool and sed
33590         invocations.  Avoid a couple of quadratic algorithms for ...
33591         (missed_modules, missed_files): ... these, with ...
33592         (func_append, func_tmpdir): ... these new functions, from
33593         gnulib-tool.  Analogously, install traps for cleanup.
33594
33595         * tests/test-gc.c (main): Remove unused variables.
33596         * tests/test-read-file.c: Include stdlib.h, for 'free'.
33597
33598 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
33599
33600         * modules/inttostr (License): Change to LGPL.
33601
33602 2006-11-14  Eric Blake  <ebb9@byu.net>
33603
33604         * modules/tempname (License): Change to LGPL.
33605
33606 2006-11-14  Eric Blake  <ebb9@byu.net>
33607
33608         * doc/functions.texi (Function Portability): *printf functions on
33609         Cygwin now understand all POSIX size specifiers.
33610
33611 2006-11-14  Bruno Haible  <bruno@clisp.org>
33612
33613         * modules/c-ctype (License): Change to LGPL.
33614
33615 2006-11-12  Bruno Haible  <bruno@clisp.org>
33616
33617         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
33618         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
33619         for GNOME libraries, for which the include files are installed in
33620         subdirectories of $prefix/include.
33621
33622 2006-11-12  Bruno Haible  <bruno@clisp.org>
33623
33624         * m4/lib-link.m4: Require at least autoconf-2.54.
33625         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
33626         name to underscores for the --with option.
33627
33628 2006-11-13  Bruno Haible  <bruno@clisp.org>
33629
33630         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
33631         the tests directory.
33632         Reported by Ralf Wildenhues.
33633
33634 2006-11-13  Bruno Haible  <bruno@clisp.org>
33635
33636         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
33637         (func_emit_initmacro_end): Undo the override here.
33638         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
33639         Works around the famous automake error in coreutils.
33640
33641 2006-11-13  Eric Blake  <ebb9@byu.net>
33642
33643         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
33644         element, not its node.
33645
33646 2006-11-12  Bruno Haible  <bruno@clisp.org>
33647
33648         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
33649         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
33650
33651 2006-11-12  Bruno Haible  <bruno@clisp.org>
33652
33653         * gnulib-tool: New option --local-symlink.
33654         (func_usage): Document it.
33655         (lsymbolic): New variable.
33656         (func_import, func_create_testdir): If --symlink was not specified,
33657         test whether --local-symlink was specified and the file comes from
33658         the local_gnulib_dir.
33659
33660 2006-11-12  Bruno Haible  <bruno@clisp.org>
33661
33662         * gnulib-tool (func_ln): New function.
33663         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
33664
33665 2006-11-12  Bruno Haible  <bruno@clisp.org>
33666
33667         Finish support for source files in subdirectories.
33668         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
33669         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
33670         AUTOMAKE_OPTIONS.
33671         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
33672
33673 2006-11-12  Bruno Haible  <bruno@clisp.org>
33674
33675         * gnulib-tool (func_get_automake_snippet): Synthesize also an
33676         EXTRA_lib_SOURCES augmentation.
33677         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
33678
33679 2006-11-12  Jim Meyering  <jim@meyering.net>
33680
33681         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
33682         file descriptors.  This also averts a failure on systems with
33683         native openat support when a traversed directory lacks "x" access.
33684         * lib/fts_.h: Include "i-ring.h"
33685         (struct FTS) [fts_fd_ring]: New member.
33686         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
33687         (FCHDIR): Add parentheses.
33688         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
33689         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
33690         When descending, rather than simply closing the previous
33691         fts_cwd_fd value, push that file descriptor onto the ring.
33692         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
33693         (fts_open): Initialize the new fd_ring member.
33694         (fts_close): Clear the ring.
33695         (fts_safe_changedir): When possible, use our new fd_ring to skip
33696         the diropen and fstat and dev/ino comparison that would normally
33697         accompany a virtual `chdir ("..")'.
33698
33699         * modules/fts (Depends-on): Add i-ring.
33700         * modules/i-ring: New module.
33701         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
33702         * m4/i-ring.m4: New file.
33703
33704 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33705
33706         * gnulib-tool (func_create_testdir): Fix replacement of
33707         `build-aux' in configure.ac.  Run autotools in gltests
33708         subdirectory.
33709         (func_create_testdir, func_create_megatestdir, test): There is
33710         no need for '--force' in most autotool invocations in a new
33711         tree.  Actually fail the whole test if any of the tools, or the
33712         configure or make stages fail.
33713
33714         Sync from Automake.
33715         * build-aux/gnupload: Revert last change.  Add pointer to upload
33716         instructions of the GNU Maintenance Instructions.
33717         Suggestion by Karl Berry.
33718
33719 2006-11-10  Jim Meyering  <jim@meyering.net>
33720
33721         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
33722
33723 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
33724
33725         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
33726         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
33727         (bind_textdomain_codeset) [! ENABLE_NLS]:
33728         Evaluate all the arguments.  That way, callers get compatible behavior
33729         if the arguments have side effects.  Also, it avoids some GCC
33730         diagnostics in some cases; Joel E. Denny reported problems when Bison
33731         was configured with --enable-gcc-warnigs.
33732
33733 2006-11-10  Jim Meyering  <jim@meyering.net>
33734
33735         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
33736         relevant options in CFLAGS (like -O, -fno-inline) are taken into
33737         account.
33738
33739 2006-11-10  Jim Meyering  <jim@meyering.net>
33740
33741         * modules/inline: New file/module.
33742         * modules/xalloc (Files): Remove m4/inline.m4.
33743         (Depends-on): Add inline, instead.
33744         * modules/oset: Likewise.
33745         * modules/list: Likewise.
33746
33747 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
33748
33749         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
33750         Problem reported by Matthew Woehlke.
33751
33752 2006-11-09  Bruno Haible  <bruno@clisp.org>
33753
33754         * lib/tempname.c (gen_tempname): Remove variant that invokes
33755         __gen_tempname.
33756         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
33757         __gen_tempname.
33758
33759 2006-11-08  Bruno Haible  <bruno@clisp.org>
33760
33761         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
33762         to 'yes' instead of 'cross-compiling'.
33763
33764 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
33765
33766         * lib/quotearg.h (quotearg_free): New decl.
33767         * lib/quotearg.c (quotearg_free): New function.
33768         (slot0, nslots, slotvec0, slotvec):
33769         Now file-scope so that quotearg_free can get at them.
33770
33771 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33772
33773         Sync from Automake.
33774         * build-aux/gnupload: Add missing 'gnu' to example URL.
33775         Report by Karl Berry.
33776
33777 2006-11-08  Bruno Haible  <bruno@clisp.org>
33778
33779         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
33780         Suggested by Paul Eggert.
33781
33782 2006-11-08  Jim Meyering  <jim@meyering.net>
33783
33784         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
33785         It's already included if !_LIBC.
33786         (fts_safe_changedir): Add a comment.
33787
33788 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
33789
33790         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
33791         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
33792         Matthew Woehlke.
33793
33794         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
33795         definitions up, to avoid colliding with change below.
33796         (static_inline) [HAVE_INLINE]: New macro.
33797         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
33798         Provide extern decls when !HAVE_INLINE.  Do not define unless
33799         static_inline is defined, either by us or by xmalloc.c.  Use
33800         static_inline rather than static inline.
33801         (XCALLOC): Optimize sizeof(T) = 1 case.
33802         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
33803
33804 2006-11-07  Bruno Haible  <bruno@clisp.org>
33805
33806         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
33807         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
33808         AC_C_INLINE.
33809         * modules/xalloc (Files): Add m4/inline.m4.
33810
33811 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33812
33813         * README: Fix typo.
33814         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
33815         (Miscellanous Notes): ...from this.
33816
33817 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
33818
33819         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
33820         Mention that offsetof should be used instead of sizeof.
33821         From Bruno Haible.
33822
33823 2006-11-07  Bruno Haible  <bruno@clisp.org>
33824
33825         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
33826
33827 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
33828
33829         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
33830         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
33831         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
33832         (gl_tree_add_before, gl_tree_add_after):
33833         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
33834         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
33835         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
33836         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
33837         (gl_linked_add_after, gl_linked_add_at): Likewise.
33838         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
33839         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
33840         (gl_tree_add_before, gl_tree_add_after): Likewise.
33841         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
33842         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
33843         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
33844
33845 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33846
33847         * lib/gl_oset.h: Use C comment style, not C++ comment style.
33848
33849 2006-11-06  Bruno Haible  <bruno@clisp.org>
33850
33851         * m4/inline.m4: New file.
33852         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
33853         * modules/list (Files): Add m4/inline.m4.
33854         * modules/oset (Files): Likewise.
33855
33856 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
33857
33858         * lib/idcache.c: Include <stddef.h>, for offsetof.
33859         (struct userid.name): Change from char * to a flexible array member.
33860         All uses changed.
33861         * modules/idcache (Depends-on): Add flexmember.
33862
33863         * MODULES.html.sh (Core language properties): New module flexmember.
33864         * modules/flexmember, m4/flexmember.m4: New files.
33865
33866         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
33867         inline functions that are identical with the old xnmalloc_inline,
33868         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
33869         that we can avoid some unnecessary integer multiplications and
33870         divisions in the common case where the element size is known at
33871         compile time.
33872         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
33873         needed.
33874         (xnboundedmalloc): Remove.
33875         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
33876         arguments, for consistency with rest of this header.
33877         (xcharalloc): Rewrite using XNMALLOC.
33878         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
33879         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
33880         versions have been moved to lib/xalloc.h and renamed to be the
33881         non-*_inline versions.
33882         (xmalloc, xrealloc): Implement without reference to the xnmalloc
33883         and xnrealloc functions, since those functions are now inline and
33884         now call us.
33885         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
33886         renaming described above.
33887         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
33888         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
33889         captures the dependency in AC_C_INLINE.
33890
33891         New module canonicalize-lgpl, proposed by Charles Wilson in
33892         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
33893         with a few small changes afterwards.
33894         * MODULES.html.sh (File system functions): New module
33895         canonicalize-lgpl.
33896         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
33897         and canonicalize_file_name.
33898         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
33899         * modules/canonicalize-lgpl: New files.
33900
33901 2006-11-05  Bruno Haible  <bruno@clisp.org>
33902
33903         * gnulib-tool (func_import, func_create_testdir): Create directories
33904         also for files in subdirectories of lib/.
33905
33906 2006-11-05  Bruno Haible  <bruno@clisp.org>
33907
33908         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
33909         ANSI C compliant.
33910
33911 2006-11-03  Bruno Haible  <bruno@clisp.org>
33912
33913         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
33914         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
33915         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
33916         (xnboundedmalloc): New inline function.
33917         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
33918         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
33919         xmalloc.
33920         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
33921         xmalloc.
33922         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
33923         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
33924         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
33925         xmalloc.
33926         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
33927         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
33928         xmalloc.
33929         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
33930         gl_tree_add_after): Use XMALLOC instead of xmalloc.
33931         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
33932         xmalloc.
33933         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
33934         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
33935         gl_tree_add_after): Use XMALLOC instead of xmalloc.
33936         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
33937         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
33938         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
33939         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
33940
33941 2006-11-03  Bruno Haible  <bruno@clisp.org>
33942
33943         * lib/c-ctype.h [C++]: Define functions without name mangling.
33944         * lib/fwriteerror.h [C++]: Likewise.
33945         * lib/gcd.h [C++]: Likewise.
33946         * lib/linebreak.h [C++]: Likewise.
33947
33948 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
33949
33950         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
33951         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
33952         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
33953         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
33954         Check for functions and headers just once.
33955         Check for declaration of canonicalize_file_name.
33956         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
33957
33958 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
33959
33960         * gnulib-tool (func_import): Fix typo in actioncmd.
33961
33962 2006-11-02  Bruno Haible  <bruno@clisp.org>
33963
33964         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
33965         newline sequence in the Makefile.am snippet as a space, like "make"
33966         does.
33967         Reported by Roger Persson <perrog@gmail.com>.
33968
33969 2006-11-01  Bruno Haible  <bruno@clisp.org>
33970
33971         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
33972         already declared in <string.h>.
33973         * lib/strcase.h (strncasecmp): Don't declare it if yes.
33974
33975 2006-11-01  Bruno Haible  <bruno@clisp.org>
33976
33977         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
33978         * lib/strcase.h: Include <string.h>.
33979         (strcasecmp): Define to rpl_strcasecmp here.
33980
33981 2006-11-01  Bruno Haible  <bruno@clisp.org>
33982
33983         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
33984
33985 2006-11-01  Eric Blake  <ebb9@byu.net>
33986
33987         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
33988
33989         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
33990
33991 2006-10-29  Bruno Haible  <bruno@clisp.org>
33992
33993         Make it compile in C++ mode.
33994         * lib/full-write.c (full_rw): Add a cast.
33995
33996 2006-11-01  Bruno Haible  <bruno@clisp.org>
33997
33998         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
33999         be POSIX compliant.
34000         Reported by Roger Persson <perrog@gmail.com>.
34001
34002 2006-11-01  Eric Blake  <ebb9@byu.net>
34003
34004         * lib/getopt_.h: Fix comments.
34005
34006 2006-10-31  Eric Blake  <ebb9@byu.net>
34007
34008         * modules/tmpdir (Depends-on): Add sys_stat.
34009         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
34010         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
34011         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
34012         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
34013         tempname.
34014
34015 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
34016
34017         Avoid some C++ diagnostics reported by Bruno Haible.
34018         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
34019         xmalloc.
34020         (quotearg_alloc): Use xcharalloc rather than xmalloc.
34021         (struct slotvec): Move to top level.
34022         (quotearg_n_options): Rewrite to avoid xmalloc.
34023         * lib/xalloc.h (xcharalloc): New function.
34024         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
34025         [defined __cplusplus]: Add function template that provides result
34026         type propagation.  This part of the change is from Bruno Haible.
34027
34028 2006-10-29  Bruno Haible  <bruno@clisp.org>
34029
34030         Make it compile in C++ mode.
34031         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
34032         * lib/strnlen1.c (strnlen1): Cast memchr result.
34033         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
34034         * lib/clean-temp.c (string_equals, string_hash): Add casts.
34035         (create_temp_dir): Rename local variable 'template'.
34036         (compile_csharp_using_sscli): Add cast.
34037         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
34038         * lib/findprog.c (find_in_path): Likewise.
34039         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
34040         * lib/wait-process.c (register_slave_subprocess): Likewise.
34041
34042 2006-10-22  Bruno Haible  <bruno@clisp.org>
34043
34044         * modules/tsearch: New file.
34045         * lib/tsearch.h: New file.
34046         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
34047         * m4/tsearch.m4: New file.
34048         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
34049
34050 2006-10-29  Eric Blake  <ebb9@byu.net>
34051
34052         * lib/arcfour.c: Assume config.h.
34053         * lib/arctwo.c: Likewise.
34054         * lib/base64.c: Likewise.
34055         * lib/check-version.c: Likewise.
34056         * lib/crc.c: Likewise.
34057         * lib/des.c: Likewise.
34058         * lib/gc-gnulib.c: Likewise.
34059         * lib/gc-libgcrypt.c: Likewise.
34060         * lib/gc-pbkdf2-sha1.c: Likewise.
34061         * lib/getaddrinfo.c: Likewise.
34062         * lib/getdelim.c: Likewise.
34063         * lib/getline.c: Likewise.
34064         * lib/hmac-md5.c: Likewise.
34065         * lib/hmac-sha1.c: Likewise.
34066         * lib/iconvme.c: Likewise.
34067         * lib/md2.c: Likewise.
34068         * lib/md4.c: Likewise.
34069         * lib/memxor.c: Likewise.
34070         * lib/read-file.c: Likewise.
34071         * lib/readline.c: Likewise.
34072         * lib/rijndael-alg-fst.c: Likewise.
34073         * lib/rijndael-api-fst.c: Likewise.
34074         * lib/xgetdomainname.c: Likewise.
34075
34076 2006-10-28  Eric Blake  <ebb9@byu.net>
34077
34078         * lib/xstrndup.c: Assume config.h.
34079
34080 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
34081
34082         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
34083         stat-macros.h is now for our own macros, whereas stat_h is for
34084         macros in the <sys/stat.h> name space.
34085         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
34086         (STAT_MACROS_H): Remove.
34087         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
34088         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
34089         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
34090         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
34091         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
34092         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
34093         Move these macros to ...
34094         * lib/stat_.h: here.  Don't include stat-macros.h.
34095         * lib/canonicalize.c: Don't include stat-macros.h.
34096         * lib/chown.c: Likewise.
34097         * lib/euidaccess.c: Likewise.
34098         * lib/file-type.c: Likewise.
34099         * lib/filemode.c: Likewise.
34100         * lib/glob.c: Likewise.
34101         * lib/isapipe.c: Likewise.
34102         * lib/lchown.c: Likewise.
34103         * lib/lstat.c: Likewise.
34104         * lib/mkdir-p.c: Likewise.
34105         * lib/rmdir.c: Likewise.
34106         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
34107         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
34108         unless mkdir isn't declared, to speed up 'configure'.
34109         Always create sys/stat.h, since it's unlikely any real sys/stat.h
34110         would define all the S_* symbols.
34111         * modules/canonicalize (Depends-on):
34112         Depend on sys_stat, not stat-macros.
34113         * modules/chown: Likewise.
34114         * modules/euidaccess: Likewise.
34115         * modules/filemode: Likewise.
34116         * modules/file-type: Likewise.
34117         * modules/glob: Likewise.
34118         * modules/isapipe: Likewise.
34119         * modules/lchown: Likewise.
34120         * modules/lstat: Likewise.
34121         * modules/mkancesdirs: Likewise.
34122         * modules/rmdir: Likewise.
34123         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
34124         * modules/modechange: Likewise.
34125         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
34126         (configure.ac): Remove gl_STAT_MACROS.
34127         * modules/sys_stat (Depends-on): Remove stat-macros.
34128
34129 2006-10-27  Bruno Haible  <bruno@clisp.org>
34130
34131         * m4/signed.m4: Remove file.
34132         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
34133         invocation.
34134         * modules/vasnprintf (Files): Remove m4/signed.m4.
34135
34136 2006-10-27  Bruno Haible  <bruno@clisp.org>
34137
34138         Update to GNU gettext 0.16.
34139         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
34140         m4/inttypes-h.m4, m4/signed.m4.
34141         * m4/gettext.m4: Update to GNU gettext 0.16.
34142         * m4/intl.m4: New file, from GNU gettext.
34143         * m4/intldir.m4: New file, from GNU gettext.
34144         * config/srclist.txt: Update
34145
34146 2006-10-27  Eric Blake  <ebb9@byu.net>
34147
34148         * MODULES.html.sh: Document tempname.
34149         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
34150         dependencies.
34151         (Files): Move lib/tempname.c...
34152         * modules/tempname: ...to this new module.
34153         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
34154         (gl_PREREQ_TEMPNAME): Move...
34155         * m4/tempname.m4: ...to this new file.
34156         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
34157         * modules/sys_stat (Depends-on): Add stat-macros.
34158         * lib/stat_.h (includes): Pick up stat macros.
34159         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
34160         if stat macros are broken.
34161         * lib/tempname.c (includes): No need to include "stat-macros.h".
34162         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
34163         (direxists, __path_search) [!_LIBC]: Don't compile these in
34164         gnulib; the tmpdir module covers that.
34165         * lib/tempname.h: New file.
34166
34167 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
34168
34169         * COPYING: Explain how gnulib-tool converts licence headers.
34170         Almost all wording by Eric Blake.
34171
34172 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
34173
34174         * lib/mbchar.h (is_basic_table): Make read-only.
34175         * lib/mbchar.c (is_basic_table): Likewise.
34176         Reported by John Darrington.
34177
34178 2006-10-25  Bruno Haible  <bruno@clisp.org>
34179
34180         * lib/progname.h (set_program_name): Undefine before defining.
34181
34182 2006-10-25  Bruno Haible  <bruno@clisp.org>
34183
34184         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
34185         false for non-gcc C++ compilers.
34186         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
34187
34188 2006-10-24  Bruno Haible  <bruno@clisp.org>
34189
34190         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
34191         iconv implementations like Irix iconv.
34192
34193 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
34194
34195         * modules/vararrays: New file.
34196         * m4/vararrays.m4: New file, taken from diffutils.
34197         * MODULES.html.sh: New module vararrays.
34198
34199 2006-10-24  Karl Berry  <karl@gnu.org>
34200
34201         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
34202         Don't call GNU Unix.
34203
34204 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34205
34206         * users.txt: Add Libtool.
34207
34208         Sync from Libtool:
34209
34210         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
34211
34212         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
34213         to gnulib's policy of including config.h unconditionally.
34214
34215 2006-10-24  Bruno Haible  <bruno@clisp.org>
34216
34217         * modules/wcwidth (Files): Add m4/wint_t.m4.
34218         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
34219         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
34220
34221 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
34222
34223         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
34224         to pacify GCC with some -W flags enabled.  Problem reported by
34225         Bruno Haible.
34226
34227 2006-10-24  Jim Meyering  <jim@meyering.net>
34228
34229         * MODULES.html.sh: Remove uinttostr.  It's not a module.
34230         Reported by Karl Berry.
34231
34232 2006-10-23  Bruno Haible  <bruno@clisp.org>
34233
34234         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
34235
34236 2006-10-24  Bruno Haible  <bruno@clisp.org>
34237
34238         * lib/gl_list.h: Use C comment style, not C++ comment style.
34239
34240 2006-10-23  Eric Blake  <ebb9@byu.net>
34241
34242         * lib/getaddrinfo.c (includes): Add missing include.
34243
34244 2006-10-23  Bruno Haible  <bruno@clisp.org>
34245             Paul Eggert  <eggert@cs.ucla.edu>
34246
34247         Ability to rename obstack_free.
34248         * lib/obstack.h (__obstack_free): New macro. Declare instead of
34249         obstack_free.
34250         (obstack_free): Invoke the __obstack_free macro.
34251         * lib/obstack.c (obstack_free): Use __obstack_free macro.
34252
34253 2006-10-23  Bruno Haible  <bruno@clisp.org>
34254             Paul Eggert  <eggert@cs.ucla.edu>
34255
34256         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
34257         __argc, __argv from the declaration. (They are defined as macros on
34258         mingw.)
34259
34260 2006-10-22  Bruno Haible  <bruno@clisp.org>
34261
34262         * doc/gnulib-intro.texi: New file.
34263         * doc/gnulib.texi: Include it.
34264
34265 2006-10-21  Bruno Haible  <bruno@clisp.org>
34266
34267         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
34268         "Introduction", "Miscellanous Notes", "Particular Modules".
34269
34270 2006-10-21  Bruno Haible  <bruno@clisp.org>
34271
34272         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34273         Change mostlyclean-local rule to avoid sh syntax error from bash
34274         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
34275
34276 2006-10-23  Jim Meyering  <jim@meyering.net>
34277
34278         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
34279         in place of snprintf.
34280
34281         * modules/inttostr (Files): Add lib/uinttostr.c.
34282         * lib/uinttostr.c (inttostr): New file/function.
34283         * lib/inttostr.h (uinttostr): Declare.
34284         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
34285         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
34286         Add uinttostr.
34287         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
34288
34289 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
34290
34291         * lib/canonicalize.c (ELOOP): Define if not already defined.
34292         Problem reported by Bruno Haible in
34293         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
34294
34295 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
34296
34297         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
34298         Problem reported by Perry Smith and Ville Laurikari.
34299
34300         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
34301         uses.
34302
34303 2006-10-19  Bruno Haible  <bruno@clisp.org>
34304
34305         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
34306         for mingw.
34307
34308 2006-10-19  Bruno Haible  <bruno@clisp.org>
34309
34310         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
34311         Needed for mingw.
34312
34313 2006-10-19  Bruno Haible  <bruno@clisp.org>
34314
34315         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
34316
34317 2006-10-19  Bruno Haible  <bruno@clisp.org>
34318
34319         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
34320         it.
34321
34322 2006-10-19  Bruno Haible  <bruno@clisp.org>
34323
34324         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
34325         invocation.
34326
34327 2006-10-19  Bruno Haible  <bruno@clisp.org>
34328
34329         * gnulib-tool (func_create_testdir): Don't include ftruncate and
34330         mountlist by default.
34331
34332 2006-10-16  Bruno Haible  <bruno@clisp.org>
34333
34334         * lib/c-strstr.c: Include c-strstr.h.
34335
34336 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
34337
34338         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
34339         in a slash.
34340
34341 2006-10-18  Bruno Haible  <bruno@clisp.org>
34342
34343         * lib/lock.h [C++]: Wrap definitions in extern "C".
34344
34345 2006-10-18  Bruno Haible  <bruno@clisp.org>
34346
34347         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
34348         gl_LIBOBJS list.
34349
34350 2006-10-18  Bruno Haible  <bruno@clisp.org>
34351
34352         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
34353
34354 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
34355
34356         * lib/xstrtol.h: Include gettext.h.
34357         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
34358         Problem reported by Eric Blake.
34359         * modules/xstrtol (Depends-on): Add gettext-h.
34360
34361 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
34362
34363         * lib/strftime.c (advance): New macro.
34364         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
34365         incomplete type, so you can't add 0 to it.  Problem and patch
34366         reported by Eelco Dolstra for dietlibc.
34367
34368 2006-10-18  Jim Meyering  <jim@meyering.net>
34369
34370         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
34371         type for a local, and rename it: s/up/user_proc/.
34372
34373 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
34374
34375         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
34376         READ_UTMP_USER_PROCESS.
34377         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
34378
34379 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
34380
34381         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
34382         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
34383
34384 2006-10-17  Eric Blake  <ebb9@byu.net>
34385
34386         * lib/sigprocmask.c (sigprocmask): Fix typo.
34387
34388         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
34389
34390         * modules/clean-temp (Makefile.am): Don't add to make output...
34391         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
34392         config.h.
34393
34394 2006-10-17  Bruno Haible  <bruno@clisp.org>
34395
34396         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
34397         differently if DEFAULT_TEXT_DOMAIN is set.
34398
34399 2006-10-16  Bruno Haible  <bruno@clisp.org>
34400
34401         * lib/clean-temp.c: Include fwriteerror.h.
34402
34403 2006-10-16  Bruno Haible  <bruno@clisp.org>
34404
34405         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
34406
34407 2006-10-16  Bruno Haible  <bruno@clisp.org>
34408
34409         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
34410         * lib/sigprocmask.h: Include <sys/types.h>.
34411         (sigset_t): Use the system's definition if present.
34412
34413 2006-10-17  Eric Blake  <ebb9@byu.net>
34414
34415         * lib/xvasprintf.c (includes): Assume config.h.
34416         * lib/xasprintf.c (includes): Likewise.
34417
34418 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
34419
34420         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
34421         at least as wide as intmax_t.
34422
34423 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
34424
34425         (Imported from Automake.)
34426         * build-aux/gnupload: Update to version 1.1 of directive file.
34427
34428 2006-10-16  Eric Blake  <ebb9@byu.net>
34429
34430         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
34431         match Automake 1.10a.
34432
34433 2006-10-14  Bruno Haible  <bruno@clisp.org>
34434
34435         * modules/sigprocmask: New file.
34436         * lib/sigprocmask.h: New file.
34437         * lib/sigprocmask.c: New file.
34438         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
34439         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
34440         request sigprocmask.o.
34441         (gl_PREREQ_SIGPROCMASK): New macro.
34442         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
34443         (Depends-on): Add sigprocmask.
34444         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
34445         gt_SIGNALBLOCKING. Test for 'raise' only once.
34446         * lib/fatal-signal.c: Include sigprocmask.h.
34447         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
34448         unblock_fatal_signals): Define always.
34449         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
34450         sigprocmask.
34451
34452 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
34453
34454         Sync from Automake.
34455         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
34456         which incorrectly sets the mode of an existing destination
34457         directory.  In some cases the unpatched install-sh could do the
34458         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
34459         system.  We hope this is rare in practice, but it's clearly worth
34460         fixing.  Problem reported by Alex Unleashed in
34461         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
34462         Also, don't bother to check for -m bugs unless we're using -m;
34463         suggested by Stepan Kasal.
34464
34465 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34466
34467         Sync from Automake.
34468         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
34469         `-c' flag, so they appear at the same position as in %FASTDEP%
34470         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
34471         which ignores unknown options only after the first non-option.
34472         Bug report against M4 by Nelson H. F. Beebe.
34473
34474 2006-10-13  Jim Meyering  <jim@meyering.net>
34475
34476         Fix a bug in yesterday's change.
34477         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
34478         p->fts_statp->st_dev would be used uninitialized.
34479         Ensures that we always call fts_stat on the very first entry.
34480         Miklos Szeredi reported that find -xdev stopped working.
34481
34482 2006-10-12  Bruno Haible  <bruno@clisp.org>
34483
34484         * gnulib-tool (func_get_automake_snippet): Append an automatically
34485         computed EXTRA_DIST augmentation.
34486         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
34487         * modules/alloca-opt (Makefile.am): Likewise.
34488         * modules/allocsa (Makefile.am): Likewise.
34489         * modules/arcfour (Makefile.am): Likewise.
34490         * modules/arctwo (Makefile.am): Likewise.
34491         * modules/argmatch (Makefile.am): Likewise.
34492         * modules/argz (Makefile.am): Likewise.
34493         * modules/atexit (Makefile.am): Likewise.
34494         * modules/backupfile (Makefile.am): Likewise.
34495         * modules/byteswap (Makefile.am): Likewise.
34496         * modules/c-strtod (Makefile.am): Likewise.
34497         * modules/c-strtold (Makefile.am): Likewise.
34498         * modules/calloc (Makefile.am): Likewise.
34499         * modules/canon-host (Makefile.am): Likewise.
34500         * modules/canonicalize (Makefile.am): Likewise.
34501         * modules/chdir-long (Makefile.am): Likewise.
34502         * modules/chdir-safer (Makefile.am): Likewise.
34503         * modules/check-version (Makefile.am): Likewise.
34504         * modules/chown (Makefile.am): Likewise.
34505         * modules/cloexec (Makefile.am): Likewise.
34506         * modules/close-stream (Makefile.am): Likewise.
34507         * modules/closeout (Makefile.am): Likewise.
34508         * modules/crc (Makefile.am): Likewise.
34509         * modules/csharpexec (Makefile.am): Likewise.
34510         * modules/cycle-check (Makefile.am): Likewise.
34511         * modules/des (Makefile.am): Likewise.
34512         * modules/dev-ino (Makefile.am): Likewise.
34513         * modules/dirfd (Makefile.am): Likewise.
34514         * modules/dirname (Makefile.am): Likewise.
34515         * modules/dup2 (Makefile.am): Likewise.
34516         * modules/eealloc (Makefile.am): Likewise.
34517         * modules/error (Makefile.am): Likewise.
34518         * modules/euidaccess (Makefile.am): Likewise.
34519         * modules/exclude (Makefile.am): Likewise.
34520         * modules/exitfail (Makefile.am): Likewise.
34521         * modules/fcntl-safer (Makefile.am): Likewise.
34522         * modules/fcntl (Makefile.am): Likewise.
34523         * modules/file-type (Makefile.am): Likewise.
34524         * modules/fileblocks (Makefile.am): Likewise.
34525         * modules/filemode (Makefile.am): Likewise.
34526         * modules/filenamecat (Makefile.am): Likewise.
34527         * modules/fnmatch (Makefile.am): Likewise.
34528         * modules/fopen-safer (Makefile.am): Likewise.
34529         * modules/fpending (Makefile.am): Likewise.
34530         * modules/fprintftime (Makefile.am): Likewise.
34531         * modules/free (Makefile.am): Likewise.
34532         * modules/fsusage (Makefile.am): Likewise.
34533         * modules/ftruncate (Makefile.am): Likewise.
34534         * modules/fts (Makefile.am): Likewise.
34535         * modules/gc-arcfour (Makefile.am): Likewise.
34536         * modules/gc-des (Makefile.am): Likewise.
34537         * modules/gc-hmac-md5 (Makefile.am): Likewise.
34538         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
34539         * modules/gc-md4 (Makefile.am): Likewise.
34540         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
34541         * modules/gc-sha1 (Makefile.am): Likewise.
34542         * modules/gc (Makefile.am): Likewise.
34543         * modules/getaddrinfo (Makefile.am): Likewise.
34544         * modules/getcwd (Makefile.am): Likewise.
34545         * modules/getdelim (Makefile.am): Likewise.
34546         * modules/getdomainname (Makefile.am): Likewise.
34547         * modules/getgroups (Makefile.am): Likewise.
34548         * modules/gethostname (Makefile.am): Likewise.
34549         * modules/gethrxtime (Makefile.am): Likewise.
34550         * modules/getline (Makefile.am): Likewise.
34551         * modules/getloadavg (Makefile.am): Likewise.
34552         * modules/getlogin_r (Makefile.am): Likewise.
34553         * modules/getndelim2 (Makefile.am): Likewise.
34554         * modules/getopt (Makefile.am): Likewise.
34555         * modules/getpagesize (Makefile.am): Likewise.
34556         * modules/getpass-gnu (Makefile.am): Likewise.
34557         * modules/getpass (Makefile.am): Likewise.
34558         * modules/getsubopt (Makefile.am): Likewise.
34559         * modules/gettime (Makefile.am): Likewise.
34560         * modules/gettimeofday (Makefile.am): Likewise.
34561         * modules/getugroups (Makefile.am): Likewise.
34562         * modules/getusershell (Makefile.am): Likewise.
34563         * modules/glob (Makefile.am): Likewise.
34564         * modules/group-member (Makefile.am): Likewise.
34565         * modules/hard-locale (Makefile.am): Likewise.
34566         * modules/hash (Makefile.am): Likewise.
34567         * modules/hmac-md5 (Makefile.am): Likewise.
34568         * modules/hmac-sha1 (Makefile.am): Likewise.
34569         * modules/human (Makefile.am): Likewise.
34570         * modules/idcache (Makefile.am): Likewise.
34571         * modules/imaxabs (Makefile.am): Likewise.
34572         * modules/imaxdiv (Makefile.am): Likewise.
34573         * modules/inet_ntop (Makefile.am): Likewise.
34574         * modules/inet_pton (Makefile.am): Likewise.
34575         * modules/intprops (Makefile.am): Likewise.
34576         * modules/inttostr (Makefile.am): Likewise.
34577         * modules/inttypes (Makefile.am): Likewise.
34578         * modules/isapipe (Makefile.am): Likewise.
34579         * modules/javaversion (Makefile.am): Likewise.
34580         * modules/lchmod (Makefile.am): Likewise.
34581         * modules/lchown (Makefile.am): Likewise.
34582         * modules/localcharset (Makefile.am): Likewise.
34583         * modules/long-options (Makefile.am): Likewise.
34584         * modules/lstat (Makefile.am): Likewise.
34585         * modules/malloc (Makefile.am): Likewise.
34586         * modules/mathl (Makefile.am): Likewise.
34587         * modules/mbchar (Makefile.am): Likewise.
34588         * modules/md2 (Makefile.am): Likewise.
34589         * modules/md4 (Makefile.am): Likewise.
34590         * modules/md5 (Makefile.am): Likewise.
34591         * modules/memcasecmp (Makefile.am): Likewise.
34592         * modules/memchr (Makefile.am): Likewise.
34593         * modules/memcmp (Makefile.am): Likewise.
34594         * modules/memcoll (Makefile.am): Likewise.
34595         * modules/memcpy (Makefile.am): Likewise.
34596         * modules/memmem (Makefile.am): Likewise.
34597         * modules/memmove (Makefile.am): Likewise.
34598         * modules/mempcpy (Makefile.am): Likewise.
34599         * modules/memrchr (Makefile.am): Likewise.
34600         * modules/memset (Makefile.am): Likewise.
34601         * modules/memxor (Makefile.am): Likewise.
34602         * modules/mkancesdirs (Makefile.am): Likewise.
34603         * modules/mkdir-p (Makefile.am): Likewise.
34604         * modules/mkdir (Makefile.am): Likewise.
34605         * modules/mkdtemp (Makefile.am): Likewise.
34606         * modules/mkstemp (Makefile.am): Likewise.
34607         * modules/mktime (Makefile.am): Likewise.
34608         * modules/modechange (Makefile.am): Likewise.
34609         * modules/mountlist (Makefile.am): Likewise.
34610         * modules/nanosleep (Makefile.am): Likewise.
34611         * modules/obstack (Makefile.am): Likewise.
34612         * modules/openat (Makefile.am): Likewise.
34613         * modules/pagealign_alloc (Makefile.am): Likewise.
34614         * modules/pathmax (Makefile.am): Likewise.
34615         * modules/physmem (Makefile.am): Likewise.
34616         * modules/poll (Makefile.am): Likewise.
34617         * modules/posixtm (Makefile.am): Likewise.
34618         * modules/posixver (Makefile.am): Likewise.
34619         * modules/putenv (Makefile.am): Likewise.
34620         * modules/quote (Makefile.am): Likewise.
34621         * modules/quotearg (Makefile.am): Likewise.
34622         * modules/raise (Makefile.am): Likewise.
34623         * modules/read-file (Makefile.am): Likewise.
34624         * modules/readline (Makefile.am): Likewise.
34625         * modules/readlink (Makefile.am): Likewise.
34626         * modules/readtokens (Makefile.am): Likewise.
34627         * modules/readutmp (Makefile.am): Likewise.
34628         * modules/realloc (Makefile.am): Likewise.
34629         * modules/regex (Makefile.am): Likewise.
34630         * modules/rename-dest-slash (Makefile.am): Likewise.
34631         * modules/rename (Makefile.am): Likewise.
34632         * modules/rijndael (Makefile.am): Likewise.
34633         * modules/rmdir (Makefile.am): Likewise.
34634         * modules/rpmatch (Makefile.am): Likewise.
34635         * modules/safe-read (Makefile.am): Likewise.
34636         * modules/safe-write (Makefile.am): Likewise.
34637         * modules/same-inode (Makefile.am): Likewise.
34638         * modules/same (Makefile.am): Likewise.
34639         * modules/save-cwd (Makefile.am): Likewise.
34640         * modules/savedir (Makefile.am): Likewise.
34641         * modules/setenv (Makefile.am): Likewise.
34642         * modules/settime (Makefile.am): Likewise.
34643         * modules/sha1 (Makefile.am): Likewise.
34644         * modules/sig2str (Makefile.am): Likewise.
34645         * modules/snprintf (Makefile.am): Likewise.
34646         * modules/stat-macros (Makefile.am): Likewise.
34647         * modules/stat-time (Makefile.am): Likewise.
34648         * modules/stdbool (Makefile.am): Likewise.
34649         * modules/stdint (Makefile.am): Likewise.
34650         * modules/stdlib-safer (Makefile.am): Likewise.
34651         * modules/stpcpy (Makefile.am): Likewise.
34652         * modules/stpncpy (Makefile.am): Likewise.
34653         * modules/strcase (Makefile.am): Likewise.
34654         * modules/strcasestr (Makefile.am): Likewise.
34655         * modules/strchrnul (Makefile.am): Likewise.
34656         * modules/strcspn (Makefile.am): Likewise.
34657         * modules/strdup (Makefile.am): Likewise.
34658         * modules/strerror (Makefile.am): Likewise.
34659         * modules/strftime (Makefile.am): Likewise.
34660         * modules/strndup (Makefile.am): Likewise.
34661         * modules/strnlen (Makefile.am): Likewise.
34662         * modules/strpbrk (Makefile.am): Likewise.
34663         * modules/strsep (Makefile.am): Likewise.
34664         * modules/strstr (Makefile.am): Likewise.
34665         * modules/strtod (Makefile.am): Likewise.
34666         * modules/strtoimax (Makefile.am): Likewise.
34667         * modules/strtok_r (Makefile.am): Likewise.
34668         * modules/strtol (Makefile.am): Likewise.
34669         * modules/strtoll (Makefile.am): Likewise.
34670         * modules/strtoul (Makefile.am): Likewise.
34671         * modules/strtoull (Makefile.am): Likewise.
34672         * modules/strtoumax (Makefile.am): Likewise.
34673         * modules/strverscmp (Makefile.am): Likewise.
34674         * modules/sys_socket (Makefile.am): Likewise.
34675         * modules/sys_stat (Makefile.am): Likewise.
34676         * modules/sysexits (Makefile.am): Likewise.
34677         * modules/time_r (Makefile.am): Likewise.
34678         * modules/timegm (Makefile.am): Likewise.
34679         * modules/timespec (Makefile.am): Likewise.
34680         * modules/tmpfile-safer (Makefile.am): Likewise.
34681         * modules/trim (Makefile.am): Likewise.
34682         * modules/unistd-safer (Makefile.am): Likewise.
34683         * modules/unlinkdir (Makefile.am): Likewise.
34684         * modules/unlocked-io (Makefile.am): Likewise.
34685         * modules/userspec (Makefile.am): Likewise.
34686         * modules/utime (Makefile.am): Likewise.
34687         * modules/utimecmp (Makefile.am): Likewise.
34688         * modules/utimens (Makefile.am): Likewise.
34689         * modules/vasnprintf (Makefile.am): Likewise.
34690         * modules/vasprintf (Makefile.am): Likewise.
34691         * modules/vsnprintf (Makefile.am): Likewise.
34692         * modules/xalloc (Makefile.am): Likewise.
34693         * modules/xgetcwd (Makefile.am): Likewise.
34694         * modules/xnanosleep (Makefile.am): Likewise.
34695         * modules/xreadlink (Makefile.am): Likewise.
34696         * modules/xstrtod (Makefile.am): Likewise.
34697         * modules/xstrtol (Makefile.am): Likewise.
34698         * modules/xstrtold (Makefile.am): Likewise.
34699         * modules/yesno (Makefile.am): Likewise.
34700         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
34701
34702 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34703
34704         * modules/error (Makefile.am): Distribute files through
34705         EXTRA_DIST, not lib_SOURCES.
34706
34707 2006-10-12  Eric Blake  <ebb9@byu.net>
34708
34709         * modules/error (Makefile.am): Distribute files in /lib.
34710         * modules/obstack (Makefile.am): Likewise.
34711
34712 2006-10-12  Bruno Haible  <bruno@clisp.org>
34713
34714         * modules/acl (Makefile.am): Distribute all files in lib/ through
34715         EXTRA_DIST.
34716         * modules/arcfour (Makefile.am): Likewise.
34717         * modules/arctwo (Makefile.am): Likewise.
34718         * modules/argmatch (Makefile.am): Likewise.
34719         * modules/argz (Makefile.am): Likewise.
34720         * modules/atexit (Makefile.am): Likewise.
34721         * modules/backupfile (Makefile.am): Likewise.
34722         * modules/c-strtod (Makefile.am): Likewise.
34723         * modules/c-strtold (Makefile.am): Likewise.
34724         * modules/calloc (Makefile.am): Likewise.
34725         * modules/canon-host (Makefile.am): Likewise.
34726         * modules/canonicalize (Makefile.am): Likewise.
34727         * modules/chdir-long (Makefile.am): Likewise.
34728         * modules/chdir-safer (Makefile.am): Likewise.
34729         * modules/check-version (Makefile.am): Likewise.
34730         * modules/chown (Makefile.am): Likewise.
34731         * modules/cloexec (Makefile.am): Likewise.
34732         * modules/close-stream (Makefile.am): Likewise.
34733         * modules/closeout (Makefile.am): Likewise.
34734         * modules/crc (Makefile.am): Likewise.
34735         * modules/cycle-check (Makefile.am): Likewise.
34736         * modules/des (Makefile.am): Likewise.
34737         * modules/dirfd (Makefile.am): Likewise.
34738         * modules/dirname (Makefile.am): Likewise.
34739         * modules/dup2 (Makefile.am): Likewise.
34740         * modules/euidaccess (Makefile.am): Likewise.
34741         * modules/exclude (Makefile.am): Likewise.
34742         * modules/exitfail (Makefile.am): Likewise.
34743         * modules/fcntl-safer (Makefile.am): Likewise.
34744         * modules/file-type (Makefile.am): Likewise.
34745         * modules/fileblocks (Makefile.am): Likewise.
34746         * modules/filemode (Makefile.am): Likewise.
34747         * modules/filenamecat (Makefile.am): Likewise.
34748         * modules/fnmatch (Makefile.am): Likewise.
34749         * modules/fopen-safer (Makefile.am): Likewise.
34750         * modules/fpending (Makefile.am): Likewise.
34751         * modules/fprintftime (Makefile.am): Likewise.
34752         * modules/free (Makefile.am): Likewise.
34753         * modules/fsusage (Makefile.am): Likewise.
34754         * modules/ftruncate (Makefile.am): Likewise.
34755         * modules/fts (Makefile.am): Likewise.
34756         * modules/gc (Makefile.am): Likewise.
34757         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
34758         * modules/getaddrinfo (Makefile.am): Likewise.
34759         * modules/getcwd (Makefile.am): Likewise.
34760         * modules/getdelim (Makefile.am): Likewise.
34761         * modules/getdomainname (Makefile.am): Likewise.
34762         * modules/getgroups (Makefile.am): Likewise.
34763         * modules/gethostname (Makefile.am): Likewise.
34764         * modules/gethrxtime (Makefile.am): Likewise.
34765         * modules/getline (Makefile.am): Likewise.
34766         * modules/getloadavg (Makefile.am): Likewise.
34767         * modules/getlogin_r (Makefile.am): Likewise.
34768         * modules/getopt (Makefile.am): Likewise.
34769         * modules/getpass (Makefile.am): Likewise.
34770         * modules/getpass-gnu (Makefile.am): Likewise.
34771         * modules/getsubopt (Makefile.am): Likewise.
34772         * modules/gettime (Makefile.am): Likewise.
34773         * modules/gettimeofday (Makefile.am): Likewise.
34774         * modules/getugroups (Makefile.am): Likewise.
34775         * modules/getusershell (Makefile.am): Likewise.
34776         * modules/glob (Makefile.am): Likewise.
34777         * modules/group-member (Makefile.am): Likewise.
34778         * modules/hard-locale (Makefile.am): Likewise.
34779         * modules/hash (Makefile.am): Likewise.
34780         * modules/hmac-md5 (Makefile.am): Likewise.
34781         * modules/hmac-sha1 (Makefile.am): Likewise.
34782         * modules/human (Makefile.am): Likewise.
34783         * modules/idcache (Makefile.am): Likewise.
34784         * modules/imaxabs (Makefile.am): Likewise.
34785         * modules/imaxdiv (Makefile.am): Likewise.
34786         * modules/inet_ntop (Makefile.am): Likewise.
34787         * modules/inet_pton (Makefile.am): Likewise.
34788         * modules/inttostr (Makefile.am): Likewise.
34789         * modules/isapipe (Makefile.am): Likewise.
34790         * modules/lchown (Makefile.am): Likewise.
34791         * modules/long-options (Makefile.am): Likewise.
34792         * modules/lstat (Makefile.am): Likewise.
34793         * modules/malloc (Makefile.am): Likewise.
34794         * modules/mathl (Makefile.am): Likewise.
34795         * modules/mbchar (Makefile.am): Likewise.
34796         * modules/md2 (Makefile.am): Likewise.
34797         * modules/md4 (Makefile.am): Likewise.
34798         * modules/md5 (Makefile.am): Likewise.
34799         * modules/memcasecmp (Makefile.am): Likewise.
34800         * modules/memchr (Makefile.am): Likewise.
34801         * modules/memcmp (Makefile.am): Likewise.
34802         * modules/memcoll (Makefile.am): Likewise.
34803         * modules/memcpy (Makefile.am): Likewise.
34804         * modules/memmem (Makefile.am): Likewise.
34805         * modules/memmove (Makefile.am): Likewise.
34806         * modules/mempcpy (Makefile.am): Likewise.
34807         * modules/memrchr (Makefile.am): Likewise.
34808         * modules/memset (Makefile.am): Likewise.
34809         * modules/memxor (Makefile.am): Likewise.
34810         * modules/mkancesdirs (Makefile.am): Likewise.
34811         * modules/mkdir (Makefile.am): Likewise.
34812         * modules/mkdir-p (Makefile.am): Likewise.
34813         * modules/mkdtemp (Makefile.am): Likewise.
34814         * modules/mkstemp (Makefile.am): Likewise.
34815         * modules/mktime (Makefile.am): Likewise.
34816         * modules/modechange (Makefile.am): Likewise.
34817         * modules/mountlist (Makefile.am): Likewise.
34818         * modules/nanosleep (Makefile.am): Likewise.
34819         * modules/openat (Makefile.am): Likewise.
34820         * modules/pagealign_alloc (Makefile.am): Likewise.
34821         * modules/physmem (Makefile.am): Likewise.
34822         * modules/poll (Makefile.am): Likewise.
34823         * modules/posixtm (Makefile.am): Likewise.
34824         * modules/posixver (Makefile.am): Likewise.
34825         * modules/putenv (Makefile.am): Likewise.
34826         * modules/quote (Makefile.am): Likewise.
34827         * modules/quotearg (Makefile.am): Likewise.
34828         * modules/raise (Makefile.am): Likewise.
34829         * modules/read-file (Makefile.am): Likewise.
34830         * modules/readline (Makefile.am): Likewise.
34831         * modules/readlink (Makefile.am): Likewise.
34832         * modules/readtokens (Makefile.am): Likewise.
34833         * modules/readutmp (Makefile.am): Likewise.
34834         * modules/realloc (Makefile.am): Likewise.
34835         * modules/regex (Makefile.am): Likewise.
34836         * modules/rename (Makefile.am): Likewise.
34837         * modules/rename-dest-slash (Makefile.am): Likewise.
34838         * modules/rijndael (Makefile.am): Likewise.
34839         * modules/rmdir (Makefile.am): Likewise.
34840         * modules/rpmatch (Makefile.am): Likewise.
34841         * modules/safe-read (Makefile.am): Likewise.
34842         * modules/safe-write (Makefile.am): Likewise.
34843         * modules/same (Makefile.am): Likewise.
34844         * modules/save-cwd (Makefile.am): Likewise.
34845         * modules/savedir (Makefile.am): Likewise.
34846         * modules/setenv (Makefile.am): Likewise.
34847         * modules/settime (Makefile.am): Likewise.
34848         * modules/sha1 (Makefile.am): Likewise.
34849         * modules/sig2str (Makefile.am): Likewise.
34850         * modules/snprintf (Makefile.am): Likewise.
34851         * modules/stdlib-safer (Makefile.am): Likewise.
34852         * modules/stpcpy (Makefile.am): Likewise.
34853         * modules/stpncpy (Makefile.am): Likewise.
34854         * modules/strcase (Makefile.am): Likewise.
34855         * modules/strcasestr (Makefile.am): Likewise.
34856         * modules/strchrnul (Makefile.am): Likewise.
34857         * modules/strcspn (Makefile.am): Likewise.
34858         * modules/strdup (Makefile.am): Likewise.
34859         * modules/strerror (Makefile.am): Likewise.
34860         * modules/strftime (Makefile.am): Likewise.
34861         * modules/strndup (Makefile.am): Likewise.
34862         * modules/strnlen (Makefile.am): Likewise.
34863         * modules/strpbrk (Makefile.am): Likewise.
34864         * modules/strsep (Makefile.am): Likewise.
34865         * modules/strstr (Makefile.am): Likewise.
34866         * modules/strtod (Makefile.am): Likewise.
34867         * modules/strtoimax (Makefile.am): Likewise.
34868         * modules/strtok_r (Makefile.am): Likewise.
34869         * modules/strtol (Makefile.am): Likewise.
34870         * modules/strtoll (Makefile.am): Likewise.
34871         * modules/strtoul (Makefile.am): Likewise.
34872         * modules/strtoull (Makefile.am): Likewise.
34873         * modules/strtoumax (Makefile.am): Likewise.
34874         * modules/strverscmp (Makefile.am): Likewise.
34875         * modules/time_r (Makefile.am): Likewise.
34876         * modules/timegm (Makefile.am): Likewise.
34877         * modules/tmpfile-safer (Makefile.am): Likewise.
34878         * modules/unistd-safer (Makefile.am): Likewise.
34879         * modules/unlinkdir (Makefile.am): Likewise.
34880         * modules/userspec (Makefile.am): Likewise.
34881         * modules/utime (Makefile.am): Likewise.
34882         * modules/utimecmp (Makefile.am): Likewise.
34883         * modules/utimens (Makefile.am): Likewise.
34884         * modules/vasnprintf (Makefile.am): Likewise.
34885         * modules/vasprintf (Makefile.am): Likewise.
34886         * modules/vsnprintf (Makefile.am): Likewise.
34887         * modules/xalloc (Makefile.am): Likewise.
34888         * modules/xgetcwd (Makefile.am): Likewise.
34889         * modules/xnanosleep (Makefile.am): Likewise.
34890         * modules/xreadlink (Makefile.am): Likewise.
34891         * modules/xstrtod (Makefile.am): Likewise.
34892         * modules/xstrtol (Makefile.am): Likewise.
34893         * modules/xstrtold (Makefile.am): Likewise.
34894         * modules/yesno (Makefile.am): Likewise.
34895
34896 2006-10-12  Jim Meyering  <jim@meyering.net>
34897
34898         * m4/getloadavg.m4: Revert the change below.
34899
34900         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
34901         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
34902         fail with a symlink, which is what coreutils' ./bootstrap now
34903         creates by default.
34904
34905 2006-10-12  Bruno Haible  <bruno@clisp.org>
34906
34907         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
34908         mingw.
34909         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
34910         MSVC and mingw explicitly.
34911
34912 2006-10-11  Simon Josefsson  <jas@extundo.com>
34913             Bruno Haible  <bruno@clisp.org>
34914
34915         Add support for multiple gnulib-tool invocations in the scope of a
34916         single configure.ac file.
34917         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
34918         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
34919         with the same contents as the _LIBADD variable.
34920         (func_emit_initmacro_start, func_emit_initmacro_end,
34921         func_emit_initmacro_done): New functions.
34922         (func_import, func_create_testdir): Invoke them. Allow the identifiers
34923         gl_LIBOBJS and gl_LTLIBOBJS.
34924
34925 2006-10-11  Bruno Haible  <bruno@clisp.org>
34926
34927         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
34928         (func_create_testdir): Don't create po/Makefile.am, don't invoke
34929         autoreconf. Instead, invoke autopoint explicitly but move back the
34930         *.m4 files from gnulib.
34931
34932 2006-10-11  Bruno Haible  <bruno@clisp.org>
34933
34934         * gnulib-tool (func_usage): Make module names after --create-testdir
34935         optional.
34936         (func_create_testdir): If no module was specified, use nearly all
34937         modules.
34938
34939 2006-10-12  Jim Meyering  <jim@meyering.net>
34940
34941         Big performance improvement for fts-based tools that use FTS_NOSTAT.
34942         Avoid spurious inode-mismatch problems on non-POSIX file systems.
34943         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
34944         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
34945         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
34946         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
34947         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
34948         (fts_set_stat_required): New function.
34949         (fts_open): Defer the calls to fts_stat, if possible or requested.
34950         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
34951         into fts_stat itself.
34952         (fts_read): Perform any required (deferred) fts_stat call.
34953         (fts_build): Likewise, for the directory we're about to open and read.
34954         In the readdir loop, carefully decide whether each entry will require
34955         an eventual call to fts_stat, using dirent.d_type info if available.
34956         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
34957         a command line argument into this function.  Update all callers.
34958         Map a return value of FTS_DOT to FTS_D for a command line argument.
34959         * modules/fts (Depends-on): Add d-type.  Alphabetize.
34960         Thanks to Miklos Szeredi for his tenacity and for the initial
34961         bug report about "find" failing on a FUSE-based file system.
34962
34963         * lib/fts.c (fts_open): Use consistent indentation.
34964
34965 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
34966
34967         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
34968         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
34969         reported by Jim Meyering.  All uses of cache variables renamed
34970         to match Autoconf's.
34971         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
34972         the other one.
34973
34974         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
34975         Fix misspelling in diagnostic.
34976
34977 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
34978
34979         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
34980         defined.  Problem reported by Matthew Woehlke.
34981
34982         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
34983         Add support for Tandem NonStop R series.
34984         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
34985         Use new macro.
34986
34987         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
34988         (has_trailing_slash): Omit size arg; all callers changed.
34989         Omit 'inline', since it doesn't help performance and we'd
34990         need to configure it.
34991         Don't count //, ///, etc. as having a trailing slash.
34992         As a side effect, this removes a C99ism reported by Matthew Woehlke.
34993         (rpl_rename_dest_slash): On failure, use rename's errno rather
34994         than (in some cases) an incorrect or junk errno.
34995         Simplify code by removing need to compute length; this does
34996         cause it to make two passes instead of one over the file name,
34997         but it's worth it.
34998
34999         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
35000         change, since Autoconf's version may no longer be appropriate now
35001         that we are using CVS Autoconf's version.  Add support for Tandem.
35002
35003 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
35004             Bruno Haible  <bruno@clisp.org>
35005
35006         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
35007         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
35008         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
35009         gl_AC_TYPE_LONG_LONG.
35010
35011         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
35012         instead of HAVE_LONG_LONG.
35013         * lib/printf-args.c (printf_fetchargs): Likewise.
35014         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
35015         * lib/vasnprintf.c (VASNPRINTF): Likewise.
35016         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
35017         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
35018         gl_AC_TYPE_LONG_LONG.
35019
35020 2006-10-11  Bruno Haible  <bruno@clisp.org>
35021
35022         * m4/longlong.m4: Add comments.
35023         * m4/ulonglong.m4: Likewise.
35024
35025 2006-10-10  Bruno Haible  <bruno@clisp.org>
35026
35027         Make it possible to #define stpcpy, strdup to aliases.
35028         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
35029         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
35030
35031 2006-10-10  Bruno Haible  <bruno@clisp.org>
35032
35033         Make it possible to #define gcd to an alias.
35034         * lib/gcd.c: Include config.h.
35035
35036 2006-10-10  Bruno Haible  <bruno@clisp.org>
35037
35038         Make it possible to #define c_isascii to an alias.
35039         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
35040         defined. Undefine the macros before defining them, to avoid gcc
35041         warnings.
35042         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
35043         define NO_C_CTYPE_MACROS early.
35044
35045 2006-10-10  Bruno Haible  <bruno@clisp.org>
35046
35047         Make it possible to #define set_program_name to an alias.
35048         * lib/progname.c: Don't undefine set_program_name; instead, undefine
35049         ENABLE_RELOCATABLE early.
35050
35051 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
35052
35053         Port to Tandem NSK OSS, which has 64-bit signed int but at most
35054         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
35055         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
35056         More generally, don't assume that 64-bit signed int is available
35057         if unsigned int is, and vice versa.
35058         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
35059         unsigned symbols, not on their signed counterparts.
35060         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
35061         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
35062         (UINT64_C, UINTMAX_C):
35063         Likewise.
35064         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
35065         unsigned counterparts.
35066         (Have_long_long, Unsigned): New macros.
35067         (Int): Renamed from INT.
35068         (strtoimax): Use the new macros.
35069         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
35070         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
35071         * modules/inttypes (inttypes.h): Substitute
35072         HAVE_UNSIGNED_LONG_LONG_INT.
35073         * modules/stdint (stdint.h): Likewise.
35074         (Files): Add m4/ulonglong.m4.
35075
35076 2006-10-10  Bruno Haible  <bruno@clisp.org>
35077
35078         Fix a gcc -Wshadow warning.
35079         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
35080         to 'bucket'.
35081         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
35082         gl_linked_indexof_from_to): Likewise.
35083         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
35084         Likewise.
35085         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
35086         Likewise.
35087         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
35088         Reported by Eric Blake.
35089
35090 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
35091
35092         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
35093         for NetBSD.  Problem reported by Bruno Haible.
35094
35095 2006-10-09  Jim Meyering  <jim@meyering.net>
35096
35097         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
35098         Patch from Bruno Haible.
35099
35100 2006-10-09  Jim Meyering  <jim@meyering.net>
35101
35102         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
35103         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
35104         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
35105
35106 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
35107
35108         Don't include <config.h> twice; this doesn't work in some cases,
35109         e.g., when config.h has "#define intmax_t long long int" and
35110         we include <config.h>, <inttypes.h>, <config.h> in that order.
35111         Problem reported by Matthew Woehlke in:
35112         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
35113         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
35114         * lib/fts-cycle.c: Don't include config.h.
35115         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
35116         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
35117         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
35118         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
35119         inttypes.h.
35120         * lib/xstrtoumax.c: Likewise.
35121         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
35122         __strtol and the like, so that this module is more like its siblings.
35123         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
35124         Remove; no longer needed now that we assume gnulib inttypes.h.
35125
35126 2006-10-08  Bruno Haible  <bruno@clisp.org>
35127
35128         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
35129         option.
35130
35131 2006-10-07  Jim Meyering  <jim@meyering.net>
35132
35133         * modules/inttypes (inttypes.h): Revert what seems to have been
35134         an inadvertent part of today's change: use "|", not "/" in the
35135         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
35136
35137 2006-10-07  Bruno Haible  <bruno@clisp.org>
35138
35139         * modules/sublist: New file.
35140
35141 2006-10-07  Bruno Haible  <bruno@clisp.org>
35142
35143         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
35144         * modules/argz (argz.h): Likewise.
35145         * modules/arpa_inet (arpa/inet.h): Likewise.
35146         * modules/byteswap (byteswap.h): Likewise.
35147         * modules/configmake (configmake.h): Likewise.
35148         * modules/fcntl (fcntl.h): Likewise.
35149         * modules/fnmatch (fnmatch.h): Likewise.
35150         * modules/getopt (getopt.h): Likewise.
35151         * modules/glob (glob.h): Likewise.
35152         * modules/inttypes (inttypes.h): Likewise.
35153         * modules/netinet_in (netinet/in.h): Likewise.
35154         * modules/poll (poll.h): Likewise.
35155         * modules/stdbool (stdbool.h): Likewise.
35156         * modules/stdint (stdint.h): Likewise.
35157         * modules/sys_select (sys/select.h): Likewise.
35158         * modules/sys_socket (sys/socket.h): Likewise.
35159         * modules/sys_stat (sys/stat.h): Likewise.
35160         * modules/sysexits (sysexits.h): Likewise.
35161         * modules/unistd (unistd.h): Likewise.
35162         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
35163         Add a "DO NOT EDIT" comment to the generated file.
35164         (func_import): Likewise for gnulib-comp.m4.
35165
35166 2006-10-07  Bruno Haible  <bruno@clisp.org>
35167
35168         * lib/gl_sublist.h: New file.
35169         * lib/gl_sublist.c: New file.
35170
35171 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
35172
35173         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
35174         name (relative to the original working directory) and the file
35175         name component (relative to the temporary working directory).  All
35176         callers changed.
35177         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
35178         * lib/mkdir-p.c (make_dir_parents): Likewise.
35179         * lib/mkdir-p.h (make_dir_parents): Likewise.
35180
35181 2006-10-06  Eric Blake  <ebb9@byu.net>
35182
35183         Define several macros for use by the clean-temp module.
35184         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
35185         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
35186         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
35187
35188         * lib/clean-temp.h (close_stream_temp): New declaration.
35189         * lib/clean-temp.c (includes): Pull in headers according to what
35190         other modules are in use.
35191         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
35192
35193 2006-10-06  Bruno Haible  <bruno@clisp.org>
35194
35195         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
35196         instead of fopen, fwriteerror.
35197
35198 2006-10-06  Bruno Haible  <bruno@clisp.org>
35199
35200         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
35201         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
35202         int.
35203         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
35204         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
35205         Return an error indicator.
35206         Suggested by Eric Blake.
35207
35208 2006-10-06  Bruno Haible  <bruno@clisp.org>
35209
35210         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
35211         Reported by Eric Blake.
35212
35213 2006-10-06  Bruno Haible  <bruno@clisp.org>
35214
35215         * modules/closeout (Description): Mention stderr too.
35216
35217 2006-10-06  Bruno Haible  <bruno@clisp.org>
35218         and Paul Eggert  <eggert@cs.ucla.edu>
35219
35220         * lib/closeout.c (close_stdout): Also close stderr.
35221         * lib/closeout.h: Update comment.
35222
35223 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
35224
35225         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
35226         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
35227         * lib/dirchownmod.c: Include lchown.h.
35228         * lib/lchown.c: Don't include files that lchown.h now includes.
35229         Don't declare chown, since lchown.h now does that.
35230         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
35231         (lchown): Define to rpl_chown if lchown is declared but
35232         does not exist.  Declare using a prototype if lchown is not
35233         declared.  Add a copyright notice.
35234         * lib/mkstemp.h: Include <unistd.h>.
35235         * lib/openat.c: Include lchown.h.
35236
35237         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
35238         we now test for that separately.
35239         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
35240         rather than O_NOFOLLOW, when testing whether it's possible to
35241         avoid a race condition reliably.
35242         * lib/savewd.c (savewd_chdir): Likewise.
35243
35244         Remove macros that are no longer needed now that stdint.h is
35245         reliable.
35246         * lib/fsusage.c (UINTMAX_MAX): Remove.
35247         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
35248         * lib/utimecmp.c (SIZE_MAX): Remove.
35249
35250         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
35251
35252         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
35253         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
35254         O_NOATIME works.
35255
35256 2006-10-05  Bruno Haible  <bruno@clisp.org>
35257
35258         * lib/gl_list.h (gl_sortedlist_search_from_to,
35259         gl_sortedlist_indexof_from_to): New declarations.
35260         (gl_list_implementation): New fields sortedlist_search_from_to,
35261         sortedlist_indexof_from_to.
35262         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
35263         inline functions.
35264         * lib/gl_list.c (gl_sortedlist_search_from_to,
35265         gl_sortedlist_indexof_from_to): New functions.
35266         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
35267         function.
35268         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
35269         (gl_array_sortedlist_search_from_to): New function.
35270         (gl_array_list_implementation): Update.
35271         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
35272         function.
35273         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
35274         (gl_carray_sortedlist_search_from_to): New function.
35275         (gl_carray_list_implementation): Update.
35276         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
35277         gl_linked_sortedlist_indexof_from_to): New functions.
35278         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
35279         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
35280         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
35281         gl_tree_sortedlist_indexof_from_to): New functions.
35282         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
35283         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
35284         Update.
35285         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
35286         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
35287         Update.
35288
35289 2006-10-05  Bruno Haible  <bruno@clisp.org>
35290
35291         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
35292         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
35293         (struct gl_list_implementation): Add fields search_from_to,
35294         indexof_from_to. Remove fields search, indexof.
35295         (gl_list_search): Use the search_from_to method.
35296         (gl_list_search_from, gl_list_search_from_to): New functions.
35297         (gl_list_indexof): Use the indexof_from_to method.
35298         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
35299         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
35300         (gl_list_search_from, gl_list_search_from_to): New functions.
35301         (gl_list_indexof): Use the indexof_from_to method.
35302         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
35303         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
35304         gl_array_indexof. Add start_index, end_index arguments.
35305         (gl_array_search_from_to): Renamed from gl_array_search. Add
35306         start_index, end_index arguments.
35307         (gl_array_remove, gl_array_list_implementation): Update.
35308         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
35309         gl_carray_indexof. Add start_index, end_index arguments.
35310         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
35311         start_index, end_index arguments.
35312         (gl_carray_remove, gl_carray_list_implementation): Update.
35313         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
35314         gl_linked_search. Add start_index, end_index arguments.
35315         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
35316         start_index, end_index arguments.
35317         (gl_linked_remove): Update.
35318         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
35319         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
35320         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
35321         field to 'size_t'.
35322         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
35323         gl_tree_search. Add start_index, end_index arguments.
35324         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
35325         start_index, end_index arguments.
35326         (gl_tree_remove): Update.
35327         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
35328         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
35329         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
35330         function.
35331         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
35332         gl_tree_search. Add start_index, end_index arguments.
35333         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
35334         start_index, end_index arguments.
35335         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
35336         Update.
35337         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
35338
35339 2006-10-05  Bruno Haible  <bruno@clisp.org>
35340
35341         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
35342
35343         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
35344         fwriteerror_temp): New declarations.
35345         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
35346         (descriptors): New variable.
35347         (cleanup): First, close the descriptors.
35348         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
35349         fclose_temp, fwriteerror_temp): New functions.
35350
35351 2006-10-04  Jim Meyering  <jim@meyering.net>
35352
35353         * lib/fts.c (fts_open): Tiny comment change.
35354
35355 2006-10-04  Bruno Haible  <bruno@clisp.org>
35356
35357         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
35358         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
35359         gl_LOCK_BODY.
35360         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
35361         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
35362         gl_LOCK_EARLY_BODY.
35363         (gl_LOCK): Require gl_LOCK_BODY.
35364
35365 2006-10-04  Bruno Haible  <bruno@clisp.org>
35366
35367         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
35368         (gl_oset_search_atleast): New declaration.
35369         (struct gl_oset_implementation): Add field 'search_atleast'.
35370         (gl_oset_search_atleast): New inline function.
35371         * lib/gl_oset.c (gl_oset_search_atleast): New function.
35372         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
35373         (gl_array_oset_implementation): Update.
35374         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
35375         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
35376         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
35377
35378 2006-10-04  Bruno Haible  <bruno@clisp.org>
35379
35380         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
35381
35382 2006-10-03  Bruno Haible  <bruno@clisp.org>
35383
35384         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
35385         from gl_avltreehash_list_implementation.
35386
35387 2006-10-03  Bruno Haible  <bruno@clisp.org>
35388
35389         * lib/gl_oset.c (gl_oset_add): Fix return type.
35390
35391 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
35392
35393         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
35394
35395 2006-10-02  Eric Blake  <ebb9@byu.net>
35396
35397         * modules/strnlen (Depends-on): Add extensions.
35398
35399 2006-10-02  Eric Blake  <ebb9@byu.net>
35400
35401         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
35402         definition in 2.60+.
35403
35404 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
35405
35406         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
35407         checks.
35408
35409 2006-10-02  Bruno Haible  <bruno@clisp.org>
35410
35411         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
35412         to the AUTOMAKE_OPTIONS.
35413         Reported by Jim Meyering.
35414
35415 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
35416
35417         Work around bug in Solaris 10 /proc file system:
35418         /proc/self/fd/NNN/.. isn't the parent directory of
35419         the directory whose file descriptor is NNN.  This needs to
35420         be worked around at run time, not compile time, since a
35421         program might be built on Solaris 8, where things work, and
35422         run on Solaris 10.
35423         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
35424         to use the following interface instead:
35425         (OPENAT_BUFFER_SIZE): New macro.
35426         (openat_proc_name): New function.
35427         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
35428         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
35429         Likewise.
35430         * lib/openat-proc.c: New file.
35431         * modules/openat (Files): Add lib/openat-proc.c.
35432         (Depends-on): Add same-inode, stdbool.
35433         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
35434
35435 2006-09-29  Bruno Haible  <bruno@clisp.org>
35436
35437         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
35438         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
35439         argument. Set stdout_closed before testing for ferror, not after.
35440         (fwriteerror, fwriteerror_no_ebadf): New functions.
35441
35442 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35443
35444         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
35445
35446 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
35447
35448         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
35449         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
35450
35451 2006-09-28  Jim Meyering  <jim@meyering.net>
35452
35453         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
35454         Include <unistd.h>.
35455
35456 2006-09-28  Bruno Haible  <bruno@clisp.org>
35457
35458         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
35459         * modules/linkedhash-list (Depends-on): Likewise.
35460         * modules/rbtreehash-list (Depends-on): Likewise.
35461
35462 2006-09-28  Bruno Haible  <bruno@clisp.org>
35463
35464         * lib/strndup.h: Simplify the redefinition of strndup.
35465         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
35466         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
35467
35468 2006-09-28  Bruno Haible  <bruno@clisp.org>
35469
35470         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
35471         * lib/gl_linkedhash_list.c: Likewise.
35472         * lib/gl_rbtreehash_list.c: Likewise.
35473
35474 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
35475
35476         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
35477         getaddrinfo.
35478
35479         * lib/__fpending.h: Don't include <stdio_ext.h> unless
35480         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
35481         it causes <stdio_ext.h> to cause a compile-time error.
35482         Problem reported by Nelson H. F. Beebe.
35483         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
35484         of HAVE_DECL___PENDING.
35485
35486         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
35487         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
35488         declaration.
35489
35490 2006-09-27  Jim Meyering  <jim@meyering.net>
35491
35492         This file could end up with a definition for a function
35493         named __strndup, rather than rpl_strndup on a system with
35494         incomplete weak_alias support.
35495         * lib/strndup.c (strndup): Rename from __strndup.
35496         Remove #defines that used to map __strndup to strndup.
35497         Don't use K&R prototypes.
35498         Remove LIBC-related code, since this file is not sync'd with glibc.
35499         * lib/strndup.h: Revamp, accordingly.
35500         * m4/strndup.m4: Modernize.
35501
35502 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
35503
35504         * modules/savewd (Depends-on): Add 'raise'.
35505         * lib/savewd.c: Include <signal.h>, for 'raise'.
35506
35507 2006-09-26  Jim Meyering  <jim@meyering.net>
35508
35509         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
35510         when we detect Darwin 8.7.0's acl_get_file bug.
35511         Rearrange to perform the new (below) run-test while $LIBS
35512         contains any acl-related library.  Set USE_ACL at the end.
35513         (gl_ACL_GET_FILE): New function.
35514
35515 2006-09-26  Eric Blake  <ebb9@byu.net>
35516
35517         * lib/verror.c: Include <config.h> unconditionally.
35518
35519 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
35520
35521         * modules/clock-time (Maintainer): Add self.
35522         * modules/getlogin_r (Depends-on): Add extensions.
35523
35524 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35525
35526         * modules/clock-time: New module.
35527         * modules/nanosleep (Depends-on): Add clock-time.
35528         * modules/gethrxtime (Depends-on): Likewise.
35529         * modules/gettime (Depends-on): Likewise.
35530         * modules/settime (Depends-on): Likewise.
35531
35532         * modules/fts-lgpl: Depend on openat.
35533         * modules/mkancesdirs: Depend on savewd.
35534         * modules/mkdir-p: Likewise.
35535
35536 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35537
35538         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
35539
35540         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
35541         `gl_have_arbitrary_file_name_length_limit' to
35542         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
35543         actually works between configure runs.
35544
35545 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35546             Bruno Haible  <bruno@clisp.org>
35547
35548         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
35549
35550 2006-09-25  Jim Meyering  <jim@meyering.net>
35551
35552         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
35553         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
35554
35555 2006-09-25  Eric Blake  <ebb9@byu.net>
35556
35557         * gnulib-tool (func_import, func_create_testdir): Fix typos in
35558         exec's in 2006-09-18 patch when shuffling fds.
35559
35560 2006-09-25  Bruno Haible  <bruno@clisp.org>
35561
35562         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
35563         Reported by Jim Meyering.
35564
35565 2006-09-24  Jim Meyering  <jim@meyering.net>
35566
35567         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
35568         compare a pointer against a literal "0".  That caused failures with
35569         at least HP-UX's hpcc.
35570
35571 2006-09-22  Simon Josefsson  <jas@extundo.com>
35572
35573         * modules/gc-sha1:
35574         * modules/gc-md4:
35575         * modules/gc-hmac-sha1:
35576         * modules/gc-hmac-md5:
35577         * modules/gc-des:
35578         * modules/gc-arcfour: Distribute more files.
35579
35580 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35581
35582         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
35583         (gl_linked_iterator_from_to): Initialize struct completely.
35584         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
35585         (gl_tree_iterator_from_to): Likewise
35586         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
35587         * lib/gl_array_list.c [lint] (gl_array_iterator)
35588         (gl_array_iterator_from_to): Likewise.
35589         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
35590         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
35591         (gl_carray_iterator_from_to): Likewise.
35592
35593         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
35594         * lib/md4.c (md4_process_block): Remove unused variable.
35595         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
35596         parentheses for clarity.
35597
35598 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35599
35600         * modules/bison-i18n (Depends-on): Add gettext.
35601
35602 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35603
35604         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
35605         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
35606         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
35607         also add missing comma that caused broken test.
35608         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
35609         stdlib.h, for `abort'.
35610         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
35611         variables.
35612         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
35613         include unistd.h if present, for `rmdir'.
35614         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
35615         variables.
35616         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
35617         in the process include standard headers for prototypes.
35618         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
35619         gets declared on GNU/Linux.
35620         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
35621         unistd.h, for `rmdir'.
35622         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
35623
35624         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
35625         always true.
35626         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
35627
35628         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
35629
35630 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35631
35632         * gnulib-tool (func_version): Create output all at once.  This
35633         may help avoid triggering unnecessary SIGPIPEs, and at any
35634         rate it doesn't hurt.
35635
35636 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35637             Bruno Haible  <bruno@clisp.org>
35638
35639         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
35640         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
35641         * m4/signed.m4 (bh_C_SIGNED): Likewise.
35642
35643         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
35644         (gl_FUNC_VASPRINTF): Invoke it.
35645
35646 2006-09-22  Bruno Haible  <bruno@clisp.org>
35647
35648         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
35649         getloadavg.c as first argument.
35650
35651 2006-09-22  Bruno Haible  <bruno@clisp.org>
35652
35653         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
35654         at the beginning of the gl_INIT macro.
35655         * modules/getloadavg (configure.ac): Pass $gl_source_base to
35656         gl_GETLOADAVG.
35657
35658 2006-09-22  Bruno Haible  <bruno@clisp.org>
35659
35660         * gnulib-tool (func_create_megatestdir): Don't include the config-h
35661         module.
35662         Suggested by Ralf Wildenhues.
35663
35664 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
35665
35666         Import this patch from libc:
35667
35668         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
35669
35670         * lib/regex_internal.c (re_string_reconstruct): Handle
35671         offset < pstr->valid_raw_len && pstr->offsets_needed case.
35672         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
35673         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
35674         re_string_context_at.
35675
35676         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
35677         now requires it.
35678         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
35679         gl_REGEX now does it for us.
35680         (gl_REGEX): Add test taken from
35681         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
35682
35683         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
35684         Check that large offsets work.  Modernize Autoconf usages.
35685         Prefer "yes" to mean a good thing rather than a bad.
35686         Don't put "#define mkstemp" in config.h, as this might interfere
35687         with standard system headers that "#define mkstemp mkstemp64".
35688
35689         * modules/mkstemp (Depends-on): Add extensions, so that
35690         mkstemp is visible on some platforms.
35691         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
35692         (Include): Change to "mkstemp.h" from <stdlib.h>.
35693         (Files): Add mkstemp.h.
35694
35695         * lib/mkstemp.h: New file, since some standard headers
35696         #define mkstemp.
35697         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
35698         Include "mkstemp.h".
35699         Make the _LIBC code resemble glibc original more,
35700         e.g., use K&R style.
35701         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
35702         (mkstemp): Remove, since mkstemp.h does this for us.
35703         * lib/stdlib--.h: Include mkstemp.h.
35704
35705         Import this patch from libc:
35706
35707         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
35708
35709         * lib/tempname.c (__gen_tempname): Change attempts_min
35710         into a macro.  Use preprocessor to decide how to initialize
35711         attempts [Coverity CID 67].
35712
35713 2006-09-20  Bruno Haible  <bruno@clisp.org>
35714
35715         * lib/mkdtemp.c: Import from libc.
35716         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
35717                 * sysdeps/posix/tempname.c (__gen_tempname): Change
35718                 attempts_min into a macro.  Use preprocessor to decide how to
35719                 initialize attempts [Coverity CID 67].
35720         2001-11-27  Paul Eggert  <eggert@twinsun.com>
35721                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
35722                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
35723
35724 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35725
35726         * gnulib-tool (func_exit): New function, to allow to pass the
35727         exit status portably through the trap.  Use everywhere.
35728         (--help, --version): Signal a write error.
35729         (trap): catch SIGPIPE, for write errors.
35730         Exit at the end of the trap, with the correct exit status.
35731
35732 2006-09-19  Karl Berry  <karl@gnu.org>
35733
35734         * doc/gnulib.texi: note about the license texinfo files.
35735
35736 2006-09-19  Eric Blake  <ebb9@byu.net>
35737
35738         * gnulib-tool: Avoid space-tab.
35739
35740 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
35741
35742         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
35743         that prevented coreutils 6.1 from building.  Problem reported
35744         by Petter Reinholdtsen.
35745
35746 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
35747
35748         * gnulib-tool (avoidlist): Fix typo that broke options like
35749         --avoid=lock that are used by coreutils bootstrap.
35750
35751 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
35752
35753         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
35754         more systematically.
35755
35756 2006-09-18  Jim Meyering  <jim@meyering.net>
35757
35758         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
35759
35760 2006-09-18  Bruno Haible  <bruno@clisp.org>
35761
35762         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
35763
35764 2006-09-18  Bruno Haible  <bruno@clisp.org>
35765
35766         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
35767         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
35768         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
35769         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
35770         * m4/gettext.m4: Require autoconf >= 2.52.
35771         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
35772         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
35773         of gl_cv_header_inttypes_h.
35774
35775 2006-09-18  Bruno Haible  <bruno@clisp.org>
35776
35777         * lib/javaversion.c: Include configmake.h.
35778
35779 2006-09-18  Bruno Haible  <bruno@clisp.org>
35780
35781         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
35782         avoid that the while loops be executed in a subshell.
35783
35784 2006-09-18  Bruno Haible  <bruno@clisp.org>
35785
35786         * MODULES.html.sh (func_module): Break long lines.
35787         Suggested by Bruce Korb <bkorb@gnu.org>.
35788
35789 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35790
35791         Speed up by a factor of 1.12.
35792         * gnulib-tool (nl): New variable.
35793         (func_import): Rewrite include directive extraction to only read each
35794         directive once.
35795
35796 2006-09-17  Bruno Haible  <bruno@clisp.org>
35797
35798         * modules/javaversion (Makefile.am): Remove DEFS setting.
35799         (Depends-on): Add configmake, for PKGDATADIR definition.
35800
35801 2006-09-17  Bruno Haible  <bruno@clisp.org>
35802
35803         * gnulib-tool (func_create_testdir): Rewrite all files at once.
35804
35805 2006-09-17  Bruno Haible  <bruno@clisp.org>
35806
35807         * gnulib-tool (func_append): New function, stolen from libtool.m4.
35808         (func_modules_transitive_closure, func_modules_add_dummy,
35809         func_modules_to_filelist, func_import, func_create_testdir,
35810         func_create_megatestdir, ...): Use it wherever possible.
35811         Suggested by Ralf Wildenhues.
35812
35813 2006-09-16  Karl Berry  <karl@gnu.org>
35814
35815         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
35816         to avoid sectioning errors.
35817         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
35818         [ifinfo]: blank line after @center-ed titles.
35819         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
35820         Spell FSF address consistently with others.
35821         (These changes approved by rms.)
35822
35823 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35824
35825         Speed up by a factor of 1.61.
35826         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
35827         already checked module names again.
35828
35829 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35830
35831         Speed up by a factor of 1.13.
35832         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
35833         for new_files, and the input to func_add_or_update.
35834
35835 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35836
35837         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
35838         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
35839
35840 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35841
35842         * modules/mkancesdirs (Depends-on): Add fcntl.
35843         * modules/savewd: New file.
35844         * MODULES.html.sh (File system functions): Add savewd.
35845
35846         * modules/configmake (Makefile.am): Add support for the
35847         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
35848
35849 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35850
35851         * m4/savewd.m4: New file.
35852
35853 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
35854
35855         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
35856         (dirchownmod): New arg FD.  All callers changed.
35857         Use FD rather than opening the directory ourself, as opening is
35858         now the caller's responsibility.
35859         * lib/dirchownmod.h: Likewise.
35860         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
35861         hosts that require <sys/types.h> before <sys/stat.h>.  Include
35862         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
35863         (test_dir): Remove.
35864         (mkancesdirs): Return length of prefix of FILE that has already
35865         been made, or -2 if there is a child doing the work.  Redo
35866         algorithm so that it is O(N) rather than O(N**2).  Optimize away
35867         ".", and treat ".." specially since it might stray back into
35868         already-created areas.  Use a subprocess if necessary.  New arg
35869         WD; all users changed.  MAKE_DIR function should now return 1
35870         if it creates a directory that is not readable.  Return -2 if
35871         a child process is spun off.
35872         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
35873         Adjust signature to match code.
35874         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
35875         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
35876         all users changed.
35877         * lib/savewd.c, lib/savewd.h: New files.
35878
35879 2006-09-15  Jim Meyering  <jim@meyering.net>
35880
35881         * modules/rename-dest-slash: New module.
35882         * MODULES.html.sh (posix_compat): Add it here.
35883
35884         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
35885
35886 2006-09-15  Jim Meyering  <jim@meyering.net>
35887
35888         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
35889         file.
35890
35891         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
35892
35893 2006-09-15  Jim Meyering  <jim@meyering.net>
35894
35895         * lib/rename-dest-slash.c (has_trailing_slash): Use
35896         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
35897         (rpl_rename_dest_slash): Perform the cheaper trailing slash
35898         test before testing whether SRC is a directory.
35899         Suggestions from Bruno Haible.
35900
35901         Avoid a warning about an unused variable.
35902         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
35903         into the #ifdef block where it's used.
35904
35905         * lib/rename-dest-slash.c: New file.
35906
35907 2006-09-14  Bruno Haible  <bruno@clisp.org>
35908
35909         * lib/allocsa.c: Include <config.h> unconditionally.
35910         * lib/asnprintf.c: Likewise.
35911         * lib/asprintf.c: Likewise.
35912         * lib/c-strcasecmp.c: Likewise.
35913         * lib/c-strcasestr.c: Likewise.
35914         * lib/c-strncasecmp.c: Likewise.
35915         * lib/c-strstr.c: Likewise.
35916         * lib/classpath.c: Likewise.
35917         * lib/clean-temp.c: Likewise.
35918         * lib/concatpath.c: Likewise.
35919         * lib/copy-file.c: Likewise.
35920         * lib/csharpcomp.c: Likewise.
35921         * lib/csharpexec.c: Likewise.
35922         * lib/execute.c: Likewise.
35923         * lib/fatal-signal.c: Likewise.
35924         * lib/findprog.c: Likewise.
35925         * lib/fwriteerror.c: Likewise.
35926         * lib/gl_array_list.c: Likewise.
35927         * lib/gl_array_oset.c: Likewise.
35928         * lib/gl_avltree_list.c: Likewise.
35929         * lib/gl_avltree_oset.c: Likewise.
35930         * lib/gl_avltreehash_list.c: Likewise.
35931         * lib/gl_carray_list.c: Likewise.
35932         * lib/gl_linked_list.c: Likewise.
35933         * lib/gl_linkedhash_list.c: Likewise.
35934         * lib/gl_list.c: Likewise.
35935         * lib/gl_oset.c: Likewise.
35936         * lib/gl_rbtree_list.c: Likewise.
35937         * lib/gl_rbtree_oset.c: Likewise.
35938         * lib/gl_rbtreehash_list.c: Likewise.
35939         * lib/imaxabs.c: Likewise.
35940         * lib/imaxdiv.c: Likewise.
35941         * lib/javacomp.c: Likewise.
35942         * lib/javaexec.c: Likewise.
35943         * lib/javaversion.c: Likewise.
35944         * lib/linebreak.c: Likewise.
35945         * lib/localcharset.c: Likewise.
35946         * lib/lock.c: Likewise.
35947         * lib/mbchar.c: Likewise.
35948         * lib/mbswidth.c: Likewise.
35949         * lib/mkdtemp.c: Likewise.
35950         * lib/pipe.c: Likewise.
35951         * lib/printf-args.c: Likewise.
35952         * lib/printf-parse.c: Likewise.
35953         * lib/progname.c: Likewise.
35954         * lib/progreloc.c: Likewise.
35955         * lib/readlink.c: Likewise.
35956         * lib/sh-quote.c: Likewise.
35957         * lib/stpcpy.c: Likewise.
35958         * lib/stpncpy.c: Likewise.
35959         * lib/strcasecmp.c: Likewise.
35960         * lib/strcasestr.c: Likewise.
35961         * lib/strcspn.c: Likewise.
35962         * lib/striconv.c: Likewise.
35963         * lib/strncasecmp.c: Likewise.
35964         * lib/strnlen1.c: Likewise.
35965         * lib/strstr.c: Likewise.
35966         * lib/strtok_r.c: Likewise.
35967         * lib/tls.c: Likewise.
35968         * lib/tmpdir.c: Likewise.
35969         * lib/unicodeio.c: Likewise.
35970         * lib/unsetenv.c: Likewise.
35971         * lib/vasnprintf.c: Likewise.
35972         * lib/vasprintf.c: Likewise.
35973         * lib/wait-process.c: Likewise.
35974         * lib/xallocsa.c: Likewise.
35975         * lib/xsetenv.c: Likewise.
35976         * lib/xstriconv.c: Likewise.
35977
35978 2006-09-13  Simon Josefsson  <jas@extundo.com>
35979
35980         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
35981         that internally, suggested by Ralf Wildenhues
35982         <Ralf.Wildenhues@gmx.de>.
35983
35984 2006-09-13  Simon Josefsson  <jas@extundo.com>
35985
35986         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
35987         @LIBOBJS@.
35988         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35989
35990 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
35991
35992         * lib/_fpending.c: Include <config.h> unconditionally, since we no
35993         longer worry about uses that don't define HAVE_CONFIG_H.
35994         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
35995         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
35996         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
35997         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
35998         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
35999         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
36000         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
36001         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
36002         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
36003         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
36004         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
36005         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
36006         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
36007         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
36008         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
36009         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
36010         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
36011         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
36012         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
36013         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
36014         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
36015         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
36016         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
36017         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
36018         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
36019         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
36020         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
36021         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
36022         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
36023         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
36024         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
36025         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
36026         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
36027         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
36028         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
36029         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
36030         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
36031         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
36032         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
36033         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
36034         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
36035         Likewise.
36036
36037 2006-09-13  Eric Blake  <ebb9@byu.net>
36038
36039         * lib/getopt.c: Fix typo in last commit.
36040
36041 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
36042
36043         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
36044         dgettext.
36045
36046 2006-09-12  Jim Meyering  <jim@meyering.net>
36047
36048         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
36049         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
36050         Reported by Nelson H. F. Beebe.
36051
36052 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
36053
36054         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
36055         program_invocation_name and program_invocation_short_name are
36056         initialized.
36057         * lib/argp-namefrob.h: Move declarations of program_invocation_name
36058         and program_invocation_short_name to argp.h, so they are visible
36059         to user programs.
36060         * lib/argp.h: Likewise
36061
36062 2006-09-10  Bruno Haible  <bruno@clisp.org>
36063
36064         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
36065         m4/inttypes_h.m4, m4/uintmax_t.m4.
36066
36067 2006-09-10  Bruno Haible  <bruno@clisp.org>
36068
36069         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
36070         gl_AC_TYPE_UINTMAX_T.
36071
36072 2006-09-10  Bruno Haible  <bruno@clisp.org>
36073
36074         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
36075
36076 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
36077
36078         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
36079         convention.  Text proposed by Bruno Haible.
36080         (struct argp_option): Document the use of N_() wrappers.
36081
36082         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
36083         '\v', and translate the two parts separately, instead of feeding
36084         the whole string to gettext.  This allows to exclude
36085         '\v' from the strings visible to the translator by writing doc
36086         strings as N_("..") "\v" N_("..").
36087
36088 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
36089
36090         * config/srclist.txt: Undo latest change; the bug was fixed.
36091
36092 2006-09-09  Bruno Haible  <bruno@clisp.org>
36093
36094         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
36095         assignments if building a library without libtool.
36096         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
36097         in func_emit_lib_Makefile_am.
36098         (func_import): When building a static library libfoo.a, arrange to
36099         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
36100         (func_create_testdir): Likewise.
36101         * modules/gc (configure.ac, Makefile.am): If building statically,
36102         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
36103         * modules/iconvme (configure.ac, Makefile.am): Likewise.
36104         * modules/striconv (configure.ac, Makefile.am): Likewise.
36105         Based on a suggestion by Ralf Wildenhues.
36106
36107 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
36108
36109         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
36110         Check for unistd.h too, since Autoconf doesn't assume POSIX.
36111         Also:
36112
36113         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
36114         Add year_2050_test to catch glibc bug 2821
36115         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
36116
36117         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
36118         Prefer #ifdef to #if.
36119
36120         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
36121         Return from 'main' instead of calling 'exit'.
36122
36123 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
36124
36125         * lib/mktime.c (guess_time_tm): Fix bug where mktime
36126         returned the maximum time_t value rather than (time_t) -1.
36127         Problem originally reported by William Bardwell
36128         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
36129
36130         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
36131         Moved to here ...
36132         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
36133         ... from here.
36134
36135 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
36136
36137         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
36138         2821 is fixed.
36139
36140 2006-09-08  Jim Meyering  <jim@meyering.net>
36141
36142         Don't make generated files read-only.  That would bother too many
36143         people.  However, do retain the ability to work when targets are
36144         read-only: remove the destination and temporary files before writing
36145         them (when generated via sed or echo), or by using the -f option for
36146         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
36147         * modules/alloca-opt, modules/argz, modules/arpa_inet:
36148         * modules/byteswap, modules/configmake, modules/fcntl:
36149         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
36150         * modules/localcharset, modules/netinet_in, modules/poll:
36151         * modules/stdbool, modules/stdint, modules/sys_select:
36152         * modules/sys_socket, modules/sys_stat, modules/sysexits:
36153
36154 2006-09-08  Jim Meyering  <jim@meyering.net>
36155
36156         Avoid new build failure on FreeBSD 6.0.
36157         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
36158         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
36159         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
36160
36161 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36162
36163         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
36164
36165 2006-09-07  Jim Meyering  <jim@meyering.net>
36166
36167         Fix global typo in last change: use chmod u-w, not chmod u-x.
36168         Spotted by Paul Eggert and Bruce Korb.
36169         * modules/alloca-opt, modules/argz, modules/arpa_inet:
36170         * modules/byteswap, modules/configmake, modules/fcntl:
36171         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
36172         * modules/localcharset, modules/netinet_in, modules/poll:
36173         * modules/stdbool, modules/stdint, modules/sys_select:
36174         * modules/sys_socket, modules/sys_stat, modules/sysexits:
36175
36176 2006-09-06  Jim Meyering  <jim@meyering.net>
36177
36178         Make generated files be read-only.
36179         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
36180         Ensure that each generated file is now read-only.
36181         * modules/argz: Likewise.
36182         * modules/arpa_inet: Likewise.
36183         * modules/byteswap: Likewise.
36184         * modules/configmake: Likewise.
36185         * modules/fcntl: Likewise.
36186         * modules/fnmatch: Likewise.
36187         * modules/getopt: Likewise.
36188         * modules/glob: Likewise.
36189         * modules/inttypes: Likewise.
36190         * modules/netinet_in: Likewise.
36191         * modules/poll: Likewise.
36192         * modules/stdbool: Likewise.
36193         * modules/stdint: Likewise.
36194         * modules/sys_select: Likewise.
36195         * modules/sys_socket: Likewise.
36196         * modules/sys_stat: Likewise.
36197         * modules/sysexits: Likewise.
36198         * modules/localcharset: Same as above, but continue using temporary
36199         file named "t-$@" (why different?) rather than the "$@-t" used
36200         everywhere else.
36201
36202         * modules/sysexits (Makefile.am): Replace literal occurrences
36203         of "sysexit.h" more readable, and more consistent, "$@".
36204
36205 2006-09-06  Bruno Haible  <bruno@clisp.org>
36206
36207         * modules/striconv: New file.
36208         * modules/xstriconv: New file.
36209         * MODULES.html.sh (Internationalization functions): Add striconv,
36210         xstriconv.
36211
36212 2006-09-06  Bruno Haible  <bruno@clisp.org>
36213
36214         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
36215         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
36216         not using libtool correctly.
36217
36218 2006-09-06  Bruno Haible  <bruno@clisp.org>
36219
36220         * lib/striconv.h: New file.
36221         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
36222         iconvstring.c.
36223         * lib/xstriconv.h: New file.
36224         * lib/xstriconv.c: New file.
36225
36226 2006-09-06  Bruno Haible  <bruno@clisp.org>
36227
36228         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
36229         lib_..._LDFLAGS.
36230
36231 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36232
36233         * lib/argz_.h: Sync from Libtool.
36234
36235         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
36236                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
36237
36238         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
36239
36240 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
36241
36242         * modules/trim: New file.
36243
36244 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
36245
36246         * lib/trim.h: New file.
36247         * lib/trim.c: New file.
36248
36249 2006-09-05  Bruno Haible  <bruno@clisp.org>
36250
36251         * MODULES.html.sh (String handling): Add trim.
36252
36253 2006-09-04  Karl Berry  <karl@gnu.org>
36254
36255         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
36256         until next release.
36257
36258 2006-09-03  Bruno Haible  <bruno@clisp.org>
36259
36260         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
36261         correctly.
36262
36263 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
36264
36265         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
36266         not gl_GETLOADAVG.  Omit unneeded semicolons.
36267         Problems reported by Ralf Wildenhues in
36268         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
36269         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
36270         at the end, which is the usual gnulib style.
36271
36272         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
36273         of doing all the work ourselves.
36274         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
36275         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
36276
36277 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
36278
36279         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
36280         Problem reported by Ralf Wildenhues in
36281         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
36282
36283         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
36284         HAVE_STRUCT_STATFS_F_FSTYPENAME.
36285
36286 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
36287
36288         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
36289         yesterday's patch by changing test -n to test -z.
36290
36291 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
36292
36293         * modules/getloadavg (Files): Add m4/getloadavg.m4.
36294         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
36295         the former is now obsolescent.
36296
36297         * modules/chdir-long (Depends-on): Add fcntl.
36298
36299 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
36300
36301         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
36302         obsolescent, and programs should use gnulib instead.
36303         * m4/getloadavg.m4: New file, with contents taken from Autoconf
36304         but with prefixes changed.
36305
36306 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
36307
36308         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
36309         or stdbool.h, because they might not exist while configuring.
36310
36311         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
36312         Don't include unistd.h or limits.h; not needed, since chdir-long.h
36313         does that for us.
36314         (O_DIRECTORY): Remove.
36315
36316 2006-08-31  Eric Blake  <ebb9@byu.net>
36317
36318         * gnulib-tool: Don't let emacs change spaces to TAB.
36319
36320 2006-08-31  Bruno Haible  <bruno@clisp.org>
36321
36322         * gnulib-tool: When calling func_import more than once, do it in a
36323         subshell.
36324         Reported by Eric Blake <ebb9@byu.net>.
36325
36326 2006-08-31  Bruno Haible  <bruno@clisp.org>
36327
36328         * gnulib-tool (nl): Remove variable.
36329         (sed_transform_lib_file): Use more robust test for config-h module.
36330         (func_import): Fix typo in 2006-08-25 patch.
36331
36332 2006-08-31  Bruno Haible  <bruno@clisp.org>
36333
36334         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
36335         specified, augment Makefile.am variables instead of assigning them.
36336
36337 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
36338
36339         Work around a bug in both the Linux and SunOS 64-bit kernels:
36340         nanosleep mishandles sleeps for longer than 2**31 seconds.
36341         Problem reported by Frank v Waveren in
36342         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
36343         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
36344         Check for nanosleep bug.
36345         (LIB_NANOSLEEP): Append clock_gettime library if needed.
36346
36347 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
36348
36349         Work around a bug in both the Linux and SunOS 64-bit kernels:
36350         nanosleep mishandles sleeps for longer than 2**31 seconds.
36351         Problem reported by Frank v Waveren in
36352         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
36353         * lib/nanosleep.c (BILLION): New constant.
36354         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
36355         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
36356         implementation.
36357
36358 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
36359
36360         * modules/nanosleep (Depends-on): Add gettime.
36361
36362 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
36363         and Simon Josefsson  <jas@extundo.com>
36364         and Oskar Liljeblad  <oskar@osk.mine.nu>
36365
36366         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
36367         * gnulib-tool (func_import): New license type 'unmodifiable license
36368         text'.
36369         * modules/fdl: Use it.  Longer description.
36370         * module/gpl, module/lgpl: New files.
36371
36372 2006-08-30  Jim Meyering  <jim@meyering.net>
36373
36374         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
36375         shadowing the parameter.
36376
36377 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36378
36379         Sync from Libtool:
36380
36381         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36382
36383         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
36384         sharing with gnulib.  Report by Eric Blake.
36385
36386 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36387
36388         * modules/isapipe: New file.
36389         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
36390
36391 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36392
36393         * modules/configmake (Makefile.am): Add a comment, and omit
36394         the CONFIGMAKE_ prefix from generated macro names.  Suggested
36395         by Bruno Haible.
36396
36397 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36398
36399         * m4/isapipe.m4: New file.
36400
36401 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
36402
36403         * lib/isapipe.c, lib/isapipe.h: New files.
36404
36405 2006-08-29  Jim Meyering  <jim@meyering.net>
36406
36407         * modules/configmake (Makefile.am): Make configmake.h depend on
36408         Makefile.  Otherwise, a stale configmake.h could hang around.
36409
36410 2006-08-29  Eric Blake  <ebb9@byu.net>
36411
36412         * lib/error.c (error_at_line, print_errno_message): Match libc, after
36413         resolution of upstream bug 3044.
36414
36415 2006-08-29  Bruno Haible  <bruno@clisp.org>
36416
36417         * modules/localcharset (Depends-on): Add configmake.
36418         (Makefile.am): Remove setting of LIBDIR through DEFS.
36419
36420 2006-08-29  Bruno Haible  <bruno@clisp.org>
36421
36422         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
36423         defined.
36424
36425 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
36426
36427         * modules/fcntl: New file.
36428         * modules/chdir-safer (Depends-on): Add fcntl.
36429         * modules/fts: Likewise.
36430         * modules/mkdir-p: Likewise.
36431
36432         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
36433         This undoes the most recent change, since we're now addressing the
36434         problem in a different way.
36435
36436         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
36437         into output, since the output might be called Makefile.am even
36438         if $makefile_name is something different.
36439         (func_import): Use $makefile_am rather than
36440         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
36441         empty.
36442
36443         * modules/inttypes (Files): Add m4/inttypes-h.m4.
36444
36445 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
36446
36447         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
36448         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
36449         recent change to stdint.m4, since we're now addressing the problem in a
36450         different way.
36451
36452 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
36453
36454         * m4/fcntl_h.m4: New file.
36455
36456 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
36457
36458         * lib/fcntl_.h: New file.
36459         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
36460         the fcntl module.
36461         * lib/dirchownmod.c: Likewise.
36462         * lib/fts.c: Likewise.
36463
36464         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
36465         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
36466         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
36467         just before including <inttypes.h>, to avoid circular inclusion.
36468
36469 2006-08-28  Jim Meyering  <jim@meyering.net>
36470
36471         * doc/visibility.texi: Actually read and correct the grammar of the
36472         sentence affected by yesterday's change.
36473
36474 2006-08-28  Eric Blake  <ebb9@byu.net>
36475
36476         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
36477         needs wrapper.
36478
36479 2006-08-28  Eric Blake  <ebb9@byu.net>
36480
36481         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
36482
36483 2006-08-28  Eric Blake  <ebb9@byu.net>
36484
36485         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
36486
36487 2006-08-28  Bruno Haible  <bruno@clisp.org>
36488
36489         * modules/c-strstr: New file, from GNU gettext.
36490         * MODULES.html.sh (String handling): Add c-strstr.
36491
36492 2006-08-28  Bruno Haible  <bruno@clisp.org>
36493
36494         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
36495         macros.
36496         Reported by Eric Blake.
36497
36498 2006-08-28  Bruno Haible  <bruno@clisp.org>
36499
36500         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
36501         (VASNPRINTF): Return a string of length > INT_MAX without failing.
36502         * lib/vasprintf.c: Include errno.h, limits.h.
36503         (EOVERFLOW): New fallback definition.
36504         (vasprintf): Test here whether the string length is > INT_MAX.
36505         * lib/vsnprintf.c: Include errno.h, limits.h.
36506         (EOVERFLOW): New fallback definition.
36507         (vsnprintf): Fix bug when generated string was too long for the buffer.
36508         Test here whether the string length is > INT_MAX.
36509
36510 2006-08-28  Bruno Haible  <bruno@clisp.org>
36511
36512         * lib/inttypes_.h (SCNX*): Remove definitions.
36513         Reported by Eric Blake.
36514
36515 2006-08-28  Bruno Haible  <bruno@clisp.org>
36516
36517         * lib/c-strstr.h: New file, from GNU gettext.
36518         * lib/c-strstr.c: New file, from GNU gettext.
36519
36520 2006-08-28  Bruno Haible  <bruno@clisp.org>
36521
36522         * gnulib-tool: Reorder some statements.
36523
36524 2006-08-28  Bruno Haible  <bruno@clisp.org>
36525
36526         * gnulib-tool: New option --makefile-name.
36527         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
36528         $makefile_name.
36529         (func_import): Write $makefile_name to the cache file, and read it from
36530         there unless explicitly specified. Use $makefile_name as file name
36531         instead of Makefile.am. Adjust the recommendations accordingly.
36532
36533 2006-08-28  Bruno Haible  <bruno@clisp.org>
36534
36535         * gnulib-tool (func_verify_module): Check against misapplying patch.
36536
36537 2006-08-28  Bruno Haible  <bruno@clisp.org>
36538
36539         * gnulib-tool (func_relativize, func_relconcat): New functions.
36540         Give an error if --local-dir is given with --update.
36541         Remove trailing slashes from $local_gnulib_dir.
36542         (func_import): Store the relativized $local_gnulib_dir in
36543         gnulib-cache.m4, and read it from there if not specified explicitly.
36544
36545 2006-08-28  Bruno Haible  <bruno@clisp.org>
36546
36547         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
36548         is the current directory. Respect also $local_gnulib_dir.
36549
36550 2006-08-28  Bruno Haible  <bruno@clisp.org>
36551             Simon Josefsson  <jas@extundo.com>
36552
36553         BeOS portability.
36554         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
36555
36556 2006-08-27  Jim Meyering  <jim@meyering.net>
36557
36558         * doc/visibility.texi: Remove duplicate word: "pointer".
36559
36560 2006-08-26  Bruno Haible  <bruno@clisp.org>
36561
36562         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
36563         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
36564         (Makefile.am): Create inttypes.h from inttypes_.h.
36565         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
36566
36567         * modules/imaxabs: New file.
36568
36569         * modules/imaxdiv: New file.
36570
36571 2006-08-26  Bruno Haible  <bruno@clisp.org>
36572
36573         * m4/inttypes.m4: New file.
36574         * m4/_inttypes_h.m4: Remove file.
36575         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
36576         PRI_MACROS_BROKEN.
36577         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
36578
36579         * m4/imaxabs.m4: New file.
36580
36581         * m4/imaxdiv.m4: New file.
36582
36583 2006-08-26  Bruno Haible  <bruno@clisp.org>
36584
36585         * lib/inttypes_.h: New file.
36586         * lib/inttypes.h: Remove file.
36587         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
36588
36589         * lib/imaxabs.c: New file.
36590
36591         * lib/imaxdiv.c: New file.
36592
36593 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
36594
36595         New config-h module, so that "make" output needn't be cluttered
36596         by -DHAVE_CONFIG_H.
36597         * MODULES.html.sh (Support for building libraries and executables):
36598         Add config-h.
36599         * modules/config-h: New file.
36600         * gnulib-tool (nl, sed_transform_lib_file): New vars.
36601         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
36602         the config-h module is used.
36603
36604         New configmake module, so that "make" output needn't be cluttered
36605         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
36606         * MODULES.html.sh (Support for building libraries and executables):
36607         Add configmake.
36608         * modules/configmake: New file.
36609
36610 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
36611
36612         * m4/config-h.m4: New file.
36613
36614 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
36615
36616         * config/srclist.txt: Add elisp-comp.
36617
36618 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
36619
36620         * MODULES.html.sh (Support for building libraries and executables):
36621         Add elisp-comp.
36622         * build-aux/elisp-comp: New file.
36623         * modules/elisp-comp: New file.
36624
36625 2006-08-24  Bruno Haible  <bruno@clisp.org>
36626
36627         * gnulib-tool (func_create_testdir): Use non-default values of
36628         sourcebase and m4base.
36629
36630 2006-08-24  Bruno Haible  <bruno@clisp.org>
36631
36632         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
36633         HTML structure.
36634
36635 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
36636
36637         * modules/openat (Depends-on): Add lchown.
36638
36639 2006-08-23  Bruno Haible  <bruno@clisp.org>
36640
36641         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
36642         of gl_LOCK_EARLY instead of gl_LOCK.
36643
36644 2006-08-23  Bruno Haible  <bruno@clisp.org>
36645
36646         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
36647         on OSF/1 to no.
36648         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
36649
36650 2006-08-23  Bruno Haible  <bruno@clisp.org>
36651
36652         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
36653         as unusable.
36654
36655         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
36656         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
36657         (gl_LOCK): New macro.
36658
36659 2006-08-22  Simon Josefsson  <jas@extundo.com>
36660
36661         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
36662         to md5 module.
36663
36664 2006-08-22  Simon Josefsson  <jas@extundo.com>
36665
36666         * MODULES.html.sh: Add "Support for maintaining and release
36667         projects".
36668
36669         * build-aux/gnupload: New file, from coreutils.
36670
36671 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
36672
36673         Avoid the need for AC_LIBSOURCES in m4 macros.
36674         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
36675         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
36676         * modules/check-version (EXTRA_DIST): Add check-version.h.
36677         * modules/crc (EXTRA_DIST): Add crc.h.
36678         * modules/des (EXTRA_DIST): Add des.h.
36679         * modules/gc (EXTRA_DIST): Add gc.h.
36680         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
36681         * modules/getline (EXTRA_DIST): Add getline.h.
36682         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
36683         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
36684         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
36685         * modules/md2 (EXTRA_DIST): Add md2.h.
36686         * modules/md4 (EXTRA_DIST): Add md4.h.
36687         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
36688         * modules/read-file (EXTRA_DIST): Add read-file.h.
36689         * modules/readline (EXTRA_DIST): Add readline.h.
36690         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
36691         rijndael-api-fst.h.
36692
36693 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
36694
36695         * m4/rijndael.m4 (gl_ARCFOUR):
36696         * m4/arctwo.m4 (gl_ARCTWO):
36697         * m4/check-version.m4 (gl_CHECK_VERSION):
36698         * m4/crc.m4 (gl_CRC):
36699         * m4/des.m4 (gl_DES):
36700         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
36701         * m4/gc.m4 (gl_GC):
36702         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
36703         * m4/getline.m4 (gl_FUNC_GETLINE):
36704         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
36705         * m4/hmac-md5.m4 (gl_HMAC_MD5):
36706         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
36707         * m4/md2.m4 (gl_MD2):
36708         * m4/md4.m4 (gl_MD4):
36709         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
36710         * m4/read-file.m4 (gl_FUNC_READ_FILE):
36711         * m4/readline.m4 (gl_FUNC_READLINE):
36712         * m4/rijndael.m4 (gl_RIJNDAEL):
36713         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
36714         to get the necessary .h files and whatnot.
36715
36716 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
36717
36718         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
36719         gnulib rather than the other way around.
36720         * config/srclistvars.sh (COREUTILS): Remove.
36721
36722 2006-08-22  Jim Meyering  <jim@meyering.net>
36723
36724         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
36725
36726         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
36727
36728 2006-08-22  Eric Blake  <ebb9@byu.net>
36729
36730         * modules/regexprops-generic: New file.
36731         * MODULES.html.sh (Support for building documentation): List it.
36732
36733 2006-08-22  Eric Blake  <ebb9@byu.net>
36734
36735         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
36736         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
36737         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
36738         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
36739
36740 2006-08-22  Bruno Haible  <bruno@clisp.org>
36741
36742         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
36743         and lib_LTLIBRARIES like the other lib_* variables.
36744
36745 2006-08-22  Bruno Haible  <bruno@clisp.org>
36746
36747         * build-aux/x-to-1.in: New file, from GNU gettext.
36748
36749 2006-08-22  Bruno Haible  <bruno@clisp.org>
36750
36751         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
36752         <utmpx.h> exists.
36753
36754 2006-08-22  Bruno Haible  <bruno@clisp.org>
36755
36756         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
36757         <utmpx.h> exists.
36758
36759 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36760
36761         BeOS portability.
36762         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
36763         exist.
36764         Problem reported by Bruno Haible.
36765
36766 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36767
36768         Avoid the need for AC_LIBSOURCES in m4 macros.
36769         * modules/acl (EXTRA_DIST): Add acl.h.
36770         * modules/argmatch (Files): Add m4/argmatch.m4.
36771         (configure.ac): Add gl_ARGMATCH.
36772         (EXTRA_DIST): Renamed from lib_SOURCES, for
36773         consistency with the other modules.  Remove argmatch.c.
36774         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
36775         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
36776         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
36777         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
36778         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
36779         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
36780         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
36781         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
36782         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
36783         * modules/closeout (EXTRA_DIST): Add closeout.h.
36784         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
36785         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
36786         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
36787         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
36788         dirname.h; remove basename.c and stripslash.c.
36789         * modules/exclude (EXTRA_DIST): Add exclude.h.
36790         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
36791         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
36792         * modules/file-type (EXTRA_DIST): Add file-type.h.
36793         * modules/filemode (EXTRA_DIST): Add filemode.h.
36794         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
36795         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
36796         * modules/fpending (EXTRA_DIST): Add __fpending.h.
36797         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
36798         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
36799         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
36800         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
36801         * modules/getdate (EXTRA_DIST): Add getdate.c.
36802         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
36803         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
36804         * modules/getpass (EXTRA_DIST): Add getpass.h.
36805         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
36806         * modules/group-member (EXTRA_DIST): Add group-member.h.
36807         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
36808         * modules/hash (EXTRA_DIST): Add hash.h.
36809         * modules/human (EXTRA_DIST): Add human.h.
36810         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
36811         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
36812         * modules/lchown (EXTRA_DIST): Add lchown.h.
36813         * modules/long-options (EXTRA_DIST): Add long-options.h.
36814         * modules/lstat (EXTRA_DIST): Add lstat.h.
36815         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
36816         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
36817         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
36818         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
36819         * modules/memxor (EXTRA_DIST): Add memxor.h.
36820         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
36821         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
36822         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
36823         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
36824         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
36825         * modules/physmem (EXTRA_DIST): Add physmem.h.
36826         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
36827         * modules/posixver (EXTRA_DIST): Add posixver.h.
36828         * modules/quote (EXTRA_DIST): Add quote.h.
36829         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
36830         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
36831         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
36832         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
36833         regex_internal.h regexec.c.
36834         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
36835         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
36836         * modules/same (EXTRA_DIST): Add same.h.
36837         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
36838         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
36839         * modules/savedir (EXTRA_DIST): Add savedir.h.
36840         * modules/sha1 (EXTRA_DIST): Add sha1.h.
36841         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
36842         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
36843         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
36844         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
36845         * modules/strdup (EXTRA_DIST): Add strdup.h.
36846         * modules/strftime (EXTRA_DIST): Add strftime.h.
36847         * modules/strndup (EXTRA_DIST): Add strndup.h.
36848         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
36849         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
36850         * modules/time_r (EXTRA_DIST): Add time_r.h.
36851         * modules/timespec (EXTRA_DIST): Add timespec.h.
36852         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
36853         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
36854         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
36855         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
36856         * modules/userspec (EXTRA_DIST): Add userspec.h.
36857         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
36858         * modules/utimens (EXTRA_DIST): Add utimens.h.
36859         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
36860         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
36861         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
36862         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
36863         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
36864         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
36865         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
36866         * modules/yesno (EXTRA_DIST): Add yesno.h.
36867
36868 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
36869
36870         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
36871
36872         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
36873         * m4/dev-ino.m4, same-inode.m4: Remove.
36874
36875         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
36876         * m4/acl.m4 (AC_FUNC_ACL):
36877         * m4/backupfile.m4 (gl_BACKUPFILE):
36878         * m4/c-strtod.m4 (gl_C99_STRTOLD):
36879         * m4/canon-host.m4 (gl_CANON_HOST):
36880         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
36881         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
36882         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
36883         * m4/cloexec.m4 (gl_CLOEXEC):
36884         * m4/close-stream.m4 (gl_CLOSE_STREAM):
36885         * m4/closeout.m4 (gl_CLOSEOUT):
36886         * m4/dirfd.m4 (gl_FUNC_DIRFD):
36887         * m4/dirname.m4 (gl_DIRNAME):
36888         * m4/exclude.m4 (gl_EXCLUDE):
36889         * m4/exitfail.m4 (gl_EXITFAIL):
36890         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
36891         * m4/file-type.m4 (gl_FILE_TYPE):
36892         * m4/filemode.m4 (gl_FILEMODE):
36893         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
36894         * m4/fpending.m4 (gl_FUNC_FPENDING):
36895         * m4/fprintftime.m4 (gl_FPRINTFTIME):
36896         * m4/fts.m4 (gl_FUNC_FTS):
36897         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
36898         * m4/getdate.m4 (gl_GETDATE):
36899         * m4/gethrxtime.m4 (gl_GETHRXTIME):
36900         * m4/getpagesize.m4 (gl_GETPAGESIZE):
36901         * m4/getpass.m4 (gl_FUNC_GETPASS):
36902         * m4/gettime.m4 (gl_GETTIME):
36903         * m4/getugroups.m4 (gl_GETUGROUPS):
36904         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
36905         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
36906         * m4/hard-locale.m4 (gl_HARD_LOCALE):
36907         * m4/hash.m4 (gl_HASH):
36908         * m4/idcache.m4 (gl_IDCACHE):
36909         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
36910         * m4/lchown.m4 (gl_FUNC_LCHOWN):
36911         * m4/long-options.m4 (gl_LONG_OPTIONS):
36912         * m4/lstat.m4 (gl_FUNC_LSTAT):
36913         * m4/md5.m4 (gl_MD5):
36914         * m4/memcasecmp.m4 (gl_MEMCASECMP):
36915         * m4/memcoll.m4 (gl_MEMCOLL):
36916         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
36917         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
36918         * m4/memxor.m4 (gl_MEMXOR):
36919         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
36920         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
36921         * m4/modechange.m4 (gl_MODECHANGE):
36922         * m4/mountlist.m4 (gl_MOUNTLIST):
36923         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
36924         * m4/openat.m4 (gl_FUNC_OPENAT):
36925         * m4/pathmax.m4 (gl_PATHMAX):
36926         * m4/physmem.m4 (gl_PHYSMEM):
36927         * m4/posixtm.m4 (gl_POSIXTM):
36928         * m4/posixver.m4 (gl_POSIXVER):
36929         * m4/quote.m4 (gl_QUOTE):
36930         * m4/quotearg.m4 (gl_QUOTEARG):
36931         * m4/readtokens.m4 (gl_READTOKENS):
36932         * m4/readutmp.m4 (gl_READUTMP):
36933         * m4/regex.m4 (gl_REGEX):
36934         * m4/safe-read.m4 (gl_SAFE_READ):
36935         * m4/safe-write.m4 (gl_SAFE_WRITE):
36936         * m4/same.m4 (gl_SAME):
36937         * m4/save-cwd.m4 (gl_SAVE_CWD):
36938         * m4/savedir.m4 (gl_SAVEDIR):
36939         * m4/settime.m4 (gl_SETTIME):
36940         * m4/sha1.m4 (gl_SHA1):
36941         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
36942         * m4/stat-macros.m4 (gl_STAT_MACROS):
36943         * m4/stat-time.m4 (gl_STAT_TIME):
36944         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
36945         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
36946         * m4/strdup.m4 (gl_FUNC_STRDUP):
36947         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
36948         * m4/strndup.m4 (gl_FUNC_STRNDUP):
36949         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
36950         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
36951         * m4/time_r.m4 (gl_TIME_R):
36952         * m4/timespec.m4 (gl_TIMESPEC):
36953         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
36954         * m4/unlinkdir.m4 (gl_UNLINKDIR):
36955         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
36956         * m4/userspec.m4 (gl_USERSPEC):
36957         * m4/utimecmp.m4 (gl_UTIMECMP):
36958         * m4/utimens.m4 (gl_UTIMENS):
36959         * m4/xalloc.m4 (gl_XALLOC):
36960         * m4/xgetcwd.m4 (gl_XGETCWD):
36961         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
36962         * m4/xreadlink.m4 (gl_XREADLINK):
36963         * m4/xstrtod.m4 (gl_XSTRTOD):
36964         * m4/yesno.m4 (gl_YESNO):
36965         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
36966         to get the necessary .h files and whatnot.
36967
36968 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
36969             Bruno Haible  <bruno@clisp.org>
36970
36971         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
36972         /bin/sh understanding of '!' conditional negation.
36973
36974 2006-08-21  Jim Meyering  <jim@meyering.net>
36975
36976         * modules/openat (Depends-on): Really alphabetize.
36977
36978         * modules/acl (Depends-on): Add error and quote.
36979
36980         * check-module (find_included_lib_files): Add at-func.c to the
36981         ok-to-include-more-than-once white list.
36982
36983         * modules/openat (Depends-on): Add lstat.  Alphabetize.
36984
36985 2006-08-21  Bruno Haible  <bruno@clisp.org>
36986
36987         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36988         Emit a pkgdata_DATA variable only if some snippets add contents to it.
36989         Reported by Martin Lambers <marlam@marlam.de>.
36990
36991 2006-08-21  Bruno Haible  <bruno@clisp.org>
36992
36993         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
36994         specify an installation location, don't emit a noinst_LIBRARIES or
36995         noinst_LTLIBRARIES assignment.
36996
36997 2006-08-21  Bruno Haible  <bruno@clisp.org>
36998
36999         BeOS portability.
37000         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
37001         BeOS has mbrtowc() but no <wctype.h>.
37002
37003 2006-08-21  Bruno Haible  <bruno@clisp.org>
37004
37005         BeOS portability.
37006         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
37007         exist.
37008
37009 2006-08-21  Bruno Haible  <bruno@clisp.org>
37010
37011         BeOS portability.
37012         * lib/mbchar.h: Include <wctype.h> only if it exists.
37013
37014 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
37015
37016         Remove files that are no longer needed by their respective modules.
37017         * m4/obstack.m4: Remove.
37018         * m4/strerror_r.m4: Remove.
37019         * m4/uint32_t.m4: Remove.
37020         * m4/uintptr_t.m4: Remove.
37021         * m4/ullong_max.m4: Remove.
37022         * m4/xstrtoimax.m4: Remove.
37023         * m4/xstrtoumax.m4: Remove.
37024
37025         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
37026         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
37027         dependencies now capture this.
37028
37029         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
37030         Do not use AC_LIBSOURCES, since gnulib modules now do this.
37031         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
37032         * m4/human.m4 (gl_HUMAN): Likewise.
37033         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
37034         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
37035
37036         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
37037
37038         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
37039         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
37040         stdint.
37041         * m4/human.m4 (gl_HUMAN): Likewise.
37042         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
37043         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
37044         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
37045         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
37046         * m4/xstrtol (gl_XSTRTOL): Likewise.
37047
37048         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
37049         AC_TYPE_LONG_LONG_INT.
37050         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
37051         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
37052         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
37053         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
37054
37055         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
37056         on stdbool.
37057
37058         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
37059         (gl_PREREQ_XSTRTOUL): Remove.
37060
37061         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
37062
37063         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
37064         mode.
37065
37066 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
37067
37068         Add and change modules to make it easier for coreutils to use
37069         gnulib-tool.
37070         * modules/backupfile (Files): Remove m4/d-ino.m4.
37071         (Depends-on): Add d-ino.
37072         * modules/cycle-check (Depends-on): Add stdint.
37073         (lib_SOURCES): Add cycle-check.h.
37074         * modules/d-ino: New module.
37075         * modules/d-type: New module.
37076         * modules/error (Files): Remove m4/strerror_r.m4.
37077         * modules/filemode (Files): Add m4/st_dm_mode.m4.
37078         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
37079         m4/inttypes_h.m4, m4/uintmax_t.m4.
37080         (Depends-on): Add stdint.
37081         (lib_SOURCES): Add fsusage.h.
37082         * modules/getcwd (Files): Remove d-ino.m4.
37083         (Depends-on): Add d-ino.
37084         * modules/getndelim2 (Depends-on): Add stdint.
37085         * modules/glob (Files): Remove m4/d-type.m4.
37086         (Depends-on): Add d-type.
37087         * modules/host-os: New module.
37088         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
37089         m4/inttypes_h.m4, m4/uintmax_t.m4.
37090         * Depends-on: Add stdint.
37091         (lib_SOURCES): Add human.h.
37092         * modules/inttostr (Files): Remove m4/intmax_t.m4,
37093         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
37094         m4/uintmax_t.m4, m4/ulonglong.m4.
37095         (Depends-on): Add stdint.
37096         (EXTRA_DIST): Add inttostr.h.
37097         * modules/lchmod: New module.
37098         * modules/link-follow: New module.
37099         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
37100         (Depends-on): Add lchmod.
37101         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
37102         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
37103         (Depends-on): Add stdint.
37104         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
37105         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
37106         (Depends-on): Add stdint.
37107         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
37108         * modules/perl: New module.
37109         * modules/regex (Depends-on): Add stdint.
37110         * modules/rmdir-errno: New module.
37111         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
37112         m4/intmax_t.m4.
37113         (Depends-on): Add stdint.
37114         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
37115         m4/uintmax_t.m4.
37116         (Depends-on): Add stdint.
37117         * modules/unlink-busy: New module.
37118         * modules/utimecmp (Depends-on): Add stdint.
37119         * modules/uptime: New module.
37120         * modules/winsz-ioctl: New module.
37121         * modules/winsz-termios: New module.
37122         * modules/xnanosleep (Depends-on): Add nanosleep.
37123         * modules/ullong_max: Remove.
37124         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
37125         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
37126         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
37127         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
37128         (Depends-on): Add inttypes.
37129         (lib_SOURCES): Add xstrtol.h.
37130         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
37131         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
37132         * MODULES.html.sh: Move 'assert' into the assert section.
37133         Move 'dummy' into the linking section.
37134         Remove ullong_max.
37135         Add section for compatibility checks for POSIX:2001 functions,
37136         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
37137         winsz-ioctl, and winsz-termios into it.
37138         Add lchmod.
37139         Add top-level Misc section and put host-os, perl, and uptime
37140         into it.
37141
37142 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
37143
37144         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
37145         now assume the stdint module.  Do not include inttypes.h.
37146         * lib/fsusage.h: Likewise.
37147         * lib/getndelim2.c: Likewise.
37148         * lib/human.h: Likewise.
37149         * lib/inttostr.h: Likewise.
37150         * lib/obstack.c: Likewise.
37151         * lib/regex_internal.h: Likewise.
37152         * lib/tempname.c: Likewise.
37153         * lib/utimecmp.c: Likewise.
37154         * lib/xstrtol.h: Likewise.
37155
37156         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
37157
37158         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
37159         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
37160         * lib/xtime.h: Likewise.
37161
37162 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
37163
37164         * modules/openat (Files): Add lib/fchmodat.c.
37165         Fixes problem reported by Jay Youngman.
37166
37167 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
37168
37169         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
37170         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
37171
37172 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
37173             Bruno Haible  <bruno@clisp.org>
37174
37175         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
37176         and is a script that invokes bison. Tighten the code. Add comments.
37177
37178 2006-08-18  Jim Meyering  <jim@meyering.net>
37179
37180         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
37181         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
37182         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
37183         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
37184
37185 2006-08-18  Bruno Haible  <bruno@clisp.org>
37186
37187         * modules/bison-i18n: New file.
37188         * MODULES.html.sh (Internationalization functions): Add it.
37189
37190 2006-08-18  Bruno Haible  <bruno@clisp.org>
37191
37192         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
37193         sys/statvfs.h. When getmntinfo was found, check its declaration and
37194         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
37195
37196 2006-08-18  Bruno Haible  <bruno@clisp.org>
37197
37198         * m4/bison-i18n.m4: New file, from bison.
37199
37200 2006-08-18  Bruno Haible  <bruno@clisp.org>
37201
37202         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
37203         (ME_DUMMY): Treat "kernfs" as a dummy.
37204         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
37205
37206 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
37207
37208         Update from coreutils.
37209
37210         2006-08-15  Jim Meyering  <jim@meyering.net>
37211
37212         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
37213
37214         2006-01-17  Jim Meyering  <jim@meyering.net>
37215
37216         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
37217
37218         2006-01-11  Jim Meyering  <jim@meyering.net>
37219
37220         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
37221         Check for the lchmod function.
37222
37223 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
37224
37225         Update from coreutils.
37226
37227         * lib/__fpending.h: Add copyright notice.
37228         * lib/fprintftime.h: Likewise.
37229         * lib/savedir.c: Use (C) in copyright notice.
37230         * lib/savedir.h: Likewise.
37231
37232         2006-08-15  Jim Meyering  <jim@meyering.net>
37233
37234         * lib/at-func.c: New file, with the logic of all emulated at-functions.
37235         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
37236         in support of the EXPECTED_ERRNO macro.
37237         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
37238         definitions.  Instead, define the appropriate symbols and include
37239         "at-func.c".
37240         * lib/mkdirat.c (mkdirat): Likewise.
37241         * lib/fchmodat.c (fchmodat): Likewise.
37242         (ENOSYS): Remove definition.
37243         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
37244         it.  Don't include "unistd--.h" -- it wasn't ever used.
37245
37246         2006-01-17  Jim Meyering  <jim@meyering.net>
37247
37248         Rewrite fts.c not to change the current working directory,
37249         by using openat, fstatat, fdopendir, etc..
37250
37251         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
37252         (HAVE_OPENAT_SUPPORT): Define.
37253         [_LIBC] (fchdir): Don't undef or define; no longer used.
37254         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
37255         Now, this `function' always succeeds, and consumes its file descriptor
37256         parameter -- so callers must not close such FDs.  Update callers.
37257         (diropen_fd, opendirat, cwd_advance_fd): New functions.
37258         (diropen): Add parameter, SP.  Adjust all callers.
37259         Implement using diropen_fd, rather than open.
37260         (fts_open): Initialize new member, fts_cwd_fd.
37261         Remove fts_rft-setting code.
37262         (fts_close): Close fts_cwd_fd, if necessary.
37263         (__opendir2): Define in terms of opendir or opendirat,
37264         depending on whether the FST_NOCHDIR flag is set.
37265         (fts_build): Since fts_safe_changedir consumes its FD, and since
37266         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
37267         and close the dup'd file descriptor upon failure.
37268         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
37269         (fts_safe_changedir): Tweak semantics to reflect that this function
37270         now calls cwd_advance_fd and hence consumes its FD argument.
37271         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
37272         [struct FTS] (fts_rft): Remove now-unused member.
37273         [struct FTS] (fts_cycle.state): Improve comment.
37274
37275         * lib/openat.c (openat_needs_fchdir): New function.
37276         * lib/openat.h (openat_needs_fchdir): Declare it.
37277
37278 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
37279
37280         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
37281         Problem and fix reported by Pádraig Brady in
37282         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
37283
37284 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
37285
37286         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
37287
37288 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
37289
37290         * lib/memcoll.c (memcoll): Optimize for the common case where the
37291         arguments are bytewise equal.
37292
37293 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
37294
37295         * doc/regexprops-generic.texi: Add a copyright notice.
37296
37297 2006-08-15  Bruno Haible  <bruno@clisp.org>
37298
37299         * modules/tmpdir (License): Change to LGPL.
37300
37301 2006-08-15  Bruno Haible  <bruno@clisp.org>
37302
37303         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
37304         module.
37305
37306 2006-08-14  Simon Josefsson  <jas@extundo.com>
37307
37308         * config/srclist.txt: Add gnupload.
37309
37310 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
37311
37312         Change copyright notice from LGPL 2 to GPL 2, since that's the
37313         standard form used in the gnulib repository.
37314         * tests/test-lock.c: Likewise.
37315         * tests/test-stdint.c: Likewise.
37316         * tests/test-tls.c: Likewise.
37317
37318         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
37319         prelude-manager.  User shorter URLs for GNU projects, without '?'.
37320         Add copyright notice.
37321
37322         * check-module: Add copyright notice.  Output a copyright
37323         notice if "--version" is specified.
37324         * modules/COPYING: New file.
37325         * tests/test-getaddrinfo.c: Add copyright notice.
37326         * tests/test-verify.c: Likewise.
37327
37328 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
37329
37330         Change copyright notice from LGPL 2 to GPL 2, since that's the
37331         standard form used in the gnulib repository.
37332         * lib/lock.c: LGPL -> GPL.
37333         * lib/lock.h: Likewise.
37334         * lib/strnlen1.c: Likewise.
37335         * lib/strnlen1.h: Likewise.
37336         * lib/tls.c: Likewise.
37337         * lib/tls.h: Likewise.
37338         * lib/tmpdir.c: Likewise.
37339
37340         * lib/TODO: Remove; this belongs only in coreutils.
37341
37342 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
37343
37344         Add copyright notices to long-enough files that lack them, since
37345         otherwise the files aren't clearly free.  Use the same notice that
37346         getdate.texi already uses.
37347         * doc/alloca-opt.texi: Add copyright notice.
37348         * doc/alloca.texi: Likewise.
37349         * doc/ctime.texi: Likewise.
37350         * doc/functions.texi: Likewise.
37351         * doc/gcd.texi: Likewise.
37352         * doc/gnulib-tool.texi: Likewise.
37353         * doc/inet_ntoa.texi: Likewise.
37354         * doc/visibility.texi: Likewise.
37355
37356         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
37357         * doc/quote.texi: Add copyright notice.
37358
37359         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
37360         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
37361         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
37362         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
37363         is now obsolete, and give a pointer to the Sun list.
37364         Add copyright notice.
37365
37366 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
37367
37368         * config/srclistvars.sh: Add copyright notice.
37369
37370 2006-08-14  Eric Blake  <ebb9@byu.net>
37371
37372         Import the following change from libc:
37373
37374         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
37375
37376         Upstream bug 2997.
37377         * lib/misc/error.c: Add space between program name and message if file
37378         name is missing.
37379
37380 2006-08-12  Karl Berry  <karl@gnu.org>
37381
37382         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
37383         remove, these originate in gnulib now.
37384
37385 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37386
37387         * doc/Makefile (standards.info standards.html standards.dvi):
37388         Also depend on make-stds.texi.
37389
37390 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
37391
37392         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
37393         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
37394
37395         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
37396         in wchar_t.  Problem reported by Eric Blake.
37397
37398         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
37399         LEN is smaller than SIZE.  Suggested by Bruno Haible.
37400         Also, help the compiler to keep LEN in a register.
37401
37402 2006-08-11  Eric Blake  <ebb9@byu.net>
37403
37404         * users.txt: Sort.  Add tar.
37405
37406 2006-08-11  Bruno Haible  <bruno@clisp.org>
37407
37408         * users.txt: New file.
37409
37410 2006-08-11  Bruno Haible  <bruno@clisp.org>
37411
37412         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
37413         before <wchar.h>. Needed for OSF/1 and BSD/OS.
37414
37415 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
37416
37417         * modules/snprintf (Depends-on): Remove minmax.
37418         (Maintainer): Add self and Bruno.
37419
37420 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
37421
37422         * lib/.cppi-disable: Add snprintf.h, socket_.h.
37423         * lib/snprintf.c: Include <errno.h> and <limits.h>.
37424         (EOVERFLOW): Define if the system does not.
37425         Do not include "minmax.h"; it wasn't used.
37426         (snprintf): Don't assume size_t promotes to an unsigned type.
37427         Fix bug when generated string was too long for the buffer: the
37428         buffer's contents are supposed to be the initial prefix of the
37429         output.  Don't assume vasnprintf returns EOVERFLOW if the size
37430         exceeds INT_MAX; do the check ourselves.
37431
37432         Import the following changes from libc:
37433
37434         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
37435
37436         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
37437         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
37438         set wc to the byte which couldn't be converted.
37439         (re_string_reconstruct): Don't clear valid_raw_len before calling
37440         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
37441         tip_context using re_string_context_at.
37442
37443         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
37444
37445         * lib/posix/regex.h: g++ still cannot handled [restrict].
37446
37447         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
37448
37449         * lib/posix/regex.h: Remove special handling for VMS.
37450
37451 2006-08-10  Jim Meyering  <jim@meyering.net>
37452
37453         * modules/same-inode: New module.
37454         * modules/dev-ino: New module.
37455         * modules/cycle-check: Depend on these modules, rather than simply
37456         including their .h files.
37457         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
37458         required via m4/cycle-check.m4.
37459         * modules/same: Depend on new same-inode module, rather than
37460         including same-inode.h.
37461         * modules/chdir-safer: New file.
37462
37463         * modules/chown (Depends-on): Add stat-macros.
37464
37465 2006-08-10  Jim Meyering  <jim@meyering.net>
37466
37467         * m4/cycle-check.m4: New file.
37468         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
37469         * m4/dev-ino.m4, m4/same-inode.m4: New files.
37470
37471 2006-08-10  Eric Blake  <ebb9@byu.net>
37472
37473         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
37474         in from original proposal.
37475
37476 2006-08-10  Eric Blake  <ebb9@byu.net>
37477         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
37478
37479         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
37480         namespace.
37481
37482 2006-08-10  Bruno Haible  <bruno@clisp.org>
37483
37484         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
37485         as well.
37486
37487 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
37488
37489         Sync from coreutils.
37490
37491         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
37492
37493         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
37494         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
37495
37496 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
37497
37498         * modules/restrict: Remove; no longer needed now that we assume
37499         Autoconf 2.59 or later.
37500         * MODULES.html.sh: Remove 'restrict'.
37501         * modules/argp (Depends-on): Remove 'restrict'.
37502         * modules/base64 (Depends-on): Likewise.
37503         * modules/gc (Depends-on): Likewise.
37504         * modules/getaddrinfo (Depends-on): Likewise.
37505         * modules/glob (Depends-on): Likewise.
37506         * modules/inet_ntop (Depends-on): Likewise.
37507         * modules/inet_pton (Depends-on): Likewise.
37508         * modules/memxor (Depends-on): Likewise.
37509         * modules/regex (Depends-on): Likewise.
37510         * modules/strtok_r (Depends-on): Likewise.
37511         * modules/time_r (Depends-on): Likewise.
37512
37513 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
37514
37515         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
37516         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
37517         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
37518         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
37519         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
37520         * m4/memxor.m4 (gl_MEMXOR): Likewise.
37521         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
37522         gl_C_RESTRICT replaced by AC_C_RESTRICT.
37523
37524         Merge from coreutils.
37525         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
37526         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
37527         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
37528         * m4/time_r.m4 (gl_TIME_R): Likewise.
37529
37530 2006-08-09  Karl Berry  <karl@gnu.org>
37531
37532         * config/srclist.txt: no more gettext-tools, per Bruno.
37533
37534 2006-08-08  Eric Blake  <ebb9@byu.net>
37535
37536         * modules/verror: New module.
37537         * MODULES.html.sh: Document it.
37538
37539 2006-08-08  Eric Blake  <ebb9@byu.net>
37540
37541         * lib/verror.h, lib/verror.c: New files.
37542
37543 2006-08-08  Eric Blake  <ebb9@byu.net>
37544
37545         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
37546         verror_at_line output complies with GNU Coding Standards even when
37547         file is NULL.
37548
37549 2006-08-07  Bruno Haible  <bruno@clisp.org>
37550
37551         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
37552         versions of AIX.
37553         Reported by Ralf Wildenhues.
37554
37555 2006-08-07  Bruno Haible  <bruno@clisp.org>
37556
37557         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
37558         in an AC_DEFUN. Needed so that the autoconf snippets can use
37559         AC_REQUIRE.
37560
37561 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37562
37563         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37564         Initialize pkgdata_DATA.
37565         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
37566         overriding it.
37567
37568 2006-08-06  Eric Blake  <ebb9@byu.net>
37569
37570         * lib/error.h: Fold in some upstream changes from glibc.
37571         * lib/error.c: Likewise.
37572
37573 2006-08-04  Bruno Haible  <bruno@clisp.org>
37574
37575         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37576         Make the mostlyclean-local rule depend on mostlyclean-generic.
37577         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
37578
37579 2006-07-31  Bruno Haible  <bruno@clisp.org>
37580
37581         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
37582         <stdlib.h>, <string.h>.
37583
37584 2006-07-30  Bruno Haible  <bruno@clisp.org>
37585
37586         * modules/readlink (License): Change to LGPL.
37587
37588 2006-07-30  Bruno Haible  <bruno@clisp.org>
37589
37590         * modules/javaversion (Makefile.am): Distribute javaversion.java and
37591         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
37592         set PKGDATADIR to point to it.
37593
37594 2006-07-30  Bruno Haible  <bruno@clisp.org>
37595
37596         * modules/csharpexec (configure.ac): Comment out macro invocation.
37597         * modules/javaexec (configure.ac): Likewise.
37598         * modules/javacomp-script (configure.ac): Likewise.
37599
37600         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
37601
37602 2006-07-30  Bruno Haible  <bruno@clisp.org>
37603
37604         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
37605         linked-list.
37606
37607 2006-07-30  Bruno Haible  <bruno@clisp.org>
37608
37609         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
37610
37611 2006-07-30  Bruno Haible  <bruno@clisp.org>
37612
37613         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
37614         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
37615         get removed.
37616
37617 2006-07-29  Bruno Haible  <bruno@clisp.org>
37618
37619         Make it possible for gnulib-tool to work with locally modified or
37620         augmented gnulib repositories.
37621         * gnulib-tool (func_usage): Document --local-dir option.
37622         (local_gnulib_dir): New variable.
37623         Handle --local-dir option.
37624         (func_lookup_file): New function.
37625         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
37626         (func_get_description, func_get_filelist, func_get_description,
37627         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
37628         func_get_automake_snippet, func_get_include_directive,
37629         func_get_license, func_get_maintainer): Use func_lookup_file.
37630         (func_import, func_create_testdir): Use func_lookup_file.
37631
37632 2006-07-29  Bruno Haible  <bruno@clisp.org>
37633
37634         * modules/setenv (Depends-on): Add unistd.
37635
37636 2006-07-29  Bruno Haible  <bruno@clisp.org>
37637
37638         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
37639
37640 2006-07-29  Bruno Haible  <bruno@clisp.org>
37641
37642         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
37643
37644 2006-07-29  Bruno Haible  <bruno@clisp.org>
37645
37646         * gnulib-tool (import, update): If there is no Makefile.am, look at
37647         aclocal.m4, instead of bailing out.
37648
37649 2006-07-29  Bruno Haible  <bruno@clisp.org>
37650
37651         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
37652         Categorize the options by when they are useful.
37653
37654 2006-07-29  Bruno Haible  <bruno@clisp.org>
37655
37656         * gnulib-tool (func_usage): Document option --no-libtool.
37657         Handle option --no-libtool.
37658         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
37659         for changed semantics of $libtool variable.
37660         (func_import): Likewise. If libtool is not used, show this through
37661         an option --no-libtool.
37662         (func_create_testdir): Update.
37663
37664 2006-07-29  Bruno Haible  <bruno@clisp.org>
37665
37666         * gnulib-tool (func_import): Extend error message about missing
37667         --doc-base.
37668
37669 2006-07-29  Bruno Haible  <bruno@clisp.org>
37670
37671         * gnulib-tool (func_import): Don't create the $docbase directory if
37672         there is no file to store there.
37673
37674 2006-07-29  Bruno Haible  <bruno@clisp.org>
37675
37676         * gnulib-tool (autoconf_minversion): If a --dir option is given and
37677         relevant, look for configure.ac there, not in the current directory.
37678         Also use a simple search for AC_PREREQ, not "autoconf --trace".
37679
37680 2006-07-29  Bruno Haible  <bruno@clisp.org>
37681
37682         * gnulib-tool (SORT): New variable.
37683         (func_usage): Undocument --assume-autoconf option.
37684         Remove --assume-autoconf option handling.
37685         (autoconf_minversion): Determine from the contents of configure.ac.
37686         (func_import): Remove autoconf_minversion handling.
37687         Suggested by Eric Blake.
37688
37689 2006-07-29  Bruno Haible  <bruno@clisp.org>
37690
37691         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
37692
37693 2006-07-29  Bruno Haible  <bruno@clisp.org>
37694
37695         * config/srclist.txt (*setenv.[ch]): Remove rules.
37696
37697 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37698
37699         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
37700
37701 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37702
37703         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
37704         arpa/inet.h.
37705
37706 2006-07-28  Simon Josefsson  <jas@extundo.com>
37707
37708         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
37709         * modules/inet_pton (Depends-on): Likewise.
37710
37711 2006-07-28  Simon Josefsson  <jas@extundo.com>
37712
37713         * m4/netinet_in_h.m4: New file.
37714
37715 2006-07-28  Simon Josefsson  <jas@extundo.com>
37716
37717         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
37718         #include's.
37719
37720 2006-07-28  Simon Josefsson  <jas@extundo.com>
37721
37722         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
37723         #include's.
37724
37725 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
37726
37727         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
37728         setgid on directories only if they set these bits.
37729         * lib/modechange.h: Remove obsolete comment about masks.
37730
37731 2006-07-28  Eric Blake  <ebb9@byu.net>
37732
37733         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
37734         macro expansion.
37735
37736 2006-07-28  Bruno Haible  <bruno@clisp.org>
37737
37738         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
37739
37740 2006-07-28  Bruno Haible  <bruno@clisp.org>
37741
37742         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
37743
37744 2006-07-28  Bruno Haible  <bruno@clisp.org>
37745
37746         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
37747         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
37748         Define fallbacks.
37749         Avoids link error on FreeBSD 4.x.
37750         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
37751
37752         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
37753         encoding.
37754         * lib/mbswidth.c (iswcntrl): Likewise.
37755
37756 2006-07-27  Bruno Haible  <bruno@clisp.org>
37757
37758         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
37759         test.
37760
37761 2006-07-27  Bruno Haible  <bruno@clisp.org>
37762
37763         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
37764         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
37765         defined.
37766
37767 2006-07-26  Eric Blake  <ebb9@byu.net>
37768
37769         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
37770
37771 2006-07-26  Eric Blake  <ebb9@byu.net>
37772
37773         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
37774         like mingw that lack mkstemp.
37775         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
37776         avoid compilation warning on mingw.
37777
37778 2006-07-26  Bruno Haible  <bruno@clisp.org>
37779
37780         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
37781         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
37782         INT_FAST*_MIN, INTPTR_MIN.
37783
37784 2006-07-25  Bruno Haible  <bruno@clisp.org>
37785
37786         * modules/version-etc (Depends-on): Add stdarg.
37787
37788 2006-07-25  Bruno Haible  <bruno@clisp.org>
37789
37790         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
37791         complex commands.
37792
37793 2006-07-25  Bruno Haible  <bruno@clisp.org>
37794
37795         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
37796         defined in <stdarg.h> or config.h.
37797
37798 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
37799
37800         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
37801         (gl_STDIO_SAFER): Remove.
37802
37803 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
37804
37805         * MODULES.html.sh (File stream based Input/Output):
37806         Add fopen-safer, tmpfile-safer; remove stdio-safer.
37807         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
37808         * modules/fopen-safer, modules/tmpfile-safer: New files.
37809         * modules/stdio-safer: Remove.
37810
37811 2006-07-24  Bruno Haible  <bruno@clisp.org>
37812
37813         * modules/tmpdir: New file.
37814         * MODULES.html.sh (File system functions): Add it.
37815
37816 2006-07-24  Bruno Haible  <bruno@clisp.org>
37817
37818         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
37819         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
37820
37821 2006-07-24  Bruno Haible  <bruno@clisp.org>
37822
37823         * modules/clean-temp: New file.
37824
37825 2006-07-24  Bruno Haible  <bruno@clisp.org>
37826
37827         * m4/tmpdir.m4: New file, from GNU gettext.
37828
37829 2006-07-24  Bruno Haible  <bruno@clisp.org>
37830
37831         * lib/tmpdir.h: New file, from GNU gettext.
37832         * lib/tmpdir.c: New file, from GNU gettext.
37833
37834 2006-07-24  Bruno Haible  <bruno@clisp.org>
37835
37836         * lib/clean-temp.h: New file, from GNU gettext.
37837         * lib/clean-temp.c: New file, from GNU gettext.
37838
37839 2006-07-23  Eric Blake  <ebb9@byu.net>
37840
37841         * modules/stdio-safer (Files): Add tmpfile-safer.c.
37842         (Depends-on): Add binary-io.
37843
37844 2006-07-23  Eric Blake  <ebb9@byu.net>
37845
37846         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
37847
37848 2006-07-23  Eric Blake  <ebb9@byu.net>
37849
37850         * lib/tmpfile-safer.c: New file.
37851         * lib/stdio-safer.h (fopen_safer): Add prototype.
37852         * lib/stdio--.h (tmpfile): Make safer.
37853
37854 2006-07-23  Bruno Haible  <bruno@clisp.org>
37855
37856         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
37857         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
37858         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
37859         gl_linked_remove_at): Use it.
37860
37861 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
37862         and Simon Josefsson <jas@extundo.com>
37863
37864         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
37865
37866         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
37867
37868 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37869
37870         * modules/close-stream: New file.
37871         * modules/closeout (Description): Make it clear that it exits
37872         with a diagnostic on error.
37873         (Depends-on): Add close-stream.  Remove fpending, stdbool.
37874         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
37875
37876 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37877
37878         * m4/close-stream.m4: New file.
37879
37880 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
37881
37882         * lib/close-stream.c, lib/close-stream.h: New files.
37883
37884 2006-07-22  Bruno Haible  <bruno@clisp.org>
37885
37886         Merge from GNU gettext 0.15.
37887
37888         2006-05-01  Bruno Haible  <bruno@clisp.org>
37889
37890                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
37891
37892         2006-07-22  Bruno Haible  <bruno@clisp.org>
37893
37894                 * modules/javaversion: New file.
37895                 * MODULES.html.sh (Java): Add javaversion.
37896
37897         2006-03-12  Bruno Haible  <bruno@clisp.org>
37898
37899                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
37900
37901         2005-12-04  Bruno Haible  <bruno@clisp.org>
37902
37903                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
37904                 (untested).
37905
37906         2006-06-21  Bruno Haible  <bruno@clisp.org>
37907
37908                 Avoid warnings from recent versions of mcs.
37909                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
37910                 -o, -L, -r any more. Use options documented since mcs-1.0
37911                 instead. Similarly for -g.
37912
37913         2005-12-04  Bruno Haible  <bruno@clisp.org>
37914
37915                 * build-aux/csharpcomp.sh.in: Suffix for resources is
37916                 .resources, not .resource.
37917
37918         2005-07-09  Bruno Haible  <bruno@clisp.org>
37919
37920                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
37921                 add a .dll suffix.
37922                 Reported by Mark Junker <mjscod@gmx.de>.
37923
37924         2006-07-22  Bruno Haible  <bruno@clisp.org>
37925
37926                 * modules/gettext: Upgrade to gettext-0.15.
37927                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
37928                 m4/visibility.m4.
37929                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
37930
37931 2006-07-22  Bruno Haible  <bruno@clisp.org>
37932
37933         Merge from GNU gettext 0.15.
37934
37935         2006-03-25  Bruno Haible  <bruno@clisp.org>
37936
37937                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
37938
37939         2006-07-21  Bruno Haible  <bruno@clisp.org>
37940
37941                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
37942                 "1.1".
37943
37944         2006-05-09  Bruno Haible  <bruno@clisp.org>
37945
37946                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
37947                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
37948                 for the conftestver execution.
37949
37950         2006-05-01  Bruno Haible  <bruno@clisp.org>
37951
37952                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
37953                 optional target-version argument. Verify that the compiler
37954                 groks source of the specified source-version, or add -source
37955                 option as necessary. Verify that the compiler produces
37956                 bytecode in the specified target-version, or add -target and
37957                 -source options as necessary. Make the result of the test
37958                 available as variable CONF_JAVAC. Also log error output in
37959                 config.log.
37960
37961         2006-03-11  Bruno Haible  <bruno@clisp.org>
37962
37963                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
37964
37965         2006-05-09  Bruno Haible  <bruno@clisp.org>
37966
37967                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
37968                 CLASSPATH_SEPARATOR to a semicolon.
37969
37970         2006-03-12  Bruno Haible  <bruno@clisp.org>
37971
37972                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
37973                 available as variable CONF_JAVA, for subsequent autoconf
37974                 tests. Also log error output in config.log.
37975
37976         2006-07-19  Bruno Haible  <bruno@clisp.org>
37977
37978                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
37979                 that getline works on glibc2 systems. Needed to avoid trouble
37980                 in relocatable.c.
37981                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
37982
37983         2005-12-04  Bruno Haible  <bruno@clisp.org>
37984
37985                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
37986                 launcher (untested).
37987
37988         2005-12-04  Bruno Haible  <bruno@clisp.org>
37989
37990                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
37991
37992         2006-07-22  Bruno Haible  <bruno@clisp.org>
37993
37994                 * gettext.m4: Update from GNU gettext-0.15.
37995                 * nls.m4: Likewise.
37996                 * po.m4: Likewise.
37997                 * inttypes-pri.m4: Likewise.
37998                 * inttypes-h.m4: Renamed from inttypes.m4.
37999                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
38000
38001 2006-07-22  Bruno Haible  <bruno@clisp.org>
38002
38003         Merge from GNU gettext 0.15.
38004
38005         2005-07-05  Bruno Haible  <bruno@clisp.org>
38006
38007                 * printf-args.c (printf_fetchargs): Work around broken
38008                 definition of wint_t on mingw.
38009
38010         2005-02-12  Bruno Haible  <bruno@clisp.org>
38011
38012                 * xallocsa.h: Add extern "C" for C++.
38013
38014         2006-05-17  Bruno Haible  <bruno@clisp.org>
38015
38016                 Cygwin portability.
38017                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
38018
38019         2006-04-30  Bruno Haible  <bruno@clisp.org>
38020
38021                 * progreloc.c: Include <mach-o/dyld.h> if available.
38022                 (find_executable): Use _NSGetExecutablePath when possible.
38023
38024         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
38025
38026                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
38027                 function.
38028
38029         2005-12-29  Bruno Haible  <bruno@clisp.org>
38030
38031                 * progreloc.c (set_program_name_and_installdir): Fix
38032                 compilation error.
38033
38034         2005-12-04  Bruno Haible  <bruno@clisp.org>
38035
38036                 Cygwin portability.
38037                 * progreloc.c: Include <windows.h> also on Cygwin.
38038                 (find_executable): Add support for Cygwin.
38039                 (set_program_name_and_installdir): Handle also platforms with
38040                 nonempty EXEEXT.
38041
38042         2006-07-11  Bruno Haible  <bruno@clisp.org>
38043
38044                 * javacomp.c: Fix a comment.
38045                 Reported by Jim Meyering.
38046
38047         2006-04-30  Bruno Haible  <bruno@clisp.org>
38048
38049                 * javacomp.h (compile_java_class): Add source_version,
38050                 target_version arguments.
38051                 * javacomp.c: Rewritten to choose only a compiler that
38052                 respects the specified source_version and target_version.
38053
38054         2006-06-27  Bruno Haible  <bruno@clisp.org>
38055
38056                 Assume correct S_ISDIR macro.
38057                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
38058
38059         2006-07-22  Bruno Haible  <bruno@clisp.org>
38060
38061                 * javaversion.h: New file, from GNU gettext.
38062                 * javaversion.c: New file, from GNU gettext.
38063                 * javaversion.java: New file, from GNU gettext.
38064                 * javaversion.class: New file, from GNU gettext.
38065
38066         2006-05-17  Bruno Haible  <bruno@clisp.org>
38067
38068                 Cygwin portability.
38069                 * javaexec.c (execute_java_class): Test for jview program
38070                 also on Cygwin.
38071
38072         2006-04-09  Bruno Haible  <bruno@clisp.org>
38073
38074                 * fatal-signal.c: Don't include string.h.
38075                 (at_fatal_signal): Use a copying loop instead of memcpy.
38076
38077         2005-12-04  Bruno Haible  <bruno@clisp.org>
38078
38079                 * csharpexec.c: Add support for 'clix' launcher (untested).
38080                 (execute_csharp_using_sscli): New function.
38081                 (execute_csharp_program): Call it.
38082
38083         2006-06-21  Bruno Haible  <bruno@clisp.org>
38084
38085                 Avoid warnings from recent versions of mcs.
38086                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
38087                 -o, -L, -r any more. Use options documented since mcs-1.0
38088                 instead. Similarly for -g.
38089
38090         2005-07-09  Bruno Haible  <bruno@clisp.org>
38091
38092                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
38093                 add a .dll suffix.
38094                 Reported by Mark Junker <mjscod@gmx.de>.
38095
38096         2006-06-17  Bruno Haible  <bruno@clisp.org>
38097
38098                 * config.charset: Update for NetBSD 3.0.
38099
38100         2006-05-17  Bruno Haible  <bruno@clisp.org>
38101
38102                 Cygwin portability.
38103                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
38104
38105         2006-05-16  Bruno Haible  <bruno@clisp.org>
38106
38107                 * localcharset.c [CYGWIN]: Include <windows.h>.
38108                 (get_charset_aliases): For Cygwin, return the same CPxxx
38109                 aliases list as under WIN32.
38110                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
38111                 the environment variables. Fall back to GetACP().
38112
38113         2006-04-05  Bruno Haible  <bruno@clisp.org>
38114
38115                 * config.charset: Update Juan Manuel Guerrero's address.
38116
38117         2005-02-12  Bruno Haible  <bruno@clisp.org>
38118
38119                 * allocsa.h: Add extern "C" for C++.
38120
38121         2005-02-10  Bruno Haible  <bruno@clisp.org>
38122
38123                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
38124                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
38125
38126         2006-07-22  Bruno Haible  <bruno@clisp.org>
38127
38128                 * gettext.h: Update to GNU gettext-0.15.
38129
38130 2006-07-22  Bruno Haible  <bruno@clisp.org>
38131
38132         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
38133         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
38134         lib-prefix.m4, longdouble.m4, ssize_t.m4.
38135
38136 2006-07-21  Eric Blake  <ebb9@byu.net>
38137
38138         * modules/stdlib-safer: New file.
38139         * MODULES.html.sh (File stream based Input/Output): Add
38140         stdlib-safer.
38141
38142 2006-07-21  Eric Blake  <ebb9@byu.net>
38143
38144         * lib/stdlib-safer.h: New file from coreutils, required by
38145         stdlib--.h.
38146
38147 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
38148
38149         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
38150
38151 2006-07-20  Bruno Haible  <bruno@clisp.org>
38152
38153         * gnulib-tool: Recognize new option --assume-autoconf.
38154         (autoconf_minversion): New variable.
38155         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
38156
38157 2006-07-20  Bruno Haible  <bruno@clisp.org>
38158
38159         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
38160
38161 2006-07-19  Derek R. Price  <derek@ximbiot.com>
38162
38163         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
38164         Reindent and repaginate.
38165
38166 2006-07-19  Derek Price  <derek@ximbiot.com>
38167
38168         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
38169         Correct grammar.
38170
38171 2006-07-17  Bruno Haible  <bruno@clisp.org>
38172
38173         * modules/list: New file.
38174         * modules/array-list: New file.
38175         * modules/carray-list, modules/carray-list-tests: New files.
38176         * modules/linked-list, modules/linked-list-tests: New files.
38177         * modules/avltree-list, modules/avltree-list-tests: New files.
38178         * modules/rbtree-list, modules/rbtree-list-tests: New files.
38179         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
38180         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
38181         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
38182         * modules/oset: New file.
38183         * modules/array-oset: New file.
38184         * modules/avltree-oset, modules/avltree-oset-tests: New files.
38185         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
38186         * tests/test-carray_list.c: New file.
38187         * tests/test-linked_list.c: New file.
38188         * tests/test-avltree_list.c: New file.
38189         * tests/test-rbtree_list.c: New file.
38190         * tests/test-linkedhash_list.c: New file.
38191         * tests/test-avltreehash_list.c: New file.
38192         * tests/test-rbtreehash_list.c: New file.
38193         * tests/test-avltree_oset.c: New file.
38194         * tests/test-rbtree_oset.c: New file.
38195         * MODULES.html.sh (Container data structures): New section.
38196
38197 2006-07-17  Bruno Haible  <bruno@clisp.org>
38198
38199         * m4/gl_list.m4: New file.
38200
38201 2006-07-17  Bruno Haible  <bruno@clisp.org>
38202
38203         * lib/gl_list.h: New file.
38204         * lib/gl_list.c: New file.
38205         * lib/gl_array_list.h: New file.
38206         * lib/gl_array_list.c: New file.
38207         * lib/gl_carray_list.h: New file.
38208         * lib/gl_carray_list.c: New file.
38209         * lib/gl_linked_list.h: New file.
38210         * lib/gl_linked_list.c: New file.
38211         * lib/gl_anylinked_list1.h: New file.
38212         * lib/gl_anylinked_list2.h: New file.
38213         * lib/gl_avltree_list.h: New file.
38214         * lib/gl_avltree_list.c: New file.
38215         * lib/gl_anyavltree_list1.h: New file.
38216         * lib/gl_anyavltree_list2.h: New file.
38217         * lib/gl_rbtree_list.h: New file.
38218         * lib/gl_rbtree_list.c: New file.
38219         * lib/gl_anyrbtree_list1.h: New file.
38220         * lib/gl_anyrbtree_list2.h: New file.
38221         * lib/gl_anytree_list1.h: New file.
38222         * lib/gl_anytree_list2.h: New file.
38223         * lib/gl_linkedhash_list.h: New file.
38224         * lib/gl_linkedhash_list.c: New file.
38225         * lib/gl_anyhash_list1.h: New file.
38226         * lib/gl_anyhash_list2.h: New file.
38227         * lib/gl_avltreehash_list.h: New file.
38228         * lib/gl_avltreehash_list.c: New file.
38229         * lib/gl_rbtreehash_list.h: New file.
38230         * lib/gl_rbtreehash_list.c: New file.
38231         * lib/gl_anytreehash_list1.h: New file.
38232         * lib/gl_anytreehash_list2.h: New file.
38233
38234         * lib/gl_oset.h: New file.
38235         * lib/gl_oset.c: New file.
38236         * lib/gl_array_oset.h: New file.
38237         * lib/gl_array_oset.c: New file.
38238         * lib/gl_avltree_oset.h: New file.
38239         * lib/gl_avltree_oset.c: New file.
38240         * lib/gl_rbtree_oset.h: New file.
38241         * lib/gl_rbtree_oset.c: New file.
38242         * lib/gl_anytree_oset.h: New file.
38243
38244 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
38245
38246         * m4/mkancesdirs.m4: New file.
38247         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
38248         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
38249         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
38250         it.
38251
38252 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
38253
38254         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
38255         * lib/mkancesdirs.h: New files.
38256         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
38257         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
38258         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
38259         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
38260         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
38261         callers changed.  Revamp internals significantly, by not
38262         attempting to create directories that are temporarily more
38263         permissive than the final results.  Do not attempt to use
38264         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
38265         This removes some race conditions, fixes some bugs, and simplifies
38266         things.  Use new dirchownmod function to do owner and mode changes.
38267         * lib/mkdir-p.h: Likewise.
38268         * lib/modechange.c (octal_to_mode): New function.
38269         (struct mode_change): New member mentioned.
38270         (make_node_op_equals): New arg mentioned.  All callers changed.
38271         (mode_compile): Keep track of which mode bits the user has explicitly
38272         mentioned.
38273         (mode_adjust): New arg DIR, so that we implement the X op correctly.
38274         New arg PMODE_BITS, to keep track of which mode bits the user
38275         mentioned; it treats S_ISUID and S_ISGID speciall.
38276         All callers changed.
38277         * lib/modechange.h: Likewise.
38278
38279 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
38280
38281         * MODULES.html.sh: Add mkancestors.
38282         * modules/mkancesdirs: New module.
38283         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
38284         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
38285         The chdir-safer and afs files are now orphans; I'll remove them
38286         unless someone speaks up.
38287         Add lib/dirchownmod.c, lib/dirchownmod.h.
38288         (Depends-on): Remove alloca, chown, save-cwd, dirname.
38289         Add lchown, mkancesdirs.
38290         (Maintainer): Add self.
38291
38292 2006-07-15  Karl Berry  <karl@gnu.org>
38293
38294         * gnulib-tool: help message wording/arrangement.
38295
38296 2006-07-14  Simon Josefsson  <jas@extundo.com>
38297
38298         * doc/gnulib.texi (Libtool and Windows): New section.
38299
38300 2006-07-12  Simon Josefsson  <jas@extundo.com>
38301
38302         * modules/gendocs (License): Fix license, approved by Karl.
38303
38304 2006-07-12  Eric Blake  <ebb9@byu.net>
38305
38306         * MODULES.html.sh: Add gendocs.
38307
38308 2006-07-11  Eric Blake  <ebb9@byu.net>
38309
38310         * modules/fdl: New module, to install doc/fdl.texi.
38311         * MODULES.html.sh: Add new section for documentation modules.
38312         * gnulib-tool: Avoid space-tab.
38313         (--doc-base): New option, to manage files from doc.
38314
38315 2006-07-11  Eric Blake  <ebb9@byu.net>
38316
38317         * m4/absolute-header.m4: Fix comments to match recent change.
38318
38319 2006-07-11  Eric Blake  <ebb9@byu.net>
38320
38321         * gnulib-tool: List --doc-base before --tests-base.
38322
38323 2006-07-11  Derek R. Price  <derek@ximbiot.com>
38324
38325         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
38326
38327 2006-07-11  Bruno Haible  <bruno@clisp.org>
38328
38329         * README: Mention where to put documentation.
38330
38331 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38332
38333         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
38334
38335 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
38336
38337         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
38338         to stdint.m4.
38339
38340 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
38341
38342         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
38343         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
38344         "no/such/file/stdint.h" when there is no such file, so that
38345         the resulting C code can be parsed by dodgy compilers.
38346         Problems reported by Bob Proulx.
38347
38348 2006-07-10  Derek R. Price  <derek@ximbiot.com>
38349
38350         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
38351         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
38352         macros into the GNU _D_EXACT_NAMLEN.
38353         * lib/savedir.c:  Likewise.
38354         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
38355
38356 2006-07-10  Derek R. Price  <derek@ximbiot.com>
38357         and Paul Eggert  <eggert@cs.ucla.edu>
38358
38359         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
38360         * m4/savedir.m4:
38361         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
38362         macros into the GNU _D_EXACT_NAMLEN.
38363
38364 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38365
38366         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
38367         around the absolute name, to work around a problem with the HP-UX
38368         11.23 native C compiler, reported by Bob Proulx.
38369
38370 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38371
38372         * doc/maintain.texi, make-stds.texi: Sync from
38373         <http://savannah.gnu.org/projects/gnustandards>.
38374
38375 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
38376
38377         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
38378
38379 2006-07-09  Jim Meyering  <jim@meyering.net>
38380
38381         * m4/glob.m4: Remove a doubled word in a comment.
38382
38383 2006-07-09  Jim Meyering  <jim@meyering.net>
38384
38385         * lib/argp-pv.c: Remove a doubled word in a comment.
38386         * lib/check-version.c (check_version): Likewise.
38387         * lib/javacomp.c (compile_java_class): Likewise.
38388
38389 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
38390
38391         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
38392         for the benefit of people using Autoconf 2.60.  If you want to
38393         support older Autoconf versions you can copy m4/onceonly_2_57.m4
38394         (or m4/onceonly.m4, if pre-2.57) manually.
38395
38396 2006-07-08  Jim Meyering  <jim@meyering.net>
38397
38398         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
38399         comment.
38400         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
38401         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
38402         comment.
38403
38404 2006-07-08  Jim Meyering  <jim@meyering.net>
38405
38406         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
38407
38408 2006-07-07  Simon Josefsson  <jas@extundo.com>
38409
38410         * tests/test-crc.c: Change expected crc value, the test vector
38411         were probably computed using the old broken crc.c?
38412
38413 2006-07-06  Simon Josefsson  <jas@extundo.com>
38414
38415         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
38416         now the canonical place for the M4 file).
38417
38418         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
38419         from the sys_socket dependency now.
38420
38421         * modules/inet_pton (Files): Ditto.
38422
38423         * modules/inet_ntop (Files): Ditto.
38424
38425 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
38426
38427         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
38428         not gl_PREREQ_GETUSERSHELL.
38429
38430 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38431
38432         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
38433         with only one argument, for Autoconf 2.60.
38434         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
38435         expand to nothing, so add a shell command to avoid syntax error.
38436         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
38437
38438 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38439
38440         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
38441
38442 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38443
38444         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
38445         no longer needed.  Check for isblank decl.
38446         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
38447         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
38448         of existence.
38449
38450 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38451
38452         * lib/getloadavg.c: Use __VMS, not VMS.
38453         * lib/getopt.c: Likewise.
38454         * lib/getpagesize.h: Likewise.
38455         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
38456         and probably does not work.
38457
38458 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
38459
38460         * lib/.cppi-disable: Add wcwidth.
38461         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
38462         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
38463         (ISGRAPH): Remove.  All uses changed to isgraph.
38464         (FOLD) [!defined _LIBC]: Remove special case.
38465         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
38466         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
38467         HAVE_ISBLANK.
38468         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
38469         case.
38470
38471 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
38472
38473         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
38474         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
38475         brackets.  Other minor changes to suppress some compiler
38476         warnings.
38477
38478 2006-07-06  Derek R. Price  <derek@ximbiot.com>
38479         and Paul Eggert  <eggert@cs.ucla.edu>
38480
38481         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
38482         of invoking obsolescent AC_HEADER_DIRENT macro.
38483         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
38484         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
38485         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
38486         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
38487         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
38488         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
38489         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
38490         * m4/readdir.m4: Remove; no longer needed.
38491
38492 2006-07-06  Derek R. Price  <derek@ximbiot.com>
38493         and Paul Eggert  <eggert@cs.ucla.edu>
38494
38495         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
38496         Don't worry about this obsolete case any more.
38497         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
38498         directories.
38499         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
38500         worry about this obsolete case any more.
38501         * lib/fts.c: Likewise.
38502         * lib/getcwd.c: Likewise.
38503         * lib/glob.h: Likewise.
38504         * lib/savedir.c: Likewise.
38505
38506 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
38507
38508         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
38509         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
38510         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
38511         needed.
38512         All uses removed.
38513         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
38514         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
38515         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
38516         needed.
38517         * m4/getdate.m4 (gl_GETDATE): Likewise.
38518         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
38519         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
38520         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
38521         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
38522         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
38523         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
38524         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
38525         needed.
38526
38527 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
38528
38529         * lib/memcasecmp.c: Include <limits.h>.
38530         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
38531         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
38532         Don't assume isdigit succeeds only on '0' through '9'.
38533
38534 2006-07-05  Eric Blake  <ebb9@byu.net>
38535
38536         * modules/getaddrinfo (Depends-on): Add snprintf.
38537
38538 2006-07-05  Eric Blake  <ebb9@byu.net>
38539
38540         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
38541         to avoid 'header present but could not be compiled' on cygwin.
38542
38543 2006-07-05  Eric Blake  <ebb9@byu.net>
38544
38545         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
38546         missing from netdb.h.
38547         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
38548
38549 2006-07-05  Derek R. Price  <derek@ximbiot.com>
38550
38551         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
38552         no longer needed.
38553         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
38554         * m4/getdate.m4 (gl_GETDATE): Likewise.
38555         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
38556         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
38557         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
38558         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
38559         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
38560
38561 2006-07-05  Derek R. Price  <derek@ximbiot.com>
38562
38563         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
38564         All uses of is_space replaced by isspace.
38565         * lib/exit.h: Don't talk about STDC_HEADERS.
38566         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
38567         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
38568         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
38569         replaced by isprint etc.
38570         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
38571         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
38572         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
38573         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
38574         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
38575         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
38576
38577 2006-07-05  Bruno Haible  <bruno@clisp.org>
38578
38579         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
38580         the function exists, before testing against AIX.
38581         Reported by Martin Lambers <marlam@marlam.de>.
38582
38583 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
38584
38585         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
38586         From Mark D. Baushke.
38587
38588 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
38589
38590         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
38591         to the absolute name, not just one, to bypass Sun C 5.8's
38592         "warning: #include of /usr/include/... may be non-portable".
38593
38594 2006-07-04  Eric Blake  <ebb9@byu.net>
38595
38596         * modules/dirname-tests: New test module.
38597         * tests/test-dirname.c: New file, replacing dirname.c
38598         TEST_DIRNAME section that was recently deleted.
38599
38600 2006-07-04  Bruno Haible  <bruno@clisp.org>
38601
38602         Assume ANSI C header files and <ctype.h> functions.
38603         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
38604         (mbsnwidth): Use isprint, iscntrl instead.
38605
38606 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
38607
38608         Merge from coreutils.
38609         * MODULES.html.sh: Add xstrtold.
38610         * modules/xstrtold: New file.
38611         * modules/cycle-check (Files): Add lib/same-inode.h.
38612         * modules/dirname (Files): Add m4/double-slash-root.m4.
38613         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
38614         * modules/mkdir-p (Files): Add lib/same-inode.h.
38615         * modules/same (Files): Add lib/same-inode.h.
38616
38617 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
38618
38619         * m4/absolute-header.m4: Renamed from full-header-path.m4.
38620         This is to keep the terminology clean; POSIX talks about
38621         "absolute pathnames", not "full pathnames", but the GNU
38622         Coding Standards say to use "path" for something else;
38623         so use "absolute" to keep both sides happy.
38624         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
38625         Set gl_absolute_header, not gl_full_header_path.
38626         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
38627         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
38628         All uses changed.
38629
38630         Merge from coreutils.
38631
38632         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
38633
38634         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
38635         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
38636         want to require the building of c-strtod.o.
38637         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
38638         needs -lm directly.
38639         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
38640
38641         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
38642
38643         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
38644         --as-needed option if available.  Problem reported by Albert Chin in
38645         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
38646         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
38647         cc merely issues a bunch of annoying warnings for --as-needed
38648         (this problem was reported by Bob Proulx).  Also, try linking with
38649         -lm to detect a bug in binutils 2.16 (this problem was reported
38650         by Ralf Wildenhues).
38651
38652         2006-06-18  Jim Meyering  <jim@meyering.net>
38653
38654         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
38655         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
38656         macro.
38657         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
38658         also check for glibc-2.4's abort-inducing bug.
38659
38660         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
38661         Low-probability clean-up should be to use rmdir to get rid of
38662         the just-created directory, not unlink.
38663
38664         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
38665         configure fail, and request a bug report to inform us about it.
38666         Add a comment that, barring reports to the contrary, in 2007 we'll
38667         assume ftruncate is universally available.
38668
38669         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
38670
38671         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
38672
38673         2006-03-12  Jim Meyering  <jim@meyering.net>
38674
38675         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
38676         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
38677         * m4/same.m4 (gl_SAME): Likewise.
38678         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
38679
38680         2006-03-11  Eric Blake  <ebb9@byu.net>
38681
38682         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
38683         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
38684         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
38685         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
38686
38687 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
38688
38689         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
38690         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
38691         reported by Mark D. Baushke, one in
38692         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
38693
38694         Merge from coreutils.
38695
38696         * lib/.cppi-disable: Add stdint_.h.
38697         * lib/.cvsignore: Add stdint.h.
38698
38699         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
38700
38701         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
38702         both double and long double versions.
38703         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
38704         * lib/xstrtold.c: New file.
38705         * lib/xstrtod.h (xstrtold): New decl.
38706
38707         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
38708
38709         * lib/filemode.c (setst): Remove.
38710         (strmode): Rewrite to avoid setst.  This makes the code shorter,
38711         (arguably) clearer, and the generated code is a bit smaller on my
38712         Debian GNU/Linux stable x86 host.
38713
38714         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
38715
38716         * lib/filemode.c: Include "filemode.h" first, to test the interface.
38717         Assume that filemode.h includes sys/types.h and sys/stat.h.
38718         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
38719         (ftypelet): Reorder to put common cases first, for efficiency.
38720         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
38721         to do 'M'.
38722         (strmode): Renamed from mode_string, and now stores 12 bytes instead
38723         of 10, for compatibility with FreeBSD.  All callers changed.
38724         (filemodestring): Now stores 12 bytes instead of 10, and sets file
38725         types that can't be deduced solely from st_mode.  First arg is now a
38726         const pointer.
38727         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
38728         (strmode): Renamed from mode_string.
38729         (filemodestring): New decl.
38730         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
38731         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
38732         needed.
38733         (S_ISPORT, S_ISWHT): New macros, if not already defined.
38734
38735         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
38736
38737         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
38738         fsusage.h now does that.  Include fsusage.h first, to test interface.
38739         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
38740         at most one method (the old code could have generated decls that
38741         didn't conform to C89, not that this was ever exercised).
38742         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
38743
38744         2006-03-19  Jim Meyering  <jim@meyering.net>
38745
38746         Work even in a chroot where d_ino values for entries in "/"
38747         don't match the stat.st_ino values for the same names.
38748         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
38749         number, iterate through all entries again, using lstat instead.
38750         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
38751         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
38752
38753         * lib/getcwd.c (__getcwd): Clarify a comment.
38754         Use memcpy in place of a call to strcpy.
38755
38756         2006-03-12  Jim Meyering  <jim@meyering.net>
38757
38758         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
38759         matches that of the current directory (which we're about to chdir ".."
38760         out of), then save the dev-ino of the parent, instead.
38761
38762         * lib/same-inode.h (SAME_INODE): New file/macro.
38763         * lib/chdir-safer.c (SAME_INODE): Remove definition.
38764         Include "same-inode.h", instead.
38765         * lib/same.c: Likewise.
38766         * lib/cycle-check.h: Include "same-inode.h".
38767         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
38768         * lib/cycle-check.c (SAME_INODE): Remove definition.
38769         * lib/root-dev-ino.h: Include "same-inode.h".
38770
38771         2006-03-11  Eric Blake  <ebb9@byu.net>
38772
38773         * lib/same.c (same_name): s/base_name/last_component/
38774         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
38775         * lib/filenamecat.c (file_name_concat): Likewise.
38776
38777         2006-03-11  Eric Blake  <ebb9@byu.net>,
38778                     Paul Eggert  <eggert@cs.ucla.edu>
38779
38780         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
38781         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
38782         drive prefix.
38783         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
38784         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
38785         (last_component): New method.
38786         * lib/dirname.c (dir_len): Determine when drive letters need a
38787         subsequent slash.  Preserve // when it is special.
38788         (dir_name): Don't append dot when drive letter is absolute.
38789         [TEST_DIRNAME]: Move into a full-blown gnulib test.
38790         * lib/basename.c (base_name): New semantics - malloc the result.
38791         Preserve // when it is special.  Preserve relative files that look
38792         like drive letters.
38793         (base_len): Preserve // when it is special.
38794         (last_component): New method, similar to old base_name semantics.
38795         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
38796         base_name.  Strip redundant slashes from ///.
38797
38798 2006-07-03  Jim Meyering  <jim@meyering.net>
38799
38800         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
38801         macro is used before the first cycle_check call.
38802
38803 2006-07-03  Eric Blake  <ebb9@byu.net>
38804
38805         * modules/dirname (Depends-on): Add xstrndup.
38806
38807 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38808
38809         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
38810         test cases, so that config.log is a bit easier to follow.
38811
38812 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
38813
38814         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
38815         both are 64 bits, since this seems to be the tradition, and this
38816         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
38817         we ever run into a host that prefers long long to long in this
38818         case, we'll need another configure-time test.  Problem reported by
38819         Jim Meyering.
38820
38821 2006-07-02  Eric Blake  <ebb9@byu.net>
38822
38823         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
38824
38825 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38826
38827         * modules/inttypes (Depends-on): No longer depends on stdint.
38828         * modules/stdint (Description): Say more about assumptions.
38829         Say that the fast types might differ.  Say macros are used.
38830         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
38831         (Makefile.am): Revise list of substituted symbols to match
38832         new stdint.m4.
38833         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
38834         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
38835         * tests/test-stdint.c (verify_same_types)
38836         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
38837         the code conforms to C99/C89.
38838         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
38839         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
38840
38841 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38842
38843         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
38844         but fix a bug, by requiring at least 64 bits.
38845         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
38846         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
38847         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
38848         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
38849
38850         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
38851         changes.  Make 2.59 a prerequisite.  Check and substitute for
38852         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
38853         inttypes.h.  Do not use special include files; just use the
38854         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
38855         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
38856         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
38857         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
38858         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
38859         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
38860         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
38861         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
38862         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
38863         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
38864         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
38865         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
38866         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
38867         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
38868         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
38869         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
38870         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
38871         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
38872         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
38873         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
38874         WINT_MAX.  Check for C99 conformance more strictly, by detecting
38875         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
38876         not check for things that C99 does not require, e.g., int8_t.  If
38877         a test isn't needed unless <stdint.h> isn't working, and is
38878         unlikely to be needed for any other reason, then don't do it
38879         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
38880         size_t, since we assume C89 freestanding at least.  Do not check
38881         for sig_atomic_t, wchar_t, or wint_t, since the code now does
38882         the right thing even if the types are not defined.  Instead use:
38883         (gl_STDINT_TYPE_PROPERTIES): New macro.
38884         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
38885         testing whether <sys/types.h> clashes, as Autoconf does this for
38886         us now.  All uses removed.
38887         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
38888         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
38889         (gl_CHECK_TYPE_SAME):
38890         Remove; no longer needed.
38891         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
38892         exists, since we'll return 0 anyway in that case.
38893         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
38894
38895 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
38896
38897         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
38898         possible collision with system files.
38899         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
38900         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
38901         WCHAR_MIN and WCHAR_MAX in this case.
38902         (<stddef.h>): Do not include; no longer needed.
38903         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
38904         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
38905         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
38906         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
38907         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
38908         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
38909         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
38910         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
38911         !defined(__c99))]: Include in this case too, since it's harmless
38912         now.
38913         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
38914         dangerous to do so.
38915         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
38916         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
38917         (_STDINT_MIN, _STDINT_MAX): New macros.
38918         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
38919         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
38920         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
38921         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
38922         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
38923         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
38924         macros, not typedefs; this simplifies things quite a bit.
38925         Use long int for all types narrower than int64_t.
38926         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
38927         Define in terms of long long int or int64_t or long int,
38928         not int64_t or int32_t.  This saves some compile-time testing.
38929         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
38930         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
38931         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
38932         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
38933         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
38934         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
38935         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
38936         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
38937         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
38938         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
38939         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
38940         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
38941         undef any previous version and define our own version, for
38942         simplicity and consistency with the new macros for types.
38943         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
38944         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
38945         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
38946         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
38947         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
38948         @WINT_T_SUFFIX@ to keep things simple here.
38949         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
38950         Simplify by assuming typical 8/16/32/64 host, since we're
38951         already doing that elsewhere anyway.
38952         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
38953         and assume long long int is 64 bits if available.  This
38954         speeds up 'configure'.
38955
38956 2006-07-01  Eric Blake  <ebb9@byu.net>
38957
38958         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
38959         Reported by Andreas Buening.
38960
38961 2006-07-01  Eric Blake  <ebb9@byu.net>
38962
38963         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
38964
38965 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
38966
38967         * lib/getaddrinfo.c: fixed typo
38968
38969 2006-06-29  Jim Meyering  <jim@meyering.net>
38970
38971         * modules/strftime (Maintainer): Add my name, since with the
38972         FPRINTFTIME changes strftime.c has forked from glibc.
38973
38974 2006-06-29  Eric Blake  <ebb9@byu.net>
38975
38976         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
38977
38978 2006-06-29  Eric Blake  <ebb9@byu.net>
38979
38980         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
38981
38982 2006-06-29  Eric Blake  <ebb9@byu.net>
38983
38984         * lib/stat_.h: New file.
38985
38986 2006-06-29  Eric Blake  <ebb9@byu.net>
38987
38988         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
38989         unused static function.
38990
38991 2006-06-29  Eric Blake  <ebb9@byu.net>
38992
38993         * doc/functions.texi (Function Portability): Document missing lstat
38994         on mingw.
38995
38996 2006-06-29  Eric Blake  <ebb9@byu.net>
38997
38998         * MODULES.html.sh: Add sys_stat.
38999         * modules/sys_stat: New module.
39000         * modules/mkstemp (Depends-on): Add sys_stat.
39001
39002 2006-06-29  Derek R. Price  <derek@ximbiot.com>
39003
39004         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
39005
39006 2006-06-29  Derek R. Price  <derek@ximbiot.com>
39007
39008         * m4/c-bs-a.m4: Removed.
39009
39010 2006-06-29  Derek R. Price  <derek@ximbiot.com>
39011
39012         * lib/strftime.c: Assume strftime() exists.
39013
39014 2006-06-29  Derek Price  <derek@ximbiot.com>
39015
39016         * modules/c-bs-a: Removed - \a is C89.
39017         * MODULES.html.sh: Remove c-bs-a.
39018
39019 2006-06-29  Bruno Haible  <bruno@clisp.org>
39020
39021         * modules/wcwidth (License): Change to LGPL.
39022
39023 2006-06-28  Simon Josefsson  <jas@extundo.com>
39024
39025         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
39026         on _WIN32.
39027
39028         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
39029         getnameinfo.
39030
39031 2006-06-28  Simon Josefsson  <jas@extundo.com>
39032
39033         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
39034
39035 2006-06-28  Simon Josefsson  <jas@extundo.com>
39036
39037         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
39038         functions there.  It will succeed on Windows XP, but on Windows
39039         2000 and (presumably) earlier, it will fail, and use the internal
39040         re-implementation.
39041         (use_win32_p): New function.
39042         (getaddrinfo): Use strtoul on servname, to support numeric ports.
39043         Support AI_NUMERICSERV to disable getservbyname.
39044         (getnameinfo): New function, only supports
39045         NI_NUMERICHOST|NI_NUMERICSERV for now.
39046
39047         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
39048         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
39049         getnameinfo.
39050
39051 2006-06-28  Eric Blake  <ebb9@byu.net>
39052
39053         * modules/wcwidth: New file.
39054         * modules/mbchar (Depends-on): Add wcwidth.
39055         * modules/mbswidth (Depends-on): Add wcwidth.
39056         * MODULES.html.sh: Add wcwidth.
39057
39058 2006-06-28  Eric Blake  <ebb9@byu.net>
39059
39060         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
39061         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
39062
39063 2006-06-28  Eric Blake  <ebb9@byu.net>
39064
39065         * lib/xvasprintf.h: Fix comments.
39066
39067 2006-06-28  Eric Blake  <ebb9@byu.net>
39068
39069         * lib/mbchar.h (wcwidth): Include wcwidth.h.
39070         * lib/mbswidth.c (wcwidth): Move from here...
39071         * lib/wcwidth.h: ...to this new file.
39072
39073 2006-06-28  Derek R. Price  <derek@ximbiot.com>
39074
39075         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
39076
39077         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
39078         it's obsolete.
39079         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
39080
39081 2006-06-28  Derek R. Price  <derek@ximbiot.com>
39082
39083         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
39084         Autoconf 2.60 says this stuff was obsolete.
39085
39086 2006-06-28  Bruno Haible  <bruno@clisp.org>
39087
39088         * modules/wcwidth (Files): Add m4/wchar_t.m4.
39089
39090 2006-06-28  Bruno Haible  <bruno@clisp.org>
39091
39092         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
39093         gt_TYPE_WCHAR_T.
39094
39095 2006-06-28  Bruno Haible  <bruno@clisp.org>
39096
39097         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
39098         declaration for wcwidth.
39099         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
39100
39101 2006-06-28  Bruno Haible  <bruno@clisp.org>
39102
39103         * lib/mkdtemp.c [MINGW]: Include <io.h>.
39104         (mkdir): Define using _mkdir.
39105
39106 2006-06-28  Bruno Haible  <bruno@clisp.org>
39107
39108         * lib/getaddrinfo.h: Fix POSIX URL.
39109         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
39110         _WIN32.
39111         (use_win32_p): Make static.
39112         (getaddrinfo): Reject service name if it is empty or does not consist
39113         solely of decimal digits, or if its value is > 65535.
39114         (getnameinfo): Remove useless casts.
39115
39116 2006-06-27  Simon Josefsson  <jas@extundo.com>
39117
39118         * modules/sys_select: New file, suggested by Bruno Haible, Paul
39119         Eggert and Martin Lambers.
39120
39121 2006-06-27  Simon Josefsson  <jas@extundo.com>
39122
39123         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
39124         Eggert and Martin Lambers.
39125
39126 2006-06-27  Bruno Haible  <bruno@clisp.org>
39127
39128         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
39129         result to 0, not to empty.
39130         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
39131
39132 2006-06-27  Bruno Haible  <bruno@clisp.org>
39133
39134         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
39135
39136 2006-06-26  Simon Josefsson  <jas@extundo.com>
39137
39138         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
39139         present.
39140
39141 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
39142
39143         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
39144         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
39145         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
39146
39147 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
39148
39149         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
39150
39151 2006-06-26  Bruno Haible  <bruno@clisp.org>
39152
39153         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
39154
39155 2006-06-26  Bruno Haible  <bruno@clisp.org>
39156
39157         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
39158
39159 2006-06-26  Bruno Haible  <bruno@clisp.org>
39160
39161         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
39162         SGI C compiler in pre-C99 mode.
39163         Suggested by Mark D. Baushke and Larry Jones.
39164
39165 2006-06-26  Bruno Haible  <bruno@clisp.org>
39166
39167         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
39168         WCHAR_MAX.
39169         Reported by Mark D. Baushke and Larry Jones.
39170
39171 2006-06-26  Bruno Haible  <bruno@clisp.org>
39172
39173         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
39174         in pre-C99 mode.
39175         Suggested by Mark D. Baushke and Larry Jones.
39176
39177 2006-06-23  Simon Josefsson  <jas@extundo.com>
39178             Bruno Haible  <bruno@clisp.org>
39179
39180         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
39181         Emit mostlyclean-local rule.
39182         (func_emit_tests_Makefile_am): Likewise.
39183         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
39184
39185 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
39186
39187         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
39188
39189 2006-06-23  Bruno Haible  <bruno@clisp.org>
39190
39191         * tests/test-stdint.c: Update to match ISO C 99 Technical
39192         Corrigendum 1.
39193
39194 2006-06-23  Bruno Haible  <bruno@clisp.org>
39195
39196         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
39197
39198 2006-06-23  Bruno Haible  <bruno@clisp.org>
39199
39200         * lib/stdint_.h: Treat IRIX like OpenBSD.
39201
39202 2006-06-23  Bruno Haible  <bruno@clisp.org>
39203
39204         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
39205         ISO C 99 Technical Corrigendum 1.
39206
39207 2006-06-22  Simon Josefsson  <jas@extundo.com>
39208
39209         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
39210         MinGW.
39211
39212 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
39213
39214         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
39215         needed.  Some compiler complained about some of them.  Problem reported
39216         by Larry Jones in
39217         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
39218
39219 2006-06-21  Simon Josefsson  <jas@extundo.com>
39220
39221         * tests/test-getaddrinfo.c: New file.
39222
39223         * modules/getaddrinfo-tests: New file.
39224
39225         * MODULES.html.sh: Add inet_pton.
39226
39227         * modules/inet_pton: New file.
39228
39229 2006-06-21  Simon Josefsson  <jas@extundo.com>
39230
39231         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
39232         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
39233         of using the (limited) gnulib implementation on Windows XP.
39234
39235         * m4/inet_pton.m4: New file.
39236
39237 2006-06-21  Simon Josefsson  <jas@extundo.com>
39238
39239         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
39240         variable.
39241
39242         * lib/socket_.h: Don't define WINVER.
39243
39244         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
39245         slightly modified to work in gnulib.
39246
39247 2006-06-21  Simon Josefsson  <jas@extundo.com>
39248
39249         * doc/gnulib.texi (Windows sockets): Add.
39250
39251 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
39252
39253         * lib/read-file.c (fread_file): Start with buffer allocation of
39254         0 bytes rather than 1 byte; this simplifies the code.
39255         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
39256         code to free buffer and save/restore errno.
39257         (internal_read_file): Remove unused local.
39258
39259 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
39260
39261         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
39262         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
39263         Problem reported by Denis Excoffier in
39264         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
39265
39266 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
39267
39268         * modules/sys_socket, modules/socklen: Include sys/types since
39269         FreeBSD 4.x's sys/socket.h needs it.
39270
39271 2006-06-19  Simon Josefsson  <jas@extundo.com>
39272
39273         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
39274
39275 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
39276
39277         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
39278
39279 2006-06-19  Bruno Haible  <bruno@clisp.org>
39280
39281         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
39282         and FULL_PATH_INTTYPES_H in angle brackets.
39283         Reported by Mark D. Baushke <mdb@gnu.org>.
39284
39285 2006-06-17  Eric Blake  <ebb9@byu.net>
39286
39287         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
39288         errno.
39289
39290 2006-06-17  Bruno Haible  <bruno@clisp.org>
39291
39292         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
39293         <sys/inttypes.h>.
39294
39295 2006-06-17  Bruno Haible  <bruno@clisp.org>
39296
39297         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
39298         whether errno is declared. Assume <errno.h> declares errno.
39299
39300 2006-06-17  Bruno Haible  <bruno@clisp.org>
39301
39302         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
39303
39304 2006-06-17  Bruno Haible  <bruno@clisp.org>
39305
39306         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
39307         problem on Solaris 2.5.1.
39308
39309 2006-06-16  Eric Blake  <ebb9@byu.net>
39310
39311         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
39312         * lib/unicodeio.c [!defined errno]: Likewise.
39313         * lib/strtol.c [!defined errno]: Likewise.
39314         * lib/strtod.c [!defined errno]: Likewise.
39315
39316 2006-06-15  Eric Blake  <ebb9@byu.net>
39317
39318         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
39319
39320 2006-06-15  Eric Blake  <ebb9@byu.net>
39321
39322         * config/srclist.txt (ssize_t.m4): Lose sync.
39323
39324 2006-06-15  Bruno Haible  <bruno@clisp.org>
39325
39326         * modules/stdint (Files): Include m4/full-header-path.m4,
39327         m4/size_max.m4, m4/wchar_t.m4.
39328         (Makefile.am): Many more substitutions.
39329         * modules/stdint-tests: New file.
39330         * tests/test-stdint.c: New file.
39331
39332 2006-06-15  Bruno Haible  <bruno@clisp.org>
39333
39334         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
39335         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
39336         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
39337         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
39338         gl_CHECK_TYPE_SAME): New macros.
39339
39340 2006-06-15  Bruno Haible  <bruno@clisp.org>
39341
39342         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
39343
39344 2006-06-15  Bruno Haible  <bruno@clisp.org>
39345
39346         * lib/stdint_.h: Rewritten to be fully auto-configured.
39347         Fixes bug on HP-UX/IA64.
39348
39349 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
39350
39351         * lib/getdate.y (__attribute__): Don't define if already defined.
39352         Problem reported by Larry Jones.
39353         * lib/utimens.c (__attribute__): Likewise.
39354
39355 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
39356
39357         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
39358         reported by Andreas Schwab.
39359
39360 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39361             Bruno Haible  <bruno@clisp.org>
39362
39363         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
39364         check for the declaration of strnlen and a run test that exposes the
39365         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
39366         rpl_strndup.
39367
39368 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39369             Bruno Haible  <bruno@clisp.org>
39370
39371         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
39372
39373 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39374
39375         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
39376         compile test, for Tru64 4.0D.
39377
39378 2006-05-28  Karl Berry  <karl@gnu.org>
39379
39380         * config/srclist.txt (printf-args.c): lose sync.
39381
39382 2006-05-26  Martin Lambers  <marlam@marlam.de>
39383
39384         * lib/getpass.c: Updates the test for the native W32 API, and adds
39385         missing includes, thus fixing compilation warnings.
39386
39387 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
39388
39389         * lib/exclude.c (exclude_fnmatch): New function.
39390         (excluded_file_name): Call exclude_fnmatch.
39391         * lib/exclude.h (excluded_file_name): New prototype
39392
39393 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
39394
39395         * lib/tempname.c (small_open, large_open): New macros.
39396         (__open, __open64) [!_LIBC]: Remove.
39397         (__gen_tempname): Use small_open and large_open instead of __open
39398         and __open64.  This fixes a portability bug on HP-UX 11.11i
39399         reported by Simon Wing-Tang in
39400         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
39401
39402 2006-05-24  Bruno Haible  <bruno@clisp.org>
39403
39404         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
39405         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
39406         Reported by Thorsten Maerz <torte@netztorte.de> via
39407         Aaron Stone <aaron@serendipity.cx>.
39408
39409 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
39410
39411         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
39412         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
39413         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
39414         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
39415         not really conditional on the cache.
39416         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
39417
39418 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
39419
39420         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
39421         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
39422         (my_usleep): Don't mishandle maximum value.
39423
39424 2006-05-19  Jim Meyering  <jim@meyering.net>
39425
39426         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
39427
39428 2006-05-17  Bruno Haible  <bruno@clisp.org>
39429
39430         Cygwin portability.
39431         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
39432
39433 2006-05-17  Bruno Haible  <bruno@clisp.org>
39434
39435         * lib/stdint_.h: Fix recognition of Cygwin.
39436
39437 2006-05-15  Bruno Haible  <bruno@clisp.org>
39438
39439         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
39440         on libtool patch by Ralf Wildenhues.
39441
39442 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
39443
39444         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
39445         test for C99 conformance; (bool) 0.5 is an integer constant
39446         expression, but (bool) -0.5 is not.  Problem reported by Fedor
39447         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
39448
39449 2006-05-11  Simon Josefsson  <jas@extundo.com>
39450
39451         * m4/xvasprintf.m4: Fix obvious typo.
39452
39453 2006-05-11  Jim Meyering  <jim@meyering.net>
39454
39455         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
39456         James Lemley.
39457
39458 2006-05-10  Simon Josefsson  <jas@extundo.com>
39459
39460         * lib/md4.c: Typo fix, update copyright years.
39461         (K1, K2): Don't use L because it turn computations into 64-bit on
39462         64-bit platforms.
39463
39464 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
39465
39466         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
39467         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
39468         unwanted sign propagation, e.g., on hosts with 64-bit int.
39469         There still are some problems with reeelly weird theoretical hosts
39470         (e.g., 33-bit int) but it's not worth worrying about now.
39471         * lib/sha1.c (rol): Likewise.
39472         (K1, K2, K3, K4): Remove unnecessary L suffix.
39473
39474 2006-05-10  Bruno Haible  <bruno@clisp.org>
39475
39476         * lib/des.c: Cast to avoid warnings.
39477
39478 2006-05-09  Bruno Haible  <bruno@clisp.org>
39479
39480         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
39481         (Depends-on): Depend also on xsize, stdarg.
39482         (configure.ac): Add gl_XVASPRINTF.
39483
39484 2006-05-09  Bruno Haible  <bruno@clisp.org>
39485
39486         * m4/xvasprintf.m4: New file.
39487
39488 2006-05-09  Bruno Haible  <bruno@clisp.org>
39489
39490         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
39491         (EOVERFLOW): Define fallback value.
39492         (xstrcat): New function.
39493         (xvasprintf): Recognize the special case of a string concatenation.
39494
39495 2006-05-08  Eric Blake  <ebb9@byu.net>
39496
39497         * gnulib-tool (func_version): Base copyright year on CVS date.
39498         (func_emit_copyright_notice): New function.
39499         (func_emit_lib_Makefile_am): Use it.
39500         (func_emit_tests_Makefile_am): Likewise.
39501         (func_import): Likewise.
39502
39503 2006-05-08  Bruno Haible  <bruno@clisp.org>
39504
39505         * modules/stdarg: New file.
39506         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
39507
39508 2006-05-08  Bruno Haible  <bruno@clisp.org>
39509
39510         * m4/stdarg.m4: New file, from GNU gettext.
39511
39512 2006-05-08  Bruno Haible  <bruno@clisp.org>
39513
39514         * config/srclist.txt (build-aux/config.rpath): different from latest
39515         release.
39516
39517 2006-05-08  Bruno Haible  <bruno@clisp.org>
39518
39519         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
39520
39521 2006-05-05  Jim Meyering  <jim@meyering.net>
39522
39523         * m4/warning.m4: New file, derived from bison's file by the same name.
39524
39525 2006-05-03  Bruno Haible  <bruno@clisp.org>
39526
39527         * lib/stdint_.h: Shorter URL.
39528         * lib/inttypes.h: Likewise.
39529
39530 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
39531
39532         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
39533
39534 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
39535
39536         * lib/verify.h: Document the internals better.  Most of this change
39537         was written by Bruno Haible.
39538
39539 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
39540
39541         * doc/verify.texi: New file, partly based on a proposal by
39542         Bruno Haible.
39543
39544 2006-05-02  Bruno Haible  <bruno@clisp.org>
39545
39546         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
39547         test from here...
39548         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
39549
39550 2006-04-29  Bruno Haible  <bruno@clisp.org>
39551
39552         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
39553         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
39554
39555 2006-04-29  Bruno Haible  <bruno@clisp.org>
39556
39557         * gnulib-tool: Make --update option actually work.
39558
39559 2006-04-29  Bruno Haible  <bruno@clisp.org>
39560
39561         * doc/gcd.texi: New file.
39562         * doc/gnulib.texi: Include it.
39563
39564 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
39565
39566         * lib/getdate.y (get_date): When adding relative date, start with the
39567         initial time, not with the result of the first mktime call.
39568
39569 2006-04-25  Bruno Haible  <bruno@clisp.org>
39570
39571         * gnulib-tool (func_import): Output the include directives in three
39572         blocks, sorted separately.
39573         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39574
39575 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
39576
39577         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
39578         to define main with arguments, for C++.  Reported by Eric Blake.
39579         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
39580         Prefer 'int main ()' to 'int main (void)', for C++.
39581         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
39582         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
39583         for 'main', for C99 and C++.
39584
39585 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
39586
39587         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
39588         Don't assume that exit status -1 is valid.
39589         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
39590         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
39591         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
39592         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
39593         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
39594         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
39595         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
39596         functions can be used without declaring them, or that you can
39597         exit with status -1.
39598         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
39599
39600 2006-04-24  Karl Berry  <karl@gnu.org>
39601
39602         * config/srclist.txt (longdouble.m4): sync lost.
39603
39604 2006-04-24  Eric Blake  <ebb9@byu.net>
39605
39606         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
39607
39608 2006-04-24  Bruno Haible  <bruno@clisp.org>
39609
39610         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
39611         poll() implementation in AIX.
39612         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39613
39614 2006-04-24  Bruno Haible  <bruno@clisp.org>
39615
39616         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
39617         assigned exactly once.
39618
39619 2006-04-23  Claudio Fontana  <claudio@gnu.org>
39620             Bruno Haible  <bruno@clisp.org>
39621
39622         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
39623         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
39624         for AM_CPPFLAGS.
39625
39626 2006-04-23  Bruno Haible  <bruno@clisp.org>
39627
39628         * modules/copy-file: Depend on unistd.
39629         * modules/execute: Likewise.
39630         * modules/fatal-signal: Likewise.
39631         * modules/findprog: Likewise.
39632         * modules/mkdtemp : Likewise.
39633         * modules/pipe: Likewise.
39634         * modules/wait-process: Likewise.
39635
39636 2006-04-23  Bruno Haible  <bruno@clisp.org>
39637
39638         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
39639         condition was already detected.
39640         Reported by Ben Pfaff <blp@cs.stanford.edu>.
39641
39642 2006-04-23  Bruno Haible  <bruno@clisp.org>
39643
39644         * lib/copy-file.c: Include <unistd.h> unconditionally.
39645         * lib/execute.c: Likewise.
39646         * lib/fatal-signal.c: Likewise.
39647         * lib/findprog.c: Likewise.
39648         * lib/mkdtemp.c: Likewise.
39649         * lib/pipe.h: Likewise.
39650         * lib/pipe.c: Likewise.
39651         * lib/wait-process.h: Likewise.
39652
39653 2006-04-23  Bruno Haible  <bruno@clisp.org>
39654
39655         * gnulib-tool (func_usage): Fix --import description. Document
39656         --update.
39657         (func_import): Create temporary file in a temporary directory, if
39658         --dry-run is specified. Silence errors from 'grep' when there are no
39659         m4 files in $m4dir.
39660         (func_create_testdir): Silence errors from 'grep' when there are no
39661         m4 files in $m4dir.
39662         Reported by Karl Berry <karl@freefriends.org>.
39663
39664 2006-04-20  Bruno Haible  <bruno@clisp.org>
39665
39666         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
39667         one argument, so that the code will be portable to Autoconf 2.60.
39668         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
39669         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
39670         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
39671
39672 2006-04-19  Derek Price  <derek@ximbiot.com>
39673             Eric Blake  <ebb9@byu.net>
39674
39675         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
39676         rather than "/full/path.h".  Update comment to match.  Shorten &
39677         generalize m4_translit call via AS_TR_CPP.
39678
39679 2006-04-19  Derek Price  <derek@ximbiot.com>
39680             Eric Blake  <ebb9@byu.net>
39681
39682         * lib/inttypes.h: Correct grammar in comment.
39683
39684 2006-04-18  Derek Price  <derek@ximbiot.com>
39685             Paul Eggert  <eggert@cs.ucla.edu>
39686
39687         * modules/inttypes: New file.
39688         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
39689
39690 2006-04-18  Derek Price  <derek@ximbiot.com>
39691             Paul Eggert  <eggert@cs.ucla.edu>
39692
39693         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
39694         New files.
39695
39696 2006-04-18  Derek Price  <derek@ximbiot.com>
39697             Paul Eggert  <eggert@cs.ucla.edu>
39698
39699         * lib/inttypes.h: New file.
39700         * lib/strtoimax.c: Assume <inttypes.h>.
39701
39702 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
39703
39704         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
39705         isn't mounted.  Problem reported by Kir Kolyshkin.
39706
39707 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
39708
39709         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
39710         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
39711         Derek R. Price.
39712         * lib/regex.h (RE_DUP_MAX): Update comment to match current
39713         implementation.
39714
39715 2006-04-12  Eric Blake  <ebb9@byu.net>
39716
39717         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
39718         is now done automatically by the corresponding Autoconf macro.
39719
39720 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
39721
39722         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
39723         time_r.h.
39724
39725 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39726
39727         Merge regex changes from libc, removing some of our
39728         POSIX-conformance changes that were rejected and redoing them in a
39729         less-intrusive way.
39730
39731         * lib/regcomp.c (re_compile_internal, init_dfa):
39732         Length arg is now size_t, not Idx.  All uses changed.
39733         (peek_token): Forward decl now says internal_function.
39734         (__re_error_msgid, __re_error_msgid_idx):
39735         Now static rather than extern with attribute_hidden.
39736         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
39737         For some reason libc prefers K&R style defns for external functions.
39738         (regerror) [!defined _LIBC]: Likewise.
39739         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
39740         (seek_collating_symbol_entry, lookup_collation_sequence_value):
39741         (build_range_exp, build_collating_symbol):
39742         Use K&R-style defn.
39743         (re_compile_fastmap): Use '\0' to memset, not 0.
39744         (utf8_sb_map): Make the calculations more obvious.
39745         (init_dfa, parse_bracket_exp, build_charclass_op):
39746         Call calloc and cast result, as glibc does.
39747         (init_word_char, fetch_token, peek_token, peek_token_bracket):
39748         (build_range_exp, build_collating_symbol):
39749         Now internal functions.
39750
39751         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
39752
39753         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
39754         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
39755         Don't depend on VMS; depend on __VMS instead, for POSIX
39756         namespace cleanness.
39757         (regoff_t): Define to ssize_t, not long int.
39758
39759         Remove the REG_ macros named below.  Instead, make the old names
39760         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
39761         __USE_GNU_REGEX.
39762         (REG_BACKSLASH_ESCAPE_IN_LISTS):
39763         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
39764         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
39765         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
39766         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
39767         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
39768         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
39769         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
39770         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
39771         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
39772         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
39773         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
39774         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
39775         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
39776         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
39777         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
39778         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
39779         (REG_NREGS):
39780         Remove.  All uses replaced by the old RE_* names.
39781         (RE_BACKSLASH_ESCAPE_IN_LISTS):
39782         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
39783         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
39784         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
39785         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
39786         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
39787         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
39788         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
39789         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
39790         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
39791         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
39792         Don't bother having these macros be independent of each others'
39793         values, since they no longer exist in the POSIX name space.
39794
39795         Rename the following member names back to their old names,
39796         unless !__USE_GNU_REGEX.  All uses changed back.
39797         (buffer): Renamed from re_buffer.
39798         (allocated): Renamed from re_allocated.
39799         (used): Renamed from re_used.
39800         (syntax): Renamed from re_syntax.
39801         (fastmap): Renamed from re_fastmap.
39802         (translate): Renamed from re_translate.
39803         (can_be_null): Renamed from re_can_be_null.
39804         (regs_allocated): Renamed from re_regs_allocated.
39805         (fastmap_accurate): Renamed from re_fastmap_accurate.
39806         (no_sub): Renamed from re_no_sub.
39807         (not_bol): Renamed from re_not_bol.
39808         (not_eol): Renamed from re_not_eol.
39809         (newline_anchor): Renamed from re_newline_anchor.
39810         (num_regs): Renamed from rm_num_regs.
39811         (start): Renamed from rm_start.
39812         (end): Renamed from rm_end.
39813
39814         (free_state): Move up a bit.
39815
39816         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
39817         #define to be empty.
39818         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
39819         when that is what is intended.
39820         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
39821         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
39822         (MAX): New macro.
39823         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
39824         All uses changed back to re_malloc, etc.  It's now the caller's
39825         responsibility to check for overflow; all callers changed.
39826         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
39827         (re_x2nrealloc): Remove.
39828         (free_state): Remove decl.
39829
39830         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
39831         (re_set_registers, re_exec):
39832         Use K&R-style defn.
39833
39834         2006-01-31  Roland McGrath  <roland@redhat.com>
39835
39836         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
39837         Reported by Mike Frysinger <vapier@gentoo.org>.
39838
39839         2006-01-15  Andreas Jaeger  <aj@suse.de>
39840
39841         [BZ #1950]
39842         * lib/regex_internal.c (re_string_reconstruct): Adjust for
39843         build_wcs_upper_buffer change.
39844         (build_wcs_upper_buffer): Change return type.
39845
39846         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
39847
39848         * lib/regex_internal.h: Include <stdint.h> if available.
39849
39850         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
39851
39852         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
39853
39854         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
39855
39856         * lib/regcomp.c: Adjust for changed secondary hash function.
39857
39858         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
39859
39860         * lib/regex.h: Pretty printing.
39861         Clean up namespace a bit.
39862
39863         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
39864
39865         * lib/regexec.c (update_cur_sifted_state, check_arrival,
39866         check_arrival_add_next_nodes): Avoid using uninitialized variable.
39867
39868         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
39869                     Ulrich Drepper  <drepper@redhat.com>
39870
39871         [BZ #1302]
39872         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
39873         changed.
39874         (bitset_word_t): Renamed from bitset_word.  All uses changed.
39875
39876         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
39877
39878         [BZ #281]
39879         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
39880         * lib/regcomp.c: Remove unnecessary uses of
39881         unsigned RE_TRANSLATE_TYPE.
39882         * lib/regex_internal.h: Likewise.
39883         * lib/regex_internal.c: Likewise.
39884         * lib/regexec.c: Likewise.
39885         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
39886
39887         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
39888
39889         * lib/regexec.c (find_recover_state): Remove unnecessary
39890         initialization.
39891         (transit_state_bkref): Make DFA a const pointer.
39892         (get_subexp): Likewise.
39893         (check_arrival): Likewise.
39894         (update_cur_sifted_state): Likewise.
39895         (re_search_internal): Likewise.
39896         (prune_impossible_nodes): Likewise.
39897         (acquire_init_state_context): Likewise.
39898         (proceed_next_node): Likewise.
39899         (set_regs): Likewise.
39900         (free_fail_stack_return): Likewise.
39901         (check_arrival_expand_ecl): Mark DFA parameter as const.
39902         (check_arrival_expand_ecl_sub): Likewise.
39903         (check_subexp_limits): Likewise.
39904         (sub_epsilon_src_nodes):  Likewise.
39905         (add_epsilon_src_nodes):  Likewise.
39906         (merge_state_array): Likewise.
39907         (update_regs): Likewise.
39908         (build_trtable): Likewise.
39909         (sift_states_backward): Mark MCTX parameter as const.
39910         (build_sifted_states): Likewise.
39911         (update_cur_sifted_state): Likewise.
39912         (sift_states_mkref): Likewise.
39913         (check_arrival_expand_ecl): Mark eclosure as const.
39914         (check_dst_limits_calc_pos_1): Likewise.
39915         * lib/regex_internal.h (re_match_context_t): Make dfa a const
39916         pointer.
39917
39918         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
39919
39920         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
39921         (transit_state_sb): Likewise.
39922         (transit_state_mb): Likewise.
39923         (sift_states_iter_mb): Likewise.
39924         (check_arrival_add_next_nodes): Likewise.
39925         (check_node_accept_bytes): Change first parameter to pointer-to-const.
39926         [_LIBC] (re_search_2_stub): Use mempcpy.
39927
39928         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
39929         mbrtowc for very simple UTF-8 case.
39930
39931         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
39932         a pointer-to-const.
39933         (re_acquire_state_context): Likewise.
39934         * lib/regex_internal.h: Adjust prototypes.
39935
39936         * lib/regex.c: Prevent using C++ compilers.
39937
39938         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
39939         (re_acquire_state_context): Likewise.
39940
39941 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39942
39943         * modules/regex (Depends-on): Add ssize_t.
39944
39945 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39946
39947         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
39948         translation table.
39949
39950 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
39951
39952         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
39953
39954 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
39955             Bruno Haible  <bruno@clisp.org>
39956
39957         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
39958         <sys/types.h> and <inttypes.h>.
39959
39960 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39961
39962         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
39963         `__error_t_defined', so argp.h will not typedef the former.
39964
39965 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
39966
39967         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
39968         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
39969         glibc names.  Even if glibc is changed to conform to POSIX, the
39970         traditional names will be available anyway, since regex depends on
39971         the extensions module.  Also, fix a longstanding typo in the
39972         implementation of Spencer ERE test #75 from grep 2.3.  Problems
39973         reported by Emanuele Giaquinta.  Also, change sense of cached
39974         variable, so that the message makes sense.
39975
39976 2006-03-24  Simon Josefsson  <jas@extundo.com>
39977
39978         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
39979         including some doc fixes.
39980         (base64_encode_alloc): Fix +1 bug on allocation failures.
39981
39982 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39983
39984         * lib/base64.c (base64_encode): Do not read past end of array with
39985         unsanitized input on systems with CHAR_BIT > 8.
39986
39987 2006-03-24  Eric Blake  <ebb9@byu.net>
39988
39989         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
39990
39991 2006-03-22  Karl Berry  <karl@gnu.org>
39992
39993         * config/srclist.txt (*setenv.[ch]): get from coreutils.
39994         * config/srclistvars.sh (COREUTILS): new var.
39995
39996 2006-03-17  Jim Meyering  <jim@meyering.net>
39997
39998         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
39999         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
40000
40001 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
40002
40003         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
40004         no longer needs it.  Instead, check that regoff_t is as least
40005         as wide as ptrdiff_t.
40006
40007         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
40008         so that our regex.h stays compatible with the installed regex.
40009         This is helpful for installers who configure --without-included-regex.
40010         Problem reported by Emanuele Giaquinta.
40011
40012 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
40013
40014         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
40015         Typedef to long int, not to off_, as POSIX will likely change
40016         in that direction.
40017
40018 2006-03-15  Eric Blake  <ebb9@byu.net>
40019
40020         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
40021
40022 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
40023
40024         * lib/argp-help.c (validate_uparams): Fix typo
40025         * lib/argp-parse.c (argp_default_options): Consistently begin help
40026         messages with a lowercase letter.
40027
40028 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
40029
40030         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
40031         overrun buffers and shouldn't be used (much as gets shouldn't be
40032         used).
40033         * lib/time_r.c (asctime_r, ctime_r): Likewise.
40034
40035 2006-03-08  Simon Josefsson  <jas@extundo.com>
40036
40037         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
40038         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40039
40040 2006-03-08  Simon Josefsson  <jas@extundo.com>
40041
40042         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
40043         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40044
40045 2006-03-08  Simon Josefsson  <jas@extundo.com>
40046
40047         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
40048         signal that configure disabled the device.
40049
40050 2006-03-08  Simon Josefsson  <jas@extundo.com>
40051
40052         * build-aux/maint.mk: Fix refresh-po, to handle no translated
40053         languages.
40054
40055 2006-03-07  Simon Josefsson  <jas@extundo.com>
40056
40057         * modules/getopt (Depends-on): Add unistd.
40058
40059         * modules/unistd: New file.
40060
40061 2006-03-07  Simon Josefsson  <jas@extundo.com>
40062
40063         * modules/gc-random: New file.
40064
40065 2006-03-07  Simon Josefsson  <jas@extundo.com>
40066
40067         * m4/unistd_h.m4: New file.
40068
40069 2006-03-07  Simon Josefsson  <jas@extundo.com>
40070
40071         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
40072         test to be side-effect free by storing the result in the cache
40073         variable gl_cv_lib_readline, and moving the assignment of
40074         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
40075         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40076
40077 2006-03-07  Simon Josefsson  <jas@extundo.com>
40078
40079         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
40080         error on missing devices (the functions will return an error).
40081
40082         * m4/gc.m4: Move random stuff to gc-random.m4
40083
40084 2006-03-07  Simon Josefsson  <jas@extundo.com>
40085
40086         * lib/unistd_.h: New file.
40087
40088 2006-03-07  Simon Josefsson  <jas@extundo.com>
40089
40090         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
40091
40092 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
40093
40094         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
40095         Problem reported by Juan Manuel Guerrero.
40096
40097 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
40098
40099         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
40100         the unistd module.
40101         * lib/getlogin_r.c: Likewise.
40102         * lib/getlogin_r.h: Likewise.
40103         * lib/glob.c: Likewise.
40104         * lib/pagealign_alloc.c: Likewise.
40105         * lib/unistd_.h: Remove; no longer needed.
40106
40107 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
40108
40109         * MODULES.html.sh (Support for systems lacking POSIX:2001):
40110         Add unistd.
40111         * modules/c-stack (Depends-on): Add unistd.
40112         * modules/getlogin_r: Likewise.
40113         * modules/glob: Likewise.
40114         * modules/pagealign_alloc: Likewise.
40115         * modules/unistd (Files): Remove lib/unistd_.h.
40116         (EXTRA_DIST): Remove.
40117         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
40118         need unistd_.h.
40119         (MOSTLYCLEANFILES): Remove unistd.h-t.
40120
40121 2006-03-03  Simon Josefsson  <jas@extundo.com>
40122
40123         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
40124
40125 2006-03-03  Simon Josefsson  <jas@extundo.com>
40126
40127         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
40128         libidn and bison.
40129
40130 2006-03-03  Simon Josefsson  <jas@extundo.com>
40131
40132         * build-aux/maint.mk: Add indent target.
40133
40134 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
40135
40136         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
40137         our replacement poll.h in any case, to avoid a differing
40138         declaration from a system header.  Seen on AIX.
40139
40140 2006-03-01  Simon Josefsson  <jas@extundo.com>
40141
40142         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
40143         <kasal@ucw.cz>.
40144
40145 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
40146
40147         * modules/gettime (Depends-on): Add extensions module.
40148         * modules/nanosleep (Depends-on): Likewise.
40149         * modules/settime (Depends-on): Likewise.
40150
40151 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
40152
40153         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
40154         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
40155         pedantically.
40156         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
40157         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
40158
40159         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
40160         not "==".  Reported by Ralf Wildenhues.
40161
40162 2006-03-01  Karl Berry  <karl@gnu.org>
40163
40164         * doc/Copyright/request-*: new files, synced from gnuorg.
40165
40166 2006-03-01  Karl Berry  <karl@gnu.org>
40167
40168         * config/srclist.txt (Copyright/*): new entries.
40169
40170 2006-02-28  Simon Josefsson  <jas@extundo.com>
40171
40172         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
40173
40174 2006-02-27  Simon Josefsson  <jas@extundo.com>
40175
40176         * lib/base64.h: Indent #define's.  From Jim Meyering
40177         <jim@meyering.net>.
40178
40179 2006-02-27  Jim Meyering  <jim@meyering.net>
40180
40181         Revert the change of 2006-02-24, so these files can continue
40182         to be sync'd from gettext.
40183         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
40184         of `config.h'.
40185
40186 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
40187
40188         * modules/intprops: New file.
40189         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
40190         Add intprops.
40191         * modules/getloadavg (Files): Remove lib/intprops.h.
40192         (Depends-on): Add intprops.
40193         * modules/human: Likewise.
40194         * modules/inttostr: Likewise.
40195         * modules/openat: Likewise.
40196         * modules/sig2str: Likewise.
40197         * modules/userspec: Likewise.
40198         * modules/utimecmp: Likewise.
40199         * modules/xnanosleep: Likewise.
40200         * modules/xstrtol: Likewise.
40201
40202 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
40203
40204         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
40205         * modules/lock-tests (TESTS): Use $(EXEEXT).
40206         * modules/tls-tests: Likewise.
40207         * modules/argp-tests: Likewise.
40208         (check_PROGRAMS): New var, replacing...
40209         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
40210
40211 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40212
40213         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
40214         `config.h'.
40215
40216 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
40217
40218         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
40219
40220 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40221
40222         Sync from coreutils.
40223         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
40224         gl_CHDIR_SAFER.
40225
40226 2006-02-22  Jim Meyering  <jim@meyering.net>
40227
40228         Sync from coreutils.
40229         * m4/chdir-safer.m4: New file.
40230
40231 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
40232
40233         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
40234         AT_FDCWD exceeds INT_MAX.
40235         * lib/openat.h (AT_FDCWD): Likewise.
40236
40237 2006-02-17  Eric Blake  <address@hidden>
40238
40239         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
40240
40241 2006-02-16  Simon Josefsson  <jas@extundo.com>
40242
40243         * modules/getaddrinfo (Depends-on): Add sys_socket.
40244
40245 2006-02-15  Simon Josefsson  <jas@extundo.com>
40246
40247         * build-aux/maint.mk: Add dsyntax-check rule.
40248
40249 2006-02-15  Eric Blake  <ebb9@byu.net>
40250
40251         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
40252         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
40253         'present but cannot compile' warnings on cygwin.
40254         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
40255         use ws2tcpip.h if sys/socket.h works.
40256         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
40257         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
40258
40259 2006-02-14  Simon Josefsson  <jas@extundo.com>
40260
40261         * modules/maintainer-makefile (Files): Rename.
40262
40263         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
40264         and (the local) Makefile.cfg to maint-cfg.mk.
40265
40266         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
40267         to the latter.
40268
40269         * modules/maintainer-makefile: New module.
40270
40271         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
40272         severaly stripped to make it possible to build it up from scratch
40273         with reliable tests.
40274
40275         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
40276         fixes to permit overriding the default actions when configure and
40277         makefile are not available.
40278
40279 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
40280
40281         Sync from coreutils.
40282         * modules/lstat (Depends-on): Don't depend on xalloc.
40283         (License): Change from GPL to LGPL, since this is now simply a
40284         replacement for a libc function.
40285
40286 2006-02-14  Jim Meyering  <jim@meyering.net>
40287
40288         Sync from coreutils.
40289
40290         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
40291         failure on deficient systems, and simplify gnulib lgpl dependencies.
40292         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
40293         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
40294
40295         * lib/xalloc-die.c: Remove unused definition of N_.
40296
40297 2006-02-14  Jim Meyering  <jim@meyering.net>
40298
40299         Sync from coreutils.
40300         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
40301         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
40302         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
40303         double-quote uses of that variable, to accommodate the rare case in
40304         which getmntent is available in none of the libraries checked.  This
40305         happens at least on FreeBSD 5.0.
40306
40307 2006-02-13  Simon Josefsson  <jas@extundo.com>
40308
40309         * gnulib-tool (Usage): Fix --import, from
40310         karl@freefriends.org (Karl Berry).
40311
40312 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
40313
40314         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
40315
40316 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
40317
40318         * lib/argp-namefrob.h: Restore changes accidentally lost during the
40319         "autoupdate" on 2005-12-12.
40320
40321 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
40322
40323         * modules/closeout (Depends-on): Remove atexit.
40324
40325 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
40326
40327         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
40328         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
40329
40330 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
40331
40332         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
40333         __EXTENSIONS__ if this causes compilation to fail.  Problem
40334         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
40335         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
40336
40337 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
40338
40339         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
40340         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
40341         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
40342         All uses changed.
40343
40344 2006-01-26  Simon Josefsson  <jas@extundo.com>
40345
40346         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
40347         prototype is visible on mingw32.
40348
40349         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
40350         for mingw32.
40351
40352         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
40353         mingw32).
40354
40355 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
40356
40357         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
40358         attempt to open for write; this always fails, at least on POSIX
40359         hosts.  This reinstates the 2006-01-09 change, which was
40360         inadvertently removed.
40361
40362 2006-01-26  Bruno Haible  <bruno@clisp.org>
40363
40364         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
40365         Reported by Paul Eggert.
40366
40367 2006-01-26  Bruno Haible  <bruno@clisp.org>
40368             Paul Eggert  <eggert@cs.ucla.edu>
40369
40370         * lib/stdbool_.h (_Bool)
40371         [(! (defined __cplusplus || defined __BEOS__)
40372           && !defined __GNUC__
40373           && !(defined __HP_cc || defined __xlc__
40374                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
40375                || defined __sgi))]:
40376         #define to signed char in these cases too; this simplifies
40377         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
40378         etc., separately) and makes it more conservative.
40379
40380 2006-01-25  Simon Josefsson  <jas@extundo.com>
40381
40382         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
40383         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
40384         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
40385
40386 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
40387
40388         * lib/argp-namefrob.h: Bugfix. Remove stray #
40389
40390 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
40391
40392         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
40393         so that we test the test.
40394         Check for yet another HP-UX cc bug involving *bool |= bool.
40395
40396 2006-01-25  Karl Berry  <karl@gnu.org>
40397
40398         * config/srclist.txt (vasnprintf.c): sync lost.
40399
40400 2006-01-25  Jim Meyering  <jim@meyering.net>
40401
40402         Sync from the stable (b5) branch of coreutils:
40403
40404         * lib/fts.c (fts_children): Don't let close() clobber errno from
40405         failed fchdir().
40406
40407         * lib/fts.c (fts_stat): When following a symlink-to-directory,
40408         don't necessarily interpret stat-fails+lstat-succeeds as indicating
40409         a dangling symlink.  That can also happen at least for ELOOP.
40410         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
40411         FYI, this bug predates the inclusion of fts.c in coreutils.
40412
40413         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
40414         in their own block, so pre-c99 compilers don't object.
40415
40416         Avoid the double-free (first in fts_read, second in fts_close) that
40417         would occur when an `active' directory is made inaccessible (e.g.,
40418         via chmod a-x) during a traversal.
40419         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
40420         before returning.  Reproduce this failure by
40421         mkdir -p a/b; cd a; chmod a-x . b
40422         Reported by Stavros Passas.
40423
40424 2006-01-25  Jim Meyering  <jim@meyering.net>
40425
40426         * lib/fileblocks.c: Remove more useless parentheses.
40427         * lib/readutmp.h: Likewise.
40428
40429 2006-01-25  Bruno Haible  <bruno@clisp.org>
40430
40431         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
40432         warnings.
40433         Reported by Paul Eggert.
40434
40435 2006-01-25  Bruno Haible  <bruno@clisp.org>
40436
40437         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
40438         rid of a trap command. For Solaris sh.
40439         Reported by Mark D. Baushke <mdb@gnu.org>.
40440
40441 2006-01-24  Simon Josefsson  <jas@extundo.com>
40442
40443         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
40444         Bruno.
40445
40446 2006-01-24  Karl Berry  <karl@gnu.org>
40447
40448         * config/srclist.txt (argp-namefrob.h): sync lost.
40449
40450 2006-01-24  Jim Meyering  <jim@meyering.net>
40451
40452         * modules/openat (Files): Add lib/intprops.h.
40453         From Mark D. Baushke.
40454
40455 2006-01-24  Jim Meyering  <jim@meyering.net>
40456
40457         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
40458         Reported by Mark D. Baushke.
40459
40460 2006-01-24  Jim Meyering  <jim@meyering.net>
40461
40462         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
40463
40464 2006-01-24  Bruno Haible  <bruno@clisp.org>
40465
40466         * modules/strnlen (Maintainer): Change from glibc to all.
40467
40468 2006-01-24  Bruno Haible  <bruno@clisp.org>
40469
40470         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
40471         Patch by Paul Eggert.
40472
40473 2006-01-24  Bruno Haible  <bruno@clisp.org>
40474
40475         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
40476         already has it.
40477         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
40478         2005-11-26.
40479
40480         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
40481         'signed char' to avoid problems with the built-in _Bool type.
40482         Reported by Paul Eggert on 2005-11-26.
40483
40484 2006-01-24  Bruno Haible  <bruno@clisp.org>
40485
40486         * gnulib-tool (func_import): Avoid constructing complicated sed
40487         expressions inside backquote.
40488         Report and solution by Mark D. Baushke <mdb@gnu.org>.
40489
40490 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
40491
40492         These changes imported from libc.
40493         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
40494         test and two separate function calls.
40495         * lib/strndup.c (__strndup): Add libc_hidden_def.
40496
40497 2006-01-23  Simon Josefsson  <jas@extundo.com>
40498
40499         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
40500         Remove the test_*_SOURCES variable: automake infers it by default.
40501         * modules/tls-tests: Likewise.
40502
40503 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40504
40505         Work around porting bugs reported by Dieter in
40506         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
40507         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
40508         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
40509         Include "getopt.h" first, to check interface.
40510         (getenv): Declare only if defined HAVE_DECL_GETENV &&
40511         !HAVE_DECL_GETENV.
40512         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
40513         (__strndup): Revert to K&R-style function dfns, the glibc style.
40514         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
40515         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
40516         Include strnlen.h first, to get prototype properly.
40517         (strnlen): Renamed from __strnlen.
40518         Remove weak alias.
40519
40520 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40521
40522         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
40523
40524 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
40525
40526         * config/srclist.txt: Adjust to reflect glibc reorganization.
40527         This affects only comments.
40528
40529 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
40530
40531          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
40532          Reported by Bruce Korb <bkorb@gnu.org>.
40533
40534 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
40535
40536         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
40537         to pacify gcc -Wswitch-default.
40538
40539 2006-01-22  Bruno Haible  <bruno@clisp.org>
40540
40541         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
40542         temporary buffer for sprintf, take into account the precision also
40543         for 'd', 'i', 'u', 'o', 'x', 'X'.
40544
40545 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
40546
40547         * modules/argp-tests: New module
40548         * tests/test-argp.c: New file
40549         * tests/test-argp-2.sh: New file
40550
40551 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
40552
40553         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
40554         (__argp_base_name): Removed
40555         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
40556         typo.
40557         (__argp_base_name): Provide macro definition or extern declaration
40558         depending on the configuration
40559
40560 2006-01-20  Simon Josefsson  <jas@extundo.com>
40561
40562         * modules/inet_ntop (Depends-on): Depend on sys_socket.
40563
40564 2006-01-20  Simon Josefsson  <jas@extundo.com>
40565
40566         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
40567
40568 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
40569
40570         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
40571         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
40572         Suggested by Bruno Haible.
40573
40574 2006-01-20  Karl Berry  <karl@gnu.org>
40575
40576         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
40577         until changes propagate, I guess.
40578
40579 2006-01-19  Simon Josefsson  <jas@extundo.com>
40580
40581         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
40582
40583 2006-01-19  Simon Josefsson  <jas@extundo.com>
40584
40585         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
40586
40587 2006-01-19  Simon Josefsson  <jas@extundo.com>
40588
40589         * gnulib-tool: Set check_PROGRAMS.
40590
40591         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
40592         modules/des-tests, modules/gc-arcfour-tests,
40593         modules/gc-arctwo-tests, modules/gc-des-tests,
40594         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
40595         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
40596         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
40597         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
40598         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
40599         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
40600         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
40601         test_*_SOURCES.
40602
40603 2006-01-18  Simon Josefsson  <jas@extundo.com>
40604
40605         * modules/socklen (Depends-on): Depend on sys_socket.
40606
40607 2006-01-18  Simon Josefsson  <jas@extundo.com>
40608
40609         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
40610         modules/des-tests, modules/gc-arcfour-tests,
40611         modules/gc-arctwo-tests, modules/gc-des-tests,
40612         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
40613         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
40614         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
40615         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
40616         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
40617         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
40618         $(EXEEXT) to automake TESTS variable, for mingw32.
40619
40620 2006-01-17  Simon Josefsson  <jas@extundo.com>
40621
40622         * modules/socklen (Include): Need sys/socket.h.
40623
40624 2006-01-17  Bruno Haible  <bruno@clisp.org>
40625
40626         * modules/ssize_t (Include): Add <sys/types.h>.
40627
40628 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
40629
40630         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
40631         it's not portable and it doesn't work with cross-compiles.
40632         Problem reported by Bruno Haible.  Fix missing-$ typo in
40633         'test "gl_cv_ignore_unused_libraries" ...' that prevented
40634         -zignore from being used with Sun's C compiler.
40635
40636 2006-01-12  Simon Josefsson  <jas@extundo.com>
40637
40638         * lib/base64.c: Fix warning, reported by Bruno Haible
40639         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
40640
40641 2006-01-12  Bruno Haible  <bruno@clisp.org>
40642
40643         * modules/ldd: New file.
40644         * build-aux/ldd.sh.in: New file.
40645         * MODULES.html.sh (Support for building libraries and executables): Add
40646         ldd.
40647
40648 2006-01-12  Bruno Haible  <bruno@clisp.org>
40649
40650         * m4/ldd.m4: New file.
40651
40652 2006-01-12  Bruno Haible  <bruno@clisp.org>
40653
40654         * gnulib-tool (func_import, func_create_testdir): Don't go into an
40655         endless loop while replacing $auxdir with build-aux.
40656
40657 2006-01-11  Simon Josefsson  <jas@extundo.com>
40658
40659         * lib/stdint_.h (SIZE_MAX): Add missing (.
40660
40661 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
40662
40663         Sync from coreutils.
40664         * lib/md5.c: Fix commentary typos.
40665         (alignof, UNALIGNED_P): No need for a GCC-specific version.
40666         * lib/md5.h (__attribute__): Remove; unused.
40667         * lib/sha1.c: Fix commentary to match md5 better.
40668         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
40669         so that we don't need to worry about alignment.  All uses changed.
40670         This merges the 2005-10-28 md5 change into sha1.
40671
40672 2006-01-11  Jim Meyering  <jim@meyering.net>
40673
40674         Sync from coreutils.
40675         * lib/md5.c (OP): Fix spacing.
40676
40677 2006-01-11  Bruno Haible  <bruno@clisp.org>
40678
40679         Ensure automatic ordering between gl_LOCK and gl_ARGP.
40680         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
40681         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
40682
40683 2006-01-11  Bruno Haible  <bruno@clisp.org>
40684
40685         Ensure automatic ordering between gl_LOCK and gl_ARGP.
40686         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
40687         the "early" section as well.
40688
40689 2006-01-11  Bruno Haible  <bruno@clisp.org>
40690
40691         Avoid "ar: no archive members specified" error on MacOS X.
40692         * gnulib-tool (func_modules_add_dummy): New function.
40693         (func_import, func_create_testdir): Invoke it.
40694
40695 2006-01-11  Bruno Haible  <bruno@clisp.org>
40696
40697         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
40698         with $auxdir in AC_CONFIG_FILES statements.
40699
40700 2006-01-11  Bruno Haible  <bruno@clisp.org>
40701
40702         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
40703         Initialize also noinst_HEADERS to empty.
40704
40705 2006-01-11  Bruno Haible  <bruno@clisp.org>
40706
40707         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
40708         variables.
40709         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
40710         autoreconf.
40711
40712 2006-01-11  Bruno Haible  <bruno@clisp.org>
40713
40714         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
40715         overridable by the user.
40716         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
40717
40718 2006-01-10  Simon Josefsson  <jas@extundo.com>
40719
40720         * modules/sys_socket: New file.
40721
40722 2006-01-10  Simon Josefsson  <jas@extundo.com>
40723
40724         * m4/sys_socket_h.m4: New file.
40725
40726 2006-01-10  Simon Josefsson  <jas@extundo.com>
40727
40728         * lib/socket_.h: New file.
40729
40730 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40731
40732         * modules/readutmp (Maintainer): Add myself.
40733
40734 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40735
40736         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
40737         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
40738         People who are still concerned with buggy memcmp implementations
40739         can invoke gl_FUNC_MEMCMP themselves.
40740
40741 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
40742
40743         * lib/regex_internal.h (BITSET_WORD_BITS):
40744         Work around a bug in 64-bit PGC (before version 6.1-2), where the
40745         preprocessor mishandles large unsigned values as if they were signed.
40746         Problem reported by Claudio Fontana in
40747         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
40748
40749 2006-01-10  Jim Meyering  <jim@meyering.net>
40750
40751         Avoid the double-free (first in fts_read, second in fts_close) that
40752         would occur when an `active' directory is made inaccessible (e.g.,
40753         via chmod a-x) during a traversal.
40754         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
40755         before returning.  Reproduce this failure by
40756         mkdir -p a/b; cd a; chmod a-x . b
40757         Reported by Stavros Passas.
40758
40759         Sync from coreutils.
40760         * lib/sha1.c: Tweak grammar in a comment.
40761
40762 2006-01-10  Jim Meyering  <jim@meyering.net>
40763
40764         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
40765         Patch by Joerg Sonnenberger.
40766
40767 2006-01-10  Bruno Haible  <bruno@clisp.org>
40768
40769         * modules/readutmp: Depend on module free.
40770         * modules/strtok_r: Depend on module restrict.
40771
40772 2006-01-10  Bruno Haible  <bruno@clisp.org>
40773
40774         * modules/gettext (configure.ac): Add an invocation of
40775         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
40776
40777 2006-01-10  Bruno Haible  <bruno@clisp.org>
40778
40779         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
40780         Reported by Werner Lemberg <wl@gnu.org>.
40781
40782 2006-01-10  Bruno Haible  <bruno@clisp.org>
40783
40784         * lib/localcharset.c: Update from GNU gettext.
40785
40786 2006-01-10  Bruno Haible  <bruno@clisp.org>
40787
40788         * lib/argp.h (__const): Remove macro. Use const instead.
40789         * lib/argp-fmtstream.h (__const): Likewise.
40790         * lib/glob_.h (__const): Remove macro.
40791         * lib/glob-libc.h: Use const instead of __const.
40792
40793 2006-01-10  Bruno Haible  <bruno@clisp.org>
40794
40795         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
40796         variable.
40797         Needed to avoid an automake error regarding the 'gettext' module.
40798
40799 2006-01-09  Simon Josefsson  <jas@extundo.com>
40800
40801         * modules/inet_ntop (Depends-on): Add restrict.
40802
40803 2006-01-09  Simon Josefsson  <jas@extundo.com>
40804
40805         * modules/gc-rijndael-tests (License): Put under LGPL.
40806
40807         * modules/gc-des-tests (License): Likewise.
40808
40809         * modules/gc-arcfour-tests (License): Likewise.
40810
40811         * modules/gc-arctwo-tests (License): Likewise.
40812
40813         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
40814
40815         * modules/gc-hmac-sha1-tests (Files): Likewise.
40816
40817         * modules/gc-hmac-md5-tests (License): Likewise.
40818
40819         * modules/gc-sha1-tests (License): Likewise.
40820
40821         * modules/gc-md5-tests (License): Likewise.
40822
40823         * modules/gc-md4-tests (License): Likewise.
40824
40825         * modules/gc-md2-tests (License): Likewise.
40826
40827         * modules/gc-tests (License): Likewise.
40828
40829         * modules/des-tests (License): Likewise.
40830
40831         * modules/md4-tests (License): Likewise.
40832
40833         * modules/md2-tests (License): Likewise.
40834
40835 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40836
40837         Sync from coreutils:
40838
40839         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
40840         * modules/lib-ignore: New file.
40841         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
40842         chdir-safer.m4, lchmod.m4.
40843         * modules/openat: Add mkdirat.c, openat-priv.h.
40844
40845 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40846
40847         Sync from coreutils.
40848         * m4/lib-ignore.m4: New file.
40849         * m4/lchmod.m4: New file.
40850
40851 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40852
40853         Sync from coreutils.
40854         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
40855         for write access: POSIX says that must fail.
40856         * lib/fts.c (diropen): Likewise.
40857         * lib/save-cwd.c (save_cwd): Likewise.
40858         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
40859         well, for minor improvements on hosts that lack O_DIRECTORY.
40860         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
40861         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
40862         Fall back on chown if open failed with EACCES.
40863
40864         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
40865         Report an error at compile-time if only a 1-second nominal clock
40866         resolution is found.
40867
40868         * lib/lchmod.h: New file.
40869         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
40870         (make_dir_parents): Use lchown rather than chown, and
40871         lchmod rather than chmod.
40872
40873         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
40874         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
40875         "proc" reported by n0dalus.
40876
40877         * lib/mountlist.c: Include <limits.h>.
40878         (dev_from_mount_options)
40879         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
40880         New function.  It no longer assumes "dev=" has the System V meaning
40881         on Linux (since it doesn't).  It also parses "dev=" more carefully.
40882         (read_file_system_list)
40883         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
40884         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
40885         dev= in that case.
40886
40887         * lib/posixtm.h (PDS_PRE_2000): New macro.
40888         * lib/posixtm.c (year): Arg is now syntax_bits rather than
40889         allow_century.  All usages changed.  Reject dates outside the range
40890         1969-1999 if PDS_PRE_2000 is used.
40891
40892 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
40893
40894         Sync from coreutils.
40895         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
40896         (Time of day items): Mention the possibility of leap seconds.
40897         Problem reported by Dr. David Alan Gilbert.
40898
40899 2006-01-09  Jim Meyering  <jim@meyering.net>
40900
40901         Sync from coreutils.
40902
40903         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
40904
40905         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
40906
40907         * lib/modechange.c (mode_compile): Reject an invalid mode string
40908         that starts with an octal digit.  From Andreas Gruenbacher.
40909
40910         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
40911         and dup to open_safer and dup_safer, respectively.
40912         (openat_permissive): Fix typo in comment.
40913
40914         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
40915         "gettext.h"; either no longer needed or are guaranteed by openat.h.
40916         (_): Remove; no longer needed.
40917         (openat): Renamed from rpl_openat; no need for rpl_openat
40918         since openat.h renames openat for us.
40919         Replace most of the body with a call to openat_permissive,
40920         to avoid duplicate code.
40921         Port to (probably hypothetical) environments were mode_t is
40922         wider than int.
40923         (openat_permissive): Require mode arg, so that we can check
40924         types better.  Put it just after flags.  Change cwd failure
40925         indicator from pointer-to-bool to pointer-to-errno-value.
40926         All callers changed.
40927         Invoke openat_save_fail and/or openat_restore_fail if
40928         cwd_errno is null, so that openat can call us.
40929         (openat_permissive, fdopendir, fstatat, unlinkat):
40930         Simplify errno handling to avoid some duplicate code,
40931         as it's OK to set errno on success.
40932         * lib/openat.h: Revamp code so that function macros depend on
40933         __OPENAT_PREFIX only, not also on AT_FDCWD.
40934         (openat_ro): Remove.  Caller changed to use openat_permissive.
40935         (openat_permissive): Now a macro, if not a function.
40936         (openat_restore_fail, openat_save_fail): Now always functions,
40937         since mkdirat needs them even if __OPENAT_PREFIX is defined.
40938
40939         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
40940         and openat.c.
40941         * lib/mkdirat.c: Include openat-priv.h.
40942         Remove definitions of macros defined therein.
40943         * lib/openat.c: Likewise.
40944
40945         * lib/mkdirat.c (mkdirat): New file and function.
40946         * lib/openat.h (mkdirat): Declare.
40947
40948         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
40949
40950         * lib/openat.h (openat_permissive): Declare.
40951         (openat_ro): Define.
40952
40953         * lib/openat.c (EXPECTED_ERRNO): New macro.
40954         (openat_permissive): New function -- used in remove.c rewrite.
40955         (all functions): Set errno just before returning, only if there
40956         was an actual failure.
40957         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
40958
40959         Emulate openat-family functions using Linux's procfs, if possible.
40960         Idea and some code based on Ulrich Drepper's glibc changes.
40961
40962         * lib/openat.c: (BUILD_PROC_NAME): New macro.
40963         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
40964         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
40965         before falling back on save_cwd and restore_cwd.
40966         (fdopendir, fstatat, unlinkat): Likewise.
40967
40968         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
40969         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
40970
40971         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
40972         as second argument to va_arg.  Otherwise, some versions of gcc
40973         warn that `if this code is reached, the program will abort'.
40974
40975 2006-01-09  Jim Meyering  <jim@meyering.net>
40976
40977         Sync from coreutils.
40978         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
40979         Require openat-priv.h.
40980
40981 2006-01-09  Bruno Haible  <bruno@clisp.org>
40982
40983         * modules/strnlen (Include): Use strnlen.h.
40984
40985 2006-01-09  Bruno Haible  <bruno@clisp.org>
40986
40987         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
40988
40989 2006-01-09  Bruno Haible  <bruno@clisp.org>
40990
40991         * lib/sysexit_.h (EX_OK): New macro.
40992         Suggested by Martin Lambers <marlam@marlam.de>.
40993
40994 2006-01-09  Bruno Haible  <bruno@clisp.org>
40995
40996         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
40997         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
40998
40999 2006-01-09  Bruno Haible  <bruno@clisp.org>
41000
41001         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
41002         numbers.
41003
41004 2006-01-09  Bruno Haible  <bruno@clisp.org>
41005
41006         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
41007         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
41008         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
41009         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
41010
41011 2006-01-09  Bruno Haible  <bruno@clisp.org>
41012
41013         * build-aux/javacomp.sh.in: New file, moved from lib/.
41014         * modules/javacomp-script (Files): Update.
41015         (configure.ac): Add AC_CONFIG_FILES invocation.
41016         (EXTRA_DIST): Remove variable.
41017
41018         * build-aux/javaexec.sh.in: New file, moved from lib/.
41019         * modules/javaexec (Files): Update.
41020         (configure.ac): Add AC_CONFIG_FILES invocation.
41021         (EXTRA_DIST): Remove javaexec.sh.in.
41022
41023         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
41024         * modules/csharpcomp-script (Files): Update.
41025         (configure.ac): Add AC_CONFIG_FILES invocation.
41026         (EXTRA_DIST): Remove variable.
41027
41028         * build-aux/csharpexec.sh.in: New file, moved from lib/.
41029         * modules/csharpexec (Files): Update.
41030         (configure.ac): Add AC_CONFIG_FILES invocation.
41031         (EXTRA_DIST): Remove csharpexec.sh.in.
41032
41033 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
41034
41035         Sync from coreutils.
41036
41037         Add POSIX ACL support
41038         * lib/acl.h (copy_acl, set_acl): Add declarations.
41039         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
41040         systems other than Linux.
41041         (chmod_or_fchmod): New function: use fchmod when possible,
41042         and chmod otherwise.
41043         (file_has_acl): Add a POSIX ACL implementation, with a
41044         Linux-specific subcase.
41045         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
41046         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
41047         acls are unsupported.
41048         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
41049         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
41050         are unsupported.
41051
41052 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
41053
41054         Sync from coreutils.
41055         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
41056
41057 2006-01-07  Bruno Haible  <bruno@clisp.org>
41058
41059         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
41060         gl_EARLY.
41061
41062 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
41063
41064         * lib/strftime.c (tzname): Don't declare if it is already #defined.
41065         Problem reported for Mingw by Mark Junker.
41066
41067 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
41068
41069         * README: Gnulib normally doesn't generate a tarball.
41070
41071 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
41072
41073         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
41074         long int, not int, for nanosecond counts, so that people who are
41075         used to POSIX struct timespec won't be surprised.  Reported by Jim
41076         Meyering.
41077
41078 2005-12-28  Bruno Haible  <bruno@clisp.org>
41079
41080         * build-aux/config.rpath: Update from GNU gettext.
41081
41082 2005-12-16  Jim Meyering  <jim@meyering.net>
41083
41084         * modules/fprintftime: New module.
41085         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
41086
41087 2005-12-16  Jim Meyering  <jim@meyering.net>
41088
41089         * m4/fprintftime.m4: New file.
41090
41091 2005-12-16  Jim Meyering  <jim@meyering.net>
41092
41093         * lib/fprintftime.c, lib/fprintftime.h: New files.
41094
41095 2005-12-15  Simon Josefsson  <jas@extundo.com>
41096
41097         * modules/socklen (configure.ac): Fix M4 macro name, to align with
41098         new m4/socklen.m4.
41099
41100 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
41101
41102         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
41103         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
41104
41105 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
41106
41107         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
41108         * lib/argp-help.c (fill_in_uparams): Check if the constructed
41109         struct uparams is valid. Fall back to the default values if it is
41110         not.
41111
41112 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41113
41114         * modules/argp (Files): Add argp-pin.c
41115         (Depends-on): dirname
41116         (lib_SOURCES): Add argp-pin.c
41117
41118 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41119
41120         * m4/argp.m4:  Check if program_invocation_name and
41121         program_invocation_short_name are declared and define appropriate
41122         macros if they are not.
41123
41124 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
41125
41126         * lib/argp-help.c (__argp_base_name): New function
41127         (__argp_short_program_name): Rewrite using __argp_base_name
41128         * lib/argp-namefrob.h: Define program_invocation_name and
41129         program_invocation_short_name if requested
41130         (__argp_base_name): Add prototype
41131         * lib/argp-parse.c (argp_def): Use gettext wrappers
41132         (argp_default_parser): Use __argp_base_name
41133         * lib/argp-pin.c: New file. Defines program_invocation_name and
41134         program_invocation_short_name on systems that lack them.
41135
41136 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41137
41138         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
41139         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
41140         porting problem reported by Georg Schwarz in
41141         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
41142
41143 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41144
41145         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
41146         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
41147         porting problem reported by Georg Schwarz in
41148         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
41149
41150 2005-12-05  Bruno Haible  <bruno@clisp.org>
41151
41152         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
41153         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
41154         Reported by Mark Junker <mjscod@gmx.de>.
41155
41156 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
41157
41158         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
41159         Use implementation from Albert Chin, with some
41160         comments/corrections by Stepan Kasal and myself.
41161
41162 2005-12-02  Bruno Haible  <bruno@clisp.org>
41163
41164         * gnulib-tool (func_import): Accept GPLed build tool modules when
41165         --lgpl is given.
41166         * modules/csharpcomp-script: New file.
41167         * modules/csharpcomp: Depend on it.
41168         * modules/javacomp-script: New file.
41169         * modules/javacomp: Depend on it.
41170         Suggested by Simon Josefsson.
41171
41172 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
41173
41174         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
41175         statement, to work around an HP-UX 10.20 compiler bug reported by
41176         Peter O'Gorman.
41177
41178 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
41179
41180         * modules/savedir (Depends-on): Add openat.
41181
41182 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
41183
41184         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
41185         (uintmax_t) [defined uintmax_t]: Do not declare.
41186         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
41187         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
41188         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
41189         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
41190         sake of portability to weird hosts that C allows (though we don't
41191         know of any practical examples).
41192
41193         * lib/savedir.h (fdsavedir): New decl.
41194         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
41195         contains most of the former guts of savedir.
41196         (savedir): Use savedirstream.
41197         Include "openat.h".
41198
41199 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
41200
41201         * modules/obstack (Files): Add m4/ulonglong.m4.
41202         Problem reported by Davide Angelocola.
41203
41204 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
41205
41206         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
41207         coreutils no longer futzes with rounding modes.
41208
41209 2005-11-14  Jim Meyering  <jim@meyering.net>
41210
41211         * lib/mkstemp-safer.c: Include <config.h>, required for possible
41212         replacement of mkstemp.
41213
41214 2005-11-10  Simon Josefsson  <jas@extundo.com>
41215
41216         * lib/readline.c: Remove EOL.
41217
41218 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
41219
41220         * modules/gethrxtime (Depends-on): Add gettime.
41221
41222 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
41223
41224         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
41225         or gettimeofday; no longer needed.
41226
41227 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
41228
41229         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
41230         time business.
41231         (gethrxtime) [! (HAVE_NANOUPTIME
41232         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
41233         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
41234         our own approximation.
41235
41236 2005-11-08  Eric Blake  <ebb9@byu.net>
41237
41238         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
41239
41240 2005-11-08  Eric Blake  <ebb9@byu.net>
41241
41242         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
41243
41244 2005-11-04  Bruno Haible  <bruno@clisp.org>
41245
41246         * gnulib-tool: Implement --update mode.
41247
41248 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
41249
41250         Fix porting problem reported by Theodoros V. Kalamatianos.
41251         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
41252         Don't assume that futimes failing means we must fail.
41253
41254 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
41255
41256         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
41257         variables to suggest the intended function of the PATH_MAX check.
41258
41259 2005-10-30  Kean Johnston  <jkj@sco.com>
41260
41261         Trivial changes to support SCO systems.
41262         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
41263         as PATH_MAX.
41264         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
41265         where __ptr is null when no I/O is pending.
41266
41267 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
41268
41269         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
41270         leave errno alone.  Problem reported by Dmitry V. Levin.
41271
41272 2005-10-28  Simon Josefsson  <jas@extundo.com>
41273
41274         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
41275         Test more.
41276
41277         * tests/test-gc-md2.c, tests/test-md2.c: New files.
41278
41279         * modules/md2, modules/md2-tests: New files.
41280
41281 2005-10-28  Simon Josefsson  <jas@extundo.com>
41282
41283         * m4/inet_ntop.m4: More tests.
41284
41285         * m4/gc-md2.m4, md2.m4: New file.
41286
41287 2005-10-28  Simon Josefsson  <jas@extundo.com>
41288
41289         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
41290         "restrict" keywords, as per POSIX.  Protect the function
41291         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
41292         Don't use K&R prototypes.  Check the sprintf return values.
41293         Re-define EAFNOSUPPORT if not present.  Indent.
41294
41295         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
41296         suggested by Bruno Haible <bruno@clisp.org>.
41297
41298         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
41299
41300         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
41301
41302         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
41303         libgcrypt).
41304
41305         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
41306
41307         * lib/md2.h, lib/md2.c: New files.
41308
41309 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
41310
41311         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
41312         errno alone.  Problem reported by Frederic Jolliton.
41313
41314 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
41315
41316         * modules/verify (License): Change from GPL to LGPL.  This is a
41317         tiny module and there are apparently near-equivalents that are
41318         under the BSD license.
41319
41320 2005-10-24  Simon Josefsson  <jas@extundo.com>
41321
41322         * modules/sha1: Relicense to LGPL.
41323
41324 2005-10-24  Simon Josefsson  <jas@extundo.com>
41325
41326         * lib/md4.h: Shrink buffer size, now that we changed the type.
41327
41328 2005-10-23  Simon Josefsson  <jas@extundo.com>
41329
41330         * gnulib-tool (func_import): Fix --tests-base.
41331
41332 2005-10-22  Simon Josefsson  <jas@extundo.com>
41333
41334         * modules/arcfour (Depends-on): Need stdint.
41335
41336 2005-10-22  Simon Josefsson  <jas@extundo.com>
41337
41338         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
41339         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
41340
41341 2005-10-22  Simon Josefsson  <jas@extundo.com>
41342
41343         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
41344         suggested by Bruno Haible <bruno@clisp.org>.
41345
41346 2005-10-22  Simon Josefsson  <jas@extundo.com>
41347
41348         * lib/crc.h: Include stddef.h, for size_t.
41349
41350 2005-10-22  Simon Josefsson  <jas@extundo.com>
41351
41352         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
41353         arcfour_context struct (simplify test vector testing in GNU
41354         Shishi).
41355
41356 2005-10-21  Simon Josefsson  <jas@extundo.com>
41357
41358         * modules/des, modules/des-tests: New files.
41359
41360         * modules/gc-des, modules/gc-des-tests: New files.
41361
41362         * tests/test-des.c, tests/test-gc-des.c: New file.
41363
41364 2005-10-21  Simon Josefsson  <jas@extundo.com>
41365
41366         * modules/arctwo, modules/arctwo-tests: New files.
41367
41368         * tests/test-arctwo.c: New file.
41369
41370         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
41371
41372         * tests/test-gc-arctwo.c: New file.
41373
41374 2005-10-21  Simon Josefsson  <jas@extundo.com>
41375
41376         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
41377         Bruno Haible <bruno@clisp.org>.
41378
41379         * m4/gc-des.m4: New file.
41380
41381 2005-10-21  Simon Josefsson  <jas@extundo.com>
41382
41383         * m4/arctwo.m4: New file.
41384
41385         * m4/gc-arctwo.m4: New file.
41386
41387 2005-10-21  Simon Josefsson  <jas@extundo.com>
41388
41389         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
41390         block.
41391
41392 2005-10-21  Simon Josefsson  <jas@extundo.com>
41393
41394         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
41395         <bruno@clisp.org>.
41396
41397         * lib/hmac-sha1.c (hmac_sha1): Likewise.
41398
41399         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
41400         Bruno Haible <bruno@clisp.org>.
41401
41402         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
41403         <bruno@clisp.org>.
41404
41405 2005-10-21  Simon Josefsson  <jas@extundo.com>
41406
41407         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
41408
41409 2005-10-21  Simon Josefsson  <jas@extundo.com>
41410
41411         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
41412
41413 2005-10-21  Simon Josefsson  <jas@extundo.com>
41414
41415         * lib/des.h, lib/des.c: New files.
41416
41417         * lib/gc-gnulib.c: Support DES.c
41418
41419 2005-10-21  Simon Josefsson  <jas@extundo.com>
41420
41421         * lib/arctwo.h, lib/arctwo.c: New files.
41422
41423         * lib/gc-gnulib.c: Support ARCTWO.
41424
41425 2005-10-21  Simon Josefsson  <jas@extundo.com>
41426
41427         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
41428         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
41429
41430 2005-10-21  Simon Josefsson  <jas@extundo.com>
41431
41432         * gnulib-tool (func_import, func_create_testdir): Define automake
41433         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
41434         Makefile.am snippet),
41435         suggested by Bruno Haible <bruno@clisp.org>.
41436
41437         * modules/gc (Makefile.am): Use it.
41438
41439 2005-10-21  Bruno Haible  <bruno@clisp.org>
41440
41441         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
41442         patch.
41443
41444 2005-10-19  Simon Josefsson  <jas@extundo.com>
41445
41446         * tests/test-gc-rijndael.c: New file.
41447
41448         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
41449
41450 2005-10-19  Simon Josefsson  <jas@extundo.com>
41451
41452         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
41453         interface too.
41454
41455 2005-10-19  Simon Josefsson  <jas@extundo.com>
41456
41457         * tests/test-gc-arcfour.c: New file.
41458
41459         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
41460
41461 2005-10-19  Simon Josefsson  <jas@extundo.com>
41462
41463         * modules/gc-md4, modules/gc-md4-tests: New file.
41464
41465         * tests/test-gc-md4.c: New file.
41466
41467 2005-10-19  Simon Josefsson  <jas@extundo.com>
41468
41469         * m4/gc-md4.m4: New file.
41470
41471 2005-10-19  Simon Josefsson  <jas@extundo.com>
41472
41473         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
41474         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
41475         <kasal@ucw.cz>.
41476
41477 2005-10-19  Simon Josefsson  <jas@extundo.com>
41478
41479         * m4/gc-arcfour.m4: New file.
41480
41481         * m4/gc-rijndael.m4: New file.
41482
41483 2005-10-19  Simon Josefsson  <jas@extundo.com>
41484
41485         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
41486
41487 2005-10-19  Simon Josefsson  <jas@extundo.com>
41488
41489         * lib/gc-gnulib.c: Support ARCFOUR.
41490
41491 2005-10-19  Simon Josefsson  <jas@extundo.com>
41492
41493         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
41494         support.
41495
41496         * lib/gc.h: Add ECB enum type.
41497
41498         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
41499
41500 2005-10-18  Simon Josefsson  <jas@extundo.com>
41501
41502         * tests/test-md5.c: New file.
41503
41504         * modules/md5-tests: New file.
41505
41506 2005-10-18  Simon Josefsson  <jas@extundo.com>
41507
41508         * tests/test-md4.c: New file.
41509
41510         * modules/md4, modules/md4-tests: New files.
41511
41512 2005-10-18  Simon Josefsson  <jas@extundo.com>
41513
41514         * m4/md4.m4: New file.
41515
41516 2005-10-18  Simon Josefsson  <jas@extundo.com>
41517
41518         * lib/md4.h, lib/md4.c: New files, based on md5.?.
41519
41520 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
41521
41522         * gnulib-tool (func_create_testdir): Omit the second check whether
41523         BUILT_SOURCES in nonempty.
41524
41525 2005-10-17  Simon Josefsson  <jas@extundo.com>
41526
41527         * tests/test-rijndael.c: New file.
41528
41529 2005-10-17  Simon Josefsson  <jas@extundo.com>
41530
41531         * modules/sha1: Depend on stdint instead of md5.
41532
41533         * modules/md5: Depend on stdint, remove uint32_t.
41534
41535 2005-10-17  Simon Josefsson  <jas@extundo.com>
41536
41537         * modules/gc-sha1-tests: New file.
41538
41539         * tests/test-gc-sha1.c: New file.
41540
41541 2005-10-17  Simon Josefsson  <jas@extundo.com>
41542
41543         * m4/md5.m4: Remove call to uint32_t.m4.
41544
41545 2005-10-17  Simon Josefsson  <jas@extundo.com>
41546
41547         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
41548
41549         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
41550         md5.h.
41551
41552         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
41553
41554         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
41555
41556 2005-10-17  Simon Josefsson  <jas@extundo.com>
41557
41558         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
41559
41560 2005-10-17  Simon Josefsson  <jas@extundo.com>
41561
41562         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
41563
41564 2005-10-17  Simon Josefsson  <jas@extundo.com>
41565
41566         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
41567
41568         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
41569
41570 2005-10-17  Bruno Haible  <bruno@clisp.org>
41571
41572         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
41573         that it can also be used in a test.
41574
41575 2005-10-16  Bruno Haible  <bruno@clisp.org>
41576
41577         * gnulib-tool (func_emit_tests_Makefile_am): Also define
41578         TESTS_ENVIRONMENT, so that individual tests can augment it.
41579
41580         * gnulib-tool (func_create_testdir): Use an intermediate target for
41581         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
41582         macros, like $(ALLOCA_H), which cannot be passed through the command
41583         line.
41584
41585 2005-10-15  Simon Josefsson  <jas@extundo.com>
41586
41587         * modules/rijndael-tests: New file.
41588
41589         * modules/rijndael: New file.
41590
41591 2005-10-15  Simon Josefsson  <jas@extundo.com>
41592
41593         * m4/rijndael.m4: New file.
41594
41595 2005-10-15  Simon Josefsson  <jas@extundo.com>
41596
41597         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
41598
41599         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
41600
41601 2005-10-14  Simon Josefsson  <jas@extundo.com>
41602
41603         * tests/test-arcfour.c: New file.
41604
41605         * modules/arcfour, modules/arcfour-tests: New files.
41606
41607 2005-10-14  Simon Josefsson  <jas@extundo.com>
41608
41609         * m4/arcfour.m4: New file.
41610
41611 2005-10-14  Simon Josefsson  <jas@extundo.com>
41612
41613         * lib/arcfour.h, lib/arcfour.c: New files.
41614
41615 2005-10-14  Roland McGrath  <roland@redhat.com>
41616
41617         Import from libc.  [BZ #1331]
41618         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
41619         macro argument.
41620         Reported by Matej Vela <vela@debian.org>.
41621
41622 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
41623
41624         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
41625         include <wchar.h>; no longer needed.
41626
41627 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
41628
41629         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
41630
41631 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
41632         and  Ulrich Drepper  <drepper@redhat.com>
41633
41634         Import from libc.
41635         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
41636         instead of inline stream orientation test and two separate
41637         function calls.  Pay no attention to USE_IN_LIBIO.
41638
41639 2005-10-13  Simon Josefsson  <jas@extundo.com>
41640
41641         * modules/gc-hmac-md5-tests: New file.
41642
41643         * tests/test-gc-hmac-sha1.c: New file.
41644
41645         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
41646
41647         * modules/gc-hmac-md5-tests: New file.
41648
41649         * tests/test-gc-md5.c: New file.
41650
41651         * modules/gc-md5-tests: New file.
41652
41653 2005-10-13  Simon Josefsson  <jas@extundo.com>
41654
41655         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
41656         Move memory allocation outside of loop.
41657
41658 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
41659
41660         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
41661         intermediate directory is in a read-only file system.  Problem
41662         reported by Eric Blake.
41663
41664 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
41665
41666         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
41667
41668 2005-10-12  Simon Josefsson  <jas@extundo.com>
41669
41670         * tests/test-hmac-sha1.c: New file.
41671
41672         * modules/hmac-sha1-tests: New file.
41673
41674         * modules/hmac-sha1: New file.
41675
41676 2005-10-12  Simon Josefsson  <jas@extundo.com>
41677
41678         * modules/gc-sha1: New file.
41679
41680 2005-10-12  Simon Josefsson  <jas@extundo.com>
41681
41682         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
41683
41684         * tests/test-gc-pbkdf2-sha1.c: New file.
41685
41686 2005-10-12  Simon Josefsson  <jas@extundo.com>
41687
41688         * modules/gc-md5, modules/gc-hmac-md5: New files.
41689
41690         * modules/gc (Files): Remove md5, memxor and hmac files.
41691
41692 2005-10-12  Simon Josefsson  <jas@extundo.com>
41693
41694         * m4/gc-pbkdf2-sha1.m4: New file.
41695
41696         * m4/gc-hmac-sha1.m4: New file.
41697
41698         * m4/gc-sha1: New file.
41699
41700         * m4/hmac-sha1.m4: New file.
41701
41702 2005-10-12  Simon Josefsson  <jas@extundo.com>
41703
41704         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
41705
41706         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
41707
41708 2005-10-12  Simon Josefsson  <jas@extundo.com>
41709
41710         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
41711         suggested by Bruno Haible <bruno@clisp.org>.
41712
41713 2005-10-12  Simon Josefsson  <jas@extundo.com>
41714
41715         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
41716
41717 2005-10-12  Simon Josefsson  <jas@extundo.com>
41718
41719         * lib/gc-pbkdf2-sha1.c: New file.
41720
41721         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
41722
41723 2005-10-12  Simon Josefsson  <jas@extundo.com>
41724
41725         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
41726
41727         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
41728
41729 2005-10-12  Simon Josefsson  <jas@extundo.com>
41730
41731         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
41732         GC_USE_HMAC_MD5, respectively.
41733
41734         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
41735         (gc_md5): Fix typo.
41736
41737         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
41738
41739         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
41740
41741         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
41742
41743 2005-10-12  Bruno Haible  <bruno@clisp.org>
41744
41745         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
41746         Reported by Stepan Kasal <kasal@ucw.cz>.
41747
41748 2005-10-11  Simon Josefsson  <jas@extundo.com>
41749
41750         * tests/test-crc.c: New file.
41751
41752         * modules/crc, modules/crc-tests: New files.
41753
41754 2005-10-11  Simon Josefsson  <jas@extundo.com>
41755
41756         * m4/crc.m4: New file.
41757
41758 2005-10-11  Simon Josefsson  <jas@extundo.com>
41759
41760         * lib/gc.h: Add gc_hash and gc_hash_buffer.
41761
41762         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
41763
41764         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
41765
41766 2005-10-11  Simon Josefsson  <jas@extundo.com>
41767
41768         * lib/crc.h, lib/crc.c: New files.
41769
41770         * lib/gc.h (gc_hash_buffer): Add doc.
41771
41772 2005-10-11  Bruno Haible  <bruno@clisp.org>
41773
41774         * modules/c-strcasestr: New file.
41775         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
41776
41777 2005-10-11  Bruno Haible  <bruno@clisp.org>
41778
41779         * modules/c-strcase: New file.
41780         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
41781
41782 2005-10-11  Bruno Haible  <bruno@clisp.org>
41783
41784         * lib/strcasecmp.c: Include limits.h.
41785         (strcasecmp): Avoid integer overflow on exotic platforms.
41786         * lib/strncasecmp.c: Include limits.h.
41787         (strncasecmp): Avoid integer overflow on exotic platforms.
41788         Reported by Paul Eggert.
41789
41790 2005-10-11  Bruno Haible  <bruno@clisp.org>
41791
41792         * lib/c-strcasestr.h: New file, from GNU gettext.
41793         * lib/c-strcasestr.c: New file, from GNU gettext.
41794
41795 2005-10-11  Bruno Haible  <bruno@clisp.org>
41796
41797         * lib/c-strcase.h: New file, from GNU gettext.
41798         * lib/c-strcasecmp.c: New file, from GNU gettext.
41799         * lib/c-strncasecmp.c: New file, from GNU gettext.
41800
41801 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
41802
41803         * modules/mempcpy (License): GPL -> LGPL.
41804         * modules/strchrnul (License): Likewise.
41805         * modules/sysexits (License): Likewise.
41806
41807 2005-10-08  Simon Josefsson  <jas@extundo.com>
41808
41809         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
41810
41811 2005-10-07  Simon Josefsson  <jas@extundo.com>
41812
41813         * m4/memxor.m4: Remove gl_C_RESTRICT call.
41814
41815 2005-10-06  Simon Josefsson  <jas@extundo.com>
41816
41817         * tests/test-hmac-md5.c: New file.
41818
41819         * modules/hmac-md5-tests: New file.
41820
41821         * modules/hmac-md5: New file.
41822
41823 2005-10-06  Simon Josefsson  <jas@extundo.com>
41824
41825         * m4/hmac-md5.m4: New file.
41826
41827         * m4/memxor.m4: Require gl_C_RESTRICT.
41828
41829 2005-10-06  Simon Josefsson  <jas@extundo.com>
41830
41831         * lib/memxor.c (memxor): Avoid casts and warnings.
41832
41833 2005-10-06  Simon Josefsson  <jas@extundo.com>
41834
41835         * lib/hmac-md5.c: New file.
41836
41837         * lib/hmac.h: New file.
41838
41839 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
41840
41841         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
41842         promotes to int, not unsigned int, to catch the AIX 5.3
41843         compiler bug.
41844
41845 2005-10-05  Simon Josefsson  <jas@extundo.com>
41846
41847         * modules/memxor: New file.
41848
41849         * modules/iconv (Files): Move config.rpath to havelib, it is used
41850         there.
41851
41852         * modules/havelib (Files): Add config.rpath.
41853
41854 2005-10-05  Simon Josefsson  <jas@extundo.com>
41855
41856         * m4/memxor.m4: New file.
41857
41858 2005-10-05  Simon Josefsson  <jas@extundo.com>
41859
41860         * lib/memxor.c (memxor): Fix compiler error.
41861
41862         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
41863         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
41864
41865         * lib/memxor.h, lib/memxor.c: New files.
41866
41867         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
41868         we assume all systems have it, suggested by Jim Meyering
41869         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
41870         any systems lack sys/socket.h; mingw32 is known to lack it, but we
41871         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
41872         same reasons.
41873
41874 2005-10-05  Simon Josefsson  <jas@extundo.com>
41875
41876         * config/srclist.txt: Add glibc bug 1423 for md5.h.
41877
41878 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
41879
41880         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
41881         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
41882         needed, since the source code now assumes these .h files.
41883
41884 2005-10-05  Derek Price  <derek@ximbiot.com>
41885
41886         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
41887
41888 2005-10-05  Bruno Haible  <bruno@clisp.org>
41889
41890         * modules/stdint (License): Change to LGPL.
41891
41892 2005-10-04  Simon Josefsson  <jas@extundo.com>
41893
41894         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
41895         D. Baushke" <mdb@gnu.org>.
41896
41897 2005-10-04  Bruno Haible  <bruno@clisp.org>
41898
41899         * lib/verify.h (verify_true): Provide alternative definition for C++.
41900
41901 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
41902
41903         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
41904         (SSIZE_MAX): New macro, if not already defined.
41905         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
41906         than 2 GiB.
41907
41908 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41909
41910         Sync from coreutils.
41911         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
41912         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
41913         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
41914         ULLONG_MAX doesn't work with 2.7.2.1.
41915
41916 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41917
41918         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
41919         From Ben Pfaff.
41920
41921         * modules/exclude (Depends-on): Depend on verify.
41922         * modules/strtoimax (Depends-on): Likewise.
41923         * modules/utimecmp (Depends-on): Likewise.
41924
41925 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
41926
41927         * lib/exclude.c: Include verify.h.
41928         (verify): Remove.  All callers changed to use verify.h's version.
41929         * lib/strtoimax.c: Likewise.
41930         * lib/utimecmp.c: Likewis.e
41931
41932         Sync from coreutils.
41933         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
41934         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
41935         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
41936         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
41937         bother returning ENOSYS if settimeofday or stime fails; just let
41938         them return whatever errno they want to return.
41939         * lib/utimens.c: Include unistd.h, for dup2.
41940         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
41941         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
41942
41943 2005-10-02  Jim Meyering  <jim@meyering.net>
41944
41945         Sync from coreutils.
41946         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
41947         from glibc-2.2.5 that fails for read-only files.
41948
41949 2005-10-02  Jim Meyering  <jim@meyering.net>
41950
41951         Sync from coreutils.
41952         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
41953         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
41954         `#if HAVE_CONFIG_H'.
41955         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
41956         Remove AT_FDCWD test.
41957         Do not consume the fd unless successful.
41958         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
41959         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
41960         block, so that we don't even try to compile it if settimeofday is
41961         available.  This works around a compilation failure on OSF1 V5.1,
41962         due to stime requiring a `long int*' while tv_sec is `int'.
41963
41964 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
41965
41966         Sync from coreutils.
41967         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
41968         against `yes', rather than just testing for nonempty.
41969
41970 2005-10-01  Simon Josefsson  <jas@extundo.com>
41971
41972         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
41973         and Darwin.
41974
41975         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
41976         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
41977         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
41978         freeaddrinfo and gai_strerror are declared by the POSIX headers.
41979         Check if struct addrinfo is declared.
41980
41981 2005-10-01  Simon Josefsson  <jas@extundo.com>
41982
41983         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
41984         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
41985         AI_* and EAI_* definitions.  Protect function declarations.
41986
41987 2005-10-01  Jim Meyering  <jim@meyering.net>
41988
41989         Sync from coreutils.
41990
41991         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
41992         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
41993         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
41994         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
41995         in the inet and nsl libraries.  Required on Solaris 5.7.
41996
41997 2005-10-01  Jim Meyering  <jim@meyering.net>
41998
41999         Sync from coreutils.
42000         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
42001         in the inet and nsl libraries.  Required on Solaris 5.7.
42002
42003 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
42004
42005         * lib/getdelim.c (getdelim): Remove unused variables.
42006
42007 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
42008
42009         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
42010         so that the code works even with ancient cpp.  Portability problem
42011         with GCC 2.7.2.1 reported by Thomas M.Ott.
42012
42013 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
42014
42015         * modules/regex (Depends-on): Add strcase.
42016
42017         * modules/gethostname (Licence): Change from GPL to LGPL, since
42018         gethostname.c is a trivial implementation of a standard library
42019         function.
42020         * modules/poll (License): Change from GPL to LGPL, since it's
42021         derived from LGPL code.
42022
42023 2005-09-27  Jim Meyering  <jim@meyering.net>
42024
42025         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
42026         HAVE_CONFIG_H.
42027
42028         * lib/intprops.h (signed_type_or_expr__): Define.
42029         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
42030         for unsigned types.
42031
42032 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
42033
42034         * lib/verify.h (verify_expr): Remove, replacing with:
42035         (verify_true): New macro that returns true instead of void.
42036         (verify_type__): Remove.
42037         (verify): Use verify_true rather than verify_type__.
42038
42039 2005-09-26  Bruno Haible  <bruno@clisp.org>
42040
42041         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
42042         is necessary.
42043         (lib_SOURCES): Remove mbchar.c.
42044         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
42045         (Files): Add m4/mbrtowc.m4.
42046         * modules/mbiter: Likewise.
42047         * modules/mbuiter: Likewise.
42048
42049 2005-09-26  Bruno Haible  <bruno@clisp.org>
42050
42051         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
42052         compile mbchar.c if they are not both present.
42053         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
42054         * m4/mbiter.m4 (gl_MBITER): Likewise.
42055         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
42056         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
42057         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
42058
42059 2005-09-25  Jim Meyering  <jim@meyering.net>
42060
42061         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
42062         also uses socklen_t.
42063
42064 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
42065
42066         * lib/utimens.c (ENOSYS): Define if not already defined.
42067         (futimens): Support having a null PATH if the file descriptor
42068         is nonnegative.
42069
42070         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
42071         Remove.
42072         (__attribute): Define to empty unless GCC 3.1 or later.
42073         This works around a core dump on OpenBSD 3.4, which has GCC
42074         2.95.3, which dumps core when given __attribute__(()).  It also
42075         simplifies other tests, since we really don't want to bother with
42076         worrying about which ancient version of GCC supported what.
42077         Original problem reported by Yoann Vandoorselaere, with part of
42078         the fix suggested by Derek Price.
42079
42080 2005-09-24  Jim Meyering  <jim@meyering.net>
42081
42082         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
42083         so we can once again use a positive bitfield width of 1 -- now we
42084         don't have to explain why we were using a bitfield width of 2.
42085
42086 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
42087
42088         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
42089         and similarly for the other external symbols.  Problem reported
42090         by James Gallager.
42091
42092         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
42093         bug reported by Jim Meyering.
42094
42095         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
42096         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
42097         not needed, since socklen is a prerequisite module.
42098
42099 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
42100
42101         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
42102         Problem reported by Eric Blake.
42103         (getaddrinfo): Initialize se so that it's not garbage.
42104         Redo internal storage allocation so that it doesn't make unportable
42105         assumptions about alignment.
42106         Fix a memory leak.
42107
42108         * lib/utimens.c (futimens): Use futimesat if available.
42109         Prefer it to futimes since it doesn't have the futimes bug.
42110
42111         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
42112         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
42113         Instead, declare a function that returns a pointer to an array,
42114         and use verify_type__ to declare the size of the array.
42115         Problem and germ of a solution reported by Bruno Haible.
42116         (verify_type__): Use 2, not 1, for bitfield size, to avoid
42117         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
42118
42119 2005-09-23  Jim Meyering  <jim@meyering.net>
42120
42121         Sync from coreutils.
42122         Correct build failure (socklen_t not defined) on at least
42123         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
42124         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
42125
42126 2005-09-23  Jim Meyering  <jim@meyering.net>
42127
42128         * modules/getaddrinfo (Depends-on): Add socklen.
42129
42130 2005-09-23  Bruno Haible  <bruno@clisp.org>
42131
42132         * tests/test-verify.c: New file.
42133
42134 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
42135
42136         Sync from coreutils.
42137
42138         * modules/argmatch (Depends-on): Add verify.
42139         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
42140         unistd-safer.
42141         * modules/save-cwd (Depends-on): Likewise.
42142
42143         * modules/openat (Files): Add lib/openat-die.c.
42144         (Depends-on): Remove error, exitfail.
42145         Add dirname.
42146
42147         * modules/verify: New file.
42148         * MODULES.html.sh (Diagnostics <assert.h>): New section,
42149         with "verify" module.
42150
42151 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
42152
42153         Sync from coreutils.
42154
42155         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
42156         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
42157         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
42158         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
42159         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
42160         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
42161         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
42162         Don't bother checking for string.h, stdlib.h, unistd.h.
42163         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
42164         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
42165         module's job.
42166         * m4/jm-macros.m4 (gl_MACROS): Likewise.
42167         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
42168
42169         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
42170         (gl_GETDATE): Use it.
42171
42172         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
42173
42174 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
42175
42176         Sync from coreutils.
42177
42178         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
42179         stat-time.h.
42180         * lib/argmatch.h: Include verify.h
42181         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
42182         (ARGMATCH_ASSERT): Remove; unused.
42183         * lib/canonicalize.c: Assume STDC_HEADERS.
42184         * lib/exclude.c: Include "strcase.h".
42185         * lib/regex_internal.h [!defined _LIBC]: Likewise.
42186         * lib/getusershell.c: Include stdio--.h rather than stdio.h
42187         and stdio-safer.h.
42188         (getusershell): Call fopen, not fopen_safer.
42189         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
42190         Do not include unistd-safer.h.
42191         (save_cwd): Don't call fd_safer; no longer needed
42192         now that we include fcntl--.h.
42193
42194         * lib/getdate.y (relative_time): New type.
42195         (RELATIVE_TIME_0): New constant.
42196         (parser_control): Use relative_time instead of doing it ourselves.
42197         (%union): Add new relative_time rel member.
42198         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
42199         Now typeless.
42200         (relunit, relunit_snumber): Now of type rel.
42201         (zone, rel, relunit, get_date): Adjust to above changes.
42202
42203         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
42204         Do not include unistd-safer.h.
42205         (getloadavg): Don't call fd_safer; no longer needed
42206         now that we include fcntl--.h.
42207
42208         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
42209         (make_dir_parents): Treat ENOSYS like EEXIST.
42210
42211         Improve quality of diagnostics on restore_cwd failure.
42212         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
42213         (make_dir_parents): Last arg is now int * (for errno), not bool *.
42214         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
42215         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
42216         each time through the loop.  Do not diagnose restore_cwd failure;
42217         that is the caller's job (and perhaps the caller does not care).
42218
42219         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
42220         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
42221         If the file already exists but is not a directory, don't bother
42222         to try to make its parents.
42223         Close potential file descriptor leak if we can't chdir("/") (!).
42224         Don't always return true if chdir($PWD) fails; return true only
42225         if the requested action was done successfully (except for the
42226         chdir($PWD)).
42227         Don't log final directory unless we actually made it.
42228         Refactor to avoid duplicate code to fix up permissions.
42229         Don't attempt to fix up parent permissions if chdir($PWD) fails.
42230
42231         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
42232         to make it a bit faster and (I hope) clearer.
42233         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
42234         Fix bug in formats like %2N.
42235
42236         * lib/verify.h: New file.
42237
42238 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
42239
42240         Sync from coreutils.
42241         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
42242
42243 2005-09-22  Jim Meyering  <jim@meyering.net>
42244
42245         Sync from coreutils.
42246
42247         * m4/lstat.m4 (gl_FUNC_LSTAT):
42248         Use AC_LIBSOURCES to require lstat.c and lstat.h.
42249         Remove obsolete comment.
42250         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
42251         * m4/xstrtod.m4: Likewise.
42252
42253         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
42254
42255 2005-09-22  Jim Meyering  <jim@meyering.net>
42256
42257         Sync from coreutils.
42258
42259         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
42260
42261         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
42262         the .tm_year member, since otherwise gcc-4.0 would now warn about
42263         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
42264
42265         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
42266         order to avoid an unsuppressible warning from gcc on 64-bit systems.
42267
42268         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
42269         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
42270         when run in a time zone for which daylight savings time is in effect
42271         for the starting date.
42272
42273         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
42274         stop us from restricting permissions of just-created absolute-named
42275         directories.
42276         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
42277         to restore initial working directory.
42278         * lib/mkdir-p.c (make_dir_parents): New parameter:
42279         different_working_dir, to tell caller if/when we change the working
42280         directory and are unable to return to the initial one.
42281         * lib/mkdir-p.h (make_dir_parents): Update prototype.
42282         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
42283         `return false'.  This fixes a bug introduced on 2004-07-30.
42284
42285         * lib/openat.c (fdopendir): Be sure to close the supplied
42286         file descriptor before returning.  This makes our replacement
42287         implementation a little closer to Solaris's, where fdopendir
42288         ties the file descriptor to the returned DIR* pointer.
42289         * lib/openat.c (unlinkat): New function.
42290         * lib/openat.h (unlinkat): Add prototype.
42291         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
42292         (openat_restore_fail): Rename from openat_restore_die.
42293         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
42294
42295         Provide an alternative to exiting immediately upon save_cwd or
42296         restore_cwd failure.  Now, an application can arrange e.g.,
42297         to perform a longjump in that case.
42298         * lib/openat.c: Include dirname.h.
42299         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
42300         (rpl_openat, fdopendir, fstatat): Call openat_save_die
42301         and openat_restore_die rather than calling error directly.
42302         Don't include "error.h" or "exitfail.h"; they're no longer needed.
42303
42304         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
42305         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
42306         define.
42307
42308         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
42309         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
42310                             int utc, int nanoseconds);
42311         Background:
42312         date should not have to allocate a megabyte of virtual memory to
42313         handle a format argument like +%1048575T.  When implemented with
42314         strftime, it must allocate such a buffer, use strftime to fill it
42315         in, print it, then free it.
42316         With fprintftime, it simply prints everything and exits.
42317         With no need for memory allocation, that's one fewer way to fail.
42318         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
42319         optional field width, not before, so we accept %9:z, not %:9z.
42320         (my_strftime): Be sure to use L_('x') for literals.
42321
42322         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
42323         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
42324         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
42325         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
42326         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
42327         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
42328         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
42329         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
42330         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
42331         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
42332         * lib/xgethostname.c, lib/xreadlink.c:
42333         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
42334
42335         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
42336         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
42337         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
42338         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
42339         and don't include <sys/file.h>).
42340
42341 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
42342
42343         Sync from coreutils.
42344
42345         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
42346         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
42347         [!LDAV_DONE]: Avoid unused variable warning.
42348
42349 2005-09-21  Bruno Haible  <bruno@clisp.org>
42350
42351         * lib/unicodeio.h (unicode_to_mb): New declaration.
42352
42353 2005-09-20  Derek Price  <derek@ximbiot.com>
42354
42355         * lib/getaddrinfo.c: Don't include <netdb.h> included from
42356         getaddrinfo.h.
42357
42358 2005-09-20  Bruno Haible  <bruno@clisp.org>
42359
42360         * gnulib-tool: Remove trailing slashes from the values specified for
42361         --source-base, --m4-base, --tests-base, --aux-dir.
42362         Suggested by Simon Josefsson <jas@extundo.com>.
42363
42364 2005-09-20  Bruno Haible  <bruno@clisp.org>
42365
42366         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
42367         func_modules_to_filelist, func_import, func_create_testdir): Make all
42368         sorting results locale-independent, so that gnulib-cache.m4 doesn't
42369         change when gnulib-tool is invoked in a different locale.
42370
42371 2005-09-19  Simon Josefsson  <jas@extundo.com>
42372
42373         * m4/socklen.m4: Fix typo.
42374
42375 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42376
42377         Use a consistent style for including <config.h>.
42378         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
42379         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
42380         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
42381         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
42382         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
42383         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
42384         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
42385         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
42386         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
42387         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
42388         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
42389         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
42390         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
42391         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
42392         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
42393         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
42394         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
42395         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
42396         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
42397         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
42398         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
42399         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
42400         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
42401         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
42402         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
42403         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
42404         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
42405         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
42406         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
42407         lib/xstrtoumax.c, lib/yesno.c:
42408         Standardize inclusion of config.h.
42409         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
42410         lib/inttostr.h:  Removed inclusion of config.h from header files.
42411         * lib/inttostr.c:  Adjusted in-tree users.
42412         * lib/timespec.h: Remove superfluous warning to include config.h.
42413         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
42414         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
42415         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
42416         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
42417         config.h with HAVE_CONFIG_H.
42418
42419 2005-09-19  Jim Meyering  <jim@meyering.net>
42420
42421         * modules/pathmax (License): Change to LGPL.
42422
42423 2005-09-19  Derek Price  <derek@ximbiot.com>
42424
42425         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
42426
42427 2005-09-19  Bruno Haible  <bruno@clisp.org>
42428
42429         * gnulib-tool (import): Provide default for --tests-base.
42430
42431 2005-09-19  Bruno Haible  <bruno@clisp.org>
42432
42433         * doc/quote.texi: New file, extracted from gnulib.texi.
42434         * doc/ctime.texi: New file, extracted from gnulib.texi.
42435         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
42436         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
42437         * doc/gnulib.texi: Include them.
42438
42439 2005-09-18  Bruno Haible  <bruno@clisp.org>
42440
42441         Portability fix.
42442         * gnulib-tool (func_readlink): New function.
42443         (func_ln_if_changed): Use it.
42444
42445 2005-09-18  Bruno Haible  <bruno@clisp.org>
42446
42447         * gnulib-tool: Support --with-tests also with --import.
42448         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
42449         (func_import): Use variables $testsbase and $inctests. Emit a
42450         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
42451         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
42452         SUBDIRS += $testsdir.
42453         (func_create_testdir): Update.
42454
42455 2005-09-18  Bruno Haible  <bruno@clisp.org>
42456
42457         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
42458         instead of $dry_run.
42459         (func_cp_if_changed, func_mv_if_changed): Remove functions.
42460         (func_ln_if_changed): Don't handle dry-run here.
42461         (func_import): In dry-run mode, detect more precisely which actions
42462         would be performed, and don't use "...ing" verbs.
42463
42464 2005-09-18  Bruno Haible  <bruno@clisp.org>
42465
42466         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
42467         (func_import): Use join on two temporary files instead of three nested
42468         loops, in order to determine which files are new or old.
42469
42470 2005-09-18  Bruno Haible  <bruno@clisp.org>
42471
42472         * gnulib-tool (func_import): Comment out code that spits out the
42473         new files with --dry-run.
42474
42475 2005-09-18  Bruno Haible  <bruno@clisp.org>
42476
42477         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
42478
42479 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
42480
42481         * lib/stat-time.h: New file.
42482         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
42483         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
42484         in a different way.
42485         (timespec_cmp): New function.
42486         * lib/utimecmp.c: Include stat-time.h.
42487         (SYSCALL_RESOLUTION): Depend on whether various struct stat
42488         members exist, not on the obsolescent ST_MTIM_NSEC.
42489         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
42490
42491 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
42492
42493         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
42494
42495 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
42496
42497         * MODULES.html.sh (File system functions): Add stat-time.
42498         * modules/stat-time: New file.
42499         * modules/timespec (Files): Remove m4/st_mtim.m4; this
42500         is now done in a different way, by the stat-time module.
42501         * modules/utimecmp (Depends-on): Add stat-time.
42502
42503 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
42504
42505         * m4/st_mtim.m4: Remove.  Superseded by...
42506         * m4/stat-time.m4: New file.
42507         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
42508         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
42509
42510 2005-09-15  Derek Price  <derek@ximbiot.com>
42511
42512         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
42513
42514 2005-09-15  Derek Price  <derek@ximbiot.com>
42515
42516         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
42517         * lib/regex_internal.c: Ditto, using this...
42518         (__GNUC_PREREQ): ...new macro.
42519         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
42520         using...
42521         (__GNUC_PREREQ): ...this new macro.
42522
42523         * lib/strstr.h: Include string.h. Define strstr as a macro here.
42524
42525 2005-09-15  Derek Price  <derek@ximbiot.com>
42526             Paul Eggert  <eggert@cs.ucla.edu>
42527
42528         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
42529         changes, consolidating in...
42530         * lib/regex_internal.h: ...this file.
42531
42532 2005-09-13  Jim Meyering  <jim@meyering.net>
42533
42534         * lib/canon-host.c: Filter through gnu indent and reword comments
42535         slightly.
42536         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
42537
42538 2005-09-13  Derek Price  <derek@ximbiot.com>
42539
42540         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
42541         failure.
42542         Reported by Jim Meyering  <jim@meyering.net>.
42543
42544 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
42545
42546         * lib/base64.c: Typo.
42547         (base64_encode): Put b64str in initialized data section.
42548
42549 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
42550
42551         Merge glibc and coreutils changes into gnulib, plus a few
42552         extra fixes.
42553         * lib/md5.c: Use #error rather than a string.
42554         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
42555         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
42556         (__attribute__): Define to empty for non recent-GCC.
42557         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
42558         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
42559         Renamed from their non-__ counterparts, with new macros replacing
42560         them if not _LIBC.  Add __THROW attribute.
42561         (rol): Remove.
42562         (struct md5_ctx): Align buffer if using GCC.
42563         * lib/sha1.h (struct sha1_ctx): Likewise.
42564         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
42565         The old name was backwards.
42566         (NOTSWAP): Remove; not used.
42567         (rol): New macro, moved here from md5.h.
42568         (sha1_process_block): Remove a FIXME that doesn't make sense.
42569
42570 2005-09-12  Derek Price  <derek@ximbiot.com>
42571
42572         Return usable errors from canon-host.
42573         * lib/canon-host.h: New file.
42574         * lib/canon-host.c (canon_host): Wrap...
42575         (canon_host_r): ...this new function, which now relies exclusively on
42576         getaddrinfo.
42577         (ch_strerror): New function.
42578         (last_cherror): New global.
42579         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
42580         interface.
42581         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
42582         void *.
42583         (freeaddrinfo): Free ai->ai_canonname when set.
42584
42585 2005-09-12  Derek Price  <derek@ximbiot.com>
42586
42587         Make canon-host require getaddrinfo.
42588         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
42589         AC_LIBSOURCE canon-host.h.  Call...
42590         (gl_PREREQ_CANON_HOST): ...this new function, which requires
42591         gl_GETADDRINFO.
42592         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
42593
42594 2005-09-12  Derek Price  <derek@ximbiot.com>
42595
42596         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
42597         LGPL.
42598         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
42599
42600 2005-09-12  Derek Price  <derek@ximbiot.com>
42601
42602         * lib/gai_strerror.c: Include config.h when available.  Include
42603         getaddrinfo.h before other headers to test interface.
42604         Reported by Larry Jones <lawrence.jones@ugs.com>.
42605
42606 2005-09-12  Derek Price  <derek@ximbiot.com>
42607             Paul Eggert  <eggert@cs.ucla.edu>
42608
42609         * modules/glob (Files): Add glob-libc.h.
42610
42611 2005-09-12  Derek Price  <derek@ximbiot.com>
42612             Paul Eggert  <eggert@cs.ucla.edu>
42613
42614         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
42615         glob_.h, glob-libc.h.
42616         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
42617
42618 2005-09-12  Derek Price  <derek@ximbiot.com>
42619             Paul Eggert  <eggert@cs.ucla.edu>
42620
42621         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
42622         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
42623         protecting things that should be done only in gnulib contexts.
42624         * lib/glob_.h: New file, containing only the glob things needed for
42625         gnulib.
42626         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
42627         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
42628         (glob, globfree, glob_pattern_p): Now defined simply in terms of
42629         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
42630         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
42631         and to respect the namespace rules better.
42632
42633 2005-09-08  Simon Josefsson  <jas@extundo.com>
42634
42635         * modules/socklen: New file.
42636
42637 2005-09-08  Simon Josefsson  <jas@extundo.com>
42638
42639         * m4/socklen.m4: New file.
42640
42641 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
42642
42643         * modules/utimens (Files): Add m4/utimbuf.m4, since
42644         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
42645         Reported by Sergey Poznyakoff.
42646
42647 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
42648
42649         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
42650         definitions, since that's the preferred style in glibc.
42651         Fix a minor spacing issue, and update copyright notice to match
42652         glibc's.
42653
42654 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
42655
42656         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
42657
42658 2005-09-06  Simon Josefsson  <jas@extundo.com>
42659
42660         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
42661         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
42662
42663 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
42664
42665         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
42666         warning.
42667
42668 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
42669
42670         * config/srclist.txt: Add glibc bug 1302.
42671
42672 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
42673
42674         Change bitset word type from unsigned int to unsigned long int,
42675         as this has better performance on typical 64-bit hosts.
42676         Port bitset code to hosts with unusual word sizes.
42677         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
42678         (build_collating_symbol):
42679         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
42680         argument is a bitset.  This is merely a style issue, but it makes
42681         it clearer that an entire array is expected.
42682         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
42683         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
42684         Port to the case where bitset_word is not the same as unsigned int.
42685         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
42686         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
42687         Likewise.
42688         * lib/regexec.c (check_dst_limits_calc_pos_1,
42689         check_subexp_matching_top):
42690         (build_trtable, group_nodes_into_DFAstates):
42691         Likewise.
42692         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
42693         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
42694         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
42695         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
42696         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
42697         * lib/regcomp.c (optimize_subexps, lower_subexp):
42698         Work even if bitset_word has holes in its bitwise representation.
42699         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
42700         * lib/regexec.c (check_dst_limits_calc_pos_1,
42701         check_subexp_matching_top):
42702         Likewise.
42703         * lib/regex_internal.c (re_string_reconstruct):
42704         Don't assume UCHAR_MAX == 255.
42705         * lib/regex_internal.h (bitset_set_all): Likewise.
42706         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
42707         All uses changed.
42708         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
42709         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
42710         All uses changed.
42711         (BITSET_WORD_MAX): New macro.
42712         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
42713         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
42714         (bitset_empty, bitset_copy):
42715         Prefer sizeof (bitset) to multiplying it out ourselves.
42716         (bitset_not_merge): Remove; unused.
42717         (bitset_contain): Return bool, not unsigned int with one bit on.
42718         All callers changed.
42719         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
42720         alignment than re_node_set; do this by defining a new internal
42721         type struct dests_alloc and using it to allocate memory.
42722
42723 2005-09-05  Bruno Haible  <bruno@clisp.org>
42724
42725         * gnulib-tool (func_import): Fix comparison in handling of symbolic
42726         links.
42727
42728 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
42729
42730         * modules/size_max (Makefile.am): Add size_max.h
42731
42732 2005-09-04  Derek Price  <derek@ximbiot.com>
42733
42734         * gnulib-tool (func_import): Fix reversed $symbolic logic.
42735
42736 2005-09-03  Simon Josefsson  <jas@extundo.com>
42737
42738         * gnulib-tool: Fix typo.
42739
42740 2005-09-03  Simon Josefsson  <jas@extundo.com>
42741
42742         * config/srclist.txt: Add glibc bug 1293.
42743
42744 2005-09-03  Derek Price  <derek@ximbiot.com>
42745
42746         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
42747         From Larry Jones <lawrence.jones@ugs.com>.
42748
42749 2005-09-02  Simon Josefsson  <jas@extundo.com>
42750
42751         * modules/socklen: New file.
42752
42753 2005-09-02  Simon Josefsson  <jas@extundo.com>
42754
42755         * modules/havelib: New module.
42756
42757         * modules/gettext, modules/iconv, modules/lock, modules/readline:
42758         Use havelib.
42759
42760 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
42761
42762         Check for arithmetic overflow when calculating sizes, to prevent
42763         some buffer-overflow issues.  These patches are conservative, in the
42764         sense that when I couldn't determine whether an overflow was possible,
42765         I inserted a run-time check.
42766         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
42767         macros.
42768         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
42769         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
42770         (re_xnrealloc, re_x2nrealloc): New inline functions.
42771         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
42772         parse_bracket_exp):
42773         (build_equiv_class, build_charclass): Check for arithmetic overflow
42774         in size expression calculations.
42775         * lib/regex_internal.c (re_string_realloc_buffers):
42776         (build_wcs_upper_buffer, re_node_set_add_intersect):
42777         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
42778         (re_dfa_add_node, register_state): Likewise.
42779         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
42780         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
42781         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
42782         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
42783
42784 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
42785
42786         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
42787         m4/ulonglong.m4.  Problem reported by Martin Lambers.
42788
42789 2005-09-02  Bruno Haible  <bruno@clisp.org>
42790
42791         Support for lib vs. lib64 distinction on biarch platforms.
42792         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
42793         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
42794         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
42795
42796 2005-09-02  Bruno Haible  <bruno@clisp.org>
42797
42798         * gnulib-tool (import): In the other first-use case, provide defaults
42799         as well.
42800
42801 2005-09-02  Bruno Haible  <bruno@clisp.org>
42802
42803         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
42804         patches not yet found in the latest gettext release.
42805
42806 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42807
42808         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
42809         to avoid a collision with bits/local_lim.h in glibc.
42810         All uses changed.  Problem reported by Dmitry V. Levin in
42811         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
42812
42813         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
42814         bugs in int versus size_t comparisons.
42815         (re_string_context_at): Fix bug where the code assumed that
42816         Idx is signed.
42817
42818         Use bool where appropriate.
42819         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
42820         All callers changed.
42821         (calc_eclosure_iter): Likewise, for ROOT arg.
42822         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
42823         (build_charclass_op): Likewise, for NON_MATCH arg.
42824         * lib/regex_internal.c (re_string_allocate, re_string_construct):
42825         (re_string_construct_common): Likewise, for ICASE arg.
42826         * lib/regexec.c (re_search_2_stub, re_search_stub):
42827         Likewise, for RET_LEN arg.
42828         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
42829         (set_regs): Likewise, for FL_BACKTRACK arg.
42830         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
42831         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
42832         (calc_eclosure_iter, parse_bracket_exp):
42833         Use bool for internal variables that are booleans.
42834         * lib/regexec.c (re_search_internal, check_matching,
42835         proceed_next_node):
42836         (set_regs, build_sifted_states, sift_states_bkref):
42837         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
42838         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
42839         (find_collation_sequence_value):
42840         Likewise.
42841         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
42842         (re_node_set_compare):
42843         Return bool, not int. All callers changed.
42844         * lib/regexec.c (check_halt_node_context, check_dst_limits):
42845         (build_trtable, check_node_accept): Likewise.
42846         * lib/regex_internal.h: Include stdbool.h.
42847
42848         Fix bugs uncovered when converting to bool.
42849         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
42850         failure instead of charging ahead blindly.
42851         * lib/regex_internal.c (register_state): Likewise.
42852         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
42853         for freeing internal storage.
42854         (group_nodes_into_DFA_states): Use unsigned int, not int, for
42855         bitset pieces used as boolean, to avoid undefined behavior
42856         on hosts that do int overflow checking.
42857
42858 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
42859
42860         * config/srclist.txt: Add glibc bugs 1285-1287.
42861
42862 2005-09-01  Jim Meyering  <jim@meyering.net>
42863
42864         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
42865         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
42866         Require gl_STAT_MACROS, too.
42867
42868 2005-09-01  Bruno Haible  <bruno@clisp.org>
42869
42870         * gnulib-tool (import): In the first-use case, provide defaults.
42871
42872 2005-09-01  Bruno Haible  <bruno@clisp.org>
42873
42874         * gnulib-tool (func_import): Remove the .tmp files.
42875
42876 2005-09-01  Bruno Haible  <bruno@clisp.org>
42877
42878         * gnulib-tool (func_import): Fix handling of symbolic links.
42879
42880 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
42881
42882         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
42883         old glibc regex code mishandles strings longer than 2**31 bytes.
42884         This patch fixes this when the regex code is used in gnulib
42885         (i.e., outside glibc).
42886
42887         This patch should not affect the use of the regex code inside
42888         glibc.  No doubt this problem also needs to be handled for glibc
42889         as well, but the result will be an incompatible change to the
42890         glibc ABI, and the old ABI will have to be supported too.  That
42891         can be the the subject for another patch.
42892
42893         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
42894         governing whether the rest of this patch is active.  By default,
42895         the macro is disabled and the patch has no effect.
42896         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
42897         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
42898         (struct re_pattern_buffer, re_search, re_search_2, re_match):
42899         (re_match_2, re_set_registers): Use the new types.
42900         * lib/regex_internal.h (Idx, re_hashval_t): New types.
42901         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
42902         New macros.
42903         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
42904         (re_string_context_at, bin_tree_t, re_dfastate_t):
42905         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
42906         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
42907         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
42908         (re_string_char_size_at, re_string_wchar_at):
42909         (re_string_elem_size_at):
42910         Use the new types and macros to port to 64-bit hosts.
42911         Use unsigned types for internal values, so that the code
42912         mostly works even for arrays larger than SSIZE_MAX.
42913         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
42914         (search_duplicated_node, calc_eclosure_iter, fetch_number):
42915         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
42916         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
42917         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
42918         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
42919         (calc_inveclosure, parse_dup_op, build_range_exp):
42920         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
42921         (fetch_number, create_token_tree, mark_opt_subexp):
42922         Likewise.
42923         * lib/regex_internal.c (re_string_construct_common,
42924         create_ci_newstate):
42925         (create_cd_newstate, re_string_allocate, re_string_construct):
42926         (re_string_realloc_buffers, build_wcs_upper_buffer):
42927         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
42928         (re_string_reconstruct, re_string_peek_byte_case):
42929         (re_string_fetch_byte_case, re_string_context_at):
42930         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
42931         (re_node_set_init_copy, re_node_set_add_intersect):
42932         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
42933         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
42934         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
42935         (re_acquire_state, re_acquire_state_context, register_state):
42936         Likewise.
42937         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
42938         search_cur_bkref_entry):
42939         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
42940         (re_search_internal, re_search_2_stub, re_search_stub)
42941         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
42942         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
42943         (update_cur_sifted_state, check_dst_limits):
42944         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
42945         (check_subexp_limits, sift_states_bkref, merge_state_array):
42946         (check_subexp_matching_top, get_subexp, get_subexp_sub):
42947         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
42948         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
42949         (expand_bkref_cache, check_node_accept_bytes):
42950         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
42951         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
42952         (acquire_init_state_context, check_halt_node_context):
42953         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
42954         (sift_states_backward, clean_state_log_if_needed):
42955         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
42956         (find_recover_state, transit_state_sb, transit_state_mb):
42957         (transit_state_bkref, build_trtable, match_ctx_clean):
42958         Likewise.
42959         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
42960         to work around an assumption that REG_MISSING is negative.
42961
42962         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
42963         (seek_collating_symbol_entry) [defined _LIBC]:
42964         (lookup_collation_sequence_value) [defined _LIBC]:
42965         (build_range_exp, build_collating_symbol) [defined _LIBC]:
42966         Use prototypes rather than old-style function definitions.
42967         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
42968         (transit_state_sb) [0]:
42969         (find_collation_sequence_value) [defined _LIBC]: Likewise.
42970
42971         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
42972         rm_eo.
42973
42974         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
42975         (optimize_subexps, lower_subexp):
42976         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
42977         since the signed shift might overflow.  Use 1u<<31 instead.
42978         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
42979         Likewise.
42980         * lib/regexec.c (check_dst_limits_calc_pos_1,
42981         check_subexp_matching_top): Likewise.
42982
42983         * lib/regcomp.c (optimize_subexps, lower_subexp):
42984         Use CHAR_BIT rather than 8, for clarity.
42985         * lib/regexec.c (check_dst_limits_calc_pos_1):
42986         (check_subexp_matching_top): Likewise.
42987         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
42988         have to worry about portability issues when shifting it left.
42989         Remove no-longer-needed test for table_size > 0.
42990         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
42991         in a word, as the resulting behavior is undefined.
42992         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
42993         in one case, a <= should have been an <, and in another case the
42994         whole test was missing.
42995         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
42996         the standard name CHAR_BIT.
42997         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
42998         this is not true on one's complement and signed-magnitude hosts.
42999
43000         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
43001         next_last_offset.
43002         (struct re_dfa_t): Remove unused member states_alloc.
43003         * lib/regcomp.c (init_dfa): Don't initialize unused members.
43004
43005 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
43006
43007         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
43008         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
43009         and large-file glibc and in 32-bit large-file Solaris.
43010
43011 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
43012
43013         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
43014         lengths fit in regoff_t; this isn't true if regoff_t is the same
43015         width as size_t.
43016         * lib/regex.c (re_search_internal): 5th arg is LAST_START
43017         (= START + RANGE) instead of RANGE.  This avoids overflow
43018         problems when regoff_t is the same width as size_t.
43019         All callers changed.
43020         (re_search_2_stub): Check for overflow when adding the
43021         sizes of the two strings.
43022         (re_search_stub): Check for overflow when adding START
43023         to RANGE; if it occurs, substitute the extreme value.
43024
43025 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
43026
43027         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
43028
43029 2005-08-31  Jim Meyering  <jim@meyering.net>
43030
43031         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
43032         a pointer-to-const.
43033         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
43034         (register_state): Likewise.
43035         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
43036         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
43037         (group_nodes_into_DFAstates): Likewise.
43038
43039 2005-08-31  Jim Meyering  <jim@meyering.net>
43040
43041         * check-module: Add a FIXME comment.
43042
43043 2005-08-31  Eric Blake  <ebb9@byu.net>
43044
43045         * modules/unistd-safer (Files): Add unistd--.h.
43046         * modules/stdio-safer (Files): Add stdio--.h.
43047
43048 2005-08-31  Derek Price  <derek@ximbiot.com>
43049
43050         * lib/getdelim.c (getdelim): Return EOF on EOF.
43051         Reported by Larry Jones <lawrence.jones@ugs.com>.
43052
43053 2005-08-31  Bruno Haible  <bruno@clisp.org>
43054
43055         Avoid unnecessary diffs in the generated lib/Makefile.am.
43056         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
43057         the generated files.
43058         (func_import): Don't set cmd.
43059
43060 2005-08-31  Bruno Haible  <bruno@clisp.org>
43061
43062         * lib/strstr.c: Include <stddef.h>, for NULL.
43063         * lib/strcasestr.c: Likewise.
43064         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
43065
43066 2005-08-31  Bruno Haible  <bruno@clisp.org>
43067
43068         * gnulib-tool: New option --macro-prefix.
43069         (func_import): Use macro_prefix.
43070         (import): Handle option --macro-prefix.
43071
43072 2005-08-31  Bruno Haible  <bruno@clisp.org>
43073
43074         * gnulib-tool (import): Rename most ac_* variables to cached_*.
43075         Also use new variables cached_lgpl, cached_libtool.
43076
43077 2005-08-31  Bruno Haible  <bruno@clisp.org>
43078
43079         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
43080         always instantiating them.
43081
43082 2005-08-31  Bruno Haible  <bruno@clisp.org>
43083
43084         * gnulib-tool (func_import): Read the previous cached settings
43085         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
43086         earlier added by gnulib but are now dropped. Warn when a gnulib file
43087         overwrites a non-gnulib file.
43088
43089 2005-08-31  Bruno Haible  <bruno@clisp.org>
43090
43091         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
43092         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
43093         projects that don't keep autogenerated files in CVS. Put into
43094         actioncmd only the specified modules, not the transitive closure.
43095
43096 2005-08-31  Bruno Haible  <bruno@clisp.org>
43097
43098         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
43099         Create directories that shall be filled.
43100         (import): Don't look for gl_* macros in configure.ac. Recurse across
43101         all directories containing a gnulib-cache.m4 files, if meaningful.
43102
43103 2005-08-31  Bruno Haible  <bruno@clisp.org>
43104
43105         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
43106         (import): Set seen_libtool when we see gl_LIBTOOL.
43107
43108 2005-08-31  Bruno Haible  <bruno@clisp.org>
43109
43110         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
43111         declaration macro definitions from generated gnulib.m4.
43112
43113 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
43114
43115         * lib/iconvme.h: Add prototype for iconv_alloc.
43116
43117 2005-08-29  Simon Josefsson  <jas@extundo.com>
43118
43119         * lib/iconvme.c: Fix errno.
43120
43121 2005-08-29  Bruno Haible  <bruno@clisp.org>
43122
43123         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
43124         that it works when the directory contains spaces.
43125
43126 2005-08-29  Bruno Haible  <bruno@clisp.org>
43127
43128         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
43129
43130 2005-08-29  Bruno Haible  <bruno@clisp.org>
43131
43132         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
43133         Emit more advice.
43134
43135 2005-08-29  Bruno Haible  <bruno@clisp.org>
43136         and Stepan Kasal  <kasal@ucw.cz>
43137
43138         * check-module: If more parameters are given, check each of them
43139         separately; add more exceptions, as noted by Jim Meyering.
43140         (check_module): New procedure.
43141         (%exempt_header): Now contains all exceptions.
43142
43143 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
43144
43145         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
43146
43147 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
43148
43149         * lib/iconvme.c: Split iconv_string into iconv_alloc.
43150
43151 2005-08-28  Bruno Haible  <bruno@clisp.org>
43152
43153         * m4/gnulib-tool.m4: New file.
43154
43155 2005-08-27  Jim Meyering  <jim@meyering.net>
43156
43157         * modules/unistd-safer (Files): Add pipe-safer.c.
43158         * modules/fcntl-safer (Files): Add creat-safer.c.
43159
43160 2005-08-27  Jim Meyering  <jim@meyering.net>
43161
43162         * m4/stdlib-safer.m4: New file.  From coreutils.
43163         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
43164         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
43165         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
43166         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
43167         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
43168
43169 2005-08-27  Jim Meyering  <jim@meyering.net>
43170
43171         * lib/fopen-safer.c: Merge minor changes from coreutils.
43172         * lib/dup-safer.c: Likewise.
43173         * lib/fd-safer.c: Likewise.
43174
43175         Merge from coreutils.
43176         * lib/stdio--.h: New file.
43177         * lib/stdlib--.h: New file.
43178         * lib/mkstemp-safer.c: New file.
43179
43180         GNU tar needs these.
43181         * lib/pipe-safer.c: New file.
43182         * lib/creat-safer.c: New file.
43183         * lib/fcntl--.h (creat): Define to creat_safer.
43184         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
43185         * lib/unistd--.h (pipe): Define to pipe_safer.
43186         * lib/unistd-safer.h: Declare pipe_safer.
43187
43188 2005-08-26  Simon Josefsson  <jas@extundo.com>
43189
43190         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
43191         Haible <bruno@clisp.org>.
43192
43193 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
43194
43195         * lib/regex_internal.h: Remove all references to
43196         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
43197         or better.
43198         (bitset_not, bitset_merge, bitset_not_merge):
43199         (bitset_mask, re_string_allocate, re_string_construct):
43200         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
43201         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
43202         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
43203         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
43204         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
43205         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
43206         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
43207         (re_acquire_state_context):
43208         Remove unnecessary forward decls.
43209         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
43210         Put __attribute at function definition,
43211         now that the function decl has been removed.
43212         * lib/regex_internal.c (re_string_peek_byte_case):
43213         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
43214         Likewise.
43215
43216 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
43217
43218         * m4/regex.m4: Add AC_PREREQ(2.50).
43219         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
43220
43221 2005-08-25  Simon Josefsson  <jas@extundo.com>
43222
43223         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
43224         __fsetlocking.
43225
43226 2005-08-25  Simon Josefsson  <jas@extundo.com>
43227
43228         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
43229         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
43230         GLIBC specific code.
43231
43232 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
43233
43234         Make regex safe for g++.  This fixes one real bug (an "err"
43235         that should have been "*err").  g++ problem reported by
43236         Sam Steingold.
43237         * lib/regex_internal.h (re_calloc): New macro, consistent with
43238         re_malloc etc.  All callers of calloc changed to use re_calloc.
43239         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
43240         not int.  All callers changed.
43241         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
43242         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
43243         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
43244         (find_recover_state): Change "err" to "*err"; this fixes what
43245         appears to be a real bug.
43246         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
43247         versus int.
43248
43249 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
43250
43251         * modules/regex (Depends-on): Add malloc, since the code
43252         assumes that !malloc(0) means failure.
43253
43254 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
43255
43256         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
43257
43258         alloca modernization/simplification for regex.
43259         * lib/regex.c: Remove portability cruft for alloca.  This no longer
43260         needs to be at the start of the file, and can be moved into
43261         regex_internal.h and simplified.
43262         * lib/regex_internal.h: Include <alloca.h>.
43263         (__libc_use_alloca) [!defined _LIBC]: New macro.
43264         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
43265         now works outside glibc.
43266
43267 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
43268
43269         * config/srclist.txt: Add glibc bugs 1241, 1245.
43270
43271 2005-08-25  Jim Meyering  <jim@meyering.net>
43272
43273         * lib/open-safer.c: Include <config.h>.
43274         Otherwise, we'd lose LARGEFILE support in any file using
43275         e.g. "fcntl--.h"
43276
43277 2005-08-25  Bruno Haible  <bruno@clisp.org>
43278
43279         * m4/minmax.m4: Require autoconf 2.52.
43280         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
43281         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
43282         alternatives of translit over the alphabet.
43283         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
43284
43285 2005-08-24  Simon Josefsson  <jas@extundo.com>
43286
43287         * tests/test-getpass.c: New file.
43288
43289 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
43290
43291         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
43292         for GNU regex features.
43293
43294 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
43295
43296         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
43297         * lib/regex.h (regerror): Likewise.
43298
43299         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
43300         requires this.  (The code never needed it.)
43301
43302         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
43303         All uses of recently-renamed identifiers changed to use the new,
43304         POSIX-compliant names.  The code will build and run just fine
43305         without these changes, but it's better to eat our own dog food
43306         and use the standard-conforming names.
43307
43308         * lib/regex.h: Fix a multitude of POSIX name space violations.
43309         These changes have an effect only for programs that define
43310         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
43311         do not change anything for programs compiled in the normal way.
43312         Also, there is no effect on the ABI.
43313
43314         (_REGEX_SOURCE): New macro.
43315         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
43316         defined and _GNU_SOURCE is not; this fixes a name space violation.
43317
43318         Rename the following macros to obey POSIX requirements.
43319         The old names are still visible as macros if _REGEX_SOURCE is defined.
43320         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
43321         RE_BACKSLASH_ESCAPE_IN_LISTS.
43322         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
43323         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
43324         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
43325         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
43326         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
43327         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
43328         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
43329         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
43330         (REG_INTERVALS): renamed from RE_INTERVALS.
43331         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
43332         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
43333         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
43334         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
43335         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
43336         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
43337         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
43338         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
43339         RE_UNMATCHED_RIGHT_PAREN_ORD.
43340         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
43341         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
43342         (REG_DEBUG): renamed from RE_DEBUG.
43343         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
43344         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
43345         unusual, since we can't clash with the POSIX REG_ICASE.
43346         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
43347         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
43348         (REG_NO_SUB): renamed from RE_NO_SUB.
43349         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
43350         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
43351         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
43352         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
43353         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
43354         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
43355         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
43356         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
43357         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
43358         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
43359         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
43360         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
43361         RE_SYNTAX_POSIX_MINIMAL_BASIC.
43362         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
43363         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
43364         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
43365         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
43366         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
43367         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
43368         (REG_FIXED): Renamed from REGS_FIXED.
43369         (REG_NREGS): Renamed from RE_NREGS.
43370
43371         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
43372         of other REG_* macros, since POSIX says the user is allowed to
43373         #undef these macros selectively.
43374
43375         (reg_errcode_t): Update comment stating what other tables need
43376         to be consistent.
43377
43378         Rename the following enum values to obey POSIX requirements.
43379         The old names are still visible as macros.
43380         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
43381         is not defined, since GNU is supposed to be a superset of POSIX as
43382         much as possible, and since we want reg_errcode_t to be a signed
43383         type for implementation consistency.
43384         (_REG_NOERROR): Renamed from REG_NOERROR.
43385         (_REG_NOMATCH): Renamed from REG_NOMATCH.
43386         (_REG_BADPAT): Renamed from REG_BADPAT.
43387         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
43388         (_REG_ECTYPE): Renamed from REG_ECTYPE.
43389         (_REG_EESCAPE): Renamed from REG_EESCAPE.
43390         (_REG_ESUBREG): Renamed from REG_ESUBREG.
43391         (_REG_EBRACK): Renamed from REG_EBRACK.
43392         (_REG_EPAREN): Renamed from REG_EPAREN.
43393         (_REG_EBRACE): Renamed from REG_EBRACE.
43394         (_REG_BADBR): Renamed from REG_BADBR.
43395         (_REG_ERANGE): Renamed from REG_ERANGE.
43396         (_REG_ESPACE): Renamed from REG_ESPACE.
43397         (_REG_BADRPT): Renamed from REG_BADRPT.
43398         (_REG_EEND): Renamed from REG_EEND.
43399         (_REG_ESIZE): Renamed from REG_ESIZE.
43400         (_REG_ERPAREN): Renamed from REG_ERPAREN.
43401         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
43402         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
43403         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
43404         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
43405
43406         (_REG_RE_NAME, _REG_RM_NAME): New macros.
43407         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
43408         changed.  But support the old name if the new one is not defined
43409         and if _REGEX_SOURCE.
43410
43411         Change the following member names in struct re_pattern_buffer.
43412         The old names are still supported if !_REGEX_SOURCE.
43413         The new names are always supported, regardless of _REGEX_SOURCE.
43414         (re_buffer): Renamed from buffer.
43415         (re_allocated): Renamed from allocated.
43416         (re_used): Renamed from used.
43417         (re_syntax): Renamed from syntax.
43418         (re_fastmap): Renamed from fastmap.
43419         (re_translate): Renamed from translate.
43420         (re_can_be_null): Renamed from can_be_null.
43421         (re_regs_allocated): Renamed from regs_allocated.
43422         (re_fastmap_accurate): Renamed from fastmap_accurate.
43423         (re_no_sub): Renamed from no_sub.
43424         (re_not_bol): Renamed from not_bol.
43425         (re_not_eol): Renamed from not_eol.
43426         (re_newline_anchor): Renamed from newline_anchor.
43427
43428         Change the following member names in struct re_registers.
43429         The old names are still supported if !_REGEX_SOURCE.
43430         The new names are always supported, regardless of _REGEX_SOURCE.
43431         (rm_num_regs): Renamed from num_regs.
43432         (rm_start): Renamed from start.
43433         (rm_end): Renamed from end.
43434
43435         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
43436         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
43437         Prepend __ to parameter names.
43438
43439         Undo yesterday's changes.
43440
43441 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
43442
43443         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
43444         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
43445         lib/regex.c.
43446
43447 2005-08-24  Jim Meyering  <jim@meyering.net>
43448
43449         Sync from coreutils.
43450         * m4/fcntl-safer.m4: New file.
43451
43452         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
43453         and object files for this module.
43454
43455 2005-08-24  Jim Meyering  <jim@meyering.net>
43456
43457         Sync from coreutils.
43458         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
43459
43460 2005-08-24  Jim Meyering  <jim@meyering.net>
43461
43462         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
43463         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
43464
43465 2005-08-24  Jim Meyering  <jim@meyering.net>
43466
43467         * modules/fcntl-safer: New module.
43468         * modules/fts (Depends-on): Add fcntl-safer.
43469         * MODULES.html.sh (File descriptor based Input/Output):
43470         Add fcntl-safer.
43471
43472 2005-08-24  Bruno Haible  <bruno@clisp.org>
43473
43474         Support for unit test modules.
43475         * modules/README: Mention tests modules.
43476         * modules/TEMPLATE-TESTS: New file.
43477         * gnulib-tool: New options --extract-tests-module, --with-tests and
43478         --tests-base (unused for the moment).
43479         (testsbase, inctests): New variables.
43480         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
43481         (func_verify_module): Exclude TEMPLATE-TESTS.
43482         (func_verify_nontests_module, func_verify_tests_module): New functions.
43483         (func_get_dependencies): Add implicit dependency for tests modules.
43484         (func_get_tests_module): New function.
43485         (func_modules_transitive_closure): When --with-tests was specified,
43486         include the unit tests as well, unless explicitly avoided.
43487         (func_emit_lib_Makefile_am): Ignore the tests modules here.
43488         (func_emit_tests_Makefile_am): New function.
43489         (func_create_testdir): When --with-tests was specified, emit a
43490         tests/ directory.
43491         * MODULES.html.sh (Future developments): Update.
43492
43493 2005-08-24  Bruno Haible  <bruno@clisp.org>
43494
43495         * modules/tls-tests: New file.
43496         * tests/test-tls.c: New file, from GNU gettext.
43497
43498 2005-08-24  Bruno Haible  <bruno@clisp.org>
43499
43500         * modules/lock-tests: New file.
43501         * tests/test-lock.c: New file, from GNU gettext.
43502
43503 2005-08-24  Bruno Haible  <bruno@clisp.org>
43504
43505         * lib/lock.h: Add multiple inclusion guard.
43506         * lib/tls.h: Add multiple inclusion guard.
43507
43508 2005-08-24  Bruno Haible  <bruno@clisp.org>
43509
43510         * gnulib-tool: Add support for the --aux-dir option to
43511         --create-testdir, --create-megatestdir, --test, --megatest.
43512         (func_create_testdir, func_create_megatestdir): Optionally emit a
43513         AC_CONFIG_AUX_DIR directive.
43514         (create-testdir, create-megatestdir, test, megatest): Provide a
43515         default value for $auxdir.
43516
43517 2005-08-24  Bruno Haible  <bruno@clisp.org>
43518
43519         * gnulib-tool (import): Use compound statement instead of subshell
43520         where possible.
43521
43522 2005-08-24  Bruno Haible  <bruno@clisp.org>
43523
43524         * gnulib-tool (import): Change --aux-dir default to "build-aux".
43525
43526 2005-08-24  Bruno Haible  <bruno@clisp.org>
43527
43528         * gnulib-tool (func_version): Update.
43529
43530 2005-08-24  Bruno Haible  <bruno@clisp.org>
43531
43532         * gnulib-tool (func_import, func_create_testdir,
43533         func_create_megatestdir): Quote all autoconf macro arguments.
43534
43535 2005-08-24  Bruno Haible  <bruno@clisp.org>
43536
43537         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
43538         option --force, because --force causes the aclocal.m4 of each
43539         subdirectory to be newer than the corresponding config.h.in.
43540
43541 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
43542
43543         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
43544         All contents moved to gl_REGEX.
43545         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
43546         assume that it does.
43547
43548 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
43549
43550         * lib/regex.h (REG_NOSYS)
43551         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
43552         Define, since POSIX requires it as of 2001.
43553         (_REG_ENOSYS)
43554         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
43555         New private symbol, used to keep the enum signed in all cases.
43556         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
43557         Youngman in
43558         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
43559
43560         * lib/regex_internal.c (re_string_skip_chars, register_state):
43561         (calc_state_hash):
43562         Remove forward decls; no longer needed now that we use prototypes.
43563         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
43564         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
43565         (clean_state_log_if_needed): Likewise.
43566
43567 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
43568
43569         * config/srclist.txt: Add glibc bugs 1231-1233.
43570
43571 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
43572
43573         Fix problems reported by Sam Steingold in
43574         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
43575         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
43576         assumed that reg_errcode_t is a signed type, which is not
43577         necessarily true if _XOPEN_SOURCE is not defined.
43578         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
43579         since some compilers warn about it otherwise.
43580
43581 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
43582
43583         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
43584         (init_word_char, create_initial_state, duplicate_node_closure):
43585         (fetch_token, peek_token_bracket, build_range_exp):
43586         (build_collating_symbol): Remove forward decls; no longer needed
43587         now that we use prototypes.
43588
43589         * lib/regcomp.c:
43590         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
43591         (re_compile_fastmap_iter, regcomp, regerror, regfree):
43592         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
43593         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
43594         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
43595         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
43596         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
43597         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
43598         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
43599         (build_range_exp, build_collating_symbol, parse_bracket_exp):
43600         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
43601         (build_charclass, build_charclass_op, fetch_number, create_tree):
43602         (create_token_tree, mark_opt_subexp, duplicate_tree):
43603         Use prototypes rather than old-style definitions.
43604
43605         * lib/regex_internal.c:
43606         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
43607         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
43608         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
43609         (re_string_reconstruct, re_string_peek_byte_case):
43610         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
43611         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
43612         (re_node_set_init_copy, re_node_set_add_intersect):
43613         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
43614         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
43615         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
43616         (re_acquire_state, re_acquire_state_context, register_state):
43617         (create_ci_newstate, create_cd_newstate, free_state):
43618         Likewise.
43619         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
43620         re_search_2):
43621         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
43622         (re_search_internal, prune_impossible_nodes):
43623         (acquire_init_state_context, check_matching, static):
43624         (check_halt_node_context, check_halt_state_context, proceed_next_node):
43625         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
43626         (update_regs, sift_states_backward, build_sifted_states):
43627         (clean_state_log_if_needed, merge_state_array):
43628         (update_cur_sifted_state, add_epsilon_src_nodes):
43629         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
43630         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
43631         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
43632         (find_recover_state, check_subexp_matching_top, transit_state_mb):
43633         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
43634         (check_arrival, check_arrival_add_next_nodes):
43635         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
43636         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
43637         (check_node_accept_bytes, check_node_accept, extend_buffers):
43638         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
43639         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
43640         (sift_ctx_init):
43641         Likewise.
43642
43643         * lib/regex_internal.h:
43644         (re_string_allocate, re_string_construct, re_string_reconstruct):
43645         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
43646         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
43647         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
43648         (re_string_context_at, re_string_peek_byte_case):
43649         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
43650         is defined, since we now use prototypes always.
43651
43652         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
43653         C89 or better.  All uses removed.
43654
43655 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
43656
43657         * config/srclist.txt: Add glibc bugs 1220-1227.
43658
43659 2005-08-20  Jim Meyering  <jim@meyering.net>
43660
43661         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
43662         of unused local, dfa.
43663
43664 2005-08-20  Bruno Haible  <bruno@clisp.org>
43665
43666         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
43667
43668 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
43669
43670         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
43671         (re_node_set_insert_last, re_dfa_add_node):
43672         Rename local variables to avoid GCC shadowing warnings.
43673
43674 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
43675
43676         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
43677         [defined lint]: Suppress bogus uninitialized-variable warnings.
43678
43679         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
43680         and let the caller return REG_ESPACE if out of space.  This
43681         removes an uninitialied-variable warning with GCC 4.0.1, and also
43682         avoids taking the address of a local variable.  All callers
43683         changed.
43684
43685 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
43686
43687         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
43688         $LIBCSRC/posix/regexec.c.
43689         Add glibc bug 1217 for regcomp.c.
43690
43691 2005-08-19  Jim Meyering  <jim@meyering.net>
43692
43693         * lib/regexec.c (proceed_next_node): Redo local variables to
43694         avoid GCC shadowing warnings.
43695
43696 2005-08-18  Bruno Haible  <bruno@clisp.org>
43697
43698         * lib/strstr.c (strstr): Fix return value in multibyte case.
43699         * lib/strcasestr.c (strcasestr): Likewise.
43700
43701 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
43702
43703         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
43704
43705 2005-08-17  Jim Meyering  <jim@meyering.net>
43706
43707         Make the %s format (seconds since the epoch) work for a negative
43708         number and when used with a zero-padded field width, e.g. %015s.
43709
43710         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
43711         label so that it precedes the code to set `digits'.  Otherwise,
43712         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
43713         print `00-22'.  Now, it prints `-0022', as it should.
43714
43715 2005-08-17  Bruno Haible  <bruno@clisp.org>
43716
43717         * modules/strstr (Files): Add m4/mbrtowc.m4.
43718         (Depends-on): Add mbuiter.
43719
43720 2005-08-17  Bruno Haible  <bruno@clisp.org>
43721
43722         * modules/strcasestr: New file.
43723         * MODULES.html.sh (String handling, based on ANSI C 89): Add
43724         strcasestr.
43725
43726 2005-08-17  Bruno Haible  <bruno@clisp.org>
43727
43728         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
43729
43730 2005-08-17  Bruno Haible  <bruno@clisp.org>
43731
43732         * modules/mbuiter: New file.
43733         * MODULES.html.sh (Extended multibyte and wide character utilities):
43734         Add mbuiter.
43735
43736 2005-08-17  Bruno Haible  <bruno@clisp.org>
43737
43738         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
43739         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
43740
43741 2005-08-17  Bruno Haible  <bruno@clisp.org>
43742
43743         * m4/strcasestr.m4: New file.
43744
43745 2005-08-17  Bruno Haible  <bruno@clisp.org>
43746
43747         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
43748         * lib/strstr.c: Completely rewritten, with multibyte locale support.
43749
43750 2005-08-17  Bruno Haible  <bruno@clisp.org>
43751
43752         * lib/strcasestr.h: New file.
43753         * lib/strcasestr.c: New file.
43754
43755 2005-08-17  Bruno Haible  <bruno@clisp.org>
43756
43757         * lib/strcasecmp.c: Use mbuiter.h.
43758
43759 2005-08-17  Bruno Haible  <bruno@clisp.org>
43760
43761         * lib/mbuiter.h: New file.
43762
43763 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
43764
43765         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
43766         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
43767         and gl_GETOPT are both invoked via different paths (as happens
43768         with GNU tar CVS because it uses both argp and getopt), the former
43769         wins.
43770
43771 2005-08-16  Bruno Haible  <bruno@clisp.org>
43772
43773         * modules/tls: New file.
43774         * MODULES.html.sh (Multithreading): Add tls.
43775
43776 2005-08-16  Bruno Haible  <bruno@clisp.org>
43777
43778         * modules/strnlen1: New file.
43779         * MODULES.html.sh (String handling): Add strnlen1.
43780
43781 2005-08-16  Bruno Haible  <bruno@clisp.org>
43782
43783         * modules/strcase (Files): Add m4/mbrtowc.m4.
43784         (Depends-on): Add strnlen1, mbchar.
43785
43786 2005-08-16  Bruno Haible  <bruno@clisp.org>
43787
43788         * modules/mbiter: New file.
43789         * MODULES.html.sh (Extended multibyte and wide character utilities):
43790         Add mbiter.
43791
43792 2005-08-16  Bruno Haible  <bruno@clisp.org>
43793
43794         * modules/mbfile: New file.
43795         * MODULES.html.sh (Extended multibyte and wide character utilities):
43796         Add mbfile.
43797
43798 2005-08-16  Bruno Haible  <bruno@clisp.org>
43799
43800         * modules/mbchar: New file.
43801         * MODULES.html.sh (Extended multibyte and wide character utilities):
43802         New section.
43803
43804 2005-08-16  Bruno Haible  <bruno@clisp.org>
43805
43806         * m4/tls.m4: New file, from GNU gettext.
43807
43808 2005-08-16  Bruno Haible  <bruno@clisp.org>
43809
43810         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
43811         always.
43812         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
43813
43814 2005-08-16  Bruno Haible  <bruno@clisp.org>
43815
43816         * m4/mbiter.m4: New file.
43817
43818 2005-08-16  Bruno Haible  <bruno@clisp.org>
43819
43820         * m4/mbfile.m4: New file.
43821
43822 2005-08-16  Bruno Haible  <bruno@clisp.org>
43823
43824         * m4/mbchar.m4: New file.
43825
43826 2005-08-16  Bruno Haible  <bruno@clisp.org>
43827
43828         * lib/tls.h: New file, from GNU gettext.
43829         * lib/tls.c: New file, from GNU gettext.
43830
43831 2005-08-16  Bruno Haible  <bruno@clisp.org>
43832
43833         * lib/strnlen1.h: New file.
43834         * lib/strnlen1.c: New file.
43835
43836 2005-08-16  Bruno Haible  <bruno@clisp.org>
43837
43838         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
43839         (mbi_init): Update.
43840         (mbi_avail, mbi_advance): Let the iteration end before the terminating
43841         NUL byte, not after it.
43842
43843 2005-08-16  Bruno Haible  <bruno@clisp.org>
43844
43845         * lib/strcase.h (strcasecmp): Add note in comments.
43846         * lib/strncasecmp.c: Use code from strcasecmp.c.
43847         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
43848         (strcasecmp): Work correctly in multibyte locales.
43849
43850 2005-08-16  Bruno Haible  <bruno@clisp.org>
43851
43852         * lib/mbiter.h: New file.
43853
43854 2005-08-16  Bruno Haible  <bruno@clisp.org>
43855
43856         * lib/mbfile.h: New file.
43857
43858 2005-08-16  Bruno Haible  <bruno@clisp.org>
43859
43860         * lib/mbchar.h: New file.
43861         * lib/mbchar.c: New file.
43862
43863 2005-08-16  Bruno Haible  <bruno@clisp.org>
43864
43865         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
43866         the valid ones. Makes the comparison operations transitive:
43867         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
43868         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
43869
43870 2005-08-15  Simon Josefsson  <jas@extundo.com>
43871
43872         * modules/ssize_t (License): Change to 'unlimited'.
43873
43874         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
43875
43876 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
43877
43878         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
43879         Add comments for each pending glibc patch.
43880
43881 2005-08-15  Bruno Haible  <bruno@clisp.org>
43882
43883         * lib/regex.h (__restrict_arr): Don't define to __restrict if
43884         __cplusplus is defined.
43885
43886 2005-08-14  Jim Meyering  <jim@meyering.net>
43887
43888         Sync from coreutils.
43889
43890         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
43891         Use the hash-table-based cycle-detection code not just when
43892         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
43893         Reported by James Youngman in
43894         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
43895         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
43896         FTS_TIGHT_CYCLE_CHECK.
43897         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
43898         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
43899         once again.
43900         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
43901         * lib/fts.c (fd_safer): Remove decl.
43902         Include fcntl--.h rather than unistd-safer.h
43903         (fts_safe_changedir): Don't call fd_safer; no longer needed
43904         now that we include fcntl--.h.
43905
43906 2005-08-12  Simon Josefsson  <jas@extundo.com>
43907
43908         * modules/getndelim2: Use ssize_t module.
43909         * modules/getnline: Likewise.
43910         * modules/safe-read: Likewise.
43911         * modules/xreadlink: Likewise.
43912
43913         * modules/ssize_t: New file.
43914
43915 2005-08-12  Simon Josefsson  <jas@extundo.com>
43916
43917         * m4/readline.m4: Look for termcap, curses or ncurses if required.
43918
43919 2005-08-12  Simon Josefsson  <jas@extundo.com>
43920
43921         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
43922         ssize_t.
43923
43924 2005-08-12  Simon Josefsson  <jas@extundo.com>
43925
43926         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
43927         readline, getdelim and check_version.
43928         (Support for systems lacking ISO C 99: Sizes of integer types):
43929         Add size_max.
43930
43931 2005-08-12  Bruno Haible  <bruno@clisp.org>
43932
43933         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
43934
43935 2005-08-11  Simon Josefsson  <jas@extundo.com>
43936
43937         * modules/readline: New file.
43938
43939         * modules/strnlen (Files): Add strnlen.h.
43940
43941 2005-08-11  Simon Josefsson  <jas@extundo.com>
43942
43943         * m4/readline.m4: New file.
43944
43945 2005-08-11  Simon Josefsson  <jas@extundo.com>
43946
43947         * lib/readline.h, readline.c: New file.
43948
43949 2005-08-11  Simon Josefsson  <jas@extundo.com>
43950
43951         * doc/gnulib.texi (Initial import, Finishing touches): Mention
43952         gl_AVOID.
43953
43954 2005-08-11  Bruno Haible  <bruno@clisp.org>
43955
43956         * lib/strnlen.h (strnlen): Change parameter name to match comment.
43957
43958 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
43959
43960         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
43961
43962 2005-08-10  Simon Josefsson  <jas@extundo.com>
43963
43964         * tests/test-iconvme.c: New file.
43965
43966 2005-08-10  Simon Josefsson  <jas@extundo.com>
43967
43968         * m4/strnlen.m4: New file.
43969
43970         * m4/strndup.m4: Don't check for strnlen declaration, done in
43971         strnlen.m4.
43972
43973 2005-08-10  Simon Josefsson  <jas@extundo.com>
43974
43975         * lib/strndup.c: Use strnlen.h.
43976
43977         * lib/strnlen.h: New file.
43978
43979 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
43980
43981         * README: Typos.
43982
43983 2005-08-02  Simon Josefsson  <jas@extundo.com>
43984
43985         * modules/readline: New file.
43986
43987 2005-08-02  Simon Josefsson  <jas@extundo.com>
43988
43989         * modules/getdelim: New file.
43990
43991         * modules/getline: Rewrite, don't use getndelim2.
43992
43993 2005-08-02  Simon Josefsson  <jas@extundo.com>
43994
43995         * m4/getline.m4: Separate out getdelim stuff into separate module.
43996
43997         * m4/getdelim.m4: New file.
43998
43999 2005-08-02  Simon Josefsson  <jas@extundo.com>
44000
44001         * lib/getline.h, getline.c: Rewrite.
44002
44003         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
44004
44005 2005-07-31  Bruno Haible  <bruno@clisp.org>
44006
44007         * lib/lock.h (gl_lock_initializer): New macro.
44008         (gl_lock_define_initialized): Use it.
44009         (gl_rwlock_initializer): New macro.
44010         (gl_rwlock_define_initialized): Use it.
44011         (gl_recursive_lock_initializer): New macro.
44012         (gl_recursive_lock_define_initialized): Use it.
44013
44014 2005-07-30  Karl Berry  <karl@gnu.org>
44015
44016         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
44017         Report from Ben Pfaff, regarding getopt.
44018
44019 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
44020
44021         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
44022         normal way.
44023         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
44024         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
44025         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
44026         (gl_GETOPT): Use the new macros.  Most of the implementation
44027         is moved to the new macros.  This is for programs like Emacs
44028         that don't want all the functionality of gl_GETOPT.
44029
44030 2005-07-26  Bruno Haible  <bruno@clisp.org>
44031
44032         * m4/lock.m4: Update from GNU gettext.
44033
44034 2005-07-26  Bruno Haible  <bruno@clisp.org>
44035
44036         * lib/lock.h: Update from GNU gettext.
44037         * lib/lock.c: Update from GNU gettext.
44038
44039 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
44040
44041         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
44042         obsolescent AC_TRY_RUN.  Include the default includes files, for
44043         'exit'.
44044
44045 2005-07-24  Bruno Haible  <bruno@clisp.org>
44046
44047         * modules/visibility: New file.
44048         * MODULES.html.sh (Misc): Add visibility.
44049
44050 2005-07-24  Bruno Haible  <bruno@clisp.org>
44051
44052         * m4/visibility.m4: New file.
44053
44054 2005-07-24  Bruno Haible  <bruno@clisp.org>
44055
44056         * doc/visibility.texi: New file.
44057
44058 2005-07-22  Bruno Haible  <bruno@clisp.org>
44059
44060         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
44061         $(ALLOCA_H), redundant through BUILT_SOURCES.
44062         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
44063         redundant through BUILT_SOURCES.
44064         * modules/byteswap (Makefile.am): Remove explicit dependency on
44065         $(BYTESWAP_H), redundant through BUILT_SOURCES.
44066         * modules/fnmatch (Makefile.am): Remove explicit dependency on
44067         $(FNMATCH_H), redundant through BUILT_SOURCES.
44068         * modules/getopt (Makefile.am): Remove explicit dependency on
44069         $(GETOPT_H), redundant through BUILT_SOURCES.
44070         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
44071         redundant through BUILT_SOURCES.
44072         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
44073         redundant through BUILT_SOURCES.
44074         * modules/stdbool (Makefile.am): Remove explicit dependency on
44075         $(STDBOOL_H), redundant through BUILT_SOURCES.
44076         * modules/stdint (Makefile.am): Remove explicit dependency on
44077         $(STDINT_H), redundant through BUILT_SOURCES.
44078         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
44079         Remove explicit dependency on $(SYSEXITS_H).
44080         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
44081
44082 2005-07-18  Simon Josefsson  <jas@extundo.com>
44083
44084         * lib/check-version.c (check_version): Accept identical versions too.
44085
44086 2005-07-18  Bruno Haible  <bruno@clisp.org>
44087
44088         * modules/lock: New file.
44089         * MODULES.html.sh (Multithreading): New section.
44090
44091 2005-07-18  Bruno Haible  <bruno@clisp.org>
44092
44093         * m4/lock.m4: New file, from GNU gettext.
44094
44095 2005-07-18  Bruno Haible  <bruno@clisp.org>
44096
44097         * lib/lock.h: New file, from GNU gettext.
44098         * lib/lock.c: New file, from GNU gettext.
44099
44100 2005-07-18  Bruno Haible  <bruno@clisp.org>
44101
44102         * lib/lock.h (gl_once_t): New type.
44103         (gl_once_define, gl_once): New macros.
44104         * lib/lock.c (fresh_once): New variable.
44105         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
44106         functions.
44107
44108 2005-07-16  Simon Josefsson  <jas@extundo.com>
44109
44110         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
44111         workaround, suggested by Bruno.
44112
44113 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44114
44115         * modules/xalloc (Depends-on): Add xalloc-die.
44116         * modules/xvasprintf (Depends-on): Add xalloc-die.
44117
44118 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
44119
44120         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
44121         with a minor change.
44122
44123 2005-07-15  Bruno Haible  <bruno@clisp.org>
44124
44125         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
44126         When using lib/poll.c, define poll as rpl_poll.
44127
44128 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
44129
44130         * modules/argp (Depends-on): Remove unlocked-io.
44131
44132 2005-07-14  Derek Price  <derek@ximbiot.com>
44133
44134         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
44135         for glob symlink bug.
44136
44137 2005-07-14  Bruno Haible  <bruno@clisp.org>
44138
44139         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
44140         Instead, test for *_unlocked function declarations directly.
44141
44142 2005-07-11  Simon Josefsson  <jas@extundo.com>
44143
44144         * modules/size_max: New file.
44145
44146         * modules/xsize: Depend on size_max module for size_max.m4.
44147
44148 2005-07-11  Simon Josefsson  <jas@extundo.com>
44149
44150         * lib/size_max.h: New file.
44151
44152 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
44153
44154         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
44155         copyright symbol and the year.
44156         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
44157         (version_etc_va): Use parameterized copyright notice.
44158         Reword to conform to the current GNU coding standards.
44159
44160 2005-07-11  Karl Berry  <karl@gnu.org>
44161
44162         * doc/gnulib.texi (Quoting): new node.
44163         (Initial import): more info, from Patrice.
44164
44165 2005-07-11  Bruno Haible  <bruno@clisp.org>
44166
44167         * gnulib-tool (func_usage): Document option --avoid.
44168         (Command line options): Handle --avoid.
44169         (func_acceptable): New function.
44170         (func_modules_transitive_closure): Use it.
44171
44172 2005-07-11  Bruno Haible  <bruno@clisp.org>
44173
44174         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
44175         Reported by Jim Meyering.
44176
44177 2005-07-10  Bruno Haible  <bruno@clisp.org>
44178
44179         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
44180         Needed when size_t is smaller than 'unsigned int'.
44181         Reported by Paul Eggert.
44182
44183 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44184
44185         * modules/argp (Depends-on): Add unlocked-io
44186
44187 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
44188
44189         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
44190         block of defines.
44191
44192 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
44193
44194         * config/srclist.txt: Comment out regcomp.c, since we have a porting
44195         fix now.
44196
44197 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
44198         and Paul Eggert  <eggert@cs.ucla.edu>
44199
44200         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
44201         in wint_t, not wchar_t.  Remove now-unnecessary cast.
44202
44203 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
44204
44205         * modules/regex (Files): Add lib/regex_internal.c,
44206         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
44207         (Depends-on): Add extensions.
44208         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
44209
44210 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
44211
44212         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
44213         pathconf.
44214         * m4/same.m4 (gl_SAME): Likewise.
44215         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
44216
44217         * m4/regex.m4: Adjust to new libc regex implementation.
44218         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
44219         all the .c and .h parts of (the new) regex.
44220         Quote the m4 stuff better.
44221         Check for RE_ICASE bug of old gnulib.
44222         Check for REG_STARTEND of recent libc.
44223         Rename local variables from jm_* to gl_*.
44224         Quote operand of "test -f".
44225         Say "recent enough" version of libc, not "version 2".
44226         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
44227         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
44228         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
44229         Remove check for btowc, isascii.
44230         Require AM_LANGINFO_CODESET.
44231
44232 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
44233
44234         * lib/regex.c, regex.h: Sync from libc.
44235         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
44236         * lib/regexec.c:
44237         New files, synced from libc, except that regex_internal.h
44238         currently has a small porting fix.
44239
44240 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
44241
44242         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
44243         regex_internal.c, regexec.c.
44244         Add regex_internal.h too, but as a comment, since the libc version
44245         is currently broken in gnulib mode.
44246
44247 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
44248
44249         Support programs like Emacs that use gnulib but not gettext.
44250         * MODULES.html.sh (Internationalization functions): Add gettext-h.
44251         * modules/gettext-h: New file.
44252         * modules/gettext (Files): Remove lib/gettext.h.
44253         (Depends-on): Add gettext-h.
44254         (Makefile.am): Remove lib_SOURCES.
44255         * modules/argmatch, modules/c-stack, modules/closeout:
44256         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
44257         * modules/execute, modules/file-type, modules/getaddrinfo:
44258         * modules/getopt, modules/human, modules/javacomp:
44259         * modules/javaexec, modules/mkdir-p, modules/obstack:
44260         * modules/openat, modules/pagealign_alloc, modules/pipe:
44261         * modules/quotearg, modules/regex, modules/rpmatch:
44262         * modules/unicodeio, modules/userspec, modules/version-etc:
44263         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
44264         * modules/xsetenv:
44265         Depend on gettext-h, not gettext.
44266
44267 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
44268
44269         * gnulib-tool (func_import): Add support for 'public domain' license.
44270         * modules/alloca, modules/atexit, modules/memmove:
44271         Now public domain, not GPL.
44272         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
44273         * modules/realloc, modules/strerror, modules/strtod:
44274         Now LGPL, not GPL.
44275
44276 2005-07-05  Bruno Haible  <bruno@clisp.org>
44277
44278         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
44279         autoconf CVS. Needed for mingw.
44280
44281 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44282
44283         Remove the dependency of the strftime module on the tzset module.
44284         * modules/strftime (Depends-on): Remove dependency on tzset.
44285
44286 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44287
44288         Remove the dependency of the strftime module on the tzset module.
44289         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
44290         gl_FUNC_TZSET_CLOBBER.
44291
44292 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
44293
44294         Remove the dependency of the strftime module on the tzset module.
44295         * lib/strftime.c (my_strftime)
44296         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
44297         Copy the input structure, to work around some of the bug with
44298         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
44299         Solaris releases, you should also use the tzset module, but we won't
44300         require it as a dependency any more since we don't want LGPLed code
44301         to depend on GPLed code.
44302
44303 2005-07-02  Jim Meyering  <jim@meyering.net>
44304
44305         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
44306         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
44307         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
44308         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
44309
44310 2005-07-02  Jim Meyering  <jim@meyering.net>
44311
44312         * lib/backupfile.c (backup_args): Change a `0' to NULL.
44313
44314 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
44315
44316         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
44317         declares only 'struct timespec;' (!).
44318
44319 2005-07-01  Jim Meyering  <jim@meyering.net>
44320
44321         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
44322         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
44323         * lib/save-cwd.c, tempname.c:
44324         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
44325         and don't include <sys/file.h>).
44326
44327 2005-06-29  Jim Meyering  <jim@meyering.net>
44328
44329         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
44330         type name.  Use the variable name instead.
44331         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
44332         Likewise.
44333
44334 2005-06-28  Simon Josefsson  <jas@extundo.com>
44335
44336         * modules/check-version (Files): Add check-version.m4.
44337
44338 2005-06-28  Simon Josefsson  <jas@extundo.com>
44339
44340         * m4/check-version.m4: New file, suggested by Jim Meyering
44341         <jim@meyering.net>.
44342
44343 2005-06-28  Simon Josefsson  <jas@extundo.com>
44344
44345         * lib/check-version.h, lib/check-version.c: New files.
44346
44347 2005-06-28  Simon Josefsson  <jas@extundo.com>
44348
44349         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
44350         collision with global variable.  Better indentation.  Don't
44351         increment buffer pointer beyond buffer end.  Based on comments
44352         from Paul Eggert <eggert@cs.ucla.edu>.
44353
44354         * lib/base64.h: Indent.
44355
44356 2005-06-28  Simon Josefsson  <jas@extundo.com>
44357
44358         * doc/gnulib.texi (Library version handling): New section.
44359
44360 2005-06-28  Jim Meyering  <jim@meyering.net>
44361
44362         * check-module (find_included_lib_files): Hard-code another
44363         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
44364         but modules/fts-lgpl (correctly) does not list those files.
44365
44366         * modules/canonicalize (Files): Add lib/pathmax.h.
44367
44368 2005-06-25  Simon Josefsson  <jas@extundo.com>
44369
44370         * modules/check-version: New file.
44371
44372 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
44373
44374         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
44375         initializer of struct addrinfo, as an indication that we don't
44376         care how many members the structure has.
44377
44378 2005-06-24  Derek Price  <derek@ximbiot.com>
44379         and Bruno Haible  <bruno@clisp.org>
44380
44381         Remove stat module & update lstat.
44382         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
44383         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
44384         * m4/stat.m4: Remove this file.
44385
44386 2005-06-24  Derek Price  <derek@ximbiot.com>
44387         and Bruno Haible  <bruno@clisp.org>
44388
44389         Remove stat module & update lstat.
44390         * lib/stat.c: Remove this file...
44391         (slash_aware_lstat): ...moving this content and its support...
44392         * lib/lstat.c (rpl_lstat): ...into here.
44393         * lib/lstat.h: New file.
44394
44395 2005-06-24  Derek Price  <derek@ximbiot.com>
44396         and Bruno Haible  <bruno@clisp.org>
44397
44398         Remove stat module & update lstat.
44399         * config/srclist.txt (libc sources): Remove stat.
44400
44401 2005-06-24  Derek Price  <derek@ximbiot.com>
44402         and Bruno Haible  <bruno@clisp.org>
44403
44404         Remove stat module & update lstat.
44405         * MODULES.html.sh (stat): Remove.
44406         * MODULES.html: Regenerated.
44407         * modules/lstat (Description): Correct function name.
44408         (Files): Add "lstat.h".
44409         (Depends-on): Remove stat, add xalloc, stat-macros.
44410         * modules/stat: Remove this file.
44411         (Include): Add "lstat.h", remove <sys/stat.h>.
44412
44413 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
44414
44415         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
44416         (ranged_convert): Don't save conversion in a temporary struct.
44417         This causes a warning with GCC 4.0.0, and anyway in the typical
44418         case it's not worth the extra 100 bytes or so of code.
44419         (ranged_convert, __mktime_internal): When calling a function via a
44420         pointer P, use P () rather than (*P) (), as we now assume C89 or
44421         better.
44422
44423 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
44424
44425         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
44426         "who -r" failed to give output.  Problem reported by Tim Waugh.
44427
44428         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
44429         (xcalloc): Use it to avoid needless tests.
44430         Problem reported by Jim Meyering.
44431
44432 2005-06-20  Derek Price  <derek@ximbiot.com>
44433
44434         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
44435         unnecessary for Autoconfs > 2.59c.
44436
44437 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44438
44439         * lib/argp.h (__option_is_short): Check upper limit of
44440         __key. Isprint() requires its argument to have the value
44441         of an unsigned char or EOF.
44442
44443 2005-06-16  Jim Meyering  <jim@meyering.net>
44444
44445         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
44446         when either N or S is zero.
44447
44448 2005-06-16  Derek Price  <derek@ximbiot.com>
44449
44450         * m4/bison.m4: Declare YACC & YFLAGS precious.
44451
44452 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
44453
44454         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
44455         multibyte string or pattern, fall back on unibyte matching.
44456         Problem reported by James Youngman.
44457
44458 2005-06-08  Bruno Haible  <bruno@clisp.org>
44459
44460         * modules/csharpcomp: New file.
44461         * MODULES.html.sh (C#): Add csharpcomp.
44462
44463 2005-06-08  Bruno Haible  <bruno@clisp.org>
44464
44465         * m4/csharpcomp.m4: New file, from GNU gettext.
44466
44467 2005-06-08  Bruno Haible  <bruno@clisp.org>
44468
44469         * lib/csharpcomp.h: New file, from GNU gettext.
44470         * lib/csharpcomp.c: New file, from GNU gettext.
44471         * lib/csharpcomp.sh.in: New file, from GNU gettext.
44472
44473 2005-06-08  Bruno Haible  <bruno@clisp.org>
44474
44475         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
44476         warning on mingw.
44477
44478 2005-06-07  Derek Price  <derek@ximbiot.com>
44479
44480         Sync from CVS.
44481         * lib/glob_.h: Indent nested #ifdef.
44482
44483 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
44484
44485         Sync from coreutils.
44486         Use "file name" when talking about file names, instead of "filename"
44487         or "path", as per the GNU coding standards.
44488         * lib/mkdir-p.c: Renamed from makepath.c.
44489         (make_dir_parents): Renamed from make_path.  All callers changed.
44490         * lib/mkdir-p.h: Likewise.  All includers changed.
44491         * lib/filenamecat.c: Renamed from path-concat.c.
44492         (file_name_concat): Renamed from path_concat.  All callers changed.
44493         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
44494         * lib/filenamecat.h: Likewise.  All includers changed.
44495         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
44496         in comments or local variable names.
44497         * lib/basename.c: Likewise.
44498         * lib/canonicalize.c, canonicalize.h: Likewise.
44499         * lib/dirname.c, dirname.h: Likewise.
44500         * lib/euidaccess.c: Likewise.
44501         * lib/exclude.c: Likewise
44502         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
44503         * lib/fsusage.c, fsuage.h: Likewise.
44504         * lib/fts.c, fts_.h: Likewise.
44505         * lib/getcwd.c: Likewise.
44506         * lib/getloadavg.c: Likewise.
44507         * lib/mkstemp.c: Likewise.
44508         * lib/mountlist.c, mountlist.h: Likewise.
44509         * lib/openat.c, openat.h: Likewise.
44510         * lib/readlink-stub.c: Likewise.
44511         * lib/readutmp.c, readutmp.h: Likewise.
44512         * lib/rename.c: Likewise.
44513         * lib/rmdir.c: Likewise.
44514         * lib/same.c: Likewise.
44515         * lib/savedir.c: Likewise.
44516         * lib/stripslash.c: Likewise.
44517         * lib/tempname.c: Likewise.
44518         * lib/xreadlink.c: Likewise.
44519         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
44520         All uses changed.
44521         * lib/exclude.h: Likewise.
44522
44523         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
44524         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
44525         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
44526         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
44527         * lib/pathmax.h: Include <limits.h> unconditionally, since other
44528         files have been getting away with it for years (MORE/BSD 4.3
44529         is extinct now).
44530         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
44531         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
44532
44533         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
44534         Define to 256, not 255, as per modern POSIX.
44535
44536 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
44537
44538         Sync from coreutils.
44539         Use "file name" when talking about file names, instead of "filename"
44540         or "path", as per the GNU coding standards.
44541         * MODULES.html.sh: mkdir-p renamed from makepath.
44542         filenamecat renamed from path-concat.
44543         * modules/filenamecat: Renamed from modules/path-concat.
44544         (Files): filenamecat.h and filenamecat.c renamed from
44545         path-concat.h and path-concat.c.
44546         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
44547         (Include): filenamecat.h, not path-concat.h.
44548         * modules/mkdir-p: Renamed from modules/makepath.
44549         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
44550         makepath.c.
44551         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
44552         (Include): mkdir-p.h, not makepath.h.
44553
44554 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
44555
44556         Sync from coreutils.
44557         * m4/mkdir-p.m4: Renamed from makepath.m4.
44558         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
44559         Rename files from makepath.c to mkdir-p.c, and from
44560         makepath.h to mkdir-p.h.
44561         * m4/filenamecat.m4: Renamed from path-concat.m4.
44562         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
44563         Rename files from path-concat.c to filenamecat.c,
44564         and from path-concat.h to filenamecat.h.
44565         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
44566         "file name" in local variables or comments.
44567         * m4/rename.m4: Likewise.
44568
44569 2005-06-01  Bruno Haible  <bruno@clisp.org>
44570
44571         * modules/csharpexec: New file.
44572         * MODULES.html.sh (C#): New section.
44573
44574 2005-06-01  Bruno Haible  <bruno@clisp.org>
44575
44576         * m4/csharp.m4: New file, from GNU gettext.
44577         * m4/csharpexec.m4: New file, from GNU gettext.
44578
44579 2005-06-01  Bruno Haible  <bruno@clisp.org>
44580
44581         * lib/csharpexec.h: New file, from GNU gettext.
44582         * lib/csharpexec.c: New file, from GNU gettext.
44583         * lib/csharpexec.sh.in: New file, from GNU gettext.
44584
44585 2005-05-31  Derek Price  <derek@ximbiot.com>
44586             Paul Eggert  <eggert@cs.ucla.edu>
44587
44588         Sync from cvs.
44589         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
44590
44591 2005-05-31  Derek Price  <derek@ximbiot.com>
44592             Paul Eggert  <eggert@cs.ucla.edu>
44593
44594         Sync from cvs.
44595         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
44596
44597 2005-05-29  Derek Price  <derek@ximbiot.com>
44598
44599         * config/srclist.txt (glob_.h, glob.c): Add these files.
44600
44601 2005-05-29  Derek Price  <derek@ximbiot.com>
44602
44603         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
44604         * modules/glob: New file.
44605         * modules/getlogin_r: Add link to POSIX spec in description.
44606
44607 2005-05-29  Derek Price  <derek@ximbiot.com>
44608             Paul Eggert  <eggert@cs.ucla.edu>
44609
44610         * m4/glob.m4: New file.
44611
44612 2005-05-29  Derek Price  <derek@ximbiot.com>
44613             Paul Eggert  <eggert@cs.ucla.edu>
44614
44615         * lib/glob_.h, lib/glob.c: New files.
44616
44617 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44618
44619         * modules/fts (Files): Remove m4/inttypes-pri.m4.
44620         * modules/fts-lgpl (Depends-on): Remove gettext.
44621
44622 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44623
44624         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
44625         and don't require gt_INTTYPES_PRI.
44626
44627 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44628
44629         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
44630
44631         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
44632         the configuration hassle isn't worth it.
44633         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
44634         (LONGEST_MODIFIER, PRIuMAX): Remove.
44635
44636 2005-05-27  Bruno Haible  <bruno@clisp.org>
44637
44638         * lib/getlogin_r.h: Remove second include of <stddef.h>.
44639
44640 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44641
44642         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
44643         _POSIX_PTHREAD_SEMANTICS for Solaris.
44644
44645 2005-05-25  Derek Price  <derek@ximbiot.com>
44646
44647         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
44648
44649 2005-05-25  Derek Price  <derek@ximbiot.com>
44650             Paul Eggert  <eggert@cs.ucla.edu>
44651
44652         * modules/getlogin_r, m4/getlogin_r.m4: New files.
44653         * lib/getlogin_r.c, getlogin_r.h: New files.
44654
44655 2005-05-25  Bruno Haible  <bruno@clisp.org>
44656             Derek Price  <derek@ximbiot.com>
44657
44658         * lib/getlogin_r.h: Simplify API documentation.
44659
44660 2005-05-23  Derek Price  <derek@ximbiot.com>
44661
44662         * modules/minmax (Files): Add m4/minmax.m4.
44663         (configure.ac): Add gl_MINMAX.
44664
44665 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
44666
44667         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
44668         so that unistd-safer.h (GPL'ed code) need not be included.
44669
44670 2005-05-22  Bruno Haible  <bruno@clisp.org>
44671
44672         * m4/minmax.m4: New file.
44673         Based on a patch by Derek Price <derek@ximbiot.com>.
44674
44675 2005-05-22  Bruno Haible  <bruno@clisp.org>
44676
44677         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
44678         (INT64_MIN): Fix definition.
44679         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
44680
44681         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
44682         NEED_SIGNED_INT_TYPES.
44683
44684         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
44685         HAVE_SYSTEM_INTTYPES.
44686
44687 2005-05-22  Bruno Haible  <bruno@clisp.org>
44688
44689         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
44690         Also include <sys/param.h> if it defines MIN, MAX.
44691         Based on a patch by Derek Price <derek@ximbiot.com>.
44692
44693 2005-05-21  Jim Meyering  <jim@meyering.net>
44694
44695         * modules/fts (Files): Add m4/inttypes-pri.m4.
44696         (Depends-on): Add lstat and remove gettext.  Alphabetize.
44697
44698 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
44699
44700         New fts module.
44701         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
44702         (setup_dir, free_dir): New functions.
44703         (enter_dir, leave_dir): Define trivial
44704         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
44705         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
44706         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
44707         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
44708         Move to fts-cycle.c.
44709         (fts_open): Use setup_dir.
44710         (fts_close): Use free_dir.
44711         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
44712         This adds a label and some gotos, but the alternatives were messier.
44713         Check for memory allocation failure when entering a dir.
44714         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
44715         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
44716         (FTS): New member fts_cycle, that is a union that contains the
44717         old active_dir_ht and cycle_state.  All uses changed to mention
44718         fts_cycle.ht and fts_cycle.state.
44719         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
44720         fts.c, with the following changes:
44721         (setup_dir, free_dir): New functions.
44722         (enter_dir): Now returns bool.  Return true if successful, false
44723         if memory exhausted.  All callers changed.
44724         Do not bother partly cleaning up on
44725         memory allocation failure; that is free_dir's job.
44726         However, free ad if hash_insert fails, to avoid memory leak.
44727         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
44728         fts->fts_options to see which union member to use.
44729
44730 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
44731
44732         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
44733         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
44734
44735 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
44736
44737         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
44738
44739 2005-05-20  Jim Meyering  <jim@meyering.net>
44740
44741         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
44742         Now a macro, to pacify GCC.
44743
44744 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
44745
44746         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
44747         of -1.
44748
44749 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
44750
44751         * lib/chown.c (rpl_chown): Return -1 on failure.
44752
44753 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44754
44755         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
44756         Don't check for stddef.h.
44757         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
44758         don't use its results.
44759         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
44760         since we include them unconditionally.  Don't require
44761         AM_STDBOOL_H, since stdbool is a prerequisite.
44762         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
44763         since we assume C89 or better.
44764         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
44765         as we don't use their results.
44766         Don't check for fchdir, memmove, memset, strrchr, as we use
44767         them unconditionally.
44768         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
44769         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
44770
44771 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44772
44773         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
44774         Include <stddef.h> unconditionally, since we assume C89 now.
44775         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
44776         * lib/fts.c: Include fts_.h first, to check interface.
44777         Do not include intprops.h; no longer needed.
44778         Include cycle-check.h and hash.h, since fts_.h no longer does.
44779         Remove unnecessary casts of closedir to void.
44780         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
44781         decide whether to decrement nlinks.
44782         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
44783         (FTS): Use struct hash_table * instead of Hash_table, so that
44784         we no longer need to include hash.h here.
44785
44786 2005-05-18  Jim Meyering  <jim@meyering.net>
44787
44788         * modules/dirfd (License): Change to LGPL.  Most of the code
44789         is already in the public domain.
44790
44791 2005-05-18  Jim Meyering  <jim@meyering.net>
44792
44793         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
44794         Reported by Yoann Vandoorselaere.
44795
44796 2005-05-17  Jim Meyering  <jim@meyering.net>
44797
44798         * m4/fts.m4: New file, from coreutils.
44799
44800 2005-05-17  Jim Meyering  <jim@meyering.net>
44801
44802         * lib/fts.c, lib/fts_.h: New files, from coreutils.
44803
44804 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44805
44806         Sync from coreutils.
44807         * m4/unlinkdir.m4: New file.
44808
44809 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44810
44811         Sync from coreutils.
44812         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
44813         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
44814         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
44815         White space changes only.
44816         * lib/makepath.c (make_path): Port to hosts where leading "//" is
44817         special.
44818         * lib/yesno.c: Include getline.h, not ctype.h.
44819         (yesno): Don't remove leading white space; POSIX doesn't allow it.
44820         Use getline to remove arbitrary restriction on response length.
44821
44822 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44823
44824         * config/srclist-update: Spell out "Street" in FSF postal
44825         mail address; this is the style the FSF seems to prefer.
44826
44827         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
44828         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
44829         this updates FSF postal mail address.
44830
44831         Sync from coreutils.
44832         * modules/unlinkdir: New file.
44833         * modules/yesno (Depends-on): Add getline.
44834         * MODULES.html.sh (File system functions): Add unlinkdir.
44835
44836 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44837
44838         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
44839         lib/strsep.h:
44840         Change the initial comment to refer to GPL, not LGPL.
44841         gnulib-tool will change it to LGPL as needed.
44842
44843         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
44844         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
44845         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
44846         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
44847         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
44848         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
44849         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
44850         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
44851         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
44852         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
44853         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
44854         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
44855         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
44856         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
44857         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
44858         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
44859         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
44860         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
44861         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
44862         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
44863         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
44864         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
44865         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
44866         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
44867         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
44868         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
44869         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
44870         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
44871         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
44872         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
44873         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
44874         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
44875         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
44876         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
44877         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
44878         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
44879         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
44880         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
44881         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
44882         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
44883         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
44884         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
44885         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
44886         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
44887         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
44888         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
44889         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
44890         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
44891         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
44892         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
44893         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
44894         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
44895         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
44896         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
44897         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
44898         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
44899         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
44900         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
44901         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
44902         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
44903         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
44904         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
44905         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
44906         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
44907         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
44908         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
44909         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
44910         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
44911         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
44912         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
44913         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
44914         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
44915         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
44916         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
44917         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
44918         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
44919         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
44920         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
44921         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
44922         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
44923         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
44924         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
44925         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
44926         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
44927         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
44928         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
44929         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
44930         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
44931         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
44932         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
44933         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
44934         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
44935         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
44936         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
44937         lib/yesno.c, lib/yesno.h:
44938         Update FSF postal mail address.
44939
44940 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
44941
44942         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
44943         tests/test-memmem.c, tests/test-stpncpy.c:
44944         Update FSF postal mail address.
44945
44946 2005-05-13  Bruno Haible  <bruno@clisp.org>
44947
44948         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
44949         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
44950         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
44951         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
44952         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
44953         Add support for 64-bit integers in the MSVC compiler.
44954
44955 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
44956
44957         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
44958
44959 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
44960
44961         * gnulib-tool (func_import): Sort and uniquify recommended includes.
44962
44963 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
44964
44965         * doc/getdate.texi (General date syntax): Don't say that date
44966         date --iso-8601=ns generates acceptable dates; it doesn't yet.
44967         Problem reported by Nic Ferrier.
44968
44969 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
44970
44971         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
44972         specified in ai_socktype. Fix invalid ai_protocol
44973         check. ai_protocol is usually set to 0 or depending on
44974         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
44975         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
44976         ai_socktype / ai_protocol in the returned addrinfo structure.
44977
44978 2005-05-10  Simon Josefsson  <jas@extundo.com>
44979
44980         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
44981         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
44982
44983 2005-05-10  Karl Berry  <karl@gnu.org>
44984
44985         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
44986         (from http://www.gnu.org/licenses).
44987         * doc/COPYING.LIB: also rename to COPYING.LESSER.
44988         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
44989         fdl.texi suffices.
44990
44991 2005-05-10  Karl Berry  <karl@gnu.org>
44992
44993         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
44994         (COPYING.DOC): remove.
44995
44996         * config/srclist-update: new FSF address.
44997
44998 2005-05-10  Derek Price  <derek@ximbiot.com>
44999
45000         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
45001         possible.
45002
45003 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45004             Bruno Haible  <bruno@clisp.org>
45005
45006         * modules/inet_ntop: New file.
45007         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
45008         inet_ntop.
45009
45010 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45011             Bruno Haible  <bruno@clisp.org>
45012
45013         * m4/inet_ntop.m4: New file.
45014
45015 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45016             Bruno Haible  <bruno@clisp.org>
45017
45018         * lib/inet_ntop.h: New file.
45019         * lib/inet_ntop.c: New file, from glibc with modifications.
45020
45021 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
45022
45023         * modules/time_r (License): Change to LGPL.
45024         * modules/extensions (License): Change to LGPL.  Actually,
45025         the license is more permissive than that, but currently gnulib-tool
45026         doesn't know how to handle more-permissive licenses.
45027
45028         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
45029         Problem reported by Dave Love.
45030
45031 2005-05-08  Jim Meyering  <jim@meyering.net>
45032
45033         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
45034         blank.
45035
45036 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
45037
45038         * modules/argmatch (Depends-on): Add stdbool.
45039         * modules/backupfile (Depends-on): Likewise.
45040         * modules/chdir-long (Depends-on): Likewise.
45041         * modules/closeout (Depends-on): Likewise.
45042         * modules/cycle-check (Depends-on): Likewise.
45043         * modules/dirname (Depends-on): Likewise.
45044         * modules/fnmatch (Depends-on): Likewise.
45045         * modules/fsusage (Depends-on): Likewise.
45046         * modules/fwriteerror (Depends-on): Likewise.
45047         * modules/getcwd (Depends-on): Likewise.
45048         * modules/getloadavg (Depends-on): Likewise.
45049         * modules/hard-locale (Depends-on): Likewise.
45050         * modules/makepath (Depends-on): Likewise.
45051         * modules/mountlist (Depends-on): Likewise.
45052         * modules/nanosleep (Depends-on): Likewise.
45053         * modules/posixtm (Depends-on): Likewise.
45054         * modules/quotearg (Depends-on): Likewise.
45055         * modules/readtokens (Depends-on): Likewise.
45056         * modules/readtokens0 (Depends-on): Likewise.
45057         * modules/readutmp (Depends-on): Likewise.
45058         * modules/save-cwd (Depends-on): Likewise.
45059         * modules/strftime (Depends-on): Likewise.
45060         * modules/userspec (Depends-on): Likewise.
45061         * modules/utimecmp (Depends-on): Likewise.
45062         * modules/xgetcwd (Depends-on): Likewise.
45063         * modules/xnanosleep (Depends-on): Likewise.
45064         * modules/xstrtod (Depends-on): Likewise.
45065         * modules/yesno (Depends-on): Likewise.
45066
45067 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
45068
45069         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
45070         needless checks.
45071
45072 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45073
45074         Merge from coreutils.  Among other things,
45075         add bulletproofing for cases where stdin, stdout, or stderr are closed.
45076         * lib/fd-safer.c: New file.
45077         * lib/fcntl-safer.h, open-safer.c: Remove.
45078         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
45079         * lib/dup-safer.c: Include unistd-safer.h first.
45080         Don't include errno.h.
45081         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
45082         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
45083         * lib/file-type.c: Rely on file-type.h change.
45084         * lib/getloadavg.c: Include unistd-safer.h.
45085         (getloadavg): Use safer open.
45086         * lib/getusershell.c: Include "stdio-safer.h".
45087         (getusershell): Use safer fopen.
45088         * lib/long-options.c (long_options): Use NULL rather than 0.
45089         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
45090         'free'.
45091         * lib/modechange.c: Likewise.
45092         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
45093         (MODE_DONE): New constant.
45094         (struct mode_change): Remove 'next' member.
45095         (make_node_op_equals): New function; like the old one of the
45096         same name, except it allocates an array.
45097         (mode_compile, mode_create_from_ref): Use it.
45098         (mode_compile): Allocate result as an array, not a linked list.
45099         Parse octal string ourself, so that we catch mistakes like "+0".
45100         (mode_adjust): Arg is an array, not a linked list.
45101         * lib/modechange.c: Include stat-macros.h, xalloc.h.
45102         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
45103         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
45104         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
45105         Remove.  This is now stat-macros.h's job.
45106         (talloc): Remove.  All callers replaced by xalloc, so that
45107         our invokers don't have to worry about reporting memory failures.
45108         (make_node_op_equals): Remove.
45109         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
45110         New constants.
45111         (struct mode_change): Moved here from modechange.h.
45112         (mode_append_entry): Remove.
45113         (mode_compile): Remove MASKED_OPS arg, since it encouraged
45114         apps to have incorrect behavior.  Use simpler algorithm for head
45115         and tail.  Don't futz with umask; that's now the job of mode_adjust.
45116         Detect more invalid usages rather than having somewhat-random behavior.
45117         Don't insert an "a=" action, as that leads to incorrect behavior.
45118         (mode_compile, mode_create_from_ref): Return NULL on error instead
45119         of an enum, since now there's only one way to have an error.  All
45120         callers changed.
45121         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
45122         at the correct time.  Simplify calculation of "+u" and its ilk.
45123         Don't mishandle "+X".
45124         (mode_free): Remove "register" and localize decls.
45125         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
45126         (struct mode_change): Move to modechange.c; callers don't
45127         need to see this stuff.
45128         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
45129         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
45130         (mode_change, mode_adjust): Reflect the new signatures noted above.
45131         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
45132         that might redefine system include files.
45133         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
45134         (my_usleep): Use NULL rather than (void *) 0.
45135         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
45136         Use siginterrupt to specify that system calls should be interrupted.
45137         (rpl_nanosleep): Move initialization of suspended closer to call of
45138         my_usleep.
45139         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
45140         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
45141         (desirable_utmp_entry): New function.
45142         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
45143         using x2nrealloc, to simplify logic.
45144         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
45145         size calculation.  Do not assume utmp file is a regular file.
45146         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
45147         (READ_UTMP_CHECK_PIDS): New constant.
45148         * lib/save-cwd.c: Include unistd-safer.h.
45149         (save_cwd): Use fd_safer.
45150         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
45151         [!_LIBC] Include "stat-macros.h" instead.
45152         * lib/unistd-safer.h (fd_safer): New decl.
45153
45154 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45155
45156         * modules/getloadavg (Depends-on): Add unistd-safer.
45157         * modules/getusershell (Depends-on): Add stdio-safer.
45158         * modules/lstat (Depends-on): Remove xalloc.
45159         * modules/mkstemp (Depends-on): Add stat-macros.
45160         * modules/modechange (Depends-on): Remove xstrtol.
45161         Add stat-macros, xalloc.
45162         * modules/save-cwd (Depends-on): Add unistd-safer.
45163         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
45164         * modules/unistd-safer (Files): Add lib/fd-safer.c
45165         (Makefile.am): Remove lib_SOURCES.
45166
45167         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
45168         Remove fcntl-safer; unistd-safer supersedes it.
45169
45170 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45171
45172         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
45173         AC_HEADER_STAT.
45174         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
45175         (gl_PREREQ_CHOWN): Remove.
45176         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
45177         it.  Don't require AC_HEADER_STAT.
45178         (gl_PREREQ_LSTAT): Remove.
45179         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
45180         Don't require AC_HEADER_STAT.
45181         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
45182         (gl_PREREQ_RMDIR): Remove.
45183         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
45184         mention stat-macros.h or AC_HEADER_STAT, since we'll make
45185         the stat-macros module a prerequisite.
45186         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
45187         * m4/filemode.m4 (gl_FILEMODE): Likewise.
45188         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
45189         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
45190         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
45191         variable names.
45192         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
45193         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
45194         variable prefixes.
45195         * m4/fcntl-safer.m4: Remove.
45196         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
45197         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
45198         Invoke gl_PREREQ_FD_SAFER.
45199         (gl_PREREQ_FD_SAFER): New macro.
45200         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
45201         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
45202         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
45203         Remove duplicate call to AC_LIBOBJ(readutmp).
45204         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
45205
45206         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
45207         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
45208
45209 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45210
45211         * MODULES.html.sh (Misc): Add byteswap.
45212
45213 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
45214
45215         * modules/getcwd (Depends-on): Add extensions.
45216         * modules/openat (Depends-on): Likewise.
45217
45218 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
45219
45220         * modules/byteswap: New file.
45221
45222 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
45223
45224         * m4/byteswap.m4: New file.
45225
45226 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
45227
45228         * lib/byteswap_.h: New file.
45229
45230 2005-04-25  Karl Berry  <karl@gnu.org>
45231
45232         * m4/gettext.m4: Update from GNU gettext 0.14.4.
45233
45234 2005-04-25  Albert Chin  <china@thewrittenword.com>
45235
45236         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
45237         Toolkit C bug.
45238
45239 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
45240
45241         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
45242         (func_ln_if_changed) Remove forcibly for no error message
45243         in case file does not exist.
45244
45245 2005-04-19  Simon Josefsson  <jas@extundo.com>
45246
45247         * gnulib-tool (Options): Make --symlink mean --symbolic.
45248
45249 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
45250
45251         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
45252
45253 2005-04-16  Simon Josefsson  <jas@extundo.com>
45254
45255         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
45256
45257 2005-04-15  Simon Josefsson  <jas@extundo.com>
45258
45259         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
45260
45261 2005-04-15  Simon Josefsson  <jas@extundo.com>
45262
45263         * gnulib-tool: Rename --symlink to --symbolic.
45264
45265 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
45266
45267         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
45268         symbolic links to files instead of copying/moving.  Add --aux-dir,
45269         specifying directory relative --dir where auxiliary build tools
45270         are placed.
45271
45272 2005-04-14  Bruno Haible  <bruno@clisp.org>
45273
45274         * modules/allocsa (License): Change to LGPL.
45275         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
45276
45277 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
45278
45279         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
45280         that "UTC +1 second" continues to work.  Problem reported
45281         by Dmitry V. Levin.
45282         (relunit_snumber): New rule.
45283         (relunit): Use it.
45284
45285 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
45286
45287         * lib/getdate.y (universal_time_zone_table): New constant.
45288         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
45289         universal_time_zone_table.
45290         (lookup_zone): Prefer universal_time_zone_table to
45291         local_time_zone_table, so that "GMT" time stamps are allowed in
45292         London during the summer.  Problem reported by Ian Abbott.
45293
45294 2005-04-12  Jim Meyering  <jim@meyering.net>
45295
45296         * lib/human.c (humblock): Set *options even when returning due to
45297         xstrtoumax conversion failure.  Thanks to a used-uninitialized
45298         warning from gcc-4.
45299
45300 2005-04-09  Jim Meyering  <jim@meyering.net>
45301
45302         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
45303         -Wuninitialized: initialize tm0.tm_year.
45304
45305 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
45306
45307         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
45308         count, since there's no maximum.  All uses changed.
45309         Add member dsts_seen.
45310         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
45311         not being INT_MAX.
45312         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
45313         Use pc_rels_seen to decide whther a date is absolute.
45314
45315         * lib/getdate.y (number): Don't overwrite year.
45316         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
45317         check.
45318
45319 2005-04-02  Simon Josefsson  <jas@extundo.com>
45320
45321         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
45322         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
45323
45324 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
45325
45326         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
45327         where no absolute path name can be longer than PATH_MAX.
45328
45329 2005-03-27  Jim Meyering  <jim@meyering.net>
45330
45331         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
45332
45333 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
45334
45335         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
45336         "one's complement" -> "ones' complement" in comment, as per Knuth.
45337         "value of type" -> "type or expression" in comment.
45338         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
45339
45340 2005-03-26  Jim Meyering  <jim@meyering.net>
45341
45342         Comment nits.
45343         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
45344         Correct typos: s/or/of/.
45345
45346 2005-03-26  Jim Meyering  <jim@meyering.net>
45347
45348         * modules/check-include-files: Move to ../ and rename to...
45349         * check-module: ...this.
45350
45351 2005-03-25  Jim Meyering  <jim@meyering.net>
45352
45353         * modules/xvasprintf (Files): Add xalloc.h.
45354
45355 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
45356
45357         * modules/gettext (Files): config/config.rpath ->
45358         build-aux/config.rpath
45359         * modules/iconv (Files): Likewise.
45360         Problem reported by Oskar Liljeblad.
45361
45362 2005-03-23  Jim Meyering  <jim@meyering.net>
45363
45364         * modules/check-include-files: New script to check for
45365         missing dependencies, multiple includes, etc.
45366
45367         * modules/c-strtold (Depends-on): Add xalloc.
45368         * modules/c-strtod (Depends-on): Add xalloc.
45369         * modules/hash (Depends-on): Add xalloc.
45370         (Files): Remove lib/xalloc.h.
45371
45372         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
45373         * modules/userspec (Files): Add lib/inttostr.h.
45374
45375 2005-03-23  Jim Meyering  <jim@meyering.net>
45376
45377         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
45378
45379 2005-03-22  Jim Meyering  <jim@meyering.net>
45380
45381         * modules/stat-macros: New module.
45382         * modules/canonicalize, modules/euidaccess, modules/file-type,
45383         * modules/filemode, modules/lchown, modules/makepath,
45384         * modules/rmdir, modules/stat: Depend on new stat-macros module
45385         rather than listing lib/stat-macros.h manually.
45386         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
45387
45388 2005-03-22  Jim Meyering  <jim@meyering.net>
45389
45390         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
45391
45392 2005-03-22  Bruno Haible  <bruno@clisp.org>
45393
45394         * config/srclist.txt: Replace target directory 'config' with
45395         'build-aux'.
45396         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
45397         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
45398         ../build-aux/.
45399
45400 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
45401
45402         * modules/chdir-long (Depends-on): Add mempcpy.
45403
45404         * modules/acl, modules/backupfile, modules/c-strtod,
45405         modules/c-strtold, modules/canon-host, modules/canonicalize,
45406         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
45407         modules/exclude, modules/exitfail, modules/file-type,
45408         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
45409         modules/getdate, modules/getline, modules/getpagesize,
45410         modules/getpass, modules/getugroups, modules/group-member,
45411         modules/hard-locale, modules/hash, modules/human, modules/idcache,
45412         modules/inttostr, modules/long-options, modules/makepath,
45413         modules/md5, modules/memcasecmp, modules/memcoll,
45414         modules/modechange, modules/mountlist, modules/path-concat,
45415         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
45416         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
45417         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
45418         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
45419         modules/strftime, modules/strndup, modules/strverscmp,
45420         modules/timespec, modules/unlocked-io, modules/userspec,
45421         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
45422         modules/yesno:
45423         Remove lib_SOURCES line from Makefile.am section, as this is now
45424         done automatically by the corresponding Autoconf macro.
45425
45426 2005-03-21  Jim Meyering  <jim@meyering.net>
45427
45428         Changes imported from coreutils.
45429
45430         * lib/cycle-check.c: Don't include xalloc.h.
45431
45432         * lib/path-concat.c: Don't include assert.h.
45433         (path_concat): Remove assertion that would have triggered
45434         for ABASE starting with more than one slash.
45435         Reported by Andreas Schwab.
45436
45437         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
45438         properly when ABASE is an absolute file name.
45439         Correct the description of this function.
45440         Include <assert.h>.
45441         Add an assertion and a test driver.
45442         This fixes a bug introduced on 2004-07-02.
45443         Andreas Schwab reported the resulting failure of cp --parents:
45444         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
45445
45446 2005-03-21  Jim Meyering  <jim@meyering.net>
45447
45448         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
45449         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
45450
45451 2005-03-21  Jim Meyering  <jim@meyering.net>
45452         and  Paul Eggert  <eggert@cs.ucla.edu>
45453
45454         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
45455         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
45456         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
45457         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
45458         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
45459         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
45460         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
45461         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
45462         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
45463         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
45464         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
45465         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
45466         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
45467         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
45468         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
45469         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
45470         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
45471         for these modules.
45472
45473 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
45474
45475         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
45476         (which shouldn't happen), generate nothing instead of returning 0
45477         immediately, so that nstrftime (NULL, ...) doesn't return 0.
45478
45479 2005-03-16  Bruno Haible  <bruno@clisp.org>
45480
45481         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
45482         HAVE_LONGLONG_64BIT.
45483
45484 2005-03-16  Bruno Haible  <bruno@clisp.org>
45485
45486         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
45487         HAVE_LONGLONG_64BIT.
45488
45489 2005-03-16  Bruno Haible  <bruno@clisp.org>
45490
45491         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
45492         HAVE_LONGLONG_64BIT.
45493
45494 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
45495
45496         * lib/strftime.c (my_strftime): Prepend space to format so that we can
45497         reliably distinguish strftime failure from empty output on POSIX
45498         hosts.
45499
45500 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
45501
45502         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
45503         (iconv_string): Don't guess a size-zero buffer, as that might cause
45504         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
45505         result would be 'too large', where 'too large' is (heuristically)
45506         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
45507         overflow concerns.  This will prevent some unwanted malloc failures
45508         when the inputs are very large.
45509
45510 2005-03-15  Karl Berry  <karl@gnu.org>
45511
45512         * config/srclist.txt (config.rpath): from gettext.
45513         * config/config.rpath: update.
45514
45515 2005-03-15  Bruno Haible  <bruno@clisp.org>
45516
45517         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
45518         to 'negate'.
45519
45520         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
45521         variable.
45522
45523         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
45524         results.
45525
45526 2005-03-14  Simon Josefsson  <jas@extundo.com>
45527
45528         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
45529         <fx@gnu.org>.
45530
45531 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
45532
45533         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
45534         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
45535         intprops.h.
45536         * lib/strtol.c: Likewise.
45537
45538 2005-03-14  Jim Meyering  <jim@meyering.net>
45539
45540         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
45541         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
45542         to be nonzero so that we (and caller) can detect the difference
45543         between a valid zero-length expansion and an error return, even
45544         when the underlying strftime fails before writing anything into
45545         that location.
45546
45547 2005-03-14  Bruno Haible  <bruno@clisp.org>
45548
45549         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
45550         Update from GNU gettext 0.14.3.
45551
45552 2005-03-10  Jim Meyering  <jim@meyering.net>
45553
45554         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
45555
45556 2005-03-10  Jim Meyering  <jim@meyering.net>
45557
45558         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
45559         so that this module works on systems without fchdir.
45560
45561 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
45562
45563         Factor int-properties macros into a single file, except for
45564         glibc-related files.
45565         * lib/intprops.h: New file.
45566         * lib/getloadavg.c: Include it instead of limits.h.
45567         (INT_STRLEN_BOUND): Remove.
45568         * lib/human.c: Include intprops.h.
45569         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
45570         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
45571         302/1000.
45572         * lib/inttostr.h: Include intprops.h instead of limits.h.
45573         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
45574         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
45575         for consistency with intprops.h.
45576         (time_t_is_integer, twos_complement_arithmetic): Use them.
45577         * lib/sig2str.h: Include <signal.h>, intprops.h.
45578         (INT_STRLEN_BOUND): Remove.
45579         * lib/strftime.c (TYPE_SIGNED): Remove.
45580         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
45581         * lib/strtol.c: Adjust comments to match intprops.h.
45582         * lib/userspec.c: Include intprops.h.
45583         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
45584         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
45585         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
45586         instead of rolling our own expressions.
45587         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
45588
45589         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
45590         instead of int.
45591         (my_strftime): Do not mishandle years close to INT_MAX, by doing
45592         the right thing even if adding 1900 would overflow.  Similarly
45593         for tm_mon + 1 and tm_yday + 1.
45594         Make %Y always equivalent to %C%y, and similarly for %G and %g.
45595         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
45596         (DO_SIGNED_NUMBER): New macro.
45597         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
45598
45599 2005-03-07  Bruno Haible  <bruno@clisp.org>
45600
45601         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
45602
45603 2005-03-07  Bruno Haible  <bruno@clisp.org>
45604
45605         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
45606
45607 2005-03-04  Derek R. Price  <derek@ximbiot.com>
45608
45609         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
45610         (func_import): Only replace files via --import when they have actually
45611         changed.
45612
45613 2005-03-03  Derek R. Price  <derek@ximbiot.com>
45614
45615         * m4/mmap-anon.m4: New file.
45616         * m4/pagealign_alloc.m4: New file.
45617
45618 2005-03-03  Derek R. Price  <derek@ximbiot.com>
45619             Bruno Haible  <bruno@clisp.org>
45620
45621         * modules/pagealign_alloc: New file.
45622         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
45623
45624 2005-03-03  Derek R. Price  <derek@ximbiot.com>
45625             Bruno Haible  <bruno@clisp.org>
45626
45627         * lib/pagealign_alloc.h: New file.
45628         * lib/pagealign_alloc.c: New file.
45629
45630 2005-03-03  Bruno Haible  <bruno@clisp.org>
45631
45632         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
45633         Use an all-permissive copyright notice, recommended by RMS.
45634
45635 2005-03-02  Bruno Haible  <bruno@clisp.org>
45636
45637         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
45638         of AIX, the replacement has to be done only after <string.h> is
45639         included, therefore not in config.h. stpncpy.h does the replacement,
45640         and stpncpy.c uses it.
45641
45642 2005-03-02  Bruno Haible  <bruno@clisp.org>
45643
45644         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
45645         stpncpy.c uses it.
45646
45647 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45648
45649         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
45650         The workaround isn't strictly needed for POSIX conformance, and
45651         it's too much of a pain to configure and maintain.  We'll ask
45652         people to fix their kernels instead.
45653         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
45654         (NANOSLEEP_BUG_WORKAROUND): Remove.
45655         (xnanosleep): Remove the workaround.
45656
45657 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45658
45659         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
45660         Reported by Derek Price.
45661         (Include): Add "timespec.h".
45662
45663         * modules/xnanosleep (Depends-on): Remove gethrxtime.
45664
45665 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
45666
45667         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
45668         to detect nanosleep bug.
45669
45670 2005-03-01  Bruno Haible  <bruno@clisp.org>
45671
45672         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
45673
45674 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
45675
45676         * modules/gethrxtime: New file.
45677         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
45678         (Depends-on): Add gethrxtime.
45679         (configure.ac): Add gl_XNANOSLEEP.
45680         (Makefile.am): Remove lib_SOURCES line.
45681
45682 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
45683
45684         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
45685         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
45686
45687 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
45688
45689         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
45690         * lib/timespec.h (gettime): Return void, since it always
45691         succeeds now.  All uses changed.
45692         * lib/gettime.c (gettime) Likewise.
45693         [HAVE_NANOTIME]: Prefer nanotime.
45694         Assume gettimeofday succeeds, as POSIX requires.
45695         Assime time () succeeds, since other code already does.
45696         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
45697         (timespec_subtract): Remove.
45698         (NANOSLEEP_BUG_WORKAROUND): New constant.
45699         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
45700         things considerably.  Use it only on GNU/Linux hosts, since the
45701         workaround shouldn't be needed elsewhere.
45702
45703 2005-02-24  Bruno Haible  <bruno@clisp.org>
45704
45705         * modules/gettext (Files): Add m4/glibc2.m4.
45706
45707 2005-02-24  Bruno Haible  <bruno@clisp.org>
45708
45709         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
45710         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
45711         * m4/progtest.m4:
45712         Update from GNU gettext 0.14.2.
45713         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
45714
45715 2005-02-24  Bruno Haible  <bruno@clisp.org>
45716
45717         * lib/localcharset.c: Update from GNU gettext 0.14.2.
45718         * lib/config.charset: Update from GNU gettext 0.14.2.
45719
45720 2005-02-24  Bruno Haible  <bruno@clisp.org>
45721
45722         * lib/gettext.h: Update from GNU gettext 0.14.2.
45723
45724 2005-02-23  Simon Josefsson  <jas@extundo.com>
45725
45726         * m4/iconvme.m4: New file.
45727
45728 2005-02-23  Jim Meyering  <jim@meyering.net>
45729
45730         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
45731         change.
45732         Thanks to Bruno Haible for catching it.
45733
45734 2005-02-22  Simon Josefsson  <jas@extundo.com>
45735
45736         * modules/iconvme: New file.
45737
45738         * MODULES.html.sh: Add iconvme.
45739
45740 2005-02-22  Simon Josefsson  <jas@extundo.com>
45741
45742         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
45743
45744 2005-02-22  Simon Josefsson  <jas@extundo.com>
45745
45746         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
45747
45748 2005-02-22  Jim Meyering  <jim@meyering.net>
45749
45750         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
45751         s/ifndef/ifdef/.
45752
45753 2005-02-20  Neil Conway  <neilc@samurai.com>
45754
45755         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
45756         returned by OSX/Darwin if the specified buffer is not large
45757         enough for the hostname.
45758
45759 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45760
45761         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
45762         pass it to _help, otherwise the latter coredumps trying to
45763         dereference state.root_argp.
45764
45765 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45766
45767         * modules/chdir-long (Depends-on): Add memrchr.
45768         * modules/memrchr (Files): Add lib/memrchr.h.
45769         (Include): "memrchr.h".
45770
45771 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45772
45773         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
45774
45775 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
45776
45777         * lib/memrchr.h: New file.
45778         * lib/chdir-long.c: Include it.
45779         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
45780         Don't bother including stddef.h.
45781
45782 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
45783
45784         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
45785         inclusion.
45786         Include <sys/types.h>, for dev_t.
45787         (ME_DUMMY, ME_REMOTE): Move from here....
45788         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
45789         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
45790         Dmitry V. Levin.
45791         Include mountlist.h first, to test the interface.
45792
45793 2005-01-29  Bruno Haible  <bruno@clisp.org>
45794
45795         * lib/progname.c (program_name): Initialize.
45796         Needed when linking statically on MacOS X.
45797
45798 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
45799
45800         Sync from coreutils.
45801         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
45802         (Depends-on): Add c-strtod.
45803         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
45804
45805 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
45806
45807         Sync from coreutils.
45808         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
45809
45810         Remove files that are specific to coreutils.
45811         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
45812
45813 2005-01-28  Bruno Haible  <bruno@clisp.org>
45814
45815         * modules/javacomp: New file.
45816         * MODULES.html.sh (Java): Add javacomp.
45817
45818 2005-01-28  Bruno Haible  <bruno@clisp.org>
45819
45820         * m4/javacomp.m4: New file, from GNU gettext.
45821
45822 2005-01-28  Bruno Haible  <bruno@clisp.org>
45823
45824         * lib/javacomp.sh.in: New file, from GNU gettext.
45825         * lib/javacomp.h: New file, from GNU gettext.
45826         * lib/javacomp.c: New file, from GNU gettext.
45827
45828 2005-01-26  Simon Josefsson  <jas@extundo.com>
45829
45830         * lib/gai_strerror.c: Use GPL in header.
45831
45832 2005-01-26  Bruno Haible  <bruno@clisp.org>
45833
45834         * modules/javaexec: New file.
45835         * MODULES.html.sh (Java): Add javaexec.
45836
45837 2005-01-26  Bruno Haible  <bruno@clisp.org>
45838
45839         * m4/javaexec.m4: New file, from GNU gettext.
45840
45841 2005-01-26  Bruno Haible  <bruno@clisp.org>
45842
45843         * lib/javaexec.sh.in: New file, from GNU gettext.
45844         * lib/javaexec.h: New file, from GNU gettext.
45845         * lib/javaexec.c: New file, from GNU gettext.
45846
45847 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45848
45849         * modules/lchown (Depends-on): Remove lchown.h
45850
45851 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45852
45853         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
45854         must be defined if the header file was not found, in order
45855         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
45856
45857 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
45858
45859         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
45860         initializers for struct pentry_state.
45861         (__argp_error): Check return value of __asprintf
45862         (__argp_failure): Translate error message
45863
45864         * lib/argp-parse.c: Removed braces around the expansion of N_()
45865
45866 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45867
45868         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
45869         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
45870         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
45871         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
45872         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
45873         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
45874         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
45875         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
45876         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
45877         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
45878         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
45879         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
45880         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
45881         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
45882         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
45883         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
45884         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
45885         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
45886         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
45887         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
45888         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
45889         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
45890         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
45891         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
45892         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
45893         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
45894         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
45895         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
45896         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
45897         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
45898         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
45899         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
45900         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
45901         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
45902         xstrtol.m4, xstrtoumax.m4, yesno.m4:
45903         Use an all-permissive copyright notice, recommended by RMS.
45904
45905 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
45906
45907         * modules/chdir-long (Depends-on): Remove mempcpy.
45908
45909 2005-01-21  Jim Meyering  <jim@meyering.net>
45910
45911         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
45912         same value as for Solaris 9.
45913
45914         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
45915         component length.  This included changing the parameter to be
45916         of type `char *' rather than `char const *'.
45917         * lib/chdir-long.h (chdir_long): Update prototype.
45918
45919         * lib/openat.c (fdopendir, fstatat): New functions.
45920         * lib/openat.h: Include headers required for use of DIR and struct
45921         stat.
45922         [AT_SYMLINK_NOFOLLOW]: Define.
45923         (fdopendir, fstatat): Add prototypes.
45924
45925 2005-01-21  Bruno Haible  <bruno@clisp.org>
45926
45927         * modules/classpath: New file.
45928         * MODULES.html.sh (Java): Add classpath.
45929
45930 2005-01-21  Bruno Haible  <bruno@clisp.org>
45931
45932         * lib/classpath.h: New file, from GNU gettext.
45933         * lib/classpath.c: New file, from GNU gettext.
45934
45935 2005-01-20  Simon Josefsson  <jas@extundo.com>
45936
45937         * modules/version-etc-fsf: New file.
45938
45939 2005-01-20  Simon Josefsson  <jas@extundo.com>
45940
45941         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
45942         * lib/version-etc.c: Remove version_etc_copyright.
45943         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
45944         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
45945
45946 2005-01-20  Simon Josefsson  <jas@extundo.com>
45947
45948         * lib/base64.h (isbase64): Add.
45949
45950         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
45951         using a unsigned prototype, don't inline.
45952         (base64_decode): Use it.
45953
45954 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45955
45956         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
45957         it.
45958
45959 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45960
45961         * lib/save-cwd.c (save_cwd): Remove code to support the case
45962         where fchdir is missing or flaky.
45963
45964 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
45965
45966         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
45967
45968 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
45969
45970         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
45971         AC_LIBSOURCES now does this.
45972         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
45973         with new ullong_max module.
45974
45975 2005-01-19  Bruno Haible  <bruno@clisp.org>
45976
45977         * modules/sh-quote: New file.
45978         * MODULES.html.sh (Executing programs): Add sh-quote.
45979
45980 2005-01-19  Bruno Haible  <bruno@clisp.org>
45981
45982         * lib/sh-quote.h: New file, from GNU gettext.
45983         * lib/sh-quote.c: New file, from GNU gettext.
45984
45985 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45986
45987         Merge from coreutils.
45988         * m4/ullong_max.m4: New file.
45989         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
45990         (gl_MACROS): Assume localeconv exists.
45991
45992 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
45993
45994         Merge changes from coreutils, as described below in several
45995         changelogs dated today.
45996
45997         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
45998         (O_DIRECTORY): Remove; not needed here, since "." must be
45999         a directory.  All uses removed.
46000         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
46001         universal on Suns, and we also need to test for IRIX.
46002         Revamp code to use 'if' rather than '#if'.
46003         Avoid unnecessary comparison of cwd->desc to 0.
46004
46005         * lib/utimens.c (futimens): Robustify the previous patch, by checking
46006         for known valid error numbers rather than observed invalid ones.
46007
46008 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
46009
46010         * modules/ullong_max: New file.
46011
46012         * modules/chdir-long, modules/openat: New files.
46013         * modules/save-cwd (Depends-on): Depend on chdir-long.
46014         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
46015
46016 2005-01-18  Jim Meyering  <jim@meyering.net>
46017
46018         Merge from coreutils.
46019         * m4/chdir-long.m4, m4/openat.m4: New files.
46020         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
46021         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
46022         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
46023         is sane and DOES follow symlinks.  Besides, testing 20 different
46024         systems found no broken chown implementations.
46025         Prompted by a change in rsync's copy of this macro.
46026         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
46027
46028         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
46029
46030         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
46031         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
46032         NULL-means-set-to-current-time semantics.
46033         Remove temporary file immediately, rather than waiting
46034         for configure's at-exit trap code to do it.
46035
46036 2005-01-18  Jim Meyering  <jim@meyering.net>
46037
46038         * lib/version-etc.c (version_etc_copyright): Update copyright date.
46039
46040         * lib/utimens.c (futimens): Account for the fact that futimes
46041         can also fail with errno == ENOSYS or errno == ENOENT.
46042         Patch from Dmitry V. Levin.
46043
46044         Change the name of the robust chdir function from chdir to chdir_long.
46045         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
46046         (restore_cwd): Use chdir_long, not chdir.
46047         * lib/chdir-long.c: Renamed from chdir.c.
46048         * lib/chdir-long.h: Renamed from chdir.h.
46049         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
46050         Hurd.
46051
46052 2005-01-18  Bruno Haible  <bruno@clisp.org>
46053
46054         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
46055         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
46056         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
46057         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
46058         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
46059         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
46060         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
46061         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
46062         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
46063         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
46064         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
46065         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
46066         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
46067         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
46068         Use an all-permissive copyright notice, recommended by RMS.
46069
46070 2005-01-18  Bob Proulx  <bob@proulx.com>
46071
46072         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
46073         simplify offsetof() macro construct to avoid compile failure with
46074         native HP-UX 11.0 ANSI C compiler.
46075
46076 2005-01-17  Bruno Haible  <bruno@clisp.org>
46077
46078         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
46079         redundant because stpncpy.m4 takes care of it.
46080
46081 2005-01-17  Bruno Haible  <bruno@clisp.org>
46082
46083         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
46084
46085 2005-01-17  Bruno Haible  <bruno@clisp.org>
46086
46087         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
46088         used.
46089
46090 2005-01-17  Bruno Haible  <bruno@clisp.org>
46091
46092         * lib/fwriteerror.h (fwriteerror): Change specification to include
46093         fclose.
46094         * lib/fwriteerror.c: Include <stdbool.h>.
46095         (fwriteerror): At the end, close the file stream. Record whether
46096         stdout was already closed.
46097
46098 2005-01-17  Bruno Haible  <bruno@clisp.org>
46099
46100         * lib/execute.c (environ): Declare if needed.
46101         * lib/pipe.c (environ): Likewise.
46102         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
46103
46104 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46105
46106         * modules/argp: Depend on vsnprintf
46107
46108 2005-01-10  Jim Meyering  <jim@meyering.net>
46109
46110         * modules/closeout (Depends-on): Add atexit.
46111
46112 2005-01-06  Bruno Haible  <bruno@clisp.org>
46113
46114         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
46115
46116 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46117
46118         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
46119         definitions to be after all include files, to avoid collisions.
46120         Problem reported by Bob Proulx.
46121
46122 2005-01-04  Jim Meyering  <jim@meyering.net>
46123
46124         Changes imported from coreutils.
46125         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
46126         as the mkstemp template, use a temporary directory and an
46127         8.3-friendly template to avoid trouble on systems like DJGPP.
46128         Reported by Juan M. Guerrero via Stepan Kasal.
46129         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
46130         close. Remove the temporary directory right away, rather than waiting
46131         for configure's at-exit trap code to do it.
46132         Suggestion from Stepan Kasal.
46133
46134 2005-01-01  Simon Josefsson  <jas@extundo.com>
46135
46136         * gnulib-tool: Print #include directives when --import'ing.
46137
46138 2004-12-28  Simon Josefsson  <jas@extundo.com>
46139
46140         * tests/test-base64.c: Include required header files.  Remove
46141         unused variables.
46142
46143 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
46144
46145         * modules/error (Depends-on): Remove gettext.
46146
46147 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
46148
46149         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
46150         not needed.  This removes a dependency on the gettext module.
46151         [defined _LIBC]: Do not include <libintl.h>; not needed.
46152
46153 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
46154
46155         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
46156         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
46157
46158 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
46159
46160         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
46161         HAVE_DECL_STRTOLD.
46162
46163 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
46164
46165         * modules/getdate (Depends-on): Remove alloca-opt.
46166
46167 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
46168
46169         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
46170
46171 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
46172
46173         * lib/argp-parse.c: Include <stddef.h>.
46174         (alignof, alignto): New macros.
46175         (parser_init): Don't assume that void * is aligned sufficiently
46176         for struct option.
46177
46178         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
46179         need to extend the stack.
46180         (YYINITDEPTH): New macro, so that the initial stack isn't overly
46181         large.
46182
46183 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46184
46185         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
46186
46187 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
46188
46189         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
46190         (2004-10-24) change.  Apparently this was a false alarm.
46191
46192         * modules/getdate: Depend on alloca-opt, not alloca.
46193
46194 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
46195
46196         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
46197         Remove now-obsolete comment about AIX.
46198         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
46199         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
46200         (YYMAXDEPTH): New macro.
46201
46202 2004-12-18  Simon Josefsson  <jas@extundo.com>
46203
46204         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
46205
46206 2004-12-18  Bruno Haible  <bruno@clisp.org>
46207
46208         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
46209
46210 2004-12-18  Bruno Haible  <bruno@clisp.org>
46211
46212         * lib/fatal-signal.c (fatal_signals): Make non-const.
46213         (init_fatal_signals): New function.
46214         (uninstall_handlers, install_handlers): Ignore signals that were set to
46215         SIG_IGN.
46216         (at_fatal_signal): Call init_fatal_signals.
46217         (init_fatal_signal_set): Likewise. Ignore signals that were set to
46218         SIG_IGN.
46219         Reported by Paul Eggert.
46220
46221 2004-12-18  Bruno Haible  <bruno@clisp.org>
46222
46223         * doc/alloca.texi: New file.
46224         * doc/alloca-opt.texi: New file.
46225
46226 2004-12-17  Jim Meyering  <jim@meyering.net>
46227
46228         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
46229         Otherwise, install-sh could exit with improper exit status when
46230         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
46231
46232 2004-12-16  Simon Josefsson  <jas@extundo.com>
46233
46234         * tests/test-base64.c: Add license.
46235
46236 2004-12-15  Stepan Kasal  <address@hidden>
46237
46238         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
46239
46240 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
46241
46242         * modules/getcwd (Files): Add m4/d-ino.m4.
46243         Suggested by Mark D. Baushke.
46244
46245 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
46246
46247         * lib/getdate.y (textint): New member "negative".
46248         (time_zone_hhmm): New function.
46249         Expect 14 shift-reduce conflicts, not 13.
46250         (o_colon_minutes): New rule.
46251         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
46252         (yylex): Set the "negative" member of signed numbers.
46253
46254 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
46255
46256         * doc/getdate.texi (Time of day items, Time zone items):
46257         Describe new formats +00:00, UTC+00:00.
46258
46259 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
46260
46261         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
46262         spurious "-l"s.  Problem reported by Stepan Kasal.
46263
46264 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
46265
46266         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
46267         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
46268
46269 2004-12-04  Simon Josefsson  <jas@extundo.com>
46270
46271         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
46272         Vandoorselaere <yoann@prelude-ids.org>.
46273
46274 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
46275
46276         Changes imported from coreutils.
46277         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
46278         exist.
46279         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
46280
46281 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
46282
46283         Changes imported from coreutils.
46284         * lib/hard-locale.c: Assume <locale.h> exists.
46285         Include "strdup.h".
46286         (GLIBC_VERSION): New macro.
46287         (hard_locale): Assume setlocale exists.
46288         Rewrite to avoid #ifdef.
46289         Use strdup rather than malloc + strcpy.
46290         * lib/human.c: Assume <locale.h> exists.
46291         (human_readable): Assume localeconv exists.
46292
46293 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
46294
46295         * modules/hard-locale (Depends-on): Add strdup.
46296
46297 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
46298
46299         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
46300         convert T2, not T.  (Imported from libc.)
46301
46302 2004-11-30  Simon Josefsson  <jas@extundo.com>
46303
46304         * modules/restrict (License): Change to LGPL.
46305
46306 2004-11-30  Simon Josefsson  <jas@extundo.com>
46307
46308         * m4/restrict.m4: Add copyright and copying conditions.
46309
46310 2004-11-30  Simon Josefsson  <jas@extundo.com>
46311
46312         * m4/base64.m4: New file.
46313
46314 2004-11-30  Simon Josefsson  <jas@extundo.com>
46315
46316         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
46317         base64.
46318
46319         * tests/test-base64.c: New file.
46320
46321         * modules/base64: New file.
46322
46323 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
46324
46325         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
46326         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
46327
46328         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
46329
46330 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
46331
46332         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
46333         (__getcwd.c): Don't restore errno; glibc doesn't.
46334         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
46335         first, falling back to our code only if its results look suspicious.
46336         Ensure that the resulting buffer is only as large as necessary.
46337
46338         * lib/readutmp.c: Include readutmp.h first.
46339         Include <errno.h>, since readutmp.h no longer does that.
46340         * lib/readutmp.h: Don't include <errno.h>,
46341         <sys/param.h>, <time.h>; not needed to establish interface.
46342         (errno): Remove decl.
46343         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
46344         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
46345         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
46346
46347 2004-11-28  Simon Josefsson  <jas@extundo.com>
46348
46349         * lib/base64.h, base64.c: New file.
46350
46351 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
46352
46353         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
46354
46355 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
46356
46357         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
46358         (Depends-on): Remove pathmax, same.  Add mempcpy.
46359         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
46360         (Makefile.am): Append getcwd.h to lib_SOURCES.
46361         (Include): Add getcwd.h.
46362         (Maintainer): Change from Jim Meyering to "all, glibc",
46363         since getdate now uses intended-for-glibc code.
46364         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
46365         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
46366
46367 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46368
46369         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
46370         HP's ANSI C compiler.
46371         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
46372         Declaring int functions causes warnings on some modern systems and
46373         shouldn't be needed to compile on ancient ones.
46374         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
46375         defined.
46376
46377         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
46378         with the following changes.
46379         (__set_errno): Parenthesize properly.
46380         Include <stdbool.h>.
46381         (MIN, MAX, MATCHING_INO): New macros.
46382         (__getcwd): Define with prototype, not K&R form.
46383         Use heuristics to allocate default buffer on stack if possible.
46384         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
46385         behavior, and to avoid the PATH_MAX limit when computing
46386         ../../../../...
46387         Use MATCHING_INO to compare inode number to file.
46388         Check for arithmetic overflow in size calculations.
46389         Fix bug in reallocation of dot array that caused getcwd to fail
46390         on directories nested deeper than 75.
46391         Be more careful about saving errno on error.
46392         Do not use realloc; use only free+malloc, as this is a bit
46393         more flexible and avoids a needless copy operation.
46394         Do not inspect st_dev and st_ino for symbolic links; POSIX
46395         doesn't specify the latter.
46396         Check for closedir errors.
46397         Avoid needless casts.
46398         Use "#ifdef weak_alias" around weak_alias, to be like other
46399         glibc code.
46400         The following changes to getcwd.c have effect only when used in
46401         gnulib; they have no effect inside glibc proper.
46402         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
46403         as alloca isn't used.
46404         (alloca, __alloca): Likewise.
46405         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
46406         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
46407         unconditionally, as gnulib assumes C89 or better.
46408         Do not include <sys/param.h>.
46409         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
46410         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
46411         better.
46412         (NULL) [!defined NULL]: Remove; we assume C89 or better.
46413         Include <dirent.h> in a way that is compatible with modern Autoconf.
46414         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
46415         New macros, if not already defined.
46416         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
46417         Use "_LIBC", not "defined _LIBC", for consistency.
46418         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
46419         a mempcpy module.
46420         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
46421         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
46422         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
46423         credit only to Jim Meyering and adjust the copyright dates.
46424         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
46425         <stdlib.h>, <unistd.h>, "pathmax.h".
46426         Instead, include "xgetcwd.h" (first) and "getcwd.h".
46427         (INITIAL_BUFFER_SIZE): Remove.
46428         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
46429
46430 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
46431
46432         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
46433         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
46434         Use the _ONCE methods, for efficiency.
46435         Check for fcntl.h.  In test program, include <errno.h>
46436         and <fcntl.h> if available.  Remove old K&R cruft from
46437         test program.  Check for common errors in GNU/Linux,
46438         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
46439         don't do AC_LIBOBJ, as that's getcwd.m4's job.
46440         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
46441         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
46442         name accordingly.
46443         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
46444         accommodate new getcwd.c.
46445         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
46446         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
46447         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
46448         that's all we need now.
46449
46450 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46451
46452         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
46453         argp-parse.c depends on getopt internals, that means we should
46454         always use our getopt, to be on the safe side.
46455         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
46456         order not to spoil the result of an eventual previous invocation
46457         of gl_GETOPT_SUBSTITUTE.
46458
46459 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
46460
46461         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
46462         redefinition warnings. To avoid them, include the defines
46463         in `#if !defined __need_getopt ... #endif'. The only place
46464         where __getopt_argv_const is used is in definitions
46465         of getopt_long and getopt_long_only below, which are as well
46466         protected by `#ifndef __need_getopt'.
46467         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
46468         __need_getopt after including <stdio.h> and <unistd.h> These
46469         headers might have defined it.
46470
46471 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
46472
46473         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
46474
46475 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
46476
46477         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
46478         (futimens): New function, which uses futimes if available.
46479         (futimens, utimens): Support timespec==NULL, with same semantics
46480         as utime and utimens.
46481         * lib/utimens.h (futimens): New decl.
46482
46483 2004-11-23  Jim Meyering  <jim@meyering.net>
46484
46485         * lib/getopt_.h: Remove trailing blanks.
46486
46487 2004-11-23  Jim Meyering  <jim@meyering.net>
46488
46489         * lib/__fpending.c: Add comment.
46490
46491 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
46492
46493         * modules/canonicalize (Depends-on): Add xreadlink.
46494         Problem reported by James Youngman.
46495
46496 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
46497
46498         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
46499         New macros.
46500         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
46501         optopt): Use them instead of invoking ## directly; otherwise, the
46502         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
46503
46504 2004-11-19  Bruno Haible  <bruno@clisp.org>
46505
46506         * lib/strtok_r.c: Move comments from here...
46507         * lib/strtok_r.h: ... to here.
46508
46509 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46510
46511         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
46512         implementations that mishandle size_t overflow.
46513
46514 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46515
46516         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
46517         might fail.  Problem reported by Yoann Vandoorselaere.
46518         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
46519         implementations that mishandle size_t overflow.
46520
46521 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46522
46523         * modules/canon-host (Depends-on): Add strdup.
46524
46525 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46526
46527         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
46528
46529 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46530
46531         * lib/canon-host.c: Include "strdup.h".
46532         (canon_host): Use getaddrinfo if available, so that IPv6 works.
46533         Use strdup instead of malloc/strcpy to duplicate strings.
46534
46535         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
46536         (human_space_before_unit): New constant.
46537         * lib/human.c (human_readable): Support it.
46538
46539         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
46540         (xgetcwd): Set errno correctly when failing.
46541         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
46542         the failure is actually due to a PATH_MAX problem.
46543
46544         Further getopt changes to make it more likely that glibc will
46545         buy the changes back.
46546         * lib/getopt.c (POSIXLY_CORRECT): New constant.
46547         (getopt): Use it, so to preserve glibc semantic
46548         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
46549         when compiling for libc.
46550         * lib/getopt_.h (__getopt_argv_const): Bring it back.
46551         (getopt_long, getopt_long_only): Use it.
46552
46553         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
46554         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
46555         (getopt): Argv is now char * const *, as per standard.
46556         (_getopt_internal_r, _getopt_internal): Argv is now char **,
46557         not char *__getopt_argv_const *.
46558         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
46559         _getopt_long_only_r): Likewise.
46560         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
46561         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
46562         _getopt_long_r, _getopt_long_only_r): Likewise.
46563         * lib/getopt_.h (__getopt_argv_const): Remove.
46564         (getopt): Argv is now char * const *, as per standard.
46565
46566         * lib/getdate.y (tORDINAL): New token.
46567         (day, relunit): Allow it for relative times.
46568         (relative_time_table): Use tORDINAL for ordinals.
46569
46570 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46571
46572         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
46573         Document that "second" isn't allowed as an ordinal number.
46574
46575 2004-11-16  Jim Meyering  <jim@meyering.net>
46576
46577         * modules/closeout (Depends-on): Add fpending.
46578
46579 2004-11-15  Jim Meyering  <jim@meyering.net>
46580
46581         * lib/closeout.c: Include "__fpending.h" once again.
46582         Include <stdbool.h>.
46583         (close_stdout): Don't fail just because stdout was closed initially,
46584         since some programs don't write to stdout in the normal course of
46585         operation (other than --version and --help), and we don't want this
46586         function to make e.g. `touch file >&-' fail.
46587         But do fail if it was closed and someone has tried to write to it.
46588         E.g., `printf foo >&-' must fail.
46589
46590 2004-11-13  Jim Meyering  <jim@meyering.net>
46591
46592         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
46593
46594 2004-11-12  Simon Josefsson  <jas@extundo.com>
46595
46596         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
46597         small doc fix is still pending.
46598
46599 2004-11-11  Simon Josefsson  <jas@extundo.com>
46600
46601         * modules/strtok_r: New file.
46602
46603         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46604         strtok_r.
46605
46606 2004-11-11  Simon Josefsson  <jas@extundo.com>
46607
46608         * m4/strtok_r.m4: New file.
46609
46610         * m4/getopt.m4: Replace opterr.
46611
46612 2004-11-11  Simon Josefsson  <jas@extundo.com>
46613
46614         * lib/strtok_r.h, strtok_r.c: New file.
46615
46616 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46617
46618         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
46619         of replacing opterr, getopt, etc.  This should handle the
46620         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
46621
46622 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
46623
46624         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
46625         we can stop lying to compilers about the constness of argv when we
46626         are compiled outside glibc.
46627         (getopt, getopt_long, getopt_long_only): Use it.
46628         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
46629         _getopt_internal, getopt): Likewise.
46630         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
46631         _getopt_long_only_r): Likewise.
46632         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
46633         _getopt_long_r, _getopt_long_only_r): Likewise.
46634
46635         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
46636         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
46637         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
46638         the other external symbols.
46639         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
46640         declaration, since the above renaming now works around collisions.
46641
46642 2004-11-11  Jim Meyering  <jim@meyering.net>
46643
46644         * lib/linebreak.c: Remove trailing blanks.
46645         * lib/alloca_.h: Likewise.
46646         * lib/acosl.c: Likewise.
46647         * lib/euidaccess.c: Likewise.
46648         * lib/allocsa.h: Likewise.
46649
46650 2004-11-10  Simon Josefsson  <jas@extundo.com>
46651
46652         * m4/getaddrinfo.m4: New file.
46653
46654 2004-11-10  Simon Josefsson  <jas@extundo.com>
46655
46656         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
46657
46658 2004-11-10  Simon Josefsson  <jas@extundo.com>
46659
46660         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
46661         getaddrinfo.
46662
46663         * modules/getaddrinfo: New file.
46664
46665 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46666
46667         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
46668
46669 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
46670
46671         * lib/mktime.c (SHR): New macro, which is a portable
46672         substitute for >> that should work even on Crays.
46673         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
46674         Problem reported by Mark D. Baushke in
46675         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
46676         * lib/getdate.y (SHR): Likewise.
46677         (tm_diff): Use it.
46678         * lib/strftime.c (SHR): Likewise.
46679         (tm_diff): Use it.
46680         * lib/quotearg.c (struct quoting_options): Use unsigned int for
46681         quote_these_too, so that right shifts are well defined.  All uses
46682         changed.
46683
46684 2004-11-10  Jim Meyering  <jim@meyering.net>
46685
46686         Ensure that no close failure goes unreported.
46687         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
46688         return early when it seems there's nothing to flush.
46689         Don't include __fpending.h.
46690
46691 2004-11-10  Jim Meyering  <jim@meyering.net>
46692
46693         * modules/closeout (Depends-on): Remove fpending.
46694
46695 2004-11-10  Jim Meyering  <jim@meyering.net>
46696
46697         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
46698
46699 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
46700
46701         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
46702         gl_FUNC_STRFTIME.
46703         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
46704         and AC_REQUIRE when possible, to avoid duplicate checks.
46705         Check for <wchar.h>.
46706
46707 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
46708
46709         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
46710
46711 2004-11-09  Bruno Haible  <bruno@clisp.org>
46712
46713         * m4/sockpfaf.m4: New file.
46714
46715 2004-11-05  Bruno Haible  <bruno@clisp.org>
46716
46717         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
46718         Reported by Mark D. Baushke <mdb@cvshome.org>.
46719
46720 2004-11-04  Bruno Haible  <bruno@clisp.org>
46721
46722         2004-09-11  Bruno Haible  <bruno@clisp.org>
46723                 * allocsa.valgrind: New file.
46724         2004-02-06  Bruno Haible  <bruno@clisp.org>
46725                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
46726                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
46727                 Reported by Christopher Seip <chris.seip@hp.com>.
46728
46729 2004-11-04  Bruno Haible  <bruno@clisp.org>
46730
46731         * modules/allocsa (Files): Add lib/allocsa.valgrind.
46732         (Makefile.am): Distribute it.
46733
46734 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
46735
46736         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
46737         with errno == ERANGE if the buffer is too small.
46738         Problem reported by Mark D. Baushke.
46739
46740 2004-11-03  Albert Chin  <china@thewrittenword.com>
46741             Paul Eggert  <eggert@cs.ucla.edu>
46742
46743         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
46744         equivalent, substitute $ac_type for equivalent type rather than
46745         blindly using uint32_t *always* which won't work if uint32_t is not
46746         available.  Define _UINT32_T to work around typedef of uint32_t if
46747         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
46748         2.5.1.
46749
46750 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46751
46752         * m4/jm-macros.m4: Sync from coreutils.
46753         (gl_MACROS): Check for mbrlen, for pathchk.
46754         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
46755
46756 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46757
46758         * lib/xreadlink.c (MAXSIZE): New macro.
46759         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
46760         size does not exceed MAXSIZE.  Avoid cast.
46761         As suggested by Mark D. Baushke in
46762         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
46763         if readlink fails with buffer size just under MAXSIZE, try again
46764         with MAXSIZE.
46765
46766 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
46767
46768         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
46769
46770 2004-11-02  Derek R. Price  <derek@ximbiot.com>
46771         and  Paul Eggert  <eggert@cs.ucla.edu>
46772
46773         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
46774         (get_date): Overparenthesize to avoid GCC warning.
46775
46776 2004-11-02  Bruno Haible  <bruno@clisp.org>
46777
46778         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
46779         returns void.
46780
46781 2004-11-02  Bruno Haible  <bruno@clisp.org>
46782
46783         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
46784         function returns void.
46785
46786 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46787
46788         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
46789         fflush_unlocked, flockfile, funlockfile, funlockfile,
46790         fputs_unlocked, putc_unlocked.
46791
46792 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
46793
46794         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
46795         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
46796         already declared.
46797
46798 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46799
46800         * modules/getdate (Files): Add doc/getdate.texi.
46801         (Depends-on): Add setenv, xalloc.
46802
46803 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46804
46805         * lib/getdate.y: Add support for TZ="foo" within a date string.
46806         Fix some bugs near time_t boundaries.  Reject dates with
46807         out-of-range components, e.g., "Sept 31".
46808         Include <stdlib.h>, "setenv.h", "xalloc.h".
46809         (ISDIGIT_LOCALE): Remove; unused.
46810         Note that the TZ and time functions used here are not reentrant.
46811         (mktime_ok, get_tz): New functions.
46812         (TZBUFSIZE): New constant.
46813         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
46814         This requires that we sometimes generate our own TZ="XXX..." setting.
46815
46816 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
46817
46818         * doc/getdate.texi: New file, from coreutils with modifications for
46819         the new TZ parsing.
46820
46821 2004-10-27  Derek R. Price  <derek@ximbiot.com>
46822
46823         * lib/mktime.c (not_equal_tm): Remove redundant check.
46824
46825 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46826
46827         * modules/regex (lib_SOURCES): Add regex.c.
46828         Reported by James Youngman in
46829         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
46830
46831 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
46832
46833         * lib/getdate.y: Use Bison 1.875 features, and some minor
46834         code cleanups.  This change does not affect semantics.
46835         Don't include <stdlib.h>; no longer needed.
46836         Don't include unlocked-io.h; only the "#if TEST" code uses
46837         stdio, and performance isn't crucial there.
46838         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
46839         Bison 1.875 features as described below.
46840         All uses of "PC." replaced by "pc->".
46841         (YYSTYPE): Add a forward declaration.
46842         (yylex, yyerror): Use full prototypes in forward decls.
46843         Use "%pure-parser" rather than obsolescent "%pure_parser".
46844         Use %parse-param and %lex-param instead of obsolescent
46845         YYPARSE_PARAM and YYLEX_PARAM.
46846         (meridian_table, month_and_day_table, time_units_table,
46847         relative_time_table, time_zone_table, military_table,
46848         lookup_zone, lookup_word, get_date):
46849         Use NULL instead of 0 where appropriate.
46850         (to_hour): Avoid abort (), to avoid a dependency on
46851         stdlib.h.
46852         (yyerror, yylex): Now accepts parser_control * arg.
46853         (main) [TEST]: Use '\0' rather than 0 for char.
46854
46855 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46856
46857         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
46858
46859 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
46860
46861         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
46862         It's now the caller's responsibility to handle the case where
46863         !HAVE_GETPAGESIZE && !defined getpagesize.
46864
46865         * lib/mktime.c (leapyear): Arg is long int, not int.
46866
46867 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
46868
46869         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
46870
46871 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
46872
46873         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
46874         missing.  Problem reported by James Youngman.
46875
46876 2004-10-16  Simon Josefsson  <jas@extundo.com>
46877
46878         * gnulib-tool: Fix comments.  Fix parse problem.
46879         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
46880
46881 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
46882
46883         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
46884         implementation of getopt_long.  Problem reported by Alexander Taler in:
46885         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
46886
46887 2004-10-15  Bruno Haible  <bruno@clisp.org>
46888
46889         * gnulib-tool: Untabify. Initialize supplied_libname.
46890         (func_usage): More homogenous output.
46891         (func_modules_transitive_closure, func_modules_to_filelist,
46892         func_emit_lib_Makefile_am): New functions.
46893         (func_import): New function, extracted from big case statement. Use
46894         func_get_license, func_modules_transitive_closure,
46895         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
46896         opt_lgpl. Don't use test -a, as it's not portable.
46897         (func_create_testdir): Use func_modules_transitive_closure,
46898         func_modules_to_filelist, func_emit_lib_Makefile_am.
46899
46900 2004-10-15  Bruno Haible  <bruno@clisp.org>
46901
46902         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
46903
46904 2004-10-15  Bruno Haible  <bruno@clisp.org>
46905
46906         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
46907         the portions belonging to each module.
46908         Suggested by Derek Robert Price <derek@ximbiot.com>.
46909
46910 2004-10-12  Simon Josefsson  <jas@extundo.com>
46911
46912         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
46913         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
46914         to real functions.
46915
46916 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46917
46918         * modules/vsnprintf: New file.
46919
46920 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46921
46922         * m4/vsnprintf.m4: New file.
46923
46924 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
46925
46926         * lib/vsnprintf.h: New file.
46927         * lib/vsnprintf.c: New file.
46928
46929 2004-10-11  Bruno Haible  <bruno@clisp.org>
46930
46931         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
46932         vsnprintf.
46933
46934 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46935
46936         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
46937
46938 2004-10-07  Bruno Haible  <bruno@clisp.org>
46939
46940         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
46941         fits into the provided buffer.
46942
46943 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
46944
46945         * lib/diacrit.c, diacrit.h: Add GPL notice.
46946
46947         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
46948         notice.
46949         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
46950         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
46951         This avoids a potential constant-folding bug.
46952
46953 2004-10-05  Bruno Haible  <bruno@clisp.org>
46954
46955         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
46956         for the declaration of strsep.
46957
46958 2004-10-05  Bruno Haible  <bruno@clisp.org>
46959
46960         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
46961
46962 2004-10-04  Simon Josefsson  <jas@extundo.com>
46963
46964         * modules/memmem: New file.
46965         * tests/test-memmem.c: New file.
46966         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
46967
46968 2004-10-04  Simon Josefsson  <jas@extundo.com>
46969
46970         * m4/memmem.m4: New file.
46971
46972 2004-10-04  Simon Josefsson  <jas@extundo.com>
46973
46974         * lib/memmem.h: New file.
46975         * lib/memmem.c: New file, taken from glibc.
46976
46977 2004-10-04  Simon Josefsson  <jas@extundo.com>
46978
46979         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
46980         '#ifdef USE_UNLOCKED_IO'.
46981
46982 2004-10-04  Simon Josefsson  <jas@extundo.com>
46983
46984         * config/srclist.txt: Add memmem from glibc.
46985
46986 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
46987
46988         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
46989
46990         * modules/argmatch, modules/argp, modules/closeout, modules/error,
46991         modules/exclude, modules/getdate, modules/getline,
46992         modules/getndelim2, modules/getpass, modules/getpass-gnu,
46993         modules/getusershell, modules/linebuffer, modules/md5,
46994         modules/mountlist, modules/posixtm, modules/readtokens,
46995         modules/readutmp, modules/regex, modules/sha1,
46996         modules/version-etc, modules/yesno:
46997         Remove dependency on unlocked-io.
46998
46999 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
47000
47001         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
47002
47003         * m4/unlocked-io.m4: Add copyright notice.
47004         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
47005
47006 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
47007
47008         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
47009         * lib/xmalloc.c (xmemdup): Likewise.
47010         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
47011         XFREE): Remove these long-obsolescent macros.
47012         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
47013         * lib/xstrdup.c: Remove.
47014
47015         * lib/regex.c (re_comp): Cast gettext return value to char *,
47016         Problem reported by Martin Neitzel via Mark D. Baushke.
47017
47018 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
47019
47020         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
47021         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
47022         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
47023         regex.c, sha1.c, version-etc.c, yesno.c:
47024         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
47025         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
47026         the includer's responsibility.
47027
47028         Sync from coreutils.
47029
47030         * lib/modechange.c (mode_compile): Don't decrement a pointer that
47031         points to the start of a string, as the C Standard says the
47032         resulting behavior is undefined.
47033
47034         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
47035         simple -> simple_backups, numbered_existing ->
47036         numbered_existing_backups, numbered -> numbered_backups
47037         to avoid shadowing problems.  All uses changed.
47038         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
47039         * lib/backupfile.c (check_extension, numbered_backup):
47040         Rename locals to avoid shadowing 'basename'.
47041         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
47042         once.
47043
47044         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
47045         * lib/.cvsignore: Add getopt.h.
47046
47047 2004-10-04  Bruno Haible  <bruno@clisp.org>
47048
47049         * modules/README: New file.
47050         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
47051         not a module.
47052
47053 2004-10-02  Jim Meyering  <jim@meyering.net>
47054
47055         * lib/dirfd.h, getpagesize.h: Add copyright notice.
47056
47057 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47058
47059         * modules/strsep: New file.
47060
47061 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47062
47063         * m4/strsep.m4: New file.
47064
47065 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47066
47067         * lib/strsep.h: New file.
47068         * lib/strsep.c: New file.
47069
47070 2004-10-01  Simon Josefsson  <jas@extundo.com>
47071
47072         * lib/snprintf.c (snprintf): Handle size==0.
47073
47074 2004-10-01  Simon Josefsson  <jas@extundo.com>
47075             Bruno Haible  <bruno@clisp.org>
47076
47077         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
47078         (snprintf): Declare 'args'.
47079
47080 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
47081
47082         * lib/snprintf.c: Remove comments as to why each header is needed.
47083
47084 2004-10-01  Bruno Haible  <bruno@clisp.org>
47085
47086         * MODULES.html.sh: Add strsep.
47087
47088 2004-09-30  Simon Josefsson  <jas@extundo.com>
47089
47090         * modules/snprintf: New file.
47091
47092 2004-09-30  Simon Josefsson  <jas@extundo.com>
47093
47094         * m4/snprintf.m4: New file.
47095
47096 2004-09-30  Simon Josefsson  <jas@extundo.com>
47097
47098         * lib/snprintf.h, lib/snprintf.c: New files.
47099
47100 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
47101
47102         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
47103         (hol_entry_help): Never translate an empty string.
47104         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
47105         * lib/argp.h (OPTION_NO_TRANS): New option.
47106
47107 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
47108
47109         * modules/argp (Maintainer): Replace Simon Josefsson
47110         by Sergey Poznyakoff.
47111
47112 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
47113
47114         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
47115         changes merged back into glibc.
47116
47117 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
47118
47119         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
47120
47121 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
47122
47123         * lib/xvasprintf.c: Include xalloc.h.
47124         (xvasprintf): Use xalloc_die, not xmalloc_die.
47125
47126 2004-09-29  Bruno Haible  <bruno@clisp.org>
47127
47128         * modules/alloca-opt: New file, derived from modules/alloca.
47129         * modules/allocsa: Depend on alloca-opt instead of alloca.
47130         * modules/setenv: Likewise.
47131         * modules/vasnprintf: Likewise.
47132         * MODULES.html.sh: Add alloca-opt.
47133
47134 2004-09-28  Simon Josefsson  <jas@extundo.com>
47135
47136         * gnulib-tool: New parameter --lgpl, to asseert that modules are
47137         LGPL, and to replace license template from GPL to LGPL.
47138
47139 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
47140
47141         * modules/dummy: Change license to LGPL.
47142
47143 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
47144
47145         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
47146
47147 2004-09-24  Simon Josefsson  <jas@extundo.com>
47148
47149         * modules/minmax (License): Change from GPL to LGPL.
47150
47151 2004-09-23  Simon Josefsson  <jas@extundo.com>
47152
47153         * gnulib-tool (--import): Typo.
47154
47155 2004-09-23  Simon Josefsson  <jas@extundo.com>
47156
47157         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
47158
47159 2004-09-22  Bruno Haible  <bruno@clisp.org>
47160
47161         * modules/*: Add 'License' field.
47162         * gnulib-tool: Accept --extract-license option.
47163         (func_get_license): New function.
47164
47165 2004-09-21  Bruno Haible  <bruno@clisp.org>
47166
47167         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
47168         Reported by Simon Josefsson.
47169
47170 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
47171
47172         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
47173         gl_AC_TYPE_LONG_LONG.
47174
47175 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
47176
47177         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
47178
47179 2004-09-18  Simon Josefsson  <jas@extundo.com>
47180         and  Paul Eggert  <eggert@cs.ucla.edu>
47181
47182         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
47183         calls with autoreconf.  Define GL_LIB.
47184
47185 2004-09-14  Karl Berry  <karl@gnu.org>
47186
47187         * config/srclist.txt: unsync setenv.c, sigh.
47188
47189 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47190
47191         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
47192         Problem reported by Bruno Haible in:
47193         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
47194
47195 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47196
47197         * config/srclist.txt: Comment out argp-pvh.c.
47198
47199 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
47200
47201         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
47202         in case some system header has #define'd it.  Problem reported by
47203         Soeren D. Schulze in
47204         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
47205
47206 2004-09-09  Karl Berry  <karl@gnu.org>
47207
47208         * regex.[ch]: delete from the root.  These were supposed to be
47209                 synced with emacs cvs, but this has not happened for about
47210                 a year, and anyway nothing else uses emacs regex.[ch].
47211                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
47212                 lib/regex[.ch] is untouched.
47213
47214 2004-09-09  Bruno Haible  <bruno@clisp.org>
47215
47216         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
47217
47218 2004-09-09  Bruno Haible  <bruno@clisp.org>
47219
47220         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
47221         modifications.
47222         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
47223
47224 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
47225
47226         * modules/xvasprintf: New file.
47227         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
47228
47229 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
47230
47231         * lib/xvasprintf.h: New file.
47232         * lib/xvasprintf.c: New file.
47233         * lib/xasprintf.c: New file.
47234
47235 2004-09-08  Bruno Haible  <bruno@clisp.org>
47236
47237         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
47238
47239 2004-09-08  Bruno Haible  <bruno@clisp.org>
47240
47241         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
47242         length is > INT_MAX.
47243         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
47244         more.
47245
47246 2004-09-08  Bruno Haible  <bruno@clisp.org>
47247
47248         * lib/stdint_.h: New file, taken from GNU clisp.
47249
47250 2004-09-08  Bruno Haible  <bruno@clisp.org>
47251             Oskar Liljeblad  <oskar@osk.mine.nu>
47252
47253         * modules/stdint: New file.
47254         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
47255
47256 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47257
47258         Import from coreutils.
47259         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
47260         strings on unbounded length.  alloca's performance benefits aren't
47261         that important here.
47262         (V_STRDUP): Remove.
47263         (parse_with_separator): New function, with most of the internals
47264         of the old parse_user_spec.  Allow user to omit both user and group,
47265         for compatibility with FreeBSD.
47266         Clone only the user name, not the entire spec.
47267         Do not set *uid, *gid unless entirely successful.
47268         Avoid memory leak in some failing cases.
47269         Fix regression for USER.GROUP reported by Dmitry V. Levin in
47270         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
47271         (parse_user_spec): Rewrite to use parse_with_separator.
47272
47273 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47274
47275         * modules/userspec: Don't depend on alloca.
47276
47277 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
47278
47279         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
47280
47281 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
47282
47283         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
47284         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
47285         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
47286
47287 2004-08-16  Simon Josefsson  <jas@extundo.com>
47288
47289         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
47290         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
47291         Add --dry-run for --import.
47292         Let user provided command line parameters override configure.ac
47293         settings.
47294
47295 2004-08-12  Simon Josefsson  <jas@extundo.com>
47296
47297         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
47298         as discussed with Paul Eggert in threads rooted at
47299         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
47300         and
47301         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
47302         Before, the test was empty, and relied on ELIDE_CODE in source
47303         code.)
47304         (gl_PREREQ_GETOPT): New macro.
47305         (gl_GETOPT): Use them.
47306
47307 2004-08-12  Simon Josefsson  <jas@extundo.com>
47308
47309         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
47310         * lib/getopt_.h: Renamed from getopt.h.
47311
47312 2004-08-12  Simon Josefsson  <jas@extundo.com>
47313
47314         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
47315         Change default library name from libfoo to libgnu.
47316         Now, if you have a configure.ac that says:
47317                 gl_SOURCE_BASE(gl)
47318                 gl_M4_BASE(gl/m4)
47319                 gl_MODULES(error getopt etcetera)
47320                 gl_INIT
47321         you can import all you need by running:
47322                 ../gnulib/gnulib-tool --import
47323
47324         * modules/getopt (Files): Rename getopt.h to getopt_.h.
47325         (Makefile.am): Rewrite, use logic from argz.
47326         (Include): Use <getopt.h> instead of "getopt.h".
47327
47328 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
47329
47330         * modules/argp (Files): Add m4/unlocked-io.m4.
47331         (Depends-on): Add extensions.
47332
47333 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
47334
47335         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
47336         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
47337         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
47338         Check for program_invocation_name, program_invocation_short_name,
47339         flockfile, funlockfile, features.h, _getopt_long_only_r.
47340
47341 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
47342
47343         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
47344         its complicated substitute.
47345         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
47346         and program_invocation_name.
47347         (__argp_basename) [!_LIBC]: Remove; the only use was
47348         replaced by its body.
47349         (__argp_short_program_name): Change condition from
47350         !defined __argp_short_program_name to
47351         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
47352         to match argp-namefrob.h.
47353         (__argp_failure): Don't assume strerror_r returns char *.
47354         * lib/argp-parse.c (N_): Define unconditionally.
47355         (argp_default_options): Fill out initializers with 0 to avoid
47356         gcc warnings.
47357
47358 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
47359
47360         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
47361         getopt1.c.
47362
47363 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
47364
47365         Merge from coreutils.
47366
47367         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
47368
47369         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
47370         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
47371
47372 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
47373
47374         Merge from coreutils.
47375
47376         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
47377         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
47378         for Reliant Unix 5.43.
47379
47380         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
47381         (union fooround): Use uintmax_t, not long int.
47382         The rest is a merge from libc:
47383         [defined _LIBC]: Include <shlib-compat.h>.
47384         (_obstack) [defined _LIBC]: Remove after 2.3.4.
47385
47386         * lib/settime.c (settime): Recode to avoid warning with
47387         Sun Forte C 6U2.
47388
47389         * lib/strverscmp.c: Convert to UTF-8.
47390
47391 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
47392
47393         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
47394         m4/uintmax_t.m4.
47395
47396 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47397
47398         * modules/xalloc-die: New file.
47399         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
47400
47401         * modules/md5 (Files): Add m4/uint32_t.m4.
47402         * modules/sha1: Renamed from modules/sha.
47403         (Files):
47404         Rename lib/sha.h to lib/sha1.h.
47405         Rename lib/sha.c to lib/sha1.c.
47406         Rename m4/sha.m4 to m4/sha1.m4.
47407         (lib_SOURCES): Likewise.
47408         (configure.ac): Rename gl_SHA to gl_SHA1.
47409         (Include): sha.h -> sha1.h.
47410
47411 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47412
47413         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
47414         * m4/sha1.m4: Renamed from sha.m4.
47415         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
47416
47417 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
47418
47419         * lib/obstack.h (obstack_empty_p):
47420         Don't assume that chunk->contents is suitably aligned.
47421         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
47422         Likewise. Problem reported by Benno in
47423         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
47424
47425         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
47426         readable.  This could be improved further but it'd take some work.
47427
47428 2004-08-08  Simon Josefsson  <jas@extundo.com>
47429
47430         * modules/xgethostname (Depends-on): Remove exit and error (not
47431         used).
47432
47433         * modules/getpass-gnu: Add getpass.h.
47434         (Depends-on): Add stdbool.
47435         * modules/getpass: Add getpass.h.
47436
47437 2004-08-08  Simon Josefsson  <jas@extundo.com>
47438
47439         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
47440         Check getpass declaration.
47441
47442 2004-08-08  Simon Josefsson  <jas@extundo.com>
47443
47444         * lib/xgethostname.c: Don't include error.h (not used).
47445
47446         * lib/getpass.h: Add.
47447         * lib/getpass.c: Include getpass.h first.
47448
47449 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
47450
47451         * lib/xalloc-die.c: New file.
47452         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
47453         All uses removed.
47454         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
47455         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
47456         xalloc-die.c.
47457         (_, N_, xalloc_die): Move to xalloc-die.c.
47458         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
47459         so that we needn't mess with xalloc_msg_memory_exhausted.
47460
47461         * lib/sha1.h: Renamed from sha.h.
47462         (SHA1_H): Renamed from _SHA_H.
47463         (sha1_ctx): Renamed from sha_ctx.
47464         (sha1_init_ctx): Renamed from sha_init_ctx.
47465         (sha1_process_block): Renamed from sha_process_block.
47466         (sha1_process_bytes): Renamed from sha_process_bytes.
47467         (sha1_finish_ctx): Renamed from sha_finish_ctx.
47468         (sha1_read_ctx): Renamed from sha_read_ctx.
47469         (sha1_stream): Renamed from sha_stream.
47470         (sha1_buffer): Renamed from sha_buffer.
47471         * lib/sha1.c: Likewise; renamed from sha.c.
47472         Do not include <sys/types.h>.
47473         Include <stddef.h> rather than <stdlib.h>.
47474
47475 2004-08-08  Bruno Haible  <bruno@clisp.org>
47476
47477         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
47478         FILESYSTEM_PREFIX_LEN.
47479         * lib/progreloc.c: Likewise.
47480         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
47481
47482 2004-08-06  Simon Josefsson  <jas@extundo.com>
47483
47484         * modules/progname (Depends-on): Don't depend on stdbool.
47485
47486 2004-08-06  Simon Josefsson  <jas@extundo.com>
47487
47488         * modules/getsubopt: New file.
47489         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47490         getsubopt.
47491
47492 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47493
47494         More merge from coreutils.
47495
47496         * m4/utimens.m4, m4/utimecmp.m4: New files.
47497         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
47498         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
47499         prereq.m4, sha.m4: Import changes from coreutils.
47500
47501 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47502
47503         More merge from coreutils.
47504         * modules/raise, modules/readtokens0, modules/utimens:
47505         * modules/utimecmp, module/xnanosleep: New files.
47506         * modules/strftime: Add lib/strftime.h.
47507         Change include from <time.h> to "strftime.h".
47508         * modules/yesno: Add lib/yesno.h.
47509         * modules/backupfile: Remove lib/addext.c.
47510         * modules/euidaccess: Add stat-macros.h.
47511         * modules/canonicalize, modules/euidaccess,
47512         modules/filemode, modules/lchown, modules/makepath,
47513         modules/rmdir, modules/stat: Likewise.
47514
47515 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
47516
47517         Merge from tar.
47518         * lib/argp-help.c (make_hol, hol_append): Don't assume that
47519         SIZE_MAX is a valid preprocessor constant.
47520         (__argp_basename): Change from "#ifndef _LIBC"
47521         to "#ifndef __argp_short_program_name", so that
47522         we don't compile these functions for tar.
47523
47524         More merges from coreutils.
47525         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
47526         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
47527         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
47528         * lib/addext.c: Remove; no longer needed.
47529         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
47530         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
47531         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
47532         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
47533         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
47534         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
47535         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
47536         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
47537         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
47538         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
47539         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
47540         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
47541         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
47542         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
47543         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
47544         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
47545         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
47546         Import changes from coreutils.
47547
47548 2004-08-05  Simon Josefsson  <jas@extundo.com>
47549
47550         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
47551
47552 2004-08-05  Simon Josefsson  <jas@extundo.com>
47553
47554         * m4/getsubopt.m4: New file.
47555
47556 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
47557
47558         Merge from coreutils.
47559
47560         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
47561         * m4/getcwd-path-max.m4: New files.
47562
47563         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
47564         FILESYSTEM_PREFIX_LEN ->
47565         FILE_SYSTEM_PREFIX_LEN.
47566         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
47567         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
47568         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
47569         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
47570
47571         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
47572         prerequisite modules now handle the DOS stuff.
47573         Don't check for unistd.h.
47574
47575 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
47576
47577         Merge from coreutils.
47578
47579         * lib/.gdb-history: Remove; this doesn't belong here.
47580
47581         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
47582         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
47583         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
47584         * lib/getcwd.c: New files.
47585
47586         * lib/dirname.h: Include <stdbool.h>.
47587         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
47588         for consistency with POSIX terminology.  All uses changed.
47589         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
47590         (strip_trailing_slashes): Use bool for booleans.
47591         * lib/stripslash.c (strip_trailing_slashes): Likewise.
47592
47593         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
47594         sometimes returns a positive errno value even when it succeeds.
47595         (print_errno_message) [!LIBC]: Fall back on strerror if
47596         __strerror_r fails.
47597
47598         * lib/path-concat.c (mempcpy): Don't define if a system header defines
47599         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
47600         (longest_relative_suffix): New function.
47601         (path_concat): Use it.  Assume first argument is not NULL.
47602         Port to DOS.  Omit redundant separators.
47603         Report an error instead of returning NULL.
47604         Use mempcpy instead of memcpy.
47605         (xpath_concat): Remove: not declared or used.
47606
47607         * lib/same.h: Include <stdbool.h>
47608         (same_name): Return bool, not int.
47609         * lib/same.c (same_name): Likewise.
47610         (errno): Don't declare; we assume C89 or better now.
47611
47612         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
47613         if not already defined.
47614
47615         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
47616         * lib/dup-safer.c (errno): Likewise.
47617
47618 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
47619
47620         Merge from coreutils.
47621         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
47622         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
47623         * modules/path-concat: Don't depend on strdup.
47624
47625 2004-08-03  Simon Josefsson  <jas@extundo.com>
47626
47627         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
47628         * lib/progname.h: Don't include stdbool.h.
47629
47630 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
47631
47632         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
47633         * MODULES.html.sh (func_all_modules): Remove fatal.
47634
47635 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
47636
47637         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
47638
47639 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
47640
47641         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
47642         working.
47643
47644 2004-08-02  Simon Josefsson  <jas@extundo.com>
47645
47646         * lib/getsubopt.h: New file, with comments from Bruno Haible.
47647         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
47648         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
47649
47650 2004-08-01  Simon Josefsson  <jas@extundo.com>
47651
47652         * lib/xgetdomainname.c: Include stdlib.h, for free().
47653
47654 2004-07-19  Bruno Haible  <bruno@clisp.org>
47655
47656         * MODULES.html.sh (func_all_modules): Add dummy.
47657
47658 2004-07-16  Simon Josefsson  <jas@extundo.com>
47659
47660         * modules/dummy: New file.
47661
47662 2004-07-16  Simon Josefsson  <jas@extundo.com>
47663
47664         * lib/dummy.c: New file.
47665
47666 2004-07-16  Bruno Haible  <bruno@clisp.org>
47667
47668         * lib/backupfile.h: Add extern "C" for C++.
47669         * lib/closeout.h: Likewise.
47670         * lib/copy-file.h: Likewise.
47671         * lib/findprog.h: Likewise.
47672         * lib/full-write.h: Likewise.
47673         * lib/pathname.h: Likewise.
47674         * lib/progname.h: Likewise.
47675         * lib/stpcpy.h: Likewise.
47676         * lib/stpncpy.h: Likewise.
47677         * lib/strcase.h: Likewise.
47678         * lib/strstr.h: Likewise.
47679         * lib/xalloc.h: Likewise.
47680
47681         * lib/mbswidth.h: Add extern "C" for C++.
47682         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
47683
47684 2004-07-13  Robert Millan  <robertmh@gnu.org>
47685
47686         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
47687
47688 2004-07-09  Simon Josefsson  <jas@extundo.com>
47689
47690         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
47691         failed without this.)
47692
47693 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
47694
47695         * modules/chown (Files): Add lib/fchown-stub.c, since
47696         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
47697
47698 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
47699
47700         * lib/fchown-stub.c: New file.
47701
47702 2004-06-24  Jim Meyering  <jim@meyering.net>
47703
47704         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
47705
47706 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47707
47708         * modules/argz: Omit "#include".
47709
47710         * MODULES.html.sh (func_all_modules): Add calloc, to match
47711         2004-06-01 addition of calloc module.
47712
47713 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47714
47715         * m4/argz.m4: New file, which is autoupdated from libtool.
47716
47717 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47718
47719         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
47720         libtool.
47721
47722 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
47723
47724         * config/srclist-update: Don't insist on "USA." before the
47725         close-comment, as libtool omits the period and puts the */ on a
47726         separate line.
47727         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
47728         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
47729
47730 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
47731
47732         * modules/argz: New file.
47733         * MODULES.html.sh (func_all_modules): Add argz.
47734
47735 2004-06-12  Jim Meyering  <jim@meyering.net>
47736         and  Paul Eggert  <eggert@cs.ucla.edu>
47737
47738         * modules/hash (Files): Add lib/xalloc.h.
47739         * modules/pipe (Depends-on): Add wait-process.
47740         * modules/stat (Depends-on): Add xalloc.
47741         * modules/userspec (Files): Add lib/userspec.h.
47742         * modules/xstrto
47743
47744         Upgrade from gettext-0.13.
47745         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
47746         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
47747         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
47748
47749 2004-06-10  Jim Meyering  <jim@meyering.net>
47750
47751         * lib/calloc.c: New file.
47752
47753 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
47754
47755         * lib/getdate.y (yylex): Allow space between sign and number.
47756         Problem reported by Dan Jacobson.
47757
47758 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47759
47760         Merge from coreutils CVS.
47761
47762         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
47763         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
47764         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
47765         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
47766         xstrtol.m4: Fix copyright date and/or serial number.
47767
47768         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
47769         See if we need an fchown replacement.
47770         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
47771         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
47772         and use the replacement function if we detect either defect.
47773
47774         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
47775         gl_UTIMECMP.
47776
47777 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
47778         and  Jim Meyering  <jim@meyering.net>
47779
47780         Merge from coreutils CVS.
47781
47782         * lib/stat-macros.h: New file, with contents from file-type.h
47783         and coreutils' system.h.
47784         * lib/file-type.c: Include "stat-macros.h".
47785         * lib/file-type.h (file_type): Move all macro definitions to new file,
47786         stat-macros.h.
47787
47788         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
47789         Wrap old code with this conditional.
47790         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
47791         function that does not dereference symlinks.
47792         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
47793
47794         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
47795         dependency problems.
47796         (xreadlink): Accept new arg SIZE, for efficiency.
47797         All decls and uses changed.
47798         * lib/xreadlink.h: Include <stddef.h>, for size_t.
47799
47800         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
47801         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
47802
47803         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
47804         sysexits.h.
47805
47806 2004-06-01  Jim Meyering  <jim@meyering.net>
47807
47808         * m4/calloc.m4: New file.
47809
47810 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
47811
47812         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
47813         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
47814         Also, fix a typo in a diagnostic.
47815
47816 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47817
47818         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
47819         or AC_FUNC_REALLOC.
47820
47821 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
47822
47823         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
47824         macros to be defined.
47825         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
47826         the allocator returns NULL because the requested size is zero.
47827
47828 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
47829
47830         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
47831         var.  Add comment explaining why libc still defines it.  This
47832         merges the following patch from glibc:
47833         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
47834
47835 2004-05-20  Andreas Schwab  <schwab@suse.de>
47836
47837         * m4/free.m4: Replace free if it not known to work, not the other
47838         way round.
47839
47840 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
47841
47842         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
47843         present in glibc since revision 1.1 of this file.
47844         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
47845         obstack_alignment_mask, obstack_alloc, obstack_base,
47846         obstack_blank, obstack_blank_fast, obstack_chunk_size,
47847         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
47848         obstack_grow0, obstack_init, obstack_int_grow,
47849         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
47850         obstack_next_free, obstack_object_size, obstack_ptr_grow,
47851         obstack_ptr_grow_fast, obstack_room): Remove declarations of
47852         nonexistent functions.
47853
47854 2004-05-18  Karl Berry  <karl@gnu.org>
47855
47856         * config/srclist.txt: break link for vasnprintf.c.
47857
47858 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47859
47860         Port obstack to the AS/400, where pointers are 16 bytes wide and
47861         you cannot cast an integer to a valid pointer.  This patch is
47862         currently waiting to be integrated into glibc; see
47863         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
47864
47865         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
47866         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
47867         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
47868         (struct obstack): temp member is now a union of a pointer and
47869         an integer, instead of an integer.  All integer uses changed.
47870         This does not affect the physical layout of struct obstack,
47871         except on hosts (like the AS/400) where the size or alignment of
47872         void * is greater than that of ptrdiff_t.
47873         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
47874         __STDC__)]: Store temporary in pointer member of union, not
47875         integer member.
47876         * lib/obstack.c: Include <stddef.h>, for offsetof.
47877         (struct fooalign): Remove; it doesn't need a name.
47878         (union fooround): Change double to long double, and add void *.
47879         (DEFAULT_ALIGNMENT): Use offsetof to compute.
47880         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
47881         not a macro.  Hence the values are always int; so remove all
47882         casts-to-int in uses.
47883
47884 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
47885
47886         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
47887         we can get this patch merged into glibc.
47888
47889 2004-05-17  Derek R. Price  <derek@ximbiot.com>
47890             Paul Eggert  <eggert@cs.ucla.edu>
47891
47892         * m4/argp: Depend on alloca.
47893
47894 2004-05-17  Derek R. Price  <derek@ximbiot.com>
47895             Paul Eggert  <eggert@cs.ucla.edu>
47896
47897         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
47898         freecoding.
47899
47900 2004-05-17  Bruno Haible  <bruno@clisp.org>
47901
47902         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
47903         precision that consists of a '.' followed by an empty digit string.
47904         Patch by Tor Lillqvist <tml@iki.fi>.
47905
47906 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47907
47908         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
47909         for backward compatibility with older code.  We need our own
47910         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
47911         it under some other name, and our alloca.h will define it.
47912
47913 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
47914             Derek Price  <derek@ximbiot.com>
47915
47916         * lib/alloca.c: Include <alloca.h>, to get our interface.
47917         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
47918         include <alloca.h> first.  Use C89 prototype for alloca; this
47919         requires including <stddef.h> for size_t.  Use extern "C" if C++.
47920         Use #elif for simplicity, since we can assume C89 now.
47921         Don't try to source the system alloca.h since it will not be found
47922         and to prevent recursively including its replacement.
47923         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
47924         * lib/regex.c: Likewise.
47925
47926 2004-05-16  Derek Price  <derek@ximbiot.com>
47927             Paul Eggert  <eggert@cs.ucla.edu>
47928
47929         getline cleanup.  This changes the getndelim2 API: both order of
47930         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
47931         no delimiter).
47932
47933         * lib/getline.c: Don't include stddef.h or stdio.h, since our
47934         interface does that.
47935         (getline): Always use getdelim, so that we don't have two
47936         copies of this code.
47937         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
47938         if available.
47939         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
47940         (GETNDELIM2_MAXIMUM): New macro.
47941         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
47942         instead of the old practice of delim2==0.  All callers changed.
47943         Return -1 on overflow, instead of returning junk.
47944         Do not set *linesize unless allocation succeeds.
47945         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
47946         that we include sys/types.h.
47947         * lib/getnline.h: Likewise.
47948         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
47949         (getndelim2): Reorder arguments.
47950         * lib/getnline.c (getnline, getndelim):
47951         Don't discard the NMAX argument.
47952         (getnline): Invoke getndelim, to avoid code duplication.
47953         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
47954         of (size_t) -1 by callers of the getnline family.
47955
47956 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47957
47958         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
47959         Check for gettimeofday.
47960         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
47961         Check for settimeofday, stime.
47962
47963 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
47964
47965         * lib/nanosleep.c (suspended): Change its type from int to
47966         sig_atomic_t volatile.
47967         (first_call): Make it private to rpl_nanosleep, and have it
47968         be zero initially as that's a bit faster.
47969         (my_usleep): Round up fractional times instead of truncating them,
47970         as this is the usual meaning for 'sleep'.
47971
47972         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
47973         doesn't work.
47974         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
47975         (ENOSYS): Define if not defined.
47976         (settime): Fall back on stime if it exists and settimeofday fails.
47977         But don't bother with fallbacks if a method fails with errno == EPERM.
47978
47979 2004-05-11  Jim Meyering  <jim@meyering.net>
47980
47981         Prior to this change, the save_cwd caller required read access to the
47982         current directory on most systems (ones with the fchdir function).
47983
47984         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
47985         fails, try write-only, and finally, resort to using xgetcwd.
47986
47987 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
47988
47989         * lib/obstack.c, obstack.h: Import changes from libc.
47990
47991 2004-04-28  Bruno Haible  <bruno@clisp.org>
47992
47993         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
47994         also implicitly appends .exe to executables.
47995         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
47996         accepts Windows pathnames.
47997         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
47998         Treat Cygwin like Windows, since it now accepts Windows pathnames.
47999         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
48000         Treat Cygwin like Windows, since it now accepts Windows pathnames.
48001         Reported by Derek Robert Price <derek@ximbiot.com>.
48002
48003 2004-04-21  Karl Berry  <karl@gnu.org>
48004
48005         * config/srclist.txt (localcharset.c): break sync.
48006
48007 2004-04-20  Paul Eggert  <eggert@twinsun.com>
48008
48009         * m4/host-os.m4: Add a copyright notice.
48010
48011 2004-04-20  Jim Meyering  <jim@meyering.net>
48012
48013         Change UTILS_ to gl_ in AC_DEFINE'd names.
48014         Change utils_- and jm_-prefixed variables, too.
48015         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
48016         UTILS_FUNC_MKDIR_TRAILING_SLASH.
48017         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
48018
48019         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
48020         Don't emit trailing blanks.
48021         Also rename jm_-prefixed variables to have gl_ prefix.
48022
48023         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
48024         Also rename jm_-prefixed variables to have gl_ prefix.
48025
48026         * m4/jm-macros.m4: Reflect the renamings.
48027         * m4/prereq.m4: Likewise.
48028
48029 2004-04-20  Jim Meyering  <jim@meyering.net>
48030
48031         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
48032         memory.
48033
48034 2004-04-20  Jim Meyering  <jim@meyering.net>
48035             Bruno Haible  <bruno@clisp.org>
48036
48037         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
48038         memory when realloc fails.
48039
48040 2004-04-19  Jim Meyering  <jim@meyering.net>
48041
48042         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
48043         now that readutmp.c may call `free (0)'.
48044
48045 2004-04-19  Bruno Haible  <bruno@clisp.org>
48046
48047         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
48048         * m4/inttypes_h.m4: Likewise.
48049         * m4/stdint_h.m4: Likewise.
48050         * m4/intmax_t.m4: Likewise.
48051         * m4/uintmax_t.m4: Likewise.
48052
48053 2004-04-18  Jim Meyering  <jim@meyering.net>
48054
48055         * m4/prereq.m4: Don't forbid jm_ prefix.
48056
48057         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
48058         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
48059         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
48060         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
48061         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
48062         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
48063         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
48064         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
48065         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
48066         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
48067         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
48068         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
48069         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
48070         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
48071         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
48072         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
48073         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
48074         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
48075         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
48076
48077 2004-04-18  Jim Meyering  <jim@meyering.net>
48078
48079         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
48080         failure, don't leak memory and do call END_UTMP_ENT.
48081
48082 2004-04-16  Jim Meyering  <jim@meyering.net>
48083
48084         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
48085         coreutils' stat program.
48086         (gl_PREREQ): Don't require jm_PREREQ_STAT.
48087
48088 2004-04-11  Paul Eggert  <eggert@twinsun.com>
48089
48090         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
48091         C89.
48092         (CHAR_BIT): Remove, since we assume C89.
48093         Include <stdint.h> if available, as per current Autoconf CVS advice.
48094
48095 2004-03-31  Jim Meyering  <jim@meyering.net>
48096
48097         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
48098         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
48099         * m4/xalloc.m4: Likewise.
48100
48101 2004-03-30  Paul Eggert  <eggert@twinsun.com>
48102
48103         Merge from coreutils.
48104
48105         * m4/inttostr.m4: New file.
48106         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
48107         Require AM_STDBOOL_H and gl_TIMESPEC instead.
48108         Require gl_CLOCK_TIME.
48109         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
48110
48111 2004-03-30  Paul Eggert  <eggert@twinsun.com>
48112
48113         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
48114         not bool, to be more consistent with Unix conventions.
48115         Suggested by Bruno Haible.
48116
48117         Merge from coreutils.
48118
48119         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
48120         * lib/umaxtostr.c: New files.
48121
48122         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
48123         the usual <time.h> dance.
48124         (get_date): Change signature to support fractional time stamps.
48125         All callers changed.
48126         * lib/getdate.y: Include "getdate.h" first, as we can now
48127         assume C89 and don't need to worry about 'const'.
48128         Similarly, include "unlocked-io.h" near start, not in middle.
48129         Include <limits.h>.
48130         (textint.value): Use long int rather than int.
48131         (textint.digits): Use size_t rather than int.
48132         (BILLION, LOG10_BILLION): New constants.
48133         (parser_control): New member rel_ns.  Members day_ordinal,
48134         time_zone, month, day, hour, minutes, rel_year, rel_month,
48135         rel_day, rel_hour, rel_minutes, rel_seconds
48136         are now long int, not int.  Member seconds is now struct timespec,
48137         not int.  New member timespec_seen.  Members dates_seen, days_seen,
48138         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
48139         not int.
48140         (%union.intval): Now long int, not int.
48141         New member timespec.
48142         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
48143         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
48144         (spec): Now is a timespec or an item list.
48145         (timespec, items): New nonterminals.
48146         (time, rel, relunit, number, get_date):
48147         Add support for fractional seconds.
48148         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
48149         (gmtime, localtime, mktime): Remove decls; not needed with C89.
48150         (to_hour): First arg is now long int, not int.
48151         (to_year): Returns long int, not int.
48152         Don't treat year -70 like 70.
48153         (tm_diff): Returns long int, not int.
48154         (lookup_word): Use bool instead of int when appropriate.
48155         (yylex): Use size_t for count, not int.
48156         Detect overflow when parsing large integer constants.
48157         Add support for fractions.
48158         (get_date): Make pointers 'const' if possible.
48159         Use more-portable code to detect integer overflow.
48160         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
48161         Don't use ctime; it's not reliable if the year has >4 digits.
48162
48163         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
48164         This is for compatibility with BSD.
48165
48166         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
48167         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
48168         From coreutils' system.h.
48169
48170         * lib/userspec.c: Don't include "posixver.h".
48171         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
48172         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
48173         compatible extension.  Simplify code by removing a boolean int
48174         that was always nonzero if a string was nonnull.
48175
48176 2004-03-30  Jim Meyering  <jim@meyering.net>
48177
48178         Merge from coreutils.
48179
48180         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
48181         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
48182         on some systems one must include <grp.h> before it.
48183         Reported by Christian Krackowizer.
48184
48185 2004-03-30  Jim Meyering  <jim@meyering.net>
48186
48187         Merge from coreutils.
48188
48189         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
48190
48191         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
48192         an empty input stream.
48193
48194         * lib/readtokens.c: Include <stdbool.h>.
48195         (readtoken): Use `size_t' rather than int/long.
48196         All callers adjusted.
48197         Use `bool' rather than `int' where appropriate.
48198         Use memset rather than an explicit loop.
48199         Use x2nrealloc rather than xrealloc.
48200         Allow the use of `\0' as a delimiter.
48201         (readtokens): Likewise.
48202         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
48203
48204 2004-03-30  Jim Meyering  <jim@meyering.net>
48205
48206         * m4/realloc.m4: Remove file, since now it does no more than
48207         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
48208         the `configure.ac' section of module/realloc.
48209         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
48210
48211 2004-03-30  Bruno Haible  <bruno@clisp.org>
48212
48213         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
48214         nonnull.
48215
48216 2004-03-29  Paul Eggert  <eggert@twinsun.com>
48217
48218         Merge changes to getloadavg.c from coreutils and Emacs.
48219
48220         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
48221         Define to an expression, not to the empty string.
48222         Include cloexec.h and xalloc.h.
48223         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
48224         Use set_cloexec_flag rather than rolling our own.
48225         * lib/cloexec.c, lib/cloexec.h: New files.
48226
48227 2004-03-29  Paul Eggert  <eggert@twinsun.com>
48228
48229         * m4/cloexec.m4: New file.
48230
48231 2004-03-18  Paul Eggert  <eggert@twinsun.com>
48232
48233         * lib/getopt.h: Sync with libc CVS.
48234
48235 2004-03-18  Paul Eggert  <eggert@twinsun.com>
48236             Bruno Haible  <bruno@clisp.org>
48237
48238         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
48239         mbswidth.
48240
48241 2004-03-18  Paul Eggert  <eggert@twinsun.com>
48242             Bruno Haible  <bruno@clisp.org>
48243
48244         * lib/mbswidth.h: Include <wchar.h> only if
48245         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
48246         <wchar.h>.
48247         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
48248
48249 2004-03-09  Paul Eggert  <eggert@twinsun.com>
48250
48251         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
48252         Sync with libc CVS.
48253         * lib/getopt_int.h: New file, also synced from libc.
48254
48255 2004-03-09  Paul Eggert  <eggert@twinsun.com>
48256
48257         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
48258         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
48259         Bring back getopt.c, getopt.h, getopt1.c.
48260
48261 2004-03-07  Paul Eggert  <eggert@twinsun.com>
48262
48263         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
48264         All uses changed.  Check for sa_sigaction member; this fixes
48265         a bug first reported by Jason Andrade in
48266         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
48267
48268 2004-03-07  Paul Eggert  <eggert@twinsun.com>
48269
48270         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
48271         '#if' expressions.  Unlike the code it replaces, it does not
48272         depend on (defined _SC_PAGESIZE).  However, it does depend on
48273         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
48274         first reported by Jason Andrade in
48275         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
48276
48277 2004-02-25  Simon Josefsson  <jas@extundo.com>
48278
48279         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
48280
48281 2004-02-25  Simon Josefsson  <jas@extundo.com>
48282
48283         * lib/strdup.h: New file.
48284         * lib/strdup.c: Include it.
48285         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
48286         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
48287
48288 2004-02-23  Karl Berry  <karl@gnu.org>
48289
48290         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
48291         (from fencepost.gnu.org:/gd/gnuorg).
48292
48293 2004-02-23  Karl Berry  <karl@gnu.org>
48294
48295         * config/srclistvars.sh (GNUORG) [karl]: redefine.
48296         * config/srclist.txt: add maintain/standards documents.
48297
48298 2004-02-18  Bruno Haible  <bruno@clisp.org>
48299
48300         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
48301         Reported by Derek Robert Price <derek@ximbiot.com>.
48302
48303 2004-02-16  Karl Berry  <karl@gnu.org>
48304
48305         * config/mkinstalldirs, install-sh: update from automake.
48306
48307 2004-02-06  Karl Berry  <karl@gnu.org>
48308
48309         * m4/po.m4: update from gettext 0.14.1.
48310
48311 2004-02-06  Karl Berry  <karl@gnu.org>
48312
48313         * lib/config.charset: update from gettext 0.14.1.
48314
48315 2004-02-05  Paul Eggert  <eggert@twinsun.com>
48316
48317         Add comments and code, prompted by suggestions from Bruno Haible
48318         for sh-quote.
48319         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
48320         describing the enum quoting_style values.
48321         * lib/quotearg.c (quotearg_alloc): New function.
48322         (quotearg_buffer_restyled): Treat lone { and } as special.
48323         Treat = as special.  Work around bug with older shells
48324         that "see" a '\' that is really the 2nd byte of a multibyte char.
48325         Quote empty string with shell_quoting_style.
48326
48327 2004-02-03  Bruno Haible  <bruno@clisp.org>
48328
48329         * m4/pipe.m4: New file, from GNU gettext.
48330
48331 2004-02-03  Bruno Haible  <bruno@clisp.org>
48332
48333         * lib/pipe.h: New file, from GNU gettext.
48334         * lib/pipe.c: New file, from GNU gettext.
48335
48336 2004-01-27  Bruno Haible  <bruno@clisp.org>
48337
48338         * m4/execute.m4: New file, from GNU gettext.
48339
48340 2004-01-27  Bruno Haible  <bruno@clisp.org>
48341
48342         * lib/execute.h: New file, from GNU gettext.
48343         * lib/execute.c: New file, from GNU gettext.
48344         * lib/w32spawn.h: New file, from GNU gettext.
48345
48346 2004-01-24  Paul Eggert  <eggert@twinsun.com>
48347
48348         Merge from diffutils.
48349
48350         * lib/file-type.c (file_type): Add typed memory objects.
48351         * lib/file-type.h (S_TYPEISTMO): New macro.
48352
48353         * lib/c-stack.h (c_stack_action): Remove argv argument.
48354         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
48355         (die): Don't calculate message unless segv_action returns.
48356         (get_stack_location, min_address_from_argv, max_address_from_argv,
48357         volatile stack_base, volatile_stack_size): Remove.
48358         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
48359         that every segmentation violation is a stack overflow.  (Ouch!)
48360         See Debian bug 136249 (still outstanding) for more info about why
48361         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
48362
48363 2004-01-24  Paul Eggert  <eggert@twinsun.com>
48364
48365         Exit-status fix from coreutils.
48366
48367         Use exit_failure consistently in place of EXIT_FAILURE,
48368         so that program exit statuses are consistent on failure.
48369
48370         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
48371         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
48372         * lib/argmatch.h: Comment fix to match the above.
48373         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
48374         Now a macro referring to exit_failure, instead of a separate
48375         variable.  Include "exitfail.h" to get it.
48376         * lib/xstrtol.h: Include "exitfail.h".
48377         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
48378
48379         * lib/long-options.c (parse_long_options): Use prototype
48380         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
48381         for clarity.
48382
48383 2004-01-21  Jim Meyering  <jim@meyering.net>
48384
48385         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
48386         so as not to conflict with a different-sized __mktime_internal
48387         function in GNU libc.
48388         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
48389         Problem building statically-linked `ls' reported by Michael Brunnbauer.
48390
48391 2004-01-20  Karl Berry  <karl@gnu.org>
48392
48393         * config/config.guess: update from config.
48394
48395         * config/srclistvars.sh: GNUWWWLICENSES for karl.
48396
48397 2004-01-20  Bruno Haible  <bruno@clisp.org>
48398
48399         Safer stack allocation.
48400         * lib/setenv.c: Include allocsa.h.
48401         (alloca): Remove fallback definition.
48402         (freea): Remove macro.
48403         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
48404         instead of freea.
48405
48406 2004-01-20  Bruno Haible  <bruno@clisp.org>
48407
48408         * m4/eealloc.m4: New file, from GNU gettext.
48409
48410 2004-01-20  Bruno Haible  <bruno@clisp.org>
48411
48412         * m4/allocsa.m4: New file, from GNU gettext.
48413
48414 2004-01-20  Bruno Haible  <bruno@clisp.org>
48415
48416         * lib/xallocsa.h: New file, from GNU gettext.
48417         * lib/xallocsa.c: New file, from GNU gettext.
48418
48419 2004-01-20  Bruno Haible  <bruno@clisp.org>
48420
48421         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
48422
48423 2004-01-20  Bruno Haible  <bruno@clisp.org>
48424
48425         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
48426         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
48427         specially.
48428
48429 2004-01-20  Bruno Haible  <bruno@clisp.org>
48430
48431         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
48432         patch.
48433
48434 2004-01-20  Bruno Haible  <bruno@clisp.org>
48435
48436         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
48437
48438 2004-01-20  Bruno Haible  <bruno@clisp.org>
48439
48440         * lib/eealloc.h: New file.
48441
48442 2004-01-20  Bruno Haible  <bruno@clisp.org>
48443
48444         * lib/binary-io.h: Avoid warnings on Cygwin.
48445
48446 2004-01-20  Bruno Haible  <bruno@clisp.org>
48447
48448         * lib/allocsa.h: New file, from GNU gettext.
48449         * lib/allocsa.c: New file, from GNU gettext.
48450
48451 2004-01-18  Karl Berry  <karl@gnu.org>
48452
48453         * doc/gpl.texi, doc/lgpl.texi: new files.
48454
48455 2004-01-18  Karl Berry  <karl@gnu.org>
48456
48457         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
48458         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
48459
48460 2004-01-15  Paul Eggert  <eggert@twinsun.com>
48461
48462         Merge from coreutils.
48463
48464         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
48465         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
48466         (gl_DEFAULT_POSIX2_VERSION): Move
48467         the documentation from 'configure' into 'config.hin',
48468         so that 'configure --help' isn't burdened by it and
48469         we don't have to worry about its formatting there.
48470         Reword the documentation so that it's more succinct
48471         and can be run together into a single paragraph.
48472         * m4/same.m4 (gl_SAME): Check for pathconf.
48473
48474 2004-01-15  Paul Eggert  <eggert@twinsun.com>
48475
48476         Merge from coreutils.
48477
48478         * lib/posixver.c: Include posixver.h.
48479
48480         * lib/same.c: Include <stdbool.h>, <limits.h>.
48481         (_POSIX_NAME_MAX): Define if not defined.
48482         (MIN): New macro.
48483         (same_name): If file names are silently truncated, report
48484         that the file names are the same if they are the same after
48485         the silent truncation.
48486
48487         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
48488         conversion function.
48489         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
48490         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
48491         longer needed.
48492
48493 2004-01-15  Jim Meyering  <jim@meyering.net>
48494
48495         Merge from coreutils.
48496
48497         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
48498         if no library is required.
48499         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
48500         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
48501         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
48502         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
48503         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
48504         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
48505         value, $ac_cv_search_crypt, if it's "none required".
48506         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
48507         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
48508         not gl_FUNC_GETLOADAVG.
48509         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
48510         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
48511
48512 2004-01-15  Jim Meyering  <jim@meyering.net>
48513
48514         Merge from coreutils.
48515
48516         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
48517         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
48518         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
48519
48520         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
48521         optional configure-time default.
48522
48523         * lib/version-etc.c (version_etc_copyright): Update copyright date.
48524
48525         * lib/xreadlink.c (xreadlink): Correct outdated comment.
48526
48527 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
48528
48529         Merge from coreutils.
48530
48531         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
48532         value, $ac_cv_search_nanosleep, if it's "none required".
48533
48534 2004-01-14  Paul Eggert  <eggert@twinsun.com>
48535
48536         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
48537         with like-named macro in fnmatch.c.
48538         (EXT): Use an internal constant instead.
48539
48540         Merge fnmatch patches from glibc.
48541         * lib/fnmatch.c (mbsinit): Remove define.
48542         Add libc_hidden_ver (__fnmatch, fnmatch).
48543         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
48544         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
48545
48546 2004-01-14  Karl Berry  <karl@gnu.org>
48547
48548         * config/install-sh: update from automake.
48549
48550 2004-01-13  Karl Berry  <karl@gnu.org>
48551
48552         * config/install-sh: update from automake.
48553
48554 2004-01-09  Karl Berry  <karl@gnu.org>
48555
48556         * config/install-sh: update from automake.
48557
48558 2004-01-05  Karl Berry  <karl@gnu.org>
48559
48560         * config/config.{sub,guess}: update from config.
48561
48562 2003-12-31  Karl Berry  <karl@gnu.org>
48563
48564         * config/depcomp: update from automake.
48565
48566 2003-12-14  Karl Berry  <karl@gnu.org>
48567
48568         * lib/config.charset: update from gettext-runtime.
48569
48570 2003-12-03  Paul Eggert  <eggert@twinsun.com>
48571
48572         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
48573         Bug reported by Alfred M. Szmidt.
48574
48575 2003-12-03  Bruno Haible  <bruno@clisp.org>
48576
48577         * m4/gettext.m4: Upgrade from gettext-0.13.
48578         * m4/po.m4: Upgrade from gettext-0.13.
48579         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
48580         * m4/intmax.m4: New file, from gettext-0.13.
48581         * m4/printf-posix.m4: New file, from gettext-0.13.
48582
48583 2003-11-29  Karl Berry  <karl@gnu.org>
48584
48585         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
48586
48587 2003-11-25  Paul Eggert  <eggert@twinsun.com>
48588             Bruno Haible  <bruno@clisp.org>
48589
48590         * lib/printf-parse.h: Don't include sys/types.h.
48591         (ARG_NONE): New macro.
48592         (char_directive): Change type of *arg_index fields to size_t.
48593         * lib/printf-parse.c: Don't include sys/types.h.
48594         (SSIZE_MAX): Remove macro.
48595         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
48596         Remove unnecessary overflow check.
48597         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
48598         fields.
48599
48600 2003-11-25  Bruno Haible  <bruno@clisp.org>
48601
48602         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
48603
48604 2003-11-25  Bruno Haible  <bruno@clisp.org>
48605
48606         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
48607         gt_TYPE_SSIZE_T.
48608
48609 2003-11-24  Paul Eggert  <eggert@twinsun.com>
48610
48611         * modules/alloca: Remove dependency on xalloc.
48612
48613 2003-11-24  Paul Eggert  <eggert@twinsun.com>
48614
48615         * lib/alloca.c: Remove dependency on xalloc module.
48616         (xalloc_die): Remove.
48617         (memory_full) [!defined emacs]: New macro.
48618         [!defined emacs]: Don't include xalloc.h.
48619         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
48620         address arithmetic overflows.  Change datatypes a bit to avoid
48621         unnecessary casts.
48622
48623 2003-11-22  Jim Meyering  <jim@meyering.net>
48624
48625         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
48626         s/size/size_t/.
48627
48628 2003-11-21  Karl Berry  <karl@gnu.org>
48629
48630         * config/config.{sub,guess}: update from config.
48631
48632 2003-11-18  Karl Berry  <karl@gnu.org>
48633
48634         * config/config.{sub,guess}: update from config.
48635
48636         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
48637
48638 2003-11-17  Paul Eggert  <eggert@twinsun.com>
48639
48640         * README: Mention that S+T cannot overflow if S is the size of
48641         an existing object and T is sufficiently small.
48642
48643 2003-11-17  Jim Meyering  <jim@meyering.net>
48644
48645         On systems without utime and without a utimes function capable of
48646         dealing with a NULL struct utimbuf* argument, this utime replacement
48647         could -- in unusual circumstances -- leak a file descriptor.
48648         * lib/utime.c: Include <unistd.h> and <errno.h>.
48649         (utime_null): Be sure to close `fd' and to preserve errno.
48650         Reported by Geoff Collyer via Arnold Robbins.
48651
48652 2003-11-17  Bruno Haible  <bruno@clisp.org>
48653
48654         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
48655         (Depends-on): Add xsize.
48656
48657 2003-11-17  Bruno Haible  <bruno@clisp.org>
48658
48659         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
48660
48661 2003-11-17  Bruno Haible  <bruno@clisp.org>
48662
48663         * lib/vasnprintf.c (alloca): Remove fallback definition.
48664         (freea): Remove definition.
48665         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
48666         Reported by Paul Eggert.
48667
48668 2003-11-16  Paul Eggert  <eggert@twinsun.com>
48669             Bruno Haible  <bruno@clisp.org>
48670
48671         Protect against address arithmetic overflow.
48672         * lib/printf-args.h: Include stddef.h.
48673         (arguments): Change type of field 'count' to size_t.
48674         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
48675         'unsigned int' where appropriate.
48676         * lib/printf-parse.h: Include sys/types.h.
48677         (char_directive): Change type of *arg_index fields to ssize_t.
48678         (char_directives): Change type of fields 'count', max_*_length to
48679         size_t.
48680         * lib/printf-parse.c: Include sys/types.h and xsize.h.
48681         (SSIZE_MAX): Define fallback value.
48682         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
48683         instead of 'int' where appropriate. Check a_allocated, d_allocated
48684         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
48685         * lib/vasnprintf.c: Include xsize.h.
48686         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
48687         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
48688         overflow. Avoid wraparound when converting a width or precision from
48689         decimal to binary.
48690
48691 2003-11-16  Bruno Haible  <bruno@clisp.org>
48692
48693         Update from GNU gettext.
48694         * lib/printf-parse.c: Generalize to it can be compiled for wide
48695         strings.
48696         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
48697         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
48698         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
48699         SNPRINTF): New macros.
48700         Don't include <alloca.h> if the file is used inside libintl.
48701         (local_wcslen): New function, for Solaris 2.5.1.
48702         (VASNPRINTF): Use it instead of wcslen.
48703
48704 2003-11-16  Bruno Haible  <bruno@clisp.org>
48705
48706         * lib/xsize.h (xmax): New function.
48707         (xsum, xsum3, xsum4): Declare as "pure" functions.
48708
48709 2003-11-12  Paul Eggert  <eggert@twinsun.com>
48710
48711         * modules/xalloc (Files): Undo latest change, since xalloc.h
48712         no longer needs SIZE_MAX or PTRDIFF_MAX.
48713
48714 2003-11-12  Paul Eggert  <eggert@twinsun.com>
48715
48716         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
48717         gl_PTRDIFF_MAX.
48718
48719 2003-11-12  Paul Eggert  <eggert@twinsun.com>
48720
48721         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
48722         "return", to pacify some unknown compiler.  Problem reported
48723         by Joerg Schilling.
48724
48725 2003-11-12  Paul Eggert  <eggert@twinsun.com>
48726
48727         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
48728         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
48729         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
48730         heuristic is just as accurate as far as we know, and it removes a
48731         dependency on size_max.m4 and ptrdiff_max.m4.
48732
48733 2003-11-11  Bruno Haible  <bruno@clisp.org>
48734
48735         * modules/xsize (Files): Add m4/size_max.m4.
48736         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
48737
48738 2003-11-11  Bruno Haible  <bruno@clisp.org>
48739
48740         * m4/size_max.m4: New file.
48741         * m4/ptrdiff_max.m4: New file.
48742         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
48743         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
48744         (gl_XALLOC): Invoke it.
48745
48746 2003-11-11  Bruno Haible  <bruno@clisp.org>
48747
48748         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
48749         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
48750         defined.
48751
48752 2003-11-10  Paul Eggert  <eggert@twinsun.com>
48753
48754         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
48755         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
48756         rejected some allocations of exactly SIZE_MAX - 2 bytes.
48757         From Bruno Haible.
48758         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
48759         not (size_t) -1, since it's defined here.
48760
48761 2003-11-09  Karl Berry  <karl@gnu.org>
48762
48763         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
48764
48765 2003-11-06  Paul Eggert  <eggert@twinsun.com>
48766
48767         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
48768         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
48769         Reject sizes of exactly SIZE_MAX bytes.
48770         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
48771         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
48772
48773 2003-11-05  Bruno Haible  <bruno@clisp.org>
48774
48775         * lib/xsize.h: Include limits.h, to avoid a possible collision with
48776         SIZE_MAX defined in <limits.h> on Solaris.
48777
48778 2003-11-04  Jim Meyering  <jim@meyering.net>
48779
48780         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
48781         variable names, rather than @VAR@.
48782         * modules/poll: Likewise.
48783
48784 2003-11-04  Bruno Haible  <bruno@clisp.org>
48785
48786         * modules/xsize: New file.
48787         * modules/linebreak: Depend on xsize.
48788         * MODULES.html.sh (func_all_modules): Add xsize.
48789
48790 2003-11-04  Bruno Haible  <bruno@clisp.org>
48791
48792         * m4/xsize.m4: New file.
48793
48794 2003-11-04  Bruno Haible  <bruno@clisp.org>
48795
48796         * lib/xsize.h: New file.
48797         * lib/linebreak.c: Include xsize.h.
48798         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
48799         argument for overflow.
48800         Suggested by Paul Eggert.
48801
48802 2003-11-03  Karl Berry  <karl@gnu.org>
48803
48804         * config/config.{guess,sub}: update from config.
48805
48806 2003-11-03  Jim Meyering  <jim@meyering.net>
48807
48808         * modules/userspec (lib_SOURCES): Add userspec.h.
48809         (Include): Add "userspec.h".
48810         Improve description.
48811
48812 2003-11-03  Jim Meyering  <jim@meyering.net>
48813
48814         * lib/userspec.c: Include "userspec.h".
48815         * lib/userspec.h: New file.
48816
48817 2003-11-03  Bruno Haible  <bruno@clisp.org>
48818
48819         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
48820
48821 2003-11-03  Bruno Haible  <bruno@clisp.org>
48822
48823         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
48824         available, to avoid (extremely rare) race condition.
48825         Suggested by Paul Eggert.
48826
48827 2003-11-02  Karl Berry  <karl@gnu.org>
48828
48829         * config/srclist.txt (vasprintf.c): sync broken, sigh.
48830
48831 2003-10-31  Paul Eggert  <eggert@twinsun.com>
48832
48833         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
48834         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
48835         (read_filesystem_list): Set and use me_type_malloced.
48836         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
48837         whatever the type happens to be), for brevity and consistency.
48838         Check for size calculation overflow on Alphas running OSF/1.
48839
48840 2003-10-31  Jim Meyering  <jim@meyering.net>
48841
48842         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
48843
48844         * lib/linebuffer.c: Include <string.h> for declaration of memset.
48845
48846 2003-10-30  Paul Eggert  <eggert@twinsun.com>
48847             Bruno Haible  <bruno@clisp.org>
48848
48849         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
48850         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
48851
48852 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
48853
48854         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
48855         netbsd*-gnu*.  Suggested by Robert Millan.
48856
48857 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48858
48859         * modules/group-member: Depend on stdbool.
48860
48861 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48862
48863         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
48864
48865 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48866
48867         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
48868         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
48869         after the 'gnu' in these cases.  This fixes some bugs in the
48870         previous change, and is based on suggestions by Robert Millan.
48871
48872 2003-10-29  Paul Eggert  <eggert@twinsun.com>
48873
48874         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
48875         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
48876         no longer needed.
48877         * lib/quotearg.c (quotearg_n_options): Use it.
48878         * lib/group-member.c: Include <stdbool.h>.
48879         (free_group_info): Arg is now const *; don't free arg.
48880         (get_group_info): Now returns bool and accepts struct group_info *,
48881         rather than returning a malloc'ed struct group_info *.
48882         All uses changed.  Check for overflow in internal size calculation.
48883
48884         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
48885         rather than xmalloc/xrealloc.
48886         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
48887         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
48888         conformance bug: the old code used a pointer after freeing the
48889         storage that it addressed.
48890         * lib/hash.c (hash_initialize): Simplify the code by using
48891         xalloc_oversized rather than doing it by hand.
48892         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
48893         the buffer preserved.  Use free and xmalloc instead.
48894         * lib/quotearg.c (quotearg_n_options): Likewise.
48895         Use a simpler test for size overflow.  Don't use xalloc_oversized
48896         because unsigned int might be wider than size_t (!); this suggests
48897         that we should switch from unsigned int to size_t for slot numbers.
48898
48899 2003-10-28  Paul Eggert  <eggert@twinsun.com>
48900
48901         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
48902         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
48903         NetBSD kernels.  Requested by Richard Stallman.
48904
48905 2003-10-27  Paul Eggert  <eggert@twinsun.com>
48906
48907         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
48908         to allocate the returned structure.  Do not allocate a subarray,
48909         as x2nrealloc will do that.
48910         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
48911         instead of xnrealloc.
48912         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
48913
48914 2003-10-27  Bruno Haible  <bruno@clisp.org>
48915
48916         * lib/stdbool_.h: Better support for BeOS.
48917
48918 2003-10-26  Paul Eggert  <eggert@twinsun.com>
48919
48920         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
48921         now uses inline.
48922
48923 2003-10-26  Paul Eggert  <eggert@twinsun.com>
48924
48925         * lib/xalloc.h (xalloc_oversized): New static inline function, for
48926         callers that want to do their own size-overflow checking.  Include
48927         <stdbool.h>, since xalloc_oversized returns bool.
48928         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
48929         to use xalloc_oversized.
48930
48931         Add two functions x2realloc, x2nrealloc, for programs that grow
48932         arrays dynamically by doubling their sizes.
48933         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
48934         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
48935         New functions.
48936
48937         Port to C99 semantics for 'inline' of external functions.
48938         Bug reported by Bruno Haible.
48939         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
48940         with the old contents of xnmalloc.
48941         (xnmalloc, xmalloc): Use it.
48942         (xnrealloc_inline): New static inline function,
48943         with the old contents of xnrealloc.
48944         (xnrealloc, xrealloc): Use it.
48945
48946         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
48947         that.
48948
48949 2003-10-26  Karl Berry  <karl@gnu.org>
48950
48951         * config/srclist.txt (COPYING.DOC): no longer available from
48952         /gd/gnuorg; don't know where the ultimate source is.
48953
48954 2003-10-25  Paul Eggert  <eggert@twinsun.com>
48955
48956         Fix several address-calculation bugs in the hash modules,
48957         plus some minor code cleanup.
48958
48959         * lib/hash.h: Include <stdbool.h>, for bool.
48960         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
48961         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
48962         hash_get_n_entries, hash_get_max_bucket_length,
48963         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
48964         hash_rehash): Use size_t rather than unsigned.
48965         * lib/hash.c (struct hash_table, hash_get_n_buckets,
48966         hash_get_n_buckets_used, hash_get_n_entries,
48967         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
48968         hash_get_entries, hash_do_for_each, hash_string, is_prime,
48969         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
48970         Likewise.
48971         (SIZE_MAX): Define if not defined.
48972         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
48973         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
48974         hash_print):
48975         Use const * when possible.
48976         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
48977         (check_tuning): Fix bug: if tuning parameters were very close to
48978         0 or 1, rounding errors could have caused subscript violations.
48979         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
48980         (hash_initialize): Add 'fail:' label
48981         to free table and return NULL, and use it to simplify code.
48982         Use calloc rather than clearing the storage ourself.
48983         (hash_initialize, hash_rehash): Check for arithmetic overflow in
48984         buffer size calculations.
48985         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
48986         Include <stddef.h>, for size_t.
48987         * lib/hash-pjw.c (hash_pjw): Likewise.
48988         Switch to method described by Bruno Haible.
48989         Include <limits.h>, for CHAR_BIT.
48990         (SIZE_BITS): New macro.
48991
48992 2003-10-23  Paul Eggert  <eggert@twinsun.com>
48993
48994         * m4/getline.m4 (AM_FUNC_GETLINE):
48995         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
48996         hosts.  Problem reported by Derek Robert Price in
48997         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
48998         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
48999         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
49000
49001 2003-10-21  Paul Eggert  <eggert@twinsun.com>
49002
49003         * lib/getndelim2.c (getndelim2): When size calculation overflows,
49004         ceiling the allocation at NMAX bytes rather than silently
49005         discarding input bytes before NMAX is reached.  This makes
49006         a difference only if NMAX exceeds SIZE_MAX / 2.
49007
49008         * lib/obstack.c: Merge from glibc.
49009         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
49010         Add libc_hidden_def (_obstack_newchunk).
49011         (_obstack_free) [! defined _LIBC]: Remove.
49012         [defined _LIBC]: Make a strong alias from obstack_free, rather than
49013         a clone of the function body.
49014         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
49015         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
49016
49017         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
49018         glibc.
49019         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
49020         arg to memcpy.
49021
49022         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
49023         (obstack_ptr_grow_fast, obstack_int_grow_fast):
49024         Don't use lvalue casts, as GCC plans to remove support for them
49025         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
49026         was also present in the non-GCC version, indicating that this
49027         code had always been buggy and had never been widely used.
49028         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
49029         Use the fast variant of each macro, rather than copying the
49030         definiens of the fast variant; that way, we'll be more likely to
49031         catch future bugs in the fast variants.
49032
49033 2003-10-20  Bruno Haible  <bruno@clisp.org>
49034
49035         * modules/wait-process: New file.
49036         * MODULES.html.sh (func_all_modules): Add wait-process.
49037
49038 2003-10-20  Bruno Haible  <bruno@clisp.org>
49039
49040         * m4/wait-process.m4: New file.
49041
49042 2003-10-20  Bruno Haible  <bruno@clisp.org>
49043
49044         * lib/wait-process.h: New file, from GNU gettext.
49045         * lib/wait-process.c: New file, from GNU gettext.
49046
49047 2003-10-19  Jim Meyering  <jim@meyering.net>
49048
49049         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
49050         HPUX 10.20.
49051
49052 2003-10-18  Karl Berry  <karl@gnu.org>
49053
49054         * config/config.guess: update from config.
49055
49056 2003-10-16  Paul Eggert  <eggert@twinsun.com>
49057
49058         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
49059         (getgroups): First arg is int, not size_t.
49060         Don't let 'free' mangle errno.
49061
49062 2003-10-16  Paul Eggert  <eggert@twinsun.com>
49063
49064         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
49065
49066 2003-10-16  Karl Berry  <karl@gnu.org>
49067
49068         * config/config.{guess,sub}: update from config.
49069
49070 2003-10-16  Jim Meyering  <jim@meyering.net>
49071
49072         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
49073         memcpy.
49074
49075 2003-10-15  Paul Eggert  <eggert@twinsun.com>
49076
49077         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
49078         (SIZE_MAX): Remove.
49079         (new_exclude, add_exclude_file): Initial size no longer needs to
49080         be a power of 2.
49081         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
49082         our own address arithmetic overflow checking.
49083
49084         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
49085         (fnmatch): Do not alloca more than 2000 wide characters;
49086         instead, use malloc for large buffers.
49087         Check for address arithmetic overflow, and return -1
49088         with errno set to ENOMEM in that case.
49089         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
49090         (NEW_PATTERN): Do not alloca more than 8000 bytes;
49091         instead, return -1.  Check for address arithmetic overflow.
49092
49093 2003-10-14  Paul Eggert  <eggert@twinsun.com>
49094
49095         Handle invalid suffixes and overflow independently, so that
49096         callers can treat them independently as needed.  Fix some bugs in
49097         suffix handling, e.g., "100k@" was not diagnosed as an invalid
49098         suffix for a human-readable blocksize.  The major caller-visible
49099         change is the addition of a new
49100         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
49101         that both overflow and suffix chars were found.
49102
49103         * lib/human.c (humblock): Don't check separately for invalid suffix
49104         char; that is xstrtoumax's job (now that its bug is fixed).
49105         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
49106         INTMAX_MAX]: New macros.
49107         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
49108         TYPE_MAXIMUM): New macros.
49109         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
49110         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
49111         if overflow occurs, as it's what __strtol does and it's more useful
49112         in practice.
49113         (__xstrtol): If __strtol reports some error other than ERANGE,
49114         reflect it to the caller as LONGINT_INVALID.  If it reports
49115         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
49116         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
49117         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
49118         value.
49119         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
49120         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
49121         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
49122         [defined UINTMAX_MAX]: New macros.
49123
49124 2003-10-14  Bruno Haible  <bruno@clisp.org>
49125
49126         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
49127
49128 2003-10-14  Bruno Haible  <bruno@clisp.org>
49129
49130         * m4/sig_atomic_t: New file, from GNU gettext.
49131         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
49132
49133 2003-10-14  Bruno Haible  <bruno@clisp.org>
49134
49135         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
49136         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
49137         Also use volatile where needed.
49138
49139 2003-10-12  Paul Eggert  <eggert@twinsun.com>
49140
49141         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
49142         Change maintainer from Bruno Haible to 'all'.
49143
49144 2003-10-12  Paul Eggert  <eggert@twinsun.com>
49145
49146         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
49147
49148 2003-10-12  Paul Eggert  <eggert@twinsun.com>
49149
49150         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
49151         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
49152         and define in terms of the other primitives.
49153         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
49154         (SIZE_MAX): Define if not already defined.
49155         (array_size_overflow): New function.
49156         (xalloc_die): Abort instead of exiting if 'error' returns.
49157         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
49158         (xmalloc, xrealloc): Use them.
49159         (xcalloc): Check for address arithmetic overflow.
49160         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
49161         a bit faster than strcpy.
49162
49163 2003-10-10  Simon Josefsson  <jas@extundo.com>
49164
49165         * modules/argp (Depends-on): Add restrict and strcase.
49166
49167 2003-10-10  Simon Josefsson  <jas@extundo.com>
49168
49169         * m4/argp.m4: Add AC_C_INLINE.
49170
49171 2003-10-08  Paul Eggert  <eggert@twinsun.com>
49172
49173         Merge getpass from libc, plus a few fixes.
49174
49175         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
49176         Include <stdbool.h>.
49177         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
49178         __fsetlocking to empty.
49179         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
49180         do include <bits/libc-lock.h>.
49181         Do not include <fcntl.h>; not needed.
49182         [_LIBC]: Include <wchar.h>.
49183         (NOTCANCEL_MODE): New macro.
49184         (flockfile, funlockfile) [_LIBC]: New macros.
49185         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
49186         [!_LIBC]: New macros.
49187         (call_fclose): New function.
49188         (getpass): Use it.  Save tty stream separately; this simplifies the
49189         code and makes it more reliable if stdin happens to equal stdout.
49190         Invoke __fsetlocking on tty.
49191         Handle thread cancellation if needed.
49192         Namespace cleanup (use __tcgetattr, __getline).
49193         Use bool for Booleans.
49194         [USE_IN_LIBIO]: Handle wide streams.
49195         [!_LIBC]: Unconditionally do the fseek, since we don't know what
49196         stream might go where.
49197
49198         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
49199         doesn't have to include <stdio.h> before us.
49200         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
49201         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
49202         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
49203         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
49204         if not declared, so that we can use getpass.c code from libc without
49205         rewriting it.
49206         (flockfile, ftrylockfile, funlockfile): New macros.
49207
49208 2003-10-08  Paul Eggert  <eggert@twinsun.com>
49209
49210         * modules/getpass: Depend on stdbool.
49211
49212 2003-10-08  Paul Eggert  <eggert@twinsun.com>
49213
49214         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
49215
49216 2003-10-07  Karl Berry  <karl@gnu.org>
49217
49218         * config/config.{guess,sub}: update from config.
49219
49220 2003-10-06  Jim Meyering  <jim@meyering.net>
49221             Bruno Haible  <bruno@clisp.org>
49222
49223         This lets translators provide better translations for the
49224         "Written by ..." part of --version output.
49225         * lib/version-etc.h: Include stdarg.h.
49226         (version_etc_copyright): Declare as readonly.
49227         (version_etc): Make this function variadic with a NULL-terminated list
49228         of author name strings.
49229         (version_etc_va): New declaration.
49230         * lib/version-etc.c: Include stdarg.h, stdlib.h.
49231         (version_etc_copyright): Declare as readonly.
49232         (version_etc_va): New function. Provide a different translatable string
49233         for each possible number of authors < 10. Abbreviate when there are 10
49234         authors or more.
49235         (version_etc): Make this function variadic. Call version_etc_va.
49236         Suggestion from Gary V. Vaughan.
49237
49238         * lib/long-options.h (parse_long_options): Change prototype: the
49239         authors string is moved to the end and becomes variadic.
49240         * lib/long-options.c: Include stdarg.h.
49241         (parse_long_options): Make this function variadic, too.
49242         Call version_etc_va, not version_etc.
49243
49244 2003-10-06  Bruno Haible  <bruno@clisp.org>
49245
49246         * modules/version-etc-2: Remove file.
49247         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
49248
49249 2003-10-06  Bruno Haible  <bruno@clisp.org>
49250
49251         * modules/fatal-signal: New file.
49252         * MODULES.html.sh (func_all_modules): Add fatal-signal.
49253
49254 2003-10-06  Bruno Haible  <bruno@clisp.org>
49255
49256         * m4/fatal-signal.m4: New file.
49257         * m4/signalblocking.m4: New file, from GNU gettext.
49258
49259 2003-10-06  Bruno Haible  <bruno@clisp.org>
49260
49261         * lib/version-etc-2.h: Remove file.
49262         * lib/version-etc-2.c: Remove file.
49263
49264 2003-10-06  Bruno Haible  <bruno@clisp.org>
49265
49266         * lib/fatal-signal.h: New file, from GNU gettext.
49267         * lib/fatal-signal.c: New file, from GNU gettext.
49268
49269 2003-10-05  Paul Eggert  <eggert@twinsun.com>
49270
49271         * README: Rework advice for preventing empty .o files.
49272         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
49273         not <sys/types.h>.
49274
49275 2003-10-04  Karl Berry  <karl@gnu.org>
49276
49277         * lib/argp*: update from libc.
49278
49279 2003-10-04  Karl Berry  <karl@gnu.org>
49280
49281         * config/config.{guess,sub}: update from config.
49282
49283 2003-10-02  Bruno Haible  <bruno@clisp.org>
49284
49285         * modules/lchown (Include): Add lchown.h.
49286         * modules/time_r (Include): Use "..." syntax.
49287         * modules/xgetdomainname (Include): Add xgetdomainname.h.
49288
49289 2003-10-01  Simon Josefsson  <jas@extundo.com>
49290
49291         * MODULES.html.sh (func_all_modules): Move gethostname from section
49292         'based on' to section 'lacking' POSIX:2001.
49293
49294 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
49295
49296         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
49297         to output mode on the same stream.
49298
49299 2003-09-29  Paul Eggert  <eggert@twinsun.com>
49300
49301         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
49302         Fix arg typo in previous patch.
49303
49304 2003-09-28  Jim Meyering  <jim@meyering.net>
49305
49306         * lib/error.c: Correct cpp indentation.
49307
49308 2003-09-27  Paul Eggert  <eggert@twinsun.com>
49309
49310         * modules/free: New file.
49311
49312 2003-09-27  Paul Eggert  <eggert@twinsun.com>
49313
49314         * m4/free.m4: New file.
49315
49316 2003-09-27  Paul Eggert  <eggert@twinsun.com>
49317
49318         * lib/minmax.h (MIN, MAX)
49319         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
49320         Omit the special code that used __typeof__, since we worry that
49321         it could be more trouble than it's worth.  See:
49322         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
49323         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
49324
49325         * lib/free.c: New file.
49326
49327 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
49328
49329         Trivial fixes to Makefile.am parts of module listings.
49330         * modules/strstr: Append strstr.h to lib_SOURCES.
49331         * modules/strcase: Likewise, for strcase.h.
49332
49333 2003-09-27  Karl Berry  <karl@gnu.org>
49334
49335         * config/mkinstalldirs: update from automake.
49336
49337 2003-09-26  Paul Eggert  <eggert@twinsun.com>
49338
49339         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
49340         (error_tail): Do not loop, reallocating temporary buffer, since
49341         the output cannot contain more wide characters than the input
49342         contains bytes, the size must be big enough already.  This avoids
49343         one potential size overflow calculation.  Check for size overflow
49344         when calculating temporary buffer size.  Free temporary buffer
49345         when done, if it was allocated with malloc; this plugs a memory
49346         leak.  Remove casts from void * to pointers, that are no longer
49347         needed now that we're assuming C89 or better.
49348
49349         Merge error changes from glibc.
49350
49351         * lib/error.c, error.h: Update copyright notice header to match glibc.
49352         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
49353         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
49354         Disable cancellation while printing error.
49355         * lib/error.h: Prepend __ to parameter names.
49356
49357 2003-09-26  Jim Meyering  <jim@meyering.net>
49358
49359         * lib/error.c (error_tail): Move some declarations
49360         into inner scope where the local variables are used.
49361
49362 2003-09-26  Bruno Haible  <bruno@clisp.org>
49363
49364         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
49365         stpncpy().
49366         Don't define stpncpy through config.h; it's now done through stpncpy.h.
49367
49368 2003-09-26  Bruno Haible  <bruno@clisp.org>
49369
49370         * lib/stpncpy.h (gnu_stpncpy): New declaration.
49371         (stpncpy): Define as alias for gnu_stpncpy.
49372         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
49373
49374 2003-09-25  Simon Josefsson  <jas@extundo.com>
49375
49376         * lib/xgetdomainname.h: New file.
49377         * lib/xgetdomainname.c: New file.
49378
49379 2003-09-25  Simon Josefsson  <jas@extundo.com>
49380             Bruno Haible  <bruno@clisp.org>
49381
49382         * modules/getdomainname: New file.
49383         * modules/xgetdomainname: New file.
49384         * MODULES.html.sh (func_all_modules): Add getdomainname,
49385         xgetdomainname.
49386
49387 2003-09-25  Simon Josefsson  <jas@extundo.com>
49388             Bruno Haible  <bruno@clisp.org>
49389
49390         * m4/getdomainname.m4: New file.
49391
49392 2003-09-25  Simon Josefsson  <jas@extundo.com>
49393             Bruno Haible  <bruno@clisp.org>
49394
49395         * lib/getdomainname.h: New file.
49396         * lib/getdomainname.c: New file.
49397
49398 2003-09-25  Karl Berry  <karl@gnu.org>
49399
49400         * lib/argp-fmtstream.c, argp-help.c: update from libc.
49401
49402 2003-09-25  Karl Berry  <karl@gnu.org>
49403
49404         * config/install-sh: update from automake.
49405
49406 2003-09-25  Bruno Haible  <bruno@clisp.org>
49407
49408         * modules/version-etc-2: New file, from modules/version-etc with
49409         modifications.
49410         * MODULES.html.sh (func_all_modules): Add version-etc-2.
49411
49412 2003-09-25  Bruno Haible  <bruno@clisp.org>
49413
49414         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
49415         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
49416
49417 2003-09-24  Simon Josefsson  <jas@extundo.com>
49418
49419         * modules/xgethostname: Add xgethostname.h.
49420
49421 2003-09-24  Paul Eggert  <eggert@twinsun.com>
49422
49423         * lib/linebuffer.c (freebuffer): Don't free the argument, just
49424         the buffer associated with the argument.  Bug reported by
49425         Simon Josefsson.
49426
49427 2003-09-24  Paul Eggert  <eggert@twinsun.com>
49428
49429         * README: Document assumptions that 'int' is at least 32 bits
49430         wide, that integer arithmetic is 2's complement without overflow,
49431         that there are no holes in integer values, that adding sizes of
49432         two nonoverlapping objects can't overflow, and that all-bits-zero
49433         yields scalar zero.  Fix spelling and capitalization typos.
49434
49435 2003-09-19  Karl Berry  <karl@gnu.org>
49436
49437         * lib/argp.h: update from libc.
49438
49439 2003-09-17  Paul Eggert  <eggert@twinsun.com>
49440
49441         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
49442         to avoid spurious warnings like "AC_RUN_IFELSE was called before
49443         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
49444
49445 2003-09-17  Paul Eggert  <eggert@twinsun.com>
49446
49447         * gnulib-tool: Use "test -h", not "test -L", for portability
49448         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
49449         (tags_regexp): Remove, since \| doesn't conform to POSIX.
49450         (sed_extract_prog): Issue s commands one-by-one, rather than
49451         using \| in one s command.
49452
49453 2003-09-16  Paul Eggert  <eggert@twinsun.com>
49454
49455         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
49456         input error, instead of returning NULL the next time we are called
49457         (and therefore losing track of errno).
49458
49459 2003-09-16  Bruno Haible  <bruno@clisp.org>
49460
49461         * gnulib-tool (func_create_testdir): Warn about duplicated
49462         dependencies.
49463
49464 2003-09-15  Paul Eggert  <eggert@twinsun.com>
49465
49466         * modules/argmatch, modules/fatal, modules/obstack,
49467         modules/xalloc, modules/xgethostname: Sort dependencies by
49468         importance, not alphabetically.
49469
49470 2003-09-15  Paul Eggert  <eggert@twinsun.com>
49471
49472         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
49473         fails, so that the caller gets the proper errno.
49474
49475         * lib/readutmp.c (read_utmp): Likewise.
49476         Check for fstat error.  Close stream and free storage
49477         when failing.
49478
49479 2003-09-14  Karl Berry  <karl@gnu.org>
49480
49481         * config/srclist.txt (strdup.c): disable for c89 changes.
49482
49483 2003-09-14  Jim Meyering  <jim@meyering.net>
49484
49485         * lib/getloadavg.c: Correct cpp indentation.
49486         * lib/strdup.c: Likewise.
49487         * lib/vasnprintf.c: Likewise.
49488
49489 2003-09-14  Bruno Haible  <bruno@clisp.org>
49490
49491         * modules/fwriteerror: New file.
49492         * MODULES.html.sh (func_all_modules): Add fwriteerror.
49493
49494 2003-09-14  Bruno Haible  <bruno@clisp.org>
49495
49496         * lib/fwriteerror.h: New file.
49497         * lib/fwriteerror.c: New file.
49498
49499 2003-09-12  Paul Eggert  <eggert@twinsun.com>
49500
49501         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
49502         modules/xgethostname, modules/xalloc: Depend on exit.
49503
49504 2003-09-12  Paul Eggert  <eggert@twinsun.com>
49505
49506         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
49507
49508         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
49509         and AC_MINIX, too, so that their extensions are available.
49510
49511         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
49512         This macro has been superseded by gl_BACKUPFILE.
49513
49514         More patches to assume C89 or better.
49515
49516         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
49517
49518         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
49519         unconditionally.
49520         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
49521         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
49522         Include <string.h>, <stdlib.h> unconditionally.
49523         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
49524         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
49525         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
49526         headers or for string.h.
49527         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
49528         or strtoul.
49529
49530         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
49531         headers.
49532         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
49533         * m4/userspec.m4 (gl_USERSPEC): Likewise.
49534         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
49535         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
49536         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
49537         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
49538         memcpy, memset.
49539         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
49540         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
49541         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
49542         strtol.
49543         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
49544         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
49545         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
49546         strtoul.
49547
49548 2003-09-12  Paul Eggert  <eggert@twinsun.com>
49549
49550         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
49551         * lib/obstack.c [!defined _LIBC]: Likewise.
49552         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
49553         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
49554         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
49555
49556         More changes to assume C89 or better.
49557
49558         * lib/error.c (error_tail): Assume vprintf.
49559
49560         * lib/argmatch.c (getenv): Remove decl.
49561         * lib/progreloc.c (get_full_program_name): Define via prototype.
49562         * lib/setenv.c (clearenv): Likewise.
49563         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
49564         needed.
49565         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
49566         (malloc, memcpy): Remove decls.
49567         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
49568         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
49569         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
49570         (memcpy): Remove macro.
49571         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
49572         (__P): Remove.  All uses removed.
49573         (PTR): Remove.  All uses changed to void *.
49574         (CHAR_BIT, NULL): Remove.
49575         (spaces, zeros, memset_space, memset_zero)
49576         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
49577         Remove.
49578         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
49579         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
49580         Define with prototype.
49581         Remove now-unnecessary prototype decl.
49582         (extra_args_spec): Assume ANSI C.  All uses changed.
49583         (extra_args_spec_iso): Remove.
49584         (my_strftime, emacs_strftimeu): Define via prototype.
49585         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
49586         unconditionally.
49587         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
49588         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
49589         (strtoul, strtol): Remove decls.
49590         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
49591         LONG_MAX): Remove.
49592         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
49593         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
49594         (LOCALE_PARAM_PROTO): New macro.
49595         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
49596         (INTERNAL (strtol), strtol): Define with a prototype.
49597         (PARAMS): Remove.  All uses removed.
49598         * lib/tempname.c: Include <string.h> unconditionally.
49599         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
49600         * lib/xgethostname.c (main): Define with a prototype.
49601         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
49602         Include <stdlib.h> unconditionally.
49603         (calloc, malloc, realloc, free): Remove decls.
49604         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
49605         Include <stdlib.h> unconditionally.  Sort include file names.
49606         (strtod): Remove.
49607         (xstrtod): Define with a prototype.
49608         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
49609         (strtol, strtoul): Remove decls.
49610
49611 2003-09-11  Paul Eggert  <eggert@twinsun.com>
49612
49613         More patches to assume C89 or better.
49614         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
49615         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
49616         string.h, memchr, STDC_HEADERS.
49617
49618 2003-09-11  Paul Eggert  <eggert@twinsun.com>
49619
49620         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
49621         Include <stdlib.h>, <string.h> unconditionally.
49622         Remove now-unnecessary cast to char *.
49623         * lib/strnlen.c: Include <string.h> unconditionally.
49624         * lib/yesno.c (yesno): Define with a prototype.
49625
49626 2003-09-11  Bruno Haible  <bruno@clisp.org>
49627
49628         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
49629
49630 2003-09-10  Jim Meyering  <jim@meyering.net>
49631
49632         * lib/error.c: Correct indentation of cpp directives.
49633
49634 2003-09-10  Bruno Haible  <bruno@clisp.org>
49635
49636         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
49637         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
49638         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
49639         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
49640         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
49641         <stdlib.h> and <string.h> checks.
49642         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
49643         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
49644
49645 2003-09-10  Bruno Haible  <bruno@clisp.org>
49646
49647         * lib/strcspn.c: Include <string.h> unconditionally.
49648         * lib/strpbrk.c: Include <string.h> unconditionally.
49649         * lib/strstr.c: Include <string.h> unconditionally.
49650         * lib/unicodeio.c: Include <string.h> unconditionally.
49651         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
49652         * lib/unsetenv.c: Likewise.
49653         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
49654         * lib/yesno.c: Include <stdlib.h> unconditionally.
49655         (rpmatch): Add prototype.
49656
49657 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49658
49659         More patches to assume C89 or better.
49660         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
49661         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
49662         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
49663         or for string.h.
49664         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
49665         stdlib.h.
49666         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
49667         C headers.
49668         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
49669         string.h.
49670         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
49671         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
49672         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
49673         or for string.h.
49674         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
49675         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
49676         C headers.
49677         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
49678         memcpy.
49679         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
49680         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
49681         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
49682         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
49683         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
49684         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
49685         string.h, free.
49686         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
49687         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
49688         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
49689         C headers, or for string.h.
49690         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
49691         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
49692         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
49693         headers, memory.h, stdlib.h, string.h, strings.h.
49694         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
49695         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
49696         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
49697         strchr.
49698         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
49699         headers, memory.h, string.h.
49700         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
49701         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
49702         free.
49703         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
49704         headers.
49705         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
49706         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
49707         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
49708         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
49709         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
49710
49711 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49712
49713         More K&R removal.
49714
49715         * lib/acosl.c (main): Use a prototype.
49716         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
49717         tanl.c: Likewise.
49718
49719         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
49720
49721         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
49722         (getopt, etopt_long, getopt_long_only, _getopt_internal)
49723         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
49724         with a prototype.
49725         * lib/getopt.c (const): Remove macro.
49726         Include <string.h> unconditionally.
49727         (my_index): Remove; all uses changed to strchr.
49728         (strlen): Remove decl.
49729         (exchange): Remove forward decl; no longer needed.
49730         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
49731         Define with prototype.
49732         * lib/getopt1.c (const): Remove macro.
49733         (getopt_long, getopt_long_only, main): Define with prototype.
49734
49735         * lib/getugroups.c: Include <string.h> unconditionally.
49736
49737         * lib/getusershell.c: Include <stdlib.h> unconditionally.
49738         (getusershell, setusershell, endusershell, readname, main):
49739         Define with prototypes.
49740
49741         * lib/group-member.c: Include group-member.h first.
49742         Include <stdlib.h> unconditionally.
49743
49744         * lib/hard-locale.c: Include hard-locale.h first.
49745         Include <stdlib.h>, <string.h> unconditionally.
49746
49747         * lib/hash.c (free, malloc): Remove decls.
49748         Include <stdlib.h> unconditionally.
49749
49750         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
49751         (getenv): Do not declare.
49752
49753         * lib/idcache.c: Include <string.h> unconditionally.
49754
49755         * lib/long-options.c: Include long-options.h first, to test interface.
49756         Include <stdlib.h> unconditionally.
49757
49758         * lib/makepath.c: Include makepath.h first, to test interface.
49759         Include <stdlib.h> and <string.h> unconditionally.
49760
49761         * lib/linebuffer.c: Include <stdlib.h>.
49762         (free): Remove decl.
49763
49764         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
49765         stddef.h. rpl_malloc returns void *, not char *.
49766         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
49767         prototype.
49768
49769         * lib/md5.h: Include <limits.h> unconditionally.
49770         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
49771         (__P): Remove; all uses removed.
49772         * lib/md5.c: Include "md5.h" first.
49773         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
49774         md5_buffer, md5_process_bytes, md5_process_block):
49775         Define with prototypes.
49776         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
49777         * lib/sha.c: Include "sha.h" first.
49778         Include <stdlib.h>, <string.h> unconditionally.
49779
49780         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
49781         * lib/memcmp.c (__ptr_t): Likewise.
49782         * lib/memrchr.c (__ptr_t): Likewise.
49783         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
49784         Include <string.h> unconditionally.
49785         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
49786         * lib/memchr.c: Include <stdlib.h> unconditionally.
49787         * lib/memchr.c (LONG_MAX): Remove.
49788         * lib/memrchr.c (LONG_MAX): Likewise.
49789         * lib/memchr.c (__memchr): Define via a prototype.
49790         * lib/memrchr.c (__memrchr): Likewise.
49791         * lib/memcmp.c (__P): Remove, and remove all uses.
49792         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
49793         Remove forward decls; no longer needed.
49794         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
49795         Use types required by C89 in prototype.
49796
49797         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
49798         * lib/savedir.c: Likewise.
49799         * lib/mkdir.c (free): Remove decl.
49800         * lib/rmdir.c (rmdir): Define with a prototype.
49801         * lib/savedir.c: Include savedir.h first, to test interface.
49802
49803         * lib/mktime.c (STDC_HEADERS): Remove.
49804         Include <stdlib.h>, <string.h> unconditionally.
49805
49806         * lib/modechange.c: Include <stdlib.h> unconditionally.
49807         (malloc): Remove decl.
49808
49809         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
49810         (free): Remove decl.
49811
49812         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
49813         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
49814         (This type really should be intptr_t, but that's a C99ism.)
49815         (_obstack_memcpy): Remove: all uses changed to memcpy.
49816         Include <string.h> unconditionally.
49817         (struct obstack): Assume __STDC__ for types of members
49818         chunkfun, freefun, extra_arg.
49819         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
49820         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
49821         obstack_begin, obstack_specify_allocation,
49822         obstack_specify_allocation_with_arg, obstack_chunkfun,
49823         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
49824         Remove unprototyped decls and the macros that use them.
49825         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
49826         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
49827         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
49828         (defined __STDC__ && __STDC__)]:
49829         Remove nonprototyped code.
49830         Include <stdlib.h> unconditionally.
49831         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
49832         _obstack_allocated_p, _obstack_free, obstack_free,
49833         _obstack_memory_used, print_and_abort):
49834         Define using prototypes.
49835         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
49836         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
49837         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
49838         obstack_next_free, obstack_object_size, obstack_room) [0]:
49839         Remove unused, unprototyped code.
49840
49841         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
49842
49843         * lib/physmem.c (physmem_total, physmem_available, main): Define
49844         with prototypes.
49845
49846         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
49847         (main): Define with a prototype.
49848
49849         * lib/posixver.c (getenv): Remove decl.
49850
49851         * lib/putenv.c (malloc): Returns void *, not char *.
49852         Include <string.h> unconditionally.
49853         (strchr, memcpy, NULL): Do not define.
49854
49855         * lib/readtokens.c: Include readtokens.h first, to test interface.
49856         Include <stdlib.h>, <string.h> unconditionally.
49857         (init_tokenbuffer): Define with a prototype.
49858
49859         * lib/regex.c (PARAMS): Remove.  All uses removed.
49860         All uses of _RE_ARGS removed, too.
49861         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
49862         unconditionally.
49863         (bzero): Assume memset exists.
49864         (memcmp, memcpy, NULL): Remove.
49865         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
49866         char, or assignments to local vars of type signed char.
49867         (init_syntax_once, PREFIX(extract_number_and_incr),
49868         PREFIX(print_partial_compiled_pattern),
49869         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
49870         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
49871         PREFIX(regex_grow_registers), PREFIX(regex_compile),
49872         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
49873         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
49874         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
49875         wcs_compile_range, byte_compile_range, truncate_wchar,
49876         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
49877         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
49878         count_mbs_length, wcs_re_match_2_internal,
49879         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
49880         PREFIX(alt_match_null_string_p),
49881         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
49882         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
49883         regfree, PREFIX(extract_number)): Define with prototype.  Remove
49884         now-unnecessary declaration, if any.
49885         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
49886         regcomp, regexec):
49887         Remove now-unnecessary casts among pointer types.
49888         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
49889
49890         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
49891         (free): Remove decl.
49892
49893         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
49894
49895         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
49896         (free): Remove decl.
49897
49898         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
49899         * lib/xgetcwd.c: Likewise.
49900
49901         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
49902         (free): Remove decl.
49903
49904         * lib/strchrnul.c (strchrnul): Define with a prototype.
49905         Fix bug: c_in was not converted to char before searching.
49906
49907         The following changes are not K&R related:
49908
49909         * lib/group-member.h: Include <sys/types.h>, so that this file is
49910         self-contained.
49911         * lib/makepath.h: Likewise.
49912
49913         * lib/getusershell.c (readname, default_index, line_size, readname):
49914         Use size_t, not int, for sizes.
49915         (readname): If the size overflows, report an error instead of
49916         looping forever.
49917
49918 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49919
49920         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
49921         libc.
49922
49923 2003-09-09  Paul Eggert  <eggert@twinsun.com>
49924
49925         * README: New section: portability guidelines.
49926
49927 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
49928
49929         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
49930         C89 spec.
49931
49932 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
49933
49934         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
49935
49936 2003-09-08  Paul Eggert  <eggert@twinsun.com>
49937
49938         Assume C89 or better; remove K&R cruft.
49939         A few of these changes were first proposed by Derek Robert Price
49940         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
49941
49942         * lib/addext.c: Include <string.h> unconditionally.
49943         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
49944         Don't declare getenv or malloc.
49945
49946         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
49947         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
49948         (NULL): Remove.
49949         (find_stack_direction, alloca): Use prototypes.
49950
49951         * lib/atexit.c (atexit): Define using a prototype.
49952
49953         * lib/basename.c, dirname.c, stripslash.c:
49954         Include <string.h> unconditionally.
49955
49956         * lib/bcopy.c: Include <stddef.h>.
49957         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
49958
49959         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
49960
49961         * lib/error.h (error, error_at_line, error_print_progname)
49962         [! (defined (__STDC__) && __STDC__)]: Remove decls.
49963         * lib/error.c: Include error.h first, to check interface.
49964         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
49965         (VA_START): Remove; all uses changeed to va_start.
49966         (exit, strerror): Remove decls.
49967         (error_print_progname): Prototype uncondionally.
49968         Don't include <errno.h>; no longer needed.
49969         (private_strerror): Remove.
49970         (error_tail): Always define.
49971         (error, error_at_line): Assume C89 or better; always use prototypes.
49972         * lib/fatal.c: Include "fatal.h" first, to test interface.
49973         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
49974         (VA_START): Remove; all uses changed to va_start.
49975         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
49976         this case.
49977         (exit): Remove decl.
49978         (fatal): Prototype unconditionally.  Assume va_start works.
49979         Abort at end, to pacify gcc.
49980
49981         * lib/euidaccess.c (main): Define with a prototype.
49982
49983         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
49984
49985         * lib/exitfail.c: Include <stdlib.h> unconditionally.
49986
49987         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
49988         prototypes.
49989         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
49990         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
49991         (getenv): Remove decl.
49992         (fnmatch): Define using a prototype.
49993         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
49994         (FCT): Define using a prototype.
49995
49996         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
49997
49998         * lib/gethostname.c: Include <stddef.h>.
49999         (gethostname): Define with prototype.  Length is size_t, not int.
50000
50001 2003-09-08  Paul Eggert  <eggert@twinsun.com>
50002
50003         Assume C89 or better; remove K&R cruft.
50004         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
50005         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
50006         string.h, getenv, malloc.
50007         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
50008         headers.
50009         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
50010         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
50011         do not check for strerror.
50012         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
50013         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
50014         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
50015         do not check for doprnt or vprintf.
50016         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
50017         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
50018
50019 2003-09-08  Paul Eggert  <eggert@twinsun.com>
50020
50021         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
50022         getversion.c should have been removed then, but was accidentally
50023         preserved.
50024
50025         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
50026         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
50027
50028 2003-09-08  Karl Berry  <karl@gnu.org>
50029
50030         * config/config.sub, config.guess, srclistvars.sh: update from savannah
50031                 config, forget about prep.
50032
50033         * config/depcomp, missing: update from automake.
50034
50035 2003-09-07  Paul Eggert  <eggert@twinsun.com>
50036
50037         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
50038         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
50039
50040 2003-09-07  Paul Eggert  <eggert@twinsun.com>
50041
50042         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
50043         copy_tm_result.  Bug reported by Simon Josefsson in
50044         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
50045
50046 2003-09-06  Paul Eggert  <eggert@twinsun.com>
50047
50048         * m4/time_r.m4: New file.
50049         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
50050         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
50051         is. Check for timegm declaration.
50052         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
50053         Do not check for gmtime_r.
50054         Replace mktime if __mktime_internal does not exist and if mktime
50055         hasn't been replaced already.
50056
50057 2003-09-06  Paul Eggert  <eggert@twinsun.com>
50058
50059         * lib/time_r.c, lib/time_r.h: New files.
50060
50061         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
50062         __localtime_r.
50063         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
50064         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
50065
50066         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
50067         __gmtime_r.
50068         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
50069         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
50070         Include <time_r.h>.
50071
50072         * lib/timegm.c: Switch to glibc implementation, with the following
50073         changes:
50074         [defined HAVE_CONFIG_H]: Include <config.h>.
50075         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
50076         (__mktime_internal) [!defined _LIBC]: New decl.
50077         (__gmtime_r) [!defined _LIBC]: New macro and function.
50078         (timegm): Use a prototype, since gnulib assumes C89.
50079         Do not bother declaring tmp to be const, as it's not really usefu.
50080         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
50081         (timegm): Declare only if HAVE_DECL_TIMEGM.
50082
50083 2003-09-06  Paul Eggert  <eggert@twinsun.com>
50084
50085         * MODULES.html.sh (func_all_modules): Add time_r.
50086         * modules/time_r: New file.
50087         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
50088         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
50089
50090 2003-09-03  Paul Eggert  <eggert@twinsun.com>
50091
50092         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
50093         Bug reported by Lute Kamstra in
50094         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
50095
50096         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
50097         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
50098         course with correspondingly smaller numbers for tomorrow and
50099         yesterday.  From Tadayoshi Funaba.  Originally installed into
50100         sh-utils on 1999-08-07, but the patch got lost (I guess during the
50101         coreutils merge?).
50102
50103 2003-08-31  Simon Josefsson  <jas@extundo.com>
50104
50105         * modules/timegm: New file.
50106         * MODULES.html.sh (func_all_modules): Add timegm.
50107
50108 2003-08-31  Simon Josefsson  <jas@extundo.com>
50109
50110         * m4/timegm.m4: New file.
50111
50112 2003-08-31  Simon Josefsson  <jas@extundo.com>
50113
50114         * lib/timegm.h: New file.
50115         * lib/timegm.c: New file.  Based on
50116         wget-1.8.2/src/http.c:mktime_from_utc.
50117
50118 2003-08-31  Karl Berry  <karl@gnu.org>
50119
50120         * lib/argp.h: update from libc.
50121
50122 2003-08-28  Bruno Haible  <bruno@clisp.org>
50123
50124         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
50125         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
50126         followed by '#define fnmatch fnmatch_posix' gives an error.
50127
50128 2003-08-28  Bruno Haible  <bruno@clisp.org>
50129
50130         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
50131         warning on QNX, which defines O_BINARY to 000000.
50132
50133 2003-08-27  Jim Meyering  <jim@meyering.net>
50134
50135         * m4/mkstemp.m4: Require that the system mkstemp be able to create
50136         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
50137         would fail after 32.  Reported by Danny Levinson.  Details here:
50138         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
50139
50140 2003-08-24  Bruno Haible  <bruno@clisp.org>
50141
50142         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
50143         MSVC7 <stdio.h> is included later.
50144
50145 2003-08-22  Simon Josefsson  <jas@extundo.com>
50146
50147         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
50148
50149 2003-08-20  Karl Berry  <karl@gnu.org>
50150
50151         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
50152
50153 2003-08-20  Bruno Haible  <bruno@clisp.org>
50154
50155         * modules/progname: New file.
50156         * MODULES.html.sh (func_all_modules): Add progname.
50157
50158 2003-08-20  Bruno Haible  <bruno@clisp.org>
50159
50160         * lib/progname.h: New file, from GNU gettext.
50161         * lib/progname.c: New file, from GNU gettext.
50162         * lib/progreloc.c: New file, from GNU gettext.
50163
50164 2003-08-19  Jim Meyering  <jim@meyering.net>
50165
50166         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
50167         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
50168
50169 2003-08-19  Bruno Haible  <bruno@clisp.org>
50170
50171         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
50172         more.
50173
50174 2003-08-19  Bruno Haible  <bruno@clisp.org>
50175
50176         * lib/xstrdup.c: Assume <string.h> exists.
50177
50178 2003-08-18  Paul Eggert  <eggert@twinsun.com>
50179
50180         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
50181         in makefile rules.
50182
50183 2003-08-18  Jim Meyering  <jim@meyering.net>
50184
50185         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
50186         * m4/lib-ld.m4: Likewise.
50187
50188 2003-08-18  Jim Meyering  <jim@meyering.net>
50189
50190         * lib/setenv.h: Indent nested cpp directive.
50191         * lib/vasnprintf.c: Remove trailing blanks.
50192
50193 2003-08-17  Simon Josefsson  <jas@extundo.com>
50194
50195         * modules/xstrndup: New file.
50196         * MODULES.html.sh (func_all_modules): Add xstrndup.
50197
50198 2003-08-17  Simon Josefsson  <jas@extundo.com>
50199
50200         * modules/argp: Fix autoconf macro name. Add more dependencies.
50201
50202 2003-08-17  Simon Josefsson  <jas@extundo.com>
50203
50204         * m4/xstrndup.m4: New file.
50205
50206 2003-08-17  Simon Josefsson  <jas@extundo.com>
50207
50208         * m4/argp.m4: New file.
50209
50210 2003-08-17  Simon Josefsson  <jas@extundo.com>
50211             Bruno Haible  <bruno@clisp.org>
50212
50213         * lib/xstrndup.h: New file.
50214         * lib/xstrndup.c: New file.
50215
50216 2003-08-17  Bruno Haible  <bruno@clisp.org>
50217
50218         * modules/strndup (Files, Include): Add lib/strndup.h.
50219
50220 2003-08-17  Bruno Haible  <bruno@clisp.org>
50221
50222         * modules/euidaccess (Files): Add lib/euidaccess.h.
50223
50224 2003-08-17  Bruno Haible  <bruno@clisp.org>
50225
50226         * lib/strndup.h: New file.
50227
50228 2003-08-17  Bruno Haible  <bruno@clisp.org>
50229
50230         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
50231         like AC_GNU_SOURCE.
50232         * modules/extensions (configure.ac): Comment out the invocation of
50233         gl_USE_SYSTEM_EXTENSIONS.
50234
50235 2003-08-16  Paul Eggert  <eggert@twinsun.com>
50236
50237         Merges from coreutils, etc.
50238         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
50239         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
50240         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
50241         fixing a typo.
50242         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
50243         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
50244
50245 2003-08-16  Paul Eggert  <eggert@twinsun.com>
50246
50247         Document merge from coreutils.
50248         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
50249         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
50250         * modules/utime: Add m4/utimes-null.m4.
50251
50252 2003-08-16  Paul Eggert  <eggert@twinsun.com>
50253
50254         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
50255         space, undoing this 2003-08-12 change:
50256         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
50257
50258 2003-08-16  Paul Eggert  <eggert@twinsun.com>
50259
50260         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
50261         strtoul.c from libc, undoing this 2003-08-12 change:
50262         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
50263
50264 2003-08-16  Jim Meyering  <jim@meyering.net>
50265
50266         Merges from coreutils.
50267         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
50268         prefix.  Adjust cache variables similarly.  Create 500 rather than
50269         just 300 files, to exercise bug on Darwin6.5, too.
50270         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
50271         $missing_dir.
50272         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
50273         AM_SYS_POSIX_TERMIOS.
50274         Reported by mkc@mathdogs.com.
50275         Also change use of $am_cv_sys_posix_termios
50276         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
50277         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
50278         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
50279         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
50280         in /proc/mounts until it finds one with matching device number.  This
50281         is unnecessary when the FILE argument *is* a mount point.  No stat call
50282         is necessary in that case.  So, disable the statvfs-testing code on
50283         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
50284         as RedHat bug# 84846.
50285         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
50286         to 1MB, so as not to render systems with no stack size limit (e.g.,
50287         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
50288         Include <unistd.h>.  On some systems,
50289         it is required for the definition of _SC_PAGESIZE.
50290
50291 2003-08-16  Jim Meyering  <jim@meyering.net>
50292
50293         Merge from coreutils.
50294         * lib/xstrtoimax.c: #else #if -> #elif.
50295         * lib/xstrtoumax.c: Likewise.
50296
50297 2003-08-16  Jim Meyering  <jim@meyering.net>
50298
50299         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
50300         * m4/utimes.m4: Removed.
50301         * m4/utimes-null.m4: Renamed from utimes.m4.
50302
50303         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
50304         to 1MB, so as not to render systems with no stack size limit (e.g.,
50305         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
50306         Include <unistd.h>.  On some systems,
50307         it is required for the definition of _SC_PAGESIZE.
50308
50309 2003-08-16  Jim Meyering  <jim@meyering.net>
50310         and Paul Eggert  <eggert@cs.ucla.edu>
50311
50312         Merges from coreutils, etc.
50313
50314         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
50315         using the latest version from cvs.  This avoids problems with #line
50316         directives using a vendor (Sun) compiler.
50317         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
50318         Don't set GETGROUPS_LIB here; now it's
50319         done via getgroups.m4's wrapper function.
50320         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
50321         rather than just in sh-util/configure.in, so that the
50322         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
50323         same.
50324         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
50325         AC_FUNC_GETLOADAVG where to find getloadavg.c.
50326         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
50327         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
50328         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
50329         Remove code that is now done by the newly-required macros.
50330         Append $(EXEEXT) to DF_PROG.
50331         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
50332         Do not invoke or require the following here,
50333         since prereq.m4 or some gnulib .m4 now does this for us:
50334         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
50335         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
50336         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
50337         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
50338         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
50339         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
50340         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
50341         AC_FUNC_OBSTACK.
50342         Do not replace the following functions, as this is now the job
50343         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
50344         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
50345         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
50346         atexit getpass, strdup, getpagesize.
50347         Replace 'raise'.
50348         Do not check for the following functions, as this is now the job
50349         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
50350         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
50351         setregid.
50352         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
50353         Check for sys/sysctl.h.
50354         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
50355         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
50356         of checking for ssize_t ourselves.
50357
50358         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
50359         Require every macro that gnulib/modules/* suggests for us.
50360         (jm_PREREQ_ADDEXT): New macro.
50361         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
50362         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
50363
50364         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
50365         (gl_PHYSMEM): Use it.
50366         Also check for `table' function.
50367         Check for new headers and functions.
50368         Add check for sys/sysmp.h.
50369         With suggestions from Kaveh Ghazi.
50370         Ignore headers that are present but cannot be compiled.  This
50371         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
50372         C 5.4.
50373
50374 2003-08-15  Paul Eggert  <eggert@twinsun.com>
50375
50376         Document merge from coreutils.
50377         * modules/userspec: Depend on posixver.
50378         * modules/strftime: Depend on tzset.
50379
50380 2003-08-15  Paul Eggert  <eggert@twinsun.com>
50381
50382         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
50383         rather than tab, after '#' in shell-script copyright notices.
50384         Suggested by Bruno Haible.
50385
50386 2003-08-15  Paul Eggert  <eggert@twinsun.com>
50387
50388         * config/srclist-update: Use three spaces, rather than tab, after '#'
50389         in shell-script copyright notices.  Suggested by Bruno Haible.
50390         Remove unnecessary parenthesization in regular expression.
50391
50392 2003-08-15  Jim Meyering  <jim@meyering.net>
50393
50394         Merge from coreutils.
50395         * lib/xgethostname.c: Include <stdlib.h>.
50396         (xghostname): Don't exit for anything other than memory-related
50397         failure; just return NULL.
50398         * lib/userspec.c: Include "posixver.h".
50399         (parse_user_spec): Accept `.' as a separator only
50400         in pre-POSIX-200112 mode.
50401         * lib/strtoimax.c: Use #elif rather than #else #if.
50402         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
50403         Remove function, now that we can rely on a working tzset function.
50404         [!_LIBC]: Ensure that the required autoconf test has been run.
50405         [!defined _NL_CURRENT && HAVE_STRFTIME]:
50406         Use underlying_strftime for %r.
50407         * lib/sha.c: Merge in some clean-up and optimization changes from
50408         glibc.
50409         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
50410         Ensure that it is a multiple of 64.
50411         Rearrange loop exit tests so as to avoid performing an
50412         additional fread after encountering an error or EOF.
50413         * lib/realloc.c: Update copyright date.
50414
50415 2003-08-15  Jim Meyering  <jim@meyering.net>
50416         and Paul Eggert  <eggert@twinsun.com>
50417
50418         Merge from coreutils.
50419         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
50420         member but strut utmpx does not.  Needed for AIX 4.3.3.
50421         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
50422
50423 2003-08-15  Jim Meyering  <jim@meyering.net>
50424         and Paul Eggert  <eggert@cs.ucla.edu>
50425
50426         Merges from coreutils, etc.
50427         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
50428         Require gl_FUNC_TZSET_CLOBBER.
50429         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
50430         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
50431         members.
50432
50433 2003-08-14  Paul Eggert  <eggert@twinsun.com>
50434
50435         Help the merge from coreutils.
50436         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
50437         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
50438         * m4/tzset.m4: Use it too.
50439
50440 2003-08-14  Paul Eggert  <eggert@twinsun.com>
50441
50442         * modules/tzset: New file.
50443
50444 2003-08-14  Jim Meyering  <jim@meyering.net>
50445
50446         Merges from coreutils.
50447         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
50448         variable names, rather than @FNMATCH_H@.
50449         * modules/alloca: Likewise for $(ALLOCA_H).
50450
50451         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
50452         the three copies of the literal target, `fnmatch.h'.
50453         * modules/alloca (alloca.h): Likewise.
50454
50455 2003-08-14  Jim Meyering  <jim@meyering.net>
50456
50457         Merge from coreutils.
50458         * m4/tzset.m4: New file.
50459         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
50460         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
50461         otherwise, AIX 5.1 systems would end up using the latter.
50462         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
50463         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
50464         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
50465         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
50466
50467 2003-08-14  Jim Meyering  <jim@meyering.net>
50468
50469         Merge from coreutils.
50470         * lib/obstack.h: Whitespace changes.
50471         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
50472         and xcalloc return values.
50473         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
50474         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
50475         hang on OSF/1 5.1 for DIR on both local and remote file systems.
50476         Reported by (and fix confirmed by) Nelson H. F. Beebe.
50477         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
50478         error from mntctl.
50479         Use mntctl's return value to drive the entry-processing loop, since
50480         we can't rely on the value of the vmt_length member in the last
50481         entry.  On some systems doing so could result in exhausting
50482         virtual memory.  Based in part on a patch from Mike Jetzer.
50483
50484 2003-08-14  Jim Meyering  <jim@meyering.net>
50485         and Paul Eggert  <eggert@twinsun.com>
50486
50487         Merges from coreutils, plus other fixes.
50488         * lib/physmem.c: Merge in portability changes from gcc/libiberty
50489         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
50490         for credits and details.  Thanks to Kaveh Ghazi for helping
50491         to keep these files in sync.
50492         (ARRAY_SIZE): Define it.
50493         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
50494         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
50495         (memcasecmp): Don't assume size_t fits in unsigned int.
50496         Remove casts and duplicate code.
50497         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
50498         (memcpy): Remove definition.
50499         Merge in some clean-up and optimization changes from glibc.
50500         [BLOCKSIZE]: Move definition to top of file.
50501         Ensure that it is a multiple of 64.
50502         Rearrange loop exit tests so as to avoid performing an
50503         additional fread after encountering an error or EOF.
50504         * lib/md5.h (md5_uintptr): Define.
50505         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
50506         return to the initial working directory.  Preserve errno
50507         for caller.
50508         * lib/idcache.c: Include "xalloc.h".
50509         (xmalloc, xrealloc): Remove decls.
50510         (getuser): Remove casts no longer required in C89.
50511         * lib/human.c: Include stdio.h, for sprintf.
50512         * lib/group-member.c: Include "xalloc.h".
50513         (xmalloc, xrealloc): Remove decls.
50514         (get_group_info): Remove casts no longer required in C89.
50515         * lib/getusershell.c (readname): Remove casts no longer required in
50516         C89.
50517         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
50518         * lib/getline.c: Whitespace fix, from coreutils.
50519
50520 2003-08-13  Paul Eggert  <eggert@twinsun.com>
50521
50522         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
50523         Check for isascii.
50524
50525         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
50526         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
50527         Undo previous (whitespace-only) change.
50528
50529 2003-08-13  Paul Eggert  <eggert@twinsun.com>
50530
50531         * lib/exclude.c: Include <ctype.h>
50532         (IN_CTYPE_DOMAIN): New macro.
50533         (is_space): New fn.
50534         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
50535         and empty lines.
50536
50537         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
50538         Undo previous (whitespace-only) change.
50539
50540 2003-08-13  Paul Eggert  <eggert@twinsun.com>
50541
50542         * config/srclist-update: Change update back to the old behavior,
50543         leaving whitespace alone.  Use one 'sed' command rather than a
50544         pipeline.
50545         (fixlicense): Now a variable, not a function.
50546         (remove_trailing_blanks): Remove.
50547         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
50548         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
50549         Undo previous (whitespace-only) change.
50550
50551 2003-08-12  Paul Eggert  <eggert@twinsun.com>
50552
50553         Merge from coreutils.
50554         * modules/euidaccess: Add lib_SOURCES, include for new
50555         file euidaccess.h
50556
50557 2003-08-12  Paul Eggert  <eggert@twinsun.com>
50558
50559         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
50560         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
50561         Normalize leading white space and remove trailing white space.
50562
50563         Merge from coreutils
50564         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
50565
50566         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
50567         0.12.1.  These files are now being upgraded automatically by
50568         ../config/srclist-update.
50569
50570 2003-08-12  Paul Eggert  <eggert@twinsun.com>
50571
50572         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
50573         Normalize leading white space and remove trailing white space.
50574         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
50575         notice, as per ../config/srclist-update.
50576
50577         Merge from coreutils.
50578         * lib/euidaccess.h: New file.
50579         * lib/euidaccess.c: Include it.
50580         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
50581         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
50582         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
50583
50584 2003-08-12  Paul Eggert  <eggert@twinsun.com>
50585
50586         * config/srclist-update: Add copyright notice.
50587         (remove_id_lines, remove_trailing_blanks): New constants.
50588         (fixfile): Use them to normalize spacing a bit in copied files.
50589         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
50590         Normalize leading white space and remove trailing white space.
50591
50592         * config/texinfo.tex: Sync with texinfo.
50593
50594         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
50595         strtoul.c from libc, to merge coreutils whitespace changes.
50596
50597         * config/srclist.txt: Get the following m4 files from gettext:
50598         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
50599         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
50600         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
50601         wint_t.m4.
50602
50603 2003-08-12  Karl Berry  <karl@gnu.org>
50604
50605         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
50606         been made.
50607
50608 2003-08-11  Paul Eggert  <eggert@twinsun.com>
50609
50610         * modules/gnu-source, m4/gnu-source.m4:
50611         Remove; we're assuming Autoconf 2.54 or later now.
50612         Suggested by Bruno Haible.
50613         * MODULES.html.sh (func_all_modules): Remove gnu-source.
50614
50615 2003-08-11  Bruno Haible  <bruno@clisp.org>
50616
50617         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
50618
50619 2003-08-11  Bruno Haible  <bruno@clisp.org>
50620
50621         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
50622         (vasnprintf): Use it instead of wcslen.
50623
50624 2003-08-11  Bruno Haible  <bruno@clisp.org>
50625
50626         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
50627         value to ensure that _Bool promotes to int. Use #define for _Bool when
50628         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
50629
50630 2003-08-10  Karl Berry  <karl@gnu.org>
50631
50632         * lib/regex.h: update from libc (whitespace fix).
50633
50634 2003-08-09  Paul Eggert  <eggert@twinsun.com>
50635
50636         Merge some files from coreutils.  These changes were
50637         originally made by Jim Meyering.
50638         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
50639         many older Unixes require this.
50640         * lib/alloca.c (alloca): Remove cast to argument of free;
50641         no longer needed in C89.
50642         * lib/alloca_.h, regex.h: Fix white space to match
50643         what GNU indent does.
50644
50645 2003-08-09  Paul Eggert  <eggert@twinsun.com>
50646
50647         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
50648         apparently Emacs's Unicode mode got confused before my 2003-08-05
50649         checkin.
50650
50651 2003-08-08  Paul Eggert  <eggert@twinsun.com>
50652
50653         * m4/extensions.m4: New file.
50654         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
50655         Require gl_USE_SYSTEM_EXTENSIONS.
50656         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
50657         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
50658
50659 2003-08-08  Paul Eggert  <eggert@twinsun.com>
50660
50661         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
50662         * modules/extensions, modules/gnu-source: New files.
50663         * modules/timespec, modules/unlocked-io: Depend on extensions.
50664
50665 2003-08-07  Paul Eggert  <eggert@twinsun.com>
50666
50667         * modules/restrict: New file.
50668         * MODULES.html.sh (func_all_modules): Add restrict.
50669         * modules/regex: Depend on restrict.
50670
50671 2003-08-07  Paul Eggert  <eggert@twinsun.com>
50672
50673         * m4/restrict.m4: New file.
50674         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
50675
50676 2003-08-07  Bruno Haible  <bruno@clisp.org>
50677
50678         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
50679         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
50680
50681 2003-08-07  Bruno Haible  <bruno@clisp.org>
50682
50683         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
50684         makes the module 'getndelim2' compatible with the module 'getline'.
50685
50686 2003-08-05  Paul Eggert  <eggert@twinsun.com>
50687
50688         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
50689         byte with "\201" to avoid glitches when editing that source file
50690         with multi-gnome-terminal.
50691
50692 2003-08-05  Paul Eggert  <eggert@twinsun.com>
50693
50694         * lib/bumpalloc.h: Remove.
50695
50696 2003-08-05  Paul Eggert  <eggert@twinsun.com>
50697
50698         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
50699         * modules/bumpalloc: Remove.
50700
50701 2003-08-04  Paul Eggert  <eggert@twinsun.com>
50702
50703         * lib/getloadavg.c: Change copyright notice and spacing to conform to
50704         GNU coding style.
50705
50706         Merge from coreutils.
50707         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
50708         1. From glibc.
50709         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
50710         from Karl Berry, implemented by Jim Meyering.
50711         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
50712         from Dmitry V. Levin.
50713         Remove anachronistic cast of xrealloc.
50714         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
50715         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
50716         type. Otherwise, it wouldn't compile with at least /bin/cc on
50717         ymp-cray-unicos9.0.2.X.
50718         Combine two mostly-identical uses of alloca into one.
50719         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
50720
50721 2003-08-04  Dave Love  <d.love@dl.ac.uk>
50722
50723         [From Emacs.]
50724
50725         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
50726         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
50727         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
50728         obsolete NLIST_NAME_UNION.
50729         [__GNU__]: Undef BSD and FSCALE.
50730         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
50731
50732 2003-08-03  Paul Eggert  <eggert@twinsun.com>
50733
50734         * lib/stdbool_.h (_Bool): Make it signed char, instead of
50735         an enum type, so that it's guaranteed to promote to int.  See:
50736         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
50737
50738 2003-08-03  Karl Berry  <karl@gnu.org>
50739
50740         * config/depcomp: update from automake.
50741
50742 2003-07-31  Paul Eggert  <eggert@twinsun.com>
50743
50744         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
50745         (strerror): Don't assume that a printable int fits in 14 bytes.
50746
50747 2003-07-31  Bruno Haible  <bruno@clisp.org>
50748
50749         * modules/getpass-gnu: New file.
50750         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
50751
50752 2003-07-31  Bruno Haible  <bruno@clisp.org>
50753
50754         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
50755
50756 2003-07-24  Karl Berry  <karl@gnu.org>
50757
50758         * config/missing: update from automake.
50759
50760 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
50761             Bruno Haible  <bruno@clisp.org>
50762
50763         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
50764         * lib/getline.c (getline, getdelim): Likewise.
50765         Remove _GNU_SOURCE define; now it's defined in config.h through
50766         m4/getline.m4.
50767
50768 2003-07-23  Karl Berry  <karl@gnu.org>
50769
50770         * config/config.sub: update from prep.
50771
50772 2003-07-22  Paul Eggert  <eggert@twinsun.com>
50773
50774         * modules/xalloc (Depends-on): Add exitfail.
50775         * modules/xmemcoll: Likewise.
50776
50777 2003-07-22  Paul Eggert  <eggert@twinsun.com>
50778
50779         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
50780         over-parenthesization in macros.
50781
50782         Sync with coreutils.
50783
50784         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
50785         required by C99.
50786
50787         Use `exit_failure' for xalloc and xmemcoll instead of their own
50788         private exit-failure variables.
50789         * lib/xalloc.h (xalloc_exit_failure): Remove.
50790         * lib/xmalloc.c: Likewise.  Include exitfail.h.
50791         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
50792         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
50793         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
50794         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
50795
50796 2003-07-20  Jim Meyering  <jim@meyering.net>
50797
50798         * modules/closeout (Depends-on): Add exitfail.
50799         Suggestion from Bruno Haible.
50800
50801 2003-07-19  Karl Berry  <karl@gnu.org>
50802
50803         * config/config.sub: update from prep.
50804
50805 2003-07-18  Paul Eggert  <eggert@twinsun.com>
50806
50807         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
50808         Remove.
50809         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
50810         to test that it can stand by itself.  Include "exitfail.h".
50811         Clients should set exit_failure instead.
50812         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
50813
50814 2003-07-18  Bruno Haible  <bruno@clisp.org>
50815
50816         * modules/getndelim2: New file.
50817         * modules/getline: Share files with module getndelim2.
50818         * modules/getnline: Depend on getndelim2 instead of sharing files with
50819         it. Add getnline.c to lib_SOURCES.
50820         * MODULES.html.sh (func_all_modules): Add getndelim2.
50821
50822 2003-07-18  Bruno Haible  <bruno@clisp.org>
50823
50824         * m4/getndelim2.m4: New file.
50825         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
50826         invoke gl_PREREQ_GETNDELIM2.
50827         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
50828         gl_PREREQ_GETNDELIM2.
50829         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
50830         gl_GETNDELIM2.
50831
50832 2003-07-18  Bruno Haible  <bruno@clisp.org>
50833
50834         * lib/getndelim2.h: New file.
50835         * lib/getndelim2.c: Make into a module of its own. Include config.h,
50836         getndelim2.h.
50837         (getndelim2): Make non-static. Change return type to ssize_t.
50838         * lib/getline.h: Change argument names.
50839         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
50840         * lib/getnline.c: Include getndelim2.h.
50841
50842 2003-07-18  Andreas Schwab  <schwab@suse.de>
50843
50844         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
50845
50846 2003-07-17  Karl Berry  <karl@gnu.org>
50847
50848         * config/config.sub: update from prep.
50849
50850 2003-07-17  Bruno Haible  <bruno@clisp.org>
50851
50852         * modules/getnline: New file.
50853         * modules/getline: Add lib/getndelim2.c to source file list.
50854         * MODULES.html.sh (func_all_modules): Add getnline.
50855
50856 2003-07-17  Bruno Haible  <bruno@clisp.org>
50857
50858         * m4/getnline.m4: New file.
50859
50860 2003-07-17  Bruno Haible  <bruno@clisp.org>
50861
50862         * m4/Makefile.am.in: Remove file.
50863         * m4/Makefile.am: Remove file.
50864         * m4/Makefile.in: Remove file.
50865
50866 2003-07-17  Bruno Haible  <bruno@clisp.org>
50867
50868         * lib/getnline.h: New file.
50869         * lib/getnline.c: New file.
50870         * lib/getndelim2.c: New file, extracted from getline.c.
50871         (getndelim2): Renamed from getdelim2, with added nmax argument.
50872         * lib/getline.c: Include getndelim2.c.
50873         (getdelim2): Moved out to getndelim2.c.
50874         (getline, getdelim): Update.
50875
50876 2003-07-17  Bruno Haible  <bruno@clisp.org>
50877
50878         * lib/Makefile.am: Remove file.
50879         * lib/Makefile.in: Remove file.
50880
50881 2003-07-17  Bruno Haible  <bruno@clisp.org>
50882
50883         * configure.in: Remove file.
50884         * Makefile.in: Remove file.
50885
50886 2003-07-17  Bruno Haible  <bruno@clisp.org>
50887
50888         * MODULES.html.sh: Put the </BODY> right before </HTML>.
50889
50890 2003-07-16  Karl Berry  <karl@gnu.org>
50891
50892         * config/srclist-update: was running fixlicense twice, which caused
50893                 texinfo.tex to be nullified for some reason.  Simplify,
50894                 $gplsrc is no longer needed as far as I can see?
50895
50896 2003-07-16  Jim Meyering  <jim@meyering.net>
50897
50898         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
50899
50900 2003-07-15  Paul Eggert  <eggert@twinsun.com>
50901
50902         * config/srclist.txt: Get the following files from gettext-runtime/intl
50903         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
50904         ref-del.sin.  From Bruno Haible.
50905         * config/srclist-update (fixfile): Change grep pattern again, since the
50906         previous fix didn't work (there was another trailing $).  Use
50907         '[$]' to escape the $s.
50908
50909 2003-07-15  Karl Berry  <karl@gnu.org>
50910
50911         * lib/vasnprintf.c: update from gettext.
50912
50913 2003-07-15  Karl Berry  <karl@gnu.org>
50914
50915         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
50916         gets expanded when surrounded by '$'.
50917
50918 2003-07-15  Jim Meyering  <jim@meyering.net>
50919
50920         * modules/save-cwd: Don't depend on error.  From Derek Price.
50921
50922 2003-07-15  Jim Meyering  <jim@meyering.net>
50923
50924         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
50925
50926 2003-07-14  Simon Josefsson  <jas@extundo.com>
50927
50928         * modules/mempcpy: New file.
50929         * MODULES.html.sh (func_all_modules): Add mempcpy.
50930
50931 2003-07-14  Simon Josefsson  <jas@extundo.com>
50932
50933         * m4/mempcpy.m4: New file.
50934
50935 2003-07-14  Simon Josefsson  <jas@extundo.com>
50936
50937         * lib/mempcpy.h: New file.
50938         * lib/mempcpy.c: New file.
50939
50940 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50941
50942         * modules/getdate, modules/posixtm: Depend on mktime.
50943
50944 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50945
50946         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
50947         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
50948         unicodeio.c, unicodeio.h, unlocked-io.h:
50949         Switch from LGPL to GPL.
50950
50951 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50952
50953         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
50954         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
50955         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
50956         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
50957         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
50958         updated automatically by ../config/srclist-update.  This changes
50959         their license from LPGL to GPL.
50960
50961 2003-07-14  Paul Eggert  <eggert@twinsun.com>
50962
50963         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
50964         assumed to refer to the root of the most recent stable gettext version.
50965         * config/srclistvars.sh: Add defaults for eggert.
50966         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
50967         Match "This program" as well as "The program".  This is needed
50968         for gettext.
50969
50970 2003-07-14  Jim Meyering  <jim@meyering.net>
50971
50972         Don't emit diagnostics.  Let callers do that.
50973         * lib/save-cwd.c: Don't include "error.h".
50974         (save_cwd): Don't call error.  Ensure that errno is valid
50975         when returning nonzero.
50976
50977         * lib/save-cwd.h (restore_cwd): Update prototype.
50978         * lib/save-cwd.c (restore_cwd): Remove two parameters.
50979         Simplify.  Don't call error upon failure.  Let callers do that.
50980         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
50981         when auditing is enabled.  But don't bother updating the #if.
50982
50983 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
50984
50985         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
50986         it breaks C++ compilation.
50987         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
50988
50989 2003-07-10  Simon Josefsson  <jas@extundo.com>
50990
50991         * modules/strchrnul (Makefile.am): Add strchrnul.h.
50992
50993 2003-07-10  Jim Meyering  <jim@meyering.net>
50994
50995         * m4/clock_time.m4: Remove trailing blank.
50996         * m4/intmax_t.m4: Likewise.
50997
50998 2003-07-10  Jim Meyering  <jim@meyering.net>
50999
51000         * lib/vasnprintf.c: Remove trailing blanks.
51001         Make cpp indentation consistent.
51002
51003 2003-07-09  Paul Eggert  <eggert@twinsun.com>
51004
51005         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
51006         posixver.c, strftime.c, strnlen.c, strverscmp.c:
51007         Switch from LGPL to GPL.
51008
51009 2003-07-09  Paul Eggert  <eggert@twinsun.com>
51010
51011         * config/srclist.txt: Sort sublists.  Add
51012         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
51013         that differ from gnulib for one reason or another; we'd like this list
51014         to be smaller but for now let's document what we have.
51015
51016 2003-07-08  Paul Eggert  <eggert@twinsun.com>
51017
51018         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
51019         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
51020         and sweeter "eval x=$x".
51021         * config/srclist.txt: Get lib/argp* from glibc.
51022
51023 2003-07-07  Paul Eggert  <eggert@twinsun.com>
51024
51025         * lib/mktime.c: Fix some boundary cases and remove need for floating
51026         point.
51027
51028         Issue a compile-time diagnostic if time_t is floating point, or if
51029         two's complement arithmetic is not in effect, or if arithmetic
51030         right shift does not propagate the sign.  These assumptions were
51031         all in the original code but they weren't checked.
51032
51033         (TIME_T_MIDPOINT, verify): New macros.
51034         (__isleap): Remove; it has integer overflow problems.
51035         (leapyear): New function, without those problems.
51036         (ydhms_tm_diff): Remove; splitting into two parts.
51037         (ydhms_diff): New function, containing the arithmetic part of
51038         the old ydhms_tm_diff function.  Issue a compile-time
51039         diagnostic if we are not using C99 integer division.
51040         Avoid casts when possible.
51041         (guess_time_tm): New function, containing the checking part of
51042         the old ydhms_tm_diff function.  Return the new value, rather than
51043         the difference between it and the old.  Accept a new argument T
51044         so that *T specifies the old value.  Check for overflow in the result.
51045
51046         (__mktime_internal): Use a time_t offset, not a long int offset.
51047         This undoes the 2003-06-04 change, which is no longer needed now
51048         that we have better overflow checking.
51049         (localtime_offset): Likewise.
51050
51051         (__mktime_internal): Avoid harmful overflow on hosts where time_t
51052         and long are 64-bit but int is only 32-bit.
51053         (ydhms_diff): Use long int to store year1 and yday1.
51054         Issue a compile-time diagnostic if long int is not wide enough.
51055
51056         (__mktime_internal): Use long int to store adjusted year and yday.
51057         Use plain C rather than preprocessor commands, if that doesn't
51058         affect efficiency.
51059         Check for overflow (and try to repair) after each probe
51060         rather than checking only at the very end.  This avoids some bugs
51061         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
51062         does not equal GMT offset at maximum time).
51063         Use integer to check for overflow rather than floating point; this
51064         is more portable to non-IEEE hosts, and is a tad faster.
51065         When we detect that we are oscillating between two values,
51066         don't check whether tm_isdst has the requested value, since
51067         we already know the answer.  When tm_isdst has the wrong value,
51068         use a different heuristic to find the right one, based on the
51069         extreme values actually observed in practice in tz2003a,
51070         rather than the (overly optimistic) "previous 3 calendar quarters".
51071
51072         (not_equal_tm, print_tm, check_result): Use "const T" rather than
51073         "T const" to accommodate glibc style.
51074         (check_result): Use less-confusing report format.  "long" -> "long int.
51075         (main): Likewise.
51076         Don't loop if the iteration overflows time_t.
51077         Allow a negative step in the iteration.
51078
51079 2003-07-06  Karl Berry  <karl@gnu.org>
51080
51081         * config/depcomp: update from automake.
51082         * config/config.sub: update from prep.
51083
51084 2003-07-03  Karl Berry  <karl@gnu.org>
51085
51086         * config/config.guess: update from prep.
51087
51088 2003-07-01  Paul Eggert  <eggert@twinsun.com>
51089
51090         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
51091         xreadlink.c now includes it unconditionally.
51092
51093 2003-07-01  Paul Eggert  <eggert@twinsun.com>
51094
51095         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
51096         having it depend on HAVE_SYS_TYPES_H.
51097
51098 2003-07-01  Bruno Haible  <bruno@clisp.org>
51099
51100         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
51101         <sys/types.h> should be sufficient.
51102         Reported by Paul Eggert.
51103
51104 2003-06-26  Karl Berry  <karl@gnu.org>
51105
51106         * config/depcomp: update from automake.
51107
51108 2003-06-26  Bruno Haible  <bruno@clisp.org>
51109
51110         * modules/human: Depend on module stdbool.
51111
51112 2003-06-25  Bruno Haible  <bruno@clisp.org>
51113
51114         * modules/readlink: New file.
51115         * modules/xreadlink: Depend on it.
51116         * MODULES.html.sh (func_all_modules): Add readlink.
51117
51118 2003-06-25  Bruno Haible  <bruno@clisp.org>
51119
51120         * m4/readlink.m4: New file.
51121
51122 2003-06-25  Bruno Haible  <bruno@clisp.org>
51123
51124         * lib/readlink.c: New file.
51125
51126 2003-06-22  Karl Berry  <karl@gnu.org>
51127
51128         * config/srclist.txt: update mkinstalldirs from automake.
51129         * config/mkinstalldirs: update.
51130
51131 2003-06-22  Bruno Haible  <bruno@clisp.org>
51132
51133         Portability to mingw32.
51134         * m4/ssize_t.m4: New file, from GNU gettext.
51135         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
51136         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
51137
51138 2003-06-22  Bruno Haible  <bruno@clisp.org>
51139
51140         * modules/safe-read: Add m4/ssize_t.m4.
51141         * modules/xreadlink: Add m4/ssize_t.m4.
51142
51143 2003-06-20  Bruno Haible  <bruno@clisp.org>
51144
51145         Assume C89, so PARAMS isn't needed.
51146         * lib/unicodeio.h (PARAMS): Remove.
51147         * lib/unicodeio.c: Don't use PARAMS.
51148
51149 2003-06-18  Karl Berry  <karl@gnu.org>
51150
51151         * config/config.{guess,sub}: update from prep.
51152
51153 2003-06-18  Jim Meyering  <jim@meyering.net>
51154
51155         Merge changes from coreutils.
51156         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
51157         Remove explicit declarations of xmalloc and realloc.
51158         Include xalloc.h.
51159         (read_utmp): Remove anachronistic cast of xmalloc.
51160
51161 2003-06-17  Paul Eggert  <eggert@twinsun.com>
51162
51163         Assume C89, so PARAMS isn't needed.
51164         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
51165         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
51166         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
51167         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
51168         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
51169         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
51170         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
51171         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
51172         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
51173         lib/xstrtod.h, lib/xstrtol.h: Likewise.
51174         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
51175         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
51176         no longer needed. Anyway, config.h should always be included before any
51177         other file.
51178
51179 2003-06-11  Simon Josefsson  <jas@extundo.com>
51180
51181         * modules/sysexits: New file.
51182         * MODULES.html.sh (func_all_modules): Add sysexits.
51183
51184 2003-06-11  Simon Josefsson  <jas@extundo.com>
51185
51186         * lib/sysexit_.h: New file.
51187
51188 2003-06-11  Derek Price  <derek@ximbiot.com>
51189
51190         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
51191         necessary.
51192
51193 2003-06-11  Bruno Haible  <bruno@clisp.org>
51194
51195         * m4/sysexits.m4: New file.
51196
51197 2003-06-10  Simon Josefsson  <jas@extundo.com>
51198
51199         * lib/argp.h: New file, from glibc.
51200         * lib/argp-ba.c: New file, from glibc.
51201         * lib/argp-eexst.c: New file, from glibc.
51202         * lib/argp-fmtstream.c: New file, from glibc.
51203         * lib/argp-fmtstream.h: New file, from glibc.
51204         * lib/argp-fs-xinl.c: New file, from glibc.
51205         * lib/argp-help.c: New file, from glibc.
51206         * lib/argp-namefrob.h: New file, from glibc.
51207         * lib/argp-parse.c: New file, from glibc.
51208         * lib/argp-pv.c: New file, from glibc.
51209         * lib/argp-pvh.c: New file, from glibc.
51210         * lib/argp-xinl.c: New file, from glibc.
51211
51212 2003-06-10  Simon Josefsson  <jas@extundo.com>
51213
51214         * modules/strchrnul: New file.
51215
51216 2003-06-10  Simon Josefsson  <jas@extundo.com>
51217
51218         * modules/argp: New file.
51219
51220 2003-06-10  Simon Josefsson  <jas@extundo.com>
51221
51222         * m4/strchrnul.m4: New file.
51223
51224 2003-06-10  Simon Josefsson  <jas@extundo.com>
51225
51226         * lib/strchrnul.h: New file.
51227         * lib/strchrnul.c: New file.
51228
51229 2003-06-10  Bruno Haible  <bruno@clisp.org>
51230
51231         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
51232
51233 2003-06-07  Karl Berry  <karl@gnu.org>
51234
51235         * config/config.{guess,sub}: update from prep.
51236
51237 2003-06-07  Jim Meyering  <jim@meyering.net>
51238
51239         * modules/strtod: Use $(...) notation, not @...@ for
51240         AC_REPLACE'd variables.
51241         * modules/localcharset: Likewise.
51242
51243 2003-06-07  Jim Meyering  <jim@meyering.net>
51244
51245         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
51246         in place of my name in the copyright comment.
51247         Remove definition and uses of __P.
51248
51249         From coreutils.
51250         * lib/stat.c: Don't declare xmalloc explicitly.
51251         Instead, include "xalloc.h".
51252         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
51253         xrealloc, and xcalloc return values.
51254         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
51255         Improve comment.
51256         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
51257
51258 2003-06-07  Bruno Haible  <bruno@clisp.org>
51259
51260         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
51261         avoid AC_CONFIG_LINKS.
51262         * modules/fnmatch (Makefile.am): Use explicit creation rule for
51263         fnmatch.h, to avoid AC_CONFIG_LINKS.
51264         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
51265
51266 2003-06-07  Bruno Haible  <bruno@clisp.org>
51267
51268         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
51269         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
51270         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
51271         directory.
51272         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
51273         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
51274         directory.
51275
51276 2003-06-06  Jim Meyering  <jim@meyering.net>
51277
51278         Merge from coreutils.
51279         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
51280         Consolidate declarations and initializations of *_base* locals.
51281
51282         Merge from coreutils.
51283         This avoids a core dump on systems without GNU putenv,
51284         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
51285         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
51286         (unsetenv): New static function, from GNU libc.
51287         (rpl_putenv): Use it.
51288
51289         * lib/modechange.c: Remove trailing blanks.
51290
51291         Merge from coreutils.
51292         * lib/fsusage.c: Remove declaration of statfs.
51293         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
51294
51295         * lib/posixtm.c: Include <stdbool.h> unconditionally.
51296
51297 2003-06-06  Jim Meyering  <jim@meyering.net>
51298
51299         * lib/stdbool_.h: Renamed from stdbool.h.in.
51300
51301 2003-06-06  Jim Meyering  <jim@meyering.net>
51302             Bruno Haible  <bruno@clisp.org>
51303
51304         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
51305         Adjust Makefile.am snippet not to redirect directly to target.
51306         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
51307
51308 2003-06-05  Paul Eggert  <eggert@twinsun.com>
51309
51310         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
51311         mismatch, look in future quarters as well as past.  This fixes a
51312         bug when processing fall-backwards gaps immediately after a long
51313         period of daylight-saving time.
51314
51315         * lib/mktime.c: Assume freestanding C89 or better.
51316         (HAVE_LIMITS_H): Remove.  Assume it's 1.
51317         (__P): Remove; not used.
51318         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
51319         (mktime, not_equal_tm, print_tm, check_result,
51320         main): Use prototypes.  Use const * where appropriate.
51321         (main): Fix typo in testing code that uncovered by above changes.
51322         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
51323
51324 2003-06-04  Paul Eggert  <eggert@twinsun.com>
51325
51326         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
51327         locale.h, localeconv.  This merges changes from coreutils.
51328
51329         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
51330         It can be removed after the next Autoconf is released.
51331         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
51332         needed.
51333
51334 2003-06-04  Paul Eggert  <eggert@twinsun.com>
51335
51336         * lib/mktime.c: Fix Debian bug 177940
51337         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
51338         (localtime_offset): Now long int, not time_t, because we want it
51339         to be guaranteed to be signed.  All uses changed.
51340         (__mktime_internal): If overflow would occur when adding offset,
51341         don't add it.
51342
51343         Merge 'human' changes from coreutils.  Rewrite to support
51344         locale-specific notations like thousands separators.
51345         * lib/human.c: Simplify authorship notice.
51346         Include human.h immediately after config.h.
51347         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
51348         <limits.h>: Do not include, since human.h does.
51349         (SIZE_MAX, UINTMAX_MAX): New macros.
51350         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
51351         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
51352         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
51353         (power_letter): Renamed from suffixes.
51354         (generate_suffix_backwards): Remove.
51355         (adjust_value): Now takes int style (because of human.h changes)
51356         and long double value (for greater precision on some platforms).
51357         (group_number): New function.
51358         (human_readable): Use it.  Use integer options, not enum.
51359         Put the options before the sizes in the arg list.
51360         Support all the new options.
51361         The old human_readable function has been removed;
51362         use inttostr.h instead.
51363         (human_readable, default_block_size, humblock):
51364         Use uintmax_t, not int, for block sizes.
51365         (human_readable_inexact, block_size_types): Remove.
51366         (block_size_opts): New constant.
51367         (human_options): Renamed from human_block_size, with new signature
51368         that allows block sizes up to UINTMAX_MAX.  All callers changed.
51369         * lib/human.h: Add copyright and authorship notice.
51370         Include <limits.h> and <stdbool.h> unconditionally.
51371         (PARAMS): Remove.  All uses removed.
51372         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
51373         (enum human_inexact_style): Remove tag; now a nameless enum.
51374         (human_floor, human_ceiling, human_round_to_even): Now have
51375         values 2, 0, 1 rather than -1, 1, 0.
51376         (human_group_digits, human_suppress_point_zero, human_autoscale,
51377         human_base_1024, human_SI, human_B): New constants.
51378         (human_readable_inexact, human_block_size): Remove.
51379         (human_readable): Size args are now uintmax_t, not int.
51380         (human_options): New decl.
51381
51382         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
51383         unnecessary now that we assume C89 or better.  This change
51384         imported from coreutils.
51385
51386         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
51387         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
51388         in the 2003-05-30 sync from glibc.
51389
51390         .h files should stand alone, but we shouldn't include <sys/types.h>
51391         if we can get away with just <stddef.h>.
51392
51393         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
51394         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
51395         rather than <sys/types.h>, as we merely need size_t.
51396         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
51397         to get size_t.
51398         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
51399         Include <stdio.h>, to get FILE.
51400         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
51401         memcasecmp.h has included <stddef.h> and all we need is size_t.
51402         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
51403         our interface, instead of including <sys/types.h>
51404
51405 2003-06-04  Paul Eggert  <eggert@twinsun.com>
51406
51407         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
51408         now, as glibc mktime is buggy on non-glibc systems.
51409
51410 2003-06-03  Karl Berry  <karl@gnu.org>
51411
51412         * config/config.sub: update from prep.
51413
51414 2003-06-02  Paul Eggert  <eggert@twinsun.com>
51415
51416         [from coreutils]
51417         Fix some minor time-related bugs with POSIX time arguments.
51418         Some valid time stamps were being rejected (notably -1, and
51419         time stamps before 1900 on 64-bit hosts).  And some invalid
51420         time stamps were being accepted, e.g. September 31.
51421
51422         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
51423         that we can return (time_t) -1 successfully.
51424         * lib/posixtm.c: Likewise.
51425         [HAVE_STDBOOL_H]: Include <stdbool.h>.
51426         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
51427         (t): Remove static var.
51428         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
51429         of static var.  All uses changed.
51430         (year): Do not reject years before 1900; they can occur with
51431         64-bit time_t.
51432         (posix_time_parse): Do not check for out-of-range components;
51433         that is now the caller's responsibility, since our checks were
51434         only approximations.
51435         (posixtime): Use mktime to check for out-of-range components,
51436         since it knows them exactly.
51437         If mktime returns (time_t) -1, check whether an error actually occurred
51438         by invoking localtime on -1.
51439         (main) [TEST_POSIXTIME]: Check for input data errors, and report
51440         posixtime failures better.
51441         Improve the test data (in comments only).
51442
51443 2003-06-02  Karl Berry  <karl@gnu.org>
51444
51445         * config/mkinstalldirs (version): new variable.
51446         (--version): new option.
51447         (usage): improve message.
51448
51449 2003-05-30  Karl Berry  <karl@gnu.org>
51450
51451         * lib/mktime.c: update from libc.
51452
51453 2003-05-30  Bruno Haible  <bruno@clisp.org>
51454
51455         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
51456         * config/config.rpath: Upgrade to gettext-0.12.1.
51457
51458 2003-05-30  Bruno Haible  <bruno@clisp.org>
51459
51460         * m4/gettext.m4: Upgrade to gettext-0.12.1.
51461         * m4/nls.m4: New file, from gettext-0.12.1.
51462         * m4/po.m4: New file, from gettext-0.12.1.
51463         * m4/progtest.m4: Upgrade to gettext-0.12.1.
51464
51465 2003-05-30  Bruno Haible  <bruno@clisp.org>
51466
51467         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
51468         * lib/localcharset.h: Likewise.
51469         * lib/localcharset.c: Likewise.
51470
51471 2003-05-29  Karl Berry  <karl@gnu.org>
51472
51473         * config/config.rpath: update from gettext.
51474
51475 2003-05-28  Paul Eggert  <eggert@twinsun.com>
51476
51477         Assume the headers required for C89 freestanding compilers.
51478         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
51479         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
51480         * m4/human.m4 (gl_HUMAN): Likewise.
51481         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
51482         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
51483         * m4/userspec.m4 (gl_USERSPEC): Likewise.
51484         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
51485         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
51486         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
51487
51488 2003-05-28  Paul Eggert  <eggert@twinsun.com>
51489
51490         Assume the headers required for C89 freestanding compilers.
51491         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
51492         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
51493         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
51494         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
51495         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
51496         define, since <limits.h> is guaranteed to do that.
51497         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
51498         * lib/exclude.c: Include <stdbool.h> unconditionally.
51499         * lib/tempname.c: Include <stddef.h> unconditionally.
51500         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
51501         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
51502         <stddef.h> does that.
51503         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
51504         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
51505         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
51506         needed.
51507         * lib/xstrtol.c: Likewise.
51508         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
51509         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
51510
51511         * lib/addext.c (addext): Use assignment rather than cast, to avoid
51512         warnings on some platforms.
51513
51514         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
51515         arbitrarily.
51516
51517 2003-05-26  Jim Meyering  <jim@meyering.net>
51518
51519         Merge in a change from coreutils:
51520         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
51521         that is guaranteed to be `no'.  Use `no_such_member' to indicate
51522         that condition, rather than `-1' which is slightly misleading.
51523         Change the name of the cache variable to have the gl_ prefix.
51524         Prompted by a patch from Richard Dawe for DJGPP.
51525
51526 2003-05-24  Karl Berry  <karl@gnu.org>
51527
51528         * config/config.guess: update from prep.
51529
51530 2003-05-22  Karl Berry  <karl@gnu.org>
51531
51532         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
51533
51534 2003-05-20  Karl Berry  <karl@gnu.org>
51535
51536         * config/config.guess: update from prep.
51537
51538 2003-05-18  Karl Berry  <karl@gnu.org>
51539
51540         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
51541         might actually be set by the user.
51542
51543         * config/depcomp, install-sh, mdate-sh: update from automake.
51544
51545 2003-05-17  Bruno Haible  <bruno@clisp.org>
51546
51547         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
51548         invalid expansion for AC_EGREP_CPP.
51549         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
51550         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
51551         Suggested by Akim Demaille <akim@epita.fr> in
51552         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
51553
51554 2003-05-12  Jim Meyering  <jim@meyering.net>
51555
51556         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
51557         the space-padded-by-default conversion specifiers, %e, %k, %l.
51558
51559 2003-05-12  Bruno Haible  <bruno@clisp.org>
51560
51561         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
51562         the string is longer than 4 KB.
51563
51564 2003-05-11  Karl Berry  <karl@gnu.org>
51565
51566         * config/config.{guess,sub}: update from prep.
51567
51568 2003-05-09  Bruno Haible  <bruno@clisp.org>
51569
51570         * modules/error: Add m4/strerror_r.m4 to file list.
51571
51572 2003-05-03  Bruno Haible  <bruno@clisp.org>
51573
51574         Upgrade to Unicode-4.0.
51575         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
51576         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
51577         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
51578         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
51579         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
51580         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
51581         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
51582         Change width of U+E0100..U+E01EF from 1 to 0.
51583
51584 2003-04-25  Jim Meyering  <jim@meyering.net>
51585
51586         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
51587         of type size_t, not int.
51588
51589 2003-04-25  Bruno Haible  <bruno@clisp.org>
51590
51591         * lib/copy-file.c: Include <stddef.h>, for size_t.
51592
51593 2003-04-21  Paul Eggert  <eggert@twinsun.com>
51594
51595         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
51596         code which expansion is under static control.  Patch imported from
51597         Akim Demaille's patch to Bison; see
51598         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
51599
51600 2003-04-14  Bruno Haible  <bruno@clisp.org>
51601
51602         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
51603
51604 2003-04-11  Jim Meyering  <jim@meyering.net>
51605
51606         Merge changes from Coreutils.
51607
51608         2003-03-22  Jim Meyering  <jim@meyering.net>
51609
51610         * lib/strftime.c (widen): Cast alloca return value to proper type.
51611
51612         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
51613
51614         From GNU libc.
51615         * lib/strftime.c (my_strftime): Handle very large width
51616         specifications for numeric values correctly.  Improve checks for
51617         overflow.
51618
51619         2003-01-19  Jim Meyering  <jim@meyering.net>
51620
51621         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
51622         definitions.
51623         (nl_get_alt_digit) [! defined my_strftime]: Define.
51624         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
51625         _nl_get_alt_digit and _nl_get_walt_digit.
51626
51627         * lib/strftime.c (my_strftime): Merge in locale-related changes from
51628         libc. These changes have no effect outside of _LIBC.
51629
51630 2003-04-10  Bruno Haible  <bruno@clisp.org>
51631
51632         * modules/findprog: New file.
51633         * MODULES.html.sh (func_all_modules): Add it.
51634
51635 2003-04-10  Bruno Haible  <bruno@clisp.org>
51636
51637         * m4/findprog.m4: New file.
51638         * m4/eaccess.m4: New file.
51639
51640 2003-04-10  Bruno Haible  <bruno@clisp.org>
51641
51642         * lib/findprog.h: New file, from GNU gettext.
51643         * lib/findprog.c: New file, from GNU gettext.
51644
51645 2003-04-05  Jim Meyering  <jim@meyering.net>
51646
51647         Merge changes from Coreutils.
51648
51649         * lib/exclude.h (PARAMS): Remove definition and uses.
51650         * lib/exclude.c: Remove uses of `PARAMS'.
51651
51652         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
51653         Add test-cases for DOS filenames. Declare program_name.
51654         (main): Set up program_name.  Patch by Rich Dawe.
51655
51656         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
51657         error from mntctl.
51658         Use mntctl's return value to drive the entry-processing loop, since
51659         we can't rely on the value of the vmt_length member in the last
51660         entry.  On some systems doing so could result in exhausting
51661         virtual memory.  Based in part on a patch from Mike Jetzer.
51662
51663 2003-04-04  Bruno Haible  <bruno@clisp.org>
51664
51665         * modules/linebreak: New file.
51666         * MODULES.html.sh (func_all_modules): Add it.
51667
51668 2003-04-04  Bruno Haible  <bruno@clisp.org>
51669
51670         * m4/linebreak.m4: New file.
51671
51672 2003-04-04  Bruno Haible  <bruno@clisp.org>
51673
51674         * lib/linebreak.h: New file, from GNU gettext.
51675         * lib/linebreak.c: New file, from GNU gettext with slight
51676         modifications.
51677         * lib/lbrkprop.h: New file, from GNU gettext.
51678
51679 2003-04-03  Bruno Haible  <bruno@clisp.org>
51680
51681         * modules/utf8-ucs4: New file.
51682         * modules/utf16-ucs4: New file.
51683         * modules/ucs4-utf8: New file.
51684         * modules/ucs4-utf16: New file.
51685         * MODULES.html.sh (func_all_modules): Add them.
51686
51687 2003-04-03  Bruno Haible  <bruno@clisp.org>
51688
51689         * m4/utf-ucs4.m4: New file.
51690         * m4/ucs4-utf.m4: New file.
51691
51692 2003-04-03  Bruno Haible  <bruno@clisp.org>
51693
51694         * lib/utf8-ucs4.h: New file, from GNU gettext.
51695         * lib/utf16-ucs4.h: New file, from GNU gettext.
51696         * lib/ucs4-utf8.h: New file, from GNU gettext.
51697         * lib/ucs4-utf16.h: New file, from GNU gettext.
51698
51699 2003-04-02  Bruno Haible  <bruno@clisp.org>
51700
51701         * modules/binary-io: New file.
51702         * MODULES.html.sh (func_all_modules): Add it.
51703
51704 2003-04-02  Bruno Haible  <bruno@clisp.org>
51705
51706         * lib/binary-io.h: New file, from GNU gettext.
51707
51708 2003-04-01  Bruno Haible  <bruno@clisp.org>
51709
51710         * modules/pathname: New file.
51711         * MODULES.html.sh (func_all_modules): Add it.
51712
51713 2003-04-01  Bruno Haible  <bruno@clisp.org>
51714
51715         * lib/pathname.h: New file, from GNU gettext.
51716         * lib/concatpath.c: New file, from GNU gettext.
51717
51718 2003-03-30  Bruno Haible  <bruno@clisp.org>
51719
51720         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
51721
51722 2003-03-30  Bruno Haible  <bruno@clisp.org>
51723
51724         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
51725         function chown() doesn't exist.
51726
51727 2003-03-28  Bruno Haible  <bruno@clisp.org>
51728
51729         * modules/copy-file: New file.
51730         * MODULES.html.sh (func_all_modules): Add it.
51731
51732 2003-03-28  Bruno Haible  <bruno@clisp.org>
51733
51734         * m4/copy-file.m4: New file.
51735
51736 2003-03-28  Bruno Haible  <bruno@clisp.org>
51737
51738         * lib/copy-file.h: New file, from GNU gettext.
51739         * lib/copy-file.c: New file, from GNU gettext.
51740
51741 2003-03-18  Jim Meyering  <jim@meyering.net>
51742
51743         * lib/quote.c (quote_n): Fix typo in comment.
51744
51745 2003-03-18  Bruno Haible  <bruno@clisp.org>
51746
51747         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
51748         checking.
51749         * m4/onceonly_2_57.m4: Likewise.
51750
51751 2003-03-17  Bruno Haible  <bruno@clisp.org>
51752
51753         * m4/onceonly.m4: Require autoconf 2.54 or newer.
51754         (m4_quote): Remove macro.
51755         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
51756
51757 2003-03-14  Jim Meyering  <jim@meyering.net>
51758
51759         Merge changes from Coreutils.
51760         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
51761         to be const, in order to avoid warnings.
51762         (obstack_room): Likewise.
51763         (obstack_empty_p): Likewise.
51764
51765 2003-03-14  Bruno Haible  <bruno@clisp.org>
51766
51767         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
51768         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
51769
51770 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51771
51772         Merge changes from Bison.
51773         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
51774         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
51775         when compiling Bison 1.875's `bitset bset = obstack_alloc
51776         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
51777         * lib/hash.c: Include <stdbool.h> unconditionally.
51778
51779 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51780
51781         * m4/onceonly.m4 (m4_quote): New macro.
51782         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
51783         Quote AC_FOREACH variable-expansions properly.
51784
51785 2003-03-13  Paul Eggert  <eggert@twinsun.com>
51786
51787         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
51788
51789 2003-03-09  Paul Eggert  <eggert@twinsun.com>
51790
51791         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
51792         Reported by Bruce Becker; see:
51793         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
51794
51795 2003-03-03  Paul Eggert  <eggert@twinsun.com>
51796             Bruno Haible  <bruno@clisp.org>
51797
51798         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
51799         Reported by John Hughes, see
51800         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
51801
51802 2003-02-20  Bruno Haible  <bruno@clisp.org>
51803
51804         * MODULES.html.sh (func_all_modules): Add poll.
51805
51806 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51807
51808         * modules/poll: New file.
51809
51810 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51811
51812         * lib/poll_.h: New file.
51813         * lib/poll.c: New file.
51814
51815 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
51816
51817         * m4/poll.m4: New file.
51818
51819 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51820
51821         * modules/mathl: New file.
51822
51823 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51824
51825         * lib/mathl.h: New file.
51826         * lib/acosl.c: New file.
51827         * lib/asinl.c: New file.
51828         * lib/atanl.c: New file.
51829         * lib/ceill.c: New file.
51830         * lib/cosl.c: New file.
51831         * lib/expl.c: New file.
51832         * lib/floorl.c: New file.
51833         * lib/frexpl.c: New file.
51834         * lib/ldexpl.c: New file.
51835         * lib/logl.c: New file.
51836         * lib/sincosl.c: New file.
51837         * lib/sinl.c: New file.
51838         * lib/sqrtl.c: New file.
51839         * lib/tanl.c: New file.
51840         * lib/trigl.c: New file.
51841         * lib/trigl.h: New file.
51842
51843 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
51844
51845         * m4/mathl.m4: New file.
51846
51847 2003-02-18  Bruno Haible  <bruno@clisp.org>
51848
51849         * MODULES.html.sh (func_all_modules): Add mathl.
51850
51851 2003-02-17  Bruno Haible  <bruno@clisp.org>
51852
51853         * modules/mkdtemp: New module.
51854         * MODULES.html.sh (func_all_modules): Add it.
51855
51856 2003-02-17  Bruno Haible  <bruno@clisp.org>
51857
51858         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
51859
51860 2003-02-17  Bruno Haible  <bruno@clisp.org>
51861
51862         * lib/mkdtemp.h: New file, from GNU gettext.
51863         * lib/mkdtemp.c: New file, from GNU gettext.
51864
51865 2003-02-02  Jim Meyering  <jim@meyering.net>
51866
51867         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
51868         e.g. glibc-2.2.93.
51869
51870 2003-01-31  Bruno Haible  <bruno@clisp.org>
51871
51872         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
51873         'rpl_rename'.
51874         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
51875         'rpl_strnlen'.
51876         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
51877         'rpl_strtod'.
51878         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
51879         'rpl_utime'.
51880
51881 2003-01-31  Bruno Haible  <bruno@clisp.org>
51882
51883         * lib/rename.c: #undef rename before defining rpl_rename.
51884         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
51885
51886 2003-01-30  Bruno Haible  <bruno@clisp.org>
51887
51888         * modules/vasnprintf, modules/vasprintf: New modules.
51889         * MODULES.html.sh (func_all_modules): Add them.
51890
51891 2003-01-30  Bruno Haible  <bruno@clisp.org>
51892
51893         * m4/signed.m4: New file, from GNU gettext.
51894         * m4/longdouble.m4: New file, from GNU gettext.
51895         * m4/wchar_t.m4: New file, from GNU gettext.
51896         * m4/wint_t.m4: New file, from GNU gettext.
51897         * m4/vasnprintf.m4: New file.
51898         * m4/vasprintf.m4: New file.
51899
51900 2003-01-30  Bruno Haible  <bruno@clisp.org>
51901
51902         * lib/printf-args.h: New file, from GNU gettext.
51903         * lib/printf-args.c: New file, from GNU gettext.
51904         * lib/printf-parse.h: New file, from GNU gettext.
51905         * lib/printf-parse.c: New file, from GNU gettext.
51906         * lib/vasnprintf.h: New file, from GNU gettext.
51907         * lib/vasnprintf.c: New file, from GNU gettext.
51908         * lib/asnprintf.c: New file, from GNU gettext.
51909         * lib/vasprintf.h: New file, from GNU gettext with modifications.
51910         * lib/vasprintf.c: New file, from GNU gettext.
51911         * lib/asprintf.c: New file, from GNU gettext.
51912
51913 2003-01-29  Bruno Haible  <bruno@clisp.org>
51914
51915         * modules/stpncpy: New module.
51916         * MODULES.html.sh (func_all_modules): Add it.
51917
51918 2003-01-29  Bruno Haible  <bruno@clisp.org>
51919
51920         * m4/stpncpy.m4: New file.
51921
51922 2003-01-29  Bruno Haible  <bruno@clisp.org>
51923
51924         * lib/stpncpy.h: New file, from GNU gettext with modifications.
51925         * lib/stpncpy.c: New file, from GNU gettext with modifications.
51926
51927 2003-01-28  Bruno Haible  <bruno@clisp.org>
51928
51929         * modules/c-ctype: New module.
51930         * MODULES.html.sh (func_all_modules): Add it.
51931
51932 2003-01-28  Bruno Haible  <bruno@clisp.org>
51933
51934         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
51935         Paul Eggert.
51936         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
51937         Paul Eggert.
51938
51939 2003-01-27  Bruno Haible  <bruno@clisp.org>
51940
51941         * modules/xsetenv: New module.
51942         * MODULES.html.sh (func_all_modules): Add it.
51943
51944 2003-01-27  Bruno Haible  <bruno@clisp.org>
51945
51946         * lib/xsetenv.h: New file, from GNU gettext.
51947         * lib/xsetenv.c: New file, from GNU gettext.
51948
51949 2003-01-23  Jim Meyering  <jim@meyering.net>
51950
51951         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
51952         from working on systems without dirfd (at least Irix and OSF1/Tru64).
51953
51954 2003-01-23  Bruno Haible  <bruno@clisp.org>
51955
51956         * modules/minmax: New module.
51957         * MODULES.html.sh (func_all_modules): Add it.
51958
51959 2003-01-23  Bruno Haible  <bruno@clisp.org>
51960
51961         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
51962         Eggert.
51963
51964 2003-01-22  Bruno Haible  <bruno@clisp.org>
51965
51966         * modules/exit: New module.
51967         * MODULES.html.sh (func_all_modules): Add it.
51968
51969 2003-01-22  Bruno Haible  <bruno@clisp.org>
51970
51971         * lib/exit.h: New file, from GNU gettext.
51972
51973 2003-01-19  Bruno Haible  <bruno@clisp.org>
51974
51975         * gnulib-tool: Recognize option --extract-maintainer.
51976         (func_get_maintainer): New function.
51977         * modules/*: Add Maintainer entry.
51978
51979 2003-01-16  Jim Meyering  <jim@meyering.net>
51980
51981         * m4/regex.m4: The `regex' struct is both input and output.
51982         Initialize it before each use.  Patch by Tim Waugh.
51983
51984 2003-01-16  Bruno Haible  <bruno@clisp.org>
51985
51986         * MODULES.html.sh: Add a table of contents. Add the module name as
51987         leftmost column. Add hyperlinks.
51988
51989 2003-01-15  Bruno Haible  <bruno@clisp.org>
51990
51991         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
51992
51993 2003-01-15  Bruno Haible  <bruno@clisp.org>
51994
51995         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
51996         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
51997         suffix.
51998
51999 2003-01-15  Bruno Haible  <bruno@clisp.org>
52000
52001         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
52002
52003 2003-01-15  Bruno Haible  <bruno@clisp.org>
52004
52005         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
52006         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
52007
52008 2003-01-14  Jim Meyering  <jim@meyering.net>
52009
52010         * lib/same.c (same_name): Tweak a comment.
52011
52012 2003-01-14  Bruno Haible  <bruno@clisp.org>
52013
52014         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
52015         when a string comparison is sufficient.
52016
52017 2003-01-14  Bruno Haible  <bruno@clisp.org>
52018
52019         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
52020         'unsigned int'.
52021
52022 2003-01-14  Bruno Haible  <bruno@clisp.org>
52023
52024         * lib/hash-pjw.c: Add comment about low quality of this function.
52025
52026 2003-01-13  Bruno Haible  <bruno@clisp.org>
52027
52028         * modules/stpcpy: Distribute lib/stpcpy.h.
52029         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
52030
52031 2003-01-13  Bruno Haible  <bruno@clisp.org>
52032
52033         * modules/*: Add a description.
52034         * modules/strpbrk: Fix Makefile.am snippet.
52035         * modules/strtoimax: Fix dependencies.
52036         * modules/strtoumax: Likewise.
52037
52038 2003-01-13  Bruno Haible  <bruno@clisp.org>
52039
52040         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
52041         * modules/alloca (Makefile.am): All object files depend on alloca.h.
52042         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
52043
52044 2003-01-13  Bruno Haible  <bruno@clisp.org>
52045
52046         * gnulib-tool (func_create_testdir): Store config/* files in the main
52047         directory.
52048         * config.rpath: Move to ...
52049         * config/config.rpath: ... here.
52050         * modules/gettext: Contains config/config.rpath, not config.rpath.
52051         * modules/iconv: Likewise.
52052
52053 2003-01-12  Paul Eggert  <eggert@twinsun.com>
52054
52055         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
52056         to avoid collisions with libcurses and libreadline.
52057
52058         * m4/getstr.m4: Remove.
52059         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
52060
52061 2003-01-12  Paul Eggert  <eggert@twinsun.com>
52062
52063         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
52064         to avoid collisions with libcurses and libreadline.
52065
52066         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
52067         * lib/getstr.h, getstr.c: Remove.
52068         * lib/getline.c: Include "getline.h", to check interface.
52069         Move body of old getstr.c here: this defines MIN_CHUNK and
52070         declares getdelim2, which is renamed from getstr.
52071         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
52072
52073         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
52074         All uses changed.
52075         * lib/linebuffer.h: Likewise.
52076         (readline): Remove backward-compatibility macro.
52077
52078 2003-01-12  Paul Eggert  <eggert@twinsun.com>
52079
52080         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
52081         to avoid collisions with libcurses and libreadline.
52082         * getstr: Remove.
52083         * MODULES.html.sh: Remove getstr.
52084         * modules/getline: Depend on unlocked-io, not getstr.
52085
52086 2003-01-12  Jim Meyering  <jim@meyering.net>
52087
52088         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
52089
52090 2003-01-10  Bruno Haible  <bruno@clisp.org>
52091
52092         * modules/alloca: Change Makefile.am requirements. Simplify Include
52093         requirements. Add lib/alloca_.h to file list.
52094
52095 2003-01-10  Bruno Haible  <bruno@clisp.org>
52096
52097         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
52098
52099 2003-01-10  Bruno Haible  <bruno@clisp.org>
52100
52101         * lib/alloca_.h: New file.
52102         * lib/getdate.y: Unconditionally include alloca.h.
52103         * lib/makepath.c: Likewise.
52104         * lib/setenv.c: Likewise.
52105         * lib/userspec.c: Likewise.
52106
52107 2003-01-09  Karl Berry  <karl@gnu.org>
52108
52109         * MODULES.html.sh: include `dirname $0` in PATH, to find
52110         gnulib-tool.
52111
52112 2003-01-09  Bruno Haible  <bruno@clisp.org>
52113
52114         * modules/stdbool: Change configure.ac, Makefile.am requirements.
52115         Simplify Include requirements. Add lib/stdbool.h.in to file list.
52116
52117 2003-01-09  Bruno Haible  <bruno@clisp.org>
52118
52119         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
52120
52121 2003-01-09  Bruno Haible  <bruno@clisp.org>
52122
52123         * lib/stdbool.h.in: New file.
52124
52125 2003-01-09  Bruno Haible  <bruno@clisp.org>
52126
52127         * gnulib-tool (func_all_modules): Ignore files ending in ~.
52128         * MODULES.html.sh: Likewise.
52129
52130 2003-01-08  Jim Meyering  <jim@meyering.net>
52131
52132         * lib/full-write.c: Undefine and define-away `const' after inclusion
52133         of errno.h, not before.  Suggestion from Bruno Haible.
52134
52135 2003-01-08  Bruno Haible  <bruno@clisp.org>
52136
52137         * modules/full-read: Depend on full-write.
52138
52139 2003-01-08  Bruno Haible  <bruno@clisp.org>
52140
52141         * lib/safe-read.c: Include specification header first, to ensure its
52142         selfcontainedness.
52143         * lib/full-write.c: Likewise.
52144
52145 2003-01-07  Jim Meyering  <jim@meyering.net>
52146
52147         * lib/full-write.c: Rework so that it may serve to define full_read,
52148         too.
52149         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
52150
52151 2003-01-07  Bruno Haible  <bruno@clisp.org>
52152
52153         * lib/strtoimax.c: Include <stdint.h> as an alternative to
52154         <inttypes.h>.
52155         * lib/xstrtol.h: Likewise.
52156         * lib/xstrtoimax.c: Likewise.
52157         * lib/xstrtoumax.c: Likewise.
52158         * lib/human.h: Likewise.
52159
52160         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
52161         on systems that have <inttypes.h> but not <stdint.h>.
52162
52163 2003-01-07  Bruno Haible  <bruno@clisp.org>
52164
52165         * MODULES.html.sh: Add copyright notice.
52166         (missed_files): Omit CVS directory entries.
52167         (func_module): Make it work with sed-3.02.
52168         * MODULES.txt: Remove file.
52169
52170 2003-01-06  Jim Meyering  <jim@meyering.net>
52171
52172         * lib/version-etc.c: Update year in translatable copyright string.
52173
52174 2003-01-03  Karl Berry  <karl@gnu.org>
52175
52176         * config/config.{guess,sub}: update from prep.
52177
52178 2003-01-02  Karl Berry  <karl@gnu.org>
52179
52180         * doc/COPYING.DOC: belatedly updated to 1.2.
52181
52182 2003-01-01  Karl Berry  <karl@gnu.org>
52183
52184         * gnulib-tool (func_verify_module): report module name $module in
52185         error message, not $1.
52186         * gnulib-tool (create-testdir): don't complain if destdir couldn't
52187         be created, only if it doesn't exist.
52188         * gnulib-tool (last_checkin_date): don't expand the $Date here.
52189
52190 2002-12-31  Paul Eggert  <eggert@twinsun.com>
52191
52192         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
52193
52194 2002-12-31  Paul Eggert  <eggert@twinsun.com>
52195
52196         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
52197         memcmp if strcoll doesn't work.
52198
52199 2002-12-31  Bruno Haible  <bruno@clisp.org>
52200
52201         * lib/utime.c (utime_null): No need to call ftruncate if the file was
52202         nonempty.
52203
52204 2002-12-31  Bruno Haible  <bruno@clisp.org>
52205
52206         * lib/memcoll.c (STRCOLL): New macro.
52207         (memcoll): Use it.
52208
52209 2002-12-31  Bruno Haible  <bruno@clisp.org>
52210
52211         * lib/localcharset.h: New file.
52212         * lib/localcharset.c: Include it.
52213         * lib/unicodeio.c: Likewise.
52214
52215 2002-12-31  Bruno Haible  <bruno@clisp.org>
52216
52217         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
52218         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
52219
52220 2002-12-31  Bruno Haible  <bruno@clisp.org>
52221
52222         * lib/getline.h: Include <stddef.h>, for size_t.
52223
52224         * lib/unicodeio.h: Include <stddef.h>, for size_t.
52225         * lib/unicodeio.c: Don't include <stddef.h>.
52226
52227 2002-12-31  Bruno Haible  <bruno@clisp.org>
52228
52229         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
52230         HAVE_TM_ZONE.
52231
52232 2002-12-24  Karl Berry  <karl@gnu.org>
52233
52234         * config/config.guess: update from prep.
52235
52236 2002-12-24  Bruno Haible  <bruno@clisp.org>
52237
52238         General infrasructure.
52239         * m4/README: Rewritten.
52240         * m4/onceonly.m4: New file.
52241         * m4/onceonly_2_57.m4: New file.
52242
52243         Module atexit.
52244         * m4/atexit.m4: New file.
52245
52246         Module strtod.
52247         * m4/strtod.m4: New file.
52248
52249         Module strtol.
52250         * m4/strtol.m4: New file.
52251
52252         Module strtoul.
52253         * m4/strtoul.m4: New file.
52254
52255         Module memchr.
52256         * m4/memchr.m4: New file.
52257
52258         Module memcmp.
52259         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
52260         (jm_FUNC_MEMCMP): Invoke it.
52261
52262         Module memcpy.
52263         * m4/memcpy.m4: New file.
52264
52265         Module memmove.
52266         * m4/memmove.m4: New file.
52267
52268         Module memset.
52269         * m4/memset.m4: New file.
52270
52271         Module strcspn.
52272         * m4/strcspn.m4: New file.
52273
52274         Module strpbrk.
52275         * m4/strpbrk.m4: New file.
52276
52277         Module strstr.
52278         * m4/strstr.m4: New file.
52279
52280         Module strerror.
52281         * m4/strerror.m4: New file.
52282
52283         Module mktime.
52284         * m4/mktime.m4: Renamed from jm-mktime.m4.
52285         (gl_PREREQ_MKTIME): New macro.
52286         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
52287
52288         Module malloc.
52289         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
52290         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
52291         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
52292
52293         Module realloc.
52294         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
52295         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
52296         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
52297
52298         Module strftime.
52299         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
52300         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
52301         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
52302         gl_TM_GMTOFF.
52303         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
52304
52305         Module xalloc.
52306         * m4/xalloc.m4: New file.
52307
52308         Module alloca.
52309         * m4/alloca.m4: New file.
52310
52311         Module putenv.
52312         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
52313         (jm_FUNC_PUTENV): Invoke it.
52314
52315         Module setenv.
52316         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
52317         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
52318         when invoked twice.
52319         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
52320         gt_FUNC_SETENV.
52321
52322         Module memrchr.
52323         * m4/memrchr.m4: New file.
52324
52325         Module stpcpy.
52326         * m4/stpcpy.m4: New file.
52327
52328         Module strcase.
52329         * m4/strcase.m4: New file.
52330
52331         Module strdup.
52332         * m4/strdup.m4: New file.
52333
52334         Module strnlen.
52335         * m4/strnlen.m4: New file.
52336
52337         Module strndup.
52338         * m4/strndup.m4: New file.
52339
52340         Module xstrtod.
52341         * m4/xstrtod.m4: New file.
52342
52343         Module xstrtol.
52344         * m4/xstrtol.m4: New file.
52345
52346         Module getdate.
52347         * m4/getdate.m4: New file.
52348
52349         Module unlocked-io.
52350         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
52351         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
52352         * m4/jm-glibc-io.m4n: Remove file.
52353
52354         Module long-options.
52355         * m4/long-options.m4: New file.
52356
52357         Module md5.
52358         * m4/md5.m4: New file.
52359
52360         Module sha.
52361         * m4/sha.m4: New file.
52362
52363         Module getstr.
52364         * m4/getstr.m4: New file.
52365
52366         Module getline.
52367         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
52368         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
52369         <sys/types.h>, for size_t. Use the function name gnu_getline, not
52370         simply getline. Infoke gl_PREREQ_GETLINE.
52371
52372         Module obstack.
52373         * m4/obstack.m4: New file.
52374
52375         Module hash.
52376         * m4/hash.m4: New file.
52377
52378         Module readtokens.
52379         * m4/readtokens.m4: New file.
52380
52381         Module strverscmp.
52382         * m4/strverscmp.m4: New file.
52383
52384         Module stdbool.
52385         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
52386         OSF/1.
52387
52388         Module strtoll.
52389         * m4/strtoll.m4: New file.
52390
52391         Module strtoull.
52392         * m4/strtoull.m4: New file.
52393
52394         Module strtoimax.
52395         * m4/strtoimax.m4: New file.
52396
52397         Module strtoumax.
52398         * m4/strtoumax.m4: New file.
52399
52400         Module xstrtoimax.
52401         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
52402         jm_AC_PREREQ_XSTRTOIMAX.
52403         Moved the strtol prerequisites to strtol.m4.
52404         Moved the strtoll prerequisites to strtoll.m4.
52405         Moved the strtoimax prerequisites to strtoimax.m4.
52406
52407         Module xstrtoumax.
52408         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
52409         jm_AC_PREREQ_XSTRTOUMAX.
52410         Moved the strtoul prerequisites to strtoul.m4.
52411         Moved the strtoull prerequisites to strtoull.m4.
52412         Moved the strtoumax prerequisites to strtoumax.m4.
52413
52414         Module chown.
52415         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
52416         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
52417
52418         Module dup2.
52419         * m4/dup2.m4: New file.
52420
52421         Module ftruncate.
52422         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
52423         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
52424
52425         Module getgroups.
52426         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
52427         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
52428
52429         Module gettimeofday.
52430         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
52431         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
52432         gl_PREREQ_GETTIMEOFDAY.
52433
52434         Module mkdir.
52435         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
52436         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
52437
52438         Module mkstemp.
52439         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
52440         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
52441         jm_AC_TYPE_UINTMAX_T.
52442         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
52443
52444         Module stat.
52445         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
52446         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
52447
52448         Module lstat.
52449         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
52450         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
52451
52452         Module timespec.
52453         * m4/timespec.m4 (gl_TIMESPEC): New macro.
52454         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
52455         * m4/st_mtim.m4: Indentation.
52456
52457         Module nanosleep.
52458         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
52459         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
52460         gl_PREREQ_NANOSLEEP.
52461
52462         Module regex.
52463         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
52464         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
52465         (gl_REGEX): New macro.
52466
52467         Module rename.
52468         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
52469         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
52470
52471         Module rmdir.
52472         * m4/rmdir.m4: New file.
52473
52474         Module utime.
52475         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
52476         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
52477         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
52478
52479         Module dirname.
52480         * m4/dirname.m4: New file.
52481
52482         Module getopt.
52483         * m4/getopt.m4: New file.
52484
52485         Module unistd-safer.
52486         * m4/unistd-safer.m4: New file.
52487
52488         Module fnmatch.
52489         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
52490         declaration.
52491         (gl_PREREQ_FNMATCH_EXTRA): New macro.
52492         (gl_FUNC_FNMATCH_POSIX): New macro.
52493         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
52494         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
52495         simply fnmatch.
52496
52497         Module exclude.
52498         * m4/exclude.m4: New file.
52499
52500         Module human.
52501         * m4/human.m4: New file.
52502
52503         Module acl.
52504         * m4/acl.m4: Nop.
52505
52506         Module backupfile.
52507         * m4/backupfile.m4: New file.
52508         * m4/d-ino.m4: Indentation.
52509
52510         Module fsusage.
52511         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
52512         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
52513         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
52514
52515         Module dirfd.
52516         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
52517         requirements.
52518
52519         Module euidaccess.
52520         * m4/euidaccess.m4: New file.
52521
52522         Module file-type.
52523         * m4/file-type.m4: New file.
52524
52525         Module fileblocks.
52526         * m4/fileblocks.m4: New file.
52527
52528         Module filemode.
52529         * m4/filemode.m4: New file.
52530
52531         Module isdir.
52532         * m4/isdir.m4: New file.
52533
52534         Module lchown.
52535         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
52536         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
52537
52538         Module makepath.
52539         * m4/makepath.m4: New file.
52540
52541         Module modechange.
52542         * m4/modechange.m4: New file.
52543
52544         Module mountlist.
52545         * m4/mountlist.m4: New file.
52546         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
52547         Indentation.
52548
52549         Module path-concat.
52550         * m4/path-concat.m4: New file.
52551
52552         Module pathmax.
52553         * m4/pathmax.m4: New file.
52554
52555         Module same.
52556         * m4/same.m4: New file.
52557
52558         Module save-cwd.
52559         * m4/save-cwd.m4: New file.
52560
52561         Module savedir.
52562         * m4/savedir.m4: New file.
52563
52564         Module xgetcwd.
52565         * m4/xgetcwd.m4: New file.
52566         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
52567
52568         Module xreadlink.
52569         * m4/xreadlink.m4: New file.
52570
52571         Module safe-read.
52572         * m4/safe-read.m4: New file.
52573
52574         Module safe-write.
52575         * m4/safe-write.m4: New file.
52576
52577         Module closeout.
52578         * m4/closeout.m4: New file.
52579
52580         Module stdio-safer.
52581         * m4/stdio-safer.m4: New file.
52582
52583         Module getpass.
52584         * m4/getpass.m4: New file.
52585
52586         Module getugroups.
52587         * m4/getugroups.m4: New file.
52588
52589         Module group-member.
52590         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
52591         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
52592
52593         Module idcache.
52594         * m4/idcache.m4: New file.
52595
52596         Module userspec.
52597         * m4/userspec.m4: New file.
52598
52599         Module gettime.
52600         * m4/clock_time.m4: New file.
52601         * m4/gettime.m4: New file.
52602
52603         Module settime.
52604         * m4/settime.m4: New file.
52605
52606         Module posixtm.
52607         * m4/posixtm.m4: New file.
52608
52609         Module gethostname.
52610         * m4/gethostname.m4: New file.
52611
52612         Module canon-host.
52613         * m4/canon-host.m4: New file.
52614
52615         Module gettext.
52616         * m4/codeset.m4: New file, from gettext-0.11.5.
52617         * m4/gettext.m4: New file, from gettext-0.11.5.
52618         * m4/glibc21.m4: New file, from gettext-0.11.5.
52619         * m4/iconv.m4: New file, from gettext-0.11.5.
52620         * m4/intdiv0.m4: New file, from gettext-0.11.5.
52621         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
52622         * m4/inttypes.m4: New file, from gettext-0.11.5.
52623         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
52624         * m4/isc-posix.m4: New file, from gettext-0.11.5.
52625         * m4/lcmessage.m4: New file, from gettext-0.11.5.
52626         * m4/lib-ld.m4: New file, from gettext-0.11.5.
52627         * m4/lib-link.m4: New file, from gettext-0.11.5.
52628         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
52629         * m4/progtest.m4: New file, from gettext-0.11.5.
52630         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
52631         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
52632         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
52633
52634         Module localcharset.
52635         * m4/localcharset.m4: New file.
52636
52637         Module hard-locale.
52638         * m4/hard-locale.m4: New file.
52639
52640         Module mbswidth.
52641         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
52642         onceonly macros.
52643         * m4/mbrtowc.m4: Add comment.
52644
52645         Module memcasecmp.
52646         * m4/memcasecmp.m4: New file.
52647
52648         Module memcoll.
52649         * m4/memcoll.m4: New file.
52650
52651         Module unicodeio.
52652         * m4/unicodeio.m4: New file.
52653
52654         Module rpmatch.
52655         * m4/rpmatch.m4: New file.
52656
52657         Module yesno.
52658         * m4/yesno.m4: New file.
52659
52660         Module exitfail.
52661         * m4/exitfail.m4: New file.
52662
52663         Module c-stack.
52664         * m4/c-stack.m4 (gl_C_STACK): New macro.
52665         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
52666
52667         Module error.
52668         * m4/error.m4 (gl_ERROR): New macro.
52669         (jm_PREREQ_ERROR): Use onceonly macros.
52670
52671         Module fatal.
52672         * m4/fatal.m4: New file.
52673
52674         Module getloadavg.
52675         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
52676         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
52677
52678         Module getpagesize.
52679         * m4/getpagesize.m4: New file.
52680
52681         Module getusershell.
52682         * m4/getusershell.m4: New file.
52683
52684         Module physmem.
52685         * m4/physmem.m4: New file.
52686
52687         Module posixver.
52688         * m4/posixver.m4: New file.
52689
52690         Module quotearg.
52691         * m4/quotearg.m4: New file.
52692
52693         Module quote.
52694         * m4/quote.m4: New file.
52695
52696         Module readutmp.
52697         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
52698
52699         Module sig2str.
52700         * m4/sig2str.m4: New file.
52701
52702         Other.
52703         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
52704         ulonglong.m4.
52705         * m4/intmax_t.m4: New file.
52706         * m4/d-type.m4: Indentation.
52707         * m4/jm-macros.m4: Update.
52708         * m4/prereq.m4 (jm_PREREQ): Update.
52709         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
52710         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
52711         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
52712         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
52713         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
52714         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
52715         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
52716         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
52717         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
52718         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
52719         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
52720         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
52721         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
52722         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
52723         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
52724         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
52725         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
52726         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
52727         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
52728
52729 2002-12-24  Bruno Haible  <bruno@clisp.org>
52730
52731         * MODULES.txt: Update according to m4/ changes.
52732
52733         Module gettext.
52734         * config.rpath: New file, from gettext-0.11.5.
52735
52736         * modules/*: New module descriptions.
52737         * gnulib-tool: New file.
52738         * MODULES.html.sh: New file.
52739
52740 2002-12-21  Karl Berry  <karl@gnu.org>
52741
52742         * doc/fdl.texi: update to version 1.2.
52743
52744 2002-12-19  Karl Berry  <karl@gnu.org>
52745
52746         * config/config.guess: update from prep.
52747
52748 2002-12-18  Bruno Haible  <bruno@clisp.org>
52749
52750         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
52751         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
52752
52753 2002-12-17  Bruno Haible  <bruno@clisp.org>
52754
52755         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
52756         stdlib.h, string.h.
52757
52758 2002-12-17  Bruno Haible  <bruno@clisp.org>
52759
52760         * lib/canon-host.c (strdup): Remove unused declaration.
52761
52762         * lib/fsusage.c: Include full_read.h.
52763         (get_fs_usage): Use full_read instead of safe_read.
52764
52765         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
52766
52767 2002-12-12  Karl Berry  <karl@gnu.org>
52768
52769         * config/config.guess: update from prep.
52770
52771 2002-12-11  Bruno Haible  <bruno@clisp.org>
52772
52773         * m4/setenv.m4: New file, from gettext-0.11.5.
52774
52775 2002-12-11  Bruno Haible  <bruno@clisp.org>
52776
52777         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
52778         not unsetenv().
52779         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
52780         modifications:
52781
52782         2002-12-11  Bruno Haible  <bruno@clisp.org>
52783
52784                 * setenv.c (alloca): Fall back to malloc.
52785                 (freea): New macro.
52786                 (setenv): Use freea() to free memory allocated with alloca().
52787
52788         2002-11-13  Bruno Haible  <bruno@clisp.org>
52789
52790                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
52791                 function declarations.
52792                 * unsetenv.c (unsetenv): Likewise.
52793
52794         2002-03-04  Bruno Haible  <bruno@clisp.org>
52795
52796                 Portability to AIX 4.3.3.
52797                 * unsetenv.c: New file, extracted from setenv.c.
52798                 * setenv.c: Move the unsetenv() function to unsetenv.c.
52799
52800         2001-12-20  Bruno Haible  <bruno@clisp.org>
52801
52802                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
52803                 use malloc instead. For SunOS 4.
52804
52805         2001-12-11  Bruno Haible  <bruno@clisp.org>
52806
52807                 * setenv.c: Declare alloca.
52808                 (compar_fn_t): New typedef.
52809                 (KNOWN_VALUE, STORE_VALUE): Use it.
52810
52811         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
52812         setenv.h.
52813
52814 2002-12-10  Paul Eggert  <eggert@twinsun.com>
52815
52816         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
52817         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
52818         Choose values that are less likely to collide with system fnmatch
52819         options.
52820         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
52821         defined (e.g., a pure POSIX system).
52822         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
52823         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
52824
52825 2002-12-06  Paul Eggert  <eggert@twinsun.com>
52826
52827         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
52828         a pain in practice to deal with generated m4 files.  This change
52829         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
52830
52831         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
52832         and jm-glibc-io.m4, as they are no longer a special case.
52833         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
52834         kludge and the auto-generation stuff.  Check only whether the
52835         functions are declared, not whether they exist, since older hosts
52836         that don't declare the functions can't use the optimization anyway.
52837
52838 2002-12-06  Jim Meyering  <jim@meyering.net>
52839
52840         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
52841
52842         Merge in changes from libc's misc/error.c, in preparation
52843         for the merge of gnulib's changes back into libc.
52844
52845         * lib/error.c (_): Define only if not already defined.
52846         Move definition to follow all #include directives.
52847         Include unlocked-io.h only if !_LIBC.
52848         [_LIBC]: Include <libio/libioP.h>.
52849         [USE_IN_LIBIO]: Include <libio/iolibio.h>
52850         (fflush): Tweak definition to use INTUSE.
52851         (putc): Define.
52852
52853 2002-12-05  Paul Eggert  <eggert@twinsun.com>
52854
52855         * lib/alloca.c [defined emacs]: Include "lisp.h".
52856         (xalloc_die) [defined emacs]: New macro.
52857         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
52858         [! defined emacs]: Include <xalloc.h>.
52859         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
52860         (pointer): Typedef to POINTER_TYPE *.
52861         (malloc): Remove decl; we now always use xmalloc.
52862         (alloca): Use old-style definition, since Emacs needs this.
52863         Check for arithmetic overflow when computing combined size.
52864
52865 2002-12-04  Paul Eggert  <eggert@twinsun.com>
52866
52867         Do not generate unlocked-io.h automatically, since it's easier to
52868         maintain it by hand.
52869
52870         * lib/unlocked-io.h: New file, from GNU diffutils,
52871         but with proper copyright notice and attribution.
52872         * lib/gen-uio: Remove.
52873         * lib/Makefile.am: Add copyright notice.
52874         (libfetish_a_SOURCES): Add unlocked-io.h.
52875         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
52876         (DISTCLEANFILES, io_functions): Remove macros.
52877         (EXTRA_DIST): Remove gen_uio.
52878         (unlocked-io.h): Remove rule.
52879
52880 2002-12-04  Jim Meyering  <jim@meyering.net>
52881
52882         Reflect the fact that stat.c and lstat.c are no longer generated.
52883         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
52884         (DISTCLEANFILES): Likewise.
52885         (EXTRA_DIST): Likewise.
52886         (all_local): Don't depend on stat.c or lstat.c.
52887         (stat.c, lstat.c): Remove rules.
52888         (EXTRA_DIST): Remove xstat.in.
52889
52890         * lib/xstat.in: Remove file.  Contents moved into stat.c.
52891         * lib/stat.c: New file.  Contents mostly from xstat.in.
52892         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
52893         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
52894
52895         * lib/safe-read.c: Rework so that it may serve to define safe_write,
52896         too.
52897         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
52898
52899 2002-12-03  Jim Meyering  <jim@meyering.net>
52900
52901         * lib/safe-read.c, safe-write.c: Change variable names and comments,
52902         but not semantics, to minimize the differences between these two files.
52903         (safe_read): Change comment to mention SAFE_READ_ERROR.
52904
52905         * lib/safe-read.c (IS_EINTR): Define.
52906         (safe_read): Use IS_EINTR in place of in-function cpp directives.
52907
52908 2002-12-02  Jim Meyering  <jim@meyering.net>
52909
52910         * lib/safe-read.c (EINTR): Define.
52911         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
52912         (INT_MAX): Provide fallback.
52913         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
52914
52915         * lib/safe-read.h (SAFE_READ_ERROR): Define.
52916
52917 2002-12-02  Bruno Haible  <bruno@clisp.org>
52918
52919         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
52920         Define, taken from safe-read.c.
52921         (INT_MAX): Provide fallback.
52922         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
52923         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
52924
52925         * lib/safe-read.c (EINTR): Remove definition.
52926         (safe_read): Don't use EINTR if it is absent.
52927
52928 2002-12-01  Jim Meyering  <jim@meyering.net>
52929
52930         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
52931         zero.
52932         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
52933
52934 2002-11-27  Paul Eggert  <eggert@twinsun.com>
52935
52936         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
52937         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
52938         with `if (! (value < limit)) abort ();', for readability.
52939
52940 2002-11-26  Karl Berry  <karl@gnu.org>
52941
52942         * lib/strdup.c: copy from libc again, with jim's ok.
52943         * lib/.cppi-disable: re-add strdup.c
52944
52945 2002-11-25  Karl Berry  <karl@gnu.org>
52946
52947         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
52948         instead of "strtol.c".
52949
52950 2002-11-25  Karl Berry  <karl@gnu.org>
52951
52952         * config/install-sh: update from automake for variable quoting, $0 in
52953         error msgs, etc.
52954
52955         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
52956         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
52957         entry.
52958
52959 2002-11-25  Jim Meyering  <jim@meyering.net>
52960
52961         * lib/mktime.c: Sync from libc, now that it has the latest fix.
52962
52963 2002-11-24  Karl Berry  <karl@gnu.org>
52964
52965         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
52966         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
52967
52968 2002-11-24  Jim Meyering  <jim@meyering.net>
52969
52970         Update from coreutils:
52971
52972         * lib/mktime.c: Merge in changes from libc.
52973
52974         Avoid a link-time failure on some Linux systems.
52975         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
52976         (otherwise).
52977         (__mon_yday): Declare with the STATIC attribute.
52978         (__mktime_internal): Likewise.
52979         Based on a report from Greg Schafer.
52980
52981 2002-11-23  Jim Meyering  <jim@meyering.net>
52982
52983         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
52984         Use `unsigned', not `int', as type of index.
52985
52986         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
52987
52988         * lib/fsusage.c: Remove unneeded parentheses around operands of
52989         `defined'.
52990
52991 2002-11-22  Paul Eggert  <eggert@twinsun.com>
52992
52993         * lib/quotearg.h: Allow multiple inclusion by surrounding with
52994         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
52995         so that we can be included first.
52996         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
52997         * lib/quotearg.c: Include quotearg.h immediately after config.h.
52998         No need to include stddef.h or sys/types.h any more.
52999         Surround local include files with "", not "<>".
53000         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
53001         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
53002         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
53003         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
53004         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
53005         (ISPRINT): Remove; no longer needed now that we assume C89.
53006
53007         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
53008         Preserve errno.
53009
53010         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
53011         quotearg_char): Use SIZE_MAX rather than
53012         (size_t) -1 when we are talking about "infinity".
53013
53014         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
53015
53016 2002-11-22  Paul Eggert  <eggert@twinsun.com>
53017
53018         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
53019         hint that one should use `if (! x) abort ();' rather than `assert
53020         (x);', and anyway it's one less thing to worry about configuring.
53021         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
53022         hash_rehash, hash_insert): Use abort rather than assert.
53023
53024 2002-11-22  Bruno Haible  <bruno@clisp.org>
53025
53026         * lib/safe-read.h: Assume C89. Add comments.
53027         (safe_read): Change return type to size_t.
53028         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
53029         byte counts > SSIZE_MAX correctly.
53030         * lib/safe-write.h: New file.
53031         * lib/safe-write.c: New file.
53032         * lib/full-read.h: New file.
53033         * lib/full-read.c: New file.
53034         * lib/full-write.h: Assume C89. Add comments.
53035         * lib/full-write.c: Include safe-write.h.
53036         (full_write): Rewritten to use safe_write.
53037         Suggested by Jim Meyering and Paul Eggert.
53038
53039 2002-11-21  Jim Meyering  <jim@meyering.net>
53040
53041         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
53042
53043         Merge in changes from the coreutils.
53044
53045         2002-09-25  Paul Eggert  <eggert@twinsun.com>
53046         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
53047         <stdint.h>.
53048         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
53049         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
53050         int.  Work more efficiently if X is the same width as uintmax_t.
53051         Do not compare X to -1, to avoid bogus compiler warning.
53052         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
53053         Don't assume that f_frsize and f_bsize are the same type.
53054
53055         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
53056         warning on FreeBSD.
53057
53058         * lib/makepath.c (make_path): Restore umask *before* creating the final
53059         component.
53060         (make_path): Minor reformatting.
53061
53062         * lib/xmalloc.c: Adjust to work with new autoconf macros,
53063         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
53064         HAVE_MALLOC/HAVE_REALLOC.
53065
53066         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
53067         dummy ones.  At least on GNU/Linux systems, `auto' means something
53068         else.
53069         From Michael Stone.
53070
53071 2002-11-21  Bruno Haible  <bruno@clisp.org>
53072
53073         Remove case insensitive option matching.
53074         * lib/argmatch.h (argcasematch): Remove declaration.
53075         (ARGCASEMATCH): Remove macro.
53076         (__xargmatch_internal): Remove case_sensitive argument.
53077         (XARGMATCH): Update.
53078         (XARGCASEMATCH): Remove macro.
53079         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
53080         case_sensitive argument.
53081         (argcasematch): Remove function.
53082         (__xargmatch_internal): Remove case_sensitive argument.
53083         (main): Use XARGMATCH instead of XARGCASEMATCH.
53084
53085         * lib/xmalloc.c: Change compile-time error message. Add comment about
53086         required autoconf version.
53087
53088 2002-11-20  Paul Eggert  <eggert@twinsun.com>
53089
53090         Merge argmatch cleanups from Bison.  Assume C89.
53091
53092         * lib/argmatch.c: Include config.h here, not in argmatch.h.
53093         Include stdlib.h, for EXIT_FAILURE.
53094         Always include <string.h>, since we assume C89.
53095         (EXIT_FAILURE): Remove pre-C89 bug workaround.
53096         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
53097         Include <stddef.h> instead, since it's all we need for size_t.
53098         (PARAMS): Remove.  All uses removed.
53099         (ARRAY_CARDINALITY): Do not bother to #undef.
53100         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
53101         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
53102         Remove unnecessary parentheses.
53103         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
53104         Insert necessary parentheses.
53105         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
53106         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
53107
53108 2002-11-19  Bruno Haible  <bruno@clisp.org>
53109
53110         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
53111         * lib/mbswidth.h: Include <stddef.h>, for size_t.
53112
53113         * lib/mbswidth.h (PARAMS): Remove macro.
53114         (mbswidth, mbsnwidth): Use ANSI C function declarations.
53115         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
53116
53117         * lib/gcd.h (PARAMS): Remove macro.
53118         (gcd): Use ANSI C function declarations.
53119         * lib/gcd.c (gcd): Likewise.
53120
53121 2002-11-15  Bruno Haible  <bruno@clisp.org>
53122
53123         * lib/strcspn.c: Include <stddef.h>.
53124         (strcspn): Use ANSI C function declaration. Change return type to
53125         size_t. Use NULL.
53126         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
53127         (strpbrk): Use NULL.
53128         * lib/strpbrk.h (PARAMS): Remove macro.
53129         (strpbrk): Use ANSI C function declaration.
53130         * lib/strstr.c: Don't include <sys/types.h>.
53131         * lib/strstr.h (PARAMS): Remove macro.
53132         (strstr): Use ANSI C function declarations.
53133
53134 2002-11-14  Karl Berry  <karl@gnu.org>
53135
53136         * config/mkinstalldirs: `do' on separate line, instead of
53137         `for var; do'.
53138
53139 2002-11-06  Bruno Haible  <bruno@clisp.org>
53140
53141         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
53142         * lib/gcd.c (gcd): Likewise.
53143
53144 2002-11-05  Bruno Haible  <bruno@clisp.org>
53145
53146         * lib/gcd.h: New file, from gettext-0.11.5.
53147         * lib/gcd.c: New file, from gettext-0.11.5.
53148
53149 2002-11-05  Bruno Haible  <bruno@clisp.org>
53150
53151         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
53152         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
53153         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
53154         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
53155
53156         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
53157         <libintl.h>.
53158         * lib/makepath.c: Include gettext.h instead of <locale.h> and
53159         <libintl.h>.
53160
53161         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
53162         * lib/human.c: Include gettext.h instead of <libintl.h>.
53163         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
53164         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
53165         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
53166         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
53167         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
53168         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
53169         (textdomain): Remove definition.
53170         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
53171
53172         * lib/long-options.c: Remove include of <libintl.h> and definition of
53173         _.
53174         * lib/same.c: Remove include of <libintl.h> and definition of _.
53175
53176 2002-11-04  Owen Taylor  <otaylor@redhat.com>
53177
53178         * lib/config.charset: A few additions for Solaris.
53179
53180 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
53181
53182         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
53183         * lib/localcharset.c (locale_charset): Declare as extern "C".
53184
53185 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
53186
53187         * lib/config.charset: msdos in uk_UA uses CP1125.
53188
53189 2002-11-04  Bruno Haible  <bruno@clisp.org>
53190
53191         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
53192         * lib/strcase.h: New file, from GNU gettext-0.11.5.
53193         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
53194         * lib/strstr.h: New file, from GNU gettext-0.11.5.
53195         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
53196
53197 2002-11-04  Bruno Haible  <bruno@clisp.org>
53198
53199         * lib/localcharset.c (locale_charset): Don't return an empty string.
53200
53201 2002-11-04  Bruno Haible  <bruno@clisp.org>
53202
53203         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
53204         aliases.
53205
53206 2002-11-04  Bruno Haible  <bruno@clisp.org>
53207
53208         * lib/config.charset: Update for newest glibc. Add canonical names
53209         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
53210
53211 2002-11-04  Bruno Haible  <bruno@clisp.org>
53212
53213         * lib/config.charset: Add support for NetBSD.
53214
53215 2002-11-04  Bruno Haible  <bruno@clisp.org>
53216
53217         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
53218
53219 2002-11-01  Bruno Haible  <bruno@clisp.org>
53220
53221         * configure.in: Add AC_CONFIG_AUX_DIR call.
53222         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
53223         test/Makefile.
53224         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
53225
53226 2002-09-28  Karl Berry  <karl@gnu.org>
53227
53228         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
53229         installed automake until the next release, since changes have been
53230         made.
53231
53232 2002-09-25  Karl Berry  <karl@gnu.org>
53233
53234         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
53235         * lib/getopt*: copy from libc/posix.
53236         * lib/gettext.h: copy from gettext.
53237         * lib/.cppi-disable: add strdup.c, gettext.h.
53238
53239 2002-09-25  Karl Berry  <karl@gnu.org>
53240
53241         * config/srclist.txt: enable gettext.h check.
53242         * config/config.{guess,sub}: update from prep.
53243         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
53244                 from automake 1.6.3.
53245         See srclist*.
53246
53247 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
53248
53249         * regex.c (PATFETCH): Remove the translating fetch.
53250         (PATFETCH_RAW): Rename to PATFETCH.
53251         (set_image_of_range): New fun.
53252         (SET_RANGE_TABLE_WORK_AREA): Use it.
53253         (regex_compile): Don't translate the pattern chars so eagerly.
53254         Only do it when inserting an `exactn' bytecode or when handling
53255         a char-range.
53256         (mutually_exclusive_p): Avoid empty statement.
53257
53258 2002-07-06  Jim Meyering  <meyering@lucent.com>
53259
53260         * m4/README: Don't mention Makefile.am.in.
53261         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
53262
53263 2002-07-01  Jim Meyering  <meyering@lucent.com>
53264
53265         * lib/c-stack.c: Include sys/time.h.
53266         From Volker Borchert.
53267
53268 2002-06-26  Paul Eggert  <eggert@twinsun.com>
53269
53270         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
53271
53272 2002-06-26  Paul Eggert  <eggert@twinsun.com>
53273
53274         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
53275         New macro.  Use it uniformly instead of
53276         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
53277         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
53278         reported by Vin Shelton.
53279
53280 2002-06-22  Paul Eggert  <eggert@twinsun.com>
53281
53282         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
53283         Do not assume SA_SIGINFO behavior.
53284         Bug reported by Jim Meyering on NetBSD 1.5.2.
53285
53286 2002-06-22  Jim Meyering  <meyering@lucent.com>
53287
53288         * m4/c-stack.m4: New file, from diffutils-2.8.2.
53289         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
53290
53291         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
53292         now that configure.ac uses AC_GNU_SOURCE.
53293         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
53294         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
53295
53296         Update to latest tools.  Suggestions from Paul Eggert.
53297         * m4/stdbool.m4: New file, from diffutils-2.8.2.
53298         * m4/gnu-source.m4: Update from diffutils-2.8.2.
53299         * m4/fnmatch.m4: Likewise.
53300         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
53301         to AC_HEADER_STDBOOL
53302
53303 2002-06-22  Jim Meyering  <meyering@lucent.com>
53304
53305         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
53306         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
53307
53308 2002-06-22  Jim Meyering  <meyering@lucent.com>
53309
53310         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
53311
53312         * lib/exitfail.c, exitfail.h: Likewise.
53313         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
53314
53315         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
53316         of fnmatch.h.
53317         (EXTRA_DIST): Add fnmatch_loop.c.
53318         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
53319
53320         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
53321         * lib/fnmatch.c: Update from diffutils-2.8.2.
53322         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
53323         * lib/fnmatch.h: Remove file.
53324
53325 2002-06-21  Jim Meyering  <meyering@lucent.com>
53326
53327         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
53328         * m4/mbrtowc.m4: Likewise.
53329
53330         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
53331         * m4/mbswidth.m4: Reflect name change:
53332         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
53333         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
53334
53335         * m4/lib-link.m4: Update from gettext-0.11.2.
53336         * m4/gettext.m4: Likewise.
53337
53338         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
53339         From Alfred M. Szmidt.
53340
53341 2002-06-18  Paul Eggert  <eggert@twinsun.com>
53342
53343         * lib/file-type.h: Report an error if neither S_ISREG nor
53344         S_IFREG is defined, instead of using a test specific to glibc
53345         2.2.  This should be safe, since POSIX requires S_ISREG and
53346         Unix Version 7 had S_IFREG.  We don't need to check for
53347         <sys/types.h> since we don't use any symbols that it defines.
53348
53349 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
53350
53351         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
53352         $@-t, so that each temporary file name is unique and valid in the first
53353         8 characters, for operation under DOS.
53354
53355 2002-06-15  Paul Eggert  <eggert@twinsun.com>
53356
53357         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
53358
53359 2002-06-15  Jim Meyering  <meyering@lucent.com>
53360
53361         Work even with DJGPP 2.03, which lacks support for symlinks.
53362         From Richard Dawe.
53363         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
53364         is defined.
53365         * lib/lchown.c (S_ISLNK): Likewise.
53366
53367 2002-06-15  Jim Meyering  <meyering@lucent.com>
53368
53369         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
53370         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
53371         have been included before this file.
53372
53373 2002-06-14  Jim Meyering  <meyering@lucent.com>
53374
53375         * lib/file-type.h: Use the version from diffutils-2.8.2.
53376         * lib/file-type.c: Likewise.
53377
53378 2002-06-07  Jim Meyering  <meyering@lucent.com>
53379
53380         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
53381         They're needed at least for NetBSD 1.5.2.
53382         ($statxfs_includes): Include those same headers.
53383         ($statxfs_includes): Include sys/vfs.h if available.
53384         ($statxfs_includes): Likewise for sys/statvfs.h.
53385         Check for the following members in both structs statfs and statvfs:
53386         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
53387
53388 2002-06-01  Jim Meyering  <meyering@lucent.com>
53389
53390         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
53391         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
53392
53393 2002-05-28  Jim Meyering  <meyering@lucent.com>
53394
53395         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
53396         Reported by Volker Borchert.
53397
53398 2002-05-27  Jim Meyering  <meyering@lucent.com>
53399
53400         Fix a problem seen only on nonconforming systems whereby ls.c's
53401         use of localtime, and then of gettimeofday would cause trouble:
53402         the localtime call used to initialize rpl_gettimeofday's save
53403         mechanism would clobber ls's current local time information so
53404         that in any long listing the first file would always be listed
53405         with date 1970-01-01.  Analysis by Volker Borchert.
53406
53407         * lib/gettimeofday.c (localtime): Undefine.
53408         (rpl_localtime): New function.
53409
53410 2002-05-27  Jim Meyering  <meyering@lucent.com>
53411
53412         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
53413         localtime.
53414
53415         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
53416         use the replacement function; it wouldn't resolve at link time.
53417         Reported by Volker Borchert.
53418
53419 2002-05-22  Jim Meyering  <meyering@lucent.com>
53420
53421         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
53422         file-type.h.
53423         * lib/file-type.h: New file.
53424         * lib/file-type.c (file_type): New file/function.  Extracted from
53425         diffutils.
53426
53427 2002-04-30  Jim Meyering  <meyering@lucent.com>
53428
53429         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
53430
53431 2002-04-29  Paul Eggert  <eggert@twinsun.com>
53432
53433         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
53434
53435 2002-04-29  Paul Eggert  <eggert@twinsun.com>
53436
53437         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
53438         Do not check for alloca.h (no longer used) or stdbool.h (was never
53439         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
53440
53441 2002-04-29  Paul Eggert  <eggert@twinsun.com>
53442
53443         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
53444
53445 2002-04-29  Jim Meyering  <meyering@lucent.com>
53446
53447         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
53448         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
53449         Use AC_FUNC_STRNLEN here instead.
53450
53451         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
53452         With autoconf-2.53a, it's part of AC_PROG_CC.
53453
53454 2002-04-28  Paul Eggert  <eggert@twinsun.com>
53455
53456         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
53457         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
53458
53459 2002-04-28  Paul Eggert  <eggert@twinsun.com>
53460
53461         * lib/sig2str.h, lib/sig2str.c: New files.
53462         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
53463
53464 2002-04-28  Paul Eggert  <eggert@twinsun.com>
53465
53466         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
53467         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
53468         of 127, since 64 is the largest conceivable number for ancient
53469         nonstandard hosts.
53470         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
53471
53472 2002-04-28  Jim Meyering  <meyering@lucent.com>
53473
53474         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
53475
53476 2002-04-24  Jim Meyering  <meyering@lucent.com>
53477
53478         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
53479         (jm_PREREQ): Use it.
53480
53481         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
53482         mach/mach.h fcntl.h.
53483         Check for this function: setlocale.
53484
53485 2002-04-24  Jim Meyering  <meyering@lucent.com>
53486
53487         * lib/gettext.h: New file, from Gettext.
53488         * lib/Makefile.am (INCLUDES): Remove -I../intl.
53489         (libfetish_a_SOURCES): Add gettext.h.
53490
53491 2002-04-16  Jim Meyering  <meyering@lucent.com>
53492
53493         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
53494         ut_pid, ut_id, ut_exit.
53495
53496 2002-04-16  Jim Meyering  <meyering@lucent.com>
53497
53498         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
53499         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
53500         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
53501
53502 2002-04-12  Jim Meyering  <meyering@lucent.com>
53503
53504         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
53505         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
53506         existence of the getmntinfo function.  Needed for Darwin 5.3.
53507
53508         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
53509         This is necessary at least on Darwin 5.3.
53510
53511         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
53512         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
53513         strnlen.o in the library, and that makes some versions of ranlib
53514         object.
53515
53516 2002-04-12  Jim Meyering  <meyering@lucent.com>
53517
53518         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
53519
53520 2002-04-09  Jim Meyering  <meyering@lucent.com>
53521
53522         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
53523         to be more precise.  Rather than saying we're checking whether the
53524         function `works', say what we're testing.
53525         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
53526         Reported by Bruno Haible.
53527
53528 2002-03-10  Jim Meyering  <meyering@lucent.com>
53529
53530         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
53531         Suggestion from Santiago Vila.
53532
53533 2002-03-08  Jim Meyering  <meyering@lucent.com>
53534
53535         * lib/rename.c: Mention that this wrapper is needed also on
53536         mips-dec-ultrix4.4 systems.
53537
53538 2002-03-02  Jim Meyering  <meyering@lucent.com>
53539
53540         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
53541         not HAVE_CLOCK_SETTIME.
53542
53543 2002-02-27  Paul Eggert  <eggert@twinsun.com>
53544
53545         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
53546         Check for clock_settime.
53547
53548 2002-02-27  Paul Eggert  <eggert@twinsun.com>
53549
53550         * lib/nanosleep.h: Rename to....
53551         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
53552
53553         * lib/gettime.c: New file.
53554         * lib/settime.c: New file.
53555         * lib/stime.c: Remove.
53556
53557         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
53558         timespec.h.  Remove nanosleep.h.
53559
53560 2002-02-25  Paul Eggert  <eggert@twinsun.com>
53561
53562         * m4/acl.m4: New file.
53563         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
53564         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
53565
53566 2002-02-25  Paul Eggert  <eggert@twinsun.com>
53567
53568         * lib/acl.c, lib/acl.h: New files.
53569         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
53570
53571 2002-02-24  Jim Meyering  <meyering@lucent.com>
53572
53573         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
53574         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
53575         cause trouble.  Reported by Nelson Beebe.
53576
53577 2002-02-23  Paul Eggert  <eggert@twinsun.com>
53578
53579         * lib/path-concat.c (xpath_concat): Reorder code to pacify
53580         compilers that don't know that xalloc_die never returns.
53581
53582 2002-02-20  Jim Meyering  <meyering@lucent.com>
53583
53584         * lib/getdate.c: Regenerate using bison-1.33.
53585
53586 2002-02-17  Jim Meyering  <meyering@lucent.com>
53587
53588         * config/config.guess (main): Don't use `head -1'; it's no longer
53589         portable. Use `sed 1q' instead.
53590
53591 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
53592
53593         * m4/codeset.m4: Upgrade to gettext-0.11.
53594         * m4/gettext.m4: Upgrade to gettext-0.11.
53595         * m4/glibc21.m4: Upgrade to gettext-0.11.
53596         * m4/iconv.m4: Upgrade to gettext-0.11.
53597         * m4/isc-posix.m4: Upgrade to gettext-0.11.
53598         * m4/lcmessage.m4: Upgrade to gettext-0.11.
53599         * m4/lib-ld.m4: New file, from gettext-0.11.
53600         * m4/lib-link.m4: New file, from gettext-0.11.
53601         * m4/lib-prefix.m4: New file, from gettext-0.11.
53602         * m4/progtest.m4: Upgrade to gettext-0.11.
53603
53604 2002-02-15  Paul Eggert  <eggert@twinsun.com>
53605
53606         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
53607         (jm_PREREQ): Use it.
53608
53609 2002-02-15  Paul Eggert  <eggert@twinsun.com>
53610
53611         * lib/posixver.c, lib/posixver.h: New files.
53612         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
53613
53614 2002-02-02  Paul Eggert  <eggert@twinsun.com>
53615             Bruno Haible  <bruno@clisp.org>
53616
53617         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
53618         (fwrite_success_callback): New declaration.
53619         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
53620         print_unicode_char. Call failure callback instead of error.
53621         (fwrite_success_callback): New function.
53622         (exit_failure_callback): New function.
53623         (fallback_failure_callback): New function.
53624         (print_unicode_char): Call unicode_to_mb.
53625
53626 2002-01-26  Jim Meyering  <meyering@lucent.com>
53627
53628         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
53629         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
53630
53631 2002-01-26  Jim Meyering  <meyering@lucent.com>
53632
53633         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
53634
53635 2002-01-22  Paul Eggert  <eggert@twinsun.com>
53636
53637         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
53638
53639 2002-01-22  Jim Meyering  <meyering@lucent.com>
53640
53641         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
53642         Otherwise, some versions of automake would omit the rule that makes
53643         Makefile from Makefile.in.
53644
53645 2002-01-21  Paul Eggert  <eggert@twinsun.com>
53646
53647         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
53648         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
53649         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
53650         (memcoll): Set errno to zero if there is no error.
53651
53652         * lib/quotearg.c (quotearg_buffer_restyled):
53653         Fix bug with quoting buffers containing NUL when backslashing escapes.
53654         This bug was exposed by the other changes in this patch.
53655         (quotearg_n_options): New arg ARGSIZE.
53656         All callers changed.
53657         (quoting_options_from_style): New function.
53658         (quotearg_n_style): Use it.
53659         (quotearg_n_style_mem): New function.
53660
53661         * lib/quotearg.h (quotearg_n_style_mem): New function.
53662
53663 2002-01-19  Jim Meyering  <meyering@lucent.com>
53664
53665         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
53666         Remove useless quotes: DF_PROG="df".
53667         * m4/strnlen.m4: New file.
53668
53669 2002-01-16  Paul Eggert  <eggert@twinsun.com>
53670
53671         * lib/backupfile.c (ISDIGIT): Comment fix.
53672         * lib/getdate.y (ISDIGIT): Likewise.
53673         * lib/posixtm.c (ISDIGIT, year): Likewise.
53674         * lib/strverscmp.c (ISDIGIT): Likewise.
53675         * lib/userspec.c (ISDIGIT): Likewise.
53676
53677 2002-01-16  Jim Meyering  <meyering@lucent.com>
53678
53679         * lib/getdate.y: Add three semicolons, each just before a closing
53680         brace. Bison (as of version 1.31) no longer papers over that mistake.
53681
53682 2002-01-05  Jim Meyering  <meyering@lucent.com>
53683
53684         * lib/version-etc.c (version_etc_copyright): Update copyright year.
53685
53686 2001-12-19  Paul Eggert  <eggert@twinsun.com>
53687
53688         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
53689         not silently exit merely because the output buffer happens to
53690         have nothing pending.
53691
53692 2001-12-18  Paul Eggert  <eggert@twinsun.com>
53693
53694         See the big note in ../ChangeLog.
53695         * lib/human.c (suffixes): Prefer K to k for 1024.
53696         (generate_suffix_backwards): New function.
53697         (human_readable_inexact): Use it.
53698         * lib/xstrtol.c (__xstrtol): If there is no number but there
53699         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
53700         Accept 'K' as well as 'k'.
53701
53702 2001-12-15  Jim Meyering  <meyering@lucent.com>
53703
53704         * lib/regex.h (__restrict_arr): Update from libc.
53705
53706         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
53707         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
53708         (STREQ): Define.
53709
53710 2001-12-14  Jim Meyering  <meyering@lucent.com>
53711
53712         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
53713         Suggestion from Bruno Haible.
53714
53715 2001-12-10  Jim Meyering  <meyering@lucent.com>
53716
53717         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
53718         xrealloc, Instead, include "xalloc.h".
53719         (initbuffer): Don't cast xmalloc return value to char*.
53720         (readline): Reword comment.
53721         Don't cast xrealloc return value to char*
53722         Return NULL, not 0.
53723
53724 2001-12-09  Jim Meyering  <meyering@lucent.com>
53725
53726         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
53727         about `signed and unsigned type in conditional expression'.
53728         * lib/posixtm.c (posix_time_parse): Likewise.
53729
53730         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
53731
53732         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
53733         to avoid a pedantic warning.
53734
53735         * lib/getstr.c: Don't include assert.h.
53736         (getstr): Remove warning-evoking assertions.
53737         Return -1 if offset parameter is out of bounds.
53738         Change the type of a local from int to size_t.
53739
53740         * lib/strftime.c (my_strftime_localtime_r): Include this function
53741         definition in the `#if ! HAVE_TM_GMTOFF' block.
53742
53743         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
53744         Include xalloc.h instead.
53745
53746 2001-12-02  Jim Meyering  <meyering@lucent.com>
53747
53748         * lib/tempname.c: Don't declare getenv, thus reverting the change of
53749         2001-11-18.  It's no longer necessary, now that stdlib.h is always
53750         included.
53751
53752         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
53753         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
53754
53755 2001-11-30  Akim Demaille  <akim@epita.fr>
53756
53757         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
53758         before being defined.
53759
53760 2001-11-27  Paul Eggert  <eggert@twinsun.com>
53761
53762         * lib/quotearg.h (quotearg_n, quotearg_n_style):
53763         First arg is int, not unsigned.
53764         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
53765         (SIZE_MAX, UINT_MAX): New macros.
53766         (quotearg_n_options): Abort if N is negative.
53767         Avoid overflow check on hosts where size_t is 64 bits and int
53768         is 32 bits, as overflow is impossible there.
53769         Fix off-by-one typo that caused unnecessary reallocation.
53770
53771 2001-11-27  Jim Meyering  <meyering@lucent.com>
53772
53773         * lib/tempname.c: Merge with version from libc.
53774         * lib/regex.c: Likewise.
53775
53776         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
53777         systems for which STDC_HEADERS is 0, it was not included, resulting in
53778         a warning about an integer-to-pointer conversion problem with getenv.
53779         Reported by Volker Borchert.
53780
53781 2001-11-26  Jim Meyering  <meyering@lucent.com>
53782
53783         * lib/gtod.h: Remove file.
53784         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
53785         * lib/gettimeofday.c: Don't include gtod.h.
53786         (GTOD_init): Remove function.
53787         (rpl_gettimeofday): Do its job here instead, rather than aborting.
53788         Suggestion from Volker Borchert.
53789
53790 2001-11-23  Jim Meyering  <meyering@lucent.com>
53791
53792         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
53793         it.
53794         * lib/hash.c (struct hash_table): Define it here instead.
53795
53796 2001-11-22  Jim Meyering  <meyering@lucent.com>
53797
53798         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
53799
53800 2001-11-20  Jim Meyering  <meyering@lucent.com>
53801
53802         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
53803         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
53804
53805 2001-11-19  Jim Meyering  <meyering@lucent.com>
53806
53807         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
53808         directory.  Use "conftestXXXXXX" as the template.
53809         Suggestion from Paul Eggert.
53810
53811         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
53812         immediately, so the test doesn't mistakenly hit the max-open-files
53813         limit.
53814
53815 2001-11-18  Paul Eggert  <eggert@twinsun.com>
53816
53817         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
53818         (TEMPORARIES): New macro.
53819         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
53820         removes an artificial limitation (e.g. HP-UX 10.20, where
53821         TMP_MAX is 17576).
53822
53823 2001-11-18  Jim Meyering  <meyering@lucent.com>
53824
53825         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
53826
53827 2001-11-18  Jim Meyering  <meyering@lucent.com>
53828
53829         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
53830         on SunOS 4.
53831
53832         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
53833         files will be created before anything else.
53834
53835 2001-11-17  Paul Eggert  <eggert@twinsun.com>
53836
53837         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
53838         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
53839
53840 2001-11-17  Jim Meyering  <meyering@lucent.com>
53841
53842         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
53843         Prompted by a report from Bob Proulx.
53844
53845         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
53846         Instead, require UTILS_FUNC_MKSTEMP.
53847
53848 2001-11-17  Jim Meyering  <meyering@lucent.com>
53849
53850         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
53851         Now, that's done as part of AC_FUNC_STRTOD.
53852
53853 2001-11-17  Jim Meyering  <meyering@lucent.com>
53854
53855         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
53856         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
53857         rather than group writable.  Patch by Juan F. Codagnone.
53858
53859         * lib/readtokens.c: Remove explicit declarations of xmalloc and
53860         xrealloc, Instead, include "xalloc.h".
53861
53862         * lib/mountlist.c: Include unlocked-io.h after all system headers.
53863         Remove explicit declarations of xmalloc, xrealloc,
53864         and xstrdup.  Instead, include "xalloc.h".
53865
53866         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
53867         unlocked-io.h.
53868         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
53869         Likewise.
53870         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
53871
53872         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
53873         Reported by Padraig Brady.
53874
53875         * lib/mkstemp.c: #undef mkstemp.
53876         Include config.h.
53877         (rpl_mkstemp): Rename from mkstemp.
53878         Protoize.
53879
53880 2001-11-16  Jim Meyering  <meyering@lucent.com>
53881
53882         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
53883         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
53884         determine the amount of total physical memory, use pstat_getstatic.
53885         HPUX-11 doesn't define _SC_PHYS_PAGES.
53886         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
53887         If sysconf couldn't be used to determine the amount of available
53888         physical memory, use both pstat_getstatic and pstat_getdynamic.
53889         Based on a patch from Bob Proulx.
53890
53891 2001-11-10  Jim Meyering  <meyering@lucent.com>
53892
53893         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
53894         (jm_PREREQ): Use it.
53895
53896 2001-11-09  Jim Meyering  <meyering@lucent.com>
53897
53898         * m4/jm-macros.m4: Require autoconf-2.52f.
53899         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
53900         Use these AC_-prefixed names, not the AM_-prefixed ones.
53901
53902         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
53903
53904 2001-11-05  Jim Meyering  <meyering@lucent.com>
53905
53906         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
53907
53908 2001-11-04  Jim Meyering  <meyering@lucent.com>
53909
53910         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
53911         $DEFS.
53912
53913 2001-11-03  Jim Meyering  <meyering@lucent.com>
53914
53915         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
53916         of AC_DEFUN.
53917
53918         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
53919         know the name of the variable in the macro definition.
53920
53921 2001-11-03  Jim Meyering  <meyering@lucent.com>
53922
53923         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
53924         in argmatch_to_argument call.
53925
53926         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
53927         argument.
53928
53929         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
53930         e.g., a fault due to an attempt to free a NULL pointer.
53931
53932 2001-11-01  Jim Meyering  <meyering@lucent.com>
53933
53934         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
53935         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
53936
53937 2001-11-01  Jim Meyering  <meyering@lucent.com>
53938
53939         * lib/dirfd.c, lib/dirfd.h: New files.
53940         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
53941
53942         * lib/hash.c (hash_print) [TESTING]: Clean up.
53943
53944 2001-10-22  Paul Eggert  <eggert@twinsun.com>
53945
53946         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
53947         to avoid a warning if -Wall.
53948
53949 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
53950
53951         * README: New file
53952         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
53953         (per RMS's instructions, this is now the canonical source)
53954         * lgpl/, gpl/: New directories.
53955
53956 2001-10-21  Paul Eggert  <eggert@twinsun.com>
53957
53958         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
53959
53960 2001-10-21  Jim Meyering  <meyering@lucent.com>
53961
53962         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
53963         this code would end up calling gettext even in packages built
53964         with --disable-nls.
53965         * lib/getopt.c (_): Likewise.
53966         * lib/regex.c (_): Likewise.
53967
53968 2001-10-20  Paul Eggert  <eggert@twinsun.com>
53969
53970         * m4/error.m4 (jm_PREREQ_ERROR):
53971         Do not invoke AC_CHECK_FUNCS with strerror_r, as
53972         AC_FUNC_STRERROR_R does that.
53973         Check for strerror declaration.
53974
53975         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
53976         are supposed to have them these days.
53977         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
53978         Merge changes from latest Autoconf CVS.
53979         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
53980         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
53981         POSIX decided to standardize on the int flavor of strerror_r.
53982
53983 2001-10-20  Paul Eggert  <eggert@twinsun.com>
53984
53985         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
53986         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
53987         Use strerror_r that is only a macro, even if it is not a function.
53988         (strerror): Check for HAVE_DECL_STRERROR before declaring.
53989         (private_strerror): Use prototypes, not old-style function definition.
53990         (print_errno_message): New function.
53991         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
53992         char*-flavored one.
53993         (error_tail, error, error_at_line): Use it.
53994
53995 2001-10-11  Jim Meyering  <meyering@lucent.com>
53996
53997         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
53998         and quote_n (1, ... to avoid clobbering a buffer.
53999
54000 2001-10-05  Jim Meyering  <meyering@lucent.com>
54001
54002         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
54003         hash-pjw.h.
54004         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
54005         * lib/hash-pjw.h: New file.
54006
54007 2001-09-30  Jim Meyering  <meyering@lucent.com>
54008
54009         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
54010         `struct fsstat' has the `f_fstypename' member.
54011         Use that to define FS_TYPE, which is now used to make
54012         the getfsstat link test tighter.
54013
54014 2001-09-30  Jim Meyering  <meyering@lucent.com>
54015
54016         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
54017         Include <sys/ucred.h>, for Apple Darwin.
54018         Include sys/mount.h and sys/fs_types.h only if available.
54019         (FS_TYPE): Define.
54020         (read_filesystem_list): Use FS_TYPE.
54021
54022 2001-09-29  Paul Eggert  <eggert@twinsun.com>
54023
54024         * lib/exclude.c (excluded_filename): 0 -> false, since it's
54025         a boolean context.
54026
54027 2001-09-29  Jim Meyering  <meyering@lucent.com>
54028
54029         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
54030         [one-argument getmntent function]): Include stdio.h before mntent.h.
54031         SunOS 4.1.x needs it for the declaration of `FILE'.
54032         Patch by Volker Borchert.
54033
54034         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
54035         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
54036         sys/fs_types.h, and make the link-test for getfsstat guard #include
54037         directives with appropriate #if HAVE_*_H tests so that we can
54038         detect getfsstat on Apple Darwin1.3.7 systems.
54039         Reported by Nelson Beebe.
54040         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
54041
54042 2001-09-28  Paul Eggert  <eggert@twinsun.com>
54043
54044         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
54045         #defines strtoimax.  Also treat the other strto* functions
54046         like strtoimax.
54047
54048         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
54049         Check for strtoul and strtoumax,
54050         as those declarations are made even in the signed case.
54051         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
54052         Likewise, for strtol and strtoimax.
54053
54054 2001-09-28  Paul Eggert  <eggert@twinsun.com>
54055
54056         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
54057         #defines strtoimax.  Also treat the other strto* functions
54058         like strtoimax.
54059
54060         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
54061         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
54062         (strtoimax, strtoumax): Do not declare if already defined as a macro.
54063
54064 2001-09-26  Jim Meyering  <meyering@lucent.com>
54065
54066         Most macros in unlocked-io.h had the wrong number of arguments.
54067         * lib/gen-uio: New script.
54068         (USE_UNLOCKED_IO): Define to 1 if not already defined.
54069         * lib/unlocked-io.hin: Remove file.
54070         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
54071         rather than trying to embed it here.
54072         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
54073         Reported by Padraig Brady.
54074
54075 2001-09-25  Volker Borchert  <bt@teknon.de>
54076
54077         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
54078         `result'.
54079
54080 2001-09-24  Jim Meyering  <meyering@lucent.com>
54081
54082         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
54083
54084 2001-09-23  Jim Meyering  <meyering@lucent.com>
54085
54086         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
54087         instead of the mere test for existence of mntent.h.  The latter
54088         would get a false-positive on AIX 3.4 systems.
54089         In the outer getmntent if-block, don't die if neither of the getmntent
54090         tests succeeds.  Instead, just fall through and continue with the
54091         remaining tests.
54092
54093 2001-09-23  Jim Meyering  <meyering@lucent.com>
54094
54095         * lib/mountlist.c: Remove useless parentheses in #if directives.
54096         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
54097         the deprecated MOUNTED symbol is no longer defined in mntent.h.
54098
54099 2001-09-22  Jim Meyering  <meyering@lucent.com>
54100
54101         * m4/gettext.m4: New file.  From gettext.
54102         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
54103         * m4/progtest.m4: Likewise
54104         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
54105         * m4/glibc21.m4: Likewise.
54106
54107         * m4/libintl.m4: Remove.  No longer used.
54108
54109 2001-09-22  Jim Meyering  <meyering@lucent.com>
54110
54111         * lib/localcharset.c: Update from latest gettext.
54112         * lib/config.charset: Likewise.
54113
54114 2001-09-20  Jim Meyering  <meyering@lucent.com>
54115
54116         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
54117         strtoimax.
54118         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
54119         strtoumax.
54120
54121 2001-09-20  Jim Meyering  <meyering@lucent.com>
54122
54123         * lib/xstrtol.c (strtoimax): Guard declaration with
54124         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
54125         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
54126         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
54127         (strtoumax): Likewise, for completeness (it wasn't necessary).
54128
54129 2001-09-17  Paul Eggert  <eggert@twinsun.com>
54130
54131         * lib/strtoimax.c (HAVE_LONG_LONG):
54132         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
54133         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
54134         to work around bug in IBM C compiler.
54135
54136 2001-09-17  Jim Meyering  <meyering@lucent.com>
54137
54138         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
54139         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
54140         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
54141         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
54142         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
54143         whenever the right hand side need not be expanded by the shell.
54144
54145 2001-09-16  Paul Eggert  <eggert@twinsun.com>
54146
54147         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
54148         library.  It's not correct, as some older glibcs are buggy.
54149         fnmatch wasn't fixed until glibc 2.2.
54150
54151         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
54152         special shell magic here.
54153
54154 2001-09-16  Jim Meyering  <meyering@lucent.com>
54155
54156         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
54157         * m4/jm-macros.m4: Require it.
54158
54159 2001-09-16  Jim Meyering  <meyering@lucent.com>
54160
54161         * lib/mkdir.c: New file.
54162
54163 2001-09-15  Jim Meyering  <meyering@lucent.com>
54164
54165         * m4/jm-macros.m4: Check for help2man.
54166
54167 2001-09-11  Jim Meyering  <meyering@lucent.com>
54168
54169         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
54170         The body, by Paul Eggert, was moved here from configure.in.
54171         * m4/jm-macros.m4: Require UTILS_HOST_OS.
54172
54173 2001-09-04  Paul Eggert  <eggert@twinsun.com>
54174
54175         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
54176         (jm_PREREQ): Use it.
54177
54178 2001-09-04  Paul Eggert  <eggert@twinsun.com>
54179
54180         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
54181         Use ssize_t, not int, to store result of readlink.
54182         Check for ssize_t overflow as well as size_t overflow,
54183         as POSIX says the result of readlink is implementation-defined
54184         when ssize_t overflows.
54185         Remove unnecessary cast to char*.
54186         Use free+malloc instead of realloc, as the storage doesn't need
54187         to be preserved and it's clearer and can be more efficient that way.
54188         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
54189         * lib/xreadlink.h (xreadlink): Update prototype.
54190
54191 2001-09-04  Paul Eggert  <eggert@twinsun.com>
54192
54193         * lib/xgetcwd.c: Revert some of the previous change; intead,
54194         fix the HAVE_GETCWD_NULL code to behave more like the
54195         !HAVE_GETCWD_NULL code used to.
54196
54197         Include "xalloc.h".
54198         (xgetcwd): Do not return NULL when memory is exhausted; instead,
54199         invoke xalloc_die.
54200
54201 2001-09-03  Paul Eggert  <eggert@twinsun.com>
54202
54203         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
54204         sys/param.h, as pathmax.h includes them.
54205
54206 2001-09-03  Paul Eggert  <eggert@twinsun.com>
54207
54208         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
54209         (jm_PREREQ_XGETCWD): New macro.
54210
54211         * m4/getcwd.m4: New file.
54212
54213 2001-09-03  Paul Eggert  <eggert@twinsun.com>
54214
54215         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
54216         like the HAVE_GETCWD_NULL code.
54217         Include pathmax.h if not HAVE_GETCWD.
54218         Do not include xalloc.h.
54219         (INITIAL_BUFFER_SIZE): New symbol.
54220         Do not use xmalloc / xrealloc, since the caller is responsible for
54221         handling errors.  Preserve errno around `free' during failure.
54222         Do not overrun buffer when using getwd.
54223
54224 2001-09-03  Paul Eggert  <eggert@twinsun.com>
54225
54226         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
54227         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
54228         getcwd (NULL, 0).
54229
54230 2001-09-03  Paul Eggert  <eggert@twinsun.com>
54231
54232         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
54233         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
54234         spotted by Jim Meyering.
54235
54236 2001-09-03  Jim Meyering  <meyering@lucent.com>
54237
54238         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
54239         failure.
54240
54241 2001-09-02  Jim Meyering  <meyering@lucent.com>
54242
54243         * lib/error.c: Update from GNU libc.
54244
54245 2001-09-01  Jim Meyering  <meyering@lucent.com>
54246
54247         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
54248         Used by df.
54249
54250 2001-09-01  Jim Meyering  <meyering@lucent.com>
54251
54252         * lib/xreadlink.c: New file.
54253         * lib/xreadlink.h: New file.
54254         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
54255         xreadlink.h.
54256
54257         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
54258         doesn't conflict with sparc Solaris 7's definition in
54259         /usr/include/sys/int_types.h.
54260
54261         * lib/exclude.c: Use `""', not `<>' to #include non-system header
54262         files.
54263         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
54264         and strncasecmp as r-values.  Unixware didn't have declarations.
54265
54266 2001-08-31  Paul Eggert  <eggert@twinsun.com>
54267
54268         * lib/xstrtol.h: Add copyright notice.
54269         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
54270         LONGINT_INVALID_SUFFIX_CHAR.
54271
54272 2001-08-31  Paul Eggert  <eggert@twinsun.com>
54273
54274         * lib/xstrtol.c (strtoimax): New decl.
54275
54276 2001-08-31  Paul Eggert  <eggert@twinsun.com>
54277
54278         * lib/xgetcwd.c: Don't include pathmax.h.
54279         Include stdlib.h and unistd.h if available.
54280         Include xalloc.h.
54281         (xmalloc, xstrdup, free): Remove decls.
54282         (xgetcwd): Don't assume sizes fit in unsigned.
54283         Check for overflow when computing sizes.
54284         Simplify reallocation code.
54285
54286 2001-08-31  Paul Eggert  <eggert@twinsun.com>
54287
54288         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
54289         a directory's st_size can have an arbitrary value, so the old
54290         usage could waste an arbitrary amount of memory.  All uses
54291         changed.
54292         * lib/savedir.h: Update prototype.
54293
54294 2001-08-31  Paul Eggert  <eggert@twinsun.com>
54295
54296         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
54297
54298         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
54299         old strtoimax.c.
54300
54301         Also, make the following further changes to make this file's
54302         configuration more similar to that of strtol.c:
54303         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
54304         (strtoumax, uintmax_t, strtoull, strtol): Remove.
54305         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
54306         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
54307         changed to signed values.
54308
54309         And make the following changes as well:
54310         Fix copyright notice, as 1999 was missing.
54311         (verify): New macro.
54312         (strtoimax): Check sizes at compile-time, not run-time.
54313         Prefer strtol to strtoll if both work.
54314         (main): Remove; it was not that useful and was a pain to maintain.
54315
54316         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
54317
54318 2001-08-31  Jim Meyering  <meyering@lucent.com>
54319
54320         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
54321         Use an initial, malloc'd, buffer of length 128 rather than
54322         a statically allocated one of length 1024.
54323
54324 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54325
54326         Simplify code, partly by assuming autoconf 2.52 semantics.
54327
54328         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
54329
54330         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
54331         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
54332         All uses removed.
54333         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
54334         Move AC_REQUIRE to next-to-top level, to avoid confusion.
54335         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
54336         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
54337         jm_AC_HEADER_INTTYPES_H.
54338         * m4/jm-macros.m4 (jm_MACROS): Likewise.
54339
54340         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
54341
54342         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
54343         Quote first arg of AC_DEFUN.
54344         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
54345         since they are needed to parse the include file even if we need
54346         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
54347         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
54348         but with opposite signedness.
54349
54350 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54351
54352         Merge 'exclude' changes from tar 1.13.22.
54353         This fixes one or two unlikely storage allocation overflow bugs,
54354         but doesn't change user-visible behavior otherwise.
54355
54356 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54357
54358         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
54359         (jm_PREREQ_EXCLUDE): New macro.
54360
54361 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54362
54363         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
54364         tm to be declared.
54365
54366 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54367
54368         * lib/hash.c: Remove '2001' from copyright notice.
54369
54370 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54371
54372         * lib/full-write.h: New file.
54373         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
54374         * lib/full-write.c: Correct credits, as cccp.c no longer
54375         exists and anyway it was so heavily changed from the old cccp
54376         code as to be unrecognizable.  Include full-write.h.
54377         (full_write) Return size_t, with short writes meaning failure.
54378         All callers changed.  This fixes a bug with large buffers
54379         on 64-bit hosts.
54380         * lib/utime.c: Include full-write.h.
54381
54382 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54383
54384         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
54385         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
54386         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
54387         Include if available.
54388         (<xalloc.h>): Include
54389         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
54390         (verify): New macro.  Use it to verify that EXCLUDE macros do not
54391         collide with FNM macros.
54392         (struct patopts): New struct.
54393         (struct exclude): Use it, as exclude patterns now come with options.
54394         (new_exclude): Support above changes.
54395         (new_exclude, add_exclude_file):
54396         Initial size must now be a power of two to simplify overflow checking.
54397         (free_exclude, fnmatch_no_wildcards): New function.
54398         (excluded_filename): No longer requires options arg, as the options
54399         are determined by add_exclude.  Now returns bool, not int.
54400         (excluded_filename, add_exclude):
54401         Add support for the fancy new exclusion options.
54402         (add_exclude, add_exclude_file): Now takes int options arg.
54403         Check for arithmetic overflow when computing sizes.
54404         (add_exclude_file): xrealloc might modify errno, so don't
54405         realloc until after errno might be used.
54406
54407         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
54408         New macros.
54409         (free_exclude): New decl.
54410         (add_exclude, add_exclude_file): Now takes int options arg.
54411         (excluded_filename): No longer requires options arg, as the options
54412         are determined by add_exclude.  Now returns bool, not int.
54413
54414 2001-08-30  Paul Eggert  <eggert@twinsun.com>
54415
54416         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
54417
54418 2001-08-27  Jim Meyering  <meyering@lucent.com>
54419
54420         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
54421
54422         * lib/version-etc.c (N_): Remove definition.
54423         Revert most of last change.
54424         Instead, simply don't mark the `Copyright...' string for translation.
54425         Based on advice from Paul Eggert.
54426
54427         * lib/strtoxmax.c: Tweak comment.
54428
54429 2001-08-26  Jim Meyering  <meyering@lucent.com>
54430
54431         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
54432
54433         * m4/xstrtoimax.m4: New file.
54434         * m4/xstrtoumax.m4: Add comments explaining why we
54435         AC_REPLACE_FUNCS(strtol).
54436
54437 2001-08-26  Jim Meyering  <meyering@lucent.com>
54438
54439         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
54440         of copyright with `%s' so translators don't get an untranslated
54441         message in 2002.
54442         (COPYRIGHT_YEAR): Define.
54443         (version_etc): Use fprintf rather than fputs.
54444         Suggestion from Ulrich Drepper.
54445
54446         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
54447
54448         * lib/strtoll.c: New file, from GNU libc.
54449         * lib/xstrtoimax.c: New file.
54450
54451         * lib/xstrtol.h: Add xstrtoimax.
54452         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
54453         * lib/strtoimax.c: New file.  Likewise, but first define
54454         STRTOUXMAX_SIGNED.
54455
54456         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
54457         ...
54458         * lib/strtoxmax.c: ... then renamed to this.
54459
54460 2001-08-18  Paul Eggert  <eggert@twinsun.com>
54461
54462         * m4/inttypes.m4: Add AC_PREREQ(2.13).
54463         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
54464         (jm_AC_TYPE_INTMAX_T): New macro.
54465         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
54466
54467         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
54468
54469         * m4/longlong.m4: Renamed from ulonglong.m4.
54470         * m4/inttypes.m4: Renamed from inttypes_h.m4.
54471         * m4/uintmax_t.m4: Removed.
54472
54473 2001-08-13  Paul Eggert  <eggert@twinsun.com>
54474
54475         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
54476         Port to Solaris 8, where 'sed' requires a space after the 'r'
54477         command, and where sh dislikes "$/".  Clean up the spacing a bit.
54478         Redirect output to $tmp just once.
54479
54480 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
54481
54482         * lib/addext.c (<errno.h>): Include.
54483         (errno): Declare if not defined.
54484         (addext): Work correctly when pathconf returns -1 and leaves
54485         errno alone because there is no limit.  Also, work even if
54486         pathconf returns a value greater than SIZE_MAX.
54487
54488 2001-08-12  Jim Meyering  <meyering@lucent.com>
54489
54490         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
54491         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
54492         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
54493         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
54494         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
54495         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
54496         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
54497         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
54498         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
54499         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
54500         utime.m4, utimes.m4, xstrtoumax.m4:
54501         Quote the first argument in each use of AC_DEFUN.
54502
54503 2001-08-12  Jim Meyering  <meyering@lucent.com>
54504
54505         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
54506         Simply `return getcwd (NULL, 0);'.
54507         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
54508         Use 1300 as initial value for length, not PATH_MAX.
54509
54510         * lib/pathmax.h: Clean up cpp syntax.
54511
54512 2001-08-12  Jim Meyering  <meyering@lucent.com>
54513
54514         * lib/gettimeofday.c: New file.
54515         * lib/gtod.h: New file.
54516         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
54517
54518 2001-08-05  Jim Meyering  <meyering@lucent.com>
54519
54520         * m4/jm-macros.m4: Require autoconf-2.52.
54521
54522 2001-08-04  Jim Meyering  <meyering@lucent.com>
54523
54524         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
54525         stmt, to get in sync with glibc.
54526
54527 2001-08-03  Paul Eggert  <eggert@twinsun.com>
54528
54529         The following changes are from gettext 0.10.39 as maintained by
54530         Bruno Haible.
54531
54532         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
54533         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
54534         with inverted sense.  All uses changed.
54535
54536         * lib/mbswidth.c: Don't include <limits.h>.
54537         Include <stdlib.h> and <string.h> unconditionally.
54538         (iswcntrl, mbsinit, ISCNTRL): New macros.
54539         (mbsnwidth): Use K&R style function declarations.
54540         Don't bother checking for MB_LEN_MAX == 1, since the compiler
54541         can optimize it when MB_CUR_MAX == 1.
54542         The width of control characters is zero, not 1.
54543
54544 2001-08-03  Paul Eggert  <eggert@twinsun.com>
54545
54546         The following changes are from gettext 0.10.39 as maintained by
54547         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
54548
54549         * m4/codeset.m4: Upgrade to serial AM1.
54550         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
54551         all uses changed.  Quote first arg of AC_DEFUN.
54552         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
54553
54554         * m4/iconv.m4: Upgrade to serial AM2.
54555         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
54556         Add --with-libconv-prefix.
54557         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
54558         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
54559         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
54560         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
54561         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
54562
54563         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
54564         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
54565         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
54566         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
54567         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
54568         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
54569         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
54570         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
54571         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
54572
54573         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
54574         string.h any more.
54575
54576         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
54577         not the default value.
54578
54579         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
54580         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
54581         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
54582         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
54583         Also check for iswcntrl, used for wcwidth fallback.
54584         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
54585         to Autoconf 2.13.
54586
54587 2001-08-03  Jim Meyering  <meyering@lucent.com>
54588
54589         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
54590         as it was in the original.  Reported by Paul Eggert.
54591
54592 2001-07-16  Jim Meyering  <meyering@lucent.com>
54593
54594         * m4/gettimeofday.m4: New file.
54595         Prompted by a report from Bernhard Baehr.
54596
54597 2001-07-15  Jim Meyering  <meyering@lucent.com>
54598
54599         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
54600         stuff. Now it's in ../Makefile.cfg.
54601
54602 2001-07-15  Jim Meyering  <meyering@lucent.com>
54603
54604         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
54605         (BUILT_SOURCES): Add unlocked-io.h.
54606         (io_functions): Define.
54607         (unlocked-io.h): New rule.
54608         (DISTCLEANFILES): Add unlocked-io.h.
54609         (all-local): Depend on unlocked-io.h, to ensure it is created.
54610
54611         * lib/unlocked-io.hin: New file
54612
54613         * lib/regex.c: Update from glibc.
54614
54615 2001-07-05  Jim Meyering  <meyering@lucent.com>
54616
54617         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
54618         recommendation.
54619         (libfetish_a_SOURCES): Put all .h files here instead.
54620         Remove a thus-exposed (better checks in automake) duplicate and
54621         two unnecessary .h files.
54622
54623 2001-07-04  Jim Meyering  <meyering@lucent.com>
54624
54625         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
54626         that generates jm-glibc-io.m4 so that it doesn't trigger any make
54627         distcheck failure.
54628
54629 2001-07-02  Jim Meyering  <meyering@lucent.com>
54630
54631         The following changes were prompted by suggestions from Bruno Haible.
54632
54633         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
54634         is now generated.
54635         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
54636         definition of EXTRA_DIST.
54637         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
54638         ensure that the generated file is created/updated whenever the list
54639         of $(unlocked_functions) is changed.
54640         (jm-glibc-io.m4): New rule.
54641         (unlocked-io.h): New rule -- currently unused.
54642
54643 2001-06-24  Jim Meyering  <meyering@lucent.com>
54644
54645         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
54646         unmatched right bracket, rather than kludging it with an extra,
54647         falsely-matching quote in a comment.  Patch by Akim Demaille.
54648
54649 2001-06-11  Jim Meyering  <meyering@lucent.com>
54650
54651         * lib/regex.c: Update from GNU libc.
54652
54653 2001-05-27  Jim Meyering  <meyering@lucent.com>
54654
54655         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
54656         Check for ut_type in struct utmp.
54657
54658 2001-05-27  Jim Meyering  <meyering@lucent.com>
54659
54660         * lib/readutmp.h (UT_TYPE): Define.
54661
54662 2001-05-24  Jim Meyering  <meyering@lucent.com>
54663
54664         * lib/argmatch.c: Include "quote.h".
54665         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
54666         quote function.  Reported by Göran Uddeborg.
54667
54668 2001-05-22  Jim Meyering  <meyering@lucent.com>
54669
54670         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
54671         now that we use the package-supplied version unconditionally.
54672         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
54673
54674 2001-05-21  Jim Meyering  <meyering@lucent.com>
54675
54676         * m4/regex.m4: Change a couple backticks to single quotes to avoid
54677         shell syntax errors.
54678
54679 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
54680
54681         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
54682
54683 2001-05-20  Paul Eggert  <eggert@twinsun.com>
54684
54685         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
54686         Don't bother to check library strftime, since
54687         we'll be using our own my_strftime function anyway.
54688         Define my_strftime instead of strftime.
54689
54690 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
54691
54692         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
54693         which is not yet declared.
54694
54695 2001-05-15  Jim Meyering  <meyering@lucent.com>
54696
54697         * m4/regex.m4: Use proper quoting so brackets appear in the test
54698         program.
54699         Reported by, and with help from, Bruno Haible.
54700
54701 2001-05-13  Jim Meyering  <meyering@lucent.com>
54702
54703         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
54704         undefined.
54705
54706 2001-05-11  Paul Eggert  <eggert@twinsun.com>
54707
54708         dirname code cleanup.  base_name now behaves more compatibly
54709         with POSIX basename when given file names that have trailing
54710         slashes, and similarly for dir_name.  Add new primitives
54711         base_len and dir_len.  Put the directory-name-related decls
54712         into dirname.h.
54713
54714         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
54715         * lib/backupfile.c (base_name): Likewise.
54716         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
54717         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
54718         * lib/makepath.c (strip_trailing_slashes): Likewise.
54719         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
54720         ISSLASH): Likewise.
54721         * lib/rename.c (strip_trailing_slashes): Likewise.
54722         * lib/same.c (base_name): Likewise.
54723         * lib/stripslash.c (ISSLASH): Likewise.
54724
54725         * lib/addext.c: Include <dirname.h> after size_t is defined.
54726         * lib/backupfile.c: Likewise.
54727
54728         * lib/addext.c (addext): Use base_len to trim redundant
54729         trailing slashes instead of doing it ourselves.
54730         But do not trim the last slash if it is not redundant.
54731
54732         * lib/backupfile.c (find_backup_file_name,
54733         max_backup_version): Use base_len instead of rolling it ourselves.
54734         Handle the case of "" and (on DOS) "C:" correctly.
54735
54736         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
54737         needed. Include <string.h>, <dirname.h>.
54738         (base_name): Allow file names ending in slashes, other than names
54739         that are all slashes.  In this case, return the basename followed
54740         by the slashes.  This is more general, and can be used in places
54741         where the original base_name purposely had an assertion failure.
54742         (base_len): New function.
54743
54744         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
54745         Do not include <assert.h>; no longer needed.
54746         Include xalloc.h.
54747         (memrchr): Remove decl.
54748         (dir_name_r): Remove.
54749         (dir_len): Renamed from dirlen.  All callers changed.
54750         Rewrite in terms of base_name, for simplicity and consistency.
54751         (dir_name): Never return NULL.  All callers changed.
54752         Do not include <stdlib.h> in test program; no longer needed.
54753         return 0; is fine for test program.
54754
54755         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
54756         New macros.
54757         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
54758
54759         * lib/path-concat.c (path_concat): Use base_len to compute
54760         base length, not strlen; this means we cannot rely on memcpy
54761         to null-terminate.
54762
54763         * lib/same.c (STREQ): Remove.
54764         (same_name): Handle the case where the basename ends in trailing '/'.
54765
54766         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
54767         a slash was stripped.  Do not strip the last slash after a
54768         file system prefix.
54769
54770 2001-05-11  Paul Eggert  <eggert@twinsun.com>
54771
54772         * lib/Makefile.am (libfetish_a_SOURCES):
54773         Add strftime.c, since we now compile it on all hosts.
54774
54775         * lib/strftime.c (my_strftime):
54776         Define to nstrftime if emacs, but only if my_strftime is not defined.
54777         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
54778         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
54779         Add one more extra argument: a nanoseconds value.
54780         All uses changed.
54781         (ns): New macro.
54782         (my_strftime function): Add %N format.
54783         (emacs_strftimeu): Renamed from emacs_strftime,
54784         with extra ut argument.
54785
54786 2001-05-09  Paul Eggert  <eggert@twinsun.com>
54787
54788         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
54789
54790 2001-04-21  Jim Meyering  <meyering@lucent.com>
54791
54792         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
54793         doesn't interfere.
54794
54795 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
54796
54797         * m4/ftruncate.m4: Check for chsize.
54798         Link with ftruncate.o unconditionally if ftruncate is missing.
54799         This was required when cross-compiling to i586-mingw32msvc.
54800
54801 2001-04-08  Jim Meyering  <meyering@lucent.com>
54802
54803         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
54804         recomputed; that's necessary when the offset spans a DST transition.
54805         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
54806
54807 2001-04-02  Jim Meyering  <meyering@lucent.com>
54808
54809         * lib/regex.h, regex.c: Update from GNU libc.
54810
54811 2001-03-24  Jim Meyering  <meyering@lucent.com>
54812
54813         * m4/jm-macros.m4: Require autoconf-2.49d.
54814
54815 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
54816
54817         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
54818
54819 2001-03-19  Paul Eggert  <eggert@twinsun.com>
54820
54821         * lib/version-etc.c (version_etc_copyright): Update to 2001.
54822
54823 2001-03-17  Jim Meyering  <meyering@lucent.com>
54824
54825         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
54826         now that the version in autoconf is equivalent.
54827         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
54828
54829         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
54830         Suggestion from Akim Demaille.
54831
54832         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
54833         (jm_PREREQ_TEMPNAME): New function.
54834
54835 2001-03-16  Paul Eggert  <eggert@twinsun.com>
54836
54837         * lib/tempname.c (uint64_t): Define to uintmax_t if
54838         not defined, and if UINT64_MAX is not defined.
54839         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
54840         Reported by John David Anglin.
54841
54842 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
54843
54844         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
54845         resolve alias if codeset is empty.
54846         * lib/config.charset (BeOS): Use wildcard syntax.
54847
54848 2001-03-13  Jim Meyering  <meyering@lucent.com>
54849
54850         * lib/path-concat.c (path_concat)
54851         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
54852         concatenating e.g., `C:' and `foo'.
54853         From Bruno Haible.
54854
54855 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
54856
54857         * lib/localcharset.c (locale_charset): Don't use
54858         setlocale(LC_CTYPE,NULL). Don't return NULL.
54859         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
54860
54861 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
54862
54863         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
54864         support for DOS/DJGPP.
54865
54866 2001-03-01  Paul Eggert  <eggert@twinsun.com>
54867
54868         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
54869         lacks mkstemp.  Compile our own tempname.c if we compile our own
54870         mkstemp.c, as mkstemp relies on tempname.
54871
54872 2001-03-01  Jim Meyering  <meyering@lucent.com>
54873
54874         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
54875         AH_VERBATIM really does output its argument verbatim.
54876
54877 2001-02-28  Paul Eggert  <eggert@twinsun.com>
54878
54879         * lib/Makefile.am (libfetish_a_SOURCES):
54880         Add dup-safer.c, fopen-safer.c.
54881         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
54882
54883         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
54884         * lib/unistd-safer.h: New files.
54885
54886 2001-02-25  Paul Eggert  <eggert@twinsun.com>
54887
54888         The mkstemp replacement is taken from glibc 2.2.2, with some
54889         portability fixes for use outside glibc, as follows:
54890
54891         * lib/tempname.c (struct_stat64): New macro.
54892         (direxists, __gen_tempname): Use it.
54893         This avoids a portability problem with Solaris 8.
54894
54895         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
54896         (<stddef.h>, <stdint.h>, <string.h>):
54897         Include only if STDC_HEADERS || _LIBC.
54898         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
54899         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
54900         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
54901         (__set_errno): Define this macro if <errno.h> doesn't.
54902         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
54903         Define these macros if <stdio.h> doesn't.
54904         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
54905         Define these macros if <sys/stat.h>
54906         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
54907         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
54908         __xstat64): Define if not _LIBC.
54909         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
54910         (__gen_tempname): Invoke gettimeofday only if
54911         HAVE_GETTIMEOFDAY || _LIBC;
54912         otherwise, fall back on plain "time".
54913         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
54914
54915         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
54916
54917         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
54918
54919 2001-02-18  Paul Eggert  <eggert@twinsun.com>
54920
54921         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
54922
54923 2001-02-17  Paul Eggert  <eggert@twinsun.com>
54924
54925         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
54926         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
54927         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
54928         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
54929
54930 2001-02-17  Paul Eggert  <eggert@twinsun.com>
54931
54932         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
54933         Remove workaround macros for hosts that have mbrtowc but not
54934         mbstate_t, as we now insist on proper declarations for both
54935         before using mbrtowc.
54936
54937 2001-02-17  Jim Meyering  <meyering@lucent.com>
54938
54939         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
54940         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
54941         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
54942         UnixWare 7.1.1.
54943
54944         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
54945         rather than AC_CACHE_VAL.
54946
54947 2001-02-17  Jim Meyering  <meyering@lucent.com>
54948
54949         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
54950         around included file name.
54951
54952         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
54953
54954         * lib/strftime.c: Update from GNU libc (the only changes were to
54955         comments).
54956
54957 2001-02-17  Jim Meyering  <meyering@lucent.com>
54958
54959         * lib/regex.c: Update from libc.
54960
54961 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
54962
54963         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
54964         clash.
54965
54966 2001-02-16  Paul Eggert  <eggert@twinsun.com>
54967
54968         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
54969         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
54970         Reported by Mark Hounschell via Paul Eggert.
54971
54972 2001-02-07  Jim Meyering  <meyering@lucent.com>
54973
54974         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
54975
54976 2001-02-05  Jim Meyering  <meyering@lucent.com>
54977
54978         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
54979         it includes the patch required for `large file' support with at least
54980         HP-UX's 10.20 /bin/cc.
54981
54982 2001-02-03  Jim Meyering  <meyering@lucent.com>
54983
54984         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
54985         AS_IF, now that it works once again (mysteriously).
54986         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
54987
54988 2001-01-30  Jim Meyering  <meyering@lucent.com>
54989
54990         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
54991         * m4/chown.m4: Rename conftestchown to conftest.chown.
54992         * m4/rename.m4: s/conftestdir/conftest.d1/ and
54993         s/conftestdir2/conftest.d2/.
54994         * m4/utimes.m4: s/conftestdata/conftest.data/
54995         Inspired by Pavel Roskin's change in autoconf.
54996
54997 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
54998
54999         * lib/config.charset: Update for FreeBSD 4.2.
55000
55001 2001-01-27  Jim Meyering  <meyering@lucent.com>
55002
55003         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
55004         a use of AS_IF.
55005         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
55006
55007 2001-01-26  Jim Meyering  <meyering@lucent.com>
55008
55009         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
55010         quotearg.c includes it.
55011
55012 2001-01-26  Jim Meyering  <meyering@lucent.com>
55013
55014         * lib/quotearg.c: Include stddef.h.
55015         * lib/quote.c: Include stddef.h.
55016         Reported by Axel Kittenberger.
55017
55018         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
55019         line in double quotes so that it evokes a better diagnostic.
55020         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
55021         Reported by Axel Kittenberger.
55022
55023 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
55024
55025         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
55026         as if it was a `charset'.
55027
55028 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
55029
55030         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
55031         has const.
55032
55033 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
55034
55035         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
55036         to avoid a warning.  Add back 'const' to inptr.
55037
55038 2001-01-20  Jim Meyering  <meyering@lucent.com>
55039
55040         Be sure that headers are checked before used in code compiled
55041         for the type checks.
55042         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
55043         In place of that, invoke jm_CHECK_ALL_TYPES.
55044         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
55045         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
55046         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
55047         The check for ssize_t was mistakenly run before the test for unistd.h.
55048
55049         The configure-time check for stdbool.h was missing.
55050         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
55051         (jm_PREREQ_HASH): New function.
55052
55053 2001-01-17  Jim Meyering  <meyering@lucent.com>
55054
55055         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
55056         for autoconf-2.49c.
55057         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
55058
55059 2001-01-16  Jim Meyering  <meyering@lucent.com>
55060
55061         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
55062         From Bruno Haible.
55063
55064 2001-01-14  Jim Meyering  <meyering@lucent.com>
55065
55066         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
55067         foo and bar.  Create conftestdir/ in the script, not in the C code.
55068         Remove directories in the script, not in the C code.
55069         Remove conftestdir{,2} before trying to create the directory.
55070         Make the entire configure script fail if the mkdir fails.
55071
55072 2001-01-14  Jim Meyering  <meyering@lucent.com>
55073
55074         * lib/rename.c: New file.  From Volker Borchert.
55075         Include stdlib.h, string.h or strings.h, and xalloc.h.
55076         Use strip_trailing_slashes rather than open-coding it.
55077
55078 2001-01-03  Paul Eggert  <eggert@twinsun.com>
55079
55080         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
55081
55082 2001-01-03  Jim Meyering  <meyering@lucent.com>
55083
55084         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
55085         of local `inptr' to avoid warning with some system declarations of
55086         iconv.
55087
55088 2001-01-02  Volker Borchert  <bt@teknon.de>
55089
55090         * m4/rename.m4: New file.
55091         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
55092
55093 2001-01-01  Jim Meyering  <meyering@lucent.com>
55094
55095         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
55096         even on systems with utmpx.h.  It's necessary for the declaration of
55097         utmp's ut_user member.  Reported by Andreas Jaeger.
55098
55099         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
55100         available. They are required for the declarations of getgrgid and
55101         getpwuid resp.
55102         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
55103         Reported by Andreas Jaeger.
55104
55105 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
55106
55107         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
55108         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
55109         so `make install' also works in VPATH builds.
55110
55111 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
55112
55113         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
55114         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
55115         can be used in subdirectories.
55116
55117 2000-12-29  Paul Eggert  <eggert@twinsun.com>
55118
55119         * lib/modechange.c: Do not assume that mode_t uses the
55120         traditional octal encoding.  E.g. "chmod 1 FOO" should set
55121         the other-execute bit of FOO even if S_IXOTH != 1.
55122
55123         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
55124         WOTH, XOTH, ALLM): New macros.
55125         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
55126          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
55127         Use them.
55128         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
55129         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
55130         (mode_compile):
55131         No need to use uintmax_t; unsigned long is long enough.
55132         Don't bother to get suffix since we don't use it.
55133
55134 2000-12-26  Jim Meyering  <meyering@lucent.com>
55135
55136         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
55137         better with autoheader.
55138
55139 2000-12-24  Jim Meyering  <meyering@lucent.com>
55140
55141         * lib/hash.c (is_prime): Return explicit boolean values.
55142         (hash_get_first): Return NULL to appease Irix5.6's 89.
55143         Reported by Nelson Beebe.
55144
55145 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
55146
55147         * lib/localcharset.c (locale_charset): Add support for Win32.
55148
55149 2000-12-18  Paul Eggert  <eggert@twinsun.com>
55150
55151         * lib/physmem.h, lib/physmem.c: New files.
55152
55153         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
55154         (noinst_HEADERS): Add physmem.h.
55155
55156         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
55157         't' for compatibility with Solaris 8 sort.
55158
55159 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
55160
55161         * lib/config.charset: Add support for BeOS.
55162
55163 2000-12-17  Jim Meyering  <meyering@lucent.com>
55164
55165         * m4/dos.m4 (jm_AC_DOS): New file and macro.
55166         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
55167
55168 2000-12-16  Jim Meyering  <meyering@lucent.com>
55169
55170         This bug had a serious impact on chown: `chown N:M FILE' (for integer
55171         N and M) would have treated it like `chown N:N FILE'.
55172
55173         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
55174
55175 2000-12-16  Jim Meyering  <meyering@lucent.com>
55176
55177         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
55178         SHELLS_FILE to a file name that's useful on djgpp systems.
55179         Include stdlib.h.
55180         (ADDITIONAL_DEFAULT_SHELLS): Define.
55181         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
55182         Based mostly on a patch from Prashant TR.
55183
55184 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
55185
55186         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
55187         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
55188         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
55189
55190 2000-12-08  Andreas Schwab  <schwab@suse.de>
55191
55192         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
55193         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
55194
55195 2000-12-07  Jim Meyering  <meyering@lucent.com>
55196
55197         * lib/stripslash.c (ISSLASH): Define.
55198         (strip_trailing_slashes): Use ISSLASH rather than comparing against
55199         `/'.
55200         From Prashant TR.
55201
55202         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
55203         (dir_name_r): Declare this function as static.
55204         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
55205         manifest itself on a name containing a mix of slashes and
55206         backslashes.
55207         Make this function work with names starting with a DOS-style
55208         drive letter and colon prefix.
55209         (dir_name): Append `.' if necessary.
55210         Based mostly on patches from Prashant TR and Eli Zaretskii.
55211
55212         * lib/dirname.h (dir_name_r): Remove prototype.
55213
55214 2000-12-06  Paul Eggert  <eggert@twinsun.com>
55215
55216         * m4/off_t-format.m4: Remove this file.
55217         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
55218
55219 2000-12-06  Jim Meyering  <meyering@lucent.com>
55220
55221         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
55222         replacement strtoull, we may well need the replacement strtoul, too.
55223         Check for declarations of strtoul and strtoull.
55224         Check for strtol.  Mainly as a cue to cause automake to include
55225         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
55226         Check for limits.h -- strtol.c needs it.
55227
55228 2000-12-05  Jim Meyering  <meyering@lucent.com>
55229
55230         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
55231
55232 2000-12-04  Jim Meyering  <meyering@lucent.com>
55233
55234         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
55235         Also include memory.h, stdlib.h, unistd.h if appropriate.
55236         Reported by Andreas Jaeger (conflicting declaration of malloc).
55237
55238 2000-12-02  Jim Meyering  <meyering@lucent.com>
55239
55240         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
55241         * m4/jm-macros.m4 (jm_MACROS): require it.
55242
55243 2000-12-02  Jim Meyering  <meyering@lucent.com>
55244
55245         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
55246
55247 2000-12-01  Paul Eggert  <eggert@twinsun.com>
55248
55249         * lib/memrchr.c: Include <config.h> before any system include file.
55250
55251 2000-11-30  Jim Meyering  <meyering@lucent.com>
55252
55253         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
55254
55255 2000-11-30  Jim Meyering  <meyering@lucent.com>
55256
55257         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
55258
55259 2000-11-29  Paul Eggert  <eggert@twinsun.com>
55260
55261         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
55262
55263 2000-11-26  Jim Meyering  <meyering@lucent.com>
55264
55265         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
55266
55267 2000-11-22  Paul Eggert  <eggert@twinsun.com>
55268
55269         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
55270         size of (size_t) -1; it's not portable.
55271
55272 2000-11-17  Jim Meyering  <meyering@lucent.com>
55273
55274         * lib/strstr.c: Update from GNU libc.
55275
55276 2000-11-17  Akim Demaille  <akim@epita.fr>
55277
55278         * lib/obstack.h: Formatting changes.
55279         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
55280         prevent type checking.
55281         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
55282         cast the value to (void *): assigning a `foo *' to a `void *'
55283         variable is valid.
55284         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
55285
55286 2000-11-16  Jim Meyering  <meyering@lucent.com>
55287
55288         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
55289
55290 2000-11-11  Jim Meyering  <meyering@lucent.com>
55291
55292         * lib/error.c: Add a couple #includes, merging from GNU libc version.
55293
55294 2000-11-10  Jim Meyering  <meyering@lucent.com>
55295
55296         * lib/obstack.h: Update from GNU libc.
55297         * lib/obstack.c: Likewise.
55298
55299 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
55300
55301         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
55302
55303 2000-11-06  Paul Eggert  <eggert@twinsun.com>
55304
55305         * lib/getusershell.c (setusershell): Use rewind rather than
55306         fseek/fseeko, to avoid configuration hassles with fseeko.
55307         Don't bother opening SHELLS_FILE if shellstream is NULL;
55308         it's not necessary.
55309
55310 2000-11-05  Jim Meyering  <meyering@lucent.com>
55311
55312         * lib/makepath.h (make_dir): Declare.
55313         * lib/makepath.c (make_dir): Remove `static' attribute.
55314         Tweak a comment.
55315
55316 2000-11-04  Jim Meyering  <meyering@lucent.com>
55317
55318         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
55319
55320 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
55321
55322         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
55323         last one in a bucket, advance to the next bucket.
55324
55325 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
55326
55327         * lib/fnmatch.c: Do not comment out all the code if we are using
55328         the GNU C library, because in some cases we are replacing buggy
55329         code in the GNU C library itself.
55330
55331 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
55332
55333         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
55334         (regex_compile): Catch bogus \(\1\).
55335
55336 2000-10-30  Paul Eggert  <eggert@twinsun.com>
55337
55338         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
55339         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
55340         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
55341
55342 2000-10-30  Paul Eggert  <eggert@twinsun.com>
55343
55344         * lib/error.h, getline.h, modechange.h:
55345         Remove "2000" from Copyright line, as the file hasn't been
55346         changed this year other than in the copyright notice.
55347
55348         * lib/xalloc.h: Add "2000" to Copyright line, as this file
55349         was changed this year.
55350
55351 2000-10-29  Jim Meyering  <meyering@lucent.com>
55352
55353         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
55354         renaming.
55355         * m4/ls-mntd-fs.m4: Likewise
55356
55357 2000-10-29  Jim Meyering  <meyering@lucent.com>
55358
55359         * lib/xstat.in: Fix grammar in comment.
55360
55361 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
55362
55363         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
55364         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
55365         doesn't define __restrict_arr.
55366
55367 2000-10-28  Jim Meyering  <meyering@lucent.com>
55368
55369         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
55370         (jm_PREREQ_MEMCHR): New function.
55371
55372 2000-10-28  Jim Meyering  <meyering@lucent.com>
55373
55374         * lib/memchr.c: Update from libc.
55375         Adjust for portability:
55376         [HAVE_STDLIB_H]: Include stdlib.h.
55377         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
55378         Undef __memchr, too.
55379         [!weak_alias]: Define __memchr to memchr.
55380
55381         * lib/regex.c: Update from libc.
55382         * lib/regex.h: Likewise.
55383         * lib/getopt1.c: Likewise.
55384         * lib/memcmp.c: Likewise.
55385
55386         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
55387         Avoid using fseek, when possible -- it's broken by design.
55388         Patch by Ulrich Drepper.
55389
55390 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
55391
55392         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
55393         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
55394         Giving in to popular pressure to shut up the compiler with casts.
55395
55396 2000-10-26  Jim Meyering  <meyering@lucent.com>
55397
55398         * lib/strftime.c: Update from libc.
55399
55400 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
55401
55402         * regex.c: More `unsigned char' -> `re_char' changes.
55403         Also change several `int' into `re_wchar_t'.
55404         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
55405         (PUSH_FAILURE_POINTER): Don't cast any more.
55406         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
55407         We want GCC to complain, since this piece of code makes
55408         re_match non-reentrant, which *should* be fixed.
55409         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
55410         (EXTEND_BUFFER): Use RETALLOC.
55411         (SET_LIST_BIT): Don't cast.
55412         (re_wchar_t): New type.
55413         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
55414         that those two functions will always properly return.
55415         (IMMEDIATE_QUIT_CHECK): Cast to void.
55416         (analyse_first): Use recursion rather than an explicit stack.
55417         (re_compile_fastmap): Can't fail anymore.
55418         (re_search_2): Don't check re_compile_fastmap for failure.
55419         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
55420         Now also sets the new value (passed in a new argument).
55421         (re_match_2_internal): Use it.
55422         Also, use a new var `reg' of type size_t when looping through regs
55423         rather than reuse the inappropriate `mcnt'.
55424
55425 2000-10-25  Jim Meyering  <meyering@lucent.com>
55426
55427         * lib/obstack.c: Update from libc.
55428
55429 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
55430
55431         * regex.c (regex_compile): Change the way of handling a range from
55432         a char less than 256 to a char not less than 256.
55433
55434 2000-10-24  Andrew Innes  <andrewi@gnu.org>
55435
55436         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
55437         NT-Emacs only.
55438         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
55439         so that re_search functions only quit when callers expect them to.
55440
55441 2000-10-23  Jim Meyering  <meyering@lucent.com>
55442
55443         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
55444         wrong.  That set_locale call must not have any side effects.
55445         From Paul Eggert.
55446
55447 2000-10-22  Jim Meyering  <meyering@lucent.com>
55448
55449         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
55450         [CYCLIC]: Remove now-unused definition.
55451
55452         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
55453         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
55454         Suggestion from Ulrich Drepper.
55455
55456 2000-10-21  Jim Meyering  <meyering@lucent.com>
55457
55458         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
55459         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
55460         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
55461
55462 2000-10-21  Jim Meyering  <meyering@lucent.com>
55463
55464         * lib/dirname.c (memrchr): Declare if necessary.
55465         (dir_name): Remove the restriction that there be no
55466         trailing slashes.  Now, this code skips past them, effectively
55467         ignoring them.
55468         [TEST_DIRNAME] (main): New unit tests.
55469
55470         * lib/memrchr.c: New file from GNU libc.
55471         Undef __memrchr, too.
55472         [!weak_alias]: Define __memrchr to memrchr.
55473         Guard weak_alias use with `#ifdef weak_alias'.
55474
55475 2000-10-21  Jim Meyering  <meyering@lucent.com>
55476
55477         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
55478         (dir_name): Use dir_name_r.
55479         * lib/dirname.h (dir_name_r): Declare it.
55480
55481 2000-10-17  Jim Meyering  <meyering@lucent.com>
55482
55483         * lib/quote.h (PARAMS): Define and use.
55484         Reported by Akim Demaille.
55485
55486         * lib/getopt.c: Update from libc.
55487
55488 2000-10-16  Jim Meyering  <meyering@lucent.com>
55489
55490         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
55491         setlocale.
55492         From Jan Fedak.
55493
55494 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
55495
55496         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
55497
55498 2000-09-25  Jim Meyering  <meyering@lucent.com>
55499
55500         * lib/md5.h (rol): Define (from GnuPG).
55501
55502         * lib/sha.c: Give credit (GnuPG) where due.
55503         (M): Use rol rather than open-coding it.
55504         Add a FIXME comment.
55505
55506 2000-09-21  Jim Meyering  <meyering@lucent.com>
55507
55508         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
55509         Reported by Michael Stone.
55510
55511 2000-09-20  Jim Meyering  <meyering@lucent.com>
55512
55513         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
55514         (noinst_HEADERS): Add sha.h.
55515         Based on code from Scott G. Miller and from GnuPG.
55516
55517 2000-09-18  Jim Meyering  <meyering@lucent.com>
55518
55519         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
55520         LIBS. Otherwise, everyone ends up linking with -lelf for some
55521         configurations.
55522         Reported by Mike Stone.
55523
55524 2000-09-15  Jim Meyering  <meyering@lucent.com>
55525
55526         * lib/regex.c: Update from libc.
55527
55528 2000-09-10  Jim Meyering  <meyering@lucent.com>
55529
55530         * lib/getopt.c (_getopt_internal): Update from glibc.
55531
55532 2000-09-09  Jim Meyering  <meyering@lucent.com>
55533
55534         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
55535         think it should be used as a general replacement for isascii.
55536         * lib/fnmatch.c: Likewise.
55537         * lib/mbswidth.c: Likewise
55538         * lib/regex.c: Likewise.
55539
55540         Don't use atoi.
55541         * lib/userspec.c: Include sys/param.h and limits.h.
55542         Include xstrtol.h.
55543         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
55544         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
55545         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
55546         UID, GID.  Check range.
55547
55548 2000-09-06  Jim Meyering  <meyering@lucent.com>
55549
55550         * lib/getopt.c (_getopt_internal): Update from glibc.
55551
55552 2000-08-30  Jim Meyering  <meyering@lucent.com>
55553
55554         * lib/strftime.c: Merge in changes from GNU libc.
55555
55556 2000-08-26  Jim Meyering  <meyering@lucent.com>
55557
55558         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
55559         * m4/fpending.m4: New file.
55560
55561 2000-08-26  Jim Meyering  <meyering@lucent.com>
55562
55563         * lib/closeout.c: Include "__fpending.h".
55564         (close_stdout_status): Return right away if there's nothing to flush.
55565
55566         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
55567         * lib/__fpending.c: New file.
55568         * lib/__fpending.h: New file.
55569
55570 2000-08-20  Jim Meyering  <meyering@lucent.com>
55571
55572         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
55573         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
55574         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
55575
55576 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
55577
55578         Improve fileutils installation on systems where running
55579         programs (like install) can't be unlinked.
55580         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
55581         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
55582
55583 2000-08-07  Paul Eggert  <eggert@twinsun.com>
55584
55585         Standardize on "memory exhausted" instead of "Memory exhausted"
55586         or "virtual memory exhausted".
55587         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
55588         "virtual memory exhausted".
55589         * lib/same.c (same_name): Invoke xalloc_die instead of printing
55590         our own message.
55591         * lib/userspec.c (parse_user_spec): Likewise.
55592         * lib/bumpalloc.h: comment fix
55593         * lib/same.c, userspec.c: Include xalloc.h.
55594
55595         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
55596         not char *const and pointing to a constant array.
55597         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
55598         (xrealloc): Comment fix.
55599
55600         * lib/userspec.c (parse_user_spec):
55601         Don't translate a message until just before returning,
55602         to avoid unnecessary translation.
55603
55604 2000-08-07  Jim Meyering  <meyering@lucent.com>
55605
55606         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
55607         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
55608         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
55609         getgroups.c, gethostname.c, getopt.h, group-member.c,
55610         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
55611         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
55612         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
55613         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
55614         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
55615         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
55616         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
55617         yesno.c: Back out Copyright date changes for each file with no change
55618         this year.  This eases coordination with other programs using the same
55619         source code modules.  From Paul Eggert.
55620
55621 2000-08-06  Paul Eggert  <eggert@twinsun.com>
55622
55623         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
55624         not char, for compatibility with glibc 2.1.3 strftime.c.
55625
55626 2000-08-03  Greg McGary  <greg@mcgary.org>
55627
55628         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
55629         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
55630         (EXTEND_BUFFER): Use them.
55631
55632 2000-08-01  Jim Meyering  <meyering@lucent.com>
55633
55634         * lib/dirname.c (ISSLASH): Define.
55635         (BACKSLASH_IS_PATH_SEPARATOR): Define.
55636         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
55637         both `\' and `/' may be use as path separators.
55638         Based on a patch from Prashant TR.
55639
55640 2000-07-31  Paul Eggert  <eggert@twinsun.com>
55641
55642         * lib/quotearg.c (quotearg_n_options): Don't make the initial
55643         slot vector a constant, since it might get modified.
55644
55645 2000-07-31  Jim Meyering  <meyering@lucent.com>
55646
55647         * lib/xmalloc.c: Use `virtual memory exhausted', not
55648         `Memory exhausted'.
55649         * lib/obstack.c (print_and_abort): Likewise.
55650
55651 2000-07-30  Paul Eggert  <eggert@twinsun.com>
55652
55653         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
55654         buffer, so that the caller can always quote one small
55655         component of a "memory exhausted" message in slot 0.
55656         From a suggestion by Jim Meyering.
55657
55658 2000-07-30  Jim Meyering  <meyering@lucent.com>
55659
55660         * lib/makepath.c (make_path): Quote the other instance, too.
55661
55662         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
55663         (STATIC_BUF_SIZE): Define.
55664         (quotearg_n_options): Use only statically allocated storage when
55665         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
55666         than STATIC_BUF_SIZE.
55667
55668 2000-07-29  Jim Meyering  <meyering@lucent.com>
55669
55670         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
55671         * lib/dirname.c (dir_name): Likewise.
55672
55673         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
55674         `/'.
55675
55676         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
55677         (dir_name): Assert that there are no trailing slashes.
55678
55679 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
55680
55681         * lib/mbswidth.h (mbswidth): Add a flags argument.
55682         (mbswidth): New declaration.
55683         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
55684         * lib/mbswidth.c (mbswidth): Add a flags argument.
55685         (mbsnwidth): New function.
55686
55687 2000-07-24  Jim Meyering  <meyering@lucent.com>
55688
55689         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
55690
55691 2000-07-23  Paul Eggert  <eggert@twinsun.com>
55692
55693         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
55694
55695 2000-07-23  Paul Eggert  <eggert@twinsun.com>
55696
55697         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
55698         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
55699         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
55700         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
55701         invoke multibyte primitives.
55702
55703 2000-07-23  Paul Eggert  <eggert@twinsun.com>
55704
55705         * lib/quotearg.c:
55706         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
55707         so that mbstate_t is always defined.
55708
55709         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
55710         be 1 in at least one GCC installation, and this configuration
55711         error is likely to be common.  Ignoring MB_LEN_MAX hurts
55712         performance on hosts that have mbrtowc but have only unibyte
55713         locales, but I assume these hosts are rare.
55714
55715 2000-07-23  Paul Eggert  <eggert@twinsun.com>
55716
55717         * lib/mbswidth.c (_XOPEN_SOURCE):
55718         Don't define; this causes problems on Solaris 7.
55719         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
55720
55721 2000-07-23  Jim Meyering  <meyering@lucent.com>
55722
55723         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
55724         too: getgrgid, getpwuid, getuid.
55725
55726 2000-07-23  Jim Meyering  <meyering@lucent.com>
55727
55728         * lib/basename.c (base_name): Add an assertion.
55729
55730 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
55731
55732         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
55733         shadow its mbsinit function.
55734
55735 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
55736
55737         * lib/mbswidth.h: New file.
55738         * lib/mbswidth.c: New file.
55739         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
55740         (noinst_HEADERS): Add mbswidth.h.
55741
55742 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
55743
55744         * lib/config.charset: Add support for FreeBSD. Improve support for
55745         HP-UX and IRIX 6.
55746
55747 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
55748
55749         * m4/mbswidth.m4: New file.
55750         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
55751
55752 2000-07-15  Jim Meyering  <meyering@lucent.com>
55753
55754         * lib/makepath.c: Include quote.h.
55755         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
55756         corresponding argument in a `quote (...)' call.
55757         Give better diagnostics.
55758
55759         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
55760         (noinst_HEADERS): Add quote.h.
55761
55762         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
55763         from tar's src/misc.c.
55764         * lib/quote.h: New file.  Prototypes for same.
55765
55766 2000-07-14  Paul Eggert  <eggert@twinsun.com>
55767
55768         From a suggestion by Bruno Haible.
55769         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
55770         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
55771         to decide whether to define the BeOS workaround macro;
55772         this adjusts to the change to AC_MBSTATE_T.
55773
55774 2000-07-14  Jim Meyering  <meyering@lucent.com>
55775
55776         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
55777         jm_AC_TYPE_UINTMAX_T.
55778
55779 2000-07-13  Paul Eggert  <eggert@twinsun.com>
55780
55781         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
55782
55783         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
55784         quotearg_buffer_restyled): Add support for
55785         clocale_quoting_style.  Undo previous change to
55786         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
55787         and "{RIGHT QUOTATION MARK}" msgids.
55788
55789 2000-07-10  Paul Eggert  <eggert@twinsun.com>
55790
55791         From a suggestion by Bruno Haible.
55792         * m4/mbstate_t.m4 (AC_MBSTATE_T):
55793         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
55794         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
55795         and mbstate_t, to a single-part test that simply defines mbstate_t.
55796         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
55797         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
55798
55799 2000-07-10  Jim Meyering  <meyering@lucent.com>
55800
55801         * m4/strerror_r.m4: Mirror the correction made in autoconf.
55802
55803         * m4/gnu-source.m4: Output to confdefs.h directly.
55804         Suggestion from Akim Demaille.
55805
55806 2000-07-09  Paul Eggert  <eggert@twinsun.com>
55807
55808         The old behavior of quoting `like this' doesn't look good with
55809         newer, ISO-style fonts.  See:
55810         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
55811
55812         Instead, quote "like this" by default.  Let the translator
55813         tailor the locale-specific quoting behavior by providing
55814         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
55815
55816         * lib/quotearg.c (N_): New macro.
55817         (gettext_default): New function.
55818         (quotearg_buffer_restyled): Use
55819         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
55820         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
55821
55822 2000-07-09  Jim Meyering  <meyering@lucent.com>
55823
55824         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
55825         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
55826
55827         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
55828         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
55829
55830 2000-07-09  Jim Meyering  <meyering@lucent.com>
55831
55832         * lib/Most files: Update copyright dates to include 2000.
55833
55834 2000-07-08  Jim Meyering  <meyering@lucent.com>
55835
55836         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
55837         if not defined.
55838         (xgethostname): Remove now-unnecessary #ifdef.
55839         Move declaration of `err' into loop where it's used.
55840
55841 2000-07-05  Paul Eggert  <eggert@twinsun.com>
55842         and Bruno Haible  <haible@clisp.cons.org>
55843
55844         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
55845         only if the test for an object-type mbstate_t fails.  This
55846         prevents us from mistakenly reporting that mbstate_t is a
55847         system object type after we "#define mbstate_t int" to work
55848         around its lack.
55849
55850 2000-07-05  Paul Eggert  <eggert@twinsun.com>
55851         and Bruno Haible  <haible@clisp.cons.org>
55852
55853         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
55854
55855 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55856
55857         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
55858         to strerror_r.
55859         Include <ctype.h> for use of isalpha.
55860
55861 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55862
55863         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
55864         by allocating a larger buffer. Test the gethostname return value for
55865         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
55866         returns an error and ENAMETOOLONG isn't defined.
55867
55868 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
55869
55870         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
55871         dimension.
55872
55873 2000-07-04  Jim Meyering  <meyering@lucent.com>
55874
55875         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
55876         of the deprecated AC_CHECKING.
55877
55878 2000-07-04  Jim Meyering  <meyering@lucent.com>
55879
55880         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
55881         Reported by Bruno Haible.
55882
55883 2000-07-04  Jim Meyering  <meyering@lucent.com>
55884
55885         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
55886         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
55887         lacks mbrtowc.
55888
55889 2000-07-03  Paul Eggert  <eggert@twinsun.com>
55890
55891         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
55892         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
55893
55894 2000-07-03  Paul Eggert  <eggert@twinsun.com>
55895         and Bruno Haible  <haible@clisp.cons.org>
55896
55897         * lib/quotearg.c (mbrtowc):
55898         Assign to *pwc, and return 1 only if result is nonzero.
55899         (iswprint): Use ISPRINT when substituting our own mbrtowc.
55900
55901 2000-07-03  Jim Meyering  <meyering@lucent.com>
55902
55903         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
55904
55905 2000-07-03  Jim Meyering  <meyering@lucent.com>
55906
55907         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
55908         This is necessary to get a definition of e.g., UTMP_FILE on
55909         HP-UX 10.20.
55910         From Bob Proulx.
55911
55912 2000-07-02  Jim Meyering  <meyering@lucent.com>
55913
55914         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
55915
55916         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
55917         AC_LIBOBJ(function_name).
55918         * m4/chown.m4: Likewise.
55919         * m4/fnmatch.m4: Likewise.
55920         * m4/ftruncate.m4: Likewise.
55921         * m4/getgroups.m4: Likewise.
55922         * m4/getline.m4: Likewise.
55923         * m4/group-member.m4: Likewise.
55924         * m4/jm-macros.m4: Likewise.
55925         * m4/lstat.m4: Likewise.
55926         * m4/malloc.m4: Likewise.
55927         * m4/memcmp.m4: Likewise.
55928         * m4/nanosleep.m4: Likewise.
55929         * m4/putenv.m4: Likewise.
55930         * m4/realloc.m4: Likewise.
55931         * m4/regex.m4: Likewise.
55932         * m4/stat.m4: Likewise.
55933         * m4/strftime.m4: Likewise.
55934
55935 2000-07-02  Jim Meyering  <meyering@lucent.com>
55936
55937         * lib/quotearg.c (mbstate_t): Don't define here.
55938
55939 2000-07-02  Jim Meyering  <meyering@lucent.com>
55940
55941         * lib/nanosleep.c (SIGCONT): Define if not already defined.
55942
55943 2000-07-01  Jim Meyering  <meyering@lucent.com>
55944
55945         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
55946
55947 2000-07-01  Jim Meyering  <meyering@lucent.com>
55948
55949         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
55950         problem.
55951
55952 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
55953
55954         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
55955         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
55956
55957 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
55958
55959         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
55960         per change in ../m4/ls-mntd-fs.m4.
55961         (read_filesystem_list): Ignore symbolic links.
55962
55963 2000-06-29  Jim Meyering  <meyering@lucent.com>
55964
55965         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
55966         for declaration of strcmp.
55967
55968         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
55969
55970         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
55971         Avoid warning by casting result to `char *' to remove `const'.
55972
55973 2000-06-28  Jim Meyering  <meyering@lucent.com>
55974
55975         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
55976         included by quotearg.c, for which we perform this test.  From
55977         Bruno Haible.
55978
55979 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
55980
55981         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
55982         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
55983         <utmpx.h> exists, put readutmp.o into LIBOBJS.
55984
55985 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
55986
55987         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
55988
55989 2000-06-26  Paul Eggert  <eggert@twinsun.com>
55990
55991         savedir now sets errno on failure and invokes xmalloc to get memory.
55992         Fix a couple of other minor bugs while we're at it.
55993
55994         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
55995         (NAMLEN): Remove macro.
55996         (malloc, realloc): Remove decls.
55997         (stpcpy): Likewise.
55998         ("xalloc.h"): Include.
55999         (NAME_SIZE_DEFAULT): New macro.
56000         (savedir): Use xmalloc / xrealloc to allocate memory.
56001         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
56002         Skip "" directory entries.
56003         Use strlen to calculate directory entry length, since the old method
56004         is rarely used these days and isn't worth supporting.
56005         Don't use a pointer after freeing it.
56006         Check for integer overflow when calculating allocation size.
56007         Use memcpy to copy entries, instead of stpcpy.
56008         Set errno properly when returning NULL.
56009         Check for readdir error.
56010
56011 2000-06-26  Jim Meyering  <meyering@lucent.com>
56012
56013         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
56014
56015 2000-06-25  Jim Meyering  <meyering@lucent.com>
56016
56017         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
56018         Linux header bug when _XOPEN_SOURCE is defined to 500.
56019
56020 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
56021
56022         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
56023         deficiency.
56024
56025 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
56026
56027         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
56028         Include xalloc.h.
56029         Don't include <stdlib.h>.  Don't declare malloc, realloc.
56030
56031 2000-06-24  Jim Meyering  <meyering@lucent.com>
56032
56033         * m4/strerror_r.m4: Revive this file -- to try out an experimental
56034         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
56035         for which strerror does return char*, but which lacks a conveniently
56036         accessible declaration of the function.  If the compile-test says
56037         strerror_r doesn't work, then resort to a `run'-test that works on
56038         BeOS and segfaults on DEC Unix.
56039
56040 2000-06-24  Jim Meyering  <meyering@lucent.com>
56041
56042         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
56043
56044 2000-06-23  Paul Eggert  <eggert@twinsun.com>
56045
56046         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
56047         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
56048
56049 2000-06-23  Paul Eggert  <eggert@twinsun.com>
56050
56051         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
56052         (mbrtowc, mbstate_t): Define substitutes if
56053         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
56054         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
56055         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
56056
56057 2000-06-23  Jim Meyering  <meyering@lucent.com>
56058
56059         * m4/afs.m4: Add missing AC_MSG_RESULT.
56060         Reported by Bruno Haible.
56061
56062         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
56063         Suggestion from Bruno Haible.
56064
56065 2000-06-23  Jim Meyering  <meyering@lucent.com>
56066
56067         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
56068
56069 2000-06-21  Jim Meyering  <meyering@lucent.com>
56070
56071         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
56072
56073 2000-06-21  Jim Meyering  <meyering@lucent.com>
56074
56075         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
56076         (noinst_HEADERS): Add getstr.h.
56077
56078         * lib/getline.c (getstr): Move into a separate file.
56079         * lib/getstr.c (getstr): New file, extracted from getline.c, with
56080         the following changes: new parameter, delim2; both delim[12]
56081         parameters have type `int', not `char'.  The latter would lose
56082         with 8-bit delimiters.
56083         * lib/getstr.h: New file.
56084
56085 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
56086
56087         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
56088         than 1024, return a memory chunk of least possible size, instead
56089         of size PATH_MAX + 2. In the loop, increment the size proportionally.
56090         Use free/xmalloc instead of xrealloc to avoid copying for very long
56091         paths.
56092
56093 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
56094
56095         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
56096         the empty string.
56097
56098 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
56099
56100         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
56101         address, not strdup.  Include <stdlib.h> and don't declare free().
56102
56103 2000-06-19  Jim Meyering  <meyering@lucent.com>
56104
56105         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
56106
56107 2000-06-18  Jim Meyering  <meyering@lucent.com>
56108
56109         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
56110
56111         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
56112         `checking whether...' message to be consistent with that of the
56113         lstat test.
56114
56115 2000-06-18  Jim Meyering  <meyering@lucent.com>
56116
56117         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
56118         Besides, these days every porting target provides a mkdir function.
56119
56120         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
56121         needed. (this snippet comes from src/system.h).
56122
56123 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
56124
56125         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
56126
56127 2000-06-15  Paul Eggert  <eggert@twinsun.com>
56128
56129         * lib/human.c (adjust_value): New function.
56130         (human_readable_inexact): Apply rounding style even when
56131         printing approximate values.
56132
56133 2000-06-14  Paul Eggert  <eggert@twinsun.com>
56134
56135         * lib/human.c (human_readable_inexact): Allow an input block
56136         size that is not a multiple of the output block size, and vice versa.
56137         Reported by Piergiorgio Sartor.
56138
56139 2000-06-14  Paul Eggert  <eggert@twinsun.com>
56140
56141         * lib/getdate.y (get_date): Apply relative times after time
56142         zone indicator, not before.  Reported by Todd A. Jacobs.
56143
56144 2000-06-13  Jim Meyering  <meyering@lucent.com>
56145
56146         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
56147
56148         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
56149
56150 2000-06-12  Paul Eggert  <eggert@twinsun.com>
56151
56152         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
56153
56154 2000-06-12  Jim Meyering  <meyering@lucent.com>
56155
56156         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
56157         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
56158         optional argument.
56159         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
56160         the optional argument, `lib'.
56161
56162 2000-06-08  Jim Meyering  <meyering@lucent.com>
56163
56164         * m4/largefile.m4: Remove file (now that it's part of autoconf).
56165
56166 2000-06-04  Paul Eggert  <eggert@twinsun.com>
56167
56168         Rewrite largefile configuration so that we don't need to run
56169         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
56170         AC_CANONICAL_HOST in configure.in -- jmm]
56171
56172         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
56173         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
56174         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
56175         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
56176         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
56177         All uses changed.
56178         Instead of inspecting the output of getconf, try to compile the
56179         test program without and with the macro definition.
56180         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
56181         for getconf.  Instead, check for the needed flags by compiling
56182         test programs.
56183
56184 2000-06-04  Paul Eggert  <eggert@twinsun.com>
56185
56186         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
56187
56188 2000-06-04  Jim Meyering  <meyering@lucent.com>
56189
56190         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
56191         SunOS 4.1.4 for which gid_t is an unsigned type.
56192
56193 2000-06-03  Jim Meyering  <meyering@lucent.com>
56194
56195         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
56196         now that autoconf requires that.
56197
56198         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
56199         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
56200         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
56201
56202 2000-06-03  Jim Meyering  <meyering@lucent.com>
56203
56204         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
56205
56206 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
56207
56208         * m4/glibc21.m4: New file.
56209         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
56210
56211 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
56212
56213         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
56214         newer, don't install charset.alias.
56215         * lib/config.charset: Change the Linux/glibc rules so they become empty
56216         on glibc-2.1 or newer.
56217
56218 2000-06-02  Jim Meyering  <meyering@lucent.com>
56219
56220         * lib/mountlist.c: Back out last change.  Instead, do this...
56221         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
56222         me_dummy member using the same `ignore'-testing code.
56223         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
56224         fs_type strings.
56225         From Mark D. Roth.
56226
56227 2000-05-29  Jim Meyering  <meyering@lucent.com>
56228
56229         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
56230         mounts with the `ignore' attribute.  Based on a patch from
56231         Mark D. Roth.
56232
56233 2000-05-28  Jim Meyering  <meyering@lucent.com>
56234
56235         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
56236         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56237         * m4/stat.m4: Likewise.
56238         * m4/lstat.m4: Likewise.
56239         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
56240
56241         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
56242         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
56243
56244 2000-05-26  Jim Meyering  <meyering@lucent.com>
56245
56246         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
56247
56248 2000-05-24  Jim Meyering  <meyering@lucent.com>
56249
56250         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
56251         autoconf requires that.
56252         * m4/lib-check.m4: Likewise.
56253         * m4/jm-macros.m4: Likewise.
56254         * m4/strftime.m4: Likewise.
56255
56256         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
56257         AC_CHECK_DECLS, now that autoconf requires that.
56258
56259 2000-05-22  Jim Meyering  <meyering@lucent.com>
56260
56261         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
56262         * m4/lstat.m4: Likewise.
56263
56264 2000-05-22  Jim Meyering  <meyering@lucent.com>
56265
56266         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
56267
56268 2000-05-20  Jim Meyering  <meyering@lucent.com>
56269
56270         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
56271         (jm_PREREQ): Use it.
56272
56273 2000-05-18  Jim Meyering  <meyering@lucent.com>
56274
56275         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
56276         back, too, since it may have been modified by allocate_entry.
56277         (hash_delete): Rewrite to use neither the assignment operator
56278         nor the comma operator in an if-expression.
56279
56280 2000-05-15  Paul Eggert  <eggert@twinsun.com>
56281
56282         * lib/closeout.c:
56283         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
56284         Remove; no longer needed.
56285         "quotearg.h": Add include.
56286         (file_name): Do not bother to explicitly initialize to NULL; it's less
56287         efficient on some hosts.
56288         (close_stdout_status): Remove test as to whether stdout was already
56289         closed; it breaks for the case "echo x | sort >&-".
56290         Quote file name colons.
56291         Do not assume that _("write error") lacks format strings.
56292
56293 2000-05-15  Jim Meyering  <meyering@lucent.com>
56294
56295         * lib/version-etc.c (version_etc_copyright): Update the copyright
56296         string used in all --version output.
56297
56298 2000-05-14  Jim Meyering  <meyering@lucent.com>
56299
56300         * lib/closeout.c (close_stdout_set_file_name): New function.
56301         (close_stdout_status): Use new file-scoped global.
56302         Return right away if fstat says the stdout file descriptor is invalid.
56303         * lib/closeout.h (close_stdout_set_file_name): Declare.
56304
56305 2000-05-10  Jim Meyering  <meyering@lucent.com>
56306
56307         * lib/closeout.c [default_exit_status]: New file-scoped variable.
56308         (close_stdout_set_status): New function.
56309         * lib/closeout.h (close_stdout_set_status): Declare.
56310
56311 2000-05-09  Jim Meyering  <meyering@lucent.com>
56312
56313         * m4/gettext.m4: Rename this...
56314         * m4/libintl.m4: ...to this.
56315
56316 2000-05-08  Jim Meyering  <meyering@lucent.com>
56317
56318         * lib/long-options.c: Don't include closeout.h.
56319         (parse_long_options): Don't call close_stdout for --version.
56320
56321 2000-05-06  Paul Eggert  <eggert@twinsun.com>
56322
56323         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
56324         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
56325         2.1.3 bug.  This avoids a clash when files like regex.c define
56326         _GNU_SOURCE.
56327
56328 2000-05-06  Jim Meyering  <meyering@lucent.com>
56329
56330         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
56331         (AC_REPLACE_FUNCS): Add strnlen.
56332
56333         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
56334         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
56335
56336         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
56337         AC_SEARCH_LIBS call for nanosleep.
56338         (LIB_NANOSLEEP): Set and AC_SUBST.
56339
56340 2000-05-06  Jim Meyering  <meyering@lucent.com>
56341
56342         * lib/strnlen.c: Undefine __strnlen and strnlen.
56343         [!weak_alias]: Define __strnlen to strnlen.
56344
56345         * lib/atexit.c: New file, from libiberty.
56346
56347 2000-05-06  Jim Meyering  <meyering@lucent.com>
56348
56349         * lib/closeout.c (close_stdout_status): Also check for errors on the
56350         stderr stream.
56351
56352 2000-05-05  Jim Meyering  <meyering@lucent.com>
56353
56354         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
56355         AC_SEARCH_LIBS call for clock_gettime.
56356         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
56357
56358         * m4/search-libs.m4: Update from autoconf.
56359
56360         su doesn't work on Solaris 2.6.
56361         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
56362         <shadow.h>.  Reported by Dragos Harabor.
56363
56364 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
56365
56366         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
56367         memcpy instead of xmalloc, xrealloc, path_concat.
56368         (locale_charset): Treat empty environment variables as absent.
56369         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
56370
56371 2000-05-04  Jim Meyering  <meyering@lucent.com>
56372
56373         * lib/getopt.c: Update from glibc.
56374         * lib/obstack.c: Likewise.
56375         * lib/obstack.h: Likewise.
56376         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
56377         file
56378
56379         * lib/regex.h: Likewise.
56380         * lib/strndup.c: Likewise.
56381         * lib/strnlen.c: New file, from glibc.
56382
56383 2000-05-03  Jim Meyering  <meyering@lucent.com>
56384
56385         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
56386
56387 2000-05-02  Paul Eggert  <eggert@twinsun.com>
56388
56389         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
56390         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
56391         compile-time test, rather than inspecting host and OS, to
56392         decide whether to define _LARGEFILE_SOURCE.
56393
56394 2000-05-01  Jim Meyering  <meyering@lucent.com>
56395
56396         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
56397
56398         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
56399         Based on a patch from Bruno Haible.
56400
56401 2000-05-01  Jim Meyering  <meyering@lucent.com>
56402
56403         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
56404
56405 2000-04-29  Jim Meyering  <meyering@lucent.com>
56406
56407         * lib/path-concat.c: Declare strdup only if it's not defined.
56408         * lib/canon-host.c: Likewise.
56409
56410 2000-04-28  Jim Meyering  <meyering@lucent.com>
56411
56412         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
56413         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
56414         is included first, then limits.h is included by locale.h by libintl.h.
56415         From John David Anglin.
56416
56417 2000-04-25  Jim Meyering  <meyering@lucent.com>
56418
56419         * lib/makepath.c (S_IRWXUGO): Define.
56420         (make_path): Always perform explicit chmod if MODE specifies any
56421         of the `special' permission bits.  Prompted by a bug report against
56422         install from Mate Wierdl and Joost van Baal.
56423
56424 2000-04-18  Jim Meyering  <meyering@lucent.com>
56425
56426         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
56427         (jm_PREREQ): Use it.
56428
56429 2000-04-18  Jim Meyering  <meyering@lucent.com>
56430
56431         * lib/README: New file.
56432
56433         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
56434         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
56435
56436 2000-04-17  Jim Meyering  <meyering@lucent.com>
56437
56438         Get it right :-)
56439         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
56440         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
56441         Suggestion from Akim Demaille.
56442
56443 2000-04-17  Jim Meyering  <meyering@lucent.com>
56444
56445         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
56446         the definition of it to rpl_strftime also defined-away the system's
56447         declaration.
56448
56449 2000-04-15  Jim Meyering  <meyering@lucent.com>
56450
56451         Use `C' to denote so-called `contiguous' files, the same way
56452         that tar does.
56453         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
56454         (ftypelet): Use S_ISCTG.
56455         From Michael Deutschmann.
56456
56457 2000-04-14  Jim Meyering  <meyering@lucent.com>
56458
56459         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
56460         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
56461         clobbered.
56462
56463 2000-04-14  Jim Meyering  <meyering@lucent.com>
56464
56465         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
56466
56467 2000-04-13  Jim Meyering  <meyering@lucent.com>
56468
56469         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
56470         AH_VERBATIM to insert required #ifndef into config.h.in.
56471         Suggestion from Akim Demaille.
56472
56473 2000-04-12  Jim Meyering  <meyering@lucent.com>
56474
56475         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
56476         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
56477         Christian Krackowizer.
56478
56479         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
56480         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
56481         (AC_SYS_LARGEFILE): Require.
56482         (AM_C_PROTOTYPES): Require.
56483
56484 2000-04-08  Jim Meyering  <meyering@lucent.com>
56485
56486         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
56487         names don't conflict.  Reported by Eli Zaretskii.
56488
56489 2000-04-07  Jim Meyering  <meyering@lucent.com>
56490
56491         * lib/putenv.c: Move inclusion of errno.h so it follows that of
56492         sys/types.h, to work around system header problems on AIX 3.2.5.
56493         From Bruno Haible.
56494
56495 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
56496
56497         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
56498         bug.  Deal with the different error behavior of Irix iconv.
56499
56500 2000-04-05  Paul Eggert  <eggert@twinsun.com>
56501
56502         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
56503         IRIX if the installer said otherwise.
56504
56505 2000-04-05  Jim Meyering  <meyering@lucent.com>
56506
56507         Portability tweaks required for ultrix4.3.
56508         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
56509         (jm_CHECK_DECLS): Add getutent to the list of functions.
56510         (_jm_DECL_HEADERS): Add utmpx.h.
56511         From John David Anglin.
56512
56513         * m4/strftime.m4: Back out the 2000-04-02 change.
56514         Instead of that change, simply undefine putenv in the test program.
56515
56516 2000-04-05  Jim Meyering  <meyering@lucent.com>
56517
56518         Portability tweaks required for ultrix4.3.
56519         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
56520         getutent.
56521         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
56522         * lib/canon-host.c: Declare strdup.
56523         * lib/path-concat.c: Likewise.
56524         From John David Anglin.
56525
56526 2000-04-04  Jim Meyering  <meyering@lucent.com>
56527
56528         Be more DOS 8.3-friendly.
56529         * lib/ref-add.sin: Renamed from ref-add.sed.in.
56530         * lib/ref-del.sin: Renamed from ref-del.sed.in.
56531         * lib/Makefile.am: Reflect renaming.
56532         Reported by Eli Zaretskii.
56533
56534         Use a temporary file name that won't clash with `charset.alias'
56535         in the DOS 8.3 name space.
56536         * lib/Makefile.am (charset_tmp): Define.
56537         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
56538         (uninstall-local): Likewise.
56539         Reported by Eli Zaretskii.
56540
56541 2000-04-03  Jim Meyering  <meyering@lucent.com>
56542
56543         * m4/gettext.m4: Fix typo in comment.
56544
56545         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
56546         textutils/configure.in).  Suggestion from Paul Eggert.
56547         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
56548
56549 2000-04-02  Paul Eggert  <eggert@twinsun.com>
56550
56551         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
56552         variable in the shell rather than using putenv, which isn't
56553         portable.  This avoids the configure-time inter-test dependency
56554         on the potentially-renamed putenv function.
56555
56556 2000-03-30  Paul Eggert  <eggert@twinsun.com>
56557
56558         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
56559         before checking struct stat.st_blksize, so that
56560         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
56561
56562 2000-03-29  Paul Eggert  <eggert@twinsun.com>
56563
56564         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
56565         since strftime.c uses HAVE_STRFTIME to decide whether to use
56566         the underlying strftime.
56567
56568 2000-03-29  Paul Eggert  <eggert@twinsun.com>
56569
56570         * lib/time/strftime.c (my_strftime): Make sure we call the system
56571         strftime, not ourselves, when invoking the underlying strftime.
56572
56573 2000-03-24  Jim Meyering  <meyering@lucent.com>
56574
56575         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
56576         (charset_alias): Define.
56577         (install-exec-local): Factor out common code.
56578         (uninstall-local): Split lines longer than 80.
56579         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
56580         (SUFFIXES): Define.
56581         (.sed.in.sed): New rule.  Don't redirect directly to $@.
56582         (CLEANFILES): Add ref-add.sed and ref-del.sed.
56583
56584 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
56585
56586         * lib/config.charset: Output a line containing "Packages using this
56587         file".
56588         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
56589         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
56590         ref-del.sed): New rules.
56591
56592 2000-03-17  Jim Meyering  <meyering@lucent.com>
56593
56594         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
56595         Otherwise, include <strings.h>
56596
56597 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
56598
56599         * lib/unicodeio.c (utf8_wctomb): New function.
56600         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
56601         format instead of in UCS-4 with platform dependent endianness.
56602
56603 2000-03-10  Jim Meyering  <meyering@lucent.com>
56604
56605         * m4/lib-check.m4: Look for getspnam in -lgen, too.
56606         From Marco Franzen.
56607
56608 2000-03-07  Paul Eggert  <eggert@twinsun.com>
56609
56610         * lib/savedir.c (savedir): Work even if directory size is
56611         negative; this can happen with some screwy NFS configurations.
56612
56613 2000-03-06  Jim Meyering  <meyering@lucent.com>
56614
56615         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
56616         if it's NULL (because we ran out of memory).  From Bruno Haible.
56617
56618 2000-03-05  Jim Meyering  <meyering@lucent.com>
56619
56620         * lib/localcharset.c ("path-concat.h"): Include.
56621         (get_charset_aliases): Use path_concat instead of ANSI string
56622         concatenation.
56623
56624         * lib/unicodeio.h (PARAMS): Define.
56625         Use it to guard prototype.
56626
56627 2000-03-04  Jim Meyering  <meyering@lucent.com>
56628
56629         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
56630         for lib/localcharset.c.
56631
56632 2000-03-04  Jim Meyering  <meyering@lucent.com>
56633
56634         * lib/Makefile.am (install-exec-local): Create $(libdir) before
56635         installing into it.
56636         (uninstall-local): Uncomment this rule so `make distcheck' works
56637         once again.
56638
56639         * lib/unicodeio.c (<errno.h>): Include it.
56640         (errno): Declare if not defined.
56641
56642         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
56643
56644         * lib/config.charset: New version, incorporating remarks from a linux
56645         i18n mailing list.  From Bruno Haible.
56646
56647 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
56648
56649         * m4/codeset.m4: New file.
56650         * m4/iconv.m4: New file.
56651         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
56652
56653 2000-03-03  Jim Meyering  <meyering@lucent.com>
56654
56655         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
56656
56657 2000-03-02  Jim Meyering  <meyering@lucent.com>
56658
56659         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
56660         the messages come out on separate lines.
56661
56662         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
56663         rather than jm_CHECK_DECLARATIONS.
56664         * m4/decl.m4: Remove now-unused file.
56665
56666         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
56667         geteuid.
56668
56669 2000-03-02  Jim Meyering  <meyering@lucent.com>
56670
56671         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
56672
56673 2000-03-01  Jim Meyering  <meyering@lucent.com>
56674
56675         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
56676         * lib/unicodeio.c: Likewise.
56677
56678 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
56679
56680         * lib/config.charset: New file.
56681         * lib/localcharset.c: New file.
56682         * lib/unicodeio.h, lib/unicodeio.c: New files.
56683         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
56684         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
56685         (noinst_HEADERS): Add unicodeio.h.
56686         (all-local, install-exec-local, charset.alias): New targets.
56687
56688 2000-02-28  Paul Eggert  <eggert@twinsun.com>
56689
56690         * lib/quotearg.c (ALERT_CHAR): New macro.
56691         (quotearg_buffer_restyled): Use it.
56692
56693 2000-02-27  Jim Meyering  <meyering@lucent.com>
56694
56695         * m4/check-decl.m4: Add getenv to the list.
56696
56697 2000-02-27  Jim Meyering  <meyering@lucent.com>
56698
56699         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
56700         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
56701
56702         * lib/backupfile.c: Guard inclusion of stdlib.h with
56703         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
56704         Declare malloc if needed.
56705
56706         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
56707         `#ifndef HAVE_DECL..'
56708         now that autoconf always defines the HAVE_DECL_ symbols.
56709         * lib/human.c: Likewise.
56710         * lib/same.c: Likewise.
56711         * lib/strtoumax.c: Likewise.
56712
56713         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
56714         declaration check was not run.
56715         * lib/hash.c: Likewise.
56716         * lib/human.c: Likewise.
56717         * lib/same.c: Likewise.
56718         * lib/strtoumax.c: Likewise.
56719
56720         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
56721         `.', then first look up the entire `.'-containing string as a login
56722         name.
56723
56724 2000-02-23  Jim Meyering  <meyering@lucent.com>
56725
56726         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
56727         in place of my hack.
56728
56729 2000-02-18  Paul Eggert  <eggert@twinsun.com>
56730
56731         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
56732         (textint): New typedef.
56733         (parser_control): Member year changed from int to textint.
56734         All uses changed.
56735         (YYSTYPE): Removed; replaced by %union with int and textint members.
56736         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
56737         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
56738         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
56739         (tSNUMBER, tUNUMBER): Now of type <textintval>.
56740         (date, number, to_year): Use width of number in digits, not its value,
56741         to determine whether it's a 2-digit year, or a 2-digit time.
56742         (yylex): Store number of digits of numeric tokens.
56743         Reported by John Kendall.
56744
56745         (parser_control): Changed from struct parser_control to typedef (for
56746         consistency).  All uses changed.
56747
56748         (tID): Removed; not used.
56749         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
56750
56751 2000-02-14  Paul Eggert  <eggert@twinsun.com>
56752
56753         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
56754         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
56755
56756 2000-02-12  Jim Meyering  <meyering@lucent.com>
56757
56758         * lib/userspec.c (ISDIGIT): Define it.
56759         (isdigit): Remove definition.
56760         (is_number): Use ISDIGIT, not isdigit.
56761         <libintl.h>: Include.
56762         (_ and N_): Define.
56763         (parse_user_spec): Mark translatable strings.
56764
56765 2000-02-10  Jim Meyering  <meyering@lucent.com>
56766
56767         With these changes, nanosleep.[ch] are finally enough like the other
56768         lib/* replacement files to compile on a few more losing systems.
56769
56770         * lib/nanosleep.h: Don't include config.h.
56771         Remove prototype from declaration of nanosleep.
56772         (PARAMS): Remove now-unneeded definition.
56773         * lib/nanosleep.c: #undef nanosleep.
56774         (rpl_nanosleep): Rename from nanosleep.
56775
56776 2000-02-10  Jim Meyering  <meyering@lucent.com>
56777
56778         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
56779         gnu_nanosleep to rpl_nanosleep.
56780
56781 2000-02-09  Jim Meyering  <meyering@lucent.com>
56782
56783         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
56784         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
56785
56786 2000-02-08  Akim Demaille  <akim@epita.fr>
56787
56788         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
56789         `[' and `]' and remove uses of `changequote'.
56790         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
56791         (AC_SYS_LARGEFILE): Likewise.
56792         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
56793         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
56794         of changequote.
56795         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
56796         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
56797         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
56798         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
56799
56800 2000-02-05  Jim Meyering  <meyering@lucent.com>
56801
56802         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
56803         Remove explicit use of AC_HEADER_TIME.  It is required by
56804         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
56805         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
56806         in autoconf whereby the expansion of the latter ended up preceding
56807         the expansion of its prerequisite, AC_HEADER_TIME.
56808         Reported by Volker Borchert.
56809
56810 2000-02-03  Jim Meyering  <meyering@lucent.com>
56811
56812         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
56813
56814 2000-02-03  Jim Meyering  <meyering@lucent.com>
56815
56816         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
56817         rather than with `#if HAVE_UTMPNAME'.
56818
56819 2000-02-02  Jim Meyering  <meyering@lucent.com>
56820
56821         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
56822         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
56823         Reported by Eli Zaretskii.
56824
56825 2000-02-01  Jim Meyering  <meyering@lucent.com>
56826
56827         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
56828
56829 2000-01-31  Jim Meyering  <meyering@lucent.com>
56830
56831         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
56832         functions.  Add the time.h and sys/time.h headers along with the
56833         AC_REQUIRE'ment of AC_HEADER_TIME.
56834
56835 2000-01-31  Jim Meyering  <meyering@lucent.com>
56836
56837         * lib/nanosleep.h (nanosleep): Guard declaration with
56838         `#if ! HAVE_DECL_NANOSLEEP'.
56839         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
56840         the declaration in that vendor's sys/timers.h.
56841         Reported by Christian Krackowizer.
56842
56843         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
56844         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
56845         (ISPRINT): Likewise.
56846         Reported by Tom Tromey.
56847
56848 2000-01-30  Jim Meyering  <meyering@lucent.com>
56849
56850         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
56851
56852         * m4/prereq.m4 (utmp_includes): Define.
56853         Check for ut_user and ut_name members in both struct utmpx
56854         and struct utmp.
56855
56856 2000-01-30  Jim Meyering  <meyering@lucent.com>
56857
56858         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
56859         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
56860         header files where only utmpx.ut_user is declared.
56861
56862         * lib/readutmp.h (UT_USER): Define.
56863
56864 2000-01-29  Jim Meyering  <meyering@lucent.com>
56865
56866         * m4/lib-check.m4: New file containing library-related checks from
56867         fileutils and sh-utils (textutils had none).
56868
56869 2000-01-28  Jim Meyering  <meyering@lucent.com>
56870
56871         * m4/perl.m4: Change format of warning message to look more like that
56872         from the missing script.  Suggestion from François Pinard.
56873
56874 2000-01-25  Jim Meyering  <meyering@lucent.com>
56875
56876         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
56877         well as time.h in the compile check.
56878         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
56879         Fix typo in cross-compiling case: s/yes/no/.
56880
56881 2000-01-23  Jim Meyering  <meyering@lucent.com>
56882
56883         * m4/jm-macros.m4: Move df-related tests here from
56884         fileutils/configure.in
56885
56886         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
56887         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
56888
56889         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
56890         s/space/ac_fsusage_space/.
56891         (jm_FILE_SYSTEM_USAGE): Take two parameters.
56892
56893         * m4/ftruncate.m4: New file (derived from part of
56894         fileutils/configure.in).
56895         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
56896         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
56897
56898         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
56899         AC_SUBST these here, rather than just in sh-util/configure.in, so
56900         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
56901         all the same.
56902         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
56903         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
56904         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
56905         (AC_SUBST(POW_LIBM)): Likewise.
56906         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
56907
56908 2000-01-23  Jim Meyering  <meyering@lucent.com>
56909
56910         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
56911         obstack.c.
56912
56913 2000-01-22  Jim Meyering  <meyering@lucent.com>
56914
56915         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
56916
56917         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
56918
56919         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
56920         configure.in
56921         (AC_CHECK_HEADERS): Likewise for sh-utils.
56922         (AC_CHECK_HEADERS): Likewise for textutils.
56923         Merge the three lists of headers.
56924
56925         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
56926         from fileutils' configure.in.
56927
56928         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
56929         code. Moved tests into their own function (_jm_DECL_HEADERS) in
56930         check-decl.m4.
56931
56932         * m4/check-decl.m4: Use #if rather than #ifdef.
56933         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
56934         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
56935         (_jm_DECL_HEADERS): Define new function.
56936         (jm_CHECK_DECLARATIONS): Require it.
56937
56938 2000-01-22  Jim Meyering  <meyering@lucent.com>
56939
56940         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
56941         [! HAVE_DECL_STRTOULL]: Declare strtoull.
56942         Required for some AIX systems.  Reported by Christian Krackowizer.
56943         [TESTING] (main): New function.
56944
56945         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
56946         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
56947         letters.
56948
56949         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
56950         iswprint.
56951
56952         * lib/strverscmp.c (ISDIGIT): Define.
56953         (strverscmp): Use ISDIGIT, not isdigit.
56954
56955 2000-01-19  Jim Meyering  <meyering@lucent.com>
56956
56957         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
56958         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
56959         defines `struct timespec' in <sys/time.h>
56960
56961         * m4/c-bs-a.m4: Remove uses of changequote altogether.
56962         Thanks to Akim for explaining.
56963
56964 2000-01-17  Paul Eggert  <eggert@twinsun.com>
56965
56966         * lib/nanosleep.c (nanosleep):
56967         Don't use SA_INTERRUPT to decide whether to call sigaction, as
56968         POSIX.1 doesn't require SA_INTERRUPT and some systems
56969         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
56970         it's been part of POSIX.1 since day 1 (in 1988).
56971
56972 2000-01-17  Jim Meyering  <meyering@lucent.com>
56973
56974         * lib/interlock: Remove unused file.  Reported by François Pinard.
56975
56976 2000-01-16  Paul Eggert  <eggert@twinsun.com>
56977
56978         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
56979         alert, backslash, formfeed, and vertical tab unnecessarily in
56980         shell quoting style.
56981
56982 2000-01-16  Jim Meyering  <meyering@lucent.com>
56983
56984         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
56985         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
56986         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
56987         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
56988
56989 2000-01-16  Jim Meyering  <meyering@lucent.com>
56990
56991         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
56992         because the latter didn't work.
56993
56994 2000-01-15  Jim Meyering  <meyering@lucent.com>
56995
56996         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
56997         (AC_REPLACE_FUNCS): Add memcpy and memset.
56998         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
56999         Add strpbrk.
57000         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
57001
57002 2000-01-12  Jim Meyering  <meyering@lucent.com>
57003
57004         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
57005         (jm_PREREQ): Use it.
57006         (jm_PREREQ_READUTMP): New macro.
57007         (jm_PREREQ): Use it.
57008
57009 2000-01-11  Paul Eggert  <eggert@twinsun.com>
57010
57011         Quote multibyte characters correctly.
57012         * m4/c-bs-a.m4: New file.
57013         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
57014         (jm_PREREQ): Use it.
57015
57016 2000-01-11  Paul Eggert  <eggert@twinsun.com>
57017
57018         * m4/uintmax_t.m4: Port to autoconf 2.13.
57019
57020 2000-01-08  Jim Meyering  <meyering@ascend.com>
57021
57022         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
57023         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
57024
57025 2000-01-04  Jim Meyering  <meyering@ascend.com>
57026
57027         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
57028         jm_STRUCT_DIRENT_D_TYPE.
57029         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
57030         jm_STRUCT_DIRENT_D_INO.
57031         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
57032         jm_STRUCT_UTIMBUF.
57033         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
57034         renamings.
57035         * m4/utime.m4: Likewise.
57036
57037         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
57038         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
57039
57040 2000-01-03  Paul Eggert  <eggert@twinsun.com>
57041
57042         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
57043         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
57044
57045 2000-01-02  Jim Meyering  <meyering@ascend.com>
57046
57047         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
57048         remember if this is necessary.
57049
57050 1999-12-26  Jim Meyering  <meyering@ascend.com>
57051
57052         * m4/jm-macros.m4: Use it here.
57053         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
57054
57055 1999-12-23  Jim Meyering  <meyering@ascend.com>
57056
57057         * m4/jm-macros.m4: Check for clock_gettime (moved from
57058         fileutils/configure.in)
57059         Check for gettimeofday.
57060
57061 1999-12-20  Jim Meyering  <meyering@ascend.com>
57062
57063         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
57064         autoconf-2.14a-1999-12-20.
57065
57066 1999-12-19  Jim Meyering  <meyering@ascend.com>
57067
57068         * m4/lstat-slash.m4: New file.
57069         * m4/jm-macros.m4: Use the new macro:
57070         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
57071
57072 1999-12-07  Jim Meyering  <meyering@ascend.com>
57073
57074         * m4/perl.m4: Require that File::Compare be available, too.
57075         Too many systems seem to lack it.
57076
57077         * m4/strftime.m4: Add checks for most of the cpp macros tested in
57078         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
57079
57080 1999-11-18  Paul Eggert  <eggert@twinsun.com>
57081
57082         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
57083         problem with the QNX 4.25 shell, which doesn't propagate exit
57084         status of failed commands inside shell assignments.
57085
57086 1999-11-17  Jim Meyering  <meyering@ascend.com>
57087
57088         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
57089
57090 1999-11-07  Jim Meyering  <meyering@ascend.com>
57091
57092         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
57093
57094 1999-11-06  Jim Meyering  <meyering@ascend.com>
57095
57096         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
57097         * m4/jm-macros.m4 (jm_MACROS): Use it here.
57098
57099 1999-11-05  Jim Meyering  <meyering@ascend.com>
57100
57101         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
57102         configure.in of textutils, fileutils, and sh-utils into this one
57103         (shared between those packages) file.
57104         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
57105         AC_STRUCT_ST_BLKSIZE.
57106
57107 1999-11-03  Jim Meyering  <meyering@ascend.com>
57108
57109         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
57110         of AC_CHECK_TYPE checks includes unistd.h.
57111         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
57112         Suggestion from Akim Demaille.
57113
57114 1999-10-30  Jim Meyering  <meyering@ascend.com>
57115
57116         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
57117         m4-quoted string.
57118         * m4/ls-mntd-fs.m4: Likewise.
57119         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
57120         * m4/jm-winsz1.m4: Likewise.
57121
57122         * m4/const.m4: Remove file, since the fix made it into the experimental
57123         version of autoconf.
57124         * m4/mktime.m4: Likewise.
57125
57126         * m4/check-type.m4: Remove file, now that the latest version of
57127         AC_CHECK_TYPE takes a third arg to specify additional #includes.
57128
57129         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
57130         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
57131         AC_CHECK_TYPE.
57132
57133 1999-10-04  Jim Meyering  <meyering@ascend.com>
57134
57135         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
57136
57137 1999-09-22  Paul Eggert  <eggert@twinsun.com>
57138
57139         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
57140         2.95.1 bug with HP-UX 10.20.
57141
57142 1999-09-17  Jim Meyering  <meyering@ascend.com>
57143
57144         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
57145         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
57146         due to missing strdup (against sh-utils-2.0).
57147
57148 1999-08-29  Jim Meyering  <meyering@ascend.com>
57149
57150         * m4/jm-macros.m4: Require jm_BISON.
57151         * m4/bison.m4: New file.
57152
57153 1999-08-17  Paul Eggert  <eggert@twinsun.com>
57154
57155         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
57156         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
57157
57158 1999-08-05  Jim Meyering  <meyering@ascend.com>
57159
57160         * m4/getline.m4: Rename test file from conftestdata to conftest.data
57161         to avoid conflicts with `conftest' on 8+3 filesystems.
57162         Suggestion from Eli Zaretskii.
57163
57164 1999-08-04  Jim Meyering  <meyering@ascend.com>
57165
57166         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
57167         fileutils and sh-utils (textutils's getline test was inadequate).
57168         (AM_FUNC_GETLINE): Run this test.
57169         (AC_CHECK_FUNCS): Check for getdelim.
57170         Reported by Bob Proulx.
57171
57172 1999-08-02  Jim Meyering  <meyering@ascend.com>
57173
57174         * m4/jm-macros.m4: Add a comment.
57175
57176 1999-08-01  Paul Eggert  <eggert@twinsun.com>
57177
57178         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
57179         <inttypes.h> defines strtoumax as a macro (and not as a
57180         function).
57181
57182 1999-08-01  Paul Eggert  <eggert@twinsun.com>
57183
57184         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
57185         that we can shift, multiply and divide unsigned long long
57186         values; Ultrix cc can't do it.
57187
57188 1999-08-01  Paul Eggert  <eggert@twinsun.com>
57189
57190         * m4/mktime.m4: New file, which is a preview of what should appear
57191         in the next public autoconf release.
57192
57193 1999-08-01  Paul Eggert  <eggert@twinsun.com>
57194
57195         * m4/lfs.m4: Remove this file.
57196         * m4/largefile.m4: New file.  It contains the old contents of
57197         lfs.m4, except that all names with prefix AC_LFS have been
57198         changed to use the prefix AC_SYS_LARGEFILE instead, to be
57199         compatible with future autoconf versions.  Also, some minor m4
57200         quoting problems have been fixed.
57201
57202 1999-08-01  Paul Eggert  <eggert@twinsun.com>
57203
57204         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
57205         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
57206         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
57207         and simplify the shell code.
57208
57209 1999-08-01  Jim Meyering  <meyering@ascend.com>
57210
57211         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
57212         m4.
57213
57214 1999-07-20  Jim Meyering  <meyering@ascend.com>
57215
57216         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
57217
57218 1999-07-15  Jim Meyering  <meyering@ascend.com>
57219
57220         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
57221
57222 1999-05-22  Jim Meyering  <meyering@ascend.com>
57223
57224         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
57225
57226 1999-05-20  Jim Meyering  <meyering@ascend.com>
57227
57228         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
57229         Add a colon after each `then' in case $4 is empty.
57230
57231 1999-05-16  Jim Meyering  <meyering@ascend.com>
57232
57233         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
57234
57235 1999-05-10  Jim Meyering  <meyering@ascend.com>
57236
57237         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
57238
57239         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
57240         AC_FUNC_MKTIME.
57241
57242 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
57243
57244         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
57245
57246 1999-05-04  Paul Eggert  <eggert@twinsun.com>
57247
57248         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
57249         not CPPFLAGS, so that linking works correctly in IRIX.
57250
57251 1999-04-30  Paul Eggert  <eggert@twinsun.com>
57252
57253         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
57254
57255 1999-04-20  Paul Eggert  <eggert@twinsun.com>
57256
57257         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
57258         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
57259         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
57260         jm_AC_TYPE_UNSIGNED_LONG_LONG.
57261         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
57262
57263         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
57264
57265 1999-04-20  Jim Meyering  <meyering@ascend.com>
57266
57267         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
57268         AC_REPLACE xstroull if necessary.  From Paul Eggert.
57269         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
57270
57271 1999-04-18  Jim Meyering  <meyering@ascend.com>
57272
57273         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
57274         * m4/jm-macros.m4: Use it.
57275
57276 1999-04-06  Jim Meyering  <meyering@ascend.com>
57277
57278         * m4/strftime.m4: Remove test for %f.
57279
57280 1999-03-29  Jim Meyering  <meyering@ascend.com>
57281
57282         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
57283         superset of the AC_TYPE_* checks in the textutils, fileutils,
57284         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
57285         AC_TYPE_PID_T.
57286
57287 1999-03-28  Jim Meyering  <meyering@ascend.com>
57288
57289         * m4/jm-macros.m4: Define GNU_PACKAGE here.
57290         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
57291         replaced e.g., in the *.sh files of the sh-utils.
57292
57293 1999-03-20  Jim Meyering  <meyering@ascend.com>
57294
57295         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
57296         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
57297         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
57298
57299 1999-03-19  Jim Meyering  <meyering@ascend.com>
57300
57301         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
57302
57303 1999-03-12  Jim Meyering  <meyering@ascend.com>
57304
57305         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
57306
57307 1999-03-07  Jim Meyering  <meyering@ascend.com>
57308
57309         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
57310         declared.
57311
57312 1999-02-17  Jim Meyering  <meyering@ascend.com>
57313
57314         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
57315         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
57316
57317 1999-02-07  Jim Meyering  <meyering@ascend.com>
57318
57319         * m4/group-member.m4: New file -- extracted from sh-utils'
57320         configure.in.
57321
57322         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
57323         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
57324
57325 1999-02-06  Jim Meyering  <meyering@ascend.com>
57326
57327         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
57328         * m4/fnmatch.m4: Likewise.
57329         * m4/getgroups.m4: Likewise.
57330         * m4/lstat.m4: Likewise.
57331         * m4/malloc.m4: Likewise.
57332         * m4/putenv.m4: Likewise.
57333         * m4/realloc.m4: Likewise.
57334         * m4/regex.m4: Likewise.
57335         * m4/stat.m4: Likewise.
57336         * m4/strftime.m4: Likewise.
57337         Suggestion from Alain Magloire.
57338
57339         * m4/chown.m4: Use `.$ac_objext', not `.o'.
57340         * m4/fnmatch.m4: Likewise.
57341         * m4/getgroups.m4: Likewise.
57342         * m4/getline.m4: Likewise.
57343         * m4/lstat.m4: Likewise.
57344         * m4/malloc.m4: Likewise.
57345         * m4/memcmp.m4: Likewise.
57346         * m4/putenv.m4: Likewise.
57347         * m4/realloc.m4: Likewise.
57348         * m4/regex.m4: Likewise.
57349         * m4/stat.m4: Likewise.
57350         * m4/strftime.m4: Likewise.
57351         Suggestion from Alain Magloire.
57352
57353         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
57354         an argument.
57355
57356         * m4/regex.m4: Add a run-time Test for proper operation of
57357         re_compile_pattern.
57358
57359 1999-01-31  Jim Meyering  <meyering@ascend.com>
57360
57361         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
57362
57363 1999-01-30  Jim Meyering  <meyering@ascend.com>
57364
57365         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
57366
57367         * m4/jm-mktime.m4: Make this a wrapper around the official
57368         AM_FUNC_MKTIME rather than my private copy, now that the official one
57369         is up to date.
57370         * m4/mktime.m4: Remove file.
57371
57372         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
57373         * m4/uptime.m4: Likewise.
57374         * m4/uintmax_t.m4: Likewise.
57375
57376 1999-01-28  Jim Meyering  <meyering@ascend.com>
57377
57378         * m4/jm-macros.m4: Use jm_AFS.
57379         * m4/afs.m4: New file (from fileutils' configure.in).
57380
57381         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
57382         * m4/chown.m4: Likewise.
57383         * m4/d-ino.m4: Likewise.
57384         * m4/d-type.m4: Likewise.
57385         * m4/fnmatch.m4: Likewise.
57386         * m4/getgroups.m4: Likewise.
57387         * m4/gettext.m4: Likewise.
57388         * m4/jm-mktime.m4: Likewise.
57389         * m4/jm-winsz2.m4: Likewise.
57390         * m4/lcmessage.m4: Likewise.
57391         * m4/ls-mntd-fs.m4: Likewise.
57392         * m4/malloc.m4: Likewise.
57393         * m4/memcmp.m4: Likewise.
57394         * m4/putenv.m4: Likewise.
57395         * m4/realloc.m4: Likewise.
57396         * m4/st_mtim.m4: Likewise.
57397         * m4/strftime.m4: Likewise.
57398
57399 1999-01-16  Jim Meyering  <meyering@ascend.com>
57400
57401         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
57402         (ARGMATCH_DIE_DECL): Define.
57403
57404 1999-01-12  Jim Meyering  <meyering@ascend.com>
57405
57406         * m4/Makefile.am.in: Rewrite to avoid using fmt.
57407         Reported by Lars Hecking.
57408
57409 1999-01-10  Jim Meyering  <meyering@ascend.com>
57410
57411         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
57412         gross kludge.
57413         * m4/inttypes_h.m4: Likewise.
57414         * m4/lstat.m4: Likewise.
57415         * m4/malloc.m4: Likewise.
57416         * m4/readdir.m4: Likewise.
57417         * m4/realloc.m4: Likewise.
57418         * m4/st_dm_mode.m4: Likewise.
57419         * m4/stat.m4: Likewise.
57420         * m4/utimbuf.m4: Likewise.
57421         * m4/utimes.m4: Likewise.
57422
57423         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
57424         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
57425         comments in config.h.in are meaningful.
57426
57427         * m4/jm-macros.m4: Require autoconf-2.13 here.
57428
57429         * m4/regex.m4: By default, don't use the included regex.c on systems
57430         with glibc 2.  Suggestion from Uli Drepper.
57431
57432 1999-01-02  Jim Meyering  <meyering@ascend.com>
57433
57434         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
57435
57436 1998-12-18  Jim Meyering  <meyering@ascend.com>
57437
57438         * m4/Makefile.am.in (Makefile.am): Simplify rule.
57439         Based on a suggestion from Lars Hecking.
57440
57441 1998-11-16  Paul Eggert  <eggert@twinsun.com>
57442
57443         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
57444
57445 1998-11-16  Jim Meyering  <meyering@ascend.com>
57446
57447         * m4/lfs.m4: Double-quote the `uname...` expression.
57448
57449 1998-11-14  Jim Meyering  <meyering@ascend.com>
57450
57451         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
57452         * m4/stat.m4: Likewise.
57453
57454 1998-11-03  Jim Meyering  <meyering@ascend.com>
57455
57456         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
57457         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
57458
57459 1998-10-18  Jim Meyering  <meyering@ascend.com>
57460
57461         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
57462
57463 1998-10-17  Jim Meyering  <meyering@ascend.com>
57464
57465         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
57466         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
57467         calls for those previously hard-coded headers.  Instead, take a new
57468         parameter.
57469         (jm_CHECK_DECLARATIONS): Reflect interface change.
57470         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
57471         (jm_CHECK_DECL_LOCALTIME_R): New macro.
57472
57473         * m4/mktime.m4: Test for spring-forward gap before long-running test.
57474
57475 1998-10-14  Jim Meyering  <meyering@ascend.com>
57476
57477         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
57478         instead of "TZ=America/Vancouver".  From Paul Eggert.
57479
57480 1998-10-11  Jim Meyering  <meyering@ascend.com>
57481
57482         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
57483         This adds a test for a recently added compatibility fix for mktime.c.
57484         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
57485
57486 1998-09-27  Jim Meyering  <meyering@ascend.com>
57487
57488         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
57489
57490         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
57491         ../configure.in, including a change from Gordon Matzigkeit to allow
57492         cross-compiling for the Hurd.
57493
57494         * m4/glibc.m4: New file/macro to test for the GNU C Library
57495         versions 1 and 2.  From Gordon Matzigkeit.
57496         Indent.
57497
57498 1998-09-21  Jim Meyering  <meyering@ascend.com>
57499
57500         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
57501
57502 1998-08-18  Paul Eggert  <eggert@twinsun.com>
57503
57504         Port nanosecond-resolution times to UnixWare 2.1.2 and
57505         pedantic Solaris 2.6.
57506
57507         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
57508         AC_STRUCT_ST_MTIM.
57509         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
57510         Generate name of ns member, instead of just 1 or undef.
57511         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
57512
57513 1998-08-15  Jim Meyering  <meyering@ascend.com>
57514
57515         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
57516         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
57517         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
57518         instead of jm_TYPE_SSIZE_T.
57519
57520 1998-08-12  Jim Meyering  <meyering@ascend.com>
57521
57522         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
57523
57524 1998-08-02  Jim Meyering  <meyering@ascend.com>
57525
57526         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
57527         in acconfig.h manually.
57528
57529 1998-07-31  Paul Eggert  <eggert@twinsun.com>
57530
57531         * m4/st_mtim.m4: New file.
57532
57533 1998-07-28  Jim Meyering  <meyering@ascend.com>
57534
57535         * m4/utimes.m4: Undef stat.
57536
57537 1998-07-25  Jim Meyering  <meyering@ascend.com>
57538
57539         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
57540         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
57541
57542 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
57543
57544         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
57545         uid and gid actually remain unchanged.
57546
57547 1998-07-07  Jim Meyering  <meyering@ascend.com>
57548
57549         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
57550
57551 1998-07-04  Jim Meyering  <meyering@ascend.com>
57552
57553         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
57554         to prove that this macro can be used in packages without regex.c.
57555
57556 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
57557
57558         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
57559         is to be used.
57560
57561 1998-07-03  Jim Meyering  <meyering@ascend.com>
57562
57563         * m4/gettext.m4: Add -lintl if it's found to be necessary.
57564
57565         * m4/gettext.m4: New file -- from gettext-0.10.35.
57566         * m4/lcmessage.m4: Likewise.
57567         * m4/progtest.m4: Likewise.
57568
57569         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
57570         * m4/jm-macros.m4: Require the new macro.
57571
57572 1998-06-29  Jim Meyering  <meyering@ascend.com>
57573
57574         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
57575         for the definition of NGROUPS (used in a system header included
57576         by sys/mount.h).
57577
57578 1998-06-28  Jim Meyering  <meyering@ascend.com>
57579
57580         * m4/ls-mntd-fs.m4: New file.
57581         * m4/fstypename.m4: New file.
57582
57583         * m4/jm-macros.m4: Require the new macro.
57584         * m4/jm-glibc-io.m4: New file.
57585
57586 1998-05-19  Jim Meyering  <meyering@ascend.com>
57587
57588         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
57589         * m4/lchown.m4: New file.
57590
57591         * m4/Makefile.am.in: New file.
57592         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
57593
57594 1998-05-14  Jim Meyering  <meyering@ascend.com>
57595
57596         * m4/Makefile.am (EXTRA_DIST): Add them.
57597         * m4/jm-macros.m4: New file.
57598         * m4/utimbuf.m4: New file.
57599
57600 1998-05-12  Jim Meyering  <meyering@ascend.com>
57601
57602         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
57603
57604 1998-05-11  Jim Meyering  <meyering@ascend.com>
57605
57606         * m4/isc-posix.m4: New file.
57607
57608 1998-05-10  Jim Meyering  <meyering@ascend.com>
57609
57610         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
57611
57612 1998-05-09  Jim Meyering  <meyering@ascend.com>
57613
57614         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
57615         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
57616         with automake.
57617
57618         * m4/ssize_t.m4: New file.
57619         * m4/mktime.m4: Remove file -- the new automake has this now.
57620
57621 1998-04-26  Jim Meyering  <meyering@ascend.com>
57622
57623         * m4/assert.m4: New file.
57624         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
57625
57626 1998-04-05  Jim Meyering  <meyering@ascend.com>
57627
57628         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
57629         (jm_PREREQ): Use it here.
57630
57631 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
57632
57633         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
57634         in acconfig.h.
57635
57636 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
57637
57638         * m4/prereq.m4: New file.
57639         * m4/error.m4: New file.
57640         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
57641
57642 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
57643
57644         * m4/getline.m4: Don't set am_cv_func_working_getline before the
57645         cache-check for the same variable -- that defeated the purpose of
57646         the test; the test program was never run.  This was a problem only
57647         on systems with losing getline functions -- HP-UX 10.20 is one.
57648         Reported by Bjorn Helgaas.
57649
57650 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
57651
57652         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
57653
57654 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
57655
57656         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
57657
57658         * m4/const.m4: New file.  Use an initializer in this declaration
57659         typedef int charset[2]; const charset x;
57660         Reported by Bob Glickstein.
57661
57662 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
57663
57664         * m4/chown.m4: Fix reversed types on -1 args to chown.
57665         From Kaveh Ghazi.
57666
57667 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
57668
57669         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
57670         Add lseek and memchr.
57671
57672         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
57673         T.E.Dickey <dickey@clark.net> said that some older preprocessors
57674         have a 20-character limit on names.
57675
57676 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
57677
57678         * m4/inttypes_h.m4: New file.
57679         * m4/uintmax_t.m4: New file.
57680         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
57681
57682
57683         -----
57684
57685         Local Variables:
57686         coding: utf-8
57687         End:
57688
57689         Copyright (C) 1997-2009 Free Software Foundation, Inc.
57690
57691         Copying and distribution of this file, with or without
57692         modification, are permitted provided the copyright notice
57693         and this notice are preserved.