mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
[pspp] / ChangeLog
1 2011-01-07  Bruno Haible  <bruno@clisp.org>
2
3         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
4         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
5         error code.
6
7 2011-01-07  Pádraig Brady <P@draigBrady.com>
8
9         ignore-value: fixup comments, and add Eric Blake
10         as an author since he rewrote the macros.
11         * lib/ignore-value.h (ignore_value):  State that
12         we now support aggregates.  Also specify exactly
13         when the GCC warn_unused_result feature was added.
14
15 2011-01-06  Eric Blake  <eblake@redhat.com>
16
17         ignore-value: support aggregate types
18         * lib/ignore-value.h (ignore_value): Provide separate gcc
19         definition.
20         * modules/ignore-value-tests: New test module.
21         * tests/test-ignore-value.c: New test.
22
23         maint.mk: improve sc_prohibit_strcmp regex
24         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
25         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26         definition of STRNEQ.
27
28         signal: work around Haiku issue with SIGBUS
29         * lib/siglist.h: Add comment.
30         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
31         strsignal's favoring of SIGSEGV.
32         * tests/test-signal.c (main): Avoid test failure.
33         * doc/posix-headers/signal.texi (signal.h): Document the issue.
34         Reported by Scott McCreary.
35
36         maint.mk: add pre-release check to ensure submodule commits are public
37         * top/maint.mk (public-submodule-commit): New rule.
38         (submodule-checks): New variable.
39         (alpha beta stable): Depend on the variable.
40
41 2011-01-05  Pádraig Brady <P@draigBrady.com>
42         and Jim Meyering  <meyering@redhat.com>
43
44         ignore-value: make ignore_value more generic; deprecate ignore_ptr
45         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
46         (ATTRIBUTE_DEPRECATED): Define.
47         (_ignore_case): New function.
48         (ignore_value): New macro, to replace the old function.
49         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
50         * modules/ignore-value (Depends-on): Add stdint.
51
52 2011-01-04  Eric Blake  <eblake@redhat.com>
53
54         doc: regenerate INSTALL
55         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
56         @firstparagraphindent support, now that autoconf dropped it.
57         (INSTALL_PRELUDE): Reinstate old macro.
58         * doc/install.texi: Resync from autoconf.
59         * doc/INSTALL: Reflect recent autoconf update.
60         * doc/INSTALL.ISO: Likewise.
61         * doc/INSTALL.UTF-8: Likewise.
62         Reported by Karl Berry.
63
64 2011-01-04  Bruce Korb  <address@hidden>
65
66         git-version-gen: avoid a sub-shell
67         * build-aux/git-version-gen: Redirect stderr in `...` via
68         "exec 2>...", rather than via an added sub-shell.
69
70 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
71
72         git-version-gen: use (...) rather than sh -c '...'
73         * build-aux/git-version-gen: Rather than hard-coding a shell's name
74         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
75
76 2011-01-03  Jim Meyering  <meyering@redhat.com>
77
78         git-version-gen: convert leading TABs to spaces
79         * build-aux/git-version-gen: Expand leading TABs.
80
81         git-version-gen: handle failed "git rev-list"
82         * build-aux/git-version-gen: Rather than leaking a "fatal" error
83         from git and proceeding as if it had succeeded but printed no SHA1
84         checksums, suppress the diagnostic and handle the failure.
85         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
86
87         git-version-gen: include command name in one more diagnostic
88         * build-aux/git-version-gen: When the required .tarball-version file
89         was missing or unreadable, you might see the diagnostic from "cat",
90         but no trace of the name of the invoking script.  Now, you still see
91         the diagnostic from cat, but also get one from "git-version-gen: ".
92         Inspired by a patch from Bruce Korb.
93
94         update-copyright: adjust test to match changed code
95         * tests/test-update-copyright.sh: Change test's expected output
96         to match new actual output.
97
98 2011-01-02  Bruno Haible  <bruno@clisp.org>
99
100         getlogin_r: Avoid test failure on HP-UX 11.
101         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
102         ERANGE when the second argument is zero.
103         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
104         portability problem.
105
106 2011-01-02  Bruce Korb  <bkorb@gnu.org>
107
108         * build-aux/update-copyright: doc Simon's changes
109
110 2011-01-02  Simon Josefsson  <simon@josefsson.org>
111
112         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
113         environment variable.
114
115 2011-01-02  Bruno Haible  <bruno@clisp.org>
116
117         unigbrk: Avoid gcc warnings.
118         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
119         unused variable.
120         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
121         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
122         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
123         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
124         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
125         Change type of first argument to 'const char *'.
126         (main): Remove unused variable.
127         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
128         type of first argument to 'const char *'.
129         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
130         Likewise.
131         (main): Change type of variable 's'.
132         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
133         to 'int'.
134
135 2011-01-02  Bruno Haible  <bruno@clisp.org>
136
137         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
138         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
139         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
140         bug.
141         * lib/pwrite.c: Undo 2010-12-31 patch.
142         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
143
144 2011-01-02  Bruno Haible  <bruno@clisp.org>
145
146         pread: Fix test whether it works.
147         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
148
149 2011-01-02  Bruno Haible  <bruno@clisp.org>
150
151         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
152         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
153         ends in "6". Don't require a specific month name. Try also the locale
154         names found on HP-UX 11 and Solaris 7.
155
156 2011-01-02  Bruno Haible  <bruno@clisp.org>
157
158         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
159         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
160         C linkage.
161         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
162
163 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
164
165         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
166         for consistency, since the "cluster" term is not used elsewhere.
167         * lib/unigbrk.in.h: Update name.
168         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
169         * lib/unigbrk/u16-grapheme-next.c: Update name.
170         * lib/unigbrk/u16-grapheme-prev.c: Update name.
171         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
172         * lib/unigbrk/u32-grapheme-next.c: Update name.
173         * lib/unigbrk/u32-grapheme-prev.c: Update name.
174         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
175         * lib/unigbrk/u8-grapheme-next.c: Update name.
176         * lib/unigbrk/u8-grapheme-prev.c: Update name.
177         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
178         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
179         Suggested by Bruno Haible.
180
181 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
182
183         Remove module 'u8-grapheme-len' as too redundant with
184         'u8-grapheme-next'.
185         * modules/unigbrk/u8-grapheme-len: Delete file.
186         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
187         * lib/unigbrk.in.h: Remove prototype for deleted function.
188         * lib/unigbrk/u8-grapheme-len.c: Delete file.
189         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
190
191         Remove module 'u16-grapheme-len' as too redundant with
192         'u16-grapheme-next'.
193         * modules/unigbrk/u16-grapheme-len: Delete file.
194         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
195         * lib/unigbrk.in.h: Remove prototype for deleted function.
196         * lib/unigbrk/u16-grapheme-len.c: Delete file.
197         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
198
199         Remove module 'u32-grapheme-len' as too redundant with
200         'u32-grapheme-next'.
201         * modules/unigbrk/u32-grapheme-len: Delete file.
202         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
203         * lib/unigbrk.in.h: Remove prototype for deleted function.
204         * lib/unigbrk/u32-grapheme-len.c: Delete file.
205         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
206
207         Suggested by Bruno Haible.
208
209 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
210
211         * unigbrk.in.h: Fix typo: "ben" => "been".
212         Reported by Bruno Haible.
213
214 2011-01-01  Jim Meyering  <meyering@redhat.com>
215
216         maint: update almost all copyright ranges to include 2011
217         Run the new "make update-copyright" rule.
218
219 2011-01-01  Jim Meyering  <meyering@redhat.com>
220
221         maint: update-copyright: exempt doc/INSTALL*
222         * Makefile (update-copyright): Also exclude doc/INSTALL*,
223         since they are generated.  Suggested by Bruno Haible.
224
225 2011-01-01  Jim Meyering  <meyering@redhat.com>
226
227         maint: refine the update-copyright rule
228         * Makefile (update-copyright): Also exclude any file that includes
229         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
230         code that merely generates the comment.
231
232 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
233
234         New module 'u8-grapheme-len'.
235         * modules/unigbrk/u8-grapheme-len: New file.
236         * modules/unigbrk/u8-grapheme-len-tests: New file.
237         * lib/unigbrk.in.h: Add prototype for new function.
238         * lib/unigbrk/u8-grapheme-len.c: New file.
239         * tests/unigbrk/test-u8-grapheme-len.c: New file.
240
241         New module 'u16-grapheme-len'.
242         * modules/unigbrk/u16-grapheme-len: New file.
243         * modules/unigbrk/u16-grapheme-len-tests: New file.
244         * lib/unigbrk.in.h: Add prototype for new function.
245         * lib/unigbrk/u16-grapheme-len.c: New file.
246         * tests/unigbrk/test-u16-grapheme-len.c: New file.
247
248         New module 'u32-grapheme-len'.
249         * modules/unigbrk/u32-grapheme-len: New file.
250         * modules/unigbrk/u32-grapheme-len-tests: New file.
251         * lib/unigbrk.in.h: Add prototype for new function.
252         * lib/unigbrk/u32-grapheme-len.c: New file.
253         * tests/unigbrk/test-u32-grapheme-len.c: New file.
254
255         New module 'u8-grapheme-next'.
256         * modules/unigbrk/u8-grapheme-next: New file.
257         * modules/unigbrk/u8-grapheme-next-tests: New file.
258         * lib/unigbrk.in.h: Add prototype for new function.
259         * lib/unigbrk/u8-grapheme-next.c: New file.
260         * tests/unigbrk/test-u8-grapheme-next.c: New file.
261
262         New module 'u16-grapheme-next'.
263         * modules/unigbrk/u16-grapheme-next: New file.
264         * modules/unigbrk/u16-grapheme-next-tests: New file.
265         * lib/unigbrk.in.h: Add prototype for new function.
266         * lib/unigbrk/u16-grapheme-next.c: New file.
267         * tests/unigbrk/test-u16-grapheme-next.c: New file.
268
269         New module 'u32-grapheme-next'.
270         * modules/unigbrk/u32-grapheme-next: New file.
271         * modules/unigbrk/u32-grapheme-next-tests: New file.
272         * lib/unigbrk.in.h: Add prototype for new function.
273         * lib/unigbrk/u32-grapheme-next.c: New file.
274         * tests/unigbrk/test-u32-grapheme-next.c: New file.
275
276         New module 'u8-grapheme-prev'.
277         * modules/unigbrk/u8-grapheme-prev: New file.
278         * modules/unigbrk/u8-grapheme-prev-tests: New file.
279         * lib/unigbrk.in.h: Add prototype for new function.
280         * lib/unigbrk/u8-grapheme-prev.c: New file.
281         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
282
283         New module 'u16-grapheme-prev'.
284         * modules/unigbrk/u16-grapheme-prev: New file.
285         * modules/unigbrk/u16-grapheme-prev-tests: New file.
286         * lib/unigbrk.in.h: Add prototype for new function.
287         * lib/unigbrk/u16-grapheme-prev.c: New file.
288         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
289
290         New module 'u32-grapheme-prev'.
291         * modules/unigbrk/u32-grapheme-prev: New file.
292         * modules/unigbrk/u32-grapheme-prev-tests: New file.
293         * lib/unigbrk.in.h: Add prototype for new function.
294         * lib/unigbrk/u32-grapheme-prev.c: New file.
295         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
296
297         New module 'u8-grapheme-breaks'.
298         * modules/unigbrk/u8-grapheme-breaks: New file.
299         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
300         * lib/unigbrk.in.h: Add prototype for new function.
301         * lib/unigbrk/u8-grapheme-breaks.c: New file.
302         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
303
304         New module 'u16-grapheme-breaks'.
305         * modules/unigbrk/u16-grapheme-breaks: New file.
306         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
307         * lib/unigbrk.in.h: Add prototype for new function.
308         * lib/unigbrk/u16-grapheme-breaks.c: New file.
309         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
310
311         New module 'u32-grapheme-breaks'.
312         * modules/unigbrk/u32-grapheme-breaks: New file.
313         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
314         * lib/unigbrk.in.h: Add prototype for new function.
315         * lib/unigbrk/u32-grapheme-breaks.c: New file.
316         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
317
318         New module 'ulc-grapheme-breaks'.
319         * modules/unigbrk/ulc-grapheme-breaks: New file.
320         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
321         * m4/locale-ar.m4: New file.
322         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
323         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
324         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
325
326 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
327
328         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
329         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
330         modified how this file was generated before I initially submitted
331         the module, but failed to regenerate it.  This meant that several
332         of the level2 entries were wrong.
333         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
334         Remove the division-by-2 that is folded into the table now that
335         gbrkprop.h has been regenerated properly.  Now -1 entries are
336         handled correctly.
337
338         New module 'unigbrk/uc-gbrk-prop-tests'.
339         * modules/unigbrk/uc-gbrk-prop-tests: New file.
340         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
341         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
342         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
343
344 2011-01-01  Bruno Haible  <bruno@clisp.org>
345
346         Avoid use of hexadecimal escapes.
347         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
348         instead of hexadecimal escapes.
349
350 2011-01-01  Jim Meyering  <meyering@redhat.com>
351
352         maint: new rule to update copyright year ranges
353         * Makefile (update-copyright): New rule.
354
355         maint: indent with TABs in Makefile
356         * Makefile: Expand leading sequences of spaces to TABs
357
358         version-etc: update the copyright year it reports
359         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
360
361 2010-12-31  Bruno Haible  <bruno@clisp.org>
362
363         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
364         * lib/isfinite.c (zerof, zerod, zerol): New variables.
365         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
366         zero.
367
368 2010-12-31  Bruno Haible  <bruno@clisp.org>
369
370         pwrite: Work around HP-UX 11.11 bug.
371         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
372         works and set REPLACE_PWRITE if not.
373         * lib/pwrite.c (pwrite): Add an implementation that uses the system
374         function.
375         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
376
377 2010-12-31  Bruno Haible  <bruno@clisp.org>
378
379         pread: Work around HP-UX 11 bugs.
380         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
381         and set REPLACE_PREAD if not.
382         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
383
384 2010-12-31  Eric Blake  <eblake@redhat.com>
385
386         nl_langinfo: fix YESEXPR on Irix 6.5
387         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
388         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
389         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
390         it.
391
392 2010-12-31  Bruno Haible  <bruno@clisp.org>
393
394         iconv: Document HP-UX 11 bug.
395         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
396
397 2010-12-31  Bruno Haible  <bruno@clisp.org>
398
399         ldexpl: Fix link error on HP-UX 11.
400         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
401         LDEXPL_LIBM, using $ISNANL_LIBM.
402
403 2010-12-31  Eric Blake  <eblake@redhat.com>
404
405         ftello: avoid compilation failure with SunStudio c89
406         * lib/ftello.c (ftello): Use lseek, not llseek.
407
408         tests: avoid failing coreutils tests on cygwin
409         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
410         (create_exe_shims_): Return 0 when skipping.
411
412 2010-12-31  Bruno Haible  <bruno@clisp.org>
413
414         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
415         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
416
417 2010-12-31  Bruno Haible  <bruno@clisp.org>
418
419         waitpid: Fix link error in C++ mode.
420         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
421
422 2010-12-31  Bruno Haible  <bruno@clisp.org>
423
424         isnan: Use GCC built-ins when possible.
425         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
426         __builtin_isnan.
427         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
428         (isnan): Define using GCC built-ins for GCC >= 4.0.
429
430 2010-12-31  Bruno Haible  <bruno@clisp.org>
431
432         isnand: Fix mistake.
433         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
434         __builtin_isnand.
435
436 2010-12-31  Bruno Haible  <bruno@clisp.org>
437
438         open: Avoid C++ error on HP-UX 11.
439         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
440
441 2010-12-31  Bruno Haible  <bruno@clisp.org>
442
443         time_r: Add missing declarations on HP-UX 11.
444         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
445         instead of HAVE_LOCALTIME_R.
446         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
447         HAVE_LOCALTIME_R always.
448         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
449         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
450         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
451         HAVE_LOCALTIME_R.
452         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
453         * doc/posix-functions/localtime_r.texi: Likewise.
454
455 2010-12-29  Eric Blake  <eblake@redhat.com>
456
457         mountlist: tweak previous commit
458         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
459         Reported by Paul Eggert.
460
461         mountlist: fix local drive detection on cygwin
462         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
463         that works for cygwin.
464
465 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
466
467         ftoastr, snprintf: ftoastr + snprintf module
468         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
469         since the snprintf module now should be good enough here.
470         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
471         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
472         and gl_MODULE_INDICATOR([snprintf]), but the former enables
473         GNULIB_SNPRINTF only for the test directory, and the latter
474         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
475         seems to suffice by itself.
476
477 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
478
479         alloca: one step towards thread-safety
480         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
481         need for a static variable.  All callers changed.  This does not
482         make the alloca replacement thread-safe, but it's one step.
483
484         tests: minor indenting change
485         * tests/init.sh: Sync from coreutils housekeeping patch
486         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
487         to keep lines within 80 columns.
488
489 2010-12-28  Jim Meyering  <meyering@redhat.com>
490
491         regex: don't infloop on persistent failing calloc
492         * lib/regexec.c (build_trtable): Return failure indication upon
493         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
494         In glibc, this was fixed for version 2.13:
495         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
496
497 2010-12-28  Bruno Haible  <bruno@clisp.org>
498             Paul Eggert <eggert@cs.ucla.edu>
499
500         linkat: Make implementation robust against system behaviour variations.
501         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
502         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
503         way, and to -2 if it needs a generic runtime test.
504         * lib/linkat.c (solaris_optimized_link_immediate,
505         solaris_optimized_link_follow): New functions.
506         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
507         (check_same_link): Use it.
508
509 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
510
511         New module 'unigbrk/base'.
512         * modules/unigbrk/base: New file.
513         * lib/unigbrk.in.h: New file.
514
515         New module 'unigbrk/uc-gbrk-prop'.
516         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
517         * modules/unigbrk/uc-gbrk-prop: New file.
518         * lib/unigbrk/gbrkprop.h: New file.
519         * lib/unigbrk/uc-gbrk-prop.c: New file.
520
521         New module 'unigbrk/uc-is-grapheme-break'.
522         * modules/unigbrk/uc-is-grapheme-break: New file.
523         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
524         * lib/unigbrk/uc-is-grapheme-break.c: New file.
525         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
526         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
527         * tests/unigbrk/GraphemeBreakTest.txt: New file.
528
529         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
530
531 2010-12-27  Bruno Haible  <bruno@clisp.org>
532
533         linkat test: Avoid failure on Solaris 11 2010-11.
534         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
535
536 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
537
538         utimens: work around glibc rounding bug on more platforms
539         * lib/utimens.c (fdutimens): Work around rounding bug even if
540         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
541         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
542
543 2010-12-27  Bruno Haible  <bruno@clisp.org>
544
545         select tests: Improve comments.
546         * tests/test-select.c (do_select): Add comments.
547
548 2010-12-27  Bruno Haible  <bruno@clisp.org>
549
550         select tests: Safer way of handling timeout.
551         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
552         at every invocation.
553
554 2010-12-27  Bruno Haible  <bruno@clisp.org>
555
556         select tests: Use 'bool' where appropriate.
557         * tests/test-select.c (connect_to_socket): Change argument type to
558         'bool'.
559
560 2010-12-27  Bruno Haible  <bruno@clisp.org>
561
562         select tests: Use existing modules.
563         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
564         (configure.ac): Don't test for unistd.h.
565         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
566         declared in <unistd.h>.
567
568 2010-12-27  Bruno Haible  <bruno@clisp.org>
569
570         mbrtowc: Work around a Solaris 7 bug.
571         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
572         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
573         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
574         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
575         MBRTOWC_NULL_ARG1_BUG.
576         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
577         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
578         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
579         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
580
581 2010-12-27  Jim Meyering  <meyering@redhat.com>
582
583         read-file.c: tweak syntax
584         * lib/read-file.c (fread_file): Remove space after "*" in function
585         definitions.
586
587 2010-12-27  Bruno Haible  <bruno@clisp.org>
588
589         times test: Avoid gcc warnings on OSF/1.
590         * tests/test-times.c (main): Cast printf arguments from clock_t to
591         'long int'.
592
593 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
594
595         utimens: work around glibc rounding bug on older Linux kernels
596         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
597         on Linux with a glibc whose utimes might not work, then work
598         around a longstanding glibc bug involving rounding rather than
599         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
600         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
601
602 2010-12-26  Bruno Haible  <bruno@clisp.org>
603
604         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
605         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
606         _GL_CXXALIAS_SYS.
607         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
608
609 2010-12-26  Bruno Haible  <bruno@clisp.org>
610
611         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
612         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
613         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
614         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
615         looking for the declaration.
616         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
617         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
618         problem.
619         * doc/posix-functions/inet_pton.texi: Likewise.
620
621 2010-12-26  Bruno Haible  <bruno@clisp.org>
622
623         arpa_inet: Use the common idioms with C++ support.
624         * lib/arpa_inet.in.h: Include c++defs.h.
625         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
626         support.
627         * modules/arpa_inet (Depends-on): Add c++defs.
628         (Makefile.am): Substitute the contents of c++defs.h.
629         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
630         * modules/arpa_inet-c++-tests: New file.
631         * tests/test-arpa_inet-c++.cc: New file.
632
633 2010-12-25  Bruno Haible  <bruno@clisp.org>
634
635         Fix more C++ link errors on Solaris 8.
636         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
637         $(LIB_EACCESS).
638         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
639         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
640         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
641         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
642         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
643
644 2010-12-25  Bruno Haible  <bruno@clisp.org>
645
646         printf-posix: Fix link error when a non-GCC compiler is used.
647         * lib/stdio.in.h (printf): When not using GCC, override printf
648         correctly.
649         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
650
651 2010-12-25  Bruno Haible  <bruno@clisp.org>
652
653         strerror_r-posix: Update doc.
654         * doc/posix-functions/strerror_r.texi: Update doc about the return
655         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
656
657 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
658
659         utimens: simplify the logic of the previous change
660         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
661         This should not affect whether the test succeeds or fails.
662
663         utimens: configure better on hosts with NFS clock skew
664         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
665         uses the clock of the local host.  It might use the clock of the
666         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
667         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
668
669 2010-12-25  Bruno Haible  <bruno@clisp.org>
670
671         ptsname test: Avoid failure on Solaris.
672         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
673         open a pseudo-terminal; don't use BSD-style ptys.
674         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
675
676 2010-12-25  Bruno Haible  <bruno@clisp.org>
677
678         ptsname: Avoid ERANGE failure on some systems.
679         * lib/ptsname.c (buffer): Increase size.
680
681 2010-12-25  Bruno Haible  <bruno@clisp.org>
682
683         rename, renameat: Avoid test failures at NFS mounted locations.
684         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
685         so that subsequent mkdir calls succeed.
686
687 2010-12-25  Bruno Haible  <bruno@clisp.org>
688
689         iswblank: Fix C++ link error on Solaris 8.
690         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
691         _GL_FUNCDECL_SYS.
692
693 2010-12-25  Bruno Haible  <bruno@clisp.org>
694
695         unistd: Fix C++ link error on Solaris 8.
696         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
697
698 2010-12-25  Bruno Haible  <bruno@clisp.org>
699
700         readlink doc: Mention an old glibc bug.
701         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
702
703 2010-12-25  Bruno Haible  <bruno@clisp.org>
704
705         fcntl-h: Fix for use of C++ on glibc systems.
706         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
707         also on glibc systems in C++ mode.
708         Reported by Gary V. Vaughan <gary@gnu.org>.
709
710 2010-12-25  Bruno Haible  <bruno@clisp.org>
711
712         roundl-ieee: Make it work on OSF/1 5.1 with cc.
713         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
714
715 2010-12-25  Bruno Haible  <bruno@clisp.org>
716
717         truncl-ieee: Make it work on OSF/1 5.1 with cc.
718         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
719         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
720         test whether truncl works according to ISO C 99 with IEC 60559.
721         * m4/truncl-ieee.m4: New file.
722         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
723         m4/signbit.m4.
724         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
725
726 2010-12-25  Bruno Haible  <bruno@clisp.org>
727
728         ceill-ieee: Make it work on OSF/1 5.1 with cc.
729         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
730         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
731         test whether ceill works according to ISO C 99 with IEC 60559.
732         * m4/ceill-ieee.m4: New file.
733         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
734         m4/signbit.m4.
735         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
736
737 2010-12-25  Bruno Haible  <bruno@clisp.org>
738
739         Ensure all prerequisites of <wchar.h> are included.
740         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
741         before <wchar.h>.
742         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
743         gl_MBRLEN_NUL_RETVAL): Likewise.
744         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
745         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
746         AC_FUNC_MBRTOWC): Likewise.
747         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
748         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
749         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
750         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
751         Likewise.
752         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
753         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
754         (gl_WCHAR_H): Improve comments.
755         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
756
757 2010-12-25  Bruno Haible  <bruno@clisp.org>
758
759         strtok_r: Fix C syntax error in autoconf macro.
760         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
761         characters in test program.
762
763 2010-12-24  Bruno Haible  <bruno@clisp.org>
764
765         ceil, trunc, round: Fix gcc warnings.
766         * lib/ceil.c (MIN): Undefine before redefining.
767         * lib/trunc.c (MIN): Likewise.
768         * lib/round.c (MIN): Likewise.
769         Include <math.h> first.
770
771 2010-12-24  Bruno Haible  <bruno@clisp.org>
772
773         select tests: Avoid failures on OSF/1 5.1.
774         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
775         failure of closing the last socket; it may fail with ECONNRESET.
776
777 2010-12-24  Eric Blake  <eblake@redhat.com>
778
779         stdint: avoid HP-UX 10.20 preprocessor bug
780         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
781         than #if.
782         * tests/test-floor2.c (main): Likewise.
783         Reported by Peter O'Gorman.
784
785         pipe: make obsoletion transition easier
786         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
787         * modules/pipe (Files): Include revived file.
788         (Include): Drop reference, to mirror getdate's behavior.
789
790 2010-12-24  Bruno Haible  <bruno@clisp.org>
791
792         sys_socket: Hide mismatch of declarations on NonStop Kernel.
793         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
794         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
795         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
796
797 2010-12-24  Bruno Haible  <bruno@clisp.org>
798
799         gethostname: Ensure declaration on NonStop Kernel.
800         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
801         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
802
803 2010-12-24  Bruno Haible  <bruno@clisp.org>
804
805         sys_select: Ensure all necessary types on NonStop Kernel.
806         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
807         include <sys/time.h>.
808         * doc/posix-headers/sys_select.texi: Mention that it's missing on
809         NonStop Kernel.
810         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
811
812 2010-12-24  Bruno Haible  <bruno@clisp.org>
813
814         sys_select: Remove unneeded include.
815         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
816         have <sys/select.h>.
817
818 2010-12-24  Bruno Haible  <bruno@clisp.org>
819
820         gethostname: Provide a fallback for HOST_NAME_MAX.
821         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
822         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
823         instead.
824         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
825
826 2010-12-24  Bruno Haible  <bruno@clisp.org>
827
828         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
829         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
830         (SA_RESTART): Likewise.
831         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
832
833 2010-12-24  Bruno Haible  <bruno@clisp.org>
834
835         signal: Define NSIG.
836         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
837         * tests/test-signal.c (nsig): New variable.
838         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
839
840 2010-12-24  Bruno Haible  <bruno@clisp.org>
841
842         rename, renameat: Avoid test failures on OSF/1 5.1.
843         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
844         alternative error codes.
845         * tests/test-renameat.c (main): Likewise.
846
847 2010-12-24  Bruno Haible  <bruno@clisp.org>
848
849         *printf: Detect large precisions bug on Solaris 10/SPARC.
850         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
851         by Paul Eggert.
852         * tests/test-snprintf-posix.h (test_function): Add this test code here
853         too.
854         * tests/test-sprintf-posix.h (test_function): Likewise.
855         * tests/test-vasnprintf-posix.c (test_function): Likewise.
856         * tests/test-vasprintf-posix.c (test_function): Likewise.
857         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
858         around by gnulib.
859         * doc/posix-functions/printf.texi: Likewise.
860         * doc/posix-functions/snprintf.texi: Likewise.
861         * doc/posix-functions/sprintf.texi: Likewise.
862         * doc/posix-functions/vfprintf.texi: Likewise.
863         * doc/posix-functions/vprintf.texi: Likewise.
864         * doc/posix-functions/vsnprintf.texi: Likewise.
865         * doc/posix-functions/vsprintf.texi: Likewise.
866         * doc/posix-functions/dprintf.texi: Undo last commit.
867         * doc/posix-functions/vdprintf.texi: Likewise.
868
869 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
870
871         tests: port test-fdutimensat.c to Solaris 8
872         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
873         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
874         On Solaris 8, it fails with errno == ENOSYS, because there is no
875         futimens (so it can't use the fd), and there is no lutimens (so it
876         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
877
878         vsnprintf: make more consistent with snprintf; doc fixes
879
880         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
881         the byte count return problem was promoted from the snprintf-posix
882         to the snprintf module.
883         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
884         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
885         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
886         * tests/test-snprintf.c (main): Check the byte count returned.
887         * tests/test-vsnprintf.c (main): Likewise.
888
889 2010-12-23  Eric Blake  <eblake@redhat.com>
890
891         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
892         * modules/sigpipe (License): Relax license.
893
894 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
895
896         doc: document Solaris printf bug with large float precisions
897         * doc/posix-functions/dprintf.texi (dprintf):
898         * doc/posix-functions/fprintf.texi (fprintf):
899         * doc/posix-functions/printf.texi (printf):
900         * doc/posix-functions/snprintf.texi (snprintf):
901         * doc/posix-functions/sprintf.texi (sprintf):
902         * doc/posix-functions/vdprintf.texi (vdprintf):
903         * doc/posix-functions/vfprintf.texi (vfprintf):
904         * doc/posix-functions/vprintf.texi (vprintf):
905         * doc/posix-functions/vsnprintf.texi (vsnprintf):
906         * doc/posix-functions/vsprintf.texi (vsprintf):
907         Mention that these functions mishandle large floating point
908         precisions on Solaris 10.  The same bug is also present in Solaris
909         8, and I assume earlier.  This causes "cd gnulib-tests; make
910         check" to fail on Solaris 8 (and I assume, later) when building
911         the latest coreutils, in test-vasprintf-posix's call to
912         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
913         the wide flavors (e.g., wprintf) so this patch just updates the
914         documentation for the narrow ones.
915
916         test-posixtm.c: add two tests
917         * tests/test-posixtm.c: Add two tests, to highlight the
918         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
919         around this bug; this is merely to document it.
920
921 2010-12-22  Bruno Haible  <bruno@clisp.org>
922
923         getlogin_r: Work around portability problem on OSF/1.
924         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
925         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
926         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
927         test for a truncated result.
928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
929         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
930         * modules/getlogin_r (Depends-on): Add memchr.
931         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
932
933 2010-12-22  Bruno Haible  <bruno@clisp.org>
934
935         ptsname: Avoid test failure on OSF/1 5.1.
936         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
937         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
938         (same_slave): New function.
939         (main): Use it to compare ptsname's result with the expected file name.
940
941 2010-12-22  Bruno Haible  <bruno@clisp.org>
942
943         Port extended stdio modules to HP NonStop Kernel.
944         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
945         macros.
946         * lib/fbufmode.c: Update comments.
947         * lib/fflush.c: Likewise.
948         * lib/fpurge.c: Likewise.
949         * lib/freadable.c: Likewise.
950         * lib/freadahead.c: Likewise.
951         * lib/freading.c: Likewise.
952         * lib/freadptr.c: Likewise.
953         * lib/freadseek.c: Likewise.
954         * lib/fseeko.c: Likewise.
955         * lib/fseterr.c: Likewise.
956         * lib/fwritable.c: Likewise.
957         * lib/fwriting.c: Likewise.
958         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
959
960 2010-12-22  Bruno Haible  <bruno@clisp.org>
961
962         ttyname_r: Work around bug on OSF/1 5.1.
963         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
964         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
965         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
966         present.
967         * lib/ttyname_r.c (ttyname_r): Update comments.
968
969 2010-12-22  Bruno Haible  <bruno@clisp.org>
970
971         round: Implement result sign according to IEEE 754.
972         * lib/round.c (MIN, MINUS_ZERO): New macros.
973         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
974         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
975         * tests/test-round-ieee.c (main): Likewise.
976         * tests/test-roundl-ieee.c (main): Likewise.
977
978         trunc: Implement result sign according to IEEE 754.
979         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
980         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
981         * tests/test-trunc2.c: Include minus-zero.h.
982         (MINUS_ZERO): New macro.
983         (trunc_reference): Keep in sync with lib/trunc.c.
984         * tests/test-truncf2.c: Include minus-zero.h.
985         (MINUS_ZERO): New macro.
986         (truncf_reference): Keep in sync with lib/trunc.c.
987         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
988         * tests/test-trunc-ieee.c (main): Likewise.
989         * tests/test-truncl-ieee.c (main): Likewise.
990
991         ceil: Implement result sign according to IEEE 754.
992         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
993         (FUNC): Return -0.0 for -1 < x < 0.
994         * tests/test-ceil2.c: Include minus-zero.h.
995         (MINUS_ZERO): New macro.
996         (ceil_reference): Keep in sync with lib/ceil.c.
997         * tests/test-ceilf2.c: Include minus-zero.h.
998         (MINUS_ZERO): New macro.
999         (ceilf_reference): Keep in sync with lib/ceil.c.
1000         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
1001         * tests/test-ceil-ieee.c (main): Likewise.
1002         * tests/test-ceill-ieee.c (main): Likewise.
1003
1004         floor: Implement result sign according to IEEE 754.
1005         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
1006         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
1007         * tests/test-floorf2.c (floorf_reference): Likewise.
1008         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
1009         * tests/test-floor-ieee.c (main): Likewise.
1010         * tests/test-floorl-ieee.c (main): Likewise.
1011
1012 2010-12-22  Bruno Haible  <bruno@clisp.org>
1013
1014         getaddrinfo: Update doc.
1015         * doc/posix-functions/gai_strerror.texi: Return type is also different
1016         on AIX and HP-UX.
1017
1018 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1019
1020         getaddrinfo, inet_ntop: Update doc for Solaris.
1021         * doc/posix-functions/gai_strerror.texi: Return type is also an
1022         issue on Solaris 9 and earlier.
1023         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
1024         on Solaris 10 and earlier.
1025
1026 2010-12-21  Bruno Haible  <bruno@clisp.org>
1027
1028         New module 'roundl-ieee'.
1029         * modules/roundl-ieee: New file.
1030         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
1031         test whether roundl works according to ISO C 99 with IEC 60559.
1032         * m4/roundl-ieee.m4: New file.
1033         * modules/roundl-ieee-tests: New file.
1034         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
1035         * tests/test-roundl.c (main): Remove signbit tests.
1036         * modules/roundl-tests (Depends-on): Remove signbit.
1037         * doc/posix-functions/roundl.texi: Mention the new module.
1038
1039 2010-12-21  Bruno Haible  <bruno@clisp.org>
1040
1041         New module 'truncl-ieee'.
1042         * modules/truncl-ieee: New file.
1043         * modules/truncl-ieee-tests: New file.
1044         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
1045         * tests/test-truncl.c (main): Remove signbit tests.
1046         * modules/truncl-tests (Depends-on): Remove signbit.
1047         * doc/posix-functions/truncl.texi: Mention the new module.
1048
1049 2010-12-21  Bruno Haible  <bruno@clisp.org>
1050
1051         New module 'ceill-ieee'.
1052         * modules/ceill-ieee: New file.
1053         * modules/ceill-ieee-tests: New file.
1054         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
1055         * tests/test-ceill.c (main): Remove signbit tests.
1056         * modules/ceill-tests (Depends-on): Remove signbit.
1057         * doc/posix-functions/ceill.texi: Mention the new module.
1058
1059 2010-12-21  Bruno Haible  <bruno@clisp.org>
1060
1061         New module 'floorl-ieee'.
1062         * modules/floorl-ieee: New file.
1063         * modules/floorl-ieee-tests: New file.
1064         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
1065         * tests/test-floorl.c (main): Remove signbit tests.
1066         * modules/floorl-tests (Depends-on): Remove signbit.
1067         * doc/posix-functions/floorl.texi: Mention the new module.
1068
1069 2010-12-21  Bruno Haible  <bruno@clisp.org>
1070
1071         New module 'round-ieee'.
1072         * modules/round-ieee: New file.
1073         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
1074         whether round works according to ISO C 99 with IEC 60559.
1075         * m4/round-ieee.m4: New file.
1076         * modules/round-ieee-tests: New file.
1077         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
1078         * tests/test-round1.c (main): Remove signbit tests.
1079         * modules/round-tests (Depends-on): Remove 'signbit'.
1080         * doc/posix-functions/round.texi: Mention the new module.
1081
1082 2010-12-21  Bruno Haible  <bruno@clisp.org>
1083
1084         New module 'trunc-ieee'.
1085         * modules/trunc-ieee: New file.
1086         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
1087         whether trunc works according to ISO C 99 with IEC 60559.
1088         * m4/trunc-ieee.m4: New file.
1089         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
1090         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
1091         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
1092         * modules/trunc-ieee-tests: New file.
1093         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
1094         * tests/test-trunc1.c (main): Remove signbit tests.
1095         * modules/trunc-tests (Depends-on): Remove 'signbit'.
1096         * doc/posix-functions/trunc.texi: Mention the new module.
1097
1098 2010-12-21  Bruno Haible  <bruno@clisp.org>
1099
1100         New module 'ceil-ieee'.
1101         * modules/ceil-ieee: New file.
1102         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
1103         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
1104         ISO C 99 with IEC 60559.
1105         * m4/ceil-ieee.m4: New file.
1106         * modules/ceil (Files): Add lib/ceil.c.
1107         (Depends-on): Add 'float'.
1108         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
1109         * lib/math.in.h (ceil): New declaration.
1110         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
1111         REPLACE_CEIL.
1112         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
1113         * modules/ceil-ieee-tests: New file.
1114         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
1115         * tests/test-math-c++.cc: Check the signature of 'ceil'.
1116         * doc/posix-functions/ceil.texi: Mention the new module.
1117
1118 2010-12-21  Bruno Haible  <bruno@clisp.org>
1119
1120         New module 'floor-ieee'.
1121         * modules/floor-ieee: New file.
1122         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
1123         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
1124         ISO C 99 with IEC 60559.
1125         * m4/floor-ieee.m4: New file.
1126         * modules/floor (Files): Add lib/floor.c.
1127         (Depends-on): Add 'float'.
1128         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
1129         * lib/math.in.h (floor): New declaration.
1130         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
1131         REPLACE_FLOOR.
1132         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
1133         * modules/floor-ieee-tests: New file.
1134         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
1135         * tests/test-math-c++.cc: Check the signature of 'floor'.
1136         * doc/posix-functions/floor.texi: Mention the new module.
1137
1138 2010-12-21  Bruno Haible  <bruno@clisp.org>
1139
1140         New module 'roundf-ieee'.
1141         * modules/roundf-ieee: New file.
1142         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
1143         test whether roundf works according to ISO C 99 with IEC 60559.
1144         * m4/roundf-ieee.m4: New file.
1145         * modules/roundf-ieee-tests: New file.
1146         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
1147         * tests/test-roundf1.c (main): Remove signbit tests.
1148         * modules/roundf-tests (Depends-on): Remove 'signbit'.
1149         * doc/posix-functions/roundf.texi: Mention the new module.
1150
1151 2010-12-21  Bruno Haible  <bruno@clisp.org>
1152
1153         New module 'truncf-ieee'.
1154         * modules/truncf-ieee: New file.
1155         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
1156         test whether truncf works according to ISO C 99 with IEC 60559.
1157         * m4/truncf-ieee.m4: New file.
1158         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
1159         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
1160         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
1161         * modules/truncf-ieee-tests: New file.
1162         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
1163         * tests/test-truncf1.c (main): Remove signbit tests.
1164         * modules/truncf-tests (Depends-on): Remove 'signbit'.
1165         * doc/posix-functions/truncf.texi: Mention the new module.
1166
1167 2010-12-21  Bruno Haible  <bruno@clisp.org>
1168
1169         New module 'ceilf-ieee'.
1170         * modules/ceilf-ieee: New file.
1171         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
1172         test whether ceilf works according to ISO C 99 with IEC 60559.
1173         * m4/ceilf-ieee.m4: New file.
1174         * modules/ceilf-ieee-tests: New file.
1175         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
1176         * tests/test-ceilf1.c (main): Remove signbit tests.
1177         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
1178         * doc/posix-functions/ceilf.texi: Mention the new module.
1179
1180 2010-12-21  Bruno Haible  <bruno@clisp.org>
1181
1182         New module 'floorf-ieee'.
1183         * modules/floorf-ieee: New file.
1184         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
1185         test whether floorf works according to ISO C 99 with IEC 60559.
1186         * m4/floorf-ieee.m4: New file.
1187         * modules/floorf-ieee-tests: New file.
1188         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
1189         * tests/test-floorf1.c (main): Remove signbit tests.
1190         * modules/floorf-tests (Depends-on): Remove 'signbit'.
1191         * doc/posix-functions/floorf.texi: Mention the new module.
1192
1193 2010-12-21  Bruno Haible  <bruno@clisp.org>
1194
1195         Support for minus zero in autoconf macros.
1196         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
1197         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
1198         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
1199         * tests/minus-zero.h: Update comments.
1200
1201 2010-12-21  Bruno Haible  <bruno@clisp.org>
1202
1203         Tests for module 'ceil'.
1204         * modules/ceil-tests: New file.
1205         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
1206         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
1207
1208 2010-12-21  Bruno Haible  <bruno@clisp.org>
1209
1210         Tests for module 'floor'.
1211         * modules/floor-tests: New file.
1212         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
1213         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
1214
1215 2010-12-21  Bruno Haible  <bruno@clisp.org>
1216
1217         math: Fix indentation.
1218         * lib/math.in.h (floorf): Fix indentation.
1219
1220 2010-12-21  Bruno Haible  <bruno@clisp.org>
1221
1222         Fix cross-compilation guesses on Solaris.
1223         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
1224         not match "solaris2.10".
1225         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
1226         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
1227         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
1228
1229 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1230
1231         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
1232         This fixes a problem observed with the latest coreutils snapshot
1233         that caused a test to fail on Solaris 8.  src/csplit.c's call
1234         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
1235         earlier, instead of returning the number of bytes that would have
1236         been generated; this causes csplit to incorrectly report memory
1237         exhaustion.
1238         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
1239         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
1240         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
1241         comments to match.
1242         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
1243         Fix typo in matching older versions of Solaris: "solaris2.10"
1244         is matched by the shell pattern "solaris2.[0-9]*".  This matters
1245         only for guessing while cross-compiling.
1246         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
1247
1248 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1249
1250         ftoastr: fix comment again
1251         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
1252         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
1253         Also, simplify example a bit by using flags = 0.
1254
1255 2010-12-20  Bruno Haible  <bruno@clisp.org>
1256
1257         round*, trunc*: Update documentation regarding glibc.
1258         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
1259         * doc/posix-functions/round.texi: Likewise.
1260         * doc/posix-functions/roundl.texi: Likewise.
1261         * doc/posix-functions/truncf.texi: Likewise.
1262         * doc/posix-functions/trunc.texi: Likewise.
1263         * doc/posix-functions/truncl.texi: Likewise.
1264
1265 2010-12-20  Bruno Haible  <bruno@clisp.org>
1266
1267         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
1268         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
1269         * doc/posix-functions/round.texi: Likewise.
1270         * doc/posix-functions/roundl.texi: Likewise.
1271
1272 2010-12-20  Bruno Haible  <bruno@clisp.org>
1273
1274         ttyname_r: Add missing declaration on HP-UX 11.
1275         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
1276         HAVE_TTYNAME_R.
1277         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
1278         declared. Set HAVE_TTYNAME_R always.
1279         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1280         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
1281         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
1282         HAVE_TTYNAME_R.
1283         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
1284
1285 2010-12-20  Bruno Haible  <bruno@clisp.org>
1286
1287         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
1288         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
1289         * doc/posix-functions/getlogin_r.texi: Likewise.
1290         * tests/test-getlogin.c: Include <errno.h>.
1291         (main): Avoid test failure on HP-UX 11.11.
1292         * tests/test-getlogin_r.c (main): Likewise.
1293
1294 2010-12-20  Bruno Haible  <bruno@clisp.org>
1295
1296         getlogin_r: Add missing declaration on HP-UX 11.
1297         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
1298         declared also when it exists as a function.
1299         * doc/posix-functions/getlogin_r.texi: Document this workaround.
1300
1301 2010-12-20  Bruno Haible  <bruno@clisp.org>
1302
1303         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
1304         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
1305         through wcrtomb.
1306
1307 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
1308
1309         ftoastr: fix comment
1310         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
1311         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
1312
1313 2010-12-19  Bruno Haible  <bruno@clisp.org>
1314
1315         isnan: Ensure it is a macro.
1316         * lib/math.in.h (isnan): Define as a macro if not already a macro.
1317         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
1318         Solaris.
1319
1320 2010-12-19  Bruno Haible  <bruno@clisp.org>
1321
1322         ldexpl test: Fix link error on OSF/1 5.1.
1323         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
1324
1325 2010-12-19  Bruno Haible  <bruno@clisp.org>
1326
1327         wctype: Make it work in C++ mode on OSF/1 5.1.
1328         * lib/wctype.in.h (iswblank): Declare but not define here.
1329         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
1330         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
1331         * modules/wctype (Files): Add lib/iswblank.c.
1332
1333 2010-12-19  Bruno Haible  <bruno@clisp.org>
1334
1335         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
1336         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
1337         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
1338
1339 2010-12-19  Bruno Haible  <bruno@clisp.org>
1340
1341         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
1342         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
1343         _POSIX_PII_SOCKET.
1344         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
1345         * doc/posix-functions/recvfrom.texi: Likewise.
1346         * doc/posix-functions/send.texi: Likewise.
1347         * doc/posix-functions/sendto.texi: Likewise.
1348
1349 2010-12-19  Bruno Haible  <bruno@clisp.org>
1350
1351         tcgetsid: Add missing declaration on OSF/1 5.1.
1352         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
1353         HAVE_TCGETSID.
1354         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
1355         Don't set HAVE_TCGETSID.
1356         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
1357         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
1358         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
1359         HAVE_TCGETSID.
1360         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
1361
1362 2010-12-19  Bruno Haible  <bruno@clisp.org>
1363
1364         stdio: Fix problem with popen() declaration on OSF/1 5.1.
1365         * lib/stdio.in.h: During the include_next statement, let recursive
1366         includes of this file include only the system header file.
1367
1368 2010-12-19  Bruno Haible  <bruno@clisp.org>
1369
1370         iconv_open: Fix regression from 2010-12-04.
1371         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
1372         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
1373
1374 2010-12-19  Bruno Haible  <bruno@clisp.org>
1375
1376         stdbool test: Avoid a gcc warning.
1377         * tests/test-stdbool.c (main): Fail if e1 is false.
1378         Reported by Jim Meyering.
1379
1380 2010-12-19  Jim Meyering  <meyering@redhat.com>
1381
1382         setenv: restore to working order
1383         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
1384         mistakenly removed.
1385         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
1386         HAVE_SETENV.
1387         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
1388         HAVE_SETENV.
1389
1390 2010-12-19  Bruno Haible  <bruno@clisp.org>
1391
1392         Document some different function declarations on OSF/1 5.1.
1393         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
1394         * doc/posix-functions/inet_ntop.texi: Likewise.
1395         * doc/posix-functions/gethostname.texi: Likewise.
1396         * lib/unistd.in.h (gethostname): Update comment.
1397
1398 2010-12-19  Bruno Haible  <bruno@clisp.org>
1399
1400         doc: Mention vasprintf-posix module.
1401         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
1402         the 'vasprintf-posix' module.
1403         * doc/glibc-functions/vasprintf.texi: Likewise.
1404
1405 2010-12-19  Bruno Haible  <bruno@clisp.org>
1406
1407         unsetenv: Add missing declaration on OSF/1 5.1.
1408         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
1409         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
1410         Don't set HAVE_UNSETENV. In the test program, set _BSD.
1411         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
1412         not HAVE_UNSETENV.
1413         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
1414         HAVE_UNSETENV.
1415         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
1416
1417 2010-12-19  Bruno Haible  <bruno@clisp.org>
1418
1419         setenv: Add missing declaration on OSF/1 5.1.
1420         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
1421         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
1422         declared. Don't set HAVE_SETENV.
1423         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
1424         not HAVE_SETENV.
1425         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
1426         HAVE_SETENV.
1427         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
1428
1429 2010-12-19  Bruno Haible  <bruno@clisp.org>
1430
1431         nl_langinfo tests: Avoid gcc warning.
1432         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
1433
1434 2010-12-19  Bruno Haible  <bruno@clisp.org>
1435
1436         mknod: Avoid error in C++ mode on OSF/1 with GCC.
1437         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
1438         _GL_CXXALIAS_SYS.
1439
1440 2010-12-19  Bruno Haible  <bruno@clisp.org>
1441
1442         stdbool: Relax test.
1443         * tests/test-stdbool.c (e): Don't require that casts from a variable's
1444         address to 'bool' work in static initializer, for compilers other than
1445         GCC.
1446
1447 2010-12-19  Bruno Haible  <bruno@clisp.org>
1448
1449         ftello: Add missing declaration on OSF/1 5.1.
1450         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
1451         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
1452         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
1453         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
1454         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
1455
1456 2010-12-19  Bruno Haible  <bruno@clisp.org>
1457
1458         fseeko: Add missing declaration on OSF/1 5.1.
1459         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
1460         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
1461         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
1462         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
1463         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
1464
1465 2010-12-19  Bruno Haible  <bruno@clisp.org>
1466
1467         fchdir: Add missing declaration on OSF/1 5.1.
1468         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
1469         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
1470         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
1471         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
1472         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
1473
1474 2010-12-19  Bruno Haible  <bruno@clisp.org>
1475
1476         relocatable-prog-wrapper: Separate from relocatable-prog.
1477         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
1478         uninstall-relocwrapper rule here.
1479         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
1480         Reported by Ian Beckwith <ianb@erislabs.net>.
1481
1482 2010-12-19  Bruno Haible  <bruno@clisp.org>
1483
1484         unistr/u8-mbsnlen: Add missing dependency.
1485         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
1486         Reported by Ian Beckwith <ianb@erislabs.net>.
1487
1488 2010-12-19  Bruno Haible  <bruno@clisp.org>
1489
1490         iconv: Make it possible again to use this module without 'iconv-h'.
1491         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
1492         if it is not defined.
1493         Reported by Ian Beckwith <ianb@erislabs.net>.
1494
1495 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1496
1497         acl: port to Solaris 8 when copying from tmpfs to ufs
1498         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
1499         error number.  Problem observed on Solaris 8 with latest
1500         coreutils, with "mv A B", where A is on a tmpfs file system and B
1501         is on a ufs file system.  This caused coreutils' mv/part-symlink
1502         test to fail.
1503
1504         tests: set fail=0 at start
1505         * tests/init.sh (setup_): Move fail=0 initialization here ...
1506         (mktempd_): ... from here, so that tests can rely on fail being
1507         set to 0 initially.  This fixes a problem in coreutils; see:
1508         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
1509
1510 2010-12-18  Bruno Haible  <bruno@clisp.org>
1511
1512         memmem-simple: Stylistic changes.
1513         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
1514         Fix preprocessor directive indentation.
1515
1516 2010-12-15  Pádraig Brady <P@draigBrady.com>
1517
1518         memmem, memmem-simple: reorganize and expand empty needle check
1519         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
1520         functional checks to memmem-simple so that one has a fully functional
1521         memmem by using just this module.
1522         Restrict the performance only check to the memmem module.
1523         Also expand the empty needle check to ensure the correct
1524         pointer is returned, not just a non NULL pointer.
1525         * doc/glibc-functions/memmem.texi: Rearrange the portability
1526         documentation to correlate with the rearranged checks.
1527         Clarify exactly how the memmem and memmem-simple modules
1528         relate to each other.
1529
1530 2010-12-15  Pádraig Brady <P@draigBrady.com>
1531             Bruno Haible  <bruno@clisp.org>
1532
1533         Improve cross-compilation guesses for uClibc.
1534         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
1535         that uClibc does not have the glibc bug.
1536         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
1537         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
1538
1539 2010-12-14  Eric Blake  <eblake@redhat.com>
1540
1541         configmake: provide fallbacks for oldest supported autotools
1542         * m4/configmake.m4: New file.
1543         * modules/configmake (Files): Ship it.
1544         (configure.ac): Use it to guarantee fallbacks.
1545
1546 2010-12-13  Pádraig Brady <P@draigBrady.com>
1547
1548         read-file: Improve handling of large files
1549         * lib/read-file.c (fread_file): Minimize realloc()s
1550         for regular files, and better manage sizes around SIZE_MAX.
1551
1552 2010-12-13  Eric Blake  <eblake@redhat.com>
1553
1554         cloexec, fcntl: relax license
1555         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
1556         consent from all contributors.
1557         * modules/fcntl (License): Likewise.
1558
1559 2010-12-10  Bruno Haible  <bruno@clisp.org>
1560
1561         Tests for module 'pipe-posix'.
1562         * modules/pipe-posix-tests: New file.
1563         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
1564
1565 2010-12-10  Bruno Haible  <bruno@clisp.org>
1566
1567         pipe-posix: Make it work in C++ mode.
1568         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
1569         (pipe): Use common idiom, not a macro definition.
1570         * lib/pipe.c: New file.
1571         * m4/pipe.m4: New file.
1572         * modules/pipe-posix (Description): Enhance.
1573         (Files): Add lib/pipe.c, m4/pipe.m4.
1574         (configure.ac): Invoke gl_FUNC_PIPE.
1575         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
1576         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
1577         * tests/test-unistd-c++.cc: Check the signature of pipe.
1578
1579 2010-12-10  Bruno Haible  <bruno@clisp.org>
1580
1581         Rename module 'pipe' to 'spawn-pipe'.
1582         * modules/spawn-pipe: New file, renamed from modules/pipe.
1583         (Files, configure.ac, Makefile.am): Update.
1584         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
1585         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
1586         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
1587         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
1588         "spawn-pipe.h" instead of "pipe.h".
1589         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
1590         to gl_SPAWN_PIPE.
1591         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
1592         (Files, Makefile.am): Update.
1593         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
1594         Update.
1595         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
1596         Include "spawn-pipe.h" instead of "pipe.h".
1597         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
1598         * lib/javacomp.c: Likewise.
1599         * lib/javaversion.c: Likewise.
1600         * lib/pipe-filter-gi.c: Likewise.
1601         * lib/pipe-filter-ii.c: Likewise.
1602         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
1603         * modules/javacomp (Depends-on): Likewise.
1604         * modules/javaversion (Depends-on): Likewise.
1605         * modules/pipe-filter-gi (Depends-on): Likewise.
1606         * modules/pipe-filter-ii (Depends-on): Likewise.
1607         * MODULES.html.sh (Executing programs): Update.
1608         * NEWS: Mention the change.
1609
1610 2010-12-10  Eric Blake  <eblake@redhat.com>
1611
1612         pipe-posix: new module
1613         * modules/pipe-posix: New file.
1614         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
1615         (gl_UNISTD_H): Check for declaration.
1616         * modules/unistd (Makefile.am): Substitute it.
1617         * lib/unistd.in.h (pipe): Provide it for mingw.
1618         * doc/posix-functions/pipe.texi (pipe): Update documentation.
1619         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
1620
1621 2010-12-07  Bruno Haible  <bruno@clisp.org>
1622
1623         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
1624         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
1625         u8_strcmp_gnu.
1626         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
1627
1628 2010-12-06  Bruno Haible  <bruno@clisp.org>
1629
1630         Update internal documentation.
1631         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
1632
1633 2010-12-04  Bruno Haible  <bruno@clisp.org>
1634
1635         Put more information about failed tests into the test return codes.
1636         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
1637         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
1638         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
1639         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
1640         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
1641         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
1642         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
1643         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
1644         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
1645         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
1646         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
1647         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
1648         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
1649         * m4/stdint.m4 (gl_STDINT_H): Likewise.
1650         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
1651         returns a bit mask.
1652         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
1653         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
1654         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
1655         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
1656         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
1657         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
1658         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
1659         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
1660         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
1661         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
1662         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
1663         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
1664         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
1665         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
1666         * m4/link.m4 (gl_FUNC_LINK): Likewise.
1667         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
1668         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
1669         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
1670         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
1671         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
1672         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
1673         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
1674         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
1675         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
1676         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
1677         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
1678         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
1679         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
1680         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
1681         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
1682         gl_PRINTF_PRECISION): Likewise.
1683         * m4/regex.m4 (gl_REGEX): Likewise.
1684         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
1685         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
1686         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
1687         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
1688         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1689         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
1690         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
1691         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
1692         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
1693         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
1694         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
1695         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
1696         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
1697         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
1698         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
1699         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
1700         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
1701         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1702         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1703         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
1704         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
1705         enumerated value.
1706         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
1707
1708 2010-12-04  Bruno Haible  <bruno@clisp.org>
1709
1710         Update for Solaris 11 2010-11.
1711         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
1712         Express, released in November 2010.
1713
1714 2010-12-04  Bruno Haible  <bruno@clisp.org>
1715
1716         nproc: Relax license.
1717         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
1718         and Paul Eggert.
1719         Requested by Ludovic Courtès <ludo@gnu.org>.
1720
1721 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
1722
1723         utimecmp: fine-grained src to nearby coarse-grained dest
1724
1725         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
1726         and the source is on a file system with higher-resolution time
1727         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
1728         not work, and the time stamps are close together, the algorithm to
1729         determine the exact resolution from the read-back mtime was buggy:
1730         it had a "!=" where it should have had an "==".  This bug has been
1731         in the code ever since it was introduced to gnulib.
1732         Problem reported by Dan Jacobson in
1733         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
1734
1735 2010-11-30  Bruno Haible  <bruno@clisp.org>
1736
1737         strerror_r-posix: Fix autoconf test.
1738         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
1739
1740 2010-11-28  Bruno Haible  <bruno@clisp.org>
1741             Paul Eggert  <eggert@cs.ucla.edu>
1742
1743         Tests for module 'getdomainname'.
1744         * modules/getdomainname-tests: New file.
1745         * tests/test-getdomainname.c: New file, based on
1746         tests/test-gethostname.c.
1747
1748 2010-11-28  Bruno Haible  <bruno@clisp.org>
1749             Paul Eggert  <eggert@cs.ucla.edu>
1750
1751         getdomainname: Use the system function when possible.
1752         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
1753         (getdomainname): Replace if needed. Provide the declaration if it is
1754         missing. Don't use _GL_CXXALIAS_SYS_CAST.
1755         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
1756         (getdomainname): When the system has getdomainname, call the system
1757         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
1758         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
1759         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
1760         found in libnsl. Look for the declaration also in <netdb.h>. Replace
1761         the function if its second argument is of type 'int' or if it is found
1762         in libnsl.
1763         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
1764         <sys/systeminfo.h> and sysinfo().
1765         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
1766         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
1767         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
1768         HAVE_GETDOMAINNAME.
1769         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
1770         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
1771         * doc/glibc-functions/getdomainname.texi: Document the problems with
1772         the getdomainname declaration.
1773
1774 2010-11-28  Bruno Haible  <bruno@clisp.org>
1775
1776         sys_socket: Ensure ss_family field on AIX.
1777         * lib/sys_socket.in.h (ss_family): New macro definition.
1778         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
1779         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
1780         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
1781         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
1782         * modules/sys_socket (Makefile.am): Substitute
1783         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
1784         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
1785
1786 2010-11-27  Bruno Haible  <bruno@clisp.org>
1787
1788         readline: Improve configure output.
1789         * m4/readline.m4 (gl_FUNC_READLINE): Make the
1790         "checking for readline..." result understandable.
1791
1792 2010-11-27  Bruno Haible  <bruno@clisp.org>
1793
1794         *printf-posix: Detect a bug on Solaris 10/x86.
1795         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
1796         for floating-point output.
1797         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
1798         directive.
1799         * tests/test-snprintf-posix.h (test_function): Likewise.
1800         * tests/test-sprintf-posix.h (test_function): Likewise.
1801         * tests/test-vasprintf-posix.c (test_function): Likewise.
1802         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
1803         * doc/posix-functions/printf.texi: Likewise.
1804         * doc/posix-functions/snprintf.texi: Likewise.
1805         * doc/posix-functions/sprintf.texi: Likewise.
1806         * doc/posix-functions/vfprintf.texi: Likewise.
1807         * doc/posix-functions/vprintf.texi: Likewise.
1808         * doc/posix-functions/vsnprintf.texi: Likewise.
1809         * doc/posix-functions/vsprintf.texi: Likewise.
1810         * doc/glibc-functions/obstack_printf.texi: Likewise.
1811         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
1812
1813 2010-11-27  Bruno Haible  <bruno@clisp.org>
1814
1815         Fix link error when module libunistring-optional is in use.
1816         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
1817         * modules/striconveha-tests (Makefile.am): Likewise.
1818
1819 2010-11-27  Bruno Haible  <bruno@clisp.org>
1820
1821         regex: Mention link dependencies.
1822         * modules/regex (Link): New section.
1823         * modules/rpmatch (Link): Likewise.
1824         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
1825
1826 2010-11-27  Bruno Haible  <bruno@clisp.org>
1827
1828         ftoastr: Fix compilation error on Solaris.
1829         * lib/ftoastr.c: Include <config.h>.
1830
1831 2010-11-27  Bruno Haible  <bruno@clisp.org>
1832
1833         getloadavg: Update documentation.
1834         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
1835
1836 2010-11-27  Bruno Haible  <bruno@clisp.org>
1837
1838         sys_socket: Fix test whether the functions are declared.
1839         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
1840         not <sys/select.h>.
1841
1842 2010-11-27  Bruno Haible  <bruno@clisp.org>
1843
1844         getpass: Make sure to get system declaration on some platforms.
1845         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
1846         gl_USE_SYSTEM_EXTENSIONS.
1847         * modules/getpass (Depends-on): Add extensions.
1848
1849 2010-11-26  Bruno Haible  <bruno@clisp.org>
1850
1851         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
1852         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
1853         'iconv' module is present.
1854         (ICONV_CONST): New macro.
1855         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
1856         ICONV_CONST.
1857         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
1858         set ICONV_CONST.
1859         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
1860         here.
1861         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
1862         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
1863         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
1864         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
1865         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
1866         present.
1867
1868 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
1869
1870         ftoastr: comment fix
1871         * lib/ftoastr.c: "little" -> "little or no" in comment
1872
1873 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
1874
1875         stdint: port to GCC 4.3 + OSX + Octave
1876         On this platform, stdint.h is buggy and defines int64_t to long
1877         long int.  The replacement defined it to long int, causing
1878         problems with C++ style name mangling.  Instead, trust the system
1879         definition if INT64_MAX is defined, and likewise for the unsigned
1880         variant.   Problem reported by Jarno Rajahalme in
1881         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
1882         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
1883         and don't mess with int64_t and INT64_MAX in this case.
1884         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
1885
1886 2010-11-24  Bruno Haible  <bruno@clisp.org>
1887
1888         doc: Corrections regarding MacOS X 10.4 and 10.5.
1889         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
1890         MacOS X.
1891         Reported by Simon Josefsson.
1892
1893 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
1894
1895         Uninstall ".bin" files installed by relocwrapper.
1896         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
1897         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
1898         unless it is already there.
1899
1900 2010-11-21  Bruno Haible  <bruno@clisp.org>
1901
1902         Update for NetBSD 5.0.
1903         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
1904         NetBSD; the test fails on NetBSD 5.0.
1905         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
1906         about NetBSD.
1907
1908 2010-11-21  Bruno Haible  <bruno@clisp.org>
1909
1910         Update for HP-UX 11.23 and HP-UX 11.31.
1911         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
1912         HP-UX.
1913
1914 2010-11-21  Bruno Haible  <bruno@clisp.org>
1915
1916         Update for MacOS X 10.5.
1917         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
1918         MacOS X; the test fails on MacOS X 10.5.8.
1919         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
1920         about MacOS X.
1921
1922 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
1923
1924         bootstrap: add bootstrap_sync option.
1925         See discussion at
1926         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
1927         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
1928         * build-aux/bootstrap: Accept --bootstrap-sync to update
1929         bootstrap if it is not identical to the local gnulib's
1930         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
1931         enable this by default.  Accept --no-bootstrap-sync to disable
1932         it.
1933
1934 2010-11-20  Bruno Haible  <bruno@clisp.org>
1935
1936         Ensure that <features.h> is included before __GLIBC__ is tested.
1937         * lib/printf-parse.h: Include <features.h>.
1938         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
1939         Reported by Mike Frysinger <vapier@gentoo.org>.
1940
1941         Ensure that <features.h> is included before __GLIBC__ is tested.
1942         * lib/wchar.in.h: Include <features.h>.
1943         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
1944         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
1945         Reported by Mike Frysinger <vapier@gentoo.org>.
1946
1947         Ensure that <features.h> is included before __GLIBC__ is tested.
1948         * lib/arpa_inet.in.h: Include <features.h>.
1949         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
1950         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
1951         Reported by Mike Frysinger <vapier@gentoo.org>.
1952
1953         Ensure that <features.h> is included before __GLIBC__ is tested.
1954         * build-aux/link-warning.h: Include <features.h>.
1955         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
1956         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
1957         Reported by Mike Frysinger <vapier@gentoo.org>.
1958
1959         Ensure that <features.h> is included before __GLIBC__ is tested.
1960         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
1961         Reported by Mike Frysinger <vapier@gentoo.org>.
1962
1963 2010-11-20  Bruno Haible  <bruno@clisp.org>
1964
1965         memmem: Fix autoconf test.
1966         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
1967
1968 2010-11-20  Bruno Haible  <bruno@clisp.org>
1969
1970         Port to uClibc.
1971         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
1972         * lib/fcntl.in.h: Likewise.
1973         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
1974         * lib/mbrtowc.c (mbrtowc): Likewise.
1975         * lib/relocatable.c (find_shared_library_fullname): Likewise.
1976         * lib/strerror_r.c: Likewise.
1977         * lib/unistr/u8-strnlen.c: Likewise.
1978         * lib/vasnprintf.c (decimal_point_char): Likewise.
1979         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
1980         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
1981         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
1982         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
1983         * tests/test-sigaction.c (handler, main): Likewise.
1984         * lib/freading.h: Treat uClibc like a non-glibc platform.
1985         * lib/freading.c: Likewise.
1986         * lib/gettext.h: Likewise.
1987         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
1988         Likewise.
1989         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
1990         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
1991         * lib/propername.c (proper_name_utf8): Likewise.
1992         * lib/spawn.in.h: Likewise.
1993         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
1994         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
1995         mem_cd_iconveh_internal): Likewise.
1996         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
1997         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
1998         strstr, strcasestr): Likewise.
1999         * lib/unicodeio.c (unicode_to_mb): Likewise.
2000         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
2001         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
2002         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
2003         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
2004         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
2005         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
2006         * lib/unistr/u8-stpncpy.c: Likewise.
2007         * lib/vasnprintf.c (VASNPRINTF): Likewise.
2008         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
2009         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
2010         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
2011         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
2012         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
2013         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
2014         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
2015         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
2016         Likewise.
2017         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
2018         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
2019         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
2020         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
2021         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
2022         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
2023         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
2024         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
2025         * tests/test-getopt.h (OPTIND_MIN): Likewise.
2026         * tests/test-striconveha.c (main): Likewise.
2027         * tests/test-vasnprintf-posix.c (test_function): Likewise.
2028         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
2029         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
2030         * doc/posix-functions/getline.texi: Likewise.
2031         Reported by Mike Frysinger <vapier@gentoo.org>.
2032
2033 2010-11-20  Bruno Haible  <bruno@clisp.org>
2034
2035         nproc: Fix condition.
2036         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
2037         HAVE_PTHREAD_AFFINITY_NP.
2038
2039 2010-11-20  Bruno Haible  <bruno@clisp.org>
2040
2041         Fix a comment.
2042         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
2043
2044 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
2045
2046         ftoastr: don't assume snprintf
2047         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
2048         Implement a subset of snprintf here, by using sprintf safely.
2049         * modules/ftoastr (Depends-on): Remove snprintf.
2050
2051 2010-11-19  Jim Meyering  <meyering@redhat.com>
2052
2053         test-rename.h: fix compilation failure
2054         * tests/test-rename.h (test_rename): Add omitted "}".
2055
2056 2010-11-17  Jim Meyering  <meyering@redhat.com>
2057
2058         maint.mk: add a URL discussing the no-@acronym policy
2059         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
2060
2061 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
2062
2063         ftoastr: depend on snprintf, improve comments
2064         * lib/ftoastr.c: Also mention Loitsch's draft.
2065         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
2066         needed in the current implementation, but it might simplify
2067         speeding up the code later.
2068         * modules/ftoastr: Depend on snprintf; this improves portability.
2069         Suggested by Bruno Haible in the same email.
2070
2071         ftoastr: port to hosts lacking strtof and strtold
2072         Problem reported by Bruno Haible in
2073         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
2074         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
2075         environment and strtold (and presumably strtof) are not available.
2076         * modules/ftoastr (Files): Add m4/c-strtod.m4.
2077         (configure.ac): Require gl_C99_STRTOLD.
2078
2079 2010-11-18  Bruno Haible  <bruno@clisp.org>
2080
2081         c-strtold: Avoid link error on AIX 7.
2082         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
2083         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
2084         (gl_C_STRTOLD): Test whether strtold_l exists.
2085         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
2086
2087 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
2088
2089         intprops: new macro INT_BITS_STRLEN_BOUND
2090         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
2091         ftoastr.h.  This exposes an internal of intprops.h that was formerly
2092         not exposed.  Also, it uses a slightly tighter bound than before;
2093         though this makes no practical difference, we might as well be as
2094         tight as we easily can.
2095
2096         ftoastr: new module, for lossless conversion of floats to short strings
2097         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
2098         * modules/ftoastr: New files.
2099
2100 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
2101
2102         bootstrap: port to Solaris sed
2103         * build-aux/bootstrap (get_version): Port to Solaris sed.
2104         See Ralf Wildenhues's note in
2105         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
2106
2107 2010-11-14  Jim Meyering  <meyering@redhat.com>
2108
2109         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
2110         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
2111         and move definition closer to sole use.
2112
2113 2010-11-13  Jim Meyering  <meyering@redhat.com>
2114
2115         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
2116         Now we require at least autoconf-2.59, which means the work-around
2117         is no longer needed.
2118         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
2119         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
2120         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
2121         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
2122         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
2123
2124 2010-11-13  Bruno Haible  <bruno@clisp.org>
2125
2126         rename, renameat: Avoid test failures at NFS mounted locations.
2127         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
2128         functions.
2129         (test_rename): Use assert_nonexistent.
2130         * tests/test-rename.c: Include <dirent.h>.
2131         * tests/test-renameat.c: Likewise.
2132         Reported by Gary V. Vaughan <gary@gnu.org>.
2133
2134         rename, renameat: Document Linux bug with NFS
2135         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
2136         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
2137         * doc/posix-functions/renameat.texi: Likewise.
2138         Suggested by Eric Blake.
2139
2140 2010-11-13  Bruno Haible  <bruno@clisp.org>
2141
2142         rename test: Add comments.
2143         * tests/test-rename.h (test_rename): Add structure and comments.
2144
2145 2010-11-13  Eric Blake  <eblake@redhat.com>
2146
2147         maintainer-makefile: cover a few more files
2148         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
2149         scripts generated within C files, for libvirt.
2150
2151 2010-11-13  Bruno Haible  <bruno@clisp.org>
2152
2153         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
2154         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
2155         character, return the number of bytes that belong together, not always
2156         1.
2157         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
2158         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
2159         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
2160         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
2161         number of bytes of an invalid character.
2162         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
2163         (main): Invoke it.
2164         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
2165         results.
2166         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
2167         malformed byte sequences.
2168         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
2169         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
2170         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
2171         Reported by Ben Pfaff and Paolo Bonzini.
2172
2173 2010-11-13  Bruno Haible  <bruno@clisp.org>
2174
2175         openat: Work around glibc bug with fchownat() and empty file names.
2176         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
2177         (gl_FUNC_FCHOWNAT): Invoke it.
2178         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
2179         * doc/posix-functions/fchownat.texi: Document the glibc bug.
2180         Reported by Gary V. Vaughan <gary@gnu.org>.
2181
2182 2010-11-13  Bruno Haible  <bruno@clisp.org>
2183
2184         openat: Ensure autoconf macro ordering.
2185         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
2186         gl_USE_SYSTEM_EXTENSIONS.
2187         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
2188
2189 2010-11-13  Bruno Haible  <bruno@clisp.org>
2190
2191         Update comments.
2192         * lib/unistr/u8-check.c: Update file name in comments.
2193         * lib/unistr/u8-mblen.c: Likewise.
2194         * lib/unistr/u8-prev.c: Likewise.
2195         * lib/unistr/u8-strmblen.c: Likewise.
2196         * lib/unistr/u8-strmbtouc.c: Likewise.
2197
2198 2010-11-13  Jim Meyering  <meyering@redhat.com>
2199
2200         tests: avoid test failure on Solaris 10 due to lack of PATH export
2201         * tests/test-update-copyright.sh: Don't forget to export PATH.
2202
2203         init.sh: ensure that IFS is defined, just in case...
2204         * tests/init.sh (setup_): Ensure that IFS is defined,
2205         so that saving and restoring it works as expected.  This
2206         appears to be useful at least for an old version of dash
2207         from a long time ago (RH 6).  See here for details:
2208         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
2209
2210         maint.mk: tighten "test a == b" check
2211         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
2212         test to files that contain something like #!/bin/sh.
2213         Without this, coreutils would get two false positives in
2214         the comments of C source files.
2215
2216 2010-11-12  Eric Blake  <eblake@redhat.com>
2217
2218         bootstrap: fix typo in previous attempt
2219         * build-aux/bootstrap (buildreq): Correct the grouping.
2220         Reported by Paul Eggert.
2221
2222         maintainer-makefile: prohibit test x == x
2223         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
2224         Based on a report by Matthias Bolte.
2225
2226         bootstrap: allow FreeBSD gzip
2227         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
2228         which has no '.' and goes to stderr.
2229         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
2230         Reported by Matthias Bolte.
2231
2232         maintainer-makefile: check for i18n setup
2233         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
2234         will likely work.
2235
2236 2010-11-12  Bruno Haible  <bruno@clisp.org>
2237
2238         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
2239         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
2240         * lib/nanosleep.c (nanosleep): Likewise.
2241
2242 2010-11-11  Bruno Haible  <bruno@clisp.org>
2243
2244         fcntl-h: Fix for use of C++ on glibc systems.
2245         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
2246         also on glibc systems in C++ mode.
2247         Reported by Gary V. Vaughan <gary@gnu.org>.
2248
2249 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
2250
2251         mknod: avoid false failure with dash
2252         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
2253
2254 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
2255
2256         unlink: Fix "is it should" typo in diagnostic.
2257         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
2258         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
2259
2260 2010-11-11  Bruno Haible  <bruno@clisp.org>
2261
2262         Tests for module 'strerror_r-posix'.
2263         * modules/strerror_r-posix-tests: New file.
2264         * tests/test-strerror_r.c: New file.
2265         * tests/test-string-c++.cc: Check the signature of strerror_r.
2266
2267         New module 'strerror_r-posix'.
2268         * lib/string.in.h (strerror_r): New declaration.
2269         * lib/strerror_r.c: New file.
2270         * m4/strerror_r.m4: New file.
2271         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
2272         of strerror_r.
2273         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
2274         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
2275         * modules/strerror_r-posix: New file.
2276         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
2277         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
2278         * doc/posix-functions/strerror_r.texi: Mention the new module and the
2279         portability problems.
2280
2281 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
2282
2283         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
2284         line is also considered for output. Quoted function name in shell
2285         command, so temporary files for functions like MyClass::operator()
2286         are removed correctly without errors.
2287
2288 2010-11-09  Bruno Haible  <bruno@clisp.org>
2289
2290         * doc/posix-functions/strerror.texi: List more failing platforms.
2291
2292         * doc/posix-functions/strerror.texi: Add a comment.
2293
2294 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2295
2296         fdopendir: fix bug on MacOS X when low on file descriptors
2297
2298         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
2299         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
2300         All callers changed.
2301         (fdopendir): Invoke save_cwd at the top level, not after using
2302         multiple dup() calls to use up file descriptors.  Then retry
2303         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
2304         less than the maximum number of open file descriptors, because
2305         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
2306         on Mac OS X 10.6.4 for tar 1.24
2307         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
2308         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
2309         and for tar 1.25
2310         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
2311
2312 2010-11-07  Bruno Haible  <bruno@clisp.org>
2313
2314         vasnprintf: Support I flag on glibc systems.
2315         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
2316         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
2317         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
2318         snprintf function.
2319         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
2320         glibc systems.
2321         * tests/test-vasnprintf-posix3.c: New file.
2322         * modules/vasnprintf-posix-tests (Files): Add it.
2323         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
2324
2325 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
2326
2327         [html] Fix copy/paste bug: Use unique name for compiler warnings.
2328         * MODULES.html.sh: For compiler warnings, use name
2329         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
2330
2331 2010-11-05  Eric Blake  <eblake@redhat.com>
2332
2333         ceil, floor: avoid spurious failure with icc
2334         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
2335         [denormals-as-zero] when optimizing without -mieee-fp option.
2336         * tests/test-floorf2.c (floorf_reference): Likewise.
2337         * tests/test-ceilf1.c (dummy): New function.
2338         (main): Use it to outsmart icc's optimization.
2339         * tests/test-floorf1.c (dummy, main): Likewise.
2340
2341         tests: require working signbit
2342         * modules/ceilf-tests (Depends-on): Add signbit.
2343         * modules/ceill-tests (Depends-on): Likewise.
2344         * modules/floorf-tests (Depends-on): Likewise.
2345         * modules/floorl-tests (Depends-on): Likewise.
2346         * modules/round-tests (Depends-on): Likewise.
2347         * modules/roundf-tests (Depends-on): Likewise.
2348         * modules/roundl-tests (Depends-on): Likewise.
2349         * modules/trunc-tests (Depends-on): Likewise.
2350         * modules/truncf-tests (Depends-on): Likewise.
2351         * modules/truncl-tests (Depends-on): Likewise.
2352
2353         strtod: work around icc bug
2354         * lib/strtod.c (minus_zero): Define to working value.
2355         (strtod): Use it to avoid icc bug.
2356
2357         copysign: enhance tests
2358         * modules/copysign-tests (Files): Add minus-zero.h.
2359         * tests/test-copysign.c (main): Also test zeros.
2360
2361 2010-11-04  Eric Blake  <eblake@redhat.com>
2362
2363         ceil, floor, round, trunc: enhance tests of -0
2364         * tests/test-ceilf1.c (main): Ensure correct sign of result.
2365         * tests/test-ceill.c (main): Likewise.
2366         * tests/test-floorf1.c (main): Likewise.
2367         * tests/test-floorl.c (main): Likewise.
2368         * tests/test-round1.c (main): Likewise.
2369         * tests/test-roundf1.c (main): Likewise.
2370         * tests/test-roundl.c (main): Likewise.
2371         * tests/test-trunc1.c (main): Likewise.
2372         * tests/test-truncf1.c (main): Likewise.
2373         * tests/test-truncl.c (main): Likewise.
2374
2375 2010-11-04  Eric Blake  <eblake@redhat.com>
2376
2377         frexp, tests: work around ICC bug with -zero
2378         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
2379         works with more compilers.
2380         * tests/minus-zero.h: New file.
2381         * modules/ceilf-tests (Files): Include it.
2382         * modules/ceill-tests (Files): Likewise.
2383         * modules/floorf-tests (Files): Likewise.
2384         * modules/floorl-tests (Files): Likewise.
2385         * modules/frexp-nolibm-tests (Files): Likewise.
2386         * modules/frexp-tests (Files): Likewise.
2387         * modules/frexpl-nolibm-tests (Files): Likewise.
2388         * modules/frexpl-tests (Files): Likewise.
2389         * modules/isnan-tests (Files): Likewise.
2390         * modules/isnand-nolibm-tests (Files): Likewise.
2391         * modules/isnand-tests (Files): Likewise.
2392         * modules/isnanf-nolibm-tests (Files): Likewise.
2393         * modules/isnanf-tests (Files): Likewise.
2394         * modules/isnanl-nolibm-tests (Files): Likewise.
2395         * modules/isnanl-tests (Files): Likewise.
2396         * modules/round-tests (Files): Likewise.
2397         * modules/roundf-tests (Files): Likewise.
2398         * modules/roundl-tests (Files): Likewise.
2399         * modules/ldexpl-tests (Files): Likewise.
2400         * modules/signbit-tests (Files): Likewise.
2401         * modules/snprintf-posix-tests (Files): Likewise.
2402         * modules/sprintf-posix-tests (Files): Likewise.
2403         * modules/strtod-tests (Files): Likewise.
2404         * modules/trunc-tests (Files): Likewise.
2405         * modules/truncf-tests (Files): Likewise.
2406         * modules/truncl-tests (Files): Likewise.
2407         * modules/vsnprintf-posix-tests (Files): Likewise.
2408         * modules/vsprintf-posix-tests (Files): Likewise.
2409         * modules/vasnprintf-posix-tests (Files): Likewise.
2410         * modules/vasprintf-posix-tests (Files): Likewise.
2411         * tests/test-ceilf1.c (main): Use it.
2412         * tests/test-ceill.c (main): Likewise.
2413         * tests/test-floorf1.c (main): Likewise.
2414         * tests/test-floorl.c (main): Likewise.
2415         * tests/test-frexp.c (main): Likewise.
2416         * tests/test-frexpl.c (main): Likewise.
2417         * tests/test-isnan.c (main): Likewise.
2418         * tests/test-isnand.h (main): Likewise.
2419         * tests/test-isnanf.h (main): Likewise.
2420         * tests/test-isnanl.h (main): Likewise.
2421         * tests/test-ldexpl.c (main): Likewise.
2422         * tests/test-round.c (main): Likewise.
2423         * tests/test-roundf.c (main): Likewise.
2424         * tests/test-roundl.c (main): Likewise.
2425         * tests/test-signbit.c (test_signbitf, test_signbitd)
2426         (test_signbitl): Likewise.
2427         * tests/test-snprintf-posix.h (test_function): Likewise.
2428         * tests/test-sprintf-posix.h (test_function): Likewise.
2429         * tests/test-strtod.c (main): Likewise.
2430         * tests/test-trunc1.c (main): Likewise.
2431         * tests/test-truncf1.c (main): Likewise.
2432         * tests/test-truncl.c (main): Likewise.
2433
2434         isnanl: work around icc bug
2435         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
2436
2437 2010-11-03  Eric Blake  <eblake@redhat.com>
2438
2439         tests: fix compiler warnings
2440         * tests/test-getopt.h (test_getopt): Fix condition.
2441         * tests/test-getopt_long.h (test_getopt_long): Likewise.
2442         * tests/test-pipe2.c (main): Likewise.
2443         * tests/test-quotearg-simple.c (main): Avoid icc warning.
2444
2445         utimens: fix broken m4 test
2446         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
2447
2448 2010-10-28  Bruno Haible  <bruno@clisp.org>
2449
2450         posix_spawn*, getdtablesize: Relax license.
2451         * modules/posix_spawn (License): Change to LGPLv2+.
2452         * modules/posix_spawnp (License): Likewise.
2453         * modules/posix_spawn-internal (License): Likewise.
2454         * modules/posix_spawnattr_init (License): Likewise.
2455         * modules/posix_spawnattr_getflags (License): Likewise.
2456         * modules/posix_spawnattr_setflags (License): Likewise.
2457         * modules/posix_spawnattr_getpgroup (License): Likewise.
2458         * modules/posix_spawnattr_setpgroup (License): Likewise.
2459         * modules/posix_spawnattr_getschedparam (License): Likewise.
2460         * modules/posix_spawnattr_setschedparam (License): Likewise.
2461         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
2462         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
2463         * modules/posix_spawnattr_getsigdefault (License): Likewise.
2464         * modules/posix_spawnattr_setsigdefault (License): Likewise.
2465         * modules/posix_spawnattr_getsigmask (License): Likewise.
2466         * modules/posix_spawnattr_setsigmask (License): Likewise.
2467         * modules/posix_spawnattr_destroy (License): Likewise.
2468         * modules/posix_spawn_file_actions_init (License): Likewise.
2469         * modules/posix_spawn_file_actions_addclose (License): Likewise.
2470         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
2471         * modules/posix_spawn_file_actions_addopen (License): Likewise.
2472         * modules/posix_spawn_file_actions_destroy (License): Likewise.
2473         * modules/getdtablesize (License): Likewise.
2474         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
2475
2476 2010-10-26  Bruno Haible  <bruno@clisp.org>
2477
2478         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
2479         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
2480         Cygwin and mingw.
2481         Suggested by Eric Blake.
2482
2483 2010-10-26  Bruno Haible  <bruno@clisp.org>
2484
2485         stdio: Work around compilation error due to renameat() on Solaris 10.
2486         * lib/stdio.in.h: Include <unistd.h> on Solaris.
2487         * lib/renameat.c: Don't include <unistd.h> here.
2488         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
2489         Reported by Paul Eggert and Eric Blake.
2490
2491 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
2492
2493         renameat: port to Solaris 10, which declares renameat in unistd.h
2494
2495         * lib/renameat.c: Include unistd.h before stdio.h, because
2496         Solaris 10 declares renameat in unistd.h.  Problem encountered
2497         when building GNU tar 1.24 on Solaris 10.
2498
2499 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
2500
2501         fdopendir: fix C89 compilation
2502         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
2503         compilers.
2504
2505 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
2506
2507         inttostr: simplify by removing unnecessary redundancy
2508         * lib/anytostr.c: Don't include verify.h.
2509         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
2510         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
2511         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
2512         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
2513         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
2514         Likewise.
2515         * modules/inttostr (Depends-on): Remove 'verify'.
2516
2517 2010-10-23  Bruno Haible  <bruno@clisp.org>
2518
2519         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
2520         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
2521         Reported by Eric Blake.
2522
2523 2010-10-23  Bruno Haible  <bruno@clisp.org>
2524
2525         Tests: Fix LOCALE_JA on MirBSD 10.
2526         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
2527         to an UTF-8 locale.
2528         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
2529         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
2530         Reported by Eric Blake.
2531
2532 2010-10-21  Bruno Haible  <bruno@clisp.org>
2533
2534         nl_langinfo test: Avoid test failure on NetBSD 5.
2535         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
2536         Reported by Eric Blake.
2537
2538 2010-10-21  Eric Blake  <eblake@redhat.com>
2539
2540         c-stack: work around libsigsegv 2.8 bug
2541         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
2542         overflow on at least PowerPC64.
2543
2544 2010-10-17  Bruno Haible  <bruno@clisp.org>
2545
2546         userspec: Drop redundant file.
2547         * modules/userspec (Files): Remove lib/inttostr.h.
2548
2549 2010-10-17  Bruno Haible  <bruno@clisp.org>
2550
2551         nl_langinfo tests: Silence some warnings.
2552         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
2553         Reported by Jim Meyering.
2554
2555 2010-10-17  Bruno Haible  <bruno@clisp.org>
2556
2557         Make use of GCC's attribute __alloc_size__.
2558         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
2559         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
2560         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
2561         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
2562         __alloc_size__.
2563         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
2564         Suggested by Jim Meyering.
2565
2566 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
2567
2568         bootstrap: anchor .gitignore entries.
2569         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
2570         with...
2571         (insert_vc_ignore): ... this new function, which prepends `/' to
2572         all .gitignore entries before passing them to
2573         insert_sorted_if_absent.
2574
2575 2010-10-16  Bruno Haible  <bruno@clisp.org>
2576
2577         nextafter: Fix configure check.
2578         * modules/nextafter (configure.ac): Correct expected prototype.
2579
2580 2010-10-16  Bruno Haible  <bruno@clisp.org>
2581
2582         termios: Update documentation.
2583         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
2584
2585 2010-10-16  Bruno Haible  <bruno@clisp.org>
2586
2587         tests: Make them compile with TinyCC.
2588         * tests/test-strstr.c (main): Remove parentheses around array
2589         initializer.
2590
2591 2010-10-15  Eric Blake  <eblake@redhat.com>
2592
2593         ignore-value: make header idempotent
2594         * lib/ignore-value.h: Add double-inclusion guards.
2595         Reported by Stefan Berger.
2596
2597 2010-10-15  Jim Meyering  <meyering@redhat.com>
2598
2599         GNUmakefile: handle "stable" target, not "major"
2600         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
2601         lists in maint.mk and announce-gen.  Without this, "make stable"
2602         would fail to ensure that $(VERSION) is up to date.
2603
2604 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
2605
2606         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
2607         & co.
2608
2609 2010-10-14  Bruno Haible  <bruno@clisp.org>
2610
2611         vasnprintf: Don't set errno to 0.
2612         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
2613         block that sets it to 0.
2614         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
2615
2616 2010-10-14  Bruno Haible  <bruno@clisp.org>
2617
2618         socketlib: Fix.
2619         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
2620         gl_PREREQ_SYS_H_WINSOCK2.
2621         Reported by Ian Beckwith <ianb@erislabs.net>.
2622
2623 2010-10-13  Jim Meyering  <meyering@redhat.com>
2624
2625         test-select-stdin.c: avoid warn_unused_result warnings
2626         * tests/test-select-stdin.c: Include "macros.h".
2627         ASSERT that read and fflush succeed.
2628
2629 2010-10-13  Jim Meyering  <meyering@redhat.com>
2630
2631         git-version-gen: do require git-VC'd files in cwd
2632         * build-aux/git-version-gen: Reject a git version string
2633         if there are no commits associated with the current directory.
2634         This avoids an unlikely false-positive (unrelated dir whose parent
2635         repository also contains a tag matching v*), as pointed out
2636         by Giuseppe Scrivano in
2637         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
2638
2639 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
2640
2641         argv-iter: omit nonconforming declaration
2642         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
2643         enum arg_iter_err declaration, which doesn't conform to C99.
2644         Solaris 10 cc warns about this.
2645
2646 2010-10-13  Eric Blake  <eblake@redhat.com>
2647
2648         termios: fix compilation on mingw
2649         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
2650         (gl_TERMIOS_H): Adjust it on mingw.
2651         * modules/termios (Makefile.am): Substitute new key.
2652         * lib/termios.in.h (includes): Make include_next conditional.
2653         * doc/posix-headers/termios.texi (termios.h): Update
2654         documentation.
2655         Reported by Daniel P. Berrange.
2656
2657 2010-10-13  Jim Meyering  <meyering@redhat.com>
2658
2659         git-version-gen: don't require that .git/ be in the current dir
2660         * build-aux/git-version-gen: Adjust this script so that it works
2661         when run from any working directory beneath the top-level .git/-
2662         containing directory.  Inspired by a patch from Giuseppe Scrivano,
2663         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
2664
2665         test-select: avoid warn_unused_result warnings
2666         * tests/test-select.c: Include "macros.h".
2667         ASSERT that each call to read, write, and pipe succeeds.
2668         While not technically required, also check each "close".
2669         * modules/select-tests (Files): Add tests/macros.h.
2670
2671         test-symlinkat: remove declaration of unused local
2672         * tests/test-symlinkat.c (main): Remove unused local, "buf".
2673
2674         test-inttostr: avoid shadowing warnings
2675         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
2676         and use malloc rather than the stack for the same reason as
2677         mentioned in the comment justifying the other allocation.
2678
2679 2010-10-11  Bruno Haible  <bruno@clisp.org>
2680
2681         stdlib: Allow multiple gnulib generated replacements to coexist.
2682         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
2683         Reported by Sam Steingold <sds@gnu.org>.
2684
2685 2010-10-11  Jim Meyering  <meyering@redhat.com>
2686
2687         fix a documentation typo
2688         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
2689
2690 2010-10-11  Eric Blake  <eblake@redhat.com>
2691
2692         futimens: work around Solaris 11 bug
2693         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
2694         * tests/test-futimens.h (test_futimens): Enhance, rather than
2695         weaken test.
2696         * doc/posix-functions/futimens.texi (futimens): Document the bug.
2697
2698 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
2699
2700         Indentation.
2701         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
2702         higher-level operators more to the left.
2703
2704 2010-10-11  Jim Meyering  <meyering@redhat.com>
2705
2706         test-futimens: avoid unwarranted test failure on Solaris 5.11
2707         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
2708         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
2709         because it tries to dereference the NULL name argument.
2710
2711 2010-10-11  Bruno Haible  <bruno@clisp.org>
2712
2713         Indentation.
2714         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
2715         indentation.
2716
2717 2010-10-11  Jim Meyering  <meyering@redhat.com>
2718
2719         spawn.in.h: make indentation consistent with parentheses
2720         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
2721         Make indentation consistent with parentheses.
2722
2723 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
2724
2725         Fix mismatched parens in previous commit
2726         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
2727         parens.
2728
2729 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
2730
2731         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
2732
2733         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
2734         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
2735         * lib/malloca.c: Include "verify.h".
2736         (verify1): Remove, replacing with a verify call.
2737         * lib/relocwrapper.c (verify1): Likewise.
2738         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
2739         Likewise.
2740         * modules/malloca (Depends-on): Add 'verify'.
2741         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
2742         * modules/vasnprintf (Depends-on): Add 'verify'.
2743         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
2744         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
2745         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
2746         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
2747         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
2748         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
2749         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
2750
2751         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
2752
2753         Formerly the style was sometimes 2*X - 1, because the C standard
2754         was wrongly thought to disallow ?: in integral constant expressions.
2755         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
2756         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
2757         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
2758         * lib/stdint.in.h (_verify_intmax_size): Likewise.
2759         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
2760         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
2761         verify that time_t cannot be floating.
2762
2763 2010-10-08  Eric Blake  <eblake@redhat.com>
2764
2765         time: enforce recent POSIX ruling that time_t is integral
2766         * lib/time.in.h (__time_t_must_be_integral): Detect any
2767         problematic systems, allowing the rest of gnulib to assume POSIX.
2768
2769 2010-10-08  Jim Meyering  <meyering@redhat.com>
2770
2771         fdopendir: fix a bug on systems lacking openat and /proc support
2772         OpenBSD 4.7 is one such system.  The most noticeable effect was
2773         failure of any application making nontrivial use of fts: rm, du,
2774         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
2775           ./rm: traversal failed: `a': Bad file descriptor
2776         Debugging that, you see that even though FD 6 was closed just
2777         prior to the opendir call in fd_clone_opendir, its resulting
2778         dir->dd_fd was 8, rather than the expected value of 6:
2779
2780         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
2781         93                close (fd);
2782         (gdb) n
2783         94                dir = fd_clone_opendir (dupfd);
2784         (gdb) n
2785         95                saved_errno = errno;
2786         (gdb) p dir->dd_fd
2787         $11 = 8
2788
2789         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
2790         The problem is that on OpenBSD, fd_clone_opendir has to resort
2791         to using the old-style save/restore CWD mechanism, due to its
2792         lack of openat/proc support, and *that* would steal the FD (6)
2793         that opendir was supposed to use.
2794
2795         The fix is to squirrel away the desired FD so that save_cwd uses a
2796         different one, and then free the dest FD right before calling opendir.
2797         That guarantees opendir will use the required file descriptor.
2798
2799         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
2800
2801 2010-10-08  Bruno Haible  <bruno@clisp.org>
2802
2803         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
2804         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
2805
2806 2010-10-08  Bruno Haible  <bruno@clisp.org>
2807
2808         nanosleep: Make replacement POSIX compliant.
2809         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
2810         is out of range.
2811         Reported by Jim Meyering.
2812
2813 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
2814
2815         bootstrap: add hook for altering gnulib.mk, for Bison
2816         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
2817         the Bison bootstrapping process can rewrite file names and variables
2818         in this file before later parts of 'bootstrap' use the file.
2819         Bison wants to include lib/gnulib.mk from the top-level makefile,
2820         so it needs the file names in this file to be relative to the top
2821         level, not relative to lib; plus it needs variable names to be
2822         rewritten.
2823         (slurp): Use the new function.
2824
2825         bootstrap: reformat for readability
2826         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
2827
2828 2010-10-08  Eric Blake  <eblake@redhat.com>
2829
2830         docs: update cygwin progress
2831         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
2832         1.7.7.
2833         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
2834         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
2835         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
2836         * doc/posix-functions/carg.texi (carg): Likewise.
2837         * doc/posix-functions/cargf.texi (cargf): Likewise.
2838         * doc/posix-functions/casin.texi (casin): Likewise.
2839         * doc/posix-functions/casinf.texi (casinf): Likewise.
2840         * doc/posix-functions/casinh.texi (casinh): Likewise.
2841         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
2842         * doc/posix-functions/catan.texi (catan): Likewise.
2843         * doc/posix-functions/catanf.texi (catanf): Likewise.
2844         * doc/posix-functions/catanh.texi (catanh): Likewise.
2845         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
2846         * doc/posix-functions/ccos.texi (ccos): Likewise.
2847         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
2848         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
2849         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
2850         * doc/posix-functions/cexp.texi (cexp): Likewise.
2851         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
2852         * doc/posix-functions/cimag.texi (cimag): Likewise.
2853         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
2854         * doc/posix-functions/clog.texi (clog): Likewise.
2855         * doc/posix-functions/clogf.texi (clogf): Likewise.
2856         * doc/posix-functions/conj.texi (conj): Likewise.
2857         * doc/posix-functions/conjf.texi (conjf): Likewise.
2858         * doc/posix-functions/cpow.texi (cpow): Likewise.
2859         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
2860         * doc/posix-functions/cproj.texi (cproj): Likewise.
2861         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
2862         * doc/posix-functions/creal.texi (creal): Likewise.
2863         * doc/posix-functions/crealf.texi (crealf): Likewise.
2864         * doc/posix-functions/csin.texi (csin): Likewise.
2865         * doc/posix-functions/csinf.texi (csinf): Likewise.
2866         * doc/posix-functions/csinh.texi (csinh): Likewise.
2867         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
2868         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
2869         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
2870         * doc/posix-functions/ctan.texi (ctan): Likewise.
2871         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
2872         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
2873         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
2874         * doc/posix-headers/complex.texi (complex.h): Likewise.
2875
2876 2010-10-07  Jim Meyering  <meyering@redhat.com>
2877
2878         parse-datetime: avoid compilation failure on OpenBSD 4.7
2879         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
2880         This works around a compilation failure on OpenBSD 4.7:
2881         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
2882
2883 2010-10-07  Eric Blake  <eblake@redhat.com>
2884
2885         docs: update cygwin progress
2886         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
2887         1.7.6.
2888         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
2889         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
2890         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
2891         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
2892         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
2893         Likewise.
2894         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
2895         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
2896         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
2897         Likewise.
2898         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
2899         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
2900         Likewise.
2901         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
2902         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
2903         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
2904         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
2905         Likewise.
2906         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
2907         Likewise.
2908         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
2909
2910         docs: update parse-datetime history
2911         * doc/parse-datetime.texi (Authors of parse_datetime): Better
2912         documentation of this function's history and alternatives.
2913
2914         cygwin: use more robust version check
2915         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
2916         exclude an eventual cygwin 1.9.1.
2917         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
2918         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
2919         (gl_FUNC_STRCASESTR): Likewise.
2920         Reported by Bruno Haible.
2921
2922 2010-10-06  Bruno Haible  <bruno@clisp.org>
2923
2924         string, sys_select: Avoid #including large headers unless necessary.
2925         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
2926         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
2927         OSF/1, BeOS, Haiku.
2928         Reported by Jim Meyering.
2929
2930 2010-10-05  Eric Blake  <eblake@redhat.com>
2931
2932         memmem, strstr, strcasestr: fix bug with long periodic needle
2933         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
2934         periodic needle having false positive.
2935         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
2936         and cygwin 1.7.7.
2937         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
2938         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
2939         (gl_FUNC_STRCASESTR): Likewise.
2940         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
2941         * tests/test-memmem.c (main): Expose the bug.
2942         * tests/test-strcasestr.c (main): Likewise.
2943         * tests/test-strstr.c (main): Likewise.
2944         * tests/test-c-strcasestr.c (main): Likewise.
2945         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
2946         * doc/posix-functions/strstr.texi (strstr): Likewise.
2947         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
2948         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
2949
2950 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
2951
2952         parse-datetime: do some more renaming
2953         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
2954         parse_datetime, not get_date.  Mention the renaming.
2955         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
2956         in comments.
2957         * m4/bison.m4: Likewise.
2958
2959 2010-10-05  Eric Blake  <eblake@redhat.com>
2960
2961         parse-datetime: better name than get_date
2962         * NEWS: Reword the deprecation notice.
2963         * modules/get_date: Rename to modules/parse-datetime.
2964         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
2965         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
2966         * lib/get_date.y: Rename to lib/parse-datetime.y.
2967         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
2968         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
2969         * doc/getdate.texi: Provide fallback wrapper.
2970         * lib/getdate.h: Move guts, and wrap...
2971         * lib/parse-datetime.h: ...new file.
2972         * lib/parse-datetime.y (get_date): Rename...
2973         (parse_datetime): ...to this.
2974         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
2975         (gl_PARSE_DATETIME): ...to this.
2976         * doc/posix-functions/getdate.texi (get_date): Provide fallback
2977         documentation.
2978         * modules/getdate (Files): Provide fallback docs and header.
2979         (Notice, Depends-on): Update references.
2980         * tests/test-parse-datetime.c: Likewise.
2981         * DEPENDENCIES: Likewise.
2982         * MODULES.html.sh (Date and time <time.h>): Likewise.
2983         * doc/parse-datetime.texi (Date input formats)
2984         (Authors of parse_datetime): Likewise.
2985         * modules/parse-datetime (Files, configure.ac, Makefile.am)
2986         (Include): Likewise.
2987         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
2988         * gnulib-tool: Likewise.
2989         * m4/bison.m4 (gl_BISON): Likewise.
2990         Suggested by Bruno Haible.
2991
2992 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
2993
2994         more ports to Solaris tr, which needs [] around ranges
2995         * gnulib-tool: Solaris tr needs [] around ranges.
2996         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
2997         * tests/test-pipe-filter-gi1.c (main): Likewise.
2998         * tests/test-pipe-filter-ii1.c (main): Likewise.
2999
3000 2010-10-05  Eric Blake  <eblake@redhat.com>
3001
3002         bootstrap: fix Solaris regression
3003         * build-aux/bootstrap (check_versions): Solaris tr still needs []
3004         around ranges.
3005         Reported by Pádraig Brady.
3006
3007         bootstrap: work with pkg-config
3008         * build-aux/bootstrap (check_versions): Also transliterate - in
3009         prerequisite name.
3010         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
3011         prerequisites that were already found, to avoid confusion.
3012         Reported by Justin Clift.
3013
3014         faccessat: remove unused wrappers
3015         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
3016         presence of these wrappers dragged in -lgen on Solaris.
3017         Reported by Clemens Brogi; fix suggested by Paul Eggert.
3018
3019 2010-10-05  Jim Meyering  <meyering@redhat.com>
3020
3021         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
3022         * Makefile (sc_pragma_columns): New syntax-check rule.
3023
3024 2010-10-04  Bruno Haible  <bruno@clisp.org>
3025
3026         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
3027         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
3028         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
3029         Reported by Bruce Korb and Eric Blake.
3030
3031 2010-10-04  Bruno Haible  <bruno@clisp.org>
3032
3033         threadlib: Make option --with-libpth-prefix work.
3034         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
3035         use $LIBPTH, not just -lpth.
3036
3037 2010-10-04  Bruno Haible  <bruno@clisp.org>
3038
3039         Avoid line length limitation from HP NonStop system header files.
3040         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
3041         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
3042         * lib/ctype.in.h: Likewise.
3043         * lib/dirent.in.h: Likewise.
3044         * lib/errno.in.h: Likewise.
3045         * lib/fcntl.in.h: Likewise.
3046         * lib/float.in.h: Likewise.
3047         * lib/getopt.in.h: Likewise.
3048         * lib/iconv.in.h: Likewise.
3049         * lib/inttypes.in.h: Likewise.
3050         * lib/langinfo.in.h: Likewise.
3051         * lib/locale.in.h: Likewise.
3052         * lib/math.in.h: Likewise.
3053         * lib/netdb.in.h: Likewise.
3054         * lib/netinet_in.in.h: Likewise.
3055         * lib/poll.in.h: Likewise.
3056         * lib/pthread.in.h: Likewise.
3057         * lib/pty.in.h: Likewise.
3058         * lib/sched.in.h: Likewise.
3059         * lib/se-selinux.in.h: Likewise.
3060         * lib/search.in.h: Likewise.
3061         * lib/signal.in.h: Likewise.
3062         * lib/spawn.in.h: Likewise.
3063         * lib/stdarg.in.h: Likewise.
3064         * lib/stddef.in.h: Likewise.
3065         * lib/stdint.in.h: Likewise.
3066         * lib/stdio.in.h: Likewise.
3067         * lib/stdlib.in.h: Likewise.
3068         * lib/string.in.h: Likewise.
3069         * lib/strings.in.h: Likewise.
3070         * lib/sys_file.in.h: Likewise.
3071         * lib/sys_ioctl.in.h: Likewise.
3072         * lib/sys_select.in.h: Likewise.
3073         * lib/sys_socket.in.h: Likewise.
3074         * lib/sys_stat.in.h: Likewise.
3075         * lib/sys_time.in.h: Likewise.
3076         * lib/sys_times.in.h: Likewise.
3077         * lib/sys_utsname.in.h: Likewise.
3078         * lib/sys_wait.in.h: Likewise.
3079         * lib/sysexits.in.h: Likewise.
3080         * lib/termios.in.h: Likewise.
3081         * lib/time.in.h: Likewise.
3082         * lib/unistd.in.h: Likewise.
3083         * lib/wchar.in.h: Likewise.
3084         * lib/wctype.in.h: Likewise.
3085         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
3086         * modules/ctype (Makefile.am): Likewise.
3087         * modules/dirent (Makefile.am): Likewise.
3088         * modules/errno (Makefile.am): Likewise.
3089         * modules/fcntl-h (Makefile.am): Likewise.
3090         * modules/float (Makefile.am): Likewise.
3091         * modules/getopt-posix (Makefile.am): Likewise.
3092         * modules/iconv-h (Makefile.am): Likewise.
3093         * modules/inttypes (Makefile.am): Likewise.
3094         * modules/langinfo (Makefile.am): Likewise.
3095         * modules/locale (Makefile.am): Likewise.
3096         * modules/math (Makefile.am): Likewise.
3097         * modules/netdb (Makefile.am): Likewise.
3098         * modules/netinet_in (Makefile.am): Likewise.
3099         * modules/poll-h (Makefile.am): Likewise.
3100         * modules/pthread (Makefile.am): Likewise.
3101         * modules/pty (Makefile.am): Likewise.
3102         * modules/sched (Makefile.am): Likewise.
3103         * modules/search (Makefile.am): Likewise.
3104         * modules/selinux-h (Makefile.am): Likewise.
3105         * modules/signal (Makefile.am): Likewise.
3106         * modules/spawn (Makefile.am): Likewise.
3107         * modules/stdarg (Makefile.am): Likewise.
3108         * modules/stddef (Makefile.am): Likewise.
3109         * modules/stdint (Makefile.am): Likewise.
3110         * modules/stdio (Makefile.am): Likewise.
3111         * modules/stdlib (Makefile.am): Likewise.
3112         * modules/string (Makefile.am): Likewise.
3113         * modules/strings (Makefile.am): Likewise.
3114         * modules/sys_file (Makefile.am): Likewise.
3115         * modules/sys_ioctl (Makefile.am): Likewise.
3116         * modules/sys_select (Makefile.am): Likewise.
3117         * modules/sys_socket (Makefile.am): Likewise.
3118         * modules/sys_stat (Makefile.am): Likewise.
3119         * modules/sys_time (Makefile.am): Likewise.
3120         * modules/sys_times (Makefile.am): Likewise.
3121         * modules/sys_utsname (Makefile.am): Likewise.
3122         * modules/sys_wait (Makefile.am): Likewise.
3123         * modules/sysexits (Makefile.am): Likewise.
3124         * modules/termios (Makefile.am): Likewise.
3125         * modules/time (Makefile.am): Likewise.
3126         * modules/unistd (Makefile.am): Likewise.
3127         * modules/wchar (Makefile.am): Likewise.
3128         * modules/wctype (Makefile.am): Likewise.
3129
3130 2010-10-04  Bruno Haible  <bruno@clisp.org>
3131
3132         read-file tests: Avoid a test failure on NonStop Kernel.
3133         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
3134         a regular file.
3135         Reported by Joachim Schmitz <schmitz@hp.com>.
3136
3137 2010-10-03  Bruno Haible  <bruno@clisp.org>
3138
3139         gnulib-tool: Fixes for --create-testdir with --libtool.
3140         * gnulib-tool (func_get_automake_snippet): Don't augment
3141         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
3142         an executable.
3143         (func_create_testdir): Handle module 'alloca' like func_import.
3144         Reported by Bruce Korb <bruce.korb@gmail.com>.
3145
3146 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
3147
3148         Avoid some lines longer than 80 characters.
3149         * lib/stdint.in.h: Break long comment lines.
3150         * lib/math.in.h: Likewise.
3151         (_GL_NUM_UINT_WORDS): New macro, for readability.
3152         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
3153         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
3154         * lib/stdlib.in.h: Likewise.
3155         * lib/spawn.in.h: Likewise.
3156         * lib/sys_socket.in.h: Update an URL.
3157         * lib/sys_stat.in.h: Break long line.
3158
3159 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
3160
3161         Improve pmccabe2html.
3162         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
3163         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
3164         when the sources change. Remove the line in the HTML about "Used
3165         ranges" (which implied that there might be other unused ranges),
3166         rename "Resume" to "Summary" (easier to understand for more users).
3167         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
3168         styles, and some unnecessary blank lines.
3169
3170 2010-10-03  Bruno Haible  <bruno@clisp.org>
3171             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
3172
3173         acl: Add support for ACLs on NonStop Kernel.
3174         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
3175         Check whether the function aclsort() exists.
3176         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
3177         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
3178         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
3179         (acl_nontrivial [HAVE_ACLSORT]: New function.
3180         (file_has_acl): Implement for NonStop Kernel.
3181         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
3182         (qset_acl): Implement for NonStop Kernel.
3183         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
3184         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
3185         (main): Implement for NonStop Kernel.
3186         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
3187         Kernel. Handle this flavor.
3188         * tests/test-set-mode-acl.sh: Likewise.
3189         * tests/test-copy-acl.sh: Likewise.
3190         * tests/test-copy-file.sh: Likewise.
3191
3192 2010-10-03  Bruno Haible  <bruno@clisp.org>
3193
3194         Info about ACLs on NonStop Kernel.
3195         * doc/acl-resources.txt: Add info about NonStop Kernel.
3196         References by Joachim Schmitz <schmitz@hp.com>.
3197
3198 2010-10-02  Bruno Haible  <bruno@clisp.org>
3199
3200         Define missing EDQUOT on NonStop Kernel.
3201         * lib/errno.in.h (EDQUOT): Assign a value if missing.
3202         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
3203         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
3204         missing.
3205         * doc/posix-headers/errno.texi: Mention the NSK bug.
3206         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
3207         Reported by Joachim Schmitz <schmitz@hp.com>.
3208
3209 2010-10-02  Bruno Haible  <bruno@clisp.org>
3210
3211         Update doc for POSIX:2008.
3212         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
3213         Update URL of POSIX specification.
3214
3215 2010-10-02  Bruno Haible  <bruno@clisp.org>
3216
3217         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
3218         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
3219         from gnulib, not from Automake.
3220
3221 2010-10-02  Bruno Haible  <bruno@clisp.org>
3222
3223         New module 'system-posix'.
3224         * modules/system-posix: New file.
3225         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
3226         module is present.
3227         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
3228         GNULIB_SYSTEM_POSIX.
3229         * modules/stdlib (Depends-on): Remove sys_wait.
3230         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
3231         * doc/posix-functions/system.texi: Mention the new module.
3232         * doc/posix-headers/stdlib.texi: Likewise.
3233         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
3234         define test_sys_wait_macros to a no-op.
3235         Reported by Sam Steingold <sds@gnu.org>.
3236
3237 2010-09-30  Bruno Haible  <bruno@clisp.org>
3238
3239         More renaming from 'getdate' to 'get_date'.
3240         * doc/get_date.texi: Renamed from doc/getdate.texi.
3241         * modules/get_date (Files): Update.
3242         * MODULES.html.sh (Date and time <time.h>): Update.
3243         * DEPENDENCIES: Update.
3244         * gnulib-tool: Update comment.
3245         * m4/bison.m4 (gl_BISON): Likewise.
3246         * m4/get_date.m4 (gl_GET_DATE): Likewise.
3247
3248 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
3249
3250         bootstrap: support ACLOCAL_FLAGS during aclocal
3251         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
3252         can add additional -I dir for third-party .m4 files.
3253
3254 2010-09-30  Eric Blake  <eblake@redhat.com>
3255
3256         bootstrap: use glibtoolize on MacOS
3257         * build-aux/bootstrap (check_versions): Convert libtool into
3258         libtoolize.
3259         (tool search): Move libtool check earlier, and look for
3260         glibtoolize for MacOS.
3261         (gnulib_tool_options): Auto-add --libtool when appropriate.
3262         Reported by Justin Clift.
3263
3264         poll: fix typo that broke test on MacOS
3265         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
3266         Reported by Justin Clift.
3267
3268         getdate: rename to get_date
3269         Note: getdate.h is not renamed, to minimize client impact.
3270         * modules/getdate: Mark obsolete.  Move old contents...
3271         * modules/get_date: ...to new module name.
3272         * modules/getdate-tests: Move...
3273         * modules/get_date-tests: ...here.
3274         * m4/getdate.m4: Move...
3275         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
3276         * lib/getdate.y: Move...
3277         * lib/get_date.y: ...here.
3278         * tests/test-getdate.c: Move...
3279         * tests/test-get_date.c: ...here.
3280         * doc/posix-functions/getdate.texi (getdate): Update name.
3281         * NEWS: Mention the change.
3282
3283 2010-09-29  Bruno Haible  <bruno@clisp.org>
3284
3285         Separate the module 'waitpid' from the module 'sys_wait'.
3286         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
3287         present.
3288         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
3289         gl_MODULE_INDICATOR_FOR_TESTS.
3290         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
3291         * modules/sys_wait (Depends-on): Remove waitpid.
3292         (Makefile.am): Substitute GNULIB_WAITPID.
3293         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
3294         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
3295         signature only if the 'waitpid' module is present.
3296         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
3297         * NEWS: Mention the change.
3298         * modules/grantpt (Depends-on): Add waitpid.
3299         * modules/wait-process (Depends-on): Likewise.
3300
3301 2010-09-29  Bruno Haible  <bruno@clisp.org>
3302
3303         More tests for module 'sys_wait'.
3304         * modules/sys_wait-c++-tests: New file.
3305         * tests/test-sys_wait-c++.cc: New file.
3306         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
3307         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
3308
3309 2010-09-29  Bruno Haible  <bruno@clisp.org>
3310
3311         New module 'waitpid'.
3312         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
3313         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
3314         Don't include <process.h>.
3315         (waitpid): Declare only, using modern idiom.
3316         * m4/waitpid.m4: New file.
3317         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
3318         * modules/waitpid: New file.
3319         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
3320         (Makefile.am): Update.
3321         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
3322
3323 2010-09-28  Bruno Haible  <bruno@clisp.org>
3324
3325         poll: Assume ANSI C.
3326         * lib/poll.c (poll): Use an ANSI C declaration.
3327
3328 2010-09-28  Bruno Haible  <bruno@clisp.org>
3329
3330         poll-h: Create poll.h on all platforms.
3331         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
3332         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
3333         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
3334         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
3335         (gl_REPLACE_POLL_H): Don't set POLL_H.
3336         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
3337         * modules/poll-h (Depends-on): Add include_next.
3338         (Makefile.am): Create poll.h unconditionally. Substitute also
3339         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
3340
3341 2010-09-28  Bruno Haible  <bruno@clisp.org>
3342
3343         Tests for module 'poll-h'.
3344         * modules/poll-h-c++-tests: New file.
3345         * tests/test-poll-h-c++.cc: New file.
3346
3347         Tests for module 'poll-h'.
3348         * modules/poll-h-tests: New file.
3349         * tests/test-poll-h.c: New file.
3350
3351 2010-09-28  Bruno Haible  <bruno@clisp.org>
3352
3353         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
3354         * modules/poll-h (Depends-on): Add 'extensions'.
3355
3356 2010-09-28  Bruno Haible  <bruno@clisp.org>
3357
3358         New module 'poll-h'.
3359         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
3360         (poll): Use modern idiom.
3361         * modules/poll-h: New file.
3362         * modules/poll (Files): Remove lib/poll.in.h.
3363         (Depends-on): Add poll-h.
3364         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
3365         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
3366         * m4/poll_h.m4: New file.
3367         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
3368         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
3369         and invoke gl_REPLACE_POLL_H.
3370         * lib/poll.c: Use common idiom.
3371         * tests/test-poll.c: Likewise.
3372         * doc/posix-headers/poll.texi: Mention the poll-h module.
3373         Suggested by Eric Blake.
3374
3375 2010-09-26  Bruno Haible  <bruno@clisp.org>
3376
3377         sys_wait: Implement WSTOPSIG.
3378         * lib/sys_wait.in.h (WSTOPSIG): New macro.
3379         Reported by Simon Josefsson.
3380
3381 2010-09-26  Simon Josefsson  <simon@josefsson.org>
3382
3383         stdlib, sys_wait: Avoid compilation error on mingw.
3384         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
3385
3386 2010-09-26  Bruno Haible  <bruno@clisp.org>
3387
3388         stdlib tests: Avoid code duplication.
3389         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
3390         * modules/sys_wait-tests (Files): Likewise.
3391         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
3392         * tests/test-stdlib.c: Include test-sys_wait.h.
3393         (main): Invoke test_sys_wait_macros.
3394         * tests/test-sys_wait.c: Include test-sys_wait.h.
3395         (main): Invoke test_sys_wait_macros.
3396
3397 2010-09-25  Simon Josefsson  <simon@josefsson.org>
3398
3399         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
3400         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
3401         sure Windows sockets are working before calling getaddrinfo.
3402         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
3403         * doc/gnulib.texi (Windows sockets): Fix typo.
3404
3405 2010-09-25  Bruno Haible  <bruno@clisp.org>
3406
3407         Tests for module 'regex-quote'.
3408         * modules/regex-quote-tests: New file.
3409         * tests/test-regex-quote.c: New file.
3410
3411         New module 'regex-quote'.
3412         * lib/regex-quote.h: New file.
3413         * lib/regex-quote.c: New file.
3414         * modules/regex-quote: New file.
3415         Suggested by Reuben Thomas <rrt@sc3d.org>.
3416
3417 2010-09-24  Bruno Haible  <bruno@clisp.org>
3418
3419         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
3420         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
3421
3422 2010-09-23  Bruno Haible  <bruno@clisp.org>
3423
3424         setenv: Relax license.
3425         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
3426         Blake.
3427         Requested by Eric Blake.
3428
3429 2010-09-22  Bruno Haible  <bruno@clisp.org>
3430
3431         termios: Relax license.
3432         * modules/termios (License): Change to LGPLv2+.
3433         Requested by Eric Blake.
3434
3435 2010-09-22  Bruno Haible  <bruno@clisp.org>
3436
3437         threadlib: Allow the package to change the default to 'no'.
3438         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
3439         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
3440         Reported by Paul Eggert.
3441
3442 2010-09-22  Pádraig Brady  <P@draigbrady.com>
3443             Bruno Haible  <bruno@clisp.org>
3444
3445         Fix endless loop in mbmemcasecoll.
3446         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
3447         byte.
3448         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
3449
3450 2010-09-22  Bruno Haible  <bruno@clisp.org>
3451
3452         Tests for module 'memcoll'.
3453         * modules/memcoll-tests: New file.
3454         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
3455
3456         memcoll, xmemcoll: Clarify size vs. length.
3457         * modules/memcoll.c (memcoll0): Clarify specification.
3458         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
3459         passed to collate_error.
3460
3461 2010-09-22  Bruno Haible  <bruno@clisp.org>
3462
3463         Tests for module 'memcasecmp'.
3464         * modules/memcasecmp-tests: New file.
3465         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
3466
3467 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
3468
3469         * lib/pthread.in.h: Add split double-inclusion guard, and include
3470         system <pthread.h> if there is one.  Use @@-style as in other
3471         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
3472         pthread.h doesn't.
3473         (pthread_mutexattr_destroy, pthread_mutexattr_init):
3474         (pthread_mutexattr_settype, pthread_mutex_trylock):
3475         New static inline functions, if there's no system <pthread.h>.
3476         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
3477         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
3478         Approximate with mutexes if the system lacks spinlocks, as in
3479         MacOS.
3480         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
3481         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
3482         @@-style.  Check for spinlocks separately.
3483         (gl_PTHREAD_DEFAULTS): New macro.
3484         * modules/pthread: Redo to use a more typical style for in.h files.
3485
3486 2010-09-21  Eric Blake  <eblake@redhat.com>
3487
3488         net_if: enhance tests
3489         * tests/test-net_if.c (main): Move signature checks earlier.
3490         Print failures to stderr.
3491         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
3492         Document the bug that we do not yet fix.
3493
3494 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
3495
3496         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
3497         about gnulib, not GSS.
3498
3499 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
3500
3501         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
3502         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
3503         for Emacs.
3504         * build-aux/pmccabe2html: Make Makefile.am example code more
3505         cut-and-paste friendly.
3506
3507 2010-09-21  Simon Josefsson  <simon@josefsson.org>
3508
3509         * tests/test-net_if.c: New file.
3510         * modules/net_if-tests: New file.
3511
3512 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
3513
3514         pthread: add pthread_spin_destroy
3515         * lib/pthread.in.h (pthread_spin_destroy): New function.
3516
3517 2010-09-19  Bruno Haible  <bruno@clisp.org>
3518
3519         gnulib-tool: Fix --help output.
3520         * gnulib-tool (func_usage): Fix help message.
3521         Reported by Reuben Thomas <rrt@sc3d.org>.
3522
3523 2010-09-18  Jim Meyering  <meyering@redhat.com>
3524
3525         maint.mk: avoid unexpanded \n in two diagnostics
3526         * top/maint.mk (sc_prohibit_always_true_header_tests):
3527         Don't use a literal \n in a halt=... assignment.  It would not be
3528         expanded, and the two \n bytes would appear in the diagnostic output
3529         rather than the desired newline.  Use halt=$$(printf ... instead.
3530         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
3531
3532 2010-09-18  Bruno Haible  <bruno@clisp.org>
3533
3534         netinet_in: Doc tweak.
3535         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
3536         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
3537
3538 2010-09-18  Jim Meyering  <meyering@redhat.com>
3539
3540         init.sh: correct an outdated comment
3541         * tests/init.sh (create_exe_shims_):  s/function/alias/
3542
3543         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
3544         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
3545         a file named "*.exe" is removed between the glob expansion and the
3546         processing of that oddly named file.
3547
3548 2010-09-17  Eric Blake  <eblake@redhat.com>
3549
3550         mirbsd: add some more support
3551         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
3552         in BSD family.
3553         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
3554         devices as OpenBSD.
3555         * m4/host-os.m4 (mirbsd): Add MirBSD.
3556
3557         tests: fix unportable assumption on sys/wait.h
3558         * tests/test-sys_wait.c (main): Relax test.
3559         * tests/test-stdlib.c (main): Likewise.
3560
3561         init.sh: accomodate directory with no .exes
3562         * tests/init.sh: Accomodate directory containing only scripts.
3563
3564         tests: avoid compiler warning
3565         * tests/test-stdlib.c (main): Use the variable.
3566
3567         fdutimens, fdutimensat: update signature, again
3568         * lib/utimens.h (gl_futimens): Delete, and move signature...
3569         (fdutimens): ...here.
3570         (fdutimensat): Rearrange signature.
3571         (lutimensat): Rename variable for clarity.
3572         * lib/fdutimensat.c (fdutimensat): Update signature.
3573         * lib/utimens.c (fdutimens): Likewise.
3574         (gl_futimens): Delete.
3575         (utimens, lutimens): Update callers.
3576         * lib/futimens.c (futimens): Likewise.
3577         * tests/test-fdutimensat.c: Likewise.
3578         * tests/test-utimens.c: Likewise.
3579         * tests/test-futimens.h: Update comment.
3580         * NEWS: Mention this.
3581         Suggested by Paul Eggert.
3582
3583 2010-09-17  Bruno Haible  <bruno@clisp.org>
3584
3585         Take over the maintenance of some older macros from Autoconf.
3586         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
3587         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
3588         GNU Autoconf.
3589         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
3590         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
3591
3592 2010-09-17  Eric Blake  <eblake@redhat.com>
3593
3594         fdutimensat: drop atflag validation
3595         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
3596         with valid fd, to close a race scenario where futimens is
3597         unsupported and FILE was replaced by a symlink.
3598         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
3599         accordingly.
3600         Suggested by Paul Eggert.
3601
3602 2010-09-16  Bruno Haible  <bruno@clisp.org>
3603
3604         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
3605         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
3606
3607 2010-09-16  Bruno Haible  <bruno@clisp.org>
3608
3609         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
3610         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
3611         login_tty exists.
3612         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
3613
3614 2010-09-16  Bruno Haible  <bruno@clisp.org>
3615
3616         login_tty: Make the replacement code work on BSD systems.
3617         * lib/login_tty.c: Include <sys/ioctl.h>.
3618         (login_tty): Use ioctl TIOCSCTTY when available.
3619         * modules/login_tty (Depends-on): Add sys_ioctl.
3620         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
3621
3622 2010-09-16  Bruno Haible  <bruno@clisp.org>
3623
3624         login_tty: Stricter unit test.
3625         * modules/login_tty-tests (Depends-on): Add tcgetsid.
3626         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
3627         and tcgetsid() after login_tty.
3628         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
3629
3630 2010-09-16  Bruno Haible  <bruno@clisp.org>
3631
3632         New module 'tcgetsid'.
3633         * lib/tcgetsid.c: New file.
3634         * m4/tcgetsid.m4: New file.
3635         * modules/tcgetsid: New file.
3636         * modules/termios (Depends-on): Add c++defs, warn-on-use.
3637         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
3638         GNULIB_TCGETSID, HAVE_TCGETSID.
3639         * lib/termios.in.h: Include <sys/types.h>.
3640         (tcgetsid): New declaration.
3641         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
3642         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
3643         * doc/posix-functions/tcgetsid.texi: Mention the new module.
3644         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
3645
3646 2010-09-16  Bruno Haible  <bruno@clisp.org>
3647
3648         Tests for module 'termios'.
3649         * modules/termios-c++-tests: New file.
3650         * modules/termios-tests: New file.
3651         * tests/test-termios-c++.cc: New file.
3652         * tests/test-termios.c: New file.
3653
3654         New module 'termios'.
3655         * modules/termios: New file.
3656         * lib/termios.in.h: New file.
3657         * m4/termios_h.m4: New file.
3658         * doc/posix-headers/termios.texi: Mention the new module.
3659
3660 2010-09-16  Eric Blake  <eblake@redhat.com>
3661
3662         fdutimensat: add an atflag parameter
3663         * lib/fdutimensat.c (fdutimensat): Add new parameter.
3664         * lib/utimens.h (fdutimensat): Update prototype.
3665         * tests/test-fdutimensat.c: Adjust test to match.
3666         * NEWS: Document the change.
3667         Suggested by Paul Eggert.
3668
3669 2010-09-16  Bruno Haible  <bruno@clisp.org>
3670
3671         Fix typos in comments.
3672         * lib/striconveh.h: Fix typo in comment.
3673         * lib/login_tty.c (login_tty): Likewise.
3674
3675 2010-09-15  Bruno Haible  <bruno@clisp.org>
3676
3677         stdlib: clarify MirBSD WEXITSTATUS bug
3678         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
3679         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
3680
3681 2010-09-15  Eric Blake  <eblake@redhat.com>
3682
3683         stdlib: work around MirBSD WEXITSTATUS bug
3684         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
3685         * modules/stdlib (Depends-on): Add sys_wait.
3686         * tests/test-sys_wait.c (main): Enhance test.
3687         * tests/test-stdlib.c (main): Likewise.
3688         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
3689
3690         docs: mention MacOS issue with WEXITSTATUS(constant)
3691         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
3692         issue.
3693         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
3694
3695         strnlen: add tests
3696         * modules/strnlen-tests: New file.
3697         * tests/test-strnlen.c: Likewise.
3698
3699 2010-09-14  Bruno Haible  <bruno@clisp.org>
3700
3701         unistr/base: Avoid link errors when module 'libunistring' is also used.
3702         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
3703         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
3704         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
3705         Declare also when HAVE_LIBUNISTRING is set.
3706         Reported by Pádraig Brady <P@draigbrady.com>.
3707
3708 2010-09-14  Eric Blake  <eblake@redhat.com>
3709
3710         test-rawmemchr: make more robust
3711         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
3712         (Depends-on, configure.ac): Add needed prerequisites to use it.
3713         * modules/memchr-tests (Files, Depends-on, configure.ac):
3714         Likewise, to avoid implicit reliance on memchr module prereqs.
3715         * tests/test-memchr.c (main): Ensure proper masking.
3716         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
3717         reads.
3718
3719         memchr: detect glibc Alpha bug
3720         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
3721         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
3722         Alpha.
3723         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
3724         * tests/test-memchr.c (main): Enhance test.
3725         Reported by Nelson H. F. Beebe.
3726
3727 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3728
3729         fts, getcwd, glob: audit for dirfd returning -1
3730         * lib/fts.c (opendir): Remove #define; no longer used.
3731         (opendirat): New arg PDIR_FD.  All callers changed.
3732         (fts_build, _opendir2): Use new opendirat to avoid the need for
3733         dirfd, or for checking whether dirfd returns a negative value.
3734         Don't use opendir; always use openat followed by fdopendir.
3735         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
3736         it.
3737         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
3738         returns -1 here.
3739         * modules/fts (Depends-on): Remove dirfd.
3740         * modules/getcwd (Depends-on): Likewise.
3741
3742 2010-09-13  Eric Blake  <eblake@redhat.com>
3743
3744         float: fix broken MirBSD header
3745         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
3746         * doc/posix-headers/float.texi (float.h): Document it.
3747
3748 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
3749
3750         fts: use O_NOFOLLOW to avoid race condition when opening a directory
3751         * lib/fts.c (opendirat): New arg extra_flags.
3752         (__opendir2): Use it to avoid following symlinks when opening
3753         a directory, if symlinks are not supposed to be followed.  See
3754         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
3755
3756         fdopendir: preserve argument fd before returning
3757         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
3758         (fdopendir_with_dup, fd_clone_opendir): New static functions.
3759         (fdopendir): Use them, arranging for FD to be open to the same
3760         directory that it was when it started.  (It might be temporarily
3761         closed while fdopendir is running, so this not thread- or
3762         signal-safe.)  Be careful to do the right thing even when file
3763         descriptors are scarce and dup fails with errno == EMFILE.  See
3764         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
3765
3766 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
3767
3768         regex: Pass the system regex if its only problem is 32-bit regoff_t.
3769         * NEWS: Document change.
3770         * m4/regex.m4: Disable test for regoff_t size.
3771
3772 2010-09-13  Jim Meyering  <meyering@redhat.com>
3773
3774         fts: don't operate on an invalid file descriptor after failed dup
3775         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
3776         negative file descriptor.
3777
3778 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
3779
3780         savedir: add streamsavedir, deprecate fdsavedir
3781         * NEWS: Mention deprecation of fdsavedir.
3782         * lib/savedir.c (streamsavedir): New extern function, whose name
3783         ends in "savedir" to be consistent with the others.  This differs
3784         from savedirstream in that it doesn't close its argument.  The
3785         next version of GNU tar will use this instead of fdsavedir, to
3786         avoid some race conditions and conserve file descriptors.
3787         (savedirstream): Reimplement as a wrapper around streamsavedir.
3788         (fdsavedir): Add a comment deprecating this function.  As far as
3789         I know, only GNU tar used it, and GNU tar doesn't need it any more.
3790         * lib/savedir.h (streamsavedir): New decl.
3791         (fdsavedir): Add a comment deprecating this.
3792
3793 2010-09-10  Bruno Haible  <bruno@clisp.org>
3794
3795         langinfo: Fix last commit.
3796         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
3797         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
3798         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
3799
3800 2010-09-10  Bruno Haible  <bruno@clisp.org>
3801
3802         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
3803         * lib/progreloc.c (O_EXEC): Define fallback.
3804
3805 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
3806
3807         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
3808         * NEWS: Document recent changes to fcntl-h.
3809         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
3810         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
3811         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
3812         Similarly for O_SEARCH; this last was already true, but not documented.
3813         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
3814         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
3815         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
3816         Likewise.
3817         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
3818         is zero, not whether it is defined.
3819         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
3820         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
3821         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
3822
3823 2010-09-10  Bruno Haible  <bruno@clisp.org>
3824
3825         langinfo, nl_langinfo: Fix for IRIX 5.3.
3826         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
3827         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
3828         HAVE_LANGINFO_YESEXPR.
3829         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
3830         HAVE_LANGINFO_YESEXPR.
3831         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
3832         HAVE_LANGINFO_T_FMT_AMPM is 0.
3833         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
3834         HAVE_LANGINFO_YESEXPR is 0.
3835         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
3836         NOEXPR.
3837         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
3838         * doc/posix-functions/nl_langinfo.texi: Likewise.
3839         Reported by Eric Blake.
3840
3841 2010-09-10  Bruno Haible  <bruno@clisp.org>
3842
3843         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
3844         * doc/glibc-functions/login_tty.texi: Mention the include file problem
3845         on FreeBSD 8.0 and OpenBSD 4.6.
3846         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
3847         * m4/pty_h.m4 (gl_PTY_H): Likewise.
3848         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
3849         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
3850         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
3851         ac_includes_default.
3852         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
3853
3854 2010-09-09  Eric Blake  <eblake@redhat.com>
3855
3856         strsignal: work around NetBSD bug
3857         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
3858         * lib/string.in.h (includes): Likewise.
3859         * doc/posix-functions/strsignal.texi (strsignal): Document the
3860         bug.
3861         Reported by Nelson H. F. Beebe.
3862
3863         gnulib-tool: work with NetBSD /bin/sh
3864         * gnulib-tool (func_cache_var, func_cache_lookup_module)
3865         (func_get_description, func_get_comment, func_get_status)
3866         (func_get_notice, func_get_applicability, func_get_filelist)
3867         (func_get_dependencies, func_get_autoconf_early_snippet)
3868         (func_get_autoconf_snippet, func_get_automake_snippet)
3869         (func_get_include_directive, func_get_link_directive)
3870         (func_get_license, func_get_maintainer, func_import): Avoid
3871         shell syntax errors from parsing syntax extensions.
3872
3873 2010-09-09  Bruno Haible  <bruno@clisp.org>
3874
3875         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
3876         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
3877         a reliable way to determine whether the 'alias' command works.
3878
3879 2010-09-08  Jim Meyering  <meyering@redhat.com>
3880
3881         init.sh: penalize a set-x-impaired shell; don't disqualify it
3882         * tests/init.sh: Too many shells corrupt application stderr when
3883         you set -x, so we can't afford to disqualify them, since at least
3884         on Irix-6.5, that would disqualify all bourne shells.
3885         Instead, use a two-pass approach.
3886         On the first pass, try to find a shell that meets the stricter
3887         condition that set -x does not corrupt stderr.
3888         If no shell meets the stricter condition, retest each candidate
3889         shell, but without that extra condition.  Finally, when
3890         VERBOSE=yes is requested and set -x might cause trouble, simply
3891         issue a warning and refrain from enabling debug output.
3892
3893 2010-09-08  Eric Blake  <eblake@redhat.com>
3894
3895         unsetenv: fix OpenBSD bug
3896         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
3897         * doc/posix-functions/unsetenv.texi (unsetenv): Update
3898         documentation.
3899         Reported by Jim Meyering.
3900
3901         strtod: work around IRIX 6.5 bug
3902         * lib/strtod.c (strtod): Reparse number on shorter string if
3903         exponent parse was invalid.
3904         * tests/test-strtod.c (main): Add check for "0x1p 2".
3905         Reported by Tom G. Christensen.
3906
3907         getopt: optimize previous patch
3908         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
3909         empty variable.  Speed up awk script.
3910         Reported by Paolo Bonzini.
3911
3912 2010-09-08  Jim Meyering  <meyering@redhat.com>
3913
3914         test.sh: disqualify shells for which set -x corrupts stderr
3915         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
3916         and OpenBSD 4.7.  They make it so with "set -x", environment settings
3917         appear in stderr output.  For example, this command:
3918             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
3919         prints "P=1" on those two systems:
3920
3921 2010-09-08  Bruno Haible  <bruno@clisp.org>
3922
3923         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
3924         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
3925         commands, because some shells ignore redirections when there is an
3926         error in the command lookup.
3927         Reported by Eric Blake.
3928
3929 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
3930
3931         * lib/regex.h: Fix a mention of `regex_compile' (should be
3932         `re_compile_pattern').
3933         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
3934         (re_set_registers): Correct name of parameter in comment.
3935
3936         * doc/regex.texi: Add documentation for missing syntax flags.
3937         Remove commented-out documentation of defunct syntax option
3938         RE_NO_EMPTY_ALTS.
3939         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
3940         Add documentation of re_set_registers.
3941         Document trick to re-use a pattern buffer by setting fastmap manually.
3942         Update documentation of struct re_pattern_buffer per public members.
3943         Uncomment documentation of equivalence class operators and
3944         collating symbol operators, since they are now implemented,
3945         Explain leftmost-longest matching in relation to alternatives.
3946         Tidy documentation of substring matching.
3947         Remove POSIX documentation, which is done better in
3948         glibc, and refer the reader there. Keep BSD API documentation, as
3949         that is not readily available elsewhere.
3950
3951 2010-09-07  Eric Blake  <eblake@redhat.com>
3952
3953         getopt: handle POSIXLY_CORRECT set but not exported
3954         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
3955         export state of POSIXLY_CORRECT, due to bash set -o posix.
3956         Reported by Dustin J. Mitchell.
3957
3958 2010-09-05  Bruno Haible  <bruno@clisp.org>
3959
3960         gnulib-tool: Highlight the changed options.
3961         * gnulib-tool (func_usage): Display the --import, --add-import,
3962         --remove-import explanations in bold font.
3963
3964 2010-09-06  Karl Berry  <karl@gnu.org>
3965
3966         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
3967
3968 2010-09-05  Bruno Haible  <bruno@clisp.org>
3969
3970         uniwidth/width: Update comment.
3971         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
3972         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
3973
3974 2010-09-05  Bruno Haible  <bruno@clisp.org>
3975
3976         isinf, isnan: Relax license.
3977         * modules/isinf (License): Change from GPL to LGPL, with consent from
3978         Ben Pfaff.
3979         * modules/isnan (License): Likewise.
3980         Requested by Ludovic Courtès.
3981
3982 2010-09-04  Bruno Haible  <bruno@clisp.org>
3983
3984         gnulib-tool: Help migration from --import to --add-import or --update.
3985         * gnulib-tool: Emit a verbose error message when --import is used
3986         without any module name.
3987
3988 2010-09-04  Bruno Haible  <bruno@clisp.org>
3989
3990         Update doc about gnulib-tool.
3991         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
3992         'gnulib-tool --update' in more detail.
3993         Reported by Eric Blake.
3994
3995 2010-09-04  Bruno Haible  <bruno@clisp.org>
3996
3997         gnulib-tool: Change --import. New options --add/remove-import.
3998         * gnulib-tool: New options --add-import, --remove-import.
3999         (func_usage): Document them.
4000         (have_associative): Define always.
4001         (func_import): In import mode, don't merge the specified settings with
4002         the cached settings. Implement remove-import mode.
4003         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
4004         Explain when to use them versus --import.
4005         (Simple update): Use --add-import instead of --import.
4006         * NEWS: Mention the change.
4007
4008 2010-09-04  Bruno Haible  <bruno@clisp.org>
4009
4010         * doc/gnulib-tool.texi (Initial import): Update paragraph about
4011         separate gnulib.mk.
4012
4013 2010-09-04  Bruno Haible  <bruno@clisp.org>
4014
4015         gnulib-tool: Don't talk about CVS any more.
4016         * gnulib-tool (func_usage, func_import): Write "version control"
4017         instead of CVS.
4018
4019 2010-09-04  Jim Meyering  <meyering@redhat.com>
4020
4021         maint.mk: avoid obscure sc_copyright_check failure in coreutils
4022         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
4023         false positives (whose names may be ill-chosen) when searching
4024         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
4025         would cause a false-positive.
4026
4027         avoid coreutils "make distcheck" failure
4028         Coreutils tests with an absolute build directory name that contains
4029         a space.  Not quoting this directory name caused a failure.
4030         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
4031         * tests/test-vc-list-files-cvs.sh: Likewise.
4032
4033 2010-09-04  Bruno Haible  <bruno@clisp.org>
4034
4035         gnulib-tool: Avoid error when run in a package without Makefile.am.
4036         * gnulib-tool: When collecting the m4dirs in a package that does not
4037         have a Makefile.am, eliminate those directories that contain no
4038         gnulib-cache.m4. Fix expression that counts these directories.
4039
4040 2010-09-04  Bruno Haible  <bruno@clisp.org>
4041
4042         update-copyright test: Improve output when perl is missing or too old.
4043         * tests/test-update-copyright.sh: Move test of Perl version down after
4044         the test whether Perl exists. Provide an explanation relating Perl's
4045         error message to Automake's SKIP: message.
4046
4047 2010-09-04  Bruno Haible  <bruno@clisp.org>
4048
4049         Don't augment PATH in TESTS_ENVIRONMENT.
4050         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
4051         set abs_aux_dir instead of augmenting PATH.
4052         * modules/vc-list-files-tests (Makefile.am): Likewise.
4053         * tests/test-update-copyright.sh: Augment PATH here.
4054         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
4055         path_prepend_.
4056         * tests/test-vc-list-files-git.sh: Likewise.
4057
4058 2010-09-04  Jim Meyering  <meyering@redhat.com>
4059
4060         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
4061         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
4062
4063 2010-09-04  Bruno Haible  <bruno@clisp.org>
4064
4065         strdup: Fix compilation error in C++ mode.
4066         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
4067         the macro.
4068
4069 2010-09-04  Bruno Haible  <bruno@clisp.org>
4070
4071         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
4072         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
4073         macro into a function.
4074         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
4075
4076 2010-09-04  Bruno Haible  <bruno@clisp.org>
4077
4078         Set PATH_SEPARATOR the same way autoconf does.
4079         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
4080         the value of PATH_SEPARATOR the same way autoconf-generated configure
4081         scripts do.
4082         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
4083         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
4084
4085 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
4086
4087         Set PATH_SEPARATOR the same way autoconf does.
4088         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
4089         the same way autoconf-generated configure scripts do.
4090         * posix-modules: Likewise.
4091
4092 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
4093
4094         hash: fix safe_hasher const typo
4095         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
4096         const; otherwise, there is a type error later.
4097
4098 2010-09-02  Jim Meyering  <meyering@redhat.com>
4099
4100         test-update-copyright.sh: require perl 5.8.0
4101         * tests/test-update-copyright.sh: Require 5.8.0,
4102         which Tom G. Christensen has confirmed is adequate,
4103         while 5.6.1 is not.
4104
4105 2010-09-02  Eric Blake  <eblake@redhat.com>
4106
4107         tests: init.sh improvements for re-exec'ing with zsh
4108         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
4109         -vx through shell re-exec.
4110         Reported by Tom G. Christensen.
4111
4112         wctype: fix typo in previous commit
4113         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
4114         Reported by Ludovic Courtès.
4115
4116 2010-09-02  Jim Meyering  <meyering@redhat.com>
4117
4118         test-update-copyright.sh: skip test if Perl is too old
4119         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
4120         Reported by Tom G. Christensen.
4121
4122 2010-09-02  Bruno Haible  <bruno@clisp.org>
4123
4124         wctype: Avoid compilation error on IRIX 6.5.30.
4125         * lib/wctype.in.h (iswblank): Declare with a replacement if
4126         REPLACE_ISWBLANK is set.
4127         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
4128         declared. Set REPLACE_ISWBLANK.
4129         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
4130         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
4131         * doc/posix-headers/wctype.texi: Likewise.
4132         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4133
4134 2010-09-01  Bruno Haible  <bruno@clisp.org>
4135
4136         New module 'socketlib'.
4137         * modules/socketlib: New file.
4138         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
4139         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
4140         * modules/sockets (Depends-on): Add socketlib.
4141         Suggested by Sam Steingold <sds@gnu.org>.
4142
4143 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
4144
4145         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
4146
4147         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
4148         when one needs search access to a directory but not read access.
4149         On systems where it is available, it works in some cases where
4150         O_RDONLY does not, namely on directories that are searchable but
4151         not readable, and which need only to be searchable.  If O_SEARCH
4152         is not available, fall back to the traditional method of using
4153         O_RDONLY.
4154
4155         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
4156         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
4157         when opening a directory that needs only to be searchable.
4158         * lib/chdir-safer.c (chdir_no_follow): Likewise.
4159         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
4160         * lib/openat-proc.c (openat_proc_name): Likewise.
4161         * lib/openat.c (openat_needs_fchdir): Likewise.
4162         * lib/save-cwd.c (save_cwd): Likewise.
4163         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
4164
4165 2010-08-28  Bruno Haible  <bruno@clisp.org>
4166
4167         New module 'host-cpu-c-abi'.
4168         * modules/host-cpu-c-abi: New file.
4169         * m4/host-cpu-c-abi.m4: New file, based on part of
4170         clisp/src/m4/general.m4.
4171         Requested by Sam Steingold <sds@gnu.org>.
4172
4173 2010-08-31  Eric Blake  <eblake@redhat.com>
4174         and Jim Meyering  <meyering@redhat.com>
4175
4176         hash: factor, and guard against misbehaving hasher function
4177         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
4178         of table->hasher's return value.  Also protect against a hash value
4179         so large that adding it to table->bucket results in a NULL pointer.
4180         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
4181         Use it in place of open-coded check-and-abort.
4182
4183 2010-08-30  Bruno Haible  <bruno@clisp.org>
4184
4185         hash: silence spurious clang warning
4186         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
4187         Reported by Eric Blake.
4188
4189 2010-08-30  Eric Blake  <eblake@redhat.com>
4190
4191         strstr, memmem, strcasestr: avoid leaked shell message
4192         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
4193         FreeBSD.
4194         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
4195         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
4196
4197         tests: silence clang warning
4198         * tests/test-malloca.c (do_allocation): Avoid dead store.
4199
4200 2010-08-29  Bruno Haible  <bruno@clisp.org>
4201
4202         gettext: Fix recent mistake.
4203         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
4204
4205 2010-08-29  Bruno Haible  <bruno@clisp.org>
4206
4207         selinux-h: Offer a --without-selinux option.
4208         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
4209         --without-selinux was specified, skip all tests and define
4210         HAVE_SELINUX_SELINUX_H to 0.
4211         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
4212         set LIB_SELINUX to empty.
4213         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
4214         gl_LIBSELINUX. If --without-selinux was specified, replace
4215         selinux/context.h.
4216         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
4217
4218 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4219             Bruno Haible  <bruno@clisp.org>
4220
4221         Make the module 'realloc-gnu' work again on AIX and OSF/1.
4222         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
4223         of HAVE_REALLOC.
4224         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
4225         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
4226         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
4227         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
4228
4229 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4230             Bruno Haible  <bruno@clisp.org>
4231
4232         Make the module 'calloc-gnu' work again on AIX and OSF/1.
4233         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
4234         HAVE_CALLOC.
4235         * lib/xmalloc.c: Update accordingly.
4236         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
4237         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
4238         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
4239
4240 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
4241             Bruno Haible  <bruno@clisp.org>
4242
4243         Make the module 'malloc-gnu' work again on AIX and OSF/1.
4244         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
4245         HAVE_MALLOC.
4246         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
4247         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
4248         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
4249
4250 2010-08-29  Bruno Haible  <bruno@clisp.org>
4251
4252         Update modules list.
4253         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
4254         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
4255         (String handling <string.h>): Add astrxfrm.
4256         (File system functions): Add readlinkat.
4257
4258 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4259
4260         Tests for module 'realloc-gnu'.
4261         * modules/realloc-gnu-tests: New file.
4262         * tests/test-realloc-gnu.c: New file.
4263
4264         Tests for module 'calloc-gnu'.
4265         * modules/calloc-gnu-tests: New file.
4266         * tests/test-calloc-gnu.c: New file.
4267
4268         Tests for module 'malloc-gnu'.
4269         * modules/malloc-gnu-tests: New file.
4270         * tests/test-malloc-gnu.c: New file.
4271
4272 2010-08-28  Bruno Haible  <bruno@clisp.org>
4273
4274         Rename module 'realloc' -> 'realloc-gnu'.
4275         * modules/realloc-gnu: New file, copied from modules/realloc.
4276         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
4277         obsolete.
4278         * modules/mgetgroups (Depends-on): Update.
4279         * doc/posix-functions/realloc.texi: Update.
4280         * NEWS: Mention the change.
4281
4282         Rename module 'calloc' -> 'calloc-gnu'.
4283         * modules/calloc-gnu: New file, copied from modules/calloc.
4284         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
4285         obsolete.
4286         * doc/posix-functions/calloc.texi: Update.
4287         * NEWS: Mention the change.
4288
4289         Rename module 'malloc' -> 'malloc-gnu'.
4290         * modules/malloc-gnu: New file, copied from modules/malloc.
4291         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
4292         obsolete.
4293         * modules/argp (Depends-on): Update.
4294         * modules/regex (Depends-on): Update.
4295         * doc/posix-functions/malloc.texi: Update.
4296         * NEWS: Mention the change.
4297
4298 2010-08-28  Eric Blake  <eblake@redhat.com>
4299
4300         pread, pwrite: add missing dependency
4301         * modules/pread (Depends-on): Add extensions.
4302         * modules/pwrite (Depends-on): Likewise.
4303
4304 2010-08-28  Bruno Haible  <bruno@clisp.org>
4305
4306         unistr/u*-strchr: Fix tests dependencies.
4307         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
4308         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
4309         Reported by Ian Beckwith <ianb@erislabs.net>.
4310
4311 2010-08-28  Bruno Haible  <bruno@clisp.org>
4312
4313         read-file: Don't occupy too much unused memory.
4314         * lib/read-file.c (fread_file): Shrink the buffer at the end.
4315
4316 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
4317             Eric Blake  <eblake@redhat.com>
4318             Bruno Haible  <bruno@clisp.org>
4319
4320         read-file: Avoid memory reallocations with regular files.
4321         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
4322         (fread_file): With regular files, use the remaining length as the
4323         initial buffer size.  Check against overflow.
4324         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
4325         sys_stat.
4326
4327 2010-08-28  Bruno Haible  <bruno@clisp.org>
4328
4329         ftello: Relax license.
4330         * modules/ftello (License): Relax to LGPLv2+.
4331         Reported by Eric Blake.
4332
4333 2010-08-28  Bruno Haible  <bruno@clisp.org>
4334
4335         Avoid relocwrapper link errors due to gnulib replacement functions.
4336         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
4337         function.
4338         Reported by Ben Pfaff <blp@cs.stanford.edu>.
4339
4340 2010-08-28  Bruno Haible  <bruno@clisp.org>
4341
4342         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
4343         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
4344         defined.
4345         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
4346         Suggested by Eric Blake.
4347
4348 2010-08-28  Bruno Haible  <bruno@clisp.org>
4349
4350         sys_socket, netdb: Ensure socklen_t gets defined.
4351         * modules/sys_socket (Depends-on): Add socklen.
4352         * modules/netdb (Depends-on): Likewise.
4353         * modules/getaddrinfo (Depends-on): Remove socklen.
4354         * modules/getsockopt (Depends-on): Likewise.
4355         * modules/setsockopt (Depends-on): Likewise.
4356         * tests/test-sys_socket.c: Check that socklen_t is defined.
4357         * tests/test-netdb.c: Likewise.
4358         * m4/socklen.m4: Update comments.
4359         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
4360
4361 2010-08-27  Eric Blake  <eblake@redhat.com>
4362
4363         login_tty: add missing dependency
4364         * modules/login_tty (Depends-on): Add pty.
4365
4366 2010-08-26  Eric Blake  <eblake@redhat.com>
4367
4368         lib-symbol-versions: fix m4 quoting
4369         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
4370         format for AC_LINK_IFELSE.
4371
4372         glob: fix compile test
4373         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
4374
4375         btowc: fix missing file
4376         * modules/btowc (Files): Also ship locale-fr.m4.
4377
4378         lseek: fix link test
4379         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
4380         AC_LINK_IFELSE.
4381
4382         include_next: silence autoconf 2.68 warning
4383         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
4384         AC_COMPILE_IFELSE as special.
4385         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
4386         autoconf < 2.68.
4387
4388         acl: fix compilation test
4389         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
4390         AC_COMPILE_IFELSE.
4391
4392 2010-08-26  Bruno Haible  <bruno@clisp.org>
4393
4394         Modernize AC_TRY_RUN invocations.
4395         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
4396         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
4397         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
4398         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
4399         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
4400         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
4401         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
4402         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
4403         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
4404         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
4405         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
4406         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
4407         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
4408         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
4409         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
4410         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
4411         gl_MBRLEN_NUL_RETVAL): Likewise.
4412         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
4413         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
4414         Likewise.
4415         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
4416         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
4417         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
4418         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
4419         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
4420         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
4421         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
4422         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
4423         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
4424         Likewise.
4425         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
4426         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
4427         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
4428         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
4429         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
4430         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
4431         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
4432         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
4433         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
4434         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
4435
4436 2010-08-26  Bruno Haible  <bruno@clisp.org>
4437
4438         Modernize AC_TRY_LINK invocations.
4439         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
4440         AC_TRY_LINK.
4441         * m4/argp.m4 (gl_ARGP): Likewise.
4442         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
4443         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
4444         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
4445         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
4446         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
4447         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
4448         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
4449         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
4450         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
4451         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
4452         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
4453         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
4454         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
4455         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
4456         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
4457         * m4/hostent.m4 (gl_HOSTENT): Likewise.
4458         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
4459         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
4460         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
4461         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
4462         Likewise.
4463         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
4464         Likewise.
4465         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
4466         Likewise.
4467         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
4468         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
4469         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
4470         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
4471         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
4472         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
4473         * m4/servent.m4 (gl_SERVENT): Likewise.
4474         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
4475         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
4476         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
4477         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
4478         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
4479         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
4480         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
4481         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
4482         * modules/tsearch-tests (configure.ac): Likewise.
4483
4484 2010-08-26  Bruno Haible  <bruno@clisp.org>
4485
4486         Modernize AC_TRY_COMPILE invocations.
4487         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
4488         AC_TRY_COMPILE.
4489         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
4490         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
4491         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
4492         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
4493         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
4494         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
4495         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
4496         * m4/lock.m4 (gl_LOCK): Likewise.
4497         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
4498         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
4499         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
4500         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
4501         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
4502         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
4503         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
4504         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
4505         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
4506         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
4507         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
4508         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
4509         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
4510         extraneous semicolon.
4511
4512 2010-08-26  Jim Meyering  <meyering@redhat.com>
4513
4514         stat-time: relax license LGPL
4515         * modules/stat-time (License): Change from GPL to LGPL,
4516         with consent from all contributors, for use in libguile.
4517         Requested by Ludovic Courtès.
4518
4519 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
4520
4521         poll: return immediately on POLLHUP.
4522         * lib/poll.c (poll): Always set timeout before wait_timeout is
4523         computed.
4524
4525 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4526
4527         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
4528         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
4529         rmdir ("dir/.//"), unlinkat.
4530
4531 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
4532
4533         stdbool: avoid spurious failure with modern xlc
4534         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
4535
4536 2010-08-24  Bruno Haible  <bruno@clisp.org>
4537
4538         getloadavg: simplify code
4539         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
4540         gl_have_func. Update comments.
4541
4542 2010-08-24  Eric Blake  <eblake@redhat.com>
4543
4544         getloadavg: don't define SVR4 on cygwin
4545         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
4546         only define SVR4 when -lkvm is required.
4547         Reported by Yaakov Selkowitz.
4548
4549 2010-08-24  Bruno Haible  <bruno@clisp.org>
4550
4551         priv-set: fix comment
4552         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
4553
4554 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
4555
4556         priv-set: fix comments
4557         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
4558         to match code, as suggested by David Bartley in:
4559         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
4560
4561 2010-08-23  Eric Blake  <eblake@redhat.com>
4562
4563         stdbool: avoid rejecting clang
4564         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
4565         * tests/test-stdbool.c: Enable more tests if using the system
4566         <stdbool.h> instead of the gnulib replacement.
4567         (main): Move xlc bug test to a runtime test for all compilers.
4568         Reported by Anders Kaseorg.
4569
4570         argz: fix shell quoting issue
4571         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
4572         Reported by Charles Wilson.
4573
4574 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
4575             Erik Faye-Lund <kusmabite@gmail.com>
4576
4577         poll, select: handle ERROR_BROKEN_PIPE.
4578         * lib/poll.c (win32_compute_revents): Return POLLHUP when
4579         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
4580         * lib/select.c (win32_compute_revents): Do not mark a pipe
4581         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
4582
4583 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
4584
4585         fts: allow compilation with C++
4586         * lib/fts_.h: Specify extern "C" linkage with C++.
4587
4588 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
4589
4590         Fix gnulib-tool sed script de-commentation for AIX sed.
4591         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
4592         sed.
4593
4594 2010-08-17  Eric Blake  <eblake@redhat.com>
4595
4596         test-stddef: test for (some) offsetof bugs
4597         * tests/test-stddef.c: Enhance test to ensure correct type of
4598         offsetof.
4599         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
4600         that we are not fixing at this time.
4601
4602 2010-08-15  Bruno Haible  <bruno@clisp.org>
4603
4604         stpncpy: Allow stpncpy to be defined as a macro.
4605         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
4606         if it's already correctly declared.
4607         * lib/string.in.h (stpncpy): Undefine before redefining.
4608         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
4609
4610 2010-08-14  Bruno Haible  <bruno@clisp.org>
4611
4612         Rename module 'memxfrm' to 'amemxfrm'.
4613         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
4614         (amemxfrm): Renamed from memxfrm.
4615         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
4616         (amemxfrm): Renamed from memxfrm.
4617         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
4618         * NEWS: Mention the change.
4619         * MODULES.html.sh (String handling <string.h>): Update.
4620         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
4621         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
4622         * lib/unicase/u16-casexfrm.c: Likewise.
4623         * lib/unicase/u32-casexfrm.c: Likewise.
4624         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
4625         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
4626         * lib/uninorm/u16-normxfrm.c: Likewise.
4627         * lib/uninorm/u32-normxfrm.c: Likewise.
4628         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
4629         memxfrm.
4630         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
4631         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
4632         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
4633         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
4634         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
4635         Suggested by Paul Eggert.
4636
4637 2010-08-14  Bruno Haible  <bruno@clisp.org>
4638
4639         Tests for module 'astrxfrm'.
4640         * modules/astrxfrm-tests: New file.
4641         * tests/test-astrxfrm.c: New file.
4642
4643         New module 'astrxfrm'.
4644         * lib/astrxfrm.h: New file.
4645         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
4646         * modules/astrxfrm: New file.
4647
4648 2010-08-14  Reuben Thomas <rrt@sc3d.org>
4649
4650         regex: Tweak doc.
4651         * doc/regex.texi (Overview): Don't mention regex.c.
4652         (GNU Regular Expression Compiling): Likewise.
4653         (Match-end-of-line Operator): Mention 'not_eol'.
4654
4655 2010-08-14  Brian Gough  <bjg@gnu.org>
4656             Bruno Haible  <bruno@clisp.org>
4657
4658         git-merge-changelog: add doc relating to use with bzr and hg.
4659         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
4660
4661 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
4662
4663         pthread: fix pthread.h creation for srcdir != builddir
4664         * modules/pthread (Makefile.am): Fix the rule to work also in a
4665         non-srcdir build.
4666
4667 2010-08-13  Karl Berry  <karl@gnu.org>
4668
4669         * doc/regex.texi (Predefined Syntaxes): @smallexample.
4670         * doc/posix-*/*: force line break before @url of POSIX
4671         specifications.
4672         Suggested by Werner Lemberg.
4673
4674 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
4675
4676         strtod: fix const diagnostic
4677         * lib/strtod.c (strtod): Don't assign const char * to char *,
4678         as this elicits a warning from GCC when warnings are enabled.
4679
4680 2010-08-10  Pádraig Brady <P@draigbrady.com>
4681         and Eric Blake  <eblake@redhat.com>
4682
4683         copy-acl: ignore ENOTSUP on HP-UX
4684         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
4685         so that it is available for HP-UX.
4686         * lib/copy-acl.c (qcopy_acl): Use it.
4687         Reported by Patrick M. Callahan.
4688
4689 2010-08-10  Eric Blake  <eblake@redhat.com>
4690
4691         open, chown: relax license
4692         * modules/open (License): Change to LGPLv2+, with consent by all
4693         authors, for use in augeas.
4694         * modules/chown (License): Likewise.
4695         * modules/lchown (Likewise): Likewise.
4696         Requested by Adam Stokes.
4697
4698 2010-08-09  Karl Berry  <karl@gnu.org>
4699
4700         * build-aux/ar-lib: new file, import from Automake.
4701         * config/srclist.txt: autocheck for updates.
4702
4703 2010-08-09  Eric Blake  <eblake@redhat.com>
4704
4705         readlinkat: adjust client modules
4706         * modules/areadlinkat (Depends-on): Use readlinkat, not
4707         symlinkat.
4708         * modules/areadlinkat-with-size (Depends-on): Likewise.
4709
4710         mknod: be more vocal about danger of running tests as root
4711         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
4712         root, since that is just asking for problems.
4713         Suggested by Bruno Haible, based on a report by Rainer Tammer.
4714
4715         readlinkat: split into its own module
4716         * modules/symlinkat: Split readlinkat...
4717         * modules/readlinkat: ...into separate module.
4718         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
4719         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
4720         * lib/symlinkat.c (readlinkat): Move...
4721         * lib/readlinkat.c: ...into new file.
4722         * modules/symlinkat-tests: Split readlinkat test...
4723         * modules/readlinkat-tests: ...into separate module.
4724         * tests/test-symlinkat.c: Split...
4725         * tests/test-readlinkat.c: ...into new file.
4726         * NEWS: Document the split.
4727         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
4728         * lib/unistd.in.h (readlinkat): Likewise.
4729         Suggested by Bruno Haible.
4730
4731 2010-08-08  Bruno Haible  <bruno@clisp.org>
4732
4733         memxfrm: Speed up.
4734         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
4735         that usually only one call to strxfrm is necessary for each string
4736         part.
4737         Reported by Paul Eggert <eggert@cs.ucla.edu>.
4738
4739 2010-08-07  Karl Berry  <karl@gnu.org>
4740
4741         * doc/posix-headers/limits.texi,
4742         * doc/posix-functions/malloc.texi,
4743         * doc/posix-functions/strsignal.texi: missing @item.
4744         * doc/ld-version-script.texi: spurious leading i.
4745         * doc/regex.texi (Interval Operators): no commas inside @var.
4746
4747 2010-08-01  Bruno Haible  <bruno@clisp.org>
4748
4749         Integrate the regex documentation.
4750         * doc/gnulib.texi: Define 'cn' index.
4751         (Regular expressions): New a chapter that includes regex.texi and
4752         regexprops-generic.texi.
4753         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
4754         syntax.
4755
4756         Whitespace cleanup.
4757         * doc/regex.texi: Remove trailing spaces.
4758
4759         Add regex documentation.
4760         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
4761         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
4762         Written by Kathy A. Hargreaves and Karl Berry.
4763
4764 2010-08-01  Bruno Haible  <bruno@clisp.org>
4765
4766         link: Update documentation.
4767         * doc/posix-functions/link.texi: Update regarding Solaris.
4768
4769 2010-07-31  Bruno Haible  <bruno@clisp.org>
4770
4771         Update modules list.
4772         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
4773         (String handling <string.h>): Add memcmp2, memxfrm.
4774         (Container data structures): Add xlist, xsublist, xoset.
4775         (Core language properties): Add alignof, unused-parameter.
4776         (Process control, Numeric conversion functions <stdlib.h>): Renamed
4777         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
4778         (Unibyte characters <ctype.h>): New section.
4779         (String handling <string.h>): New section.
4780         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
4781         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
4782         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
4783         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
4784         tan, tanh, tanl, y0, y1, yn.
4785         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
4786         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
4787         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
4788         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
4789         unlockpt, vdprintf, vdprintf-posix.
4790         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
4791         (File system functions): Add concat-filename, sys_file, sys_ioctl,
4792         xconcat-filename.
4793         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
4794         getdtablesize, pipe2, pipe2-safer.
4795         (Security): New section.
4796         (Networking functions): Add accept4.
4797         (Signal handling): Add sigpipe.
4798         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
4799         mbmemcasecoll.
4800         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
4801         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
4802         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
4803         pipe-filter-ii.
4804         (Misc): Add argp-version-etc, login_tty, parse-duration.
4805
4806 2010-07-31  Bruno Haible  <bruno@clisp.org>
4807
4808         Improve doc in MODULES.html.
4809         * modules/linkat (Description): Add the word "function".
4810         * modules/mkfifo (Description): Likewise.
4811         * modules/mknod (Description): Likewise.
4812         * modules/remove (Description): Likewise.
4813         * modules/renameat (Description): Likewise.
4814         * modules/stat (Description): Likewise.
4815         * modules/symlink (Description): Likewise.
4816         * modules/unlink (Description): Likewise.
4817
4818 2010-07-31  Bruno Haible  <bruno@clisp.org>
4819
4820         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
4821         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
4822         option --enable/disable-c++ instead of --enable/disable-cxx.
4823         * NEWS: Mention the change.
4824
4825 2010-07-31  Bruno Haible  <bruno@clisp.org>
4826
4827         readlink, areadlink: Relax test a bit.
4828         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
4829         alternative to ENOTDIR.
4830         * tests/test-areadlink.h (test_areadlink): Likewise.
4831         Reported by Rainer Tammer.
4832
4833 2010-07-31  Bruno Haible  <bruno@clisp.org>
4834
4835         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
4836         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
4837         character, perform the search using U_STRCHR.
4838         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
4839         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
4840         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
4841         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
4842         Suggested by Paolo Bonzini.
4843
4844 2010-07-31  Bruno Haible  <bruno@clisp.org>
4845
4846         unistr/u*-strstr: Fix dependencies.
4847         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
4848         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
4849         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
4850
4851 2010-07-31  Bruno Haible  <bruno@clisp.org>
4852
4853         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
4854         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
4855         the beginning of the loop.
4856         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
4857         cases in 'switch' statement.
4858
4859         unistr/u8-strchr: Fix several bugs.
4860         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
4861         the string. When not found, return NULL, not a pointer near the end.
4862
4863         More tests for unistr/u8-strchr.
4864         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
4865         that the function does not read past the first occurrence of the byte
4866         being searched.
4867         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
4868         * tests/unistr/test-u16-strchr.c (main): New function.
4869         * tests/unistr/test-u32-strchr.c (main): New function.
4870
4871 2010-07-31  Bruno Haible  <bruno@clisp.org>
4872
4873         posix-modules: Ignore backup files of documentation files.
4874         * posix-modules: grep only through files named *.texi.
4875
4876 2010-07-31  Bruno Haible  <bruno@clisp.org>
4877
4878         symlinkat: Fix documentation.
4879         * doc/posix-functions/readlinkat.texi: Fix module name.
4880
4881 2010-07-31  Bruno Haible  <bruno@clisp.org>
4882
4883         fchownat: Replace also when chown has the trailing slash bug.
4884         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
4885         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
4886         introduced on 2010-04-10.
4887         Reported by Rainer Tammer.
4888
4889 2010-07-31  Bruno Haible  <bruno@clisp.org>
4890
4891         linkat: Work around AIX 7.1 bug.
4892         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
4893         whether linkat handles trailing slash correctly. If not, replace linkat
4894         and define LINKAT_TRAILING_SLASH_BUG.
4895         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
4896         check whether (fd1,file1) points to a directory if file1 or file2 ends
4897         in a slash. Code taken from lib/link.c.
4898         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
4899         Reported by Rainer Tammer.
4900
4901 2010-07-31  Bruno Haible  <bruno@clisp.org>
4902
4903         Correctly determine whether pow is available in libc on AIX 7 with xlc.
4904         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
4905         This disables an xlc optimization that was causing wrong test results.
4906         Reported by Rainer Tammer.
4907
4908 2010-07-31  Bruno Haible  <bruno@clisp.org>
4909
4910         iconv: Work around AIX 6.1..7.1 bug.
4911         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
4912         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
4913         cross-compiling, guess no on all versions of AIX.
4914         Reported by Rainer Tammer.
4915
4916 2010-07-31  Bruno Haible  <bruno@clisp.org>
4917
4918         readlink: Relax test a bit.
4919         * tests/test-readlink.h (test_readlink): Allow different errno value
4920         when readlink is called with a file name that ends in / and refers to
4921         a file.
4922         Suggested by Eric Blake.
4923         Reported by Rainer Tammer.
4924
4925 2010-07-31  Bruno Haible  <bruno@clisp.org>
4926
4927         copysign: Does not require -lm on glibc systems.
4928         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
4929         gl_COMMON_DOUBLE_MATHFUNC.
4930         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
4931
4932 2010-07-31  Bruno Haible  <bruno@clisp.org>
4933
4934         duplocale: Work around AIX 7.1 bug.
4935         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
4936         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
4937         * lib/duplocale.c (rpl_duplocale): Update comment.
4938         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
4939         Reported by Rainer Tammer.
4940
4941 2010-07-30  Bruno Haible  <bruno@clisp.org>
4942
4943         dirfd: Avoid link error on AIX 7.1.
4944         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
4945         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
4946         exist, set REPLACE_DIRFD.
4947         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
4948         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
4949         * doc/posix-functions/dirfd.texi: Update.
4950         Reported by Rainer Tammer.
4951
4952 2010-07-30  Eric Blake  <eblake@redhat.com>
4953
4954         strtod: next round of AIX fixes
4955         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
4956         exponent.
4957         * tests/test-strtod.c (main): Enhance tests.
4958         * doc/posix-functions/strtod.texi (strtod): Document next bug.
4959         Reported by Rainer Tammer.
4960
4961         futimens: fix configure check
4962         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
4963         Reported by Bruno Haible.
4964
4965 2010-07-30  Bruno Haible  <bruno@clisp.org>
4966
4967         getline: Update regarding AIX.
4968         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
4969         Reported by Rainer Tammer.
4970
4971 2010-07-30  Bruno Haible  <bruno@clisp.org>
4972
4973         wcwidth: Drop replacement on AIX 7.
4974         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
4975         AIX 7.
4976         Reported by Rainer Tammer.
4977
4978 2010-07-30  Bruno Haible  <bruno@clisp.org>
4979
4980         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
4981         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
4982         a 'char *'.
4983         Reported by Rainer Tammer.
4984
4985 2010-07-30  Bruno Haible  <bruno@clisp.org>
4986
4987         unlink: Update regarding AIX.
4988         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
4989         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
4990         Reported by Rainer Tammer.
4991
4992 2010-07-30  Bruno Haible  <bruno@clisp.org>
4993
4994         symlink: Update regarding AIX.
4995         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
4996         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
4997         Reported by Rainer Tammer.
4998
4999 2010-07-30  Bruno Haible  <bruno@clisp.org>
5000
5001         strndup: Update regarding AIX.
5002         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
5003         AIX 7.
5004         Reported by Rainer Tammer.
5005
5006 2010-07-30  Bruno Haible  <bruno@clisp.org>
5007
5008         stat: Update regarding AIX.
5009         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
5010         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
5011         Reported by Rainer Tammer.
5012
5013 2010-07-30  Bruno Haible  <bruno@clisp.org>
5014
5015         truncl: Fix autoconf test.
5016         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
5017         whether truncl works.
5018         Reported by Rainer Tammer.
5019
5020 2010-07-30  Bruno Haible  <bruno@clisp.org>
5021
5022         round: Update regarding AIX.
5023         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
5024         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
5025         Reported by Rainer Tammer.
5026
5027 2010-07-30  Bruno Haible  <bruno@clisp.org>
5028
5029         rename: Update regarding AIX.
5030         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
5031         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
5032         Reported by Rainer Tammer.
5033
5034 2010-07-30  Bruno Haible  <bruno@clisp.org>
5035
5036         printf.m4: Update regarding AIX.
5037         * m4/printf.m4: Update comments regarding AIX.
5038         Reported by Rainer Tammer.
5039
5040 2010-07-30  Bruno Haible  <bruno@clisp.org>
5041
5042         iconv: Update regarding AIX.
5043         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
5044         AIX 7.
5045         Reported by Rainer Tammer.
5046
5047 2010-07-30  Bruno Haible  <bruno@clisp.org>
5048
5049         getopt: Update regarding AIX.
5050         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
5051         no on AIX.
5052         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
5053         Reported by Rainer Tammer.
5054
5055 2010-07-30  Bruno Haible  <bruno@clisp.org>
5056
5057         ldexpl; Update regarding AIX.
5058         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
5059         on AIX 7.
5060         Reported by Rainer Tammer.
5061
5062 2010-07-30  Bruno Haible  <bruno@clisp.org>
5063
5064         frexpl: Update regarding AIX.
5065         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
5066         on AIX 7.
5067         Reported by Rainer Tammer.
5068
5069 2010-07-30  Bruno Haible  <bruno@clisp.org>
5070
5071         open, fopen: Update regarding AIX.
5072         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
5073         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
5074         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
5075         * doc/posix-functions/fopen.texi: Likewise.
5076         Reported by Rainer Tammer.
5077
5078 2010-07-30  Bruno Haible  <bruno@clisp.org>
5079
5080         chown: Update doc regarding AIX.
5081         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
5082         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
5083         Reported by Rainer Tammer.
5084
5085 2010-07-30  Eric Blake  <eblake@redhat.com>
5086
5087         strtod: fix bug in replacement function on AIX
5088         * lib/strtod.c (strtod): Special case broken "0x" parse in
5089         underlying strtod.
5090         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
5091         * doc/posix-functions/strtod.texi (strtod): Likewise.
5092         Reported by Rainer Tammer.
5093
5094 2010-07-30  Bruno Haible  <bruno@clisp.org>
5095
5096         mbrlen: Fix cross-compilation guess for AIX.
5097         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
5098         guess. Leftover from 2008-12-22.
5099
5100 2010-07-30  Bruno Haible  <bruno@clisp.org>
5101
5102         mbrtowc: Fix cross-compilation guess for AIX.
5103         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
5104         guess. Leftover from 2008-12-21.
5105
5106 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
5107
5108         init.sh: work around trap limitation of some shells
5109         * tests/init.sh (setup_): Move exit trap outside of shell function.
5110
5111 2010-07-29  Eric Blake  <eblake@redhat.com>
5112
5113         strtod: aid debugging
5114         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
5115         understanding why strtod is rejected.
5116
5117 2010-07-28  Bruno Haible  <bruno@clisp.org>
5118
5119         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
5120         * lib/unistr/u8-chr.c: Include <string.h>.
5121         * tests/unistr/test-u8-chr.c: Likewise.
5122         * tests/unistr/test-u16-chr.c: Likewise.
5123         * tests/unistr/test-u32-chr.c: Likewise.
5124         * tests/unistr/test-u8-strchr.c: Likewise.
5125         * tests/unistr/test-u16-strchr.c: Likewise.
5126         * tests/unistr/test-u32-strchr.c: Likewise.
5127         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
5128         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
5129         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
5130         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
5131
5132 2010-07-28  Bruno Haible  <bruno@clisp.org>
5133
5134         Use spaces for indentation, not tabs.
5135         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
5136
5137 2010-07-27  Bruno Haible  <bruno@clisp.org>
5138
5139         mbspcasecmp: Fix function specification.
5140         * lib/string.in.h (mbspcasecmp): Fix specification comment.
5141         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
5142         Reported by Eric Blake <eblake@redhat.com>.
5143
5144 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
5145
5146         timespec: use cast and not conditional, as truncation isn't possible
5147         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
5148         instead of a conditional.  Comment about the situation in more detail.
5149         This undoes most of the 2009-10-29 patch.
5150
5151 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
5152
5153         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
5154         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
5155         * lib/unistr/u8-strchr.c: Likewise.
5156         * modules/unistr/u8-chr: Depend on memchr.
5157
5158         unistr/u*-strchr: add tests
5159         * modules/unistr/u8-strchr-tests: New file.
5160         * modules/unistr/u16-strchr-tests: New file.
5161         * modules/unistr/u32-strchr-tests: New file.
5162         * tests/unistr/test-strchr.h: New file.
5163         * tests/unistr/test-u8-strchr.c: New file.
5164         * tests/unistr/test-u16-strchr.c: New file.
5165         * tests/unistr/test-u32-strchr.c: New file.
5166
5167         unistr/u*-chr: test multibyte sequences more
5168         * tests/unistr/test-chr.h: Do complete testing of the characters in the
5169         test vector.
5170         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
5171         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
5172         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
5173
5174         unistr/u*-chr: test multibyte sequences
5175         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
5176
5177         unistr/u*-chr: prepare for multibyte tests
5178         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
5179         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
5180         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
5181         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
5182         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
5183         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
5184
5185 2010-07-18  Bruno Haible  <bruno@clisp.org>
5186
5187         unistr/u8-strchr: Optimize non-ASCII argument case.
5188         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
5189         because the first byte often matches anyway.
5190         Reported by Pádraig Brady <P@draigbrady.com>.
5191
5192 2010-07-15  Karl Berry  <karl@gnu.org>
5193
5194         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
5195
5196 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
5197
5198         getcwd: on Solaris, work better if ancestors are inaccessible
5199         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
5200         buffer and size, try again with a large buffer.  This works better
5201         on Solaris, since its getcwd succeeds even if the path to the root
5202         is inaccessible, and this is helpful in common cases such as .zfs
5203         hidden directories.  Problem reported by J Chapman Flack in
5204         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
5205         Use system getcwd if it's declared, not merely if it's partly
5206         working; use the partly-working test only to avoid needless effort
5207         if the system getcwd fails.
5208         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
5209         comment that was already obsolete and is now even more obsolete.
5210         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
5211         now might call strdup.
5212
5213 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
5214
5215         pthread: Add enough so that coreutils/src/sort.c compiles.
5216         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
5217         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
5218         gnulib. Include <sched.h> and <time.h>, as per POSIX.
5219         Include <sys/types.h>, in case it defines pthread_t.
5220         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
5221         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
5222         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
5223         (pthread_rwlockattr_t, pthread_spinlock_t):
5224         New typedefs, if HAVE_PTHREAD_T is not defined.
5225         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
5226         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
5227         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
5228         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
5229         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
5230         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
5231         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
5232         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
5233         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
5234         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
5235         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
5236         New macros.
5237         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
5238         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
5239         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
5240         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
5241         (pthread_spin_unlock): New dummy functions.
5242         (pthread_create): Return EAGAIN; don't set errno.
5243         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
5244         require AC_C_INLINE.
5245         * modules/pthread (Depends-on): Add sched, time.
5246         (pthread.h): Use AM_V_GEN.
5247
5248 2010-07-13  Bruno Haible  <bruno@clisp.org>
5249
5250         striconveh: Don't malloc memory if the result buffer is sufficient.
5251         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
5252         buffer if its size is sufficient.
5253         Reported by Ludovic Courtès <ludo@gnu.org>.
5254
5255 2010-07-13  Bruno Haible  <bruno@clisp.org>
5256
5257         strtod: Add safety check.
5258         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
5259
5260 2010-07-12  Bruno Haible  <bruno@clisp.org>
5261
5262         Unify tests that set gl_cv_func_ldexpl_no_libm.
5263         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
5264         gl_FUNC_LDEXPL.
5265         (gl_FUNC_LDEXPL): Invoke it.
5266         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
5267
5268 2010-07-12  Bruno Haible  <bruno@clisp.org>
5269
5270         Unify tests that set gl_cv_func_ldexp_no_libm.
5271         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
5272         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
5273         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
5274         (configure.ac): Simply invoke gl_FUNC_LDEXP.
5275         * modules/strtod (Files): Add m4/ldexp.m4.
5276
5277 2010-07-12  Bruno Haible  <bruno@clisp.org>
5278
5279         Unify tests that set gl_cv_func_frexpl_no_libm.
5280         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
5281         gl_FUNC_FREXPL_NO_LIBM.
5282         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
5283         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
5284
5285 2010-07-12  Bruno Haible  <bruno@clisp.org>
5286
5287         Unify tests that set gl_cv_func_frexp_no_libm.
5288         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
5289         gl_FUNC_FREXP_NO_LIBM.
5290         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
5291         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
5292
5293 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
5294
5295         memcoll: clarify sizes versus lengths, document better, and tweak perf
5296         * lib/memcoll.c (strcoll_loop, memcoll0):
5297         Improve quality of descriptive comments.  Name variables
5298         consistently as to whether they are lengths (which do not include
5299         terminating null) versus sizes (which do).
5300         * lib/xmemcoll.c (xmemcoll0): Likewise.
5301         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
5302         returned when s1size == 0; this is easier to compile and saves
5303         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
5304
5305 2010-07-12  Bruno Haible  <bruno@clisp.org>
5306
5307         Tests for module '_Exit'.
5308         * modules/_Exit-tests: New file.
5309         * tests/test-_Exit.sh: New file.
5310         * tests/test-_Exit.c: New file.
5311
5312         New module '_Exit'.
5313         * lib/stdlib.in.h (__attribute__): New macro.
5314         (_Exit): New declaration.
5315         * lib/_Exit.c: New file.
5316         * m4/_Exit.m4: New file.
5317         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
5318         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
5319         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
5320         * modules/_Exit: New file.
5321         * tests/test-stdlib-c++.cc (_Exit): Check signature.
5322         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
5323
5324 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
5325
5326         strtod: make it more-accurate typically, and don't require libm
5327         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
5328         Include limits.h.  Don't include string.h.
5329         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
5330         (locale_isspace): New function, so that no casts are needed to
5331         check whether *s is a space.
5332         (ldexp): Provide an unused dummy if not available.
5333         (scale_radix_exp, parse_number, underlying_strtod): New functions.
5334         (strtod): Use them.  This implementation prefers to use the
5335         underlying strtod if available, falling back on our own code
5336         only to fix known bugs.  This is more likely to produce an
5337         accurate result.  Also, it avoids the use of libm functions.
5338         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
5339         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
5340         was absent, but it caused a test failure with coreutils.
5341         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
5342         with libm.
5343         * modules/strtod (Makefile.am, Link): libm is no longer needed.
5344         * modules/strtod-tests (Makefile.am): Likewise.
5345
5346 2010-07-11  Pádraig Brady  <P@draigBrady.com>
5347             Bruno Haible  <bruno@clisp.org>
5348
5349         unistr/u8-strchr: Optimize ASCII argument case.
5350         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
5351
5352 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
5353
5354         (x)memcoll: minor tweaks
5355         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
5356         is after the type that it qualifies.
5357         (memcoll0): Likewise.
5358         * lib/memcoll.h (memcoll0): Likewise.
5359         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
5360         * lib/xmemcoll.h (xmemcoll0): Likewise.
5361         * lib/memcoll.c (memcoll0): Correct the comment.  This function
5362         differs from memcoll in that the NUL byte is part of the argument.
5363         Omit the abort-checks, as performance is a real issue here.  Plus,
5364         the checks were wrong anyway (an off-by-one error).  Omit local
5365         variable 'diff', as it's a bit clearer that way.
5366         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
5367         no longer needed.
5368
5369 2010-07-08  Chen Guo <chenguo4@yahoo.com>
5370
5371         (x)memcoll: speedup when input is known to be NUL delimited
5372         * lib/memcoll.c: Include stdlib.
5373         (memcoll0) New function.
5374         (strcoll_loop) New function, refactored for use in both memcoll
5375         and memcoll0.
5376         * lib/memcoll.h: Add prototype for memcoll0.
5377         * lib/xmemcoll.c: (xmemcoll0) New function.
5378         (collate_error) New function, refactored for use in both xmemcoll
5379         and xmemcoll0.
5380         * lib/xmemcoll.h: Add prototype for xmemcoll0.
5381         * m4/memcoll.m4: add inline invocation.
5382
5383 2010-07-06  Pádraig Brady  <P@draigBrady.com>
5384
5385         * build-aux/bootstrap: Remove any local translations
5386         from the translation project synchronization directory,
5387         so that local only translations are not distributed.
5388
5389 2010-07-04  Bruno Haible  <bruno@clisp.org>
5390
5391         fsusage: Clarify which code applies to which platforms.
5392         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
5393         platform.
5394         * lib/fsusage.c (get_fs_usage): Likewise.
5395
5396 2010-07-04  Bruno Haible  <bruno@clisp.org>
5397
5398         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
5399         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
5400         Reported by Martin Lambers <marlam@marlam.de>.
5401
5402 2010-07-04  Jim Meyering  <meyering@redhat.com>
5403
5404         hash: once again explicitly disallow insertion of NULL
5405         * lib/hash.c (hash_insert0): Reinstate just-removed test:
5406         inserting a NULL pointer cannot work with these functions.
5407         Add a comment with details.
5408         This reverts part of the 2010-07-01 commit, 5bef1a35
5409         "hash: extend module to deal with non-pointer keys".
5410
5411 2010-07-01  Bruno Haible  <bruno@clisp.org>
5412
5413         stdbool: Update doc.
5414         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
5415         Info from Christian Weisgerber <naddy@mips.inka.de>.
5416
5417 2010-07-01  Jim Meyering  <meyering@redhat.com>
5418
5419         hash: extend module to deal with non-pointer keys
5420         * lib/hash.c (hash_insert0): New interface, much like hash_insert
5421         but that allows insertion of non-pointer entries.
5422         Do not disallow an ENTRY value of NULL.
5423         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
5424         * lib/hash.h (hash_insert0): Declare.
5425
5426 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
5427
5428         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
5429         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
5430         not present (i.e. with autoconf 2.59 and when using gettextize, not
5431         gnulib), require AC_GNU_SOURCE instead.
5432
5433 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
5434
5435         idpriv-drop: Fix tests.
5436         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
5437         not to the test-idpriv-droptemp program.
5438
5439 2010-06-29  Bruno Haible  <bruno@clisp.org>
5440
5441         string: Fix syntax error with g++ 2.96.
5442         * lib/string.in.h (__pure__): Remove definition.
5443         (_GL_ATTRIBUTE_PURE): New macro.
5444         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
5445         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
5446         Reported by Christian Weisgerber <naddy@mips.inka.de>.
5447
5448 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
5449
5450         unitypes: Fix bug introduced on 2010-05-18.
5451         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
5452
5453 2010-06-22  Eric Blake  <eblake@redhat.com>
5454
5455         memmem: slight optimization
5456         * lib/str-two-way.h (critical_factorization): Update comments.
5457         Reduce work during factorization phase.
5458         Reported by Carlos Bueno <carlos@bueno.org>.
5459
5460 2010-06-21  Bruno Haible  <bruno@clisp.org>
5461
5462         Fix HAVE_CALLOC_POSIX misnomer.
5463         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
5464         !HAVE_CALLOC_POSIX.
5465         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
5466         HAVE_CALLOC_POSIX.
5467         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
5468         instead of HAVE_CALLOC_POSIX.
5469         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
5470         HAVE_CALLOC_POSIX.
5471
5472         Use modern idiom for calloc() replacement.
5473         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
5474         AC_FUNC_CALLOC.
5475         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
5476         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
5477         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
5478         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
5479         (gl_REPLACE_CALLOC): New macro.
5480
5481 2010-06-21  Bruno Haible  <bruno@clisp.org>
5482
5483         Fix HAVE_REALLOC_POSIX misnomer.
5484         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
5485         !HAVE_REALLOC_POSIX.
5486         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
5487         HAVE_REALLOC_POSIX.
5488         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
5489         instead of HAVE_REALLOC_POSIX.
5490         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
5491         HAVE_REALLOC_POSIX.
5492
5493         Use modern idiom for realloc() replacement.
5494         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
5495         AC_FUNC_REALLOC.
5496         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
5497         Autoconf's AC_FUNC_REALLOC.
5498         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
5499         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
5500         (gl_REPLACE_REALLOC): New macro.
5501         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
5502
5503 2010-06-21  Bruno Haible  <bruno@clisp.org>
5504
5505         Fix HAVE_MALLOC_POSIX misnomer.
5506         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
5507         !HAVE_MALLOC_POSIX.
5508         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
5509         HAVE_MALLOC_POSIX.
5510         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
5511         instead of HAVE_MALLOC_POSIX.
5512         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
5513         HAVE_MALLOC_POSIX.
5514
5515         Use modern idiom for malloc() replacement.
5516         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
5517         AC_FUNC_MALLOC.
5518         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
5519         Autoconf's AC_FUNC_MALLOC.
5520         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
5521         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
5522         (gl_REPLACE_MALLOC): New macro.
5523         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
5524
5525 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
5526
5527         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
5528         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
5529         This macro takes 3 arguments, not 4.
5530
5531 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
5532
5533         ipv6: fix detection under mingw
5534         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
5535         in6_addr.
5536
5537 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
5538
5539         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
5540         that strtod() works when cross-compiling to a glibc version known
5541         to work.
5542
5543 2010-06-15  Bruno Haible  <bruno@clisp.org>
5544
5545         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
5546
5547 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
5548
5549         select: Correct timeout.
5550         * lib/select.c (rpl_select): Compute wait_timeout correctly.
5551
5552 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
5553
5554         git-version-gen: init shell var to avoid env var influence
5555         * build-aux/git-version-gen (v): Init shell var to empty.
5556
5557 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
5558
5559         priv-set: Don't assume that priv.h exists merely because getppriv does.
5560         See Jan Andersen's bug report about AIX 5L in
5561         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
5562         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
5563         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
5564         * lib/priv-set.h: Likewise.
5565         * tests/test-priv-set.c: Likewise.
5566
5567 2010-06-13  Bruno Haible  <bruno@clisp.org>
5568
5569         relocatable: Make it easier to test whether to install wrappers.
5570         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
5571         RELOCATABLE_VIA_WRAPPER.
5572
5573 2010-06-13  Bruno Haible  <bruno@clisp.org>
5574
5575         gnulib-tool: Display specified modules and dependencies differently.
5576         * gnulib-tool (func_show_module_list): New function.
5577         (func_import, func_create_testdir): Invoke it.
5578         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
5579
5580 2010-06-13  Bruno Haible  <bruno@clisp.org>
5581
5582         gnulib-tool: Align code of func_import and func_create_testdir.
5583         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
5584         specified_modules.
5585
5586 2010-06-12  Jim Meyering  <meyering@redhat.com>
5587
5588         test-inttostr: avoid spurious failure on Solaris 9
5589         * tests/test-inttostr.c (main): Skip the test when snprintf fails
5590         to accept "%ju".  Reported by Bruno Haible.
5591
5592 2010-06-11  Jim Meyering  <meyering@redhat.com>
5593
5594         test-sys_socket: mark variables as used more readably
5595         * tests/test-sys_socket.c (main): Mark otherwise unused variables
5596         as "used" explicitly via (void) statement casts.  This is more
5597         readable than using them in an artificial return expression.
5598         Suggestion from Bruno Haible.
5599
5600 2010-06-11  Bruno Haible  <bruno@clisp.org>
5601
5602         Avoid some more warnings from "gcc -Wwrite-strings".
5603         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
5604         to 'const char *'.
5605         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
5606         * tests/test-c-strcasestr.c (main): Likewise.
5607         * tests/test-mbscasestr1.c (main): Likewise.
5608         * tests/test-mbscasestr2.c (main): Likewise.
5609         * tests/test-memmem.c (main): Likewise.
5610         * tests/test-strstr.c (main): Likewise.
5611         * tests/test-strcasestr.c (main): Likewise.
5612
5613 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5614
5615         init.sh: change framework_failure_ to fail with status 99, not 1
5616         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
5617         automake's parallel-tests rule that this is an unexpected failure,
5618         even if the test is listed in XFAIL_TESTS.
5619
5620 2010-06-11  Jim Meyering  <meyering@redhat.com>
5621
5622         test-inttostr: avoid warnings about 4-6KB literal strings
5623         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
5624         Include "macros.h", for its definition of ASSERT.
5625         (CK): s/assert/ASSERT/
5626         * modules/inttostr-tests (Files): Add macros.h.
5627
5628         init.sh: don't use $ME_ or skip_ before they are defined
5629         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
5630         their first uses.  Also hoist their companions: warn_, fail_,
5631         framework_failure_, $stderr_fileno.  Prompted by a patch from
5632         Stefano Lattarini.
5633
5634         test-sys_socket: avoid set-but-not-used warnings from gcc
5635         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
5636         avoid warning about set-but-not-used variables.
5637
5638         test-xvasprintf: avoid 'const' discard warnings
5639         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
5640         "const" when assigning from literal strings.
5641         (test_xasprintf): Add "void" in function argument list to placate
5642         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
5643
5644         tests: avoid compilation warnings in argmatch and exclude tests...
5645         in packages that define ARGMATCH_DIE_DECL, like coreutils.
5646         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
5647         Since it always exits, declare with the "noreturn" attribute.
5648         * tests/test-argmatch.c: Likewise.
5649
5650         tests: avoid 'const' discard warnings in mbsstr tests
5651         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
5652         * tests/test-mbsstr2.c (main): Likewise.
5653
5654         test-verify: avoid warning from gcc's -Wmissing-declarations
5655         * tests/test-verify.c (function): Declare to be static.
5656
5657         test-inttostr.c: include <string.h> for use of strcmp
5658         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
5659
5660         test-linkat: avoid failed assertion on "other" architectures
5661         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
5662         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
5663         sparc: https://bugs.launchpad.net/bugs/591968
5664
5665 2010-06-11  Jim Meyering  <meyering@redhat.com>
5666
5667         printf.m4: avoid autoconf's "Expanded Before Required" warning
5668         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
5669         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
5670         autoconf warning.
5671
5672 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
5673
5674         Replacement header templates are now named with ".in", not "_".
5675         * doc/gnulib-intro.texi: Correct.
5676
5677 2010-06-10  Jim Meyering  <meyering@redhat.com>
5678
5679         inttostr-tests: depend on snprintf, not snprintf-posix
5680         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
5681         snprintf-posix, to avoid this aclocal failure:
5682           missing file gnulib-tests/vasnprintf.c
5683           configure.ac:45: error: expected source file, required through \
5684           AC_LIBSOURCES, not found
5685
5686 2010-06-10  Jim Meyering  <meyering@redhat.com>
5687
5688         inttostr: add a new function, inttostr, and tests
5689         The namesake function was not available.  The existence of the
5690         template file, inttostr.c makes its addition nontrivial.
5691         * lib/anytostr.c: Rename from inttostr.c.
5692         (anytostr): Rename from inttostr.
5693         * lib/inttostr.c: New file.
5694         * modules/inttostr (Files): Add anytostr.c.
5695         (Makefile.am): Set lib_SOURCES instead of ...
5696         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
5697         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
5698         * lib/offtostr.c: Likewise.
5699         * lib/uinttostr.c: Likewise.
5700         * lib/umaxtostr.c: Likewise.
5701         * modules/inttostr-tests: New file.
5702         * tests/test-inttostr.c: New file.  Test these functions.
5703
5704 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
5705             Bruno Haible  <bruno@clisp.org>
5706
5707         Add "Extending Gnulib" chapter to manual.
5708         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
5709         chapter.
5710         (Extending Gnulib): New chapter.
5711         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
5712         chapter.
5713
5714 2010-06-09  Bruno Haible  <bruno@clisp.org>
5715
5716         Avoid relocwrapper link errors due to gnulib replacement functions.
5717         * lib/areadlink.c: Use the system's malloc, realloc functions.
5718         (areadlink): Set errno to ENOMEM explicitly.
5719         * modules/areadlink (Depends-on): Remove malloc-posix.
5720         Reported by Ben Pfaff <blp@cs.stanford.edu>.
5721
5722 2010-06-09  Bruno Haible  <bruno@clisp.org>
5723
5724         Avoid relocwrapper link errors due to gnulib replacement functions.
5725         * lib/canonicalize-lgpl.c: Use the system's malloc function.
5726         * lib/malloca.c: Likewise.
5727         * lib/relocatable.c: Likewise.
5728         * lib/progreloc.c: Use the system's malloc, sprintf functions.
5729         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
5730         * lib/setenv.c: Use the system's malloc, realloc functions.
5731         * lib/strerror.c: Use the system's sprintf function.
5732         Reported by Ben Pfaff <blp@cs.stanford.edu>.
5733
5734 2010-06-04  Bruno Haible  <bruno@clisp.org>
5735
5736         Prefer documented low-level autoconf macro names.
5737         * m4/lib-link.m4: Use m4_translit instead of translit.
5738         * m4/environ.m4: Likewise.
5739         * m4/mathfunc.m4: Likewise.
5740         * m4/onceonly.m4: Likewise.
5741         * m4/stdint.m4: Likewise.
5742         Suggested by Eric Blake.
5743
5744 2010-06-04  Martin Lambers  <marlam@marlam.de>
5745             Bruno Haible  <bruno@clisp.org>
5746
5747         havelib: Allow library names with '+' characters.
5748         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
5749         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
5750
5751 2010-06-09  Bruno Haible  <bruno@clisp.org>
5752
5753         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
5754         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
5755         realloc failed.
5756
5757 2010-06-08  Peter Simons  <simons@cryp.to>
5758
5759         maint.mk: make the news-check rule more configurable
5760         * top/maint.mk (news-check-lines-spec) New variable.
5761         (news-check): Use "sed -n 1,10p" in place of "head".
5762
5763 2010-06-07  Jim Meyering  <meyering@redhat.com>
5764
5765         do-release-commit-and-tag: fix typo in --help
5766         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
5767
5768         regex: avoid new dead-code warning with gcc-4.6.0
5769         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
5770         if-block containing a while-loop.  It's been unused for at least
5771         5 years.
5772
5773 2010-06-05  Bruno Haible  <bruno@clisp.org>
5774
5775         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
5776         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
5777
5778 2010-06-04  Bruno Haible  <bruno@clisp.org>
5779
5780         Update to GNU gettext 0.18.1.
5781         * modules/gettext (configure.ac): Require gettext infrastructure from
5782         version 0.18.1.
5783
5784 2010-06-03  Bruno Haible  <bruno@clisp.org>
5785
5786         Don't use AC_LIBOBJ with file names in subdirectories.
5787         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
5788         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
5789         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
5790         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
5791         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
5792         gl_LIBUNISTRING_LIBSOURCE.
5793         (Makefile.am): Augment lib_SOURCES here, conditionally.
5794         * NEWS: Drop requirement for Automake option 'subdir-objects'.
5795
5796 2010-06-03  Bruno Haible  <bruno@clisp.org>
5797
5798         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
5799         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
5800         expansion does not end with a newline.
5801         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
5802         unnecessary newline.
5803
5804 2010-06-03  Bruno Haible  <bruno@clisp.org>
5805
5806         Reduce dependencies.
5807         * tests/test-quotearg.h: New file, extracted from
5808         tests/test-quotearg.c.
5809         * tests/test-quotearg-simple.c: New file, extracted from
5810         tests/test-quotearg.c.
5811         * tests/test-quotearg.c: Don't include <ctype.h>.
5812         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
5813         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
5814         use_quote_double_quotes, use_quotearg_colon): Moved to
5815         tests/test-quotearg.h.
5816         (results_g, flag_results, custom_quotes, custom_results): Moved
5817         to tests/test-quotearg-simple.c.
5818         (main): Moved the part that does not depend on gettext to
5819         tests/test-quotearg-simple.c. Return 77 if the test cannot be
5820         performed.
5821         * modules/quotearg-simple: New file.
5822         * modules/quotearg-simple-tests: New file.
5823         * modules/quotearg (Depends-on): Add quotearg-simple.
5824         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
5825         (Files): Add tests/test-quotearg.h.
5826         Reported by Paolo Bonzini.
5827
5828 2010-06-03  Bruno Haible  <bruno@clisp.org>
5829
5830         Reduce dependencies.
5831         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
5832
5833 2010-06-03  Bruno Haible  <bruno@clisp.org>
5834
5835         time: Undefine more broken macros.
5836         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
5837         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
5838         Reported by Eric Blake.
5839
5840 2010-06-03  Bruno Haible  <bruno@clisp.org>
5841
5842         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
5843         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
5844         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
5845         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
5846         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
5847         Reported by Ludovic Courtès <ludo@gnu.org>.
5848
5849 2010-06-02  Eric Blake  <eblake@redhat.com>
5850
5851         time: work with mingw + pthreads-win32 library
5852         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
5853         if timespec is defined only in pthread.h.
5854         * modules/time (Makefile.am): Substitute it.
5855         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
5856         <pthread.h>, when needed.
5857         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
5858         from the library.
5859
5860 2010-05-31  Bruno Haible  <bruno@clisp.org>
5861
5862         Avoid expanding two macros in the wrong order.
5863         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
5864         gl_LIBUNISTRING if it is defined.
5865         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
5866         autoconf >= 2.64.
5867         Reported by Ludovic Courtès <ludo@gnu.org>.
5868
5869 2010-05-27  Jim Meyering  <meyering@redhat.com>
5870
5871         maint.mk: also prohibit "#undef" of always-defined symbols
5872         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
5873         Allow more than one space before the symbol name.
5874         (sc_prohibit_always-defined_macros): Use grep's -E, now that
5875         the regexp uses alternation.
5876
5877 2010-05-26  Eric Blake  <eblake@redhat.com>
5878
5879         maint.mk: avoid echo -e
5880         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
5881         Convert all uses of echo -* to printf.
5882         Reported by Matthias Bolte.
5883
5884 2010-05-25  Bruno Haible  <bruno@clisp.org>
5885
5886         Update to GNU gettext 0.18, part 2.
5887         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
5888         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
5889
5890 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5891
5892         Add missing include in test-pwrite.c.
5893         * tests/test-pwrite.c: Include string.h, for strcmp.
5894
5895 2010-05-24  Bruno Haible  <bruno@clisp.org>
5896
5897         * NEWS: Mention requirement for Automake option 'subdir-objects'.
5898
5899 2010-05-24  Bruno Haible  <bruno@clisp.org>
5900
5901         Don't use conversion with transliteration in u{8,16,32}_strcoll.
5902         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
5903         iconveh_error argument.
5904         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
5905         U_STRCONV_TO_LOCALE.
5906         * lib/unistr/u16-strcoll.c: Likewise.
5907         * lib/unistr/u32-strcoll.c: Likewise.
5908         * modules/unistr/u8-strcoll (Depends-on): Add
5909         uniconv/u8-strconv-to-enc, localcharset. Remove
5910         uniconv/u8-strconv-to-locale.
5911         (configure.ac): Bump version number.
5912         * modules/unistr/u16-strcoll (Depends-on): Add
5913         uniconv/u16-strconv-to-enc, localcharset. Remove
5914         uniconv/u16-strconv-to-locale.
5915         (configure.ac): Bump version number.
5916         * modules/unistr/u32-strcoll (Depends-on): Add
5917         uniconv/u32-strconv-to-enc, localcharset. Remove
5918         uniconv/u32-strconv-to-locale.
5919         (configure.ac): Bump version number.
5920
5921 2010-05-24  Bruno Haible  <bruno@clisp.org>
5922
5923         Avoid a test failure on NetBSD 5.0.
5924         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
5925         an iconv() bug.
5926
5927 2010-05-24  Bruno Haible  <bruno@clisp.org>
5928
5929         Adjust #include directive style.
5930         * modules/regex (Includes): Recommend to write <regex.h>.
5931
5932 2010-05-24  Bruno Haible  <bruno@clisp.org>
5933
5934         regex: Don't require alloca.
5935         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
5936         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
5937         only inside if (0).
5938
5939 2010-05-23  Jim Meyering  <meyering@redhat.com>
5940
5941         test-renameat.c: include <sys/stat.h>
5942         * tests/test-renameat.c: Include <sys/stat.h>; required for
5943         definition of S_IS* macros.
5944
5945 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
5946
5947         Update maintainer documentation for 'relocatable-prog' module.
5948         * doc/relocatable-maint.texi: Update.
5949         Comments by Bruno Haible.
5950
5951 2010-05-23  Bruno Haible  <bruno@clisp.org>
5952
5953         git-merge-changelog: Enable --split-merged-entry by default.
5954         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
5955         (usage): Don't mention this option any more.
5956         Reported by Ralf Wildenhues.
5957
5958 2010-05-23  Jim Meyering  <meyering@redhat.com>
5959
5960         test-pwrite: do not leave behind a test file named "out"
5961         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
5962         The trivial-looking use of init.sh is really necessary.
5963         It ensures that the temporary file, "out", is created in
5964         a temporary directory, and removed upon termination.
5965         * tests/test-pwrite.sh: Re-add file.
5966         * modules/pwrite-tests: Reference it.
5967
5968 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
5969
5970         Fix output redirection buglet in init.sh.
5971         * tests/init.sh: Fix redirection of stderr.
5972
5973 2010-05-20  Simon Josefsson  <simon@josefsson.org>
5974
5975         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
5976
5977 2010-05-17  Simon Josefsson  <simon@josefsson.org>
5978
5979         * modules/valgrind-tests: New file.
5980         * m4/valgrind-tests.m4: New file.
5981         * doc/valgrind-tests.texi: New file.
5982         * doc/gnulib.texi (Running self-tests under valgrind): New
5983         section.
5984
5985 2010-05-19  Bruno Haible  <bruno@clisp.org>
5986
5987         Clean up dead code in recent commit.
5988         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
5989         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
5990         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
5991         Suggested by Paolo Bonzini.
5992
5993 2010-05-19  Bruno Haible  <bruno@clisp.org>
5994
5995         Avoid valgrind error reports from libunistring.
5996         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
5997         * modules/libunistring (Files): Add it.
5998         * modules/libunistring-optional (Files): Likewise.
5999
6000 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
6001             Bruno Haible  <bruno@clisp.org>
6002
6003         New module 'libunistring-optional'.
6004         * modules/libunistring-optional: New file.
6005         * m4/libunistring-base.m4: New file.
6006         * m4/libunistring-optional.m4: New file.
6007         * lib/unicase.in.h: Renamed from lib/unicase.h.
6008         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
6009         * lib/unictype.in.h: Renamed from lib/unictype.h.
6010         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
6011         * lib/uniname.in.h: Renamed from lib/uniname.h.
6012         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
6013         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
6014         * lib/unistr.in.h: Renamed from lib/unistr.h.
6015         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
6016         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
6017         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
6018         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
6019         gl_LIBUNISTRING. If the library was found, determine the installed
6020         version and set LIBUNISTRING_VERSION.
6021         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
6022         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
6023         handle a configuration option --with-included-libunistring.
6024         * modules/libunistring (Files): Add m4/absolute-header.m4.
6025         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
6026         Add m4/libunistring-base.m4.
6027         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
6028         (Makefile.am): Build unicase.h from unicase.in.h.
6029         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
6030         Add m4/libunistring-base.m4.
6031         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
6032         (Makefile.am): Build uniconv.h from uniconv.in.h.
6033         * modules/unictype/base (Files): Use unictype.in.h instead of
6034         unictype.h. Add m4/libunistring-base.m4.
6035         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
6036         (Makefile.am): Build unictype.h from unictype.in.h.
6037         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
6038         Add m4/libunistring-base.m4.
6039         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
6040         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
6041         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
6042         Add m4/libunistring-base.m4.
6043         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
6044         (Makefile.am): Build uniname.h from uniname.in.h.
6045         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
6046         Add m4/libunistring-base.m4.
6047         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
6048         (Makefile.am): Build uninorm.h from uninorm.in.h.
6049         * modules/unistdio/base (Files): Use unistdio.in.h instead of
6050         unistdio.h. Add m4/libunistring-base.m4.
6051         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
6052         (Makefile.am): Build unistdio.h from unistdio.in.h.
6053         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
6054         Add m4/libunistring-base.m4.
6055         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
6056         (Makefile.am): Build unistr.h from unistr.in.h.
6057         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
6058         Add m4/libunistring-base.m4.
6059         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
6060         (Makefile.am): Build unitypes.h from unitypes.in.h.
6061         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
6062         Add m4/libunistring-base.m4.
6063         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
6064         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
6065         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
6066         uniwidth.h. Add m4/libunistring-base.m4.
6067         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
6068         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
6069         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
6070         instead of augmenting lib_SOURCES.
6071         * modules/unicase/empty-suffix-context: Likewise.
6072         * modules/unicase/locale-language: Likewise.
6073         * modules/unicase/tolower: Likewise.
6074         * modules/unicase/totitle: Likewise.
6075         * modules/unicase/toupper: Likewise.
6076         * modules/unicase/u8-casecmp: Likewise.
6077         * modules/unicase/u8-casecoll: Likewise.
6078         * modules/unicase/u8-casefold: Likewise.
6079         * modules/unicase/u8-casexfrm: Likewise.
6080         * modules/unicase/u8-ct-casefold: Likewise.
6081         * modules/unicase/u8-ct-tolower: Likewise.
6082         * modules/unicase/u8-ct-totitle: Likewise.
6083         * modules/unicase/u8-ct-toupper: Likewise.
6084         * modules/unicase/u8-is-cased: Likewise.
6085         * modules/unicase/u8-is-casefolded: Likewise.
6086         * modules/unicase/u8-is-lowercase: Likewise.
6087         * modules/unicase/u8-is-titlecase: Likewise.
6088         * modules/unicase/u8-is-uppercase: Likewise.
6089         * modules/unicase/u8-prefix-context: Likewise.
6090         * modules/unicase/u8-suffix-context: Likewise.
6091         * modules/unicase/u8-tolower: Likewise.
6092         * modules/unicase/u8-totitle: Likewise.
6093         * modules/unicase/u8-toupper: Likewise.
6094         * modules/unicase/u16-casecmp: Likewise.
6095         * modules/unicase/u16-casecoll: Likewise.
6096         * modules/unicase/u16-casefold: Likewise.
6097         * modules/unicase/u16-casexfrm: Likewise.
6098         * modules/unicase/u16-ct-casefold: Likewise.
6099         * modules/unicase/u16-ct-tolower: Likewise.
6100         * modules/unicase/u16-ct-totitle: Likewise.
6101         * modules/unicase/u16-ct-toupper: Likewise.
6102         * modules/unicase/u16-is-cased: Likewise.
6103         * modules/unicase/u16-is-casefolded: Likewise.
6104         * modules/unicase/u16-is-lowercase: Likewise.
6105         * modules/unicase/u16-is-titlecase: Likewise.
6106         * modules/unicase/u16-is-uppercase: Likewise.
6107         * modules/unicase/u16-prefix-context: Likewise.
6108         * modules/unicase/u16-suffix-context: Likewise.
6109         * modules/unicase/u16-tolower: Likewise.
6110         * modules/unicase/u16-totitle: Likewise.
6111         * modules/unicase/u16-toupper: Likewise.
6112         * modules/unicase/u32-casecmp: Likewise.
6113         * modules/unicase/u32-casecoll: Likewise.
6114         * modules/unicase/u32-casefold: Likewise.
6115         * modules/unicase/u32-casexfrm: Likewise.
6116         * modules/unicase/u32-ct-casefold: Likewise.
6117         * modules/unicase/u32-ct-tolower: Likewise.
6118         * modules/unicase/u32-ct-totitle: Likewise.
6119         * modules/unicase/u32-ct-toupper: Likewise.
6120         * modules/unicase/u32-is-cased: Likewise.
6121         * modules/unicase/u32-is-casefolded: Likewise.
6122         * modules/unicase/u32-is-lowercase: Likewise.
6123         * modules/unicase/u32-is-titlecase: Likewise.
6124         * modules/unicase/u32-is-uppercase: Likewise.
6125         * modules/unicase/u32-prefix-context: Likewise.
6126         * modules/unicase/u32-suffix-context: Likewise.
6127         * modules/unicase/u32-tolower: Likewise.
6128         * modules/unicase/u32-totitle: Likewise.
6129         * modules/unicase/u32-toupper: Likewise.
6130         * modules/unicase/ulc-casecmp: Likewise.
6131         * modules/unicase/ulc-casecoll: Likewise.
6132         * modules/unicase/ulc-casexfrm: Likewise.
6133         * modules/uniconv/u8-conv-from-enc: Likewise.
6134         * modules/uniconv/u8-conv-to-enc: Likewise.
6135         * modules/uniconv/u8-strconv-from-enc: Likewise.
6136         * modules/uniconv/u8-strconv-from-locale: Likewise.
6137         * modules/uniconv/u8-strconv-to-enc: Likewise.
6138         * modules/uniconv/u8-strconv-to-locale: Likewise.
6139         * modules/uniconv/u16-conv-from-enc: Likewise.
6140         * modules/uniconv/u16-conv-to-enc: Likewise.
6141         * modules/uniconv/u16-strconv-from-enc: Likewise.
6142         * modules/uniconv/u16-strconv-from-locale: Likewise.
6143         * modules/uniconv/u16-strconv-to-enc: Likewise.
6144         * modules/uniconv/u16-strconv-to-locale: Likewise.
6145         * modules/uniconv/u32-conv-from-enc: Likewise.
6146         * modules/uniconv/u32-conv-to-enc: Likewise.
6147         * modules/uniconv/u32-strconv-from-enc: Likewise.
6148         * modules/uniconv/u32-strconv-from-locale: Likewise.
6149         * modules/uniconv/u32-strconv-to-enc: Likewise.
6150         * modules/uniconv/u32-strconv-to-locale: Likewise.
6151         * modules/unictype/bidicategory-byname: Likewise.
6152         * modules/unictype/bidicategory-name: Likewise.
6153         * modules/unictype/bidicategory-of: Likewise.
6154         * modules/unictype/bidicategory-test: Likewise.
6155         * modules/unictype/block-list: Likewise.
6156         * modules/unictype/block-test: Likewise.
6157         * modules/unictype/category-C: Likewise.
6158         * modules/unictype/category-Cc: Likewise.
6159         * modules/unictype/category-Cf: Likewise.
6160         * modules/unictype/category-Cn: Likewise.
6161         * modules/unictype/category-Co: Likewise.
6162         * modules/unictype/category-Cs: Likewise.
6163         * modules/unictype/category-L: Likewise.
6164         * modules/unictype/category-Ll: Likewise.
6165         * modules/unictype/category-Lm: Likewise.
6166         * modules/unictype/category-Lo: Likewise.
6167         * modules/unictype/category-Lt: Likewise.
6168         * modules/unictype/category-Lu: Likewise.
6169         * modules/unictype/category-M: Likewise.
6170         * modules/unictype/category-Mc: Likewise.
6171         * modules/unictype/category-Me: Likewise.
6172         * modules/unictype/category-Mn: Likewise.
6173         * modules/unictype/category-N: Likewise.
6174         * modules/unictype/category-Nd: Likewise.
6175         * modules/unictype/category-Nl: Likewise.
6176         * modules/unictype/category-No: Likewise.
6177         * modules/unictype/category-P: Likewise.
6178         * modules/unictype/category-Pc: Likewise.
6179         * modules/unictype/category-Pd: Likewise.
6180         * modules/unictype/category-Pe: Likewise.
6181         * modules/unictype/category-Pf: Likewise.
6182         * modules/unictype/category-Pi: Likewise.
6183         * modules/unictype/category-Po: Likewise.
6184         * modules/unictype/category-Ps: Likewise.
6185         * modules/unictype/category-S: Likewise.
6186         * modules/unictype/category-Sc: Likewise.
6187         * modules/unictype/category-Sk: Likewise.
6188         * modules/unictype/category-Sm: Likewise.
6189         * modules/unictype/category-So: Likewise.
6190         * modules/unictype/category-Z: Likewise.
6191         * modules/unictype/category-Zl: Likewise.
6192         * modules/unictype/category-Zp: Likewise.
6193         * modules/unictype/category-Zs: Likewise.
6194         * modules/unictype/category-and: Likewise.
6195         * modules/unictype/category-and-not: Likewise.
6196         * modules/unictype/category-byname: Likewise.
6197         * modules/unictype/category-name: Likewise.
6198         * modules/unictype/category-none: Likewise.
6199         * modules/unictype/category-of: Likewise.
6200         * modules/unictype/category-or: Likewise.
6201         * modules/unictype/category-test: Likewise.
6202         * modules/unictype/combining-class: Likewise.
6203         * modules/unictype/ctype-alnum: Likewise.
6204         * modules/unictype/ctype-alpha: Likewise.
6205         * modules/unictype/ctype-blank: Likewise.
6206         * modules/unictype/ctype-cntrl: Likewise.
6207         * modules/unictype/ctype-digit: Likewise.
6208         * modules/unictype/ctype-graph: Likewise.
6209         * modules/unictype/ctype-lower: Likewise.
6210         * modules/unictype/ctype-print: Likewise.
6211         * modules/unictype/ctype-punct: Likewise.
6212         * modules/unictype/ctype-space: Likewise.
6213         * modules/unictype/ctype-upper: Likewise.
6214         * modules/unictype/ctype-xdigit: Likewise.
6215         * modules/unictype/decimal-digit: Likewise.
6216         * modules/unictype/digit: Likewise.
6217         * modules/unictype/mirror: Likewise.
6218         * modules/unictype/numeric: Likewise.
6219         * modules/unictype/property-alphabetic: Likewise.
6220         * modules/unictype/property-ascii-hex-digit: Likewise.
6221         * modules/unictype/property-bidi-arabic-digit: Likewise.
6222         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
6223         * modules/unictype/property-bidi-block-separator: Likewise.
6224         * modules/unictype/property-bidi-boundary-neutral: Likewise.
6225         * modules/unictype/property-bidi-common-separator: Likewise.
6226         * modules/unictype/property-bidi-control: Likewise.
6227         * modules/unictype/property-bidi-embedding-or-override: Likewise.
6228         * modules/unictype/property-bidi-eur-num-separator: Likewise.
6229         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
6230         * modules/unictype/property-bidi-european-digit: Likewise.
6231         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
6232         * modules/unictype/property-bidi-left-to-right: Likewise.
6233         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
6234         * modules/unictype/property-bidi-other-neutral: Likewise.
6235         * modules/unictype/property-bidi-pdf: Likewise.
6236         * modules/unictype/property-bidi-segment-separator: Likewise.
6237         * modules/unictype/property-bidi-whitespace: Likewise.
6238         * modules/unictype/property-byname: Likewise.
6239         * modules/unictype/property-combining: Likewise.
6240         * modules/unictype/property-composite: Likewise.
6241         * modules/unictype/property-currency-symbol: Likewise.
6242         * modules/unictype/property-dash: Likewise.
6243         * modules/unictype/property-decimal-digit: Likewise.
6244         * modules/unictype/property-default-ignorable-code-point: Likewise.
6245         * modules/unictype/property-deprecated: Likewise.
6246         * modules/unictype/property-diacritic: Likewise.
6247         * modules/unictype/property-extender: Likewise.
6248         * modules/unictype/property-format-control: Likewise.
6249         * modules/unictype/property-grapheme-base: Likewise.
6250         * modules/unictype/property-grapheme-extend: Likewise.
6251         * modules/unictype/property-grapheme-link: Likewise.
6252         * modules/unictype/property-hex-digit: Likewise.
6253         * modules/unictype/property-hyphen: Likewise.
6254         * modules/unictype/property-id-continue: Likewise.
6255         * modules/unictype/property-id-start: Likewise.
6256         * modules/unictype/property-ideographic: Likewise.
6257         * modules/unictype/property-ids-binary-operator: Likewise.
6258         * modules/unictype/property-ids-trinary-operator: Likewise.
6259         * modules/unictype/property-ignorable-control: Likewise.
6260         * modules/unictype/property-iso-control: Likewise.
6261         * modules/unictype/property-join-control: Likewise.
6262         * modules/unictype/property-left-of-pair: Likewise.
6263         * modules/unictype/property-line-separator: Likewise.
6264         * modules/unictype/property-logical-order-exception: Likewise.
6265         * modules/unictype/property-lowercase: Likewise.
6266         * modules/unictype/property-math: Likewise.
6267         * modules/unictype/property-non-break: Likewise.
6268         * modules/unictype/property-not-a-character: Likewise.
6269         * modules/unictype/property-numeric: Likewise.
6270         * modules/unictype/property-other-alphabetic: Likewise.
6271         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
6272         * modules/unictype/property-other-grapheme-extend: Likewise.
6273         * modules/unictype/property-other-id-continue: Likewise.
6274         * modules/unictype/property-other-id-start: Likewise.
6275         * modules/unictype/property-other-lowercase: Likewise.
6276         * modules/unictype/property-other-math: Likewise.
6277         * modules/unictype/property-other-uppercase: Likewise.
6278         * modules/unictype/property-paired-punctuation: Likewise.
6279         * modules/unictype/property-paragraph-separator: Likewise.
6280         * modules/unictype/property-pattern-syntax: Likewise.
6281         * modules/unictype/property-pattern-white-space: Likewise.
6282         * modules/unictype/property-private-use: Likewise.
6283         * modules/unictype/property-punctuation: Likewise.
6284         * modules/unictype/property-quotation-mark: Likewise.
6285         * modules/unictype/property-radical: Likewise.
6286         * modules/unictype/property-sentence-terminal: Likewise.
6287         * modules/unictype/property-soft-dotted: Likewise.
6288         * modules/unictype/property-space: Likewise.
6289         * modules/unictype/property-terminal-punctuation: Likewise.
6290         * modules/unictype/property-test: Likewise.
6291         * modules/unictype/property-titlecase: Likewise.
6292         * modules/unictype/property-unassigned-code-value: Likewise.
6293         * modules/unictype/property-unified-ideograph: Likewise.
6294         * modules/unictype/property-uppercase: Likewise.
6295         * modules/unictype/property-variation-selector: Likewise.
6296         * modules/unictype/property-white-space: Likewise.
6297         * modules/unictype/property-xid-continue: Likewise.
6298         * modules/unictype/property-xid-start: Likewise.
6299         * modules/unictype/property-zero-width: Likewise.
6300         * modules/unictype/scripts: Likewise.
6301         * modules/unictype/syntax-c-ident: Likewise.
6302         * modules/unictype/syntax-c-whitespace: Likewise.
6303         * modules/unictype/syntax-java-ident: Likewise.
6304         * modules/unictype/syntax-java-whitespace: Likewise.
6305         * modules/unilbrk/u8-possible-linebreaks: Likewise.
6306         * modules/unilbrk/u8-width-linebreaks: Likewise.
6307         * modules/unilbrk/u16-possible-linebreaks: Likewise.
6308         * modules/unilbrk/u16-width-linebreaks: Likewise.
6309         * modules/unilbrk/u32-possible-linebreaks: Likewise.
6310         * modules/unilbrk/u32-width-linebreaks: Likewise.
6311         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
6312         * modules/unilbrk/ulc-width-linebreaks: Likewise.
6313         * modules/uniname/uniname: Likewise.
6314         * modules/uninorm/canonical-decomposition: Likewise.
6315         * modules/uninorm/composition: Likewise.
6316         * modules/uninorm/decomposing-form: Likewise.
6317         * modules/uninorm/decomposition: Likewise.
6318         * modules/uninorm/filter: Likewise.
6319         * modules/uninorm/nfc: Likewise.
6320         * modules/uninorm/nfd: Likewise.
6321         * modules/uninorm/nfkc: Likewise.
6322         * modules/uninorm/nfkd: Likewise.
6323         * modules/uninorm/u8-normalize: Likewise.
6324         * modules/uninorm/u8-normcmp: Likewise.
6325         * modules/uninorm/u8-normcoll: Likewise.
6326         * modules/uninorm/u8-normxfrm: Likewise.
6327         * modules/uninorm/u16-normalize: Likewise.
6328         * modules/uninorm/u16-normcmp: Likewise.
6329         * modules/uninorm/u16-normcoll: Likewise.
6330         * modules/uninorm/u16-normxfrm: Likewise.
6331         * modules/uninorm/u32-normalize: Likewise.
6332         * modules/uninorm/u32-normcmp: Likewise.
6333         * modules/uninorm/u32-normcoll: Likewise.
6334         * modules/uninorm/u32-normxfrm: Likewise.
6335         * modules/unistdio/u8-asnprintf: Likewise.
6336         * modules/unistdio/u8-asprintf: Likewise.
6337         * modules/unistdio/u8-snprintf: Likewise.
6338         * modules/unistdio/u8-sprintf: Likewise.
6339         * modules/unistdio/u8-u8-asnprintf: Likewise.
6340         * modules/unistdio/u8-u8-asprintf: Likewise.
6341         * modules/unistdio/u8-u8-snprintf: Likewise.
6342         * modules/unistdio/u8-u8-sprintf: Likewise.
6343         * modules/unistdio/u8-u8-vasnprintf: Likewise.
6344         * modules/unistdio/u8-u8-vasprintf: Likewise.
6345         * modules/unistdio/u8-u8-vsnprintf: Likewise.
6346         * modules/unistdio/u8-u8-vsprintf: Likewise.
6347         * modules/unistdio/u8-vasnprintf: Likewise.
6348         * modules/unistdio/u8-vasprintf: Likewise.
6349         * modules/unistdio/u8-vsnprintf: Likewise.
6350         * modules/unistdio/u8-vsprintf: Likewise.
6351         * modules/unistdio/u16-asnprintf: Likewise.
6352         * modules/unistdio/u16-asprintf: Likewise.
6353         * modules/unistdio/u16-snprintf: Likewise.
6354         * modules/unistdio/u16-sprintf: Likewise.
6355         * modules/unistdio/u16-u16-asnprintf: Likewise.
6356         * modules/unistdio/u16-u16-asprintf: Likewise.
6357         * modules/unistdio/u16-u16-snprintf: Likewise.
6358         * modules/unistdio/u16-u16-sprintf: Likewise.
6359         * modules/unistdio/u16-u16-vasnprintf: Likewise.
6360         * modules/unistdio/u16-u16-vasprintf: Likewise.
6361         * modules/unistdio/u16-u16-vsnprintf: Likewise.
6362         * modules/unistdio/u16-u16-vsprintf: Likewise.
6363         * modules/unistdio/u16-vasnprintf: Likewise.
6364         * modules/unistdio/u16-vasprintf: Likewise.
6365         * modules/unistdio/u16-vsnprintf: Likewise.
6366         * modules/unistdio/u16-vsprintf: Likewise.
6367         * modules/unistdio/u32-asnprintf: Likewise.
6368         * modules/unistdio/u32-asprintf: Likewise.
6369         * modules/unistdio/u32-snprintf: Likewise.
6370         * modules/unistdio/u32-sprintf: Likewise.
6371         * modules/unistdio/u32-u32-asnprintf: Likewise.
6372         * modules/unistdio/u32-u32-asprintf: Likewise.
6373         * modules/unistdio/u32-u32-snprintf: Likewise.
6374         * modules/unistdio/u32-u32-sprintf: Likewise.
6375         * modules/unistdio/u32-u32-vasnprintf: Likewise.
6376         * modules/unistdio/u32-u32-vasprintf: Likewise.
6377         * modules/unistdio/u32-u32-vsnprintf: Likewise.
6378         * modules/unistdio/u32-u32-vsprintf: Likewise.
6379         * modules/unistdio/u32-vasnprintf: Likewise.
6380         * modules/unistdio/u32-vasprintf: Likewise.
6381         * modules/unistdio/u32-vsnprintf: Likewise.
6382         * modules/unistdio/u32-vsprintf: Likewise.
6383         * modules/unistdio/ulc-asnprintf: Likewise.
6384         * modules/unistdio/ulc-asprintf: Likewise.
6385         * modules/unistdio/ulc-fprintf: Likewise.
6386         * modules/unistdio/ulc-snprintf: Likewise.
6387         * modules/unistdio/ulc-sprintf: Likewise.
6388         * modules/unistdio/ulc-vasnprintf: Likewise.
6389         * modules/unistdio/ulc-vasprintf: Likewise.
6390         * modules/unistdio/ulc-vfprintf: Likewise.
6391         * modules/unistdio/ulc-vsnprintf: Likewise.
6392         * modules/unistdio/ulc-vsprintf: Likewise.
6393         * modules/unistr/u8-check: Likewise.
6394         * modules/unistr/u8-chr: Likewise.
6395         * modules/unistr/u8-cmp: Likewise.
6396         * modules/unistr/u8-cmp2: Likewise.
6397         * modules/unistr/u8-cpy: Likewise.
6398         * modules/unistr/u8-cpy-alloc: Likewise.
6399         * modules/unistr/u8-endswith: Likewise.
6400         * modules/unistr/u8-mblen: Likewise.
6401         * modules/unistr/u8-mbsnlen: Likewise.
6402         * modules/unistr/u8-mbtouc: Likewise.
6403         * modules/unistr/u8-mbtouc-unsafe: Likewise.
6404         * modules/unistr/u8-mbtoucr: Likewise.
6405         * modules/unistr/u8-move: Likewise.
6406         * modules/unistr/u8-next: Likewise.
6407         * modules/unistr/u8-prev: Likewise.
6408         * modules/unistr/u8-set: Likewise.
6409         * modules/unistr/u8-startswith: Likewise.
6410         * modules/unistr/u8-stpcpy: Likewise.
6411         * modules/unistr/u8-stpncpy: Likewise.
6412         * modules/unistr/u8-strcat: Likewise.
6413         * modules/unistr/u8-strchr: Likewise.
6414         * modules/unistr/u8-strcmp: Likewise.
6415         * modules/unistr/u8-strcoll: Likewise.
6416         * modules/unistr/u8-strcpy: Likewise.
6417         * modules/unistr/u8-strcspn: Likewise.
6418         * modules/unistr/u8-strdup: Likewise.
6419         * modules/unistr/u8-strlen: Likewise.
6420         * modules/unistr/u8-strmblen: Likewise.
6421         * modules/unistr/u8-strmbtouc: Likewise.
6422         * modules/unistr/u8-strncat: Likewise.
6423         * modules/unistr/u8-strncmp: Likewise.
6424         * modules/unistr/u8-strncpy: Likewise.
6425         * modules/unistr/u8-strnlen: Likewise.
6426         * modules/unistr/u8-strpbrk: Likewise.
6427         * modules/unistr/u8-strrchr: Likewise.
6428         * modules/unistr/u8-strspn: Likewise.
6429         * modules/unistr/u8-strstr: Likewise.
6430         * modules/unistr/u8-strtok: Likewise.
6431         * modules/unistr/u8-to-u16: Likewise.
6432         * modules/unistr/u8-to-u32: Likewise.
6433         * modules/unistr/u8-uctomb: Likewise.
6434         * modules/unistr/u16-check: Likewise.
6435         * modules/unistr/u16-chr: Likewise.
6436         * modules/unistr/u16-cmp: Likewise.
6437         * modules/unistr/u16-cmp2: Likewise.
6438         * modules/unistr/u16-cpy: Likewise.
6439         * modules/unistr/u16-cpy-alloc: Likewise.
6440         * modules/unistr/u16-endswith: Likewise.
6441         * modules/unistr/u16-mblen: Likewise.
6442         * modules/unistr/u16-mbsnlen: Likewise.
6443         * modules/unistr/u16-mbtouc: Likewise.
6444         * modules/unistr/u16-mbtouc-unsafe: Likewise.
6445         * modules/unistr/u16-mbtoucr: Likewise.
6446         * modules/unistr/u16-move: Likewise.
6447         * modules/unistr/u16-next: Likewise.
6448         * modules/unistr/u16-prev: Likewise.
6449         * modules/unistr/u16-set: Likewise.
6450         * modules/unistr/u16-startswith: Likewise.
6451         * modules/unistr/u16-stpcpy: Likewise.
6452         * modules/unistr/u16-stpncpy: Likewise.
6453         * modules/unistr/u16-strcat: Likewise.
6454         * modules/unistr/u16-strchr: Likewise.
6455         * modules/unistr/u16-strcmp: Likewise.
6456         * modules/unistr/u16-strcoll: Likewise.
6457         * modules/unistr/u16-strcpy: Likewise.
6458         * modules/unistr/u16-strcspn: Likewise.
6459         * modules/unistr/u16-strdup: Likewise.
6460         * modules/unistr/u16-strlen: Likewise.
6461         * modules/unistr/u16-strmblen: Likewise.
6462         * modules/unistr/u16-strmbtouc: Likewise.
6463         * modules/unistr/u16-strncat: Likewise.
6464         * modules/unistr/u16-strncmp: Likewise.
6465         * modules/unistr/u16-strncpy: Likewise.
6466         * modules/unistr/u16-strnlen: Likewise.
6467         * modules/unistr/u16-strpbrk: Likewise.
6468         * modules/unistr/u16-strrchr: Likewise.
6469         * modules/unistr/u16-strspn: Likewise.
6470         * modules/unistr/u16-strstr: Likewise.
6471         * modules/unistr/u16-strtok: Likewise.
6472         * modules/unistr/u16-to-u32: Likewise.
6473         * modules/unistr/u16-to-u8: Likewise.
6474         * modules/unistr/u16-uctomb: Likewise.
6475         * modules/unistr/u32-check: Likewise.
6476         * modules/unistr/u32-chr: Likewise.
6477         * modules/unistr/u32-cmp: Likewise.
6478         * modules/unistr/u32-cmp2: Likewise.
6479         * modules/unistr/u32-cpy: Likewise.
6480         * modules/unistr/u32-cpy-alloc: Likewise.
6481         * modules/unistr/u32-endswith: Likewise.
6482         * modules/unistr/u32-mblen: Likewise.
6483         * modules/unistr/u32-mbsnlen: Likewise.
6484         * modules/unistr/u32-mbtouc: Likewise.
6485         * modules/unistr/u32-mbtouc-unsafe: Likewise.
6486         * modules/unistr/u32-mbtoucr: Likewise.
6487         * modules/unistr/u32-move: Likewise.
6488         * modules/unistr/u32-next: Likewise.
6489         * modules/unistr/u32-prev: Likewise.
6490         * modules/unistr/u32-set: Likewise.
6491         * modules/unistr/u32-startswith: Likewise.
6492         * modules/unistr/u32-stpcpy: Likewise.
6493         * modules/unistr/u32-stpncpy: Likewise.
6494         * modules/unistr/u32-strcat: Likewise.
6495         * modules/unistr/u32-strchr: Likewise.
6496         * modules/unistr/u32-strcmp: Likewise.
6497         * modules/unistr/u32-strcoll: Likewise.
6498         * modules/unistr/u32-strcpy: Likewise.
6499         * modules/unistr/u32-strcspn: Likewise.
6500         * modules/unistr/u32-strdup: Likewise.
6501         * modules/unistr/u32-strlen: Likewise.
6502         * modules/unistr/u32-strmblen: Likewise.
6503         * modules/unistr/u32-strmbtouc: Likewise.
6504         * modules/unistr/u32-strncat: Likewise.
6505         * modules/unistr/u32-strncmp: Likewise.
6506         * modules/unistr/u32-strncpy: Likewise.
6507         * modules/unistr/u32-strnlen: Likewise.
6508         * modules/unistr/u32-strpbrk: Likewise.
6509         * modules/unistr/u32-strrchr: Likewise.
6510         * modules/unistr/u32-strspn: Likewise.
6511         * modules/unistr/u32-strstr: Likewise.
6512         * modules/unistr/u32-strtok: Likewise.
6513         * modules/unistr/u32-to-u16: Likewise.
6514         * modules/unistr/u32-to-u8: Likewise.
6515         * modules/unistr/u32-uctomb: Likewise.
6516         * modules/uniwbrk/u8-wordbreaks: Likewise.
6517         * modules/uniwbrk/u16-wordbreaks: Likewise.
6518         * modules/uniwbrk/u32-wordbreaks: Likewise.
6519         * modules/uniwbrk/ulc-wordbreaks: Likewise.
6520         * modules/uniwbrk/wordbreak-property: Likewise.
6521         * modules/uniwidth/u8-strwidth: Likewise.
6522         * modules/uniwidth/u8-width: Likewise.
6523         * modules/uniwidth/u16-strwidth: Likewise.
6524         * modules/uniwidth/u16-width: Likewise.
6525         * modules/uniwidth/u32-strwidth: Likewise.
6526         * modules/uniwidth/u32-width: Likewise.
6527         * modules/uniwidth/width: Likewise.
6528         * modules/unicase/cased-tests (Makefile.am): Link all test programs
6529         with $(LIBUNISTRING).
6530         * modules/unicase/ignorable-tests: Likewise.
6531         * modules/unicase/locale-language-tests: Likewise.
6532         * modules/unicase/tolower-tests: Likewise.
6533         * modules/unicase/totitle-tests: Likewise.
6534         * modules/unicase/toupper-tests: Likewise.
6535         * modules/unicase/u8-casecmp-tests: Likewise.
6536         * modules/unicase/u8-casecoll-tests: Likewise.
6537         * modules/unicase/u8-casefold-tests: Likewise.
6538         * modules/unicase/u8-is-cased-tests: Likewise.
6539         * modules/unicase/u8-is-casefolded-tests: Likewise.
6540         * modules/unicase/u8-is-lowercase-tests: Likewise.
6541         * modules/unicase/u8-is-titlecase-tests: Likewise.
6542         * modules/unicase/u8-is-uppercase-tests: Likewise.
6543         * modules/unicase/u8-tolower-tests: Likewise.
6544         * modules/unicase/u8-totitle-tests: Likewise.
6545         * modules/unicase/u8-toupper-tests: Likewise.
6546         * modules/unicase/u16-casecmp-tests: Likewise.
6547         * modules/unicase/u16-casecoll-tests: Likewise.
6548         * modules/unicase/u16-casefold-tests: Likewise.
6549         * modules/unicase/u16-is-cased-tests: Likewise.
6550         * modules/unicase/u16-is-casefolded-tests: Likewise.
6551         * modules/unicase/u16-is-lowercase-tests: Likewise.
6552         * modules/unicase/u16-is-titlecase-tests: Likewise.
6553         * modules/unicase/u16-is-uppercase-tests: Likewise.
6554         * modules/unicase/u16-tolower-tests: Likewise.
6555         * modules/unicase/u16-totitle-tests: Likewise.
6556         * modules/unicase/u16-toupper-tests: Likewise.
6557         * modules/unicase/u32-casecmp-tests: Likewise.
6558         * modules/unicase/u32-casecoll-tests: Likewise.
6559         * modules/unicase/u32-casefold-tests: Likewise.
6560         * modules/unicase/u32-is-cased-tests: Likewise.
6561         * modules/unicase/u32-is-casefolded-tests: Likewise.
6562         * modules/unicase/u32-is-lowercase-tests: Likewise.
6563         * modules/unicase/u32-is-titlecase-tests: Likewise.
6564         * modules/unicase/u32-is-uppercase-tests: Likewise.
6565         * modules/unicase/u32-tolower-tests: Likewise.
6566         * modules/unicase/u32-totitle-tests: Likewise.
6567         * modules/unicase/u32-toupper-tests: Likewise.
6568         * modules/unicase/ulc-casecmp-tests: Likewise.
6569         * modules/unicase/ulc-casecoll-tests: Likewise.
6570         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
6571         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
6572         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
6573         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
6574         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
6575         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
6576         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
6577         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
6578         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
6579         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
6580         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
6581         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
6582         * modules/unictype/bidicategory-byname-tests: Likewise.
6583         * modules/unictype/bidicategory-name-tests: Likewise.
6584         * modules/unictype/bidicategory-of-tests: Likewise.
6585         * modules/unictype/bidicategory-test-tests: Likewise.
6586         * modules/unictype/block-list-tests: Likewise.
6587         * modules/unictype/block-of-tests: Likewise.
6588         * modules/unictype/block-test-tests: Likewise.
6589         * modules/unictype/category-C-tests: Likewise.
6590         * modules/unictype/category-Cc-tests: Likewise.
6591         * modules/unictype/category-Cf-tests: Likewise.
6592         * modules/unictype/category-Cn-tests: Likewise.
6593         * modules/unictype/category-Co-tests: Likewise.
6594         * modules/unictype/category-Cs-tests: Likewise.
6595         * modules/unictype/category-L-tests: Likewise.
6596         * modules/unictype/category-Ll-tests: Likewise.
6597         * modules/unictype/category-Lm-tests: Likewise.
6598         * modules/unictype/category-Lo-tests: Likewise.
6599         * modules/unictype/category-Lt-tests: Likewise.
6600         * modules/unictype/category-Lu-tests: Likewise.
6601         * modules/unictype/category-M-tests: Likewise.
6602         * modules/unictype/category-Mc-tests: Likewise.
6603         * modules/unictype/category-Me-tests: Likewise.
6604         * modules/unictype/category-Mn-tests: Likewise.
6605         * modules/unictype/category-N-tests: Likewise.
6606         * modules/unictype/category-Nd-tests: Likewise.
6607         * modules/unictype/category-Nl-tests: Likewise.
6608         * modules/unictype/category-No-tests: Likewise.
6609         * modules/unictype/category-P-tests: Likewise.
6610         * modules/unictype/category-Pc-tests: Likewise.
6611         * modules/unictype/category-Pd-tests: Likewise.
6612         * modules/unictype/category-Pe-tests: Likewise.
6613         * modules/unictype/category-Pf-tests: Likewise.
6614         * modules/unictype/category-Pi-tests: Likewise.
6615         * modules/unictype/category-Po-tests: Likewise.
6616         * modules/unictype/category-Ps-tests: Likewise.
6617         * modules/unictype/category-S-tests: Likewise.
6618         * modules/unictype/category-Sc-tests: Likewise.
6619         * modules/unictype/category-Sk-tests: Likewise.
6620         * modules/unictype/category-Sm-tests: Likewise.
6621         * modules/unictype/category-So-tests: Likewise.
6622         * modules/unictype/category-Z-tests: Likewise.
6623         * modules/unictype/category-Zl-tests: Likewise.
6624         * modules/unictype/category-Zp-tests: Likewise.
6625         * modules/unictype/category-Zs-tests: Likewise.
6626         * modules/unictype/category-and-not-tests: Likewise.
6627         * modules/unictype/category-and-tests: Likewise.
6628         * modules/unictype/category-byname-tests: Likewise.
6629         * modules/unictype/category-name-tests: Likewise.
6630         * modules/unictype/category-none-tests: Likewise.
6631         * modules/unictype/category-of-tests: Likewise.
6632         * modules/unictype/category-or-tests: Likewise.
6633         * modules/unictype/category-test-withtable-tests: Likewise.
6634         * modules/unictype/combining-class-tests: Likewise.
6635         * modules/unictype/ctype-alnum-tests: Likewise.
6636         * modules/unictype/ctype-alpha-tests: Likewise.
6637         * modules/unictype/ctype-blank-tests: Likewise.
6638         * modules/unictype/ctype-cntrl-tests: Likewise.
6639         * modules/unictype/ctype-digit-tests: Likewise.
6640         * modules/unictype/ctype-graph-tests: Likewise.
6641         * modules/unictype/ctype-lower-tests: Likewise.
6642         * modules/unictype/ctype-print-tests: Likewise.
6643         * modules/unictype/ctype-punct-tests: Likewise.
6644         * modules/unictype/ctype-space-tests: Likewise.
6645         * modules/unictype/ctype-upper-tests: Likewise.
6646         * modules/unictype/ctype-xdigit-tests: Likewise.
6647         * modules/unictype/decimal-digit-tests: Likewise.
6648         * modules/unictype/digit-tests: Likewise.
6649         * modules/unictype/mirror-tests: Likewise.
6650         * modules/unictype/numeric-tests: Likewise.
6651         * modules/unictype/property-alphabetic-tests: Likewise.
6652         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
6653         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
6654         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
6655         * modules/unictype/property-bidi-block-separator-tests: Likewise.
6656         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
6657         * modules/unictype/property-bidi-common-separator-tests: Likewise.
6658         * modules/unictype/property-bidi-control-tests: Likewise.
6659         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
6660         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
6661         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
6662         * modules/unictype/property-bidi-european-digit-tests: Likewise.
6663         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
6664         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
6665         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
6666         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
6667         * modules/unictype/property-bidi-pdf-tests: Likewise.
6668         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
6669         * modules/unictype/property-bidi-whitespace-tests: Likewise.
6670         * modules/unictype/property-byname-tests: Likewise.
6671         * modules/unictype/property-combining-tests: Likewise.
6672         * modules/unictype/property-composite-tests: Likewise.
6673         * modules/unictype/property-currency-symbol-tests: Likewise.
6674         * modules/unictype/property-dash-tests: Likewise.
6675         * modules/unictype/property-decimal-digit-tests: Likewise.
6676         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
6677         * modules/unictype/property-deprecated-tests: Likewise.
6678         * modules/unictype/property-diacritic-tests: Likewise.
6679         * modules/unictype/property-extender-tests: Likewise.
6680         * modules/unictype/property-format-control-tests: Likewise.
6681         * modules/unictype/property-grapheme-base-tests: Likewise.
6682         * modules/unictype/property-grapheme-extend-tests: Likewise.
6683         * modules/unictype/property-grapheme-link-tests: Likewise.
6684         * modules/unictype/property-hex-digit-tests: Likewise.
6685         * modules/unictype/property-hyphen-tests: Likewise.
6686         * modules/unictype/property-id-continue-tests: Likewise.
6687         * modules/unictype/property-id-start-tests: Likewise.
6688         * modules/unictype/property-ideographic-tests: Likewise.
6689         * modules/unictype/property-ids-binary-operator-tests: Likewise.
6690         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
6691         * modules/unictype/property-ignorable-control-tests: Likewise.
6692         * modules/unictype/property-iso-control-tests: Likewise.
6693         * modules/unictype/property-join-control-tests: Likewise.
6694         * modules/unictype/property-left-of-pair-tests: Likewise.
6695         * modules/unictype/property-line-separator-tests: Likewise.
6696         * modules/unictype/property-logical-order-exception-tests: Likewise.
6697         * modules/unictype/property-lowercase-tests: Likewise.
6698         * modules/unictype/property-math-tests: Likewise.
6699         * modules/unictype/property-non-break-tests: Likewise.
6700         * modules/unictype/property-not-a-character-tests: Likewise.
6701         * modules/unictype/property-numeric-tests: Likewise.
6702         * modules/unictype/property-other-alphabetic-tests: Likewise.
6703         * modules/unictype/property-other-default-ignorable-code-point-tests:
6704         Likewise.
6705         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
6706         * modules/unictype/property-other-id-continue-tests: Likewise.
6707         * modules/unictype/property-other-id-start-tests: Likewise.
6708         * modules/unictype/property-other-lowercase-tests: Likewise.
6709         * modules/unictype/property-other-math-tests: Likewise.
6710         * modules/unictype/property-other-uppercase-tests: Likewise.
6711         * modules/unictype/property-paired-punctuation-tests: Likewise.
6712         * modules/unictype/property-paragraph-separator-tests: Likewise.
6713         * modules/unictype/property-pattern-syntax-tests: Likewise.
6714         * modules/unictype/property-pattern-white-space-tests: Likewise.
6715         * modules/unictype/property-private-use-tests: Likewise.
6716         * modules/unictype/property-punctuation-tests: Likewise.
6717         * modules/unictype/property-quotation-mark-tests: Likewise.
6718         * modules/unictype/property-radical-tests: Likewise.
6719         * modules/unictype/property-sentence-terminal-tests: Likewise.
6720         * modules/unictype/property-soft-dotted-tests: Likewise.
6721         * modules/unictype/property-space-tests: Likewise.
6722         * modules/unictype/property-terminal-punctuation-tests: Likewise.
6723         * modules/unictype/property-test-tests: Likewise.
6724         * modules/unictype/property-titlecase-tests: Likewise.
6725         * modules/unictype/property-unassigned-code-value-tests: Likewise.
6726         * modules/unictype/property-unified-ideograph-tests: Likewise.
6727         * modules/unictype/property-uppercase-tests: Likewise.
6728         * modules/unictype/property-variation-selector-tests: Likewise.
6729         * modules/unictype/property-white-space-tests: Likewise.
6730         * modules/unictype/property-xid-continue-tests: Likewise.
6731         * modules/unictype/property-xid-start-tests: Likewise.
6732         * modules/unictype/property-zero-width-tests: Likewise.
6733         * modules/unictype/scripts-tests: Likewise.
6734         * modules/unictype/syntax-c-ident-tests: Likewise.
6735         * modules/unictype/syntax-c-whitespace-tests: Likewise.
6736         * modules/unictype/syntax-java-ident-tests: Likewise.
6737         * modules/unictype/syntax-java-whitespace-tests: Likewise.
6738         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
6739         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
6740         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
6741         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
6742         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
6743         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
6744         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
6745         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
6746         * modules/uniname/uniname-tests: Likewise.
6747         * modules/uninorm/canonical-decomposition-tests: Likewise.
6748         * modules/uninorm/compat-decomposition-tests: Likewise.
6749         * modules/uninorm/composition-tests: Likewise.
6750         * modules/uninorm/decomposing-form-tests: Likewise.
6751         * modules/uninorm/decomposition-tests: Likewise.
6752         * modules/uninorm/filter-tests: Likewise.
6753         * modules/uninorm/nfc-tests: Likewise.
6754         * modules/uninorm/nfd-tests: Likewise.
6755         * modules/uninorm/nfkc-tests: Likewise.
6756         * modules/uninorm/nfkd-tests: Likewise.
6757         * modules/uninorm/u8-normcmp-tests: Likewise.
6758         * modules/uninorm/u8-normcoll-tests: Likewise.
6759         * modules/uninorm/u16-normcmp-tests: Likewise.
6760         * modules/uninorm/u16-normcoll-tests: Likewise.
6761         * modules/uninorm/u32-normcmp-tests: Likewise.
6762         * modules/uninorm/u32-normcoll-tests: Likewise.
6763         * modules/unistdio/u8-asnprintf-tests: Likewise.
6764         * modules/unistdio/u8-vasnprintf-tests: Likewise.
6765         * modules/unistdio/u8-vasprintf-tests: Likewise.
6766         * modules/unistdio/u8-vsnprintf-tests: Likewise.
6767         * modules/unistdio/u8-vsprintf-tests: Likewise.
6768         * modules/unistdio/u16-asnprintf-tests: Likewise.
6769         * modules/unistdio/u16-vasnprintf-tests: Likewise.
6770         * modules/unistdio/u16-vasprintf-tests: Likewise.
6771         * modules/unistdio/u16-vsnprintf-tests: Likewise.
6772         * modules/unistdio/u16-vsprintf-tests: Likewise.
6773         * modules/unistdio/u32-asnprintf-tests: Likewise.
6774         * modules/unistdio/u32-vasnprintf-tests: Likewise.
6775         * modules/unistdio/u32-vasprintf-tests: Likewise.
6776         * modules/unistdio/u32-vsnprintf-tests: Likewise.
6777         * modules/unistdio/u32-vsprintf-tests: Likewise.
6778         * modules/unistdio/ulc-asnprintf-tests: Likewise.
6779         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
6780         * modules/unistdio/ulc-vasprintf-tests: Likewise.
6781         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
6782         * modules/unistdio/ulc-vsprintf-tests: Likewise.
6783         * modules/unistr/u8-check-tests: Likewise.
6784         * modules/unistr/u8-chr-tests: Likewise.
6785         * modules/unistr/u8-cmp-tests: Likewise.
6786         * modules/unistr/u8-cmp2-tests: Likewise.
6787         * modules/unistr/u8-cpy-alloc-tests: Likewise.
6788         * modules/unistr/u8-cpy-tests: Likewise.
6789         * modules/unistr/u8-mblen-tests: Likewise.
6790         * modules/unistr/u8-mbsnlen-tests: Likewise.
6791         * modules/unistr/u8-mbtouc-tests: Likewise.
6792         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
6793         * modules/unistr/u8-mbtoucr-tests: Likewise.
6794         * modules/unistr/u8-move-tests: Likewise.
6795         * modules/unistr/u8-next-tests: Likewise.
6796         * modules/unistr/u8-prev-tests: Likewise.
6797         * modules/unistr/u8-set-tests: Likewise.
6798         * modules/unistr/u8-stpcpy-tests: Likewise.
6799         * modules/unistr/u8-stpncpy-tests: Likewise.
6800         * modules/unistr/u8-strcat-tests: Likewise.
6801         * modules/unistr/u8-strcmp-tests: Likewise.
6802         * modules/unistr/u8-strcoll-tests: Likewise.
6803         * modules/unistr/u8-strcpy-tests: Likewise.
6804         * modules/unistr/u8-strdup-tests: Likewise.
6805         * modules/unistr/u8-strlen-tests: Likewise.
6806         * modules/unistr/u8-strmblen-tests: Likewise.
6807         * modules/unistr/u8-strmbtouc-tests: Likewise.
6808         * modules/unistr/u8-strncat-tests: Likewise.
6809         * modules/unistr/u8-strncmp-tests: Likewise.
6810         * modules/unistr/u8-strncpy-tests: Likewise.
6811         * modules/unistr/u8-strnlen-tests: Likewise.
6812         * modules/unistr/u8-to-u16-tests: Likewise.
6813         * modules/unistr/u8-to-u32-tests: Likewise.
6814         * modules/unistr/u8-uctomb-tests: Likewise.
6815         * modules/unistr/u16-check-tests: Likewise.
6816         * modules/unistr/u16-chr-tests: Likewise.
6817         * modules/unistr/u16-cmp-tests: Likewise.
6818         * modules/unistr/u16-cmp2-tests: Likewise.
6819         * modules/unistr/u16-cpy-alloc-tests: Likewise.
6820         * modules/unistr/u16-cpy-tests: Likewise.
6821         * modules/unistr/u16-mblen-tests: Likewise.
6822         * modules/unistr/u16-mbsnlen-tests: Likewise.
6823         * modules/unistr/u16-mbtouc-tests: Likewise.
6824         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
6825         * modules/unistr/u16-mbtoucr-tests: Likewise.
6826         * modules/unistr/u16-move-tests: Likewise.
6827         * modules/unistr/u16-next-tests: Likewise.
6828         * modules/unistr/u16-prev-tests: Likewise.
6829         * modules/unistr/u16-set-tests: Likewise.
6830         * modules/unistr/u16-stpcpy-tests: Likewise.
6831         * modules/unistr/u16-stpncpy-tests: Likewise.
6832         * modules/unistr/u16-strcat-tests: Likewise.
6833         * modules/unistr/u16-strcmp-tests: Likewise.
6834         * modules/unistr/u16-strcoll-tests: Likewise.
6835         * modules/unistr/u16-strcpy-tests: Likewise.
6836         * modules/unistr/u16-strdup-tests: Likewise.
6837         * modules/unistr/u16-strlen-tests: Likewise.
6838         * modules/unistr/u16-strmblen-tests: Likewise.
6839         * modules/unistr/u16-strmbtouc-tests: Likewise.
6840         * modules/unistr/u16-strncat-tests: Likewise.
6841         * modules/unistr/u16-strncmp-tests: Likewise.
6842         * modules/unistr/u16-strncpy-tests: Likewise.
6843         * modules/unistr/u16-strnlen-tests: Likewise.
6844         * modules/unistr/u16-to-u32-tests: Likewise.
6845         * modules/unistr/u16-to-u8-tests: Likewise.
6846         * modules/unistr/u16-uctomb-tests: Likewise.
6847         * modules/unistr/u32-check-tests: Likewise.
6848         * modules/unistr/u32-chr-tests: Likewise.
6849         * modules/unistr/u32-cmp-tests: Likewise.
6850         * modules/unistr/u32-cmp2-tests: Likewise.
6851         * modules/unistr/u32-cpy-alloc-tests: Likewise.
6852         * modules/unistr/u32-cpy-tests: Likewise.
6853         * modules/unistr/u32-mblen-tests: Likewise.
6854         * modules/unistr/u32-mbsnlen-tests: Likewise.
6855         * modules/unistr/u32-mbtouc-tests: Likewise.
6856         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
6857         * modules/unistr/u32-mbtoucr-tests: Likewise.
6858         * modules/unistr/u32-move-tests: Likewise.
6859         * modules/unistr/u32-next-tests: Likewise.
6860         * modules/unistr/u32-prev-tests: Likewise.
6861         * modules/unistr/u32-set-tests: Likewise.
6862         * modules/unistr/u32-stpcpy-tests: Likewise.
6863         * modules/unistr/u32-stpncpy-tests: Likewise.
6864         * modules/unistr/u32-strcat-tests: Likewise.
6865         * modules/unistr/u32-strcmp-tests: Likewise.
6866         * modules/unistr/u32-strcoll-tests: Likewise.
6867         * modules/unistr/u32-strcpy-tests: Likewise.
6868         * modules/unistr/u32-strdup-tests: Likewise.
6869         * modules/unistr/u32-strlen-tests: Likewise.
6870         * modules/unistr/u32-strmblen-tests: Likewise.
6871         * modules/unistr/u32-strmbtouc-tests: Likewise.
6872         * modules/unistr/u32-strncat-tests: Likewise.
6873         * modules/unistr/u32-strncmp-tests: Likewise.
6874         * modules/unistr/u32-strncpy-tests: Likewise.
6875         * modules/unistr/u32-strnlen-tests: Likewise.
6876         * modules/unistr/u32-to-u16-tests: Likewise.
6877         * modules/unistr/u32-to-u8-tests: Likewise.
6878         * modules/unistr/u32-uctomb-tests: Likewise.
6879         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
6880         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
6881         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
6882         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
6883         * modules/uniwidth/u8-strwidth-tests: Likewise.
6884         * modules/uniwidth/u8-width-tests: Likewise.
6885         * modules/uniwidth/u16-strwidth-tests: Likewise.
6886         * modules/uniwidth/u16-width-tests: Likewise.
6887         * modules/uniwidth/u32-strwidth-tests: Likewise.
6888         * modules/uniwidth/u32-width-tests: Likewise.
6889         * modules/uniwidth/width-tests: Likewise.
6890
6891 2010-05-18  Richard Jones  <rjones@redhat.com>
6892
6893         doc: users.txt: list hivex
6894         * users.txt: Add hivex.
6895
6896 2010-05-18  Richard Jones  <rjones@redhat.com>
6897
6898         doc: users.txt: list febootstrap
6899         * users.txt: Add febootstrap.
6900
6901 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
6902
6903         bootstrap: fix an error when gnulib is not used as a git submodule
6904         * build-aux/bootstrap (gnulib_path): If its length is zero then
6905         assign "gnulib" to it.
6906         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
6907
6908 2010-05-16  Bruno Haible  <bruno@clisp.org>
6909
6910         Avoid autoconf warnings about AM_ICONV.
6911         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
6912         2.64.
6913
6914 2010-05-16  Bruno Haible  <bruno@clisp.org>
6915
6916         absolute-header: Make the macro usable in more situations.
6917         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
6918         from gl_ABSOLUTE_HEADER.
6919         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
6920
6921 2010-05-16  James Youngman  <jay@gnu.org>
6922
6923         doc: update users.txt
6924         * users.txt: Add CSSC.
6925
6926 2010-05-16  Jim Meyering  <meyering@redhat.com>
6927
6928         init.sh: fix an error in the previous change; add more comments
6929         * tests/init.sh: Compare exit code in loop against 9, not 2.
6930         Patch by Bruno Haible.
6931         Make the two tests more similar by adding an empty "then" clause.
6932         Add comments.
6933
6934         init.sh: avoid unnecessary shell re-exec
6935         * tests/init.sh: Improve the re-exec-required check to first test the
6936         current shell.  If it passes the test, do not search for a shell that
6937         does pass, and do not re-exec.  This test is particularly contorted to
6938         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
6939         of $(...) evokes a syntax error and causes immediate shell exit with
6940         status 2.  Bruno Haible reported that the re-exec made it impossible
6941         to single-step through any init.sh-using script.
6942
6943 2010-05-16  Bruno Haible  <bruno@clisp.org>
6944
6945         Fix collision between gnulib's and libintl's printf replacements.
6946         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
6947         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
6948         (printf): When using GNU C, map the __printf__ function to rpl_printf
6949         via __asm__. When not using GNU C, define rpl_printf instead of
6950         __printf__.
6951         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
6952         commit.
6953         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
6954         commit.
6955         * m4/asm-underscore.m4: New file.
6956         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
6957         * modules/stdio (Files): Add m4/asm-underscore.m4.
6958         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
6959         Reported by Ben Pfaff.
6960
6961 2010-05-16  Bruno Haible  <bruno@clisp.org>
6962
6963         verify: Avoid skipping the test on openSUSE 11.0.
6964         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
6965
6966 2010-05-13  Bruno Haible  <bruno@clisp.org>
6967
6968         Avoid useless warnings from G++.
6969         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
6970         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
6971         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
6972
6973 2010-05-11  Jim Meyering  <meyering@redhat.com>
6974
6975         maint.mk: tweak preceding change
6976         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
6977         regexps tighter by anchoring at EOL, and make the new group "shy"
6978         for slightly decreased overhead.
6979
6980 2010-05-11  Eric Blake  <eblake@redhat.com>
6981
6982         maint.mk: gnulib doesn't guarantee NSIG
6983         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
6984
6985 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
6986
6987         test-pwrite.c: Remove unused variable declaration.
6988         * tests/test-pwrite.c (main): Remove read_buf declaration.
6989
6990         Remove useless test-pwrite.sh file.
6991         * tests/test-pwrite.sh: Delete file.
6992         * modules/pwrite-tests: Remove references.
6993         Reported by Bruno Haible.
6994
6995 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
6996
6997         init.sh: fix a typo
6998         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
6999
7000 2010-05-10  Jim Meyering  <meyering@redhat.com>
7001
7002         maint.mk: avoid using a temporary file in the always-defined-macros check
7003         * top/maint.mk (.re-defmac): Remove rule.
7004         (gl_trap_): Remove definition.
7005         (sc_prohibit_always-defined_macros): Rewrite not to create and
7006         depend on a temporary file.  Instead, depend on GNU grep's ability
7007         to read a list of regular expressions from stdin when given "-f -".
7008
7009 2010-05-09  Bruno Haible  <bruno@clisp.org>
7010
7011         Update to GNU gettext 0.18, part 1.
7012         * m4/gettext.m4: Update to GNU gettext 0.18.
7013         * m4/intl.m4: Likewise.
7014         * m4/po.m4: Likewise.
7015         * modules/gettext (Files): Add m4/fcntl-o.m4.
7016         (configure.ac): Require gettext infrastructure from version 0.18.
7017
7018 2010-05-09  Jim Meyering  <meyering@redhat.com>
7019
7020         init.sh: enable MALLOC_PERTURB_
7021         * tests/init.sh: Enable glibc's malloc-perturbing option.
7022
7023         maint.mk: improve sc_cross_check_PATH_usage_in_tests
7024         With my recent change in init.sh from the two-line form:
7025             -#   : ${srcdir=.}
7026             -#   . "$srcdir/init.sh"; path_prepend_ .
7027             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
7028         I noticed that using the one-line form would cause this test
7029         to fail with a false-positive, or to stop working altogether,
7030         depending on whether help-version changed or all the tests did.
7031         * top/maint.mk (_hv_regex): Remove this definition.
7032         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
7033         (_hv_regex_strong): Use a stronger regex to check for conformance.
7034         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
7035         Give a separate diagnostic for lack of conforming use.
7036
7037         maint.mk: prohibit definition of symbols defined by gnulib
7038         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
7039         definition of symbols defined by gnulib.
7040
7041 2010-05-09  Bruno Haible  <bruno@clisp.org>
7042
7043         acl: Avoid test failure on Cygwin-hosted mingw.
7044         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
7045
7046 2010-05-09  Bruno Haible  <bruno@clisp.org>
7047
7048         error: Use system's fcntl function.
7049         * lib/error.c (fcntl): Undefine.
7050
7051 2010-05-09  Jim Meyering  <meyering@redhat.com>
7052
7053         verify: adjust formatting to be more consistent
7054         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
7055         argument-list '('s, and after one comma.
7056
7057 2010-05-09  Bruno Haible  <bruno@clisp.org>
7058
7059         error: More reliable output on mingw.
7060         * lib/error.c: Include <windows.h>.
7061         (is_open): New function.
7062         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
7063         defined.
7064
7065 2010-05-09  Bruno Haible  <bruno@clisp.org>
7066
7067         vasnprintf: Fix syntax errors in libintl build on mingw.
7068         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
7069         pad_ourselves and prec_ourselves after use.
7070
7071 2010-05-08  Bruno Haible  <bruno@clisp.org>
7072
7073         * lib/config.charset: Update comments for Cygwin 1.7.
7074         * lib/localcharset.c: Likewise.
7075
7076 2010-05-07  Jim Meyering  <meyering@redhat.com>
7077
7078         init.sh: improve comments
7079         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
7080         . "${srcdir=.}/init.sh"; path_prepend_ .
7081         Add a note about path_prepend_ and the alternative of using
7082         TESTS_ENVIRONMENT.
7083
7084 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
7085
7086         exclude: Unescape hashed patterns in wildcard mode.
7087         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
7088         to the hash list.
7089         * tests/test-exclude8.sh: New test case.
7090         * modules/exclude-tests: Add new test.
7091
7092 2010-05-05  Eric Blake  <eblake@redhat.com>
7093
7094         verify: automate tests
7095         * modules/verify-tests: New module.
7096         * tests/test-verify.sh: New file.
7097         * tests/test-verify.c: Guard each negative test with a unique id.
7098         Also avoid warning about unused left hand of comma expressions.
7099
7100 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
7101
7102         Further improvements to verify.h, suggested by Eric Blake.
7103         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
7104         the GL_* versions, to avoid collision with OpenGL.
7105         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
7106         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
7107         than testing merely whether it's defined.
7108
7109         Modify verify.h to pacify gcc -Wredundant_decls.
7110         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
7111         These use the prefix "GL_" since they're likely to be useful elsewhere.
7112         We may need to break them out into a different .h file.
7113         (__COUNTER__): Define to 0 if the compiler doesn't support it.
7114         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
7115         of verify_function__.
7116
7117 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
7118
7119         Tests for module pwrite.
7120         * modules/pwrite-tests: New file.
7121         * tests/test-pwrite.sh: New file.
7122         * tests/test-pwrite.c: New file.
7123
7124         New module pwrite.
7125         * lib/unistd.in.h (pwrite): New declaration.
7126         * lib/pwrite.c: New file, from glibc with modifications.
7127         * m4/pwrite.m4: New file.
7128         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
7129         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
7130         REPLACE_PWRITE.
7131         * modules/pwrite: New file.
7132         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
7133         REPLACE_PWRITE.
7134         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
7135         * doc/posix-functions/pwrite.texi: Mention the new module.
7136
7137 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
7138
7139         pread: Update documentation.
7140         * doc/posix-functions/pread.texi: Mention the 'pread' module.
7141
7142 2010-05-04  Eric Blake  <eblake@redhat.com>
7143
7144         docs: update cygwin progress
7145         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
7146         this bug.
7147         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
7148         Added in cygwin 1.7.2.
7149         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
7150         Likewise.
7151         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
7152         Likewise.
7153         * doc/glibc-functions/dup3.texi (dup3): Likewise.
7154         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
7155         * doc/glibc-functions/accept4.texi (accept4): Likewise.
7156         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
7157         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
7158         Mention nproc module.
7159         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
7160         bug in cygwin 1.7.5 addition.
7161         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
7162         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
7163         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
7164         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
7165         1.7.5.
7166         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
7167         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
7168         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
7169         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
7170         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
7171         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
7172         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
7173         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
7174         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
7175         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
7176         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
7177         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
7178         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
7179         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
7180         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
7181         Likewise.
7182         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
7183         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
7184         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
7185         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
7186         Likewise.
7187         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
7188         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
7189         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
7190         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
7191         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
7192         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
7193         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
7194         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
7195         Likewise.
7196         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
7197         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
7198         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
7199         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
7200         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
7201         Likewise.
7202         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
7203         Likewise.
7204         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
7205         Likewise.
7206         * doc/glibc-functions/xdrrec_endofrecord.texi
7207         (xdrrec_endofrecord): Likewise.
7208         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
7209         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
7210         Likewise.
7211         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
7212         Likewise.
7213
7214 2010-05-04  Jim Meyering  <meyering@redhat.com>
7215
7216         gendocs.sh: make its "-s FILE" option more useful
7217         * build-aux/gendocs.sh: When honoring the -s FILE option, update
7218         $PACKAGE to reflect the probably-different basename of "FILE".
7219
7220 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
7221
7222         bootstrap: don't ignore download_po_files failure
7223         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
7224         failure.
7225
7226 2010-05-03  Jim Meyering  <meyering@redhat.com>
7227
7228         maint.mk: allow to pass options to gendocs.sh
7229         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
7230         (gendocs_options_): New overridable variable.
7231
7232         gnu-web-doc-update: don't ignore configure or build failure
7233         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
7234
7235         announce-gen: backslash-escape '@'s in --help output
7236         * build-aux/announce-gen: Fix syntax errors.
7237
7238         maint.mk, announce-gen: allow project-specific announcement mail headers
7239         * top/maint.mk (translation_project_): Define default.
7240         (announcement_Cc_, announcement_mail_headers_): Likewise.
7241         (announcement): Invoke announce-gen with new --mail-headers option.
7242         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
7243
7244         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
7245         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
7246         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
7247         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
7248         line in the "err2" output file when running "make check" in verbose
7249         mode (i.e., with set -x enabled).
7250
7251 2010-05-03  Bruno Haible  <bruno@clisp.org>
7252
7253         wctob: Fix for weird platforms.
7254         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
7255         argument value.
7256
7257 2010-05-03  Jim Meyering  <meyering@redhat.com>
7258
7259         maint.mk: prohibit unwarranted use of <strings.h>
7260         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
7261         strings.h in a file that does not also use strcasecmp, strncasecmp,
7262         ffs or ffsll.
7263
7264         maint.mk: remove obsolete comments
7265         * top/maint.mk: Remove stale, commented-out rules.
7266
7267 2010-05-02  Bruno Haible  <bruno@clisp.org>
7268
7269         wcwidth: Declare also when it's aliased.
7270         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
7271         macro.
7272
7273 2010-05-02  Bruno Haible  <bruno@clisp.org>
7274
7275         Fix regression from 2010-04-25.
7276         * gnulib-tool (func_modules_transitive_closure): Check the status of
7277         all modules, not only of the tests that are of the form foo-tests where
7278         foo is a module.
7279
7280 2010-05-02  Bruno Haible  <bruno@clisp.org>
7281
7282         wctob: Work around nasty Cygwin 1.7.2 bug.
7283         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
7284         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
7285
7286 2010-05-01  Bruno Haible  <bruno@clisp.org>
7287
7288         fpurge: Sharper test.
7289         * tests/test-fpurge.c (main): Add one more ftell check.
7290         * modules/fpurge-tests (Depends-on): Add ftell.
7291         Suggested by Eric Blake.
7292
7293 2010-05-01  Bruno Haible  <bruno@clisp.org>
7294
7295         ftello: Another test.
7296         * tests/test-ftello3.c: New file.
7297         * modules/ftello-tests (Files): Add it.
7298         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
7299         MOSTLYCLEANFILES.
7300
7301         ftell: Another test.
7302         * tests/test-ftell3.c: New file.
7303         * modules/ftell-tests (Files): Add it.
7304         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
7305         MOSTLYCLEANFILES.
7306
7307 2010-05-01  Bruno Haible  <bruno@clisp.org>
7308
7309         ftell, ftello: Work around Solaris bug.
7310         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
7311         * lib/ftello.c: Include stdio-impl.h.
7312         (ftello): On Solaris, when _IOWRT is set, compute the result without
7313         looking at _IOREAD.
7314         * modules/ftello (Files): Add lib/stdio-impl.h.
7315         * doc/posix-functions/ftell.texi: Mention Solaris bug.
7316         * doc/posix-functions/ftello.texi: Likewise.
7317         Reported by Eric Blake.
7318
7319 2010-05-01  Bruno Haible  <bruno@clisp.org>
7320
7321         freading: Adapt to special meaning of _IOREAD flag on Solaris.
7322         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
7323         the _IOWRT flag is also set.
7324
7325 2010-05-01  Bruno Haible  <bruno@clisp.org>
7326
7327         Fix doc about a HP-UX stdio bug.
7328         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
7329         * doc/posix-functions/ftello.texi: Likewise.
7330
7331 2010-05-01  Bruno Haible  <bruno@clisp.org>
7332
7333         lseek test: Fix failure on Solaris.
7334         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
7335         output.
7336
7337 2010-04-30  Jim Meyering  <meyering@redhat.com>
7338
7339         bootstrap: don't ignore failure to generate po*/Makevars
7340         * build-aux/bootstrap (with_gettext): Don't ignore failure
7341         to create po/Makevars or runtime-po/Makevars.
7342
7343 2010-04-29  Eric Blake  <eblake@redhat.com>
7344
7345         headers: relax license to LGPLv2+
7346         * modules/fcntl-h (License): Relax license.
7347         * modules/getopt-posix (License): Likewise.
7348         * modules/locale (License): Likewise.
7349         * modules/math (License): Likewise.
7350         * modules/pty (License): Likewise.
7351         * modules/sched (License): Likewise.
7352         * modules/search (License): Likewise.
7353         * modules/spawn (License): Likewise.
7354         * modules/stdarg (License): Likewise.
7355         * modules/sysexits (License): Likewise.
7356
7357 2010-04-29  Jim Meyering  <meyering@redhat.com>
7358
7359         inttypes: relax license to LGPLv2+
7360         * modules/inttypes (License): Relax license.
7361
7362 2010-04-29  Simon Josefsson  <simon@josefsson.org>
7363
7364         * top/maint.mk (indent): Run twice to produce idempotent results.
7365
7366 2010-04-28  Bruno Haible  <bruno@clisp.org>
7367
7368         getdate: Generate getdate.c in the source directory.
7369         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
7370         MOSTLYCLEANFILES.
7371         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
7372
7373 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
7374
7375         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
7376         is not declared as a const *; avoid warnings in that case.
7377
7378 2010-04-28  Eric Blake  <eblake@redhat.com>
7379
7380         canonicalize-lgpl: avoid compiler warning
7381         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
7382         declaration' / 'extraneous semicolon' warning with some compilers.
7383         Reported by Andreas Gruenbacher.
7384
7385 2010-04-28  Jim Meyering  <meyering@redhat.com>
7386
7387         init.sh: ensure a more reliable exit status when exiting via trap
7388         * tests/init.sh (setup_): Don't rely on $? in signal handler.
7389         Inspired by patches from Dmitry V. Levin.
7390         Also trap on signal 3 (SIGQUIT).
7391
7392 2010-04-27  Bruno Haible  <bruno@clisp.org>
7393
7394         Update doc about utimes().
7395         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
7396         'utimens' module.
7397         Reported by Andreas Gruenbacher <agruen@suse.de>.
7398
7399 2010-04-27  Eric Blake  <eblake@redhat.com>
7400
7401         full-read, full-write: relax license
7402         * modules/full-read (License): Drop to LGPLv2+.
7403         * modules/full-write (License): Likewise.
7404         * modules/safe-read (License): Likewise.
7405         * modules/safe-write (License): Likewise.
7406
7407         pthread: mention library for linking
7408         * modules/pthread (Link): Mention $(LIB_PTHREAD).
7409
7410 2010-04-27  Jim Meyering  <meyering@redhat.com>
7411
7412         maint.mk: fix a bug introduced in last change
7413         * top/maint.mk (gl_assured_headers_): Now that all names are on
7414         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
7415         is not anchored to end of word, it should be adequate.
7416
7417         maint.mk: avoid side-effect in latest syntax-check
7418         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
7419         to run commands via $(shell...), and hence to incur cost only when
7420         the new rule is actually run.
7421
7422         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
7423         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
7424         and use that to create a regexp used to detect all #if HAVE_..._H uses.
7425         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
7426         (gl_assured_headers_, az_, AZ_): Define.
7427         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
7428
7429 2010-04-26  Jim Meyering  <jim@meyering.net>
7430             Bruno Haible  <bruno@clisp.org>
7431
7432         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
7433         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
7434         Prompted by an exchange with Gilles Espinasse.
7435
7436 2010-04-26  Jim Meyering  <meyering@redhat.com>
7437
7438         git-version-gen: aesthetic tweak
7439         * build-aux/git-version-gen: Use "$nl" rather than a literal,
7440         so that the command remains on a single line.
7441
7442 2010-04-26  Eric Blake  <eblake@redhat.com>
7443
7444         git-version-gen: allow use on EBCDIC hosts
7445         * build-aux/git-version-gen (dirty): Use literal rather than tying
7446         ourselves to ascii.
7447         Reported by Steve Goetze.
7448
7449 2010-04-25  Bruno Haible  <bruno@clisp.org>
7450
7451         netdb: Add support for GNULIB_POSIXCHECK.
7452         * lib/netdb.in.h: Include warn-on-use.h.
7453         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
7454         functions are used when GNULIB_POSIXCHECK is defined and the
7455         getaddrinfo module is not in use.
7456         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
7457         freeaddrinfo, gai_strerror, getnameinfo are declared.
7458         * modules/netdb (Depends-on): Add warn-on-use.
7459         (Makefile.am): Include warn-on-use.h in netdb.h.
7460
7461 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
7462
7463         build: avoid "make check" failure without .git/ directory
7464         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
7465         there is no .git/ directory.
7466
7467 2010-04-25  Bruno Haible  <bruno@clisp.org>
7468
7469         ptsname: Fix misuse of ttyname_r.
7470         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
7471         of errno.
7472
7473 2010-04-25  Bruno Haible  <bruno@clisp.org>
7474
7475         ttyname_r: Make it work on Solaris 10.
7476         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
7477         if the system function has the POSIX declaration. Test whether the
7478         function fails if the buffer is less than 128 bytes large.
7479         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
7480         system's ttyname_r function. Provide a reasonably large buffer.
7481         * modules/ttyname_r (Depends-on): Add extensions.
7482         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
7483
7484 2010-04-25  Bruno Haible  <bruno@clisp.org>
7485
7486         Use the 'extensions' module for some more functions on Solaris.
7487         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
7488         module.
7489         * doc/posix-functions/ctime_r.texi: Likewise.
7490         * doc/posix-functions/getgrgid_r.texi: Likewise.
7491         * doc/posix-functions/getgrnam_r.texi: Likewise.
7492         * doc/posix-functions/getpwnam_r.texi: Likewise.
7493         * doc/posix-functions/getpwuid_r.texi: Likewise.
7494         * doc/posix-functions/readdir_r.texi: Likewise.
7495         * doc/posix-functions/sigwait.texi: Likewise.
7496         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
7497         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
7498
7499 2010-04-25  Bruno Haible  <bruno@clisp.org>
7500
7501         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
7502         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
7503         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
7504         * lib/ttyname_r.c: Include <limits.h>.
7505         (ttyname_r): Define using the system's ttyname_r function, if it exists
7506         and not on Solaris.
7507         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
7508         set.
7509         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
7510         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
7511         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
7512         Reported by Simon Josefsson.
7513
7514 2010-04-25  Bruno Haible  <bruno@clisp.org>
7515
7516         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
7517         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
7518         * doc/posix-functions/ctime_r.texi: Likewise.
7519         * doc/posix-functions/getgrgid_r.texi: Likewise.
7520         * doc/posix-functions/getgrnam_r.texi: Likewise.
7521         * doc/posix-functions/getlogin_r.texi: Likewise.
7522         * doc/posix-functions/getpwnam_r.texi: Likewise.
7523         * doc/posix-functions/getpwuid_r.texi: Likewise.
7524         * doc/posix-functions/readdir_r.texi: Likewise.
7525         * doc/posix-functions/sigwait.texi: Likewise.
7526         * doc/posix-functions/ttyname_r.texi: Likewise.
7527         Reported by Simon Josefsson.
7528
7529 2010-04-25  Bruno Haible  <bruno@clisp.org>
7530
7531         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
7532         * gnulib-tool (func_usage): Document that --with-*-tests options apply
7533         also to --create-testdir.
7534         (func_acceptable): Don't consider the status of *-tests modules here.
7535         (func_modules_transitive_closure): Consider it here, before including a
7536         test module.
7537         (func_import, func_create_testdir): Set inc_all_direct_tests,
7538         inc_all_indirect_tests.
7539         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
7540         --create-testdir and --create-megatestdir.
7541
7542 2010-04-25  Bruno Haible  <bruno@clisp.org>
7543
7544         gnulib-tool: Add --without-*-tests options.
7545         * gnulib-tool (func_usage): Document the --without-*-tests options.
7546         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
7547         excl_unportable_tests): New variables.
7548         Fail if they are specified with --import or --update.
7549         (func_acceptable): Respect the excl_*_tests variables.
7550         (func_import): Set the excl_*_tests variables to empty.
7551
7552 2010-04-25  Simon Josefsson  <simon@josefsson.org>
7553             Bruno Haible  <bruno@clisp.org>
7554
7555         Work around a MacOS X 10.4 bug with openpty.
7556         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
7557         * tests/test-openpty.c (main): Close the master side explicitly.
7558
7559 2010-04-25  Bruno Haible  <bruno@clisp.org>
7560
7561         strnlen: Fix a C++ test error on MacOS X and Solaris.
7562         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
7563         the function is not declared.
7564         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
7565         Simon Josefsson.
7566
7567 2010-04-24  Bruno Haible  <bruno@clisp.org>
7568
7569         Avoid a gcc warning.
7570         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
7571         of correct type for %08lx directive.
7572         Reported by Eric Blake.
7573
7574 2010-04-24  Bruno Haible  <bruno@clisp.org>
7575
7576         vasnprintf: Correct errno value in case of out-of-memory.
7577         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
7578         or sprintf. Use the errno value from SNPRINTF or sprintf.
7579         Reported by Ian Beckwith <ianb@erislabs.net>.
7580
7581 2010-04-24  Bruno Haible  <bruno@clisp.org>
7582
7583         ansi-c++-opt: Find correct compiler when cross-compiling.
7584         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
7585         AC_CHECK_PROGS.
7586         Reported by Simon Josefsson.
7587
7588 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
7589
7590         vc-list-files: Add support for subversion
7591         * build-aux/vc-list-files: Use "svn list" to generate the list of
7592         files controlled by subversion.
7593
7594 2010-04-23  Jim Meyering  <meyering@redhat.com>
7595
7596         vc-list-files tests: convert to use init.sh
7597         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
7598         path_prepend_.
7599         Use Exit, not exit.
7600         Use skip_ rather than open coding it.
7601         Remove trap set-up and compare definitions.
7602         * tests/test-vc-list-files-git.sh: Likewise.
7603         * modules/vc-list-files-tests (Files): Add tests/init.sh.
7604
7605 2010-04-22  Simon Josefsson  <simon@josefsson.org>
7606
7607         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
7608         backup files.
7609
7610 2010-04-21  Simon Josefsson  <simon@josefsson.org>
7611
7612         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
7613
7614 2010-04-20  Eric Blake  <eblake@redhat.com>
7615
7616         tests: be robust to ignored SIGPIPE
7617         * tests/test-select-in.sh: Consume all output.
7618         * tests/test-lseek.sh: Check correct exit status, while avoiding
7619         EPIPE.
7620
7621 2010-04-20  Simon Josefsson  <simon@josefsson.org>
7622             Bruno Haible  <bruno@clisp.org>
7623
7624         visibility: Don't use -fvisibility if it leads to a warning.
7625         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
7626         yes, don't pretend that visibility works if it leads to a warning.
7627         Reported by Mike Gran <spk121@yahoo.com>.
7628
7629 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
7630
7631         * build-aux/bootstrap: Use "git -h" for testing for supported options
7632         instead of "git --help".  The short-form option only shows a summary,
7633         and doesn't layout the full man page.  Grep for the full option name
7634         in the summary, too.
7635
7636 2010-04-19  Bruno Haible  <bruno@clisp.org>
7637
7638         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
7639         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
7640         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
7641         mention of RELOCATABLE_STRIP.
7642         Reported by Sylvain Beucler <beuc@beuc.net>.
7643
7644 2010-04-19  Bruno Haible  <bruno@clisp.org>
7645
7646         * lib/diffseq.h: Fix typo in comment.
7647         Reported by Eric Blake.
7648
7649 2010-04-19  Bruno Haible  <bruno@clisp.org>
7650
7651         ioctl: Move autoconf macro to a .m4 file.
7652         * m4/ioctl.m4: New file, extracted from modules/ioctl.
7653         * modules/ioctl (Files): Add it.
7654         (configure.ac): Simply invoke gl_FUNC_IOCTL.
7655         Reported by Ian Beckwith <ianb@erislabs.net>.
7656
7657 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
7658             Bruno Haible  <bruno@clisp.org>
7659
7660         diffseq: Accommodate use-case with abstract arrays.
7661         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
7662         is not defined.
7663         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
7664         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
7665
7666 2010-04-18  Bruno Haible  <bruno@clisp.org>
7667
7668         * doc/posix-headers/stdbool.texi: More precise wording.
7669
7670 2010-04-17  Jim Meyering  <meyering@redhat.com>
7671
7672         maint.mk: use gnu-style indentation in an embedded perl script
7673         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
7674         Rename variable: s/two/last_two_bytes/
7675
7676 2010-04-16  Eric Blake  <eblake@redhat.com>
7677
7678         test-stdbool: skip test that fails with Solaris CC
7679         * tests/test-stdbool.c (f): Skip test that causes compilation
7680         error under buggy C++ compiler.
7681         * lib/stdbool.in.h: Document the limitation.
7682         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
7683
7684         setenv: allow compilation with C++
7685         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
7686         register keyword.
7687
7688         stdint: allow test to pass with C++
7689         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
7690
7691         getopt: allow compilation with C++
7692         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
7693         struct.
7694         * lib/getopt.c (_getopt_internal_r): Use correct type.
7695         Reported by Dagobert Michelson, via Joel E. Denny.
7696
7697 2010-04-16  Bruno Haible  <bruno@clisp.org>
7698
7699         Override netdb.h always.
7700         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
7701         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
7702         Reported by Ludovic Courtès <ludo@gnu.org>.
7703
7704 2010-04-15  Bruno Haible  <bruno@clisp.org>
7705
7706         openpty: Fix mistake from 2010-03-21.
7707         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
7708         Reported by Simon Josefsson.
7709
7710 2010-04-15  Eric Blake  <eblake@redhat.com>
7711
7712         test-forkpty: fix expected signature
7713         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
7714         Reported by Simon Josefsson.
7715
7716 2010-04-15  Jim Meyering  <meyering@redhat.com>
7717
7718         maint.mk: texinfo_suffix_re_: correct the default regexp
7719         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
7720
7721         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
7722         make it configurable via texinfo_suffix_re_.
7723
7724 2010-04-14  Eric Blake  <eblake@redhat.com>
7725
7726         strtok_r: relax license to LGPLv2+
7727         * modules/strtok_r (License): Relax license.
7728         Reported by Matthias Bolte.
7729
7730 2010-04-14  Simon Josefsson  <simon@josefsson.org>
7731
7732         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
7733         version 1.4.4 by default instead of requiring the libgcrypt
7734         version used during build.  This makes it possible to use the
7735         application with older but still binary compatible libgcrypt
7736         versions.
7737
7738 2010-04-13  Eric Blake  <eblake@redhat.com>
7739
7740         getopt-gnu: match recent glibc fixes and posix ruling
7741         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
7742         '+' handling, when requesting extensions.
7743         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
7744         'W;' handling.
7745         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
7746         * doc/posix-functions/getopt.texi (getopt): Document this.
7747         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
7748         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7749         Likewise.
7750
7751         getopt: merge bug fixes from glibc
7752         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
7753         diagnostics.  Honor '+:' correctly.  Reject ';'.
7754
7755         getopt-posix: detect MacOS bug
7756         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
7757         optind when missing a required argument.
7758         * doc/posix-functions/getopt.texi (getopt): Document the bug.
7759         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
7760         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
7761         Likewise.
7762
7763         getopt-posix: avoid spurious failure on Solaris
7764         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
7765         an indicator that setting optind=1 is sufficient for reset.
7766
7767         getopt-posix: avoid spurious failure on FreeBSD
7768         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
7769         in POSIX mode, since the m4 test uses it.
7770
7771         gnulib-tool: silence warning on BSD sh
7772         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
7773
7774 2010-04-13  Jim Meyering  <meyering@redhat.com>
7775
7776         doc: users.txt: GNU patch now uses gnulib
7777         * users.txt: Add patch.
7778
7779 2010-04-12  Jim Meyering  <meyering@redhat.com>
7780
7781         maint.mk: generate more concise timing data for syntax-check rules
7782         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
7783         " done" from each line that reports a syntax-check test duration.
7784
7785 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
7786
7787         git-version-gen: use "git update-index..." rather than "git status"
7788         * build-aux/git-version-gen: Use git update-index --refresh, not
7789         "git status".  With some versions of git, "git status" would fail
7790         to update the index and result in an unwarranted "-dirty" suffix.
7791
7792 2010-04-11  Jim Meyering  <meyering@redhat.com>
7793
7794         openat: correct formatting (no semantic change)
7795         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
7796         Suggested by Bruno Haible.
7797
7798 2010-04-11  Bruno Haible  <bruno@clisp.org>
7799
7800         Stricter declaration checking in testdirs.
7801         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7802         If for_tests is true, augment AM_CPPFLAGS to define
7803         GNULIB_STRICT_CHECKING.
7804         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
7805         GNULIB_STRICT_CHECKING is defined, verify that the function is
7806         declared.
7807
7808 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
7809             Bruno Haible  <bruno@clisp.org>
7810
7811         libunistring: Improve configure output.
7812         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
7813         Don't say "consider installing GNU libunistring" when checking again
7814         with libiconv.
7815
7816 2010-04-11  Bruno Haible  <bruno@clisp.org>
7817
7818         libunistring: Correct value of $LTLIBUNISTRING.
7819         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
7820         correct the value of $LTLIBUNISTRING.
7821
7822 2010-04-11  Bruno Haible  <bruno@clisp.org>
7823
7824         havelib: Add static libraries to LIBS in the right order.
7825         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
7826         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
7827
7828 2010-04-11  Bruno Haible  <bruno@clisp.org>
7829
7830         libunistring: Detect libunistring also when it depends on libiconv.
7831         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
7832         the second AC_LIB_HAVE_LINKFLAGS invocation.
7833
7834 2010-04-11  James Youngman  <jay@gnu.org>
7835
7836         close-stream: declare local scalars to be "const"
7837         * lib/close-stream.c (close_stream): Make boolean variables const
7838         to document the fact that we set but do not change them.
7839
7840 2010-04-11  Bruno Haible  <bruno@clisp.org>
7841
7842         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
7843
7844 2010-04-11  Jim Meyering  <meyering@redhat.com>
7845
7846         maint.mk: don't include dist-check.mk
7847         * top/maint.mk: Remove bogus include directive.
7848
7849         maint.mk: improve empty-line-at-EOF check
7850         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
7851         solution, rather than tail+Perl-based one.  The latter would read
7852         a few kilobytes from the end of each file, and did not handle empty
7853         files properly.
7854
7855         maint.mk: print the elapsed time for each syntax-check rule
7856         * top/maint.mk (sc_m_rules_): Save start time in a file.
7857         (sc_z_rules_): New rules: remove temp file and print elapsed time.
7858         (local-check): Interpose the .z rules
7859
7860 2010-04-11  Jim Meyering  <meyering@redhat.com>
7861
7862         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
7863         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
7864         empty file with one that ends in an empty line.
7865
7866 2010-04-10  Bruno Haible  <bruno@clisp.org>
7867
7868         mkdir: Make it work on mingw64.
7869         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
7870         * lib/mkdir.c: Update comment.
7871         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
7872
7873 2010-04-10  Bruno Haible  <bruno@clisp.org>
7874
7875         Don't override improved macro from newer autoconf.
7876         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
7877         autoconf >= 2.62.
7878         Reported by Joel E. Denny <jdenny@clemson.edu>.
7879
7880 2010-04-10  Jim Meyering  <meyering@redhat.com>
7881
7882         maint.mk: new syntax-check rule: prohibit empty lines at end of file
7883         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
7884
7885         maint.mk: correct a diagnostic
7886         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
7887         in diagnostic; now use $prohibit.
7888
7889 2010-04-10  Bruno Haible  <address@hidden>
7890
7891         fchownat: Fix a C++ test error on Solaris 8.
7892         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
7893         the function does not exist.
7894
7895 2010-04-10  Bruno Haible  <bruno@clisp.org>
7896
7897         vasnprintf: Add more tests.
7898         * tests/test-vasnprintf-posix.c: Include <errno.h>.
7899         (test_function): Test converting an invalid wide string.
7900
7901         vasnprintf: Correct handling of unconvertible wide string arguments.
7902         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
7903         VASNPRINTF.
7904         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
7905         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
7906         smaller than the expected maximum need for the directive. Set errno to
7907         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
7908         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
7909         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
7910         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
7911         * modules/vasnprintf (Files): Add m4/printf.m4.
7912         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
7913
7914 2010-04-10  Bruno Haible  <bruno@clisp.org>
7915
7916         vasnprintf: Fix crash in %ls directive.
7917         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
7918         string is passed as argument to %ls, with no precision and no width.
7919         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
7920
7921 2010-04-10  Bruno Haible  <bruno@clisp.org>
7922
7923         vasnprintf: Fix multiple test failures on mingw.
7924         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
7925         _snprintf, or snwprintf, not _snwprintf.
7926
7927 2010-04-10  Bruno Haible  <bruno@clisp.org>
7928
7929         write: Fix a C++ test error on mingw.
7930         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
7931
7932 2010-04-10  Bruno Haible  <bruno@clisp.org>
7933
7934         vasnprintf test: Reduce code duplication.
7935         * tests/test-vasnprintf.c (test_function): New function, extracted from
7936         test_vasnprintf.
7937         (test_vasnprintf, test_asnprintf): Invoke it.
7938
7939 2010-04-10  Bruno Haible  <bruno@clisp.org>
7940
7941         strnlen: Fix warning in C++ mode on MacOS X.
7942         * lib/string.in.h (strnlen): Use the modern idiom.
7943         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
7944         defining strnlen as a macro already in <config.h>.
7945         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
7946         REPLACE_STRNLEN.
7947         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
7948         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
7949
7950 2010-04-08  James Youngman  <jay@gnu.org>
7951
7952         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
7953         the example.
7954
7955 2010-04-09  Jim Meyering  <meyering@redhat.com>
7956
7957         maint.mk: print better diagnostic when there is no $(_hv_file)
7958         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
7959         announce that when $(_hv_file) (aka help-version) does not exist.
7960
7961         init.sh: run tr in the "C" locale to avoid multibyte interpretation
7962         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
7963         not try to interpret its random input bytes.  Jarno Rajahalme reported
7964         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
7965         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
7966         (mktempd_): Likewise, just in case.
7967
7968         ftruncate: add two years to projected module removal date: 2012
7969         * m4/ftruncate.m4: Adjust comments.
7970
7971         ftruncate: mark module as obsolete; even MinGW provides it, now
7972         * modules/ftruncate (Status): Obsolete.
7973         (Notice): Say that.
7974         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
7975         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
7976
7977 2010-04-08  Bruno Haible  <bruno@clisp.org>
7978
7979         Fix side effects from tests-related modules.
7980         * modules/dprintf-posix (Comment): New section.
7981         * modules/fprintf-posix (Comment): Likewise.
7982         * modules/obstack-printf-posix (Comment): Likewise.
7983         * modules/printf-posix (Comment): Likewise.
7984         * modules/snprintf-posix (Comment): Likewise.
7985         * modules/sprintf-posix (Comment): Likewise.
7986         * modules/vasnprintf-posix (Comment): Likewise.
7987         * modules/vasprintf-posix (Comment): Likewise.
7988         * modules/vdprintf-posix (Comment): Likewise.
7989         * modules/vfprintf-posix (Comment): Likewise.
7990         * modules/vprintf-posix (Comment): Likewise.
7991         * modules/vsnprintf-posix (Comment): Likewise.
7992         * modules/vsprintf-posix (Comment): Likewise.
7993         * modules/xprintf-posix (Comment): Likewise.
7994         * modules/xvasprintf-posix (Comment): Likewise.
7995         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
7996         * modules/floorf-tests (Depends-on): Likewise.
7997         * modules/round-tests (Depends-on): Likewise.
7998         * modules/roundf-tests (Depends-on): Likewise.
7999         * modules/trunc-tests (Depends-on): Likewise.
8000         * modules/truncf-tests (Depends-on): Likewise.
8001         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
8002         'fprintf-posix' module is not present.
8003         * tests/test-floorf2.c (check): Likewise.
8004         * tests/test-trunc2.c (check): Likewise.
8005         * tests/test-truncf2.c (check): Likewise.
8006         * tests/test-round2.c (equal): Likewise.
8007         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
8008
8009 2010-04-07  Karl Berry  <karl@gnu.org>
8010
8011         * config/srclist.txt,
8012         * config/srclistvars.sh,
8013         * config/srclist-update: doc fixes.
8014
8015 2010-04-07  Jim Meyering  <meyering@redhat.com>
8016
8017         maint.mk: add a PATH crosschecking syntax-check rule
8018         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
8019         Useful if you use a test like the one in help-version (coreutils,
8020         diffutils, grep, gzip) that ensures $(VERSION) matches what is
8021         printed by prog --version.
8022
8023 2010-04-06  Bruno Haible  <bruno@clisp.org>
8024
8025         Fix link error on mingw.
8026         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
8027         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
8028
8029 2010-04-06  Bruno Haible  <bruno@clisp.org>
8030
8031         Assume rmdir exists.
8032         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
8033
8034 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
8035
8036         doc: update users.txt
8037         * users.txt: Add gcal.
8038
8039 2010-04-06  Jim Meyering  <meyering@redhat.com>
8040
8041         init.sh: simply unset TMPDIR rather than risking env -i
8042         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
8043         although it probably works fine on all Unix-based systems, some
8044         systems (Cygwin?) cannot tolerate a totally cleared environment.
8045         Suggestion from Eric Blake.
8046
8047 2010-04-06  Jim Meyering  <meyering@redhat.com>
8048
8049         init.sh: portability fix: use env's POSIX-specified -i option not -u
8050         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
8051         than unportable env -u.  Solaris 5.11's env lacks support for -u.
8052
8053 2010-04-05  Bruno Haible  <bruno@clisp.org>
8054
8055         btowc: Work around Cygwin 1.7.2 bug.
8056         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
8057         does not map NUL to 0.
8058         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
8059
8060 2010-04-05  Bruno Haible  <bruno@clisp.org>
8061
8062         Make the multithread modules work on Cygwin 1.7.2.
8063         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
8064         imported symbols can be declared weak, so that it returns "no" on
8065         Cygwin 1.7.2.
8066
8067 2010-04-05  Bruno Haible  <bruno@clisp.org>
8068
8069         Use the module 'strncat'.
8070         * modules/unistr/u8-strncat (Depends-on): Add strncat.
8071
8072         Tests for module 'strncat'.
8073         * modules/strncat-tests: New file.
8074         * tests/test-strncat.c: New file.
8075
8076         New module 'strncat'.
8077         * lib/string.in.h (strncat): New declaration.
8078         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
8079         * m4/strncat.m4: New file, based on m4/memchr.m4.
8080         * modules/strncat: New file.
8081         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
8082         is declared.
8083         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
8084         REPLACE_STRNCAT.
8085         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
8086         REPLACE_STRNCAT.
8087         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
8088         module.
8089         * tests/test-string-c++.cc: Check signature of strncat.
8090
8091 2010-04-05  Jim Meyering  <meyering@redhat.com>
8092
8093         xstrtoumax-tests: convert to use init.sh
8094         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
8095         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
8096         Use Exit, not exit.
8097         Remove uses of $EXEEXT and "./" to run a program in the current dir.
8098
8099         xstrtoimax-tests: convert to use init.sh
8100         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
8101         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
8102         Use Exit, not exit.
8103         Remove uses of $EXEEXT and "./" to run a program in the current dir.
8104
8105 2010-04-05  Bruno Haible  <bruno@clisp.org>
8106
8107         sys_socket: Avoid #define replacements in C++ mode.
8108         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
8109         warning to the function if possible, rather than #defining the symbol
8110         to a dysfunctional alias.
8111
8112 2010-04-05  Bruno Haible  <bruno@clisp.org>
8113
8114         fseeko: Fix C++ test error on mingw.
8115         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
8116         gl_FUNC_FSEEKO.
8117         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
8118         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
8119         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
8120         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
8121
8122 2010-04-05  Bruno Haible  <bruno@clisp.org>
8123
8124         duplocale: Improve test output.
8125         * tests/test-duplocale.c (main): Print reason for skipped test.
8126
8127 2010-04-05  Bruno Haible  <bruno@clisp.org>
8128
8129         Assume rmdir exists.
8130         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
8131         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
8132
8133 2010-04-05  Bruno Haible  <bruno@clisp.org>
8134
8135         Fix link error on Solaris 8 with cc.
8136         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
8137
8138 2010-04-05  Bruno Haible  <bruno@clisp.org>
8139
8140         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
8141         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
8142
8143 2010-04-05  Bruno Haible  <bruno@clisp.org>
8144
8145         vasprintf: Update documentation.
8146         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
8147
8148 2010-04-05  Bruno Haible  <bruno@clisp.org>
8149
8150         ptsname: Improve test.
8151         * tests/test-ptsname.c (main): Also try the various master names of BSD
8152         systems.
8153
8154 2010-04-05  Bruno Haible  <bruno@clisp.org>
8155
8156         memchr: Avoid a possible C++ test error.
8157         * lib/string.in.h (memchr): Provide declaration if function is missing.
8158         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
8159         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
8160         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
8161         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
8162
8163 2010-04-05  Bruno Haible  <bruno@clisp.org>
8164
8165         strtok_r: Improve idiom.
8166         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
8167         AC_LIBOBJ is used.
8168
8169 2010-04-05  Bruno Haible  <bruno@clisp.org>
8170
8171         strdup: Improve idiom.
8172         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
8173         AC_LIBOBJ is used.
8174         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
8175         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
8176         when AC_LIBOBJ is used.
8177
8178 2010-04-05  Bruno Haible  <bruno@clisp.org>
8179
8180         mbsinit, mbrtowc, wcrtomb: Improve idioms.
8181         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
8182         don't set REPLACE_MBSINIT to 1.
8183         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
8184         don't set REPLACE_MBRTOWC to 1.
8185         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
8186         exist, don't set REPLACE_MBSRTOWCS to 1.
8187         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
8188         exist, don't set REPLACE_MBSNRTOWCS to 1.
8189         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
8190         don't set REPLACE_WCRTOMB to 1.
8191         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
8192         exist, don't set REPLACE_WCSRTOMBS to 1.
8193         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
8194         exist, don't set REPLACE_WCSNRTOMBS to 1.
8195
8196 2010-04-05  Bruno Haible  <bruno@clisp.org>
8197
8198         ldexpl: Improve idiom.
8199         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
8200         make sure to set HAVE_DECL_LDEXPL to 0.
8201
8202 2010-04-05  Jim Meyering  <meyering@redhat.com>
8203
8204         xstrtol-tests: convert to use init.sh
8205         * modules/xstrtol-tests (Files): Add tests/init.sh.
8206         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
8207         Use Exit, not exit.
8208         Remove uses of $EXEEXT and "./" to run a program in the current dir.
8209
8210         atexit-tests: convert to use init.sh
8211         * modules/atexit-tests (Files): Add tests/init.sh.
8212         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
8213         Use Exit, not exit.
8214         Remove uses of $EXEEXT and "./" to run a program in the current dir.
8215
8216         init.sh: fix typo
8217         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
8218
8219         init.sh: make it easier for a test script to write to the tty, ...
8220         when using automake's parallel-tests mode.
8221         * tests/init.sh (stderr_fileno_): Define overridable variable.
8222         (warn_): New function, to use it.
8223         (fail_, skip_, framework_failure_): Use warn_.
8224
8225 2010-04-04  Bruno Haible  <bruno@clisp.org>
8226
8227         btowc: Avoid warning.
8228         * lib/btowc.c: Include <stdlib.h>.
8229         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
8230
8231 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
8232             Bruno Haible  <bruno@clisp.org>
8233
8234         wchar: Port to NetBSD 1.5.
8235         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
8236         * lib/wctype.in.h (WEOF): Likewise.
8237
8238 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
8239             Bruno Haible  <bruno@clisp.org>
8240
8241         Port extended stdio to NetBSD 1.5.
8242         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
8243         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
8244         older.
8245
8246 2010-04-04  Bruno Haible  <bruno@clisp.org>
8247
8248         string: Remove unused substitution.
8249         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
8250         HAVE_DECL_STRERROR.
8251         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
8252
8253 2010-04-04  Bruno Haible  <bruno@clisp.org>
8254
8255         strtod: Avoid a possible C++ test error.
8256         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
8257         set REPLACE_STRTOD.
8258
8259 2010-04-04  Bruno Haible  <bruno@clisp.org>
8260
8261         strerror: Update documentation.
8262         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
8263
8264 2010-04-04  Bruno Haible  <bruno@clisp.org>
8265
8266         stdio: Fix some C++ test errors on Solaris 8 with GCC.
8267         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
8268         _GL_CXXALIAS_SYS_CAST.
8269
8270 2010-04-04  Bruno Haible  <bruno@clisp.org>
8271
8272         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
8273         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
8274         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
8275         REPLACE_FREXPL to 1.
8276         * doc/posix-functions/frexpl.texi: Update documentation.
8277
8278 2010-04-04  Bruno Haible  <bruno@clisp.org>
8279
8280         math: Fix some C++ test errors on Solaris 8 and Cygwin.
8281         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
8282
8283 2010-04-04  Bruno Haible  <bruno@clisp.org>
8284
8285         Implement nanosleep for native Windows.
8286         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
8287
8288 2010-04-04  Bruno Haible  <bruno@clisp.org>
8289
8290         math: Fix some C++ test errors on Solaris 8.
8291         * lib/math.in.h (truncf, trunc): Use simpler idiom.
8292
8293 2010-04-04  Bruno Haible  <bruno@clisp.org>
8294
8295         math: Fix some C++ test errors on Cygwin.
8296         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
8297         truncl): Provide declaration if the system does not have it.
8298         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
8299         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
8300         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
8301         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
8302         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
8303         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
8304         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
8305         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
8306         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
8307         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
8308         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
8309         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
8310         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
8311         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
8312         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
8313         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
8314         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
8315         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
8316         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
8317         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
8318         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
8319         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
8320
8321 2010-04-04  Bruno Haible  <bruno@clisp.org>
8322
8323         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
8324         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
8325         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
8326         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
8327         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
8328         * m4/isinf.m4 (gl_ISINF): Likewise.
8329         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
8330
8331 2010-04-04  Bruno Haible  <bruno@clisp.org>
8332
8333         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
8334         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
8335
8336 2010-04-04  Bruno Haible  <bruno@clisp.org>
8337
8338         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
8339         * modules/tmpfile (configure.ac): Update.
8340
8341         tmpfile: Fix C++ test error on mingw.
8342         * lib/stdio.in.h (tmpfile): New declaration.
8343         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
8344         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
8345         * modules/tmpfile (Depends-on): Add stdio.
8346         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
8347         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
8348         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
8349         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
8350         REPLACE_TMPFILE.
8351         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
8352
8353 2010-04-04  Bruno Haible  <bruno@clisp.org>
8354
8355         ioctl: Fix C++ test error on mingw.
8356         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
8357         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
8358         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
8359
8360 2010-04-03  Bruno Haible  <bruno@clisp.org>
8361
8362         wcwidth: Fix C++ test error on mingw.
8363         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
8364         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
8365         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
8366
8367 2010-04-03  Bruno Haible  <bruno@clisp.org>
8368
8369         nanosleep: Fix C++ test error on mingw.
8370         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
8371         * lib/time.in.h (nanosleep): Use modern idiom.
8372         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
8373         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
8374         REPLACE_NANOSLEEP to 1.
8375         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
8376         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
8377
8378 2010-04-03  Bruno Haible  <bruno@clisp.org>
8379
8380         strptime: Fix C++ test error on mingw.
8381         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
8382         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
8383         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
8384         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
8385         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
8386         not REPLACE_STRPTIME.
8387         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
8388         REPLACE_STRPTIME.
8389
8390 2010-04-03  Bruno Haible  <bruno@clisp.org>
8391
8392         timegm: Fix C++ test error on mingw.
8393         * lib/time.in.h (timegm): Use modern idiom.
8394         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
8395         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
8396         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
8397         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
8398
8399 2010-04-03  Bruno Haible  <bruno@clisp.org>
8400
8401         timegm: Assume declaration if function exists.
8402         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
8403         if it exists. Don't clobber ac_cv_func_timegm.
8404
8405 2010-04-03  Bruno Haible  <bruno@clisp.org>
8406
8407         time_r: Fix C++ test error on mingw.
8408         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
8409         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
8410         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
8411         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
8412         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
8413
8414 2010-04-03  Bruno Haible  <bruno@clisp.org>
8415
8416         time_r: Minor updates.
8417         * modules/time_r (Description): Mention the provided functions.
8418         * lib/time_r.c: Don't include <string.h>.
8419         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
8420         * doc/posix-functions/localtime_r.texi: Likewise.
8421
8422 2010-04-03  Bruno Haible  <bruno@clisp.org>
8423
8424         time: Fix regression introduced on 2010-03-08.
8425         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
8426         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
8427
8428 2010-04-03  Jim Meyering  <meyering@redhat.com>
8429
8430         maint.mk: don't silently disable project-specific syntax-check rules
8431         * top/maint.mk (_prohibit_regexp): Define, to help people realize
8432         that they need to convert their project-specific syntax-check rules
8433         to use the new _sc_search_regexp.
8434
8435 2010-04-03  Bruno Haible  <bruno@clisp.org>
8436
8437         fchdir: Fix regression introduced on 2010-03-08.
8438         * lib/unistd.in.h (fchdir): Fix declaration.
8439         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
8440         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
8441         REPLACE_FCHDIR.
8442         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
8443         REPLACE_FCHDIR.
8444
8445 2010-04-03  Bruno Haible  <bruno@clisp.org>
8446
8447         getpagesize: Fix C++ test error on mingw.
8448         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
8449         system does not declare the function.
8450         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
8451         declared.
8452         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
8453         HAVE_DECL_GETPAGESIZE.
8454         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
8455
8456 2010-04-03  Bruno Haible  <bruno@clisp.org>
8457
8458         stdio: Make C++ tests work on mingw.
8459         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
8460         does not declare the function.
8461
8462 2010-04-03  Bruno Haible  <bruno@clisp.org>
8463
8464         ftello: Fix C++ test error on mingw.
8465         * lib/stdio.in.h (ftello): Use modern idiom.
8466         * lib/ftello.c (ftello): Renamed from rpl_ftello.
8467         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
8468         is missing and that it needs to be replaced.
8469         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
8470         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
8471         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
8472
8473 2010-04-03  Bruno Haible  <bruno@clisp.org>
8474
8475         fseeko: Fix C++ test error on mingw.
8476         * lib/stdio.in.h (fseeko): Use modern idiom.
8477         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
8478         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
8479         is missing and that it needs to be replaced.
8480         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
8481         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
8482         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
8483
8484 2010-04-03  Bruno Haible  <bruno@clisp.org>
8485
8486         mkstemp: Fix C++ test error on mingw.
8487         * lib/stdlib.in.h (mkstemp): Use modern idiom.
8488         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
8489         function is missing and that it needs to be replaced.
8490         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
8491         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
8492
8493 2010-04-03  Bruno Haible  <bruno@clisp.org>
8494
8495         stpncpy: Fix C++ test error on mingw.
8496         * lib/string.in.h (stpncpy): Use modern idiom.
8497         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
8498         function is missing and that it needs to be replaced.
8499         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
8500         REPLACE_STPNCPY.
8501         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
8502
8503 2010-04-03  Bruno Haible  <bruno@clisp.org>
8504
8505         sys_stat: Fix C++ test error on mingw.
8506         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
8507         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
8508
8509 2010-04-03  Bruno Haible  <bruno@clisp.org>
8510
8511         pty: Update doc.
8512         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
8513
8514 2010-04-03  Bruno Haible  <bruno@clisp.org>
8515
8516         unistd: Fix C++ test error on mingw.
8517         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
8518
8519 2010-04-03  Bruno Haible  <bruno@clisp.org>
8520
8521         Update doc regarding mingw.
8522         * doc/glibc-functions/openpty.texi: Update regarding mingw.
8523         * doc/glibc-functions/login_tty.texi: Likewise.
8524         * doc/glibc-functions/forkpty.texi: Likewise.
8525
8526 2010-04-03  Bruno Haible  <bruno@clisp.org>
8527
8528         stdlib: Avoid compilation failure of c-strtold on mingw.
8529         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
8530
8531 2010-04-03  Bruno Haible  <bruno@clisp.org>
8532
8533         locale: Make C++ tests work on Cygwin and mingw.
8534         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
8535         cannot provide the function.
8536         Reported by Simon Josefsson.
8537
8538 2010-04-03  Bruno Haible  <bruno@clisp.org>
8539
8540         localename: Port to MacOS X 10.6.
8541         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
8542         memory layout of the locales in MacOS X 10.6 as well.
8543         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
8544
8545 2010-04-02  Bruno Haible  <bruno@clisp.org>
8546
8547         gnulib-tool: Ensure that long-running tests are executed last.
8548         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
8549         running tests after the one for the other tests.
8550
8551 2010-04-02  Bruno Haible  <bruno@clisp.org>
8552
8553         gnulib-tool: Ensure the tests in the main directory are executed first.
8554         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
8555         start with the current directory.
8556
8557 2010-04-02  Bruno Haible  <bruno@clisp.org>
8558
8559         Tests for module 'havelib', moved here from GNU gettext.
8560         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
8561         modifications.
8562         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
8563         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
8564         with modifications.
8565         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
8566         modifications.
8567         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
8568         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
8569         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
8570         with modifications.
8571         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
8572         with modifications.
8573         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
8574         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
8575         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
8576         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
8577         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
8578         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
8579         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
8580         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
8581         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
8582         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
8583         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
8584         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
8585         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
8586         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
8587         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
8588         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
8589         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
8590         with modifications.
8591         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
8592         with modifications.
8593         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
8594         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
8595         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
8596         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
8597         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
8598         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
8599         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
8600         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
8601         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
8602         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
8603         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
8604         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
8605         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
8606         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
8607         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
8608         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
8609         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
8610         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
8611         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
8612         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
8613         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
8614         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
8615         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
8616         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
8617         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
8618         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
8619         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
8620         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
8621         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
8622         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
8623         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
8624         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
8625         * tests/havelib/rpathx/rpathx.c: New file, from
8626         gettext/autoconf-lib-link.
8627         * tests/havelib/rpathx/Makefile.am: New file, from
8628         gettext/autoconf-lib-link.
8629         * tests/havelib/rpathx/configure.ac: New file, from
8630         gettext/autoconf-lib-link with modifications.
8631         * tests/havelib/rpathy/rpathy.c: New file, from
8632         gettext/autoconf-lib-link.
8633         * tests/havelib/rpathy/Makefile.am: New file, from
8634         gettext/autoconf-lib-link.
8635         * tests/havelib/rpathy/configure.ac: New file, from
8636         gettext/autoconf-lib-link with modifications.
8637         * tests/havelib/rpathz/rpathz.c: New file, from
8638         gettext/autoconf-lib-link.
8639         * tests/havelib/rpathz/Makefile.am: New file, from
8640         gettext/autoconf-lib-link.
8641         * tests/havelib/rpathz/configure.ac: New file, from
8642         gettext/autoconf-lib-link with modifications.
8643         * tests/havelib/rpathlx/usex.c: New file, from
8644         gettext/autoconf-lib-link.
8645         * tests/havelib/rpathlx/Makefile.am: New file, from
8646         gettext/autoconf-lib-link.
8647         * tests/havelib/rpathlx/configure.ac: New file, from
8648         gettext/autoconf-lib-link with modifications.
8649         * tests/havelib/rpathly/usey.c: New file, from
8650         gettext/autoconf-lib-link.
8651         * tests/havelib/rpathly/Makefile.am: New file, from
8652         gettext/autoconf-lib-link.
8653         * tests/havelib/rpathly/configure.ac: New file, from
8654         gettext/autoconf-lib-link with modifications.
8655         * tests/havelib/rpathlz/usez.c: New file, from
8656         gettext/autoconf-lib-link.
8657         * tests/havelib/rpathlz/Makefile.am: New file, from
8658         gettext/autoconf-lib-link.
8659         * tests/havelib/rpathlz/configure.ac: New file, from
8660         gettext/autoconf-lib-link with modifications.
8661         * tests/havelib/rpathlyx/usey.c: New file, from
8662         gettext/autoconf-lib-link.
8663         * tests/havelib/rpathlyx/Makefile.am: New file, from
8664         gettext/autoconf-lib-link.
8665         * tests/havelib/rpathlyx/configure.ac: New file, from
8666         gettext/autoconf-lib-link with modifications.
8667         * tests/havelib/rpathlzyx/usez.c: New file, from
8668         gettext/autoconf-lib-link.
8669         * tests/havelib/rpathlzyx/Makefile.am: New file, from
8670         gettext/autoconf-lib-link.
8671         * tests/havelib/rpathlzyx/configure.ac: New file, from
8672         gettext/autoconf-lib-link with modifications.
8673         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
8674         with modifications.
8675
8676 2010-04-02  Bruno Haible  <bruno@clisp.org>
8677
8678         gnulib-tool: Create distributed built sources also for the tests.
8679         * gnulib-tool (func_create_testdir): Also generate distributed built
8680         sources in the tests directory.
8681
8682 2010-04-02  Bruno Haible  <bruno@clisp.org>
8683
8684         gnulib-tool: Obey user's environment variables.
8685         * gnulib-tool (func_create_testdir): When creating built sources,
8686         respect the environment variables for autoconf, automake, etc. given by
8687         the user.
8688
8689 2010-04-02  Bruno Haible  <bruno@clisp.org>
8690
8691         gnulib-tool: Provide the value of --m4-base to modules.
8692         * gnulib-tool (func_import, func_create_testdir): Emit a definition
8693         of gl_m4_base.
8694
8695 2010-04-02  Eric Blake  <eblake@redhat.com>
8696
8697         maint.mk: fix some fallout
8698         * NEWS: Document the incompatible change, and its effect on cfg.mk.
8699         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
8700
8701 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
8702
8703         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
8704         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
8705         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
8706         (sc_cast_of_x_alloc_return_value): Likewise.
8707         (sc_cast_of_alloca_return_value): Likewise.
8708         (sc_space_tab): Likewise.
8709         (sc_prohibit_atoi_atof): Likewise.
8710         (sc_prohibit_magic_number_exit): Likewise.
8711         (sc_error_exit_success): Likewise.
8712         (sc_file_system): Likewise.
8713         (sc_prohibit_have_config_h): Likewise.
8714         (sc_require_config_h): Likewise.
8715         (sc_prohibit_HAVE_MBRTOWC): Likewise.
8716         (sc_obsolete_symbols): Likewise.
8717         (sc_changelog): Likewise.
8718         (sc_program_name): Likewise.
8719         (sc_the_the): Likewise.
8720         (sc_trailing_blank): Likewise.
8721         (sc_two_space_separator_in_usage): Likewise.
8722         (sc_useless_cpp_parens): Likewise.
8723         (sc_GPL_version): Likewise.
8724         (sc_GFDL_version): Likewise.
8725         (sc_texinfo_acronym): Likewise.
8726         (sc_prohibit_cvs_keyword): Likewise.
8727         (sc_prohibit_stat_st_blocks): Likewise.
8728         (sc_prohibit_S_IS_definition): Likewise.
8729         (sc_redundant_const): Likewise.
8730         (sc_makefile_TAB_only_indentation): Likewise.
8731         (sc_m4_quote_check): Likewise.
8732         (sc_makefile_path_separator_check): Likewise.
8733         (sc_copyright_check): Likewise.
8734         (sc_Wundef_boolean): Likewise.
8735         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
8736
8737         maint.mk: match 0 or more whitespace-before-function-call '('
8738         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
8739         that have zero or two-and-more spaces between the function name
8740         and the open parenthesis.
8741         (sc_error_message_warn_fatal): Likewise.
8742         (sc_error_message_uppercase): Likewise.
8743         (sc_error_message_period): Likewise.
8744
8745 2010-03-31  Eric Blake  <eblake@redhat.com>
8746
8747         maint.mk: check for [ as well as test
8748         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
8749         Based on a libvirt report by Matthias Bolte.
8750
8751         gnumakefile: don't squelch _version output
8752         * top/GNUmakefile (_version): Create one-shot dependency rather
8753         than using $(shell) when version must be regenerated.
8754         (_autoreconf): Run verbosely, by default.
8755
8756         sys_time: avoid compiler warnings
8757         * lib/sys_time.in.h (includes): Ensure gcc pragma is
8758         unconditional, fixing regression from 2010-03-29.
8759         Reported by Simon Josefsson.
8760
8761 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
8762
8763         maint.mk: s/_header_without_use/_sc_header_without_use/
8764         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
8765         (sc_prohibit_assert_without_use): Use the new name.
8766         (sc_prohibit_close_stream_without_use): Likewise.
8767         (sc_prohibit_getopt_without_use): Likewise.
8768         (sc_prohibit_quotearg_without_use): Likewise.
8769         (sc_prohibit_quote_without_use): Likewise.
8770         (sc_prohibit_long_options_without_use): Likewise.
8771         (sc_prohibit_inttostr_without_use): Likewise.
8772         (sc_prohibit_ignore_value_without_use): Likewise.
8773         (sc_prohibit_error_without_use): Likewise.
8774         (sc_prohibit_xalloc_without_use): Likewise.
8775         (sc_prohibit_hash_without_use): Likewise.
8776         (sc_prohibit_hash_pjw_without_use): Likewise.
8777         (sc_prohibit_safe_read_without_use): Likewise.
8778         (sc_prohibit_argmatch_without_use): Likewise.
8779         (sc_prohibit_canonicalize_without_use): Likewise.
8780         (sc_prohibit_root_dev_ino_without_use): Likewise.
8781         (sc_prohibit_openat_without_use): Likewise.
8782         (sc_prohibit_c_ctype_without_use): Likewise.
8783         (sc_prohibit_signal_without_use): Likewise.
8784         (sc_prohibit_intprops_without_use): Likewise.
8785
8786 2010-03-30  Eric Blake  <eblake@redhat.com>
8787
8788         maint: improve module indicators
8789         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
8790         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
8791         columns, and avoid extra macro expansion.
8792
8793         fdopendir: work around FreeBSD bug
8794         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
8795         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
8796         * modules/dirent (Makefile.am): Substitute it.
8797         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
8798         declaration.
8799         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
8800         fix.
8801         Reported by Christian Weisgerber <naddy@mips.inka.de>.
8802
8803 2010-03-29  Bruno Haible  <bruno@clisp.org>
8804
8805         Emit #pragma system_header after the inclusion guard, not before.
8806         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
8807         guard that spans the entire file, not before. This enables an
8808         optimization in GCC's preprocessor.
8809         * lib/ctype.in.h: Likewise.
8810         * lib/dirent.in.h: Likewise.
8811         * lib/errno.in.h: Likewise.
8812         * lib/float.in.h: Likewise.
8813         * lib/getopt.in.h: Likewise.
8814         * lib/iconv.in.h: Likewise.
8815         * lib/langinfo.in.h: Likewise.
8816         * lib/locale.in.h: Likewise.
8817         * lib/math.in.h: Likewise.
8818         * lib/netdb.in.h: Likewise.
8819         * lib/netinet_in.in.h: Likewise.
8820         * lib/pty.in.h: Likewise.
8821         * lib/sched.in.h: Likewise.
8822         * lib/se-selinux.in.h: Likewise.
8823         * lib/search.in.h: Likewise.
8824         * lib/spawn.in.h: Likewise.
8825         * lib/stdarg.in.h: Likewise.
8826         * lib/stdint.in.h: Likewise.
8827         * lib/string.in.h: Likewise.
8828         * lib/strings.in.h: Likewise.
8829         * lib/sys_file.in.h: Likewise.
8830         * lib/sys_ioctl.in.h: Likewise.
8831         * lib/sys_time.in.h: Likewise.
8832         * lib/sys_times.in.h: Likewise.
8833         * lib/sys_utsname.in.h: Likewise.
8834         * lib/sys_wait.in.h: Likewise.
8835         * lib/sysexits.in.h: Likewise.
8836         * lib/wctype.in.h: Likewise.
8837
8838 2010-03-28  James Youngman  <jay@gnu.org>
8839
8840         save-cwd: don't leak a file descriptor when the caller execs.
8841         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
8842         saved file descriptor.
8843         * modules/save-cwd (Depends-on): Depend on cloexec.
8844
8845 2010-03-29  Bruno Haible  <bruno@clisp.org>
8846
8847         Remove vestiges of fts-lgpl module.
8848         * lib/fts_.h: Assume GNULIB_FTS is 1.
8849         * lib/fts.c: Likewise.
8850         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
8851
8852 2010-03-28  Bruno Haible  <bruno@clisp.org>
8853
8854         Fix definition of tests witness macro.
8855         * gnulib-tool (func_import): Fix definition of witness macro.
8856
8857 2010-03-28  Bruno Haible  <bruno@clisp.org>
8858
8859         Fix ioctl's protoype on glibc systems.
8860         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
8861         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
8862         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
8863         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
8864         signature. If not, arrange to replace the ioctl function.
8865         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
8866         REPLACE_IOCTL.
8867         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
8868         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
8869         Reported by Ludovic Courtès <ludo@gnu.org>.
8870
8871 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
8872
8873         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
8874         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
8875         made it so grep -r --include=GLOB* ... did not work.
8876
8877 2010-03-26  Jim Meyering  <meyering@redhat.com>
8878             Eric Blake  <eblake@redhat.com>
8879
8880         maint.mk: prohibit use of test's -o and -a operators
8881         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
8882
8883 2010-03-28  Bruno Haible  <bruno@clisp.org>
8884
8885         Remove unused GNULIB_XYZ macro definitions.
8886         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
8887         invocation.
8888
8889 2010-03-28  Bruno Haible  <bruno@clisp.org>
8890
8891         Mark privileged tests modules.
8892         * modules/idpriv-drop-tests (Status): New section.
8893         * modules/idpriv-droptemp-tests (Status): New section.
8894
8895 2010-03-28  Bruno Haible  <bruno@clisp.org>
8896
8897         Split C++ tests into separate tests modules.
8898         * modules/dirent-c++-tests: New file, extracted from
8899         modules/dirent-tests.
8900         * modules/dirent-tests: Depend on it.
8901         * modules/fcntl-h-c++-tests: New file, extracted from
8902         modules/fcntl-h-tests.
8903         * modules/fcntl-h-tests: Depend on it.
8904         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
8905         * modules/glob-tests: Depend on it.
8906         * modules/iconv-h-c++-tests: New file, extracted from
8907         modules/iconv-h-tests.
8908         * modules/iconv-h-tests: Depend on it.
8909         * modules/langinfo-c++-tests: New file, extracted from
8910         modules/langinfo-tests.
8911         * modules/langinfo-tests: Depend on it.
8912         * modules/locale-c++-tests: New file, extracted from
8913         modules/locale-tests.
8914         * modules/locale-tests: Depend on it.
8915         * modules/math-c++-tests: New file, extracted from modules/math-tests.
8916         * modules/math-tests: Depend on it.
8917         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
8918         * modules/pty-tests: Depend on it.
8919         * modules/search-c++-tests: New file, extracted from
8920         modules/search-tests.
8921         * modules/search-tests: Depend on it.
8922         * modules/signal-c++-tests: New file, extracted from
8923         modules/signal-tests.
8924         * modules/signal-tests: Depend on it.
8925         * modules/spawn-c++-tests: New file, extracted from
8926         modules/spawn-tests.
8927         * modules/spawn-tests: Depend on it.
8928         * modules/stdio-c++-tests: New file, extracted from
8929         modules/stdio-tests.
8930         * modules/stdio-tests: Depend on it.
8931         * modules/stdlib-c++-tests: New file, extracted from
8932         modules/stdlib-tests.
8933         * modules/stdlib-tests: Depend on it.
8934         * modules/string-c++-tests: New file, extracted from
8935         modules/string-tests.
8936         * modules/string-tests: Depend on it.
8937         * modules/sys_ioctl-c++-tests: New file, extracted from
8938         modules/sys_ioctl-tests.
8939         * modules/sys_ioctl-tests: Depend on it.
8940         * modules/sys_select-c++-tests: New file, extracted from
8941         modules/sys_select-tests.
8942         * modules/sys_select-tests: Depend on it.
8943         * modules/sys_socket-c++-tests: New file, extracted from
8944         modules/sys_socket-tests.
8945         * modules/sys_socket-tests: Depend on it.
8946         * modules/sys_stat-c++-tests: New file, extracted from
8947         modules/sys_stat-tests.
8948         * modules/sys_stat-tests: Depend on it.
8949         * modules/sys_time-c++-tests: New file, extracted from
8950         modules/sys_time-tests.
8951         * modules/sys_time-tests: Depend on it.
8952         * modules/time-c++-tests: New file, extracted from modules/time-tests.
8953         * modules/time-tests: Depend on it.
8954         * modules/unistd-c++-tests: New file, extracted from
8955         modules/unistd-tests.
8956         * modules/unistd-tests: Depend on it.
8957         * modules/wchar-c++-tests: New file, extracted from
8958         modules/wchar-tests.
8959         * modules/wchar-tests: Depend on it.
8960         * modules/wctype-c++-tests: New file, extracted from
8961         modules/wctype-tests.
8962         * modules/wctype-tests: Depend on it.
8963         Reported by Simon Josefsson.
8964
8965 2010-03-28  Bruno Haible  <bruno@clisp.org>
8966
8967         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
8968         * gnulib-tool (func_exists_module): New function, extracted from
8969         func_verify_module.
8970         (func_verify_module): Use it.
8971         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
8972         'foo' only if 'foo' exists.
8973         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
8974         module.
8975
8976 2010-03-28  Bruno Haible  <bruno@clisp.org>
8977
8978         gnulib-tool: Add support for special categories of tests.
8979         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
8980         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
8981         (func_usage): Document them.
8982         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
8983         inc_unportable_tests, inc_all_tests): New variables.
8984         (func_acceptable): Consider these variables.
8985         (func_modules_transitive_closure): Make it work when the 'Status' field
8986         consists of multiple words.
8987         (func_import): Store and restore the values of inc_cxx_tests,
8988         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
8989         inc_all_tests in gnulib-comp.m4.
8990         (func_create_testdir): Set inc_all_tests to true.
8991         * doc/gnulib.texi (Extra tests modules): New section.
8992         Suggested by Jim Meyering.
8993
8994 2010-03-28  Bruno Haible  <bruno@clisp.org>
8995
8996         ansi-c++-opt: Allow turning off the C++ build by default.
8997         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
8998         gl_CXX_CHOICE_DEFAULT_NO is defined.
8999         Requested by Eric Blake.
9000
9001 2010-03-28  Bruno Haible  <bruno@clisp.org>
9002
9003         unistd: Avoid #define replacements in C++ mode.
9004         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
9005         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
9006         setsockopt, shutdown, select): In C++, attach a warning to the function
9007         if possible, rather than #defining the symbol to a dysfunctional alias.
9008         Reported by John W. Eaton <jwe@gnu.org>.
9009
9010 2010-03-28  Bruno Haible  <bruno@clisp.org>
9011
9012         Fix link errors on mingw.
9013         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
9014         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
9015         $(LIBSOCKET).
9016         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
9017         $(LIBSOCKET).
9018
9019 2010-03-28  Bruno Haible  <bruno@clisp.org>
9020             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9021
9022         lib-ignore: Determine different options for different compilers.
9023         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
9024         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
9025         Add comments.
9026         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
9027         * NEWS: Mention the change.
9028
9029 2010-03-27  Bruno Haible  <bruno@clisp.org>
9030
9031         Remove unused GNULIB_XYZ macro definitions.
9032         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
9033         * modules/fseek (configure.ac): Likewise.
9034         * modules/ioctl (configure.ac): Likewise.
9035         * modules/open (configure.ac): Likewise.
9036         * modules/stdlib-safer (configure.ac): Likewise.
9037
9038 2010-03-27  Bruno Haible  <bruno@clisp.org>
9039
9040         Add a remark about certain modules.
9041         * modules/malloc (Comment): New section.
9042         * modules/realloc (Comment): Likewise.
9043         * modules/sigpipe (Comment): Likewise.
9044
9045 2010-03-27  Bruno Haible  <bruno@clisp.org>
9046
9047         Resolve conflict between the two kinds of module indicators.
9048         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
9049         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
9050         * modules/canonicalize (configure.ac): Invoke
9051         gl_MODULE_INDICATOR_FOR_TESTS.
9052         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
9053         GNULIB_XYZ.
9054         * tests/test-dirent-c++.cc: Likewise.
9055         * tests/test-dirent-safer.c: Likewise.
9056         * tests/test-dup2.c: Likewise.
9057         * tests/test-fchdir.c: Likewise.
9058         * tests/test-fcntl-h-c++.cc: Likewise.
9059         * tests/test-getopt.c: Likewise.
9060         * tests/test-getopt.h: Likewise.
9061         * tests/test-langinfo-c++.cc: Likewise.
9062         * tests/test-locale-c++.cc: Likewise.
9063         * tests/test-math-c++.cc: Likewise.
9064         * tests/test-pty-c++.cc: Likewise.
9065         * tests/test-search-c++.cc: Likewise.
9066         * tests/test-signal-c++.cc: Likewise.
9067         * tests/test-spawn-c++.cc: Likewise.
9068         * tests/test-stdio-c++.cc: Likewise.
9069         * tests/test-stdlib-c++.cc: Likewise.
9070         * tests/test-string-c++.cc: Likewise.
9071         * tests/test-sys_ioctl-c++.cc: Likewise.
9072         * tests/test-sys_select-c++.cc: Likewise.
9073         * tests/test-sys_socket-c++.cc: Likewise.
9074         * tests/test-sys_stat-c++.cc: Likewise.
9075         * tests/test-sys_time-c++.cc: Likewise.
9076         * tests/test-time-c++.cc: Likewise.
9077         * tests/test-unistd-c++.cc: Likewise.
9078         * tests/test-wchar-c++.cc: Likewise.
9079         * tests/uninorm/test-u8-nfc.c: Likewise.
9080         * tests/uninorm/test-u8-nfd.c: Likewise.
9081         * tests/uninorm/test-u8-nfkc.c: Likewise.
9082         * tests/uninorm/test-u8-nfkd.c: Likewise.
9083         * tests/uninorm/test-u16-nfc.c: Likewise.
9084         * tests/uninorm/test-u16-nfd.c: Likewise.
9085         * tests/uninorm/test-u16-nfkc.c: Likewise.
9086         * tests/uninorm/test-u16-nfkd.c: Likewise.
9087         * tests/uninorm/test-u32-nfc.c: Likewise.
9088         * tests/uninorm/test-u32-nfc-big.c: Likewise.
9089         * tests/uninorm/test-u32-nfd.c: Likewise.
9090         * tests/uninorm/test-u32-nfd-big.c: Likewise.
9091         * tests/uninorm/test-u32-nfkc.c: Likewise.
9092         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
9093         * tests/uninorm/test-u32-nfkd.c: Likewise.
9094         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
9095         * tests/uninorm/test-u32-normalize-big.c: Likewise.
9096
9097 2010-03-27  Bruno Haible  <bruno@clisp.org>
9098
9099         Distinguish two kinds of module indicators.
9100         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
9101         gl_MODULE_INDICATOR.
9102         (gl_MODULE_INDICATOR): New macro.
9103         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
9104         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
9105         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
9106         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
9107         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
9108         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
9109         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
9110         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
9111         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
9112         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
9113         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
9114         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
9115         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
9116         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
9117         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
9118         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
9119         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
9120         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
9121         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
9122         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
9123         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
9124         * modules/cloexec (configure.ac): Likewise.
9125         * modules/getopt-gnu (configure.ac): Likewise.
9126         * modules/uninorm/u8-normalize (configure.ac): Likewise.
9127         * modules/uninorm/u16-normalize (configure.ac): Likewise.
9128         * modules/uninorm/u32-normalize (configure.ac): Likewise.
9129         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
9130
9131 2010-03-27  Bruno Haible  <bruno@clisp.org>
9132
9133         New module description field 'Comment'.
9134         * gnulib-tool: New option --extract-comment.
9135         (func_usage): Document it.
9136         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
9137         (func_get_comment): New function.
9138         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
9139
9140 2010-03-27  Bruno Haible  <bruno@clisp.org>
9141
9142         Addendum to 2010-02-07 commit.
9143         * gnulib-tool (func_usage): Document --extract-applicability option.
9144
9145 2010-03-27  Bruno Haible  <bruno@clisp.org>
9146
9147         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
9148         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
9149         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
9150         rather than link errors.
9151
9152 2010-03-27  Bruno Haible  <bruno@clisp.org>
9153
9154         Avoid side effects from tests-related modules on the compilation of lib.
9155         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
9156         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
9157         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
9158         parameter. Emit into AM_CPPFLAGS a definition of the designated C
9159         macro.
9160         (func_import): Define a witness macro. Assign it a value that depends
9161         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
9162         tests-related modules.
9163         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
9164         Reported by Jim Meyering.
9165
9166 2010-03-27  Bruno Haible  <bruno@clisp.org>
9167
9168         Factorize common .m4 code.
9169         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
9170         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
9171         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
9172         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
9173         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
9174         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
9175         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
9176         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
9177         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
9178         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
9179         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
9180         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
9181         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
9182         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
9183         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
9184         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
9185         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
9186         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
9187         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
9188         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
9189         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
9190         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
9191         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
9192         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
9193         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
9194         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
9195         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
9196         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
9197         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
9198         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
9199         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
9200         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
9201
9202 2010-03-27  Bruno Haible  <bruno@clisp.org>
9203
9204         Fix a compilation error on Cygwin with g++ >= 4.3.
9205         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
9206         if it is undefined or if we alias it to chmod.
9207         (lstat): Don't warn about the use of this function if it is undefined
9208         or if we alias it to stat.
9209         Reported by Simon Josefsson.
9210
9211 2010-03-27  Bruno Haible  <bruno@clisp.org>
9212
9213         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
9214         * modules/getlogin (configure.ac): Update.
9215
9216         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
9217         * modules/getlogin_r (configure.ac): Update.
9218
9219         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
9220         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
9221         * modules/inet_ntop (configure.ac): Update.
9222
9223         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
9224         * modules/inet_pton (configure.ac): Update.
9225
9226         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
9227         * modules/mbslen (configure.ac): Update.
9228
9229         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
9230         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
9231         * modules/forkpty (configure.ac): Update.
9232         * modules/openpty (configure.ac): Update.
9233
9234 2010-03-26  Simon Josefsson  <simon@josefsson.org>
9235
9236         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
9237         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
9238
9239 2010-03-25  Eric Blake  <eblake@redhat.com>
9240
9241         maint: use pragma consistently across replacement headers
9242         * lib/ctype.in.h (system_header): Hoist for consistent placement.
9243         * lib/dirent.in.h (system_header): Likewise.
9244         * lib/errno.in.h (system_header): Likewise.
9245         * lib/float.in.h (system_header): Likewise.
9246         * lib/getopt.in.h (system_header): Likewise.
9247         * lib/iconv.in.h (system_header): Likewise.
9248         * lib/inttypes.in.h (system_header): Likewise.
9249         * lib/langinfo.in.h (system_header): Likewise.
9250         * lib/locale.in.h (system_header): Likewise.
9251         * lib/math.in.h (system_header): Likewise.
9252         * lib/netdb.in.h (system_header): Likewise.
9253         * lib/netinet_in.in.h (system_header): Likewise.
9254         * lib/pty.in.h (system_header): Likewise.
9255         * lib/sched.in.h (system_header): Likewise.
9256         * lib/se-selinux.in.h (system_header): Likewise.
9257         * lib/search.in.h (system_header): Likewise.
9258         * lib/spawn.in.h (system_header): Likewise.
9259         * lib/stdarg.in.h (system_header): Likewise.
9260         * lib/stdint.in.h (system_header): Likewise.
9261         * lib/string.in.h (system_header): Likewise.
9262         * lib/strings.in.h (system_header): Likewise.
9263         * lib/sys_file.in.h (system_header): Likewise.
9264         * lib/sys_ioctl.in.h (system_header): Likewise.
9265         * lib/sys_socket.in.h (system_header): Likewise.
9266         * lib/sys_times.in.h (system_header): Likewise.
9267         * lib/sys_utsname.in.h (system_header): Likewise.
9268         * lib/sys_wait.in.h (system_header): Likewise.
9269         * lib/sysexits.in.h (system_header): Likewise.
9270         * lib/unistd.in.h (system_header): Likewise.
9271         * lib/wctype.in.h (system_header): Likewise.
9272
9273         arpa/inet: fix mingw compilation warning
9274         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
9275         Reported by Matthew Bolte.
9276
9277 2010-03-25  Bruno Haible  <bruno@clisp.org>
9278
9279         Avoid collision between gnulib wrapper and libintl wrapper.
9280         * lib/printf.c (printf): Don't define if a printf wrapper is already
9281         defined in intl/printf.c.
9282         Reported by Michel Boaventura <michel@michelboaventura.com>.
9283
9284 2010-03-25  Bruno Haible  <bruno@clisp.org>
9285
9286         Use ANSI C.
9287         * lib/readutmp.h (getutent): Provide ANSI C prototype.
9288
9289 2010-03-25  Bruno Haible  <bruno@clisp.org>
9290
9291         Minor formatting changes.
9292         * lib/acosl.c: Insert space before function argument list.
9293         * lib/argz.c: Likewise.
9294         * lib/asinl.c: Likewise.
9295         * lib/expl.c: Likewise.
9296         * lib/gen-uni-tables.c: Likewise.
9297         * lib/gettext.h: Likewise.
9298         * lib/glthread/lock.h: Likewise.
9299         * lib/tanl.c: Likewise.
9300         * lib/uniname/uniname.c: Likewise.
9301         * tests/test-idpriv-drop.c: Likewise.
9302         * tests/test-idpriv-droptemp.c: Likewise.
9303         * tests/test-lock.c: Likewise.
9304         * tests/test-tls.c: Likewise.
9305         * lib/argp-help.c: Insert space before function-like macro argument
9306         list.
9307         * lib/memcmp.c: Likewise.
9308         * tests/test-base64.c: Likewise.
9309         * lib/localename.c: Insert space before sizeof's argument list.
9310         * lib/safe-alloc.h: Likewise.
9311         * lib/file-set.h: Insert space before macro argument list.
9312         * tests/test-argp.c: Likewise.
9313         * lib/argp-namefrob.h: Insert space before function parameter list.
9314         * lib/getaddrinfo.c: Likewise.
9315         * lib/netdb.in.h: Likewise.
9316         * lib/parse-duration.h: Likewise.
9317         * lib/parse-duration.c: Likewise.
9318         * lib/poll.c: Likewise.
9319         * lib/select.c: Likewise.
9320         * lib/trim.h: Likewise.
9321         * tests/test-usleep.c: Likewise.
9322         * lib/ldexpl.c: Insert space before function parameter list and before
9323         function argument list.
9324         * lib/logl.c: Likewise.
9325         * lib/sqrtl.c: Likewise.
9326         * lib/trim.c: Likewise.
9327         * lib/cosl.c: Use GNU style indentation. Insert space before function
9328         argument list.
9329         * lib/sinl.c: Likewise.
9330         * lib/tsearch.c: Insert space after 'for'.
9331         Reported by Jim Meyering.
9332
9333 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
9334
9335         * maint.mk (sc_Wundef_boolean): Check for the presence of the
9336         config header before grepping, as it's not present before
9337         autoreconf/configure are run.  Reported by Simon Josefsson.
9338
9339 2010-03-23  Bruno Haible  <bruno@clisp.org>
9340
9341         pt_chown: Make it work with automake < 1.11.
9342         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
9343         Reported by Simon Josefsson.
9344
9345 2010-03-23  Bruno Haible  <bruno@clisp.org>
9346
9347         pt_chown: Don't depend on GPLed modules.
9348         * lib/pt_chown.c: Don't include idpriv.h.
9349         (main): Don't drop privileges.
9350         * modules/pt_chown (Depends-on): Remove idpriv-drop.
9351         Reported by Simon Josefsson.
9352
9353 2010-03-24  Simon Josefsson  <simon@josefsson.org>
9354
9355         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
9356         suggestions from karl@freefriends.org (Karl Berry).
9357
9358 2010-03-22  Eric Blake  <eblake@redhat.com>
9359
9360         gethostname: further tweaks
9361         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
9362         are overriding gethostname.
9363         Suggested by Bruno Haible.
9364
9365 2010-03-21  Bruno Haible  <bruno@clisp.org>
9366
9367         Fix comments.
9368         * lib/forkpty.c (rpl_forkpty): Fix comment.
9369         * lib/openpty.c (rpl_openpty): Likewise.
9370         Reported by Eric Blake.
9371
9372 2010-03-22  Eric Blake  <eblake@redhat.com>
9373
9374         gethostname: fix build on mingw
9375         * lib/unistd.in.h (includes): Work around fact that mingw
9376         <winsock2.h> re-includes <unistd.h>, by avoiding any
9377         redeclarations if we are being included by <winsock2.h>.
9378         Reported by Matthias Bolte.
9379
9380 2010-03-21  Bruno Haible  <bruno@clisp.org>
9381
9382         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
9383         * lib/forkpty.c (forkpty): New replacement function, from glibc with
9384         modifications.
9385         * lib/pty.in.h (forkpty): Update declaration. Add comments.
9386         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
9387         provide the replacement.
9388         * modules/forkpty (Depends-on): Add openpty, login_tty.
9389         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
9390         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
9391         * doc/glibc-functions/forkpty.texi: More supported platforms.
9392         * config/srclist.txt: Add forkpty.c (commented).
9393
9394 2010-03-21  Bruno Haible  <bruno@clisp.org>
9395
9396         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
9397         (Makefile.am): Verify that PTY_LIB is defined.
9398
9399         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
9400
9401 2010-03-21  Bruno Haible  <bruno@clisp.org>
9402
9403         Tests for module 'login_tty'.
9404         * modules/login_tty-tests: New file.
9405         * tests/test-login_tty.c: New file.
9406
9407         New module 'login_tty'.
9408         * lib/login_tty.c: New file.
9409         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
9410         * modules/login_tty: New file.
9411         * doc/glibc-functions/login_tty.texi: Mention the new module.
9412
9413 2010-03-21  Bruno Haible  <bruno@clisp.org>
9414
9415         login_tty: Documentation.
9416         * doc/glibc-functions/login_tty.texi: New file.
9417         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
9418
9419 2010-03-21  Bruno Haible  <bruno@clisp.org>
9420
9421         pty: Consistent macro naming.
9422         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
9423         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
9424         * modules/pty (configure.ac): Update.
9425
9426 2010-03-21  Bruno Haible  <bruno@clisp.org>
9427
9428         Tests for openpty: Make stricter.
9429         * tests/test-openpty.c (main): Add test of canonical processing and
9430         erase.
9431         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
9432
9433         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
9434         * lib/openpty.c (openpty): New replacement function.
9435         * lib/pty.in.h: Include <termios.h>.
9436         (openpty): Update declaration. Add comments.
9437         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
9438         is not declared, arrange to provide the replacement. Check for _getpty
9439         and posix_openpt.
9440         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
9441         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
9442         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
9443         * modules/pty-tests (test_pty_c___LDADD): New variable.
9444         * doc/glibc-functions/openpty.texi: More supported platforms.
9445
9446 2010-03-21  Bruno Haible  <bruno@clisp.org>
9447
9448         setenv: Tweaks.
9449         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
9450         the test program.
9451         * doc/posix-functions/setenv.texi: Update platforms list.
9452
9453 2010-03-21  Bruno Haible  <bruno@clisp.org>
9454
9455         New module 'unlockpt'.
9456         * lib/unlockpt.c: New file, from glibc with modifications.
9457         * m4/unlockpt.m4: New file.
9458         * modules/unlockpt: New file.
9459         * lib/stdlib.in.h (unlockpt): New declaration.
9460         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
9461         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
9462         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
9463         HAVE_UNLOCKPT.
9464         * doc/posix-functions/unlockpt.texi: Mention the new module.
9465         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
9466         * config/srclist.txt: Add unlockpt.c (commented).
9467
9468 2010-03-21  Jim Meyering  <meyering@redhat.com>
9469
9470         maint.mk: prohibit inclusion of "intprops.h" without use
9471         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
9472
9473 2010-03-21  Bruno Haible  <bruno@clisp.org>
9474
9475         New module 'grantpt'.
9476         * lib/grantpt.c: New file, from glibc with modifications.
9477         * m4/grantpt.m4: New file.
9478         * modules/grantpt: New file.
9479         * lib/stdlib.in.h (grantpt): New declaration.
9480         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
9481         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
9482         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
9483         HAVE_GRANTPT.
9484         * doc/posix-functions/grantpt.texi: Mention the new module.
9485         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
9486         * config/srclist.txt: Add grantpt.c (commented).
9487
9488 2010-03-21  Bruno Haible  <bruno@clisp.org>
9489
9490         New module 'pt_chown'.
9491         * lib/pt_chown.c: New file, from glibc with modifications.
9492         * lib/pty-private.h: New file, from glibc with modifications.
9493         * modules/pt_chown: New file.
9494         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
9495
9496 2010-03-21  Bruno Haible  <bruno@clisp.org>
9497
9498         Tests for module 'ptsname'.
9499         * modules/ptsname-tests: New file.
9500         * tests/test-ptsname.c: New file.
9501
9502         New module 'ptsname'.
9503         * lib/ptsname.c: New file, from glibc with modifications.
9504         * m4/ptsname.m4: New file.
9505         * modules/ptsname: New file.
9506         * lib/stdlib.in.h (ptsname): New declaration.
9507         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
9508         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
9509         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
9510         HAVE_PTSNAME.
9511         * doc/posix-functions/ptsname.texi: Mention the new module.
9512         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
9513         * config/srclist.txt: Add ptsname.c (commented).
9514
9515 2010-03-21  Bruno Haible  <bruno@clisp.org>
9516
9517         Tests for module 'ttyname_r'.
9518         * modules/ttyname_r-tests: New file.
9519         * tests/test-ttyname_r.c: New file.
9520
9521         New module 'ttyname_r'.
9522         * lib/ttyname_r.c: New file.
9523         * m4/ttyname_r.m4: New file.
9524         * modules/ttyname_r: New file.
9525         * lib/unistd.in.h (ttyname_r): New declaration.
9526         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
9527         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
9528         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
9529         HAVE_TTYNAME_R.
9530         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
9531         * doc/posix-functions/ttyname_r.texi: Mention the new module.
9532
9533 2010-03-20  Bruno Haible  <bruno@clisp.org>
9534
9535         signal: Undefine macro definitions in C++ mode.
9536         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
9537         sigfillset): Undefine macro definitions from the system header in C++
9538         mode.
9539         Reported by John W. Eaton <jwe@gnu.org>.
9540
9541 2010-03-20  Bruno Haible  <bruno@clisp.org>
9542
9543         Ensure no #include statements inside extern "C" { ... }.
9544         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
9545         contain #include statements.
9546         * lib/time.in.h: Likewise.
9547
9548 2010-03-20  Bruno Haible  <bruno@clisp.org>
9549
9550         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
9551         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
9552         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
9553         Reported by John W. Eaton <jwe@gnu.org>.
9554
9555 2010-03-20  Bruno Haible  <bruno@clisp.org>
9556
9557         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
9558         Reported by Jim Meyering.
9559
9560 2010-03-20  Bruno Haible  <bruno@clisp.org>
9561
9562         pipe: Set errno upon failure.
9563         * lib/pipe.h: Specify that when -1 is returned, errno is set.
9564         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
9565         errno value in error message.
9566
9567 2010-03-20  Bruno Haible  <bruno@clisp.org>
9568             Jim Meyering  <meyering@redhat.com>
9569
9570         lchown: Avoid "unused variable" warning.
9571         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
9572
9573 2010-03-20  Bruno Haible  <bruno@clisp.org>
9574
9575         Work around unlink() bug on MacOS X 10.5.6.
9576         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
9577         attempting to unlink a parent directory.
9578         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
9579         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
9580         activate for the replacement function.
9581         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
9582
9583 2010-03-20  Bruno Haible  <bruno@clisp.org>
9584
9585         Fix link errors on Solaris 8.
9586         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
9587         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
9588
9589 2010-03-19  Jim Meyering  <meyering@redhat.com>
9590
9591         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
9592         The _LIBC implementation of build_range_exp correctly honors the
9593         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
9594         However, the non-_LIBC implementation would ignore that syntax-bit
9595         flag and return REG_ERANGE unconditionally.
9596         This change makes it honor that flag.
9597         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
9598         Make two pointer parameters "const".
9599         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
9600         (parse_bracket_exp): Update caller.
9601
9602         regex.m4: correct the reversed range endpoint ([b-a]) test
9603         * m4/regex.m4: When requiring that [b-a] evoke failure,
9604         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
9605         test pass once again for x86-based systems.
9606
9607 2010-03-19  Bruno Haible  <bruno@clisp.org>
9608
9609         scandir: Fix link error on Solaris 8.
9610         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
9611         macros.
9612
9613 2010-03-19  Bruno Haible  <bruno@clisp.org>
9614
9615         getusershell: Fix documentation.
9616         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
9617         module.
9618         * doc/glibc-functions/setusershell.texi: Likewise.
9619
9620         getusershell: Provide declaration, missing on Solaris 9.
9621         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
9622         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
9623         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
9624         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
9625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
9626         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
9627         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
9628         HAVE_GETUSERSHELL.
9629         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
9630
9631 2010-03-19  Bruno Haible  <bruno@clisp.org>
9632
9633         wctype: Provide iswblank function.
9634         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
9635         exists and is fine.
9636         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
9637         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
9638         * tests/test-wctype.c (main): Re-enable the iswblank tests.
9639         * doc/posix-functions/iswblank.texi: Update.
9640
9641 2010-03-19  Bruno Haible  <bruno@clisp.org>
9642
9643         Tests of module 'pty' in C++ mode.
9644         * modules/pty-tests: New file.
9645         * tests/test-pty-c++.cc: New file.
9646         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
9647
9648 2010-03-19  Eric Blake  <eblake@redhat.com>
9649
9650         logb: fix documentation
9651         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
9652         1.5 declaration bug.
9653
9654         forkpty, openpty: prefer glibc's const-safe prototype
9655         * lib/forkpty.c (rpl_forkpty): New file.
9656         * lib/openpty.c (rpl_openpty): Likewise.
9657         * modules/forkpty (Files): Distribute it.
9658         * modules/openpty (Files): Likewise.
9659         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
9660         check...
9661         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
9662         replacement for for non-const BSD signature.
9663         * modules/pty (Makefile.am): Substitute witnesses.
9664         * lib/pty.in.h (forkpty, openpty): Declare replacements.
9665         * tests/test-forkpty.c: Update signature check.
9666         * tests/test-openpty.c: Likewise.
9667         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
9668         * doc/glibc-functions/openpty.texi (openpty): Likewise.
9669
9670         forkpty, openpty: split functions into new modules
9671         * modules/pty (Makefile.am): Substitute new witnesses.
9672         (Libraries): Move library detection...
9673         * modules/forkpty: ...into new module.
9674         * modules/openpty: Another new module.
9675         * modules/pty-tests: Rename and split...
9676         * modules/forkpty-tests: ...to this...
9677         * modules/openpty-tests: ...and this.
9678         * tests/test-pty.c: Rename and split...
9679         * tests/test-forkpty.c: ...to this...
9680         * tests/test-openpty.c: ...and this.
9681         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
9682         (gl_PTY): Split library searching...
9683         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
9684         (gl_FORKPTY, gl_OPENPTY): New macros.
9685         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
9686         * NEWS: Mention the split.
9687         * MODULES.html.sh (Misc): Document the modules.
9688         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
9689         * doc/glibc-functions/openpty.texi (openpty): Likewise.
9690
9691         pty: improve replacement header
9692         * lib/pty.in.h: New file.
9693         * modules/pty (Files): Ship it.
9694         (Makefile.am): Always build replacement.
9695         * m4/pty.m4: Rename...
9696         * m4/pty_h.m4: ...to this.
9697         (gl_PTY): Modernize setting of witness macros; update check of
9698         forkpty to take proper advantage of cache.
9699         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
9700
9701         getopt: avoid compiler warning
9702         * lib/getopt.c (attribute_hidden): Remove unused macro.
9703
9704 2010-03-18  Bruno Haible  <bruno@clisp.org>
9705
9706         Fix link errors on Solaris 8.
9707         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
9708         * modules/search-tests (test_search_c___LDADD): Likewise.
9709         * modules/signal-tests (test_signal_c___LDADD): Likewise.
9710         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
9711         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
9712         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
9713         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
9714         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
9715         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
9716
9717 2010-03-18  Bruno Haible  <bruno@clisp.org>
9718
9719         Fix bug introduced on 2010-03-14.
9720         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
9721         (gl_SPAWN_H): Require it.
9722         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
9723         Reported by Simon Josefsson.
9724
9725 2010-03-18  Bruno Haible  <bruno@clisp.org>
9726
9727         Fix typo introduced on 2009-12-31.
9728         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
9729         posix_spawn_file_actions_adddup2.
9730
9731 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
9732         and Eric Blake  <eblake@redhat.com>
9733
9734         test-vc-list-files-git: make more robust
9735         * tests/test-vc-list-files-git.sh: Unset problematic environment
9736         variables.  Chain commands together.
9737
9738 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
9739
9740         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
9741         `AC_CHECK_DECL' invocation.
9742
9743 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
9744
9745         * lib/inttostr.c (inttostr): Make sure the invocation of verify
9746         appears before executable statements. Suggested by Petr Sumbera
9747         <Petr.Sumbera@Sun.COM>.
9748
9749 2010-03-14  Bruno Haible  <bruno@clisp.org>
9750
9751         * tests/test-flock.c (test_exclusive): Comment out a test that causes
9752         portability problems. Instead use a simpler test.
9753         (main): Check that invalid arguments are rejected only on Linux.
9754
9755 2010-03-14  Bruno Haible  <bruno@clisp.org>
9756
9757         Fix bug introduced on 2009-12-31.
9758         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
9759         gl_PREREQ_SYS_H_WINSOCK2 always.
9760         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
9761         SYS_SOCKET_H variable.
9762         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
9763         Update comments.
9764         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
9765         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
9766         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
9767         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
9768         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
9769
9770 2010-03-14  Bruno Haible  <bruno@clisp.org>
9771
9772         Fix values returned by sinl, cosl.
9773         * lib/trigl.h: Add specification comments.
9774         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
9775         that combines the values from the precomputed table with the values of
9776         the Chebyshev polynomials.
9777
9778 2010-03-14  Bruno Haible  <bruno@clisp.org>
9779
9780         Fix compilation error when modules 'posix_spawn[p]' are not used.
9781         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
9782         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
9783
9784 2010-03-14  Bruno Haible  <bruno@clisp.org>
9785
9786         Fix compilation error on mingw when module 'time_r' is not used.
9787         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
9788         is 1.
9789         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
9790         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
9791         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
9792         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
9793
9794 2010-03-14  Bruno Haible  <bruno@clisp.org>
9795
9796         Fix compilation error with Sun C.
9797         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
9798         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
9799         instead of GCC specific ULONG_LONG_MAX.
9800         * lib/xstrtoll.c: Likewise.
9801         * lib/xstrtoull.c: Likewise.
9802
9803 2010-03-13  Bruno Haible  <bruno@clisp.org>
9804
9805         Allow the user to disable C++ code and tests.
9806         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
9807         (gl_PROG_ANSI_CXX): Require it.
9808
9809 2010-03-13  Bruno Haible  <bruno@clisp.org>
9810
9811         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
9812         cases.
9813
9814 2010-03-13  Bruno Haible  <bruno@clisp.org>
9815
9816         Test that gnulib does not break the standard C++ headers.
9817         * tests/test-locale-c++2.cc: New file.
9818         * modules/locale-tests (Files): Add it.
9819         (Makefile.am): Compile it for test-locale-c++.
9820         * tests/test-math-c++2.cc: New file.
9821         * modules/math-tests (Files): Add it.
9822         (Makefile.am): Compile it for test-math-c++.
9823         * tests/test-signal-c++2.cc: New file.
9824         * modules/signal-tests (Files): Add it.
9825         (Makefile.am): Compile it for test-signal-c++.
9826         * tests/test-stdio-c++2.cc: New file.
9827         * modules/stdio-tests (Files): Add it.
9828         (Makefile.am): Compile it for test-stdio-c++.
9829         * tests/test-stdlib-c++2.cc: New file.
9830         * modules/stdlib-tests (Files): Add it.
9831         (Makefile.am): Compile it for test-stdlib-c++.
9832         * tests/test-string-c++2.cc: New file.
9833         * modules/string-tests (Files): Add it.
9834         (Makefile.am): Compile it for test-string-c++.
9835         * tests/test-time-c++2.cc: New file.
9836         * modules/time-tests (Files): Add it.
9837         (Makefile.am): Compile it for test-time-c++.
9838         Reported by John W. Eaton <jwe@gnu.org>.
9839
9840 2010-03-13  Bruno Haible  <bruno@clisp.org>
9841
9842         * gnulib-tool (func_usage): Clarify which options are available for
9843         --create-testdir and --create-megatestdir.
9844
9845 2010-03-13  Bruno Haible  <bruno@clisp.org>
9846
9847         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
9848         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
9849         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
9850         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
9851         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
9852         when appropriate.
9853         Reported by Jim Meyering.
9854
9855 2010-03-12  Simon Josefsson  <simon@josefsson.org>
9856
9857         * gnulib-tool (func_import): Explain origin of code.
9858
9859 2010-03-12  Bruno Haible  <bruno@clisp.org>
9860
9861         Fix problem with automake's definition of CXXLINK.
9862         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
9863         Reported by Simon Josefsson and Ludovic Courtès.
9864
9865 2010-03-12  Bruno Haible  <bruno@clisp.org>
9866
9867         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
9868         stable releases.
9869
9870 2010-03-11  Bruno Haible  <bruno@clisp.org>
9871
9872         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
9873         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
9874         whether the system provides one variant or multiple variants of the
9875         function.
9876         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
9877         C++ compilers.
9878         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
9879         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
9880         Reported by Jim Meyering.
9881
9882 2010-03-09  Simon Josefsson  <simon@josefsson.org>
9883
9884         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
9885
9886 2010-03-08  Bruno Haible  <bruno@clisp.org>
9887
9888         gnulib-tool: Add support for --libtool in --create-testdir.
9889         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
9890         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
9891
9892 2010-03-08  Eric Blake  <eblake@redhat.com>
9893
9894         gnulib-tool.texi: mention possibility of git submodule
9895         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
9896         submodules.
9897         * doc/.gitignore: Ignore another generated file.
9898
9899 2010-03-08  Karl Berry  <karl@gnu.org>
9900
9901         * doc/gnulib-tool.texi (VCS Issues): Mention third option
9902         of committing gnulib files while skipping others.
9903
9904 2010-03-07  Bruno Haible  <bruno@clisp.org>
9905
9906         Tests of module 'wctype' in C++ mode.
9907         * tests/test-wctype-c++.cc: New file.
9908         * modules/wctype-tests (Files): Add it and tests/signature.h.
9909         (Depends-on): Add ansi-c++-opt.
9910         (Makefile.am): Arrange to compile and run test-wctype-c++.
9911
9912         Tests of module 'wchar' in C++ mode.
9913         * tests/test-wchar-c++.cc: New file.
9914         * modules/wchar-tests (Files): Add it and tests/signature.h.
9915         (Depends-on): Add ansi-c++-opt.
9916         (Makefile.am): Arrange to compile and run test-wchar-c++.
9917         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
9918         gl_MODULE_INDICATOR.
9919
9920         Tests of module 'unistd' in C++ mode.
9921         * tests/test-unistd-c++.cc: New file.
9922         * modules/unistd-tests (Files): Add it and tests/signature.h.
9923         (Depends-on): Add ansi-c++-opt.
9924         (Makefile.am): Arrange to compile and run test-unistd-c++.
9925         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
9926         gl_MODULE_INDICATOR.
9927
9928         Tests of module 'time' in C++ mode.
9929         * tests/test-time-c++.cc: New file.
9930         * modules/time-tests (Files): Add it and tests/signature.h.
9931         (Depends-on): Add ansi-c++-opt.
9932         (Makefile.am): Arrange to compile and run test-time-c++.
9933         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
9934
9935         Tests of module 'sys_time' in C++ mode.
9936         * tests/test-sys_time-c++.cc: New file.
9937         * modules/sys_time-tests (Files): Add it and tests/signature.h.
9938         (Depends-on): Add ansi-c++-opt.
9939         (Makefile.am): Arrange to compile and run test-sys_time-c++.
9940         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
9941         gl_MODULE_INDICATOR.
9942
9943         Tests of module 'sys_stat' in C++ mode.
9944         * tests/test-sys_stat-c++.cc: New file.
9945         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
9946         (Depends-on): Add ansi-c++-opt.
9947         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
9948         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
9949         gl_MODULE_INDICATOR.
9950
9951         Tests of module 'sys_socket' in C++ mode.
9952         * tests/test-sys_socket-c++.cc: New file.
9953         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
9954         (Depends-on): Add ansi-c++-opt.
9955         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
9956         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
9957         gl_MODULE_INDICATOR.
9958
9959         Tests of module 'sys_select' in C++ mode.
9960         * tests/test-sys_select-c++.cc: New file.
9961         * modules/sys_select-tests (Files): Add it and tests/signature.h.
9962         (Depends-on): Add ansi-c++-opt.
9963         (Makefile.am): Arrange to compile and run test-sys_select-c++.
9964         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
9965         gl_MODULE_INDICATOR.
9966
9967         Tests of module 'sys_ioctl' in C++ mode.
9968         * tests/test-sys_ioctl-c++.cc: New file.
9969         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
9970         (Depends-on): Add ansi-c++-opt.
9971         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
9972         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
9973         gl_MODULE_INDICATOR.
9974
9975         Tests of module 'string' in C++ mode.
9976         * tests/test-string-c++.cc: New file.
9977         * modules/string-tests (Files): Add it and tests/signature.h.
9978         (Depends-on): Add ansi-c++-opt.
9979         (Makefile.am): Arrange to compile and run test-string-c++.
9980         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
9981         gl_MODULE_INDICATOR.
9982
9983         Tests of module 'stdlib' in C++ mode.
9984         * tests/test-stdlib-c++.cc: New file.
9985         * modules/stdlib-tests (Files): Add it and tests/signature.h.
9986         (Depends-on): Add ansi-c++-opt.
9987         (Makefile.am): Arrange to compile and run test-stdlib-c++.
9988         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
9989         gl_MODULE_INDICATOR.
9990
9991         Tests of module 'stdio' in C++ mode.
9992         * tests/test-stdio-c++.cc: New file.
9993         * modules/stdio-tests (Files): Add it and tests/signature.h.
9994         (Depends-on): Add ansi-c++-opt.
9995         (Makefile.am): Arrange to compile and run test-stdio-c++.
9996         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
9997         gl_MODULE_INDICATOR.
9998
9999         Tests of module 'spawn' in C++ mode.
10000         * tests/test-spawn-c++.cc: New file.
10001         * modules/spawn-tests (Files): Add it and tests/signature.h.
10002         (Depends-on): Add ansi-c++-opt.
10003         (Makefile.am): Arrange to compile and run test-spawn-c++.
10004         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
10005         gl_MODULE_INDICATOR.
10006
10007         Tests of module 'signal' in C++ mode.
10008         * tests/test-signal-c++.cc: New file.
10009         * modules/signal-tests (Files): Add it and tests/signature.h.
10010         (Depends-on): Add ansi-c++-opt.
10011         (Makefile.am): Arrange to compile and run test-signal-c++.
10012         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
10013         gl_MODULE_INDICATOR.
10014
10015         Tests of module 'search' in C++ mode.
10016         * tests/test-search-c++.cc: New file.
10017         * modules/search-tests (Files): Add it and tests/signature.h.
10018         (Depends-on): Add ansi-c++-opt.
10019         (Makefile.am): Arrange to compile and run test-search-c++.
10020         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
10021         gl_MODULE_INDICATOR.
10022
10023         Tests of module 'math' in C++ mode.
10024         * tests/test-math-c++.cc: New file.
10025         * modules/math-tests (Files): Add it and tests/signature.h.
10026         (Depends-on): Add ansi-c++-opt.
10027         (Makefile.am): Arrange to compile and run test-math-c++.
10028         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
10029
10030         Tests of module 'locale' in C++ mode.
10031         * tests/test-locale-c++.cc: New file.
10032         * modules/locale-tests (Files): Add it and tests/signature.h.
10033         (Depends-on): Add ansi-c++-opt.
10034         (Makefile.am): Arrange to compile and run test-locale-c++.
10035         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
10036         gl_MODULE_INDICATOR.
10037
10038         Tests of module 'langinfo' in C++ mode.
10039         * tests/test-langinfo-c++.cc: New file.
10040         * modules/langinfo-tests (Files): Add it and tests/signature.h.
10041         (Depends-on): Add ansi-c++-opt.
10042         (Makefile.am): Arrange to compile and run test-langinfo-c++.
10043         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
10044         gl_MODULE_INDICATOR.
10045
10046         Tests of module 'iconv-h' in C++ mode.
10047         * tests/test-iconv-h-c++.cc: New file.
10048         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
10049         (Depends-on): Add ansi-c++-opt.
10050         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
10051
10052         Tests of module 'glob' in C++ mode.
10053         * tests/test-glob-c++.cc: New file.
10054         * modules/glob-tests (Files): Add it.
10055         (Depends-on): Add ansi-c++-opt.
10056         (Makefile.am): Arrange to compile and run test-glob-c++.
10057
10058         Tests of module 'fcntl-h' in C++ mode.
10059         * tests/test-fcntl-h-c++.cc: New file.
10060         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
10061         (Depends-on): Add ansi-c++-opt.
10062         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
10063         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
10064         gl_MODULE_INDICATOR.
10065
10066         Tests of module 'dirent' in C++ mode.
10067         * tests/test-dirent-c++.cc: New file.
10068         * modules/dirent-tests (Files): Add it and tests/signature.h.
10069         (Depends-on): Add ansi-c++-opt.
10070         (Makefile.am): Arrange to compile and run test-dirent-c++.
10071         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
10072         gl_MODULE_INDICATOR.
10073
10074         New module 'ansi-c++-opt'.
10075         * modules/ansi-c++-opt: New file.
10076         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
10077
10078         Document C++ namespace mode.
10079         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
10080
10081         wctype: Avoid #define replacements in C++ mode.
10082         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
10083         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
10084         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
10085         In C++, define a namespaced alias symbol.
10086         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
10087         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
10088         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
10089         rule.
10090
10091         wchar: Avoid #define replacements in C++ mode.
10092         * lib/wchar.in.h: Include c++defs.h.
10093         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
10094         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
10095         symbol.
10096         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
10097         * modules/wchar (Depends-on): Add c++defs.
10098         (Makefile.am): Update wchar.h rule.
10099
10100         unistd: Avoid #define replacements in C++ mode.
10101         * lib/unistd.in.h: Include c++defs.h.
10102         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
10103         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
10104         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
10105         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
10106         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
10107         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
10108         symbol.
10109         (environ): Update.
10110         * modules/unistd (Depends-on): Add c++defs.
10111         (Makefile.am): Update unistd.h rule.
10112
10113         time: Avoid #define replacements in C++ mode.
10114         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
10115         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
10116         define a namespaced alias symbol.
10117         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
10118         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
10119         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
10120         * modules/time (Depends-on): Add c++defs, warn-on-use.
10121         (Makefile.am): Update time.h rule.
10122         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
10123         * modules/nanosleep (configure.ac): Likewise.
10124         * modules/strptime (configure.ac): Likewise.
10125         * modules/timegm (configure.ac): Likewise.
10126
10127         sys_time: Avoid #define replacements in C++ mode.
10128         * lib/sys_time.in.h: Include c++defs.h.
10129         (gettimeofday): In C++, define a namespaced alias symbol.
10130         * modules/sys_time (Depends-on): Add c++defs.
10131         (Makefile.am): Update sys/time.h rule.
10132
10133         sys_stat: Avoid #define replacements in C++ mode.
10134         * lib/sys_stat.in.h: Include c++defs.h.
10135         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
10136         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
10137         namespaced alias symbol.
10138         In C++, define a namespaced alias symbol.
10139         * modules/sys_stat (Depends-on): Add c++defs.
10140         (Makefile.am): Update sys/stat.h rule.
10141
10142         sys_socket: Avoid #define replacements in C++ mode.
10143         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
10144         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
10145         definitions also when the system has a <sys/socket.h>.
10146         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
10147         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
10148         In C++, define a namespaced alias symbol.
10149         * modules/sys_socket (Depends-on): Add c++defs.
10150         (Makefile.am): Update sys/socket.h rule.
10151
10152         sys_select: Avoid #define replacements in C++ mode.
10153         * lib/sys_select.in.h: Include c++defs.h. Enable the function
10154         definitions also when the system has a <sys/select.h>.
10155         (select): In C++, define a namespaced alias symbol.
10156         * modules/sys_select (Depends-on): Add c++defs.
10157         (Makefile.am): Update sys/select.h rule.
10158
10159         sys_ioctl: Avoid #define replacements in C++ mode.
10160         * lib/sys_ioctl.in.h: Include c++defs.h.
10161         (ioctl): In C++, define a namespaced alias symbol.
10162         * modules/sys_ioctl (Depends-on): Add c++defs.
10163         (Makefile.am): Update sys/ioctl.h rule.
10164
10165         string: Avoid #define replacements in C++ mode.
10166         * lib/string.in.h: Include c++defs.h.
10167         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
10168         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
10169         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
10170         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
10171         strsignal, strverscmp): In C++, define a namespaced alias symbol.
10172         * modules/string (Depends-on): Add c++defs.
10173         (Makefile.am): Update string.h rule.
10174
10175         stdlib: Avoid #define replacements in C++ mode.
10176         * lib/stdlib.in.h: Include c++defs.h.
10177         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
10178         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
10179         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
10180         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
10181         symbol.
10182         * modules/stdlib (Depends-on): Add c++defs.
10183         (Makefile.am): Update stdlib.h rule.
10184
10185         stdio: Avoid #define replacements in C++ mode.
10186         * lib/stdio.in.h: Include c++defs.h.
10187         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
10188         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
10189         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
10190         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
10191         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
10192         namespaced alias symbol.
10193         * modules/stdio (Depends-on): Add c++defs.
10194         (Makefile.am): Update stdio.h rule.
10195
10196         spawn: Avoid #define replacements in C++ mode.
10197         * lib/spawn.in.h: Include c++defs.h.
10198         (posix_spawn, posix_spawnp, posix_spawnattr_init,
10199         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
10200         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
10201         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
10202         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
10203         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
10204         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
10205         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
10206         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
10207         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
10208         In C++, define a namespaced alias symbol.
10209         * modules/spawn (Depends-on): Add c++defs.
10210         (Makefile.am): Update spawn.h rule.
10211
10212         signal: Avoid #define replacements in C++ mode.
10213         * lib/signal.in.h: Include c++defs.h.
10214         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
10215         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
10216         namespaced alias symbol.
10217         * modules/signal (Depends-on): Add c++defs.
10218         (Makefile.am): Update signal.h rule.
10219
10220         search: Avoid #define replacements in C++ mode.
10221         * lib/search.in.h: Include c++defs.h.
10222         (_gl_search_compar_fn, _gl_search_action_fn): New types.
10223         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
10224         symbol.
10225         * modules/search (Depends-on): Add c++defs.
10226         (Makefile.am): Update search.h rule.
10227
10228         math: Avoid #define replacements in C++ mode.
10229         * lib/math.in.h: Include c++defs.h.
10230         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
10231         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
10232         trunc, truncl): In C++, define a namespaced alias symbol.
10233         * modules/math (Depends-on): Add c++defs.
10234         (Makefile.am): Update math.h rule.
10235
10236         locale: Avoid #define replacements in C++ mode.
10237         * lib/locale.in.h: Include c++defs.h.
10238         (duplocale): In C++, define a namespaced alias symbol.
10239         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
10240         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
10241         * modules/locale (Depends-on): Add c++defs.
10242         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
10243
10244         langinfo: Avoid #define replacements in C++ mode.
10245         * lib/langinfo.in.h: Include c++defs.h.
10246         (nl_langinfo): In C++, define a namespaced alias symbol.
10247         * modules/langinfo (Depends-on): Add c++defs.
10248         (Makefile.am): Update langinfo.h rule.
10249
10250         iconv-h: Avoid #define replacements in C++ mode.
10251         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
10252         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
10253         symbol.
10254         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
10255         whenever iconv is present.
10256         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
10257         (Makefile.am): Update iconv.h rule.
10258
10259         glob: Avoid #define replacements in C++ mode.
10260         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
10261         (_gl_glob_errfunc_fn): New type.
10262         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
10263         symbol.
10264         * modules/glob (Depends-on): Add c++defs, warn-on-use.
10265         (Makefile.am): Update glob.h rule.
10266
10267         fcntl-h: Avoid #define replacements in C++ mode.
10268         * lib/fcntl.in.h: Include c++defs.h.
10269         (fcntl, open, openat): In C++, define a namespaced alias symbol.
10270         * modules/fcntl-h (Depends-on): Add c++defs.
10271         (Makefile.am): Update fcntl.h rule.
10272
10273         dirent: Avoid #define replacements in C++ mode.
10274         * lib/dirent.in.h: Include c++defs.h.
10275         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
10276         namespaced alias symbol.
10277         (dirfd): Update declaration.
10278         * modules/dirent (Depends-on): Add c++defs.
10279         (Makefile.am): Update dirent.h rule.
10280
10281         ctype: Make it usable in C++ code.
10282         * lib/ctype.in.h: Include c++defs.h.
10283         (isblank): Declare as extern "C".
10284         * modules/ctype (Depends-on): Add c++defs.
10285         (Makefile.am): Update ctype.h rule.
10286
10287         New module 'c++defs'.
10288         * modules/c++defs: New file.
10289         * build-aux/c++defs.h: New file.
10290         Reported by John W. Eaton <jwe@gnu.org>.
10291
10292 2010-03-07  Bruno Haible  <bruno@clisp.org>
10293
10294         logb: Provide missing declaration for Cygwin.
10295         * lib/math.in.h (logb): New declaration.
10296         * m4/logb.m4: New file.
10297         * modules/logb (Files): Add m4/logb.m4.
10298         (Depends-on): Add math.
10299         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
10300         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
10301         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
10302         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
10303         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
10304
10305 2010-03-07  Bruno Haible  <bruno@clisp.org>
10306
10307         Fix test-cond link error.
10308         * tests/test-cond.c: Include <stdio.h>.
10309
10310 2010-03-07  Bruno Haible  <bruno@clisp.org>
10311
10312         Fix test-dirent-safer link error.
10313         * modules/dirent-safer-tests (Makefile.am): Define
10314         test_dirent_safer_LDADD.
10315
10316 2010-03-07  Bruno Haible  <bruno@clisp.org>
10317
10318         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
10319         among default module list.
10320
10321 2010-03-07  Bruno Haible  <bruno@clisp.org>
10322
10323         Fix link error on platforms with GNU libiconv.
10324         * modules/unistr/u8-strcoll-tests (Makefile): Define
10325         test_u8_strcoll_LDADD.
10326         * modules/unistr/u16-strcoll-tests (Makefile): Define
10327         test_u16_strcoll_LDADD.
10328         * modules/unistr/u32-strcoll-tests (Makefile): Define
10329         test_u32_strcoll_LDADD.
10330
10331 2010-03-07  Bruno Haible  <bruno@clisp.org>
10332
10333         Use POSIX declarations for socket functions.
10334         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
10335         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
10336         rpl_sendto): Change declaration to match POSIX.
10337         * lib/connect.c (rpl_connect): Likewise.
10338         * lib/accept.c (rpl_accept): Likewise.
10339         * lib/bind.c (rpl_bind): Likewise.
10340         * lib/getpeername.c (rpl_getpeername): Likewise.
10341         * lib/getsockname.c (rpl_getsockname): Likewise.
10342         * lib/recv.c (rpl_recv): Likewise.
10343         * lib/send.c (rpl_send): Likewise.
10344         * lib/recvfrom.c (rpl_recvfrom): Likewise.
10345         * lib/sendto.c (rpl_sendto): Likewise.
10346
10347 2010-03-06  Bruno Haible  <bruno@clisp.org>
10348
10349         Clarify access, euidaccess, faccessat.
10350         * doc/posix-functions/faccessat.texi: Mention security problem under
10351         "Other problems", not "Portability problems".
10352         * doc/posix-functions/access.texi: Likewise. Mention a related security
10353         problem.
10354         * doc/glibc-functions/euidaccess.texi: Mention security problems.
10355         * lib/euidaccess.c: Add comments about platforms.
10356         * lib/unistd.in.h (access, euidaccess): Add warnings.
10357
10358 2010-03-07  Bruno Haible  <bruno@clisp.org>
10359
10360         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
10361         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
10362         (POSIX_SPAWN_SETSCHEDULER): Likewise.
10363         (POSIX_SPAWN_USEVFORK): Define in a way that works when
10364         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
10365         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
10366         declare when POSIX_SPAWN_SETSCHEDULER is zero.
10367         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
10368         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
10369         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
10370         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
10371         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
10372         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
10373         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
10374         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
10375         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
10376         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
10377         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
10378         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
10379         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
10380         Likewise.
10381         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
10382         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
10383         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
10384         Likewise.
10385         * tests/test-spawn.c (main): Make it work when
10386         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
10387
10388 2010-03-07  Bruno Haible  <bruno@clisp.org>
10389
10390         Fix incorrect Makefile.am generation in German locale.
10391         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
10392         Execute sed command with character range in C locale.
10393
10394 2010-03-06  Bruno Haible  <bruno@clisp.org>
10395
10396         Tests for module 'iconv-h'.
10397         * modules/iconv-h-tests: New file.
10398         * tests/test-iconv-h.c: New file.
10399
10400         New module 'iconv-h'.
10401         * modules/iconv-h: New file.
10402         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
10403         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
10404         (configure.ac): Remove gl_ICONV_H.
10405         (Makefile.am): Remove rule for iconv.h.
10406
10407 2010-03-06  Bruno Haible  <bruno@clisp.org>
10408
10409         More consistent naming of *.m4 files.
10410         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
10411         * modules/wctype (Files): Update.
10412
10413         More consistent naming of *.m4 files.
10414         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
10415         * modules/wchar (Files): Update.
10416
10417 2010-03-06  Jim Meyering  <meyering@redhat.com>
10418
10419         euidaccess: relax license to LGPLv2+
10420         * modules/euidaccess (License): Relax to LGPLv2+.
10421
10422 2010-03-06  Bruno Haible  <bruno@clisp.org>
10423
10424         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
10425         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
10426         (Makefile.am): Augment lib_SOURCES instead.
10427
10428 2010-03-04  Jim Meyering  <meyering@redhat.com>
10429
10430         utime: remove obsolete module
10431         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
10432         unnecessary for years, and has been marked as obsolete for 10 months.
10433         * modules/utime: Remove file.
10434         * lib/utime.c: Remove file.
10435         * m4/utime.m4: Remove file.
10436         * m4/utimes-null.m4: Remove file.
10437         * doc/posix-functions/utime.texi (utime): Remove reference to
10438         the module.  Move the sole "fixed by gnulib" item into the
10439         "problems not fixed by Gnulib" list.
10440         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
10441
10442 2010-03-05  Simon Josefsson  <simon@josefsson.org>
10443
10444         * modules/exit (License): Relax license to LGPLv2+.
10445         (Status): Mark as obsolete.
10446         * NEWS: Mention deprecated 'exit' module.
10447         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
10448         of now obsolete 'exit'.
10449
10450 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10451
10452         fts-lgpl: remove unused module
10453         * modules/fts-lgpl: Remove.
10454         * MODULES.html.sh (func_all_modules): Adjust.
10455         * check-module (find_included_lib_files): Adjust.
10456         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
10457
10458 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
10459
10460         copy-acl: enhance Solaris ACL error handling
10461         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
10462         * lib/set-mode-acl.c (qset_acl): Likewise.
10463
10464 2010-03-02  Bruno Haible  <bruno@clisp.org>
10465
10466         spawn: Don't override the system defined values on FreeBSD 8.
10467         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
10468         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
10469         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
10470         if HAVE_POSIX_SPAWN is 1.
10471         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
10472
10473 2010-03-01  Bruno Haible  <bruno@clisp.org>
10474
10475         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
10476         regarding Automake.
10477
10478 2010-02-25  Bruno Haible  <bruno@clisp.org>
10479
10480         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
10481         * gnulib-tool: Define 'echo' as a function only before the ksh alias
10482         setting, not afterwards.
10483         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
10484
10485 2010-02-24  Eric Blake  <eblake@redhat.com>
10486
10487         bootstrap, git-version-gen: use timestamp
10488         * build-aux/git-version-gen (scriptversion): Force UTC.
10489         * build-aux/bootstrap (scriptversion): New variable.
10490
10491         bootstrap: allow older git
10492         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
10493         older than 1.6.4.  Requested by the libvirt project.
10494
10495 2010-02-23  Eric Blake  <eblake@redhat.com>
10496
10497         warn-on-use: work with old autoconf
10498         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
10499         AS_VAR semantics of autoconf 2.60.
10500         Reported by Bruno Haible.
10501
10502         bootstrap: improve some comments
10503         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
10504         clarification comments.
10505
10506         gettimeofday: provide correct function
10507         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
10508         when replacement is declared, otherwise provide gettimeofday.
10509         Reported by Michael Goffioul.
10510
10511 2010-02-23  Jim Meyering  <meyering@redhat.com>
10512
10513         lib-ignore: relax license to "unlimited", not LGPLv2+
10514         * modules/lib-ignore (License): Relax to "unlimited".
10515
10516 2010-02-23  Jim Meyering  <meyering@redhat.com>
10517
10518         lib-ignore: relax license to LGPLv2+
10519         * modules/lib-ignore (License): Relax to LGPLv2+.
10520
10521 2010-02-22  Eric Blake  <eblake@redhat.com>
10522
10523         lseek: avoid bash 3.2 broken pipe bug
10524         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
10525         warning from bash 3.2.
10526         Reported by Ben Pfaff, with analysis from Bruno Haible.
10527
10528         bootstrap: support non-FSF copyright holder
10529         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
10530         bootstrap.conf override of COPYRIGHT_HOLDER.
10531         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
10532
10533         bootstrap: interoperate with gettext 0.14.1
10534         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
10535
10536         bootstrap: allow for alternate submodule location
10537         * build-aux/bootstrap (gnulib_path): New variable; use instead of
10538         hardcoding submodule location.
10539         (gnulib_mk): Allow direct use of Makefile.am.
10540
10541         bootstrap: use GNULIB_SRCDIR to reduce disk usage
10542         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
10543         rather than reconfiguring where the submodule points.
10544
10545         gettimeofday: restore support for platforms that lack function
10546         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
10547         replacement if function is missing.
10548         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
10549         * modules/sys_time (Makefile.am): Substitute it.
10550         * lib/sys_time.in.h (gettimeofday): Check it.
10551         Reported by Michael Goffioul.
10552
10553 2010-02-21  Bruno Haible  <bruno@clisp.org>
10554
10555         * lib/stdio.in.h (obstack_printf): Fix typo.
10556
10557 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
10558
10559         vc-list-files: use bzr ls's -R option
10560         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
10561         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
10562
10563 2010-02-21  Jim Meyering  <meyering@redhat.com>
10564
10565         init.sh: fix EXEEXT shims to work also for names like test-prog
10566         * tests/init.sh: Re-exec a better shell, when needed.
10567         If the current shell lacks support for posix $(...), an init.sh-using
10568         test will now try to find a shell that supports that.  If EXEEXT is
10569         nonempty, we also require support for hyphen-in-alias-name and shell
10570         substitutions like ${var#glob}.  Failure to find such a shell results
10571         in a skipped test.
10572
10573 2010-02-21  Bruno Haible  <bruno@clisp.org>
10574
10575         Really work around around "broken pipe" error message from bash 3.2.
10576         * gnulib-tool (func_reset_sigpipe): Remove function.
10577         (echo): In bash 3.2, define to a function that uses printf.
10578         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
10579
10580 2010-02-20  Bruno Haible  <bruno@clisp.org>
10581
10582         Restore support for automake 1.9.6 with autoconf 2.61.
10583         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
10584         Reported by James Youngman <jay@gnu.org>.
10585
10586 2010-02-20  Bruno Haible  <bruno@clisp.org>
10587
10588         Improve *printf warning condition.
10589         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
10590         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
10591         and the function is overridden due to SIGPIPE emulation.
10592
10593 2010-02-20  Bruno Haible  <bruno@clisp.org>
10594
10595         * lib/stdio.in.h: Tweak comments.
10596
10597 2010-02-19  Bruno Haible  <bruno@clisp.org>
10598
10599         Make it easier to find modules. New gnulib-tool option '--find'.
10600         * gnulib-tool: New option --find.
10601         (func_usage): Document it.
10602         (func_sanitize_modulelist): New function, extracted from
10603         func_all_modules.
10604         (func_all_modules): Invoke it.
10605         * doc/gnulib-tool.texi (Which modules?): New node.
10606
10607 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
10608
10609         * lib/sys_select.in.h: Provide select replacement even if
10610         sys/select.h exists on a system, for Interix.
10611
10612 2010-02-18  Jim Meyering  <meyering@redhat.com>
10613
10614         init.sh: don't use $(...) just yet
10615         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
10616         to accommodate e.g., Solaris' /bin/sh.
10617
10618 2010-02-17  Bruno Haible  <bruno@clisp.org>
10619
10620         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
10621         Reported by Ludovic Courtès <ludo@gnu.org>.
10622
10623 2010-02-16  Simon Josefsson  <simon@josefsson.org>
10624
10625         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
10626         linking with -lintl.
10627
10628 2010-02-17  Simon Josefsson  <simon@josefsson.org>
10629
10630         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
10631         if not provided by the system's netdb.h.  Reported by
10632         ludo@gnu.org (Ludovic Courtès).
10633
10634 2010-02-15  Jim Meyering  <meyering@redhat.com>
10635
10636         init.sh: improve portability and efficiency
10637         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
10638         "dummy" in a for loop.
10639         Use '!', not '^' to select the complement of a character set used
10640         in a "case" statement.
10641         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
10642         Suggestions from Eric Blake.
10643
10644         init.sh: automatically accommodate programs with the .exe suffix
10645         Automatically arrange for an invocation of "prog" to execute the
10646         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
10647         may use the simpler "prog", yet still work when built on a system
10648         that requires specifying the added suffix.
10649         Do this by constructing a function named "prog" that invokes
10650         "prog.exe" for each .exe file in selected directories.
10651         * tests/init.sh (find_exe_basenames_): New function.
10652         (create_exe_shim_functions_): New function.
10653         (path_prepend_): Use it.
10654
10655         maint.mk: mark syntax-check sc_*.m rules as .PHONY
10656         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
10657         "make -t syntax-check" doesn't create a ton of sc_*.m files.
10658
10659 2010-02-14  Jim Meyering  <meyering@redhat.com>
10660
10661         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
10662         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
10663         (sc_prohibit_hash_pjw_without_use): New rule.
10664
10665         maint.mk: allow the default upload destination dir to be overridden
10666         * top/maint.mk (upload_dest_dir_): Define with a default that
10667         preserves the status quo.
10668         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
10669         Reported by Peter Simons.
10670
10671         maint.mk: prohibit inclusion of "hash.h" without_use
10672         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
10673
10674 2010-02-10  Jim Meyering  <meyering@redhat.com>
10675
10676         maint.mk: prohibit inclusion of "ignore-value.h" without_use
10677         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
10678
10679 2010-02-09  Eric Blake  <ebb9@byu.net>
10680         and Bruno Haible  <bruno@clisp.org>
10681
10682         obstack-printf-posix: ensure declaration
10683         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
10684         extracted from gl_FUNC_OBSTACK_PRINTF.
10685         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
10686         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
10687         Likewise.
10688         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
10689         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
10690         0.
10691
10692 2010-02-08  Bruno Haible  <bruno@clisp.org>
10693
10694         gnulib-tool: Fix typo in 2010-02-07 commit.
10695         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
10696         Reported by Eric Blake.
10697
10698 2010-02-07  Bruno Haible  <bruno@clisp.org>
10699
10700         gnulib-tool: Fix up caching patches.
10701         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
10702         option --no-cache. Use associative arrays when supported by the shell.
10703         (sed_comments): New variable.
10704         (modcache): Renamed from do_cache.
10705         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
10706         abbreviate unnecessarily.
10707         (have_associative): New variable.
10708         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
10709         way also for ksh and zsh.
10710         (func_init_sed_convert_to_cache_statements): New function, extracted
10711         from func_cache_lookup_module. Add support for associative arrays.
10712         Don't set the c_MODULE_cached variable here. Ignore all lines before
10713         the first field header. Remove only the final newline, not all trailing
10714         newlines. Support empty fields correctly. Limit the use of 'eval' to
10715         assignments.
10716         (func_get_description, func_get_status, func_get_notice,
10717         func_get_applicability, func_get_filelist, func_get_dependencies,
10718         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
10719         func_get_automake_snippet, func_get_include_directive,
10720         func_get_link_directive, func_get_license, func_get_maintainer):
10721         Update documentation. List the unoptimized code first. Add support for
10722         associative arrays. Limit the use of 'eval' to assignments.
10723         (func_get_applicability): Undo stylistic pessimisations.
10724         (func_get_automake_snippet, func_get_include_directive): Reduce code
10725         duplication.
10726         (func_modules_transitive_closure, func_modules_add_dummy,
10727         func_modules_notice, func_modules_to_filelist, func_add_file,
10728         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
10729         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
10730         func_create_testdir, func_create_megatestdir): Update documentation.
10731
10732 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10733
10734         * gnulib-tool (func_cache_lookup_module): Store the module name
10735         belonging to the cache variable; error out if two different
10736         module names map to the same cache variable name.
10737
10738 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10739
10740         gnulib-tool: Make caching optional.
10741         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
10742         Update matching short versions of --no-changelog.
10743         (func_usage): Update.
10744         (sed_extract_cache_prog): Renamed from ...
10745         (sed_extract_prog): ... this; revert to old extraction script.
10746         (func_get_description, func_get_status)
10747         (func_get_notice, func_get_applicability, func_get_filelist)
10748         (func_get_dependencies, func_get_autoconf_early_snippet)
10749         (func_get_autoconf_snippet, func_get_automake_snippet)
10750         (func_get_include_directive, func_get_link_directive)
10751         (func_get_license, func_get_maintainer): If $do_cache is false,
10752         use old, non-caching extraction scripts.
10753         Suggestion by Bruno Haible.
10754
10755 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10756
10757         gnulib-tool: cache module metainformation.
10758         * gnulib-tool (sed_extract_prog): Match newline before each
10759         header, and rewrite header to a shell variable suffix.
10760         (func_cache_var, func_cache_lookup_module): New functions,
10761         to turn a module name into a cache variable prefix, and to
10762         look up and cache module metainformation.
10763         (func_get_description, func_get_status)
10764         (func_get_notice, func_get_applicability, func_get_filelist)
10765         (func_get_dependencies, func_get_autoconf_early_snippet)
10766         (func_get_autoconf_snippet, func_get_automake_snippet)
10767         (func_get_include_directive, func_get_link_directive)
10768         (func_get_license, func_get_maintainer): Use
10769         func_cache_lookup_module.
10770
10771 2010-02-07  Bruno Haible  <bruno@clisp.org>
10772
10773         fnctl: Fix missing dependency.
10774         * modules/fcntl (Depends-on): Add getdtablesize.
10775         Reported by John W. Eaton <jwe@gnu.org>.
10776
10777 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
10778
10779         Argp: fix recognition of short alias options.
10780
10781         * lib/argp-parse.c (convert_options): Fix improper use of
10782         `|' between character values.
10783         * tests/test-argp.c (group1_option): New alias option
10784         --read (-r).
10785         (group1_parser): Special handling for 'r'.
10786         (test15): New test case.
10787         (test_fun): Add test15.
10788         * tests/test-argp-2.sh: Update expected --help and --usage
10789         outputs.
10790
10791 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
10792
10793         * tests/test-argp.c: Fix indentation.
10794
10795 2010-02-04  Eric Blake  <ebb9@byu.net>
10796
10797         gettimeofday: expose type of second argument
10798         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
10799         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
10800         * tests/test-gettimeofday.c: Use it to silence warning.
10801         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
10802         the issue.
10803
10804 2010-02-03  Jim Meyering  <meyering@redhat.com>
10805
10806         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
10807         * lib/regcomp.c (TYPE_SIGNED): Define.
10808         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
10809
10810         regcomp.c: avoid a new -Wshadow warning
10811         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
10812
10813 2010-02-01  Jim Meyering  <meyering@redhat.com>
10814
10815         removing useless parentheses in cpp #define directives
10816         For motivation, see commit c0221df4, "define STREQ(a,b)
10817         consistently, removing useless parentheses"
10818         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
10819         * lib/mountlist.c (MNT_IGNORE): Likewise.
10820         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
10821
10822 2010-02-01  Eric Blake  <ebb9@byu.net>
10823
10824         sys_time: use link-warning
10825         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
10826         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
10827         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
10828         * modules/sys_time (Depends-on): Add warn-on-use.
10829         (Makefile.am): Always build replacement.
10830         (configure.ac): Update substitutions.
10831         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
10832         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
10833         bother with SYS_TIME_H.
10834         * modules/gettimeofday (configure.ac): Declare indicator.
10835         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
10836         in use.
10837
10838         closein-tests: silence compiler warning
10839         * tests/test-closein.c (main): Ignore fread result.
10840         * modules/closein-tests (Depends-on): Add ignore-value.
10841
10842         tests: silence warning about system return
10843         * tests/test-areadlink-with-size.c (main): Ignore system result.
10844         * tests/test-areadlink.c (main): Likewise.
10845         * tests/test-areadlinkat-with-size.c (main): Likewise.
10846         * tests/test-areadlinkat.c (main): Likewise.
10847         * tests/test-canonicalize-lgpl.c (main): Likewise.
10848         * tests/test-canonicalize.c (main): Likewise.
10849         * tests/test-chown.c (main): Likewise.
10850         * tests/test-fchownat.c (main): Likewise.
10851         * tests/test-fdutimensat.c (main): Likewise.
10852         * tests/test-fstatat.c (main): Likewise.
10853         * tests/test-futimens.c (main): Likewise.
10854         * tests/test-lchown.c (main): Likewise.
10855         * tests/test-link.c (main): Likewise.
10856         * tests/test-linkat.c (main): Likewise.
10857         * tests/test-lstat.c (main): Likewise.
10858         * tests/test-mkdir.c (main): Likewise.
10859         * tests/test-mkdirat.c (main): Likewise.
10860         * tests/test-mkfifo.c (main): Likewise.
10861         * tests/test-mkfifoat.c (main): Likewise.
10862         * tests/test-mknod.c (main): Likewise.
10863         * tests/test-readlink.c (main): Likewise.
10864         * tests/test-remove.c (main): Likewise.
10865         * tests/test-rename.c (main): Likewise.
10866         * tests/test-renameat.c (main): Likewise.
10867         * tests/test-rmdir.c (main): Likewise.
10868         * tests/test-symlink.c (main): Likewise.
10869         * tests/test-symlinkat.c (main): Likewise.
10870         * tests/test-unlink.c (main): Likewise.
10871         * tests/test-unlinkat.c (main): Likewise.
10872         * tests/test-utimens.c (main): Likewise.
10873         * tests/test-utimensat.c (main): Likewise.
10874         * modules/areadlink-tests (Depends-on): Add ignore-value.
10875         * modules/areadlink-with-size-tests (Depends-on): Likewise.
10876         * modules/areadlinkat-tests (Depends-on): Likewise.
10877         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
10878         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
10879         * modules/canonicalize-tests (Depends-on): Likewise.
10880         * modules/chown-tests (Depends-on): Likewise.
10881         * modules/fdutimensat-tests (Depends-on): Likewise.
10882         * modules/futimens-tests (Depends-on): Likewise.
10883         * modules/lchown-tests (Depends-on): Likewise.
10884         * modules/link-tests (Depends-on): Likewise.
10885         * modules/linkat-tests (Depends-on): Likewise.
10886         * modules/lstat-tests (Depends-on): Likewise.
10887         * modules/mkdir-tests (Depends-on): Likewise.
10888         * modules/mkfifo-tests (Depends-on): Likewise.
10889         * modules/mkfifoat-tests (Depends-on): Likewise.
10890         * modules/mknod-tests (Depends-on): Likewise.
10891         * modules/openat-tests (Depends-on): Likewise.
10892         * modules/readlink-tests (Depends-on): Likewise.
10893         * modules/remove-tests (Depends-on): Likewise.
10894         * modules/rename-tests (Depends-on): Likewise.
10895         * modules/renameat-tests (Depends-on): Likewise.
10896         * modules/rmdir-tests (Depends-on): Likewise.
10897         * modules/symlink-tests (Depends-on): Likewise.
10898         * modules/symlinkat-tests (Depends-on): Likewise.
10899         * modules/unlink-tests (Depends-on): Likewise.
10900         * modules/utimens-tests (Depends-on): Likewise.
10901         * modules/utimensat-tests (Depends-on): Likewise.
10902
10903 2010-01-31  Bruno Haible  <bruno@clisp.org>
10904
10905         Perform the same test for many <math.h> functions.
10906         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
10907         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
10908         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
10909         of gl_MATHFUNC.
10910         * modules/acos (configure.ac): Likewise.
10911         * modules/asin (configure.ac): Likewise.
10912         * modules/atan (configure.ac): Likewise.
10913         * modules/atan2 (configure.ac): Likewise.
10914         * modules/cbrt (configure.ac): Likewise.
10915         * modules/copysign (configure.ac): Likewise.
10916         * modules/cos (configure.ac): Likewise.
10917         * modules/cosh (configure.ac): Likewise.
10918         * modules/erf (configure.ac): Likewise.
10919         * modules/erfc (configure.ac): Likewise.
10920         * modules/exp (configure.ac): Likewise.
10921         * modules/fmod (configure.ac): Likewise.
10922         * modules/hypot (configure.ac): Likewise.
10923         * modules/j0 (configure.ac): Likewise.
10924         * modules/j1 (configure.ac): Likewise.
10925         * modules/jn (configure.ac): Likewise.
10926         * modules/lgamma (configure.ac): Likewise.
10927         * modules/log (configure.ac): Likewise.
10928         * modules/log10 (configure.ac): Likewise.
10929         * modules/log1p (configure.ac): Likewise.
10930         * modules/pow (configure.ac): Likewise.
10931         * modules/remainder (configure.ac): Likewise.
10932         * modules/sin (configure.ac): Likewise.
10933         * modules/sinh (configure.ac): Likewise.
10934         * modules/tan (configure.ac): Likewise.
10935         * modules/tanh (configure.ac): Likewise.
10936         * modules/y0 (configure.ac): Likewise.
10937         * modules/y1 (configure.ac): Likewise.
10938         * modules/yn (configure.ac): Likewise.
10939         Suggested by Paolo Bonzini.
10940
10941 2010-01-31  Bruno Haible  <bruno@clisp.org>
10942
10943         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
10944
10945 2010-01-31  Bruno Haible  <bruno@clisp.org>
10946
10947         Work around getdelim() bug on FreeBSD 8.0.
10948         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
10949         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
10950         not work.
10951         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
10952         is 1.
10953         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
10954         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
10955         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
10956         a non-zero size.
10957         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
10958
10959 2010-01-31  Bruno Haible  <bruno@clisp.org>
10960
10961         Work around getline() bug on FreeBSD 8.0.
10962         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
10963         and a non-zero size.
10964         * tests/test-getline.c (main): Likewise.
10965         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
10966         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
10967
10968 2010-01-28  Eric Blake  <ebb9@byu.net>
10969
10970         regex: fix build failure
10971         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
10972         platforms.
10973
10974 2010-01-28  Jim Meyering  <meyering@redhat.com>
10975
10976         regex: do not ignore memory allocation failure
10977         * lib/regex_internal.c (create_cd_newstate): Detect
10978         re_node_set_init_copy failure.   Extracted from glibc commit
10979         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
10980
10981         regex: sync more white-space changes from libc
10982         * lib/regex_internal.c: White-space only changes.
10983         * lib/regexec.c: Likewise.
10984
10985         regex: add many uses of __attribute_warn_unused_result__
10986         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
10987         * lib/regexec.c: Likewise.
10988         Extracted from a messy glibc commit.
10989
10990         regcomp.c: spelling and merge-artifact from glibc
10991         * lib/regcomp.c: Merge remainder of glibc's
10992         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
10993
10994         regcomp.c: sync white-space changes from glibc
10995         * lib/regcomp.c: Merge to accommodate white space
10996         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
10997
10998         regcomp.c: do not ignore internal return values
10999         * lib/regcomp.c: Do not ignore internal return values.
11000         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
11001         but without its white-space changes and spelling fixes.
11002
11003         regex_internal.h: define __attribute_warn_unused_result__
11004         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
11005
11006         maint: add a syntax-check rule to check for vulnerable Makefile.in
11007         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
11008
11009 2010-01-27  Jim Meyering  <meyering@redhat.com>
11010
11011         ncftpput-ftp: clean up spaces
11012         * build-aux/ncftpput-ftp: Make Copyright line consistent.
11013         Remove trailing blanks.
11014
11015 2010-01-27  Simon Josefsson  <simon@josefsson.org>
11016
11017         * build-aux/git-version-gen: Fix copyright statement.
11018         * build-aux/gnupload: Likewise.
11019         * tests/test-arcfour.c: Likewise.
11020         * tests/test-arctwo.c: Likewise.
11021         * tests/test-count-one-bits.c: Likewise.
11022         * tests/test-crc.c: Likewise.
11023         * tests/test-des.c: Likewise.
11024         * tests/test-gc-arcfour.c: Likewise.
11025         * tests/test-gc-arctwo.c: Likewise.
11026         * tests/test-gc-des.c: Likewise.
11027         * tests/test-gc-hmac-md5.c: Likewise.
11028         * tests/test-gc-hmac-sha1.c: Likewise.
11029         * tests/test-gc-md2.c: Likewise.
11030         * tests/test-gc-md4.c: Likewise.
11031         * tests/test-gc-md5.c: Likewise.
11032         * tests/test-gc-pbkdf2-sha1.c: Likewise.
11033         * tests/test-gc-rijndael.c: Likewise.
11034         * tests/test-gc-sha1.c: Likewise.
11035         * tests/test-gc.c: Likewise.
11036         * tests/test-gethostname.c: Likewise.
11037         * tests/test-gettimeofday.c: Likewise.
11038         * tests/test-hash.c: Likewise.
11039         * tests/test-hmac-md5.c: Likewise.
11040         * tests/test-hmac-sha1.c: Likewise.
11041         * tests/test-md2.c: Likewise.
11042         * tests/test-md4.c: Likewise.
11043         * tests/test-md5.c: Likewise.
11044         * tests/test-memchr.c: Likewise.
11045         * tests/test-memchr2.c: Likewise.
11046         * tests/test-memcmp.c: Likewise.
11047         * tests/test-memmem.c: Likewise.
11048         * tests/test-memrchr.c: Likewise.
11049         * tests/test-rawmemchr.c: Likewise.
11050         * tests/test-read-file.c: Likewise.
11051         * tests/test-rijndael.c: Likewise.
11052         * tests/test-sockets.c: Likewise.
11053         * tests/test-strchrnul.c: Likewise.
11054         * tests/test-strstr.c: Likewise.
11055         * tests/test-strtod.c: Likewise.
11056         * build-aux/ncftpput-ftp: Likewise.
11057
11058 2010-01-26  Eric Blake  <ebb9@byu.net>
11059
11060         ignore-value: update recommended header name
11061         * modules/ignore-value (Include): Only use <> for headers that
11062         exist in glibc.
11063
11064 2010-01-26  Jim Meyering  <meyering@redhat.com>
11065
11066         test-userspec.c: avoid compiler warnings
11067         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
11068         and "initialization discards qualifiers..." warnings.
11069         Put the first "uid" in its own scope, and make char* members "const".
11070
11071 2010-01-25  Bruno Haible  <bruno@clisp.org>
11072
11073         gnulib-tool: Make warning diagnostics consistent.
11074         * gnulib-tool (func_warning): New function.
11075         Use it everywhere where gnulib-tool produces output to stderr and it is
11076         not a fatal error.
11077
11078 2010-01-25  Bruno Haible  <bruno@clisp.org>
11079
11080         Fix test dependencies.
11081         * modules/xstrtol-tests (Depends-on): Add inttypes.
11082         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
11083
11084 2010-01-25 Pádraig Brady <P@draigBrady.com>
11085
11086         syntax-check: detect incorrect boolean macro values in config.h
11087         * modules/maintainer-makefile (configure.ac): Parameterize the location
11088         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
11089         The logic is from Eric Blake and the location indicated by Jim Meyering.
11090         Note the more natural CONFIG_HEADER name is prohibited by automake
11091         for backwards compatibility reasons.
11092         * top/maint.mk (sc_Wundef_boolean): New rule.
11093
11094 2010-01-25  Jim Meyering  <meyering@redhat.com>
11095
11096         bootstrap: detect MacOS 10.6's shasum, too
11097         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
11098         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
11099
11100 2010-01-23  Jim Meyering  <meyering@redhat.com>
11101
11102         xstrtoll: new module
11103         * modules/xstrtoll: New file.
11104         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
11105         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
11106         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
11107         ./configure fails if you use this module and lack "long long".
11108         * modules/xstrtoll-tests: New module.
11109         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
11110         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
11111         new init.sh-based test framework.
11112
11113 2010-01-24  Bruno Haible  <bruno@clisp.org>
11114
11115         Tests for module 'yn'.
11116         * modules/yn-tests: New file.
11117         * tests/test-yn.c: New file.
11118
11119         Tests for module 'y1'.
11120         * modules/y1-tests: New file.
11121         * tests/test-y1.c: New file.
11122
11123         Tests for module 'y0'.
11124         * modules/y0-tests: New file.
11125         * tests/test-y0.c: New file.
11126
11127         Tests for module 'tanh'.
11128         * modules/tanh-tests: New file.
11129         * tests/test-tanh.c: New file.
11130
11131         Tests for module 'tan'.
11132         * modules/tan-tests: New file.
11133         * tests/test-tan.c: New file.
11134
11135         Tests for module 'sqrt'.
11136         * modules/sqrt-tests: New file.
11137         * tests/test-sqrt.c: New file.
11138
11139         Tests for module 'sinh'.
11140         * modules/sinh-tests: New file.
11141         * tests/test-sinh.c: New file.
11142
11143         Tests for module 'sin'.
11144         * modules/sin-tests: New file.
11145         * tests/test-sin.c: New file.
11146
11147         Tests for module 'rint'.
11148         * modules/rint-tests: New file.
11149         * tests/test-rint.c: New file.
11150
11151         Tests for module 'remainder'.
11152         * modules/remainder-tests: New file.
11153         * tests/test-remainder.c: New file.
11154
11155         Tests for module 'pow'.
11156         * modules/pow-tests: New file.
11157         * tests/test-pow.c: New file.
11158
11159         Tests for module 'nextafter'.
11160         * modules/nextafter-tests: New file.
11161         * tests/test-nextafter.c: New file.
11162
11163         Tests for module 'modf'.
11164         * modules/modf-tests: New file.
11165         * tests/test-modf.c: New file.
11166
11167         Tests for module 'logb'.
11168         * modules/logb-tests: New file.
11169         * tests/test-logb.c: New file.
11170
11171         Tests for module 'log1p'.
11172         * modules/log1p-tests: New file.
11173         * tests/test-log1p.c: New file.
11174
11175         Tests for module 'log10'.
11176         * modules/log10-tests: New file.
11177         * tests/test-log10.c: New file.
11178
11179         Tests for module 'log'.
11180         * modules/log-tests: New file.
11181         * tests/test-log.c: New file.
11182
11183         Tests for module 'lgamma'.
11184         * modules/lgamma-tests: New file.
11185         * tests/test-lgamma.c: New file.
11186
11187         Tests for module 'ldexp'.
11188         * modules/ldexp-tests: New file.
11189         * tests/test-ldexp.c: New file.
11190
11191         Tests for module 'jn'.
11192         * modules/jn-tests: New file.
11193         * tests/test-jn.c: New file.
11194
11195         Tests for module 'j1'.
11196         * modules/j1-tests: New file.
11197         * tests/test-j1.c: New file.
11198
11199         Tests for module 'j0'.
11200         * modules/j0-tests: New file.
11201         * tests/test-j0.c: New file.
11202
11203         Tests for module 'hypot'.
11204         * modules/hypot-tests: New file.
11205         * tests/test-hypot.c: New file.
11206
11207         Tests for module 'fmod'.
11208         * modules/fmod-tests: New file.
11209         * tests/test-fmod.c: New file.
11210
11211         Tests for module 'fabs'.
11212         * modules/fabs-tests: New file.
11213         * tests/test-fabs.c: New file.
11214
11215         Tests for module 'exp'.
11216         * modules/exp-tests: New file.
11217         * tests/test-exp.c: New file.
11218
11219         Tests for module 'erfc'.
11220         * modules/erfc-tests: New file.
11221         * tests/test-erfc.c: New file.
11222
11223         Tests for module 'erf'.
11224         * modules/erf-tests: New file.
11225         * tests/test-erf.c: New file.
11226
11227         Tests for module 'cosh'.
11228         * modules/cosh-tests: New file.
11229         * tests/test-cosh.c: New file.
11230
11231         Tests for module 'cos'.
11232         * modules/cos-tests: New file.
11233         * tests/test-cos.c: New file.
11234
11235         Tests for module 'copysign'.
11236         * modules/copysign-tests: New file.
11237         * tests/test-copysign.c: New file.
11238
11239         Tests for module 'cbrt'.
11240         * modules/cbrt-tests: New file.
11241         * tests/test-cbrt.c: New file.
11242
11243         Tests for module 'atan2'.
11244         * modules/atan2-tests: New file.
11245         * tests/test-atan2.c: New file.
11246
11247         Tests for module 'atan'.
11248         * modules/atan-tests: New file.
11249         * tests/test-atan.c: New file.
11250
11251         Tests for module 'asin'.
11252         * modules/asin-tests: New file.
11253         * tests/test-asin.c: New file.
11254
11255         Tests for module 'acos'.
11256         * modules/acos-tests: New file.
11257         * tests/test-acos.c: New file.
11258
11259 2010-01-24  Bruno Haible  <bruno@clisp.org>
11260
11261         Fix tests for common <math.h> functions.
11262         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
11263         code snippet that references the function pointer, rather than merely
11264         calling the function. Substitute the FUNC_LIBM variable.
11265         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
11266         * modules/acos (configure.ac): Likewise.
11267         * modules/asin (configure.ac): Likewise.
11268         * modules/atan (configure.ac): Likewise.
11269         * modules/atan2 (configure.ac): Likewise.
11270         * modules/cbrt (configure.ac): Likewise.
11271         * modules/copysign (configure.ac): Likewise.
11272         * modules/cos (configure.ac): Likewise.
11273         * modules/cosh (configure.ac): Likewise.
11274         * modules/erf (configure.ac): Likewise.
11275         * modules/erfc (configure.ac): Likewise.
11276         * modules/exp (configure.ac): Likewise.
11277         * modules/fabs (configure.ac): Likewise.
11278         * modules/fmod (configure.ac): Likewise.
11279         * modules/hypot (configure.ac): Likewise.
11280         * modules/j0 (configure.ac): Likewise.
11281         * modules/j1 (configure.ac): Likewise.
11282         * modules/jn (configure.ac): Likewise.
11283         * modules/ldexp (configure.ac): Likewise.
11284         * modules/lgamma (configure.ac): Likewise.
11285         * modules/log (configure.ac): Likewise.
11286         * modules/log10 (configure.ac): Likewise.
11287         * modules/log1p (configure.ac): Likewise.
11288         * modules/logb (configure.ac): Likewise.
11289         * modules/modf (configure.ac): Likewise.
11290         * modules/nextafter (configure.ac): Likewise.
11291         * modules/pow (configure.ac): Likewise.
11292         * modules/remainder (configure.ac): Likewise.
11293         * modules/rint (configure.ac): Likewise.
11294         * modules/sin (configure.ac): Likewise.
11295         * modules/sinh (configure.ac): Likewise.
11296         * modules/tan (configure.ac): Likewise.
11297         * modules/tanh (configure.ac): Likewise.
11298         * modules/y0 (configure.ac): Likewise.
11299         * modules/y1 (configure.ac): Likewise.
11300         * modules/yn (configure.ac): Likewise.
11301
11302 2010-01-24  Bruno Haible  <bruno@clisp.org>
11303
11304         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
11305         * tests/test-acosl.c (x): New variable.
11306         (main): Store argument in x and fetch it from x.
11307         * tests/test-asinl.c (x): New variable.
11308         (main): Store argument in x and fetch it from x.
11309         * tests/test-atanl.c (x): New variable.
11310         (main): Store argument in x and fetch it from x.
11311         * tests/test-cosl.c (x): New variable.
11312         (main): Store argument in x and fetch it from x.
11313         * tests/test-expl.c (x): New variable.
11314         (main): Store argument in x and fetch it from x.
11315         * tests/test-logl.c (x): New variable.
11316         (main): Store argument in x and fetch it from x.
11317         * tests/test-sinl.c (x): New variable.
11318         (main): Store argument in x and fetch it from x.
11319         * tests/test-sqrtl.c (x): New variable.
11320         (main): Store argument in x and fetch it from x.
11321         * tests/test-tanl.c (x): New variable.
11322         (main): Store argument in x and fetch it from x.
11323
11324 2010-01-24  Bruno Haible  <bruno@clisp.org>
11325
11326         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
11327         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
11328         assignments to the initial TESTS_ENVIRONMENT.
11329         * doc/gnulib.texi (Unit test modules): Document it.
11330         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
11331         TESTS_ENVIRONMENT.
11332         * modules/btowc-tests (Makefile.am): Likewise.
11333         * modules/c-stack-tests (Makefile.am): Likewise.
11334         * modules/c-strcase-tests (Makefile.am): Likewise.
11335         * modules/copy-file-tests (Makefile.am): Likewise.
11336         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
11337         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
11338         * modules/mbrtowc-tests (Makefile.am): Likewise.
11339         * modules/mbscasecmp-tests (Makefile.am): Likewise.
11340         * modules/mbscasestr-tests (Makefile.am): Likewise.
11341         * modules/mbschr-tests (Makefile.am): Likewise.
11342         * modules/mbscspn-tests (Makefile.am): Likewise.
11343         * modules/mbsinit-tests (Makefile.am): Likewise.
11344         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
11345         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
11346         * modules/mbspbrk-tests (Makefile.am): Likewise.
11347         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
11348         * modules/mbsrchr-tests (Makefile.am): Likewise.
11349         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
11350         * modules/mbsspn-tests (Makefile.am): Likewise.
11351         * modules/mbsstr-tests (Makefile.am): Likewise.
11352         * modules/nl_langinfo-tests (Makefile.am): Likewise.
11353         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
11354         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
11355         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
11356         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
11357         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
11358         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
11359         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
11360         * modules/wcrtomb-tests (Makefile.am): Likewise.
11361         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
11362         * modules/wcsrtombs-tests (Makefile.am): Likewise.
11363         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
11364         assignments from TESTS_ENVIRONMENT.
11365         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
11366         augmentation.
11367         * modules/argp-version-etc-tests (Makefile.am): Likewise.
11368         * modules/atexit-tests (Makefile.am): Likewise.
11369         * modules/binary-io-tests (Makefile.am): Likewise.
11370         * modules/closein-tests (Makefile.am): Likewise.
11371         * modules/dprintf-posix-tests (Makefile.am): Likewise.
11372         * modules/exclude-tests (Makefile.am): Likewise.
11373         * modules/fflush-tests (Makefile.am): Likewise.
11374         * modules/fpending-tests (Makefile.am): Likewise.
11375         * modules/fprintf-posix-tests (Makefile.am): Likewise.
11376         * modules/freadahead-tests (Makefile.am): Likewise.
11377         * modules/freadptr-tests (Makefile.am): Likewise.
11378         * modules/freadseek-tests (Makefile.am): Likewise.
11379         * modules/fseek-tests (Makefile.am): Likewise.
11380         * modules/fseeko-tests (Makefile.am): Likewise.
11381         * modules/ftell-tests (Makefile.am): Likewise.
11382         * modules/ftello-tests (Makefile.am): Likewise.
11383         * modules/idpriv-drop-tests (Makefile.am): Likewise.
11384         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
11385         * modules/lseek-tests (Makefile.am): Likewise.
11386         * modules/parse-duration-tests (Makefile.am): Likewise.
11387         * modules/perror-tests (Makefile.am): Likewise.
11388         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
11389         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
11390         * modules/pipe-tests (Makefile.am): Likewise.
11391         * modules/pread-tests (Makefile.am): Likewise.
11392         * modules/printf-posix-tests (Makefile.am): Likewise.
11393         * modules/select-tests (Makefile.am): Likewise.
11394         * modules/sigpipe-tests (Makefile.am): Likewise.
11395         * modules/tsearch-tests (Makefile.am): Likewise.
11396         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
11397         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
11398         * modules/uniname/uniname-tests (Makefile.am): Likewise.
11399         * modules/uniwidth/width-tests (Makefile.am): Likewise.
11400         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
11401         * modules/version-etc-tests (Makefile.am): Likewise.
11402         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
11403         * modules/vprintf-posix-tests (Makefile.am): Likewise.
11404         * modules/xalloc-die-tests (Makefile.am): Likewise.
11405         * modules/xprintf-posix-tests (Makefile.am): Likewise.
11406         * modules/xstrtoimax-tests (Makefile.am): Likewise.
11407         * modules/xstrtol-tests (Makefile.am): Likewise.
11408         * modules/xstrtoumax-tests (Makefile.am): Likewise.
11409         * modules/yesno-tests (Makefile.am): Likewise.
11410         Suggested by Jim Meyering.
11411
11412 2010-01-24  Bruno Haible  <bruno@clisp.org>
11413
11414         More documentation.
11415         * doc/gnulib.texi (Writing modules): New chapter.
11416         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
11417         the new chapter.
11418
11419 2010-01-24  Jim Meyering  <meyering@redhat.com>
11420
11421         maint.mk: do not prepend "./" after filtering
11422         * top/maint.mk (_prepend_srcdir_prefix): New variable
11423         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
11424         "./" when $(srcdir) is ".".
11425
11426         define STREQ(a,b) consistently, removing useless parentheses
11427         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
11428         since the only risk is that "a" or "b" contains an unparenthesized
11429         comma, but if either did that, STREQ would have 3 or more arguments.
11430         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
11431         * lib/fts.c (STREQ): Remove unnecessary parentheses.
11432         * lib/hash-triple.c (STREQ): Likewise.
11433         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
11434         * lib/getugroups.c (STREQ): Likewise.
11435
11436 2010-01-23  Jim Meyering  <meyering@redhat.com>
11437
11438         maint.mk: fix syntax-check in a non-srcdir build directory
11439         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
11440         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
11441
11442 2010-01-22  Jim Meyering  <meyering@redhat.com>
11443
11444         userspec: add unit tests
11445         * tests/test-userspec.c: New file.
11446         * modules/userspec-tests: Likewise.
11447
11448 2010-01-21  Jim Meyering  <meyering@redhat.com>
11449
11450         maint.mk: handle source file names containing "." robustly
11451         * top/maint.mk (_dot_escaped_srcdir): Define.
11452         (VC_LIST): Use it in LHS of sed substitution.
11453
11454 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
11455
11456         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
11457         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
11458         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
11459         from a non-srcdir build.
11460
11461 2010-01-20  Eric Blake  <ebb9@byu.net>
11462
11463         warn-on-use: use instead of link-warning
11464         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
11465         * modules/unistd (Depends-on, Makefile.am): Likewise.
11466         * modules/arpa_inet (Depends-on): Replace link-warning with
11467         warn-on-use.
11468         (Makefile.am): Update rules accordingly.
11469         * modules/ctype (Depends-on, Makefile.am): Likewise.
11470         * modules/dirent (Depends-on, Makefile.am): Likewise.
11471         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
11472         * modules/inttypes (Depends-on, Makefile.am): Likewise.
11473         * modules/langinfo (Depends-on, Makefile.am): Likewise.
11474         * modules/locale (Depends-on, Makefile.am): Likewise.
11475         * modules/math (Depends-on, Makefile.am): Likewise.
11476         * modules/search (Depends-on, Makefile.am): Likewise.
11477         * modules/signal (Depends-on, Makefile.am): Likewise.
11478         * modules/spawn (Depends-on, Makefile.am): Likewise.
11479         * modules/stdlib (Depends-on, Makefile.am): Likewise.
11480         * modules/string (Depends-on, Makefile.am): Likewise.
11481         * modules/strings (Depends-on, Makefile.am): Likewise.
11482         * modules/sys_file (Depends-on, Makefile.am): Likewise.
11483         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
11484         * modules/sys_select (Depends-on, Makefile.am): Likewise.
11485         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
11486         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
11487         * modules/sys_times (Depends-on, Makefile.am): Likewise.
11488         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
11489         * modules/wchar (Depends-on, Makefile.am): Likewise.
11490         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
11491         should be poisoned.
11492         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
11493         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
11494         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
11495         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
11496         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
11497         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
11498         * m4/math_h.m4 (gl_MATH_H): Likewise.
11499         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
11500         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
11501         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
11502         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
11503         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
11504         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
11505         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
11506         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
11507         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
11508         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
11509         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
11510         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
11511         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
11512         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
11513         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
11514         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
11515         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
11516         GL_LINK_WARNING.
11517         * lib/ctype.in.h: Likewise.
11518         * lib/dirent.in.h: Likewise.
11519         * lib/fcntl.in.h: Likewise.
11520         * lib/inttypes.in.h: Likewise.
11521         * lib/langinfo.in.h: Likewise.
11522         * lib/locale.in.h: Likewise.
11523         * lib/math.in.h: Likewise.
11524         * lib/search.in.h: Likewise.
11525         * lib/signal.in.h: Likewise.
11526         * lib/spawn.in.h: Likewise.
11527         * lib/stdio.in.h: Likewise.
11528         * lib/stdlib.in.h: Likewise.
11529         * lib/string.in.h: Likewise.
11530         * lib/strings.in.h: Likewise.
11531         * lib/sys_file.in.h: Likewise.
11532         * lib/sys_ioctl.in.h: Likewise.
11533         * lib/sys_select.in.h: Likewise.
11534         * lib/sys_socket.in.h: Likewise.
11535         * lib/sys_stat.in.h: Likewise.
11536         * lib/sys_times.in.h: Likewise.
11537         * lib/sys_utsname.in.h: Likewise.
11538         * lib/unistd.in.h: Likewise.
11539         * lib/wchar.in.h: Likewise.
11540
11541 2010-01-20  Bruno Haible  <bruno@clisp.org>
11542
11543         Avoid duplicate -lm.
11544         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
11545         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
11546         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
11547         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
11548         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
11549         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
11550         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
11551         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
11552         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
11553         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
11554         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
11555         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
11556         Reported by Paolo Bonzini.
11557
11558 2010-01-19  Bruno Haible  <bruno@clisp.org>
11559
11560         langinfo, nl_langinfo: Relicense under LGPLv2+.
11561         * modules/langinfo (License): Change to LGPLv2+.
11562         * modules/nl_langinfo (License): Likewise.
11563         Patch by David Lutterkort <lutter@redhat.com>.
11564
11565 2010-01-19  Bruno Haible  <bruno@clisp.org>
11566
11567         Avoid compilation error with cc on OSF/1 5.1.
11568         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
11569         statement, not before.
11570         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11571
11572 2010-01-18  Bruno Haible  <bruno@clisp.org>
11573
11574         Avoid a link error due to the __printf__ symbol.
11575         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
11576         and 2.6.x.
11577         (__format__, __printf__): Remove definitions.
11578         * lib/argp-fmtstream.h: Likewise.
11579         * lib/argp.h: Likewise.
11580         * lib/error.h: Likewise.
11581         * lib/vasnprintf.h: Likewise.
11582         * lib/xprintf.h: Likewise.
11583         * lib/xvasprintf.h: Likewise.
11584         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11585
11586 2010-01-18  Bruno Haible  <bruno@clisp.org>
11587
11588         Tests for module 'tanl'.
11589         * modules/tanl-tests: New file.
11590         * tests/test-tanl.c: New file.
11591
11592         Tests for module 'sqrtl'.
11593         * modules/sqrtl-tests: New file.
11594         * tests/test-sqrtl.c: New file.
11595
11596         Tests for module 'sinl'.
11597         * modules/sinl-tests: New file.
11598         * tests/test-sinl.c: New file.
11599
11600         Tests for module 'logl'.
11601         * modules/logl-tests: New file.
11602         * tests/test-logl.c: New file.
11603
11604         Tests for module 'expl'.
11605         * modules/expl-tests: New file.
11606         * tests/test-expl.c: New file.
11607
11608         Tests for module 'cosl'.
11609         * modules/cosl-tests: New file.
11610         * tests/test-cosl.c: New file.
11611
11612         Tests for module 'atanl'.
11613         * modules/atanl-tests: New file.
11614         * tests/test-atanl.c: New file.
11615
11616         Tests for module 'asinl'.
11617         * modules/asinl-tests: New file.
11618         * tests/test-asinl.c: New file.
11619
11620         Tests for module 'acosl'.
11621         * modules/acosl-tests: New file.
11622         * tests/test-acosl.c: New file.
11623
11624         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
11625         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
11626         tanl): Use the standard gnulib idiom.
11627         * lib/cosl.c: Don't include trigl.c and sincosl.c.
11628         * lib/sinl.c: Likewise.
11629         * lib/tanl.c: Don't include trigl.c.
11630         (kernel_tanl): Make static.
11631         * lib/sincosl.c: Include trigl.h first.
11632         * lib/trigl.c: Likewise.
11633         * m4/acosl.m4: New file.
11634         * m4/asinl.m4: New file.
11635         * m4/atanl.m4: New file.
11636         * m4/cosl.m4: New file.
11637         * m4/expl.m4: New file.
11638         * m4/logl.m4: New file.
11639         * m4/sinl.m4: New file.
11640         * m4/sqrtl.m4: New file.
11641         * m4/tanl.m4: New file.
11642         * m4/mathl.m4: Remove file.
11643         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
11644         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
11645         Don't initialize GNULIB_MATHL.
11646         * modules/acosl: New file.
11647         * modules/asinl: New file.
11648         * modules/atanl: New file.
11649         * modules/cosl: New file.
11650         * modules/expl: New file.
11651         * modules/logl: New file.
11652         * modules/sinl: New file.
11653         * modules/sqrtl: New file.
11654         * modules/tanl: New file.
11655         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
11656         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
11657         substitute GNULIB_MATHL.
11658         * modules/mathl: Rewritten.
11659         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
11660         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
11661         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
11662         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
11663         * doc/posix-functions/expl.texi: Mention the 'expl' module.
11664         * doc/posix-functions/logl.texi: Mention the 'logl' module.
11665         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
11666         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
11667         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
11668
11669 2010-01-18  Bruno Haible  <bruno@clisp.org>
11670
11671         sqrt: Make gl_FUNC_SQRT requirable.
11672         * m4/sqrt.m4: New file.
11673         * modules/sqrt (Files): Add it.
11674         (configure.ac): Invoke gl_FUNC_SQRT.
11675
11676 2010-01-18  Bruno Haible  <bruno@clisp.org>
11677
11678         New modules for common <math.h> functions.
11679         * m4/mathfunc.m4: New file.
11680         * modules/acos: New file.
11681         * modules/asin: New file.
11682         * modules/atan: New file.
11683         * modules/atan2: New file.
11684         * modules/cbrt: New file.
11685         * modules/copysign: New file.
11686         * modules/cos: New file.
11687         * modules/cosh: New file.
11688         * modules/erf: New file.
11689         * modules/erfc: New file.
11690         * modules/exp: New file.
11691         * modules/fabs: New file.
11692         * modules/fmod: New file.
11693         * modules/hypot: New file.
11694         * modules/j0: New file.
11695         * modules/j1: New file.
11696         * modules/jn: New file.
11697         * modules/ldexp: New file.
11698         * modules/lgamma: New file.
11699         * modules/log: New file.
11700         * modules/log10: New file.
11701         * modules/log1p: New file.
11702         * modules/logb: New file.
11703         * modules/modf: New file.
11704         * modules/nextafter: New file.
11705         * modules/pow: New file.
11706         * modules/remainder: New file.
11707         * modules/rint: New file.
11708         * modules/sin: New file.
11709         * modules/sinh: New file.
11710         * modules/sqrt: New file.
11711         * modules/tan: New file.
11712         * modules/tanh: New file.
11713         * modules/y0: New file.
11714         * modules/y1: New file.
11715         * modules/yn: New file.
11716         * doc/posix-functions/acos.texi: Mention the 'acos' module.
11717         * doc/posix-functions/asin.texi: Mention the 'asin' module.
11718         * doc/posix-functions/atan.texi: Mention the 'atan' module.
11719         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
11720         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
11721         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
11722         * doc/posix-functions/cos.texi: Mention the 'cos' module.
11723         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
11724         * doc/posix-functions/erf.texi: Mention the 'erf' module.
11725         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
11726         * doc/posix-functions/exp.texi: Mention the 'exp' module.
11727         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
11728         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
11729         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
11730         * doc/posix-functions/j0.texi: Mention the 'j0' module.
11731         * doc/posix-functions/j1.texi: Mention the 'j1' module.
11732         * doc/posix-functions/jn.texi: Mention the 'jn' module.
11733         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
11734         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
11735         * doc/posix-functions/log.texi: Mention the 'log' module.
11736         * doc/posix-functions/log10.texi: Mention the 'log10' module.
11737         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
11738         * doc/posix-functions/logb.texi: Mention the 'logb' module.
11739         * doc/posix-functions/modf.texi: Mention the 'modf' module.
11740         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
11741         * doc/posix-functions/pow.texi: Mention the 'pow' module.
11742         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
11743         * doc/posix-functions/rint.texi: Mention the 'rint' module.
11744         * doc/posix-functions/sin.texi: Mention the 'sin' module.
11745         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
11746         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
11747         * doc/posix-functions/tan.texi: Mention the 'tan' module.
11748         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
11749         * doc/posix-functions/y0.texi: Mention the 'y0' module.
11750         * doc/posix-functions/y1.texi: Mention the 'y1' module.
11751         * doc/posix-functions/yn.texi: Mention the 'yn' module.
11752
11753 2010-01-18  Jim Meyering  <meyering@redhat.com>
11754
11755         ignore-value: relax license to LGPLv2+
11756         * modules/ignore-value (License): Relax to LGPLv2+.
11757
11758         getdate: don't leak when TZ contains two or more '"'s
11759         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
11760         double quote in TZ after the first one.
11761
11762         readtokens: do not leak internal token_lengths buffer
11763         * lib/readtokens.c (readtokens): Free the local, lengths,
11764         when the supplied "token_lengths" parameter is NULL.
11765
11766 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11767
11768         Fix a couple of missing LIBTHREAD link failures on AIX.
11769         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
11770         $(LIBTHREAD).
11771         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
11772
11773         Link test-poll against INET_PTON_LIB.
11774         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
11775         for inet_pton on Solaris 10.
11776
11777 2010-01-17  Bruno Haible  <bruno@clisp.org>
11778
11779         unistdio/*-sprintf: Fix typo in module description.
11780         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
11781         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
11782         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
11783         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
11784         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
11785         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
11786         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
11787         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
11788
11789 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
11790
11791         gnulib-tool: fix filelist for AIX, HP-UX ksh.
11792         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
11793         variables in shell case patterns, for AIX and HP-UX ksh.
11794
11795         Split large sed scripts, for HP-UX sed.
11796         * modules/stdio: Split sed scripts around 50 sed commands,
11797         to avoid HP-UX limit of 99 commands, in the near future.
11798         * modules/string: Likewise.
11799         * modules/unistd: Likewise.
11800
11801         gnulib-tool: avoid writing in the current directory.
11802         * gnulib-tool (func_emit_lib_Makefile_am)
11803         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
11804         not in the current directory, so concurrent gnulib-tool
11805         instances do not interfere.
11806
11807 2010-01-16  Jim Meyering  <meyering@redhat.com>
11808
11809         doc: update users.txt
11810         * users.txt: Add grep.
11811         (diffutils, gzip): Update URLs.
11812
11813 2010-01-12  Bruno Haible  <bruno@clisp.org>
11814
11815         posix_spawn: Avoid test failure on Cygwin.
11816         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
11817         characters.
11818         Reported by Simon Josefsson.
11819
11820 2010-01-12  Bruno Haible  <bruno@clisp.org>
11821
11822         * tests/test-cond.c (main): When skipping the test, show the reason.
11823
11824 2010-01-12  Simon Josefsson  <simon@josefsson.org>
11825
11826         * lib/striconv.c (str_cd_iconv): Avoid if before free.
11827
11828 2010-01-12  Simon Josefsson  <simon@josefsson.org>
11829
11830         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
11831         VC_LIST_ALWAYS_EXCLUDE_REGEX.
11832
11833 2010-01-12  Eric Blake  <ebb9@byu.net>
11834
11835         build: guarantee AS_VAR_IF
11836         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
11837         (gl_AS_VAR_IF): Move...
11838         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
11839         Reported by Simon Josefsson.
11840
11841 2010-01-12  Simon Josefsson  <simon@josefsson.org>
11842
11843         * lib/stdio.in.h: Fix typo.
11844
11845 2010-01-12  Simon Josefsson  <simon@josefsson.org>
11846
11847         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
11848         libgpg-error.
11849
11850 2010-01-12  Simon Josefsson  <simon@josefsson.org>
11851
11852         * tests/test-xalloc-die.sh: Use $EXEEXT.
11853
11854 2010-01-12  Simon Josefsson  <simon@josefsson.org>
11855             Bruno Haible  <bruno@clisp.org>
11856
11857         getlogin, getlogin_r: Avoid test failure.
11858         * tests/test-getlogin.c: Include <stdio.h>.
11859         (main): Skip the test when the function fails because stdin is not a
11860         tty.
11861         * tests/test-getlogin_r.c: Include <stdio.h>.
11862         (main): Skip the test when the function fails because stdin is not a
11863         tty.
11864
11865 2010-01-11  Eric Blake  <ebb9@byu.net>
11866
11867         tests: avoid more large file warnings
11868         * tests/test-fflush.c: Avoid warning about ftell use.
11869         * tests/test-fseek.c: Avoid warning about fseek use.
11870
11871 2010-01-10  Bruno Haible  <bruno@clisp.org>
11872
11873         nproc: Work better on Linux when /proc and /sys are not mounted.
11874         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
11875         as lower bound when, on glibc/Linux systems,
11876         sysconf (_SC_NPROCESSORS_CONF) returns 1.
11877         Suggested by Pádraig Brady <P@draigbrady.com>.
11878         Reported by Dmitry V. Levin <ldv@altlinux.org>.
11879
11880         nproc: Refactor.
11881         * lib/nproc.c (num_processors_via_affinity_mask): New function,
11882         extracted from num_processors.
11883         (num_processors): Call it.
11884
11885 2010-01-11  Jim Meyering  <meyering@redhat.com>
11886
11887         utimecmp: avoid new warning from upcoming gcc-4.5.0
11888         * lib/utimecmp.c (BILLION): Define using #define rather than an
11889         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
11890
11891 2010-01-11  Eric Blake  <ebb9@byu.net>
11892
11893         math: add portability warnings for classification macros
11894         * modules/math (Depends-on): Add warn-on-use.
11895         (Makefile.am): Provide new substitutions.
11896         * m4/math_h.m4 (gl_MATH_H): Require inline.
11897         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
11898         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
11899         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
11900         implement warnings.
11901
11902         unistd: warn on use of environ without module
11903         * modules/unistd (Depends-on): Add warn-on-use.
11904         (Makefile.am): Provide new substitutions.
11905         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
11906         * lib/unistd.in.h (environ): Wrap with a warning helper function.
11907
11908         stdio: warn on suspicious uses
11909         * modules/stdio (Depends-on): Add warn-on-use.
11910         (Makefile.am): Provide new substitutions.
11911         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
11912         fseeko.
11913         * lib/stdio.in.h (gets): Always warn on use.
11914         (fseek, ftell): Adjust when warnings are issued, and honor
11915         _GL_NO_LARGE_FILES as a way to silence the warning.
11916         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
11917         any warning about large file offsets.
11918         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
11919         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
11920         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
11921         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
11922         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
11923         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
11924         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
11925         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
11926
11927         warn-on-use: new module
11928         * modules/warn-on-use: New file.
11929         * build-aux/warn-on-use.h: Likewise.
11930         * m4/warn-on-use.m4: Likewise.
11931         * MODULES.html.sh (Support for building): Mention it.
11932
11933 2010-01-10  Bruno Haible  <bruno@clisp.org>
11934
11935         Tests for module 'unistr/u32-strdup'.
11936         * modules/unistr/u32-strdup-tests: New file.
11937         * tests/unistr/test-u32-strdup.c: New file.
11938
11939         Tests for module 'unistr/u16-strdup'.
11940         * modules/unistr/u16-strdup-tests: New file.
11941         * tests/unistr/test-u16-strdup.c: New file.
11942
11943         Tests for module 'unistr/u8-strdup'.
11944         * modules/unistr/u8-strdup-tests: New file.
11945         * tests/unistr/test-u8-strdup.c: New file.
11946         * tests/unistr/test-strdup.h: New file.
11947
11948         Tests for module 'unistr/u32-strncmp'.
11949         * modules/unistr/u32-strncmp-tests: New file.
11950         * tests/unistr/test-u32-strncmp.c: New file.
11951
11952         Tests for module 'unistr/u16-strncmp'.
11953         * modules/unistr/u16-strncmp-tests: New file.
11954         * tests/unistr/test-u16-strncmp.c: New file.
11955
11956         Tests for module 'unistr/u8-strncmp'.
11957         * modules/unistr/u8-strncmp-tests: New file.
11958         * tests/unistr/test-u8-strncmp.c: New file.
11959         * tests/unistr/test-strncmp.h: New file.
11960
11961         Tests for module 'unistr/u32-strcoll'.
11962         * modules/unistr/u32-strcoll-tests: New file.
11963         * tests/unistr/test-u32-strcoll.c: New file.
11964
11965         Tests for module 'unistr/u16-strcoll'.
11966         * modules/unistr/u16-strcoll-tests: New file.
11967         * tests/unistr/test-u16-strcoll.c: New file.
11968
11969         Tests for module 'unistr/u8-strcoll'.
11970         * modules/unistr/u8-strcoll-tests: New file.
11971         * tests/unistr/test-u8-strcoll.c: New file.
11972
11973         Tests for module 'unistr/u32-strcmp'.
11974         * modules/unistr/u32-strcmp-tests: New file.
11975         * tests/unistr/test-u32-strcmp.c: New file.
11976         * tests/unistr/test-u32-strcmp.h: New file.
11977
11978         Tests for module 'unistr/u16-strcmp'.
11979         * modules/unistr/u16-strcmp-tests: New file.
11980         * tests/unistr/test-u16-strcmp.c: New file.
11981         * tests/unistr/test-u16-strcmp.h: New file.
11982
11983         Tests for module 'unistr/u8-strcmp'.
11984         * modules/unistr/u8-strcmp-tests: New file.
11985         * tests/unistr/test-u8-strcmp.c: New file.
11986         * tests/unistr/test-u8-strcmp.h: New file.
11987         * tests/unistr/test-strcmp.h: New file.
11988
11989         Tests for module 'unistr/u32-strncat'.
11990         * modules/unistr/u32-strncat-tests: New file.
11991         * tests/unistr/test-u32-strncat.c: New file.
11992
11993         Tests for module 'unistr/u16-strncat'.
11994         * modules/unistr/u16-strncat-tests: New file.
11995         * tests/unistr/test-u16-strncat.c: New file.
11996
11997         Tests for module 'unistr/u8-strncat'.
11998         * modules/unistr/u8-strncat-tests: New file.
11999         * tests/unistr/test-u8-strncat.c: New file.
12000         * tests/unistr/test-strncat.h: New file.
12001
12002         Tests for module 'unistr/u32-strcat'.
12003         * modules/unistr/u32-strcat-tests: New file.
12004         * tests/unistr/test-u32-strcat.c: New file.
12005
12006         Tests for module 'unistr/u16-strcat'.
12007         * modules/unistr/u16-strcat-tests: New file.
12008         * tests/unistr/test-u16-strcat.c: New file.
12009
12010         Tests for module 'unistr/u8-strcat'.
12011         * modules/unistr/u8-strcat-tests: New file.
12012         * tests/unistr/test-u8-strcat.c: New file.
12013         * tests/unistr/test-strcat.h: New file.
12014
12015         Tests for module 'unistr/u32-stpncpy'.
12016         * modules/unistr/u32-stpncpy-tests: New file.
12017         * tests/unistr/test-u32-stpncpy.c: New file.
12018
12019         Tests for module 'unistr/u16-stpncpy'.
12020         * modules/unistr/u16-stpncpy-tests: New file.
12021         * tests/unistr/test-u16-stpncpy.c: New file.
12022
12023         Tests for module 'unistr/u8-stpncpy'.
12024         * modules/unistr/u8-stpncpy-tests: New file.
12025         * tests/unistr/test-u8-stpncpy.c: New file.
12026         * tests/unistr/test-stpncpy.h: New file.
12027
12028         Tests for module 'unistr/u32-strncpy'.
12029         * modules/unistr/u32-strncpy-tests: New file.
12030         * tests/unistr/test-u32-strncpy.c: New file.
12031
12032         Tests for module 'unistr/u16-strncpy'.
12033         * modules/unistr/u16-strncpy-tests: New file.
12034         * tests/unistr/test-u16-strncpy.c: New file.
12035
12036         Tests for module 'unistr/u8-strncpy'.
12037         * modules/unistr/u8-strncpy-tests: New file.
12038         * tests/unistr/test-u8-strncpy.c: New file.
12039         * tests/unistr/test-strncpy.h: New file.
12040
12041         Tests for module 'unistr/u32-stpcpy'.
12042         * modules/unistr/u32-stpcpy-tests: New file.
12043         * tests/unistr/test-u32-stpcpy.c: New file.
12044
12045         Tests for module 'unistr/u16-stpcpy'.
12046         * modules/unistr/u16-stpcpy-tests: New file.
12047         * tests/unistr/test-u16-stpcpy.c: New file.
12048
12049         Tests for module 'unistr/u8-stpcpy'.
12050         * modules/unistr/u8-stpcpy-tests: New file.
12051         * tests/unistr/test-u8-stpcpy.c: New file.
12052         * tests/unistr/test-stpcpy.h: New file.
12053
12054         Tests for module 'unistr/u32-strcpy'.
12055         * modules/unistr/u32-strcpy-tests: New file.
12056         * tests/unistr/test-u32-strcpy.c: New file.
12057
12058         Tests for module 'unistr/u16-strcpy'.
12059         * modules/unistr/u16-strcpy-tests: New file.
12060         * tests/unistr/test-u16-strcpy.c: New file.
12061
12062         Tests for module 'unistr/u8-strcpy'.
12063         * modules/unistr/u8-strcpy-tests: New file.
12064         * tests/unistr/test-u8-strcpy.c: New file.
12065         * tests/unistr/test-strcpy.h: New file.
12066
12067         Tests for module 'unistr/u32-strnlen'.
12068         * modules/unistr/u32-strnlen-tests: New file.
12069         * tests/unistr/test-u32-strnlen.c: New file.
12070
12071         Tests for module 'unistr/u16-strnlen'.
12072         * modules/unistr/u16-strnlen-tests: New file.
12073         * tests/unistr/test-u16-strnlen.c: New file.
12074
12075         Tests for module 'unistr/u8-strnlen'.
12076         * modules/unistr/u8-strnlen-tests: New file.
12077         * tests/unistr/test-u8-strnlen.c: New file.
12078         * tests/unistr/test-strnlen.h: New file.
12079
12080         Tests for module 'unistr/u32-strlen'.
12081         * modules/unistr/u32-strlen-tests: New file.
12082         * tests/unistr/test-u32-strlen.c: New file.
12083
12084         Tests for module 'unistr/u16-strlen'.
12085         * modules/unistr/u16-strlen-tests: New file.
12086         * tests/unistr/test-u16-strlen.c: New file.
12087
12088         Tests for module 'unistr/u8-strlen'.
12089         * modules/unistr/u8-strlen-tests: New file.
12090         * tests/unistr/test-u8-strlen.c: New file.
12091
12092         Tests for module 'unistr/u32-prev'.
12093         * modules/unistr/u32-prev-tests: New file.
12094         * tests/unistr/test-u32-prev.c: New file.
12095
12096         Tests for module 'unistr/u16-prev'.
12097         * modules/unistr/u16-prev-tests: New file.
12098         * tests/unistr/test-u16-prev.c: New file.
12099
12100         Tests for module 'unistr/u8-prev'.
12101         * modules/unistr/u8-prev-tests: New file.
12102         * tests/unistr/test-u8-prev.c: New file.
12103
12104         Tests for module 'unistr/u32-next'.
12105         * modules/unistr/u32-next-tests: New file.
12106         * tests/unistr/test-u32-next.c: New file.
12107
12108         Tests for module 'unistr/u16-next'.
12109         * modules/unistr/u16-next-tests: New file.
12110         * tests/unistr/test-u16-next.c: New file.
12111
12112         Tests for module 'unistr/u8-next'.
12113         * modules/unistr/u8-next-tests: New file.
12114         * tests/unistr/test-u8-next.c: New file.
12115
12116         Tests for module 'unistr/u32-strmbtouc'.
12117         * modules/unistr/u32-strmbtouc-tests: New file.
12118         * tests/unistr/test-u32-strmbtouc.c: New file.
12119
12120         Tests for module 'unistr/u16-strmbtouc'.
12121         * modules/unistr/u16-strmbtouc-tests: New file.
12122         * tests/unistr/test-u16-strmbtouc.c: New file.
12123
12124         Tests for module 'unistr/u8-strmbtouc'.
12125         * modules/unistr/u8-strmbtouc-tests: New file.
12126         * tests/unistr/test-u8-strmbtouc.c: New file.
12127
12128         Tests for module 'unistr/u32-strmblen'.
12129         * modules/unistr/u32-strmblen-tests: New file.
12130         * tests/unistr/test-u32-strmblen.c: New file.
12131
12132         Tests for module 'unistr/u16-strmblen'.
12133         * modules/unistr/u16-strmblen-tests: New file.
12134         * tests/unistr/test-u16-strmblen.c: New file.
12135
12136         Tests for module 'unistr/u8-strmblen'.
12137         * modules/unistr/u8-strmblen-tests: New file.
12138         * tests/unistr/test-u8-strmblen.c: New file.
12139
12140         Tests for module 'unistr/u32-cpy-alloc'.
12141         * modules/unistr/u32-cpy-alloc-tests: New file.
12142         * tests/unistr/test-u32-cpy-alloc.c: New file.
12143
12144         Tests for module 'unistr/u16-cpy-alloc'.
12145         * modules/unistr/u16-cpy-alloc-tests: New file.
12146         * tests/unistr/test-u16-cpy-alloc.c: New file.
12147
12148         Tests for module 'unistr/u8-cpy-alloc'.
12149         * modules/unistr/u8-cpy-alloc-tests: New file.
12150         * tests/unistr/test-u8-cpy-alloc.c: New file.
12151         * tests/unistr/test-cpy-alloc.h: New file.
12152
12153         Tests for module 'unistr/u32-mbsnlen'.
12154         * modules/unistr/u32-mbsnlen-tests: New file.
12155         * tests/unistr/test-u32-mbsnlen.c: New file.
12156
12157         Tests for module 'unistr/u16-mbsnlen'.
12158         * modules/unistr/u16-mbsnlen-tests: New file.
12159         * tests/unistr/test-u16-mbsnlen.c: New file.
12160
12161         Tests for module 'unistr/u8-mbsnlen'.
12162         * modules/unistr/u8-mbsnlen-tests: New file.
12163         * tests/unistr/test-u8-mbsnlen.c: New file.
12164
12165         Tests for module 'unistr/u32-chr'.
12166         * modules/unistr/u32-chr-tests: New file.
12167         * tests/unistr/test-u32-chr.c: New file.
12168
12169         Tests for module 'unistr/u16-chr'.
12170         * modules/unistr/u16-chr-tests: New file.
12171         * tests/unistr/test-u16-chr.c: New file.
12172
12173         Tests for module 'unistr/u8-chr'.
12174         * modules/unistr/u8-chr-tests: New file.
12175         * tests/unistr/test-u8-chr.c: New file.
12176         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
12177
12178         Tests for module 'unistr/u32-cmp2'.
12179         * modules/unistr/u32-cmp2-tests: New file.
12180         * tests/unistr/test-u32-cmp2.c: New file.
12181
12182         Tests for module 'unistr/u16-cmp2'.
12183         * modules/unistr/u16-cmp2-tests: New file.
12184         * tests/unistr/test-u16-cmp2.c: New file.
12185
12186         Tests for module 'unistr/u8-cmp2'.
12187         * modules/unistr/u8-cmp2-tests: New file.
12188         * tests/unistr/test-u8-cmp2.c: New file.
12189         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
12190
12191         Tests for module 'unistr/u32-cmp'.
12192         * modules/unistr/u32-cmp-tests: New file.
12193         * tests/unistr/test-u32-cmp.c: New file.
12194
12195         Tests for module 'unistr/u16-cmp'.
12196         * modules/unistr/u16-cmp-tests: New file.
12197         * tests/unistr/test-u16-cmp.c: New file.
12198
12199         Tests for module 'unistr/u8-cmp'.
12200         * modules/unistr/u8-cmp-tests: New file.
12201         * tests/unistr/test-u8-cmp.c: New file.
12202         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
12203
12204         Tests for module 'unistr/u32-set'.
12205         * modules/unistr/u32-set-tests: New file.
12206         * tests/unistr/test-u32-set.c: New file.
12207
12208         Tests for module 'unistr/u16-set'.
12209         * modules/unistr/u16-set-tests: New file.
12210         * tests/unistr/test-u16-set.c: New file.
12211
12212         Tests for module 'unistr/u8-set'.
12213         * modules/unistr/u8-set-tests: New file.
12214         * tests/unistr/test-u8-set.c: New file.
12215         * tests/unistr/test-set.h: New file.
12216
12217         Tests for module 'unistr/u32-move'.
12218         * modules/unistr/u32-move-tests: New file.
12219         * tests/unistr/test-u32-move.c: New file.
12220
12221         Tests for module 'unistr/u16-move'.
12222         * modules/unistr/u16-move-tests: New file.
12223         * tests/unistr/test-u16-move.c: New file.
12224
12225         Tests for module 'unistr/u8-move'.
12226         * modules/unistr/u8-move-tests: New file.
12227         * tests/unistr/test-u8-move.c: New file.
12228         * tests/unistr/test-move.h: New file.
12229
12230         Tests for module 'unistr/u32-cpy'.
12231         * modules/unistr/u32-cpy-tests: New file.
12232         * tests/unistr/test-u32-cpy.c: New file.
12233
12234         Tests for module 'unistr/u16-cpy'.
12235         * modules/unistr/u16-cpy-tests: New file.
12236         * tests/unistr/test-u16-cpy.c: New file.
12237
12238         Tests for module 'unistr/u8-cpy'.
12239         * modules/unistr/u8-cpy-tests: New file.
12240         * tests/unistr/test-u8-cpy.c: New file.
12241         * tests/unistr/test-cpy.h: New file.
12242
12243 2010-01-09  Bruno Haible  <bruno@clisp.org>
12244
12245         Tests for module 'unistr/u32-uctomb'.
12246         * modules/unistr/u32-uctomb-tests: New file.
12247         * tests/unistr/test-u32-uctomb.c: New file.
12248
12249         Tests for module 'unistr/u16-uctomb'.
12250         * modules/unistr/u16-uctomb-tests: New file.
12251         * tests/unistr/test-u16-uctomb.c: New file.
12252
12253         Tests for module 'unistr/u8-uctomb'.
12254         * modules/unistr/u8-uctomb-tests: New file.
12255         * tests/unistr/test-u8-uctomb.c: New file.
12256
12257         Tests for module 'unistr/u32-mbtoucr'.
12258         * modules/unistr/u32-mbtoucr-tests: New file.
12259         * tests/unistr/test-u32-mbtoucr.c: New file.
12260
12261         Tests for module 'unistr/u16-mbtoucr'.
12262         * modules/unistr/u16-mbtoucr-tests: New file.
12263         * tests/unistr/test-u16-mbtoucr.c: New file.
12264
12265         Tests for module 'unistr/u8-mbtoucr'.
12266         * modules/unistr/u8-mbtoucr-tests: New file.
12267         * tests/unistr/test-u8-mbtoucr.c: New file.
12268
12269         Tests for module 'unistr/u32-mbtouc'.
12270         * modules/unistr/u32-mbtouc-tests: New file.
12271         * tests/unistr/test-u32-mbtouc.c: New file.
12272
12273         Tests for module 'unistr/u16-mbtouc'.
12274         * modules/unistr/u16-mbtouc-tests: New file.
12275         * tests/unistr/test-u16-mbtouc.c: New file.
12276
12277         Tests for module 'unistr/u8-mbtouc'.
12278         * modules/unistr/u8-mbtouc-tests: New file.
12279         * tests/unistr/test-u8-mbtouc.c: New file.
12280
12281         Tests for module 'unistr/u32-mbtouc-unsafe'.
12282         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
12283         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
12284         * tests/unistr/test-u32-mbtouc.h: New file.
12285
12286         Tests for module 'unistr/u16-mbtouc-unsafe'.
12287         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
12288         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
12289         * tests/unistr/test-u16-mbtouc.h: New file.
12290
12291         Tests for module 'unistr/u8-mbtouc-unsafe'.
12292         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
12293         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
12294         * tests/unistr/test-u8-mbtouc.h: New file.
12295
12296         Tests for module 'unistr/u32-mblen'.
12297         * modules/unistr/u32-mblen-tests: New file.
12298         * tests/unistr/test-u32-mblen.c: New file.
12299
12300         Tests for module 'unistr/u16-mblen'.
12301         * modules/unistr/u16-mblen-tests: New file.
12302         * tests/unistr/test-u16-mblen.c: New file.
12303
12304         Tests for module 'unistr/u8-mblen'.
12305         * modules/unistr/u8-mblen-tests: New file.
12306         * tests/unistr/test-u8-mblen.c: New file.
12307
12308         Tests for module 'unistr/u32-to-u16'.
12309         * modules/unistr/u32-to-u16-tests: New file.
12310         * tests/unistr/test-u32-to-u16.c: New file.
12311
12312         Tests for module 'unistr/u32-to-u8'.
12313         * modules/unistr/u32-to-u8-tests: New file.
12314         * tests/unistr/test-u32-to-u8.c: New file.
12315
12316         Tests for module 'unistr/u16-to-u32'.
12317         * modules/unistr/u16-to-u32-tests: New file.
12318         * tests/unistr/test-u16-to-u32.c: New file.
12319
12320         Tests for module 'unistr/u16-to-u8'.
12321         * modules/unistr/u16-to-u8-tests: New file.
12322         * tests/unistr/test-u16-to-u8.c: New file.
12323
12324         Tests for module 'unistr/u8-to-u32'.
12325         * modules/unistr/u8-to-u32-tests: New file.
12326         * tests/unistr/test-u8-to-u32.c: New file.
12327
12328         Tests for module 'unistr/u8-to-u16'.
12329         * modules/unistr/u8-to-u16-tests: New file.
12330         * tests/unistr/test-u8-to-u16.c: New file.
12331
12332         Tests for module 'unistr/u32-check'.
12333         * modules/unistr/u32-check-tests: New file.
12334         * tests/unistr/test-u32-check.c: New file.
12335
12336         Tests for module 'unistr/u16-check'.
12337         * modules/unistr/u16-check-tests: New file.
12338         * tests/unistr/test-u16-check.c: New file.
12339
12340         Tests for module 'unistr/u8-check'.
12341         * modules/unistr/u8-check-tests: New file.
12342         * tests/unistr/test-u8-check.c: New file.
12343
12344         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
12345         (category_equals): New function.
12346         (main): Add more tests.
12347         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
12348
12349         * tests/unictype/test-bidi_byname.c (main): Add more tests.
12350
12351 2010-01-10  Bruno Haible  <bruno@clisp.org>
12352
12353         unistr/u*-strcoll: Try harder to distinguish different strings.
12354         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
12355         compare s1 and s2 to see if they are different.
12356
12357 2010-01-10  Bruno Haible  <bruno@clisp.org>
12358
12359         unistr/u*-stpncpy: Fix the return value.
12360         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
12361         description of the return value consistent with stpncpy in glibc.
12362         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
12363         written non-NUL unit.
12364
12365 2010-01-10  Bruno Haible  <bruno@clisp.org>
12366
12367         unistr/u*-next: Add missing dependencies.
12368         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
12369         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
12370         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
12371
12372 2010-01-10  Bruno Haible  <bruno@clisp.org>
12373
12374         unistr/u8-mbsnlen: Fix return value for incomplete character.
12375         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
12376         u8_mblen.
12377         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
12378         Remove unistr/u8-mblen.
12379         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
12380         u16_mblen.
12381         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
12382         Remove unistr/u16-mblen.
12383
12384 2010-01-10  Bruno Haible  <bruno@clisp.org>
12385
12386         wchar: Fix compilation error when <wchar.h> is used from coreutils.
12387         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
12388         Reported by Brian Gough <bjg@gnu.org> and
12389         Chris Clayton <chris2553@googlemail.com> via
12390         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
12391
12392 2010-01-09  Bruno Haible  <bruno@clisp.org>
12393
12394         unistr/u16-to-u32: Reject invalid input.
12395         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
12396         u16_mbtouc.
12397         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
12398         Remove unistr/u16-mbtouc.
12399
12400         unistr/u16-to-u8: Reject invalid input.
12401         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
12402         u16_mbtouc.
12403         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
12404         Remove unistr/u16-mbtouc.
12405
12406         unistr/u8-to-u32: Reject invalid input.
12407         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
12408         u8_mbtouc.
12409         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
12410         Remove unistr/u8-mbtouc.
12411
12412         unistr/u8-to-u16: Reject invalid input.
12413         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
12414         u8_mbtouc.
12415         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
12416         Remove unistr/u8-mbtouc.
12417
12418 2010-01-09  Bruno Haible  <bruno@clisp.org>
12419
12420         Tests for module 'getlogin'.
12421         * modules/getlogin-tests: New file.
12422         * tests/test-getlogin.c: New file.
12423
12424         New module 'getlogin'.
12425         * lib/unistd.in.h (getlogin): New declaration.
12426         * lib/getlogin.c: New file.
12427         * m4/getlogin.m4: New file.
12428         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
12429         HAVE_GETLOGIN.
12430         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
12431         HAVE_GETLOGIN.
12432         * modules/getlogin: New file.
12433         * doc/posix-functions/getlogin.texi: Mention the new module.
12434         Reported by John W. Eaton <jwe@gnu.org>.
12435
12436 2010-01-09  Bruno Haible  <bruno@clisp.org>
12437
12438         getlogin_r: Support for native Windows.
12439         * lib/getlogin_r.c: Include <windows.h>
12440         (getlogin_r): Implement for native Windows.
12441         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
12442         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
12443         via John W. Eaton <jwe@gnu.org>.
12444
12445 2010-01-09  Bruno Haible  <bruno@clisp.org>
12446
12447         getlogin_r: Small fixes.
12448         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
12449         succeeds.
12450         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
12451         before testing whether getlogin_r is declared. No need to set
12452         HAVE_DECL_GETLOGIN_R to 1.
12453         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
12454
12455 2010-01-09  Bruno Haible  <bruno@clisp.org>
12456
12457         * lib/unistd.in.h (getlogin_r): Add comment.
12458
12459 2010-01-09  Bruno Haible  <bruno@clisp.org>
12460
12461         Tests for module 'getlogin_r'.
12462         * modules/getlogin_r-tests: New file.
12463         * tests/test-getlogin_r.c: New file.
12464
12465 2010-01-09  Jim Meyering  <meyering@redhat.com>
12466
12467         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
12468         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
12469         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
12470
12471 2010-01-08  Simon Josefsson  <simon@josefsson.org>
12472
12473         * lib/dup2.c (rpl_dup2): Improve comment.
12474
12475 2010-01-08  Eric Blake  <ebb9@byu.net>
12476
12477         maint.mk: allow packages to add makefile @@ exceptions
12478         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
12479         (sc_makefile_check): Rename...
12480         (sc_makefile_at_at_check): ...to this, and use hook.
12481
12482         dup2: work around mingw bug
12483         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
12484         Reported by Simon Josefsson.
12485
12486 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
12487
12488         glob: Fix C++ compilation.
12489         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
12490         C++.
12491
12492 2010-01-07  Bruno Haible  <bruno@clisp.org>
12493
12494         Fix indentation of wctype.in.h, broken since 2007-01-06.
12495         * lib/wctype.in.h: Fix indentation of preprocessor directives.
12496
12497 2010-01-07  Bruno Haible  <bruno@clisp.org>
12498
12499         mbslen: Avoid collision with system function.
12500         * lib/string.in.h [MirBSD]: Include <wchar.h>.
12501         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
12502         * m4/mbslen.m4: New file.
12503         * modules/mbslen (Files): Add it.
12504         (configure.ac): Invoke gl_MBSLEN.
12505         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
12506         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
12507         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
12508         via Ian Beckwith <ianb@erislabs.net>.
12509
12510 2010-01-07  Bruno Haible  <bruno@clisp.org>
12511
12512         dirent: Document the last fix.
12513         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
12514
12515 2010-01-07  Bruno Haible  <bruno@clisp.org>
12516
12517         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
12518         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
12519         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
12520         va_list are defined.
12521         * doc/posix-headers/stdio.texi: Document the bug of missing types.
12522         Reported by Eric Blake.
12523
12524 2010-01-07  Bruno Haible  <bruno@clisp.org>
12525
12526         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
12527         * modules/xlist (Depends-on): Add 'list',
12528         * modules/xoset (Depends-on): Add 'oset'.
12529         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
12530
12531 2010-01-07  Bruno Haible  <bruno@clisp.org>
12532
12533         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
12534         * doc/posix-functions/strncasecmp.texi: Likewise.
12535
12536 2010-01-07  Bruno Haible  <bruno@clisp.org>
12537
12538         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
12539
12540 2010-01-07  John W. Eaton  <jwe@octave.org>
12541
12542         wctype: allow C++ use
12543         * lib/wctype.in.h: Add extern "C" block for C++.
12544
12545 2010-01-06  Eric Blake  <ebb9@byu.net>
12546
12547         maint.mk: detect incorrect GFDL usage
12548         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
12549
12550 2010-01-06  Jim Meyering  <meyering@redhat.com>
12551         and Eric Blake  <ebb9@byu.net>
12552
12553         maint.mk: ignore multi-line copyright in NEWS
12554         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
12555
12556 2010-01-06  Eric Blake  <ebb9@byu.net>
12557
12558         select: add missing dependency
12559         * modules/select-tests (Depends-on): Move sockets dependency...
12560         * modules/select (Depends-on): ...here.
12561         Reported by Ian Beckwith.
12562
12563         doc: regenerate INSTALL
12564         * doc/INSTALL: Reflect recent autoconf update.
12565         * doc/INSTALL.ISO: Likewise.
12566         * doc/INSTALL.UTF-8: Likewise.
12567
12568         pread: fix compilation on glibc
12569         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
12570         Reported by Ralf Wildenhues.
12571
12572         dirent: fix test failure
12573         * lib/dirent.in.h (includes): Guarantee ino_t.
12574         Reported by Ralf Wildenhues.
12575
12576 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
12577
12578         linkat, renameat: avoid bad free
12579         * lib/at-func2.c (at_func2): Fix typo.
12580         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
12581
12582 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
12583
12584         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
12585         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
12586         to avoid failure of symlink test later.
12587
12588 2010-01-06  Eric Blake  <ebb9@byu.net>
12589
12590         stdio, unistd: guarantee ssize_t
12591         * lib/unistd.in.h (includes): Ensure that types required by POSIX
12592         2008 are exposed when needed.
12593         * lib/stdio.in.h (includes): Likewise.
12594         Reported by Ralf Wildenhues.
12595
12596 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
12597
12598         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
12599         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
12600         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
12601
12602 2010-01-06  Jim Meyering  <meyering@redhat.com>
12603
12604         readtokens: this module *does* require xalloc.h
12605         It uses only functions that were omitted by the old syntax-check rule.
12606         * lib/readtokens.c: Include "xalloc.h" once again.
12607         * modules/readtokens (Depends-on): Add xalloc.
12608         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
12609
12610 2010-01-05  Eric Blake  <ebb9@byu.net>
12611
12612         maint: support 'make announcement' from a VPATH build
12613         * top/maint.mk (announcement): Look for correct NEWS file.
12614
12615 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
12616
12617         utimens (fdutimens): ignore a negative FD, per contract
12618         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
12619         when we have a valid file descriptor.  Otherwise, using a brand
12620         new glibc (with just-patched futimens that now fails with EBADF)
12621         would cause this function to fail with ENOSYS.
12622         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
12623         See also http://bugzilla.redhat.com/552320.
12624
12625 2010-01-05  Eric Blake  <ebb9@byu.net>
12626
12627         strcase: document what it provides
12628         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
12629         gnulib module.
12630         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
12631         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
12632
12633 2010-01-05  Jim Meyering  <meyering@redhat.com>
12634
12635         maint: remove useless inclusions of "xalloc.h"
12636         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
12637         * lib/readtokens.c: Likewise.
12638         * lib/same.c: Likewise.
12639         * modules/getloadavg (Depends-on): Remove xalloc.
12640         * modules/readtokens: Likewise.
12641         * modules/same: Likewise.
12642
12643         maint.mk: include 4 more function names in alloca.h-checking regexp
12644         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
12645         regexp.  Before, we would give a false-positive (saying alloca.h
12646         is included unnecessarily) when the only uses involved omitted symbols.
12647
12648         xalloc.h: use consistent formatting
12649         * lib/xalloc.h: Move declarations to start in the first column.
12650
12651 2010-01-05  Eric Blake  <ebb9@byu.net>
12652
12653         mkdir: avoid xalloc
12654         * lib/mkdir.c (includes): Drop unused header.
12655         Reported by John W. Eaton.
12656
12657 2010-01-04  Jim Meyering  <meyering@redhat.com>
12658
12659         nl_langinfo: avoid configure-time syntax error
12660         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
12661         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
12662         the empty string.  Don't let that provoke a shell syntax error.
12663
12664         regcomp, regexec, fnmatch: avoid array bounds read error
12665         * lib/regcomp.c (build_equiv_class): From glibc:
12666         Use only the low 24 bits of a findidx return value as an index
12667         into the weights array.  Patch by Ulrich Drepper:
12668         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
12669         * lib/regexec.c (check_node_accept_bytes): Likewise.
12670         * lib/fnmatch_loop.c (FCT): Likewise.
12671
12672         regcomp: skip collseq lookup when there are no rules
12673         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
12674         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
12675
12676         regcomp: recognize ill-formed { } expressions
12677         * lib/regcomp.c (parse_dup_op): From glibc:
12678         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
12679
12680         regcomp: fix typo in comment
12681         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
12682         s/satisfy/satisfies/.
12683
12684         regcomp: sync from glibc: remove dead store
12685         * lib/regcomp.c (duplicate_node_closure): Remove useless
12686         search_duplicated_node call and dead store.
12687
12688         regcomp: sync from glibc; always use nl_langinfo
12689         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
12690         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
12691         * modules/regex (Depends-on): Add nl_langinfo.
12692
12693 2010-01-04  Eric Blake  <ebb9@byu.net>
12694
12695         fdopendir: fix configure test
12696         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
12697
12698 2010-01-01  Bruno Haible  <bruno@clisp.org>
12699
12700         wchar: Remove unused configure check.
12701         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
12702
12703 2010-01-01  Eric Blake  <ebb9@byu.net>
12704
12705         headers: make check of system header explicit
12706         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
12707         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
12708         ourselves.
12709         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
12710         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
12711         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
12712         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
12713         internals.
12714         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
12715         missing.
12716         Suggested by Bruno Haible.
12717
12718 2010-01-01  Jim Meyering  <meyering@redhat.com>
12719
12720         ChangeLog: tweak to eliminate unnecessary copyright line
12721         * ChangeLog: Remove a copyright line that was mistakenly updated
12722         by today's update-copyright run.  Reported by Eric Blake.
12723
12724         test-update-copyright: don't let envvar setting cause test failure
12725         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
12726
12727 2010-01-01  Bruno Haible  <bruno@clisp.org>
12728
12729         localename: Avoid gcc warning.
12730         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
12731         function if it is not used.
12732
12733 2010-01-01  Jim Meyering  <meyering@redhat.com>
12734
12735         update nearly all FSF copyright year lists to include 2010
12736         Use the same procedure as for 2009, outlined in
12737         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
12738
12739         version-etc: set COPYRIGHT_YEAR to 2010
12740         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
12741
12742 2009-12-31  Eric Blake  <ebb9@byu.net>
12743
12744         doc: correct availability of cygwin 1.5.x getopt
12745         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
12746         variables.
12747         * doc/posix-functions/opterr.texi (opterr): Likewise.
12748         * doc/posix-functions/optind.texi (optind): Likewise.
12749         * doc/posix-functions/optopt.texi (optopt): Likewise.
12750         * doc/posix-functions/tzname.texi (tzname): Likewise.
12751
12752         openat: update maintainer
12753         * modules/openat (Maintainer): Add myself.
12754
12755         utimens: avoid shadowing warning
12756         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
12757         buffers into one, to avoid shadowing, as well as avoiding a
12758         redundant stat.
12759         Reported by Jim Meyering.
12760
12761         test-dup2: avoid compiler warning
12762         * tests/test-dup2.c (is_inheritable): Only define if used.
12763
12764 2010-01-01  Bruno Haible  <bruno@clisp.org>
12765
12766         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
12767         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
12768         defined, use wctomb instead of wcrtomb.
12769
12770 2010-01-01  Bruno Haible  <bruno@clisp.org>
12771
12772         iconv: Reject native Solaris iconv.
12773         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
12774         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
12775
12776 2009-12-31  Bruno Haible  <bruno@clisp.org>
12777
12778         * tests/test-signal.c (main): Remove test of 'SIG'.
12779
12780 2009-12-31  Bruno Haible  <bruno@clisp.org>
12781
12782         spawn: Fix incomplete fix.
12783         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
12784         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
12785         warnings for GNULIB_POSIXCHECK again.
12786         Reported by Eric Blake.
12787
12788 2009-12-31  Bruno Haible  <bruno@clisp.org>
12789
12790         Avoid namespace pollution on glibc systems.
12791         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
12792         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
12793         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
12794         glibc systems.
12795
12796 2009-12-31  Bruno Haible  <bruno@clisp.org>
12797
12798         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
12799         (gl_REPLACE_WCHAR_H): Turn into a no-op.
12800         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
12801         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
12802         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
12803         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
12804         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
12805
12806 2009-12-31  Bruno Haible  <bruno@clisp.org>
12807
12808         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
12809         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
12810         afterwards.
12811
12812 2009-12-31  Bruno Haible  <bruno@clisp.org>
12813
12814         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
12815         SYS_UTSNAME_H.
12816
12817 2009-12-31  Bruno Haible  <bruno@clisp.org>
12818
12819         spawn: Fix misapplied patch.
12820         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
12821         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
12822         warnings for GNULIB_POSIXCHECK.
12823
12824 2009-12-31  Bruno Haible  <bruno@clisp.org>
12825
12826         times: Update after sys_times changed.
12827         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
12828         * modules/times (Files): Add it.
12829         (configure.ac): Invoke gl_FUNC_TIMES.
12830
12831 2009-12-31  Bruno Haible  <bruno@clisp.org>
12832
12833         Use AC_C_INLINE where necessary.
12834         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
12835         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
12836         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
12837         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
12838         * m4/mbfile.m4 (gl_MBFILE): Likewise.
12839         * m4/mbiter.m4 (gl_MBITER): Likewise.
12840         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
12841         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
12842         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
12843         * modules/u64 (configure.ac): Likewise.
12844
12845 2009-12-31  Bruno Haible  <bruno@clisp.org>
12846
12847         Use AC_C_INLINE instead of module 'inline' where possible.
12848         * modules/inline (Description): Clarify purpose.
12849         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
12850         * modules/count-one-bits (Depends-on): Remove inline.
12851         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
12852         * modules/openat (Depends-on): Remove inline.
12853         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
12854         instead of depending on module 'inline'.
12855         * modules/filevercmp (Depends-on, configure.ac): Likewise.
12856         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
12857         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
12858         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
12859         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
12860         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
12861         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
12862         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
12863         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
12864         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
12865         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
12866         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
12867         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
12868         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
12869         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
12870         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
12871         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
12872         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
12873         Likewise.
12874         * modules/unictype/property-ascii-hex-digit (Depends-on,
12875         configure.ac): Likewise.
12876         * modules/unictype/property-bidi-arabic-digit (Depends-on,
12877         configure.ac): Likewise.
12878         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
12879         configure.ac): Likewise.
12880         * modules/unictype/property-bidi-block-separator (Depends-on,
12881         configure.ac): Likewise.
12882         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
12883         configure.ac): Likewise.
12884         * modules/unictype/property-bidi-common-separator (Depends-on,
12885         configure.ac): Likewise.
12886         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
12887         Likewise.
12888         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
12889         configure.ac): Likewise.
12890         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
12891         configure.ac): Likewise.
12892         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
12893         configure.ac): Likewise.
12894         * modules/unictype/property-bidi-european-digit (Depends-on,
12895         configure.ac): Likewise.
12896         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
12897         configure.ac): Likewise.
12898         * modules/unictype/property-bidi-left-to-right (Depends-on,
12899         configure.ac): Likewise.
12900         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
12901         configure.ac): Likewise.
12902         * modules/unictype/property-bidi-other-neutral (Depends-on,
12903         configure.ac): Likewise.
12904         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
12905         Likewise.
12906         * modules/unictype/property-bidi-segment-separator (Depends-on,
12907         configure.ac): Likewise.
12908         * modules/unictype/property-bidi-whitespace (Depends-on,
12909         configure.ac): Likewise.
12910         * modules/unictype/property-combining (Depends-on, configure.ac):
12911         Likewise.
12912         * modules/unictype/property-composite (Depends-on, configure.ac):
12913         Likewise.
12914         * modules/unictype/property-currency-symbol (Depends-on,
12915         configure.ac): Likewise.
12916         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
12917         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
12918         Likewise.
12919         * modules/unictype/property-default-ignorable-code-point (Depends-on,
12920         configure.ac): Likewise.
12921         * modules/unictype/property-deprecated (Depends-on, configure.ac):
12922         Likewise.
12923         * modules/unictype/property-diacritic (Depends-on, configure.ac):
12924         Likewise.
12925         * modules/unictype/property-extender (Depends-on, configure.ac):
12926         Likewise.
12927         * modules/unictype/property-format-control (Depends-on, configure.ac):
12928         Likewise.
12929         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
12930         Likewise.
12931         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
12932         Likewise.
12933         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
12934         Likewise.
12935         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
12936         Likewise.
12937         * modules/unictype/property-hyphen (Depends-on, configure.ac):
12938         Likewise.
12939         * modules/unictype/property-id-continue (Depends-on, configure.ac):
12940         Likewise.
12941         * modules/unictype/property-id-start (Depends-on, configure.ac):
12942         Likewise.
12943         * modules/unictype/property-ideographic (Depends-on, configure.ac):
12944         Likewise.
12945         * modules/unictype/property-ids-binary-operator (Depends-on,
12946         configure.ac): Likewise.
12947         * modules/unictype/property-ids-trinary-operator (Depends-on,
12948         configure.ac): Likewise.
12949         * modules/unictype/property-ignorable-control (Depends-on,
12950         configure.ac): Likewise.
12951         * modules/unictype/property-iso-control (Depends-on, configure.ac):
12952         Likewise.
12953         * modules/unictype/property-join-control (Depends-on, configure.ac):
12954         Likewise.
12955         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
12956         Likewise.
12957         * modules/unictype/property-line-separator (Depends-on, configure.ac):
12958         Likewise.
12959         * modules/unictype/property-logical-order-exception (Depends-on,
12960         configure.ac): Likewise.
12961         * modules/unictype/property-lowercase (Depends-on, configure.ac):
12962         Likewise.
12963         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
12964         * modules/unictype/property-non-break (Depends-on, configure.ac):
12965         Likewise.
12966         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
12967         Likewise.
12968         * modules/unictype/property-numeric (Depends-on, configure.ac):
12969         Likewise.
12970         * modules/unictype/property-other-alphabetic (Depends-on,
12971         configure.ac): Likewise.
12972         * modules/unictype/property-other-default-ignorable-code-point
12973         (Depends-on, configure.ac): Likewise.
12974         * modules/unictype/property-other-grapheme-extend (Depends-on,
12975         configure.ac): Likewise.
12976         * modules/unictype/property-other-id-continue (Depends-on,
12977         configure.ac): Likewise.
12978         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
12979         Likewise.
12980         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
12981         Likewise.
12982         * modules/unictype/property-other-math (Depends-on, configure.ac):
12983         Likewise.
12984         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
12985         Likewise.
12986         * modules/unictype/property-paired-punctuation (Depends-on,
12987         configure.ac): Likewise.
12988         * modules/unictype/property-paragraph-separator (Depends-on,
12989         configure.ac): Likewise.
12990         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
12991         Likewise.
12992         * modules/unictype/property-pattern-white-space (Depends-on,
12993         configure.ac): Likewise.
12994         * modules/unictype/property-private-use (Depends-on, configure.ac):
12995         Likewise.
12996         * modules/unictype/property-punctuation (Depends-on, configure.ac):
12997         Likewise.
12998         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
12999         Likewise.
13000         * modules/unictype/property-radical (Depends-on, configure.ac):
13001         Likewise.
13002         * modules/unictype/property-sentence-terminal (Depends-on,
13003         configure.ac): Likewise.
13004         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
13005         Likewise.
13006         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
13007         * modules/unictype/property-terminal-punctuation (Depends-on,
13008         configure.ac): Likewise.
13009         * modules/unictype/property-titlecase (Depends-on, configure.ac):
13010         Likewise.
13011         * modules/unictype/property-unassigned-code-value (Depends-on,
13012         configure.ac): Likewise.
13013         * modules/unictype/property-unified-ideograph (Depends-on,
13014         configure.ac): Likewise.
13015         * modules/unictype/property-uppercase (Depends-on, configure.ac):
13016         Likewise.
13017         * modules/unictype/property-variation-selector (Depends-on,
13018         configure.ac): Likewise.
13019         * modules/unictype/property-white-space (Depends-on, configure.ac):
13020         Likewise.
13021         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
13022         Likewise.
13023         * modules/unictype/property-xid-start (Depends-on, configure.ac):
13024         Likewise.
13025         * modules/unictype/property-zero-width (Depends-on, configure.ac):
13026         Likewise.
13027         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
13028         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
13029         Likewise.
13030
13031 2009-12-31  Bruno Haible  <bruno@clisp.org>
13032
13033         Remove unnecessary AC_C_INLINE invocation.
13034         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
13035         since 2009-08-21.
13036
13037 2009-12-31  Jim Meyering  <meyering@redhat.com>
13038
13039         maint.mk: don't require explicit gpg_key_ID in cfg.mk
13040         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
13041         With this change, we can all remove the gpg_key_ID = ... definition
13042         from our respective cfg.mk files.
13043
13044         maint.mk: create announcement template in ~/, not in /tmp
13045         * top/maint.mk (emit_upload_commands): Adjust.
13046         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
13047         Remove temporary file, .ci-msg.
13048
13049 2009-12-31  Eric Blake  <ebb9@byu.net>
13050
13051         link-warning: always build headers with link warnings
13052         * modules/arpa_inet (Makefile.am): Always build replacement
13053         header.
13054         * modules/ctype (Makefile.am): Likewise.
13055         * modules/dirent (Makefile.am): Likewise.
13056         * modules/inttypes (Makefile.am): Likewise.
13057         * modules/langinfo (Makefile.am): Likewise.
13058         * modules/locale (Makefile.am): Likewise.
13059         * modules/spawn (Makefile.am): Likewise.
13060         * modules/sys_file (Makefile.am): Likewise.
13061         * modules/sys_ioctl (Makefile.am): Likewise.
13062         * modules/sys_select (Makefile.am): Likewise.
13063         * modules/sys_socket (Makefile.am): Likewise.
13064         * modules/sys_times (Makefile.am): Likewise.
13065         * modules/sys_utsname (Makefile.am): Likewise.
13066         * modules/sys_wait (Makefile.am): Likewise.
13067         * modules/wchar (Makefile.am): Likewise.
13068         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
13069         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
13070         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
13071         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
13072         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
13073         Likewise.
13074         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
13075         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
13076         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
13077         Likewise.
13078         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
13079         Likewise.
13080         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
13081         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
13082         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
13083         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
13084         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
13085         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
13086         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
13087         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
13088         (gl_WCHAR_H_DEFAULTS): Likewise.
13089
13090 2009-12-31  Eric Blake  <ebb9@byu.net>
13091
13092         signal, spawn: use link warnings
13093         * lib/signal.in.h (sigset_t): Make unconditional.
13094         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
13095         (sigpending, sigprocmask, sigaction): Add link warnings.
13096         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
13097         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
13098         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
13099         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
13100         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
13101         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
13102         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
13103         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
13104         (posix_spawn_file_actions_destroy)
13105         (posix_spawn_file_actions_addopen)
13106         (posix_spawn_file_actions_addclose)
13107         (posix_spawn_file_actions_adddup2): Likewise.
13108         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
13109         * tests/test-signal.c (main): Enhance test.
13110
13111         spawn: improve wrapper support
13112         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
13113         (gl_SPAWN_H_DEFAULTS): New defaults.
13114         * modules/spawn (Makefile.am): Substitute them.
13115         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
13116         Only declare if missing or broken.
13117
13118         sys_times, sys_utsname: use include_next
13119         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
13120         header.
13121         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
13122         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
13123         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
13124         * modules/sys_times (Depends-on): Add include_next.
13125         (Makefile.am): Substitute additional values.
13126         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
13127         * lib/sys_times.in.h (includes): Include native header, if
13128         available.
13129         * lib/sys_utsname.in.h (includes): Likewise.
13130         * tests/test-sys_times.c (main): Enhance test.
13131
13132         fdutimensat: revert prior patch
13133         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
13134         utimens.h.
13135         Reported by Bruno Haible.
13136
13137 2009-12-30  Eric Blake  <ebb9@byu.net>
13138
13139         sys_wait: drop link-warning dependency
13140         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
13141         link-warning efforts.
13142         * lib/sys_wait.in.h: Likewise.
13143
13144         fdutimensat: remove bogus dependency
13145         * modules/fdutimensat (Depends-on): Drop inline.
13146
13147         unistd: fix typo
13148         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
13149
13150 2009-12-30  Bruno Haible  <bruno@clisp.org>
13151
13152         Fix compilation error with Solaris cc.
13153         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
13154         * lib/unicase/u16-is-invariant.c: Likewise.
13155         * lib/unicase/u32-is-invariant.c: Likewise.
13156         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
13157
13158 2009-12-30  Bruno Haible  <bruno@clisp.org>
13159
13160         Fix test crash.
13161         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
13162         locales.
13163         Reported by Simon Josefsson <simon@josefsson.org>.
13164
13165 2009-12-30  Bruno Haible  <bruno@clisp.org>
13166
13167         Fix compilation error on most platforms.
13168         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
13169         Reported by Simon Josefsson <simon@josefsson.org>
13170         and Nelson H. F. Beebe <beebe@math.utah.edu>.
13171
13172 2009-12-30  Eric Blake  <ebb9@byu.net>
13173
13174         futimens, utimensat: work around ntfs-3g bug
13175         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
13176         a ctime bug is present, and expand workaround to cover ntfs-3g.
13177         * lib/utimens.c (fdutimens, lutimens): Likewise.
13178         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
13179         (validate_timespec): Adjust return value.
13180         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
13181         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
13182         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
13183
13184 2009-12-29  Eric Blake  <ebb9@byu.net>
13185
13186         link-warning: make usage consistent
13187         * modules/ctype (Depends-on): Add link-warning.
13188         (Makefile.am): Update rules accordingly.
13189         * modules/langinfo (Depends-on, Makefile.am): Likewise.
13190         * modules/locale (Depends-on, Makefile.am): Likewise.
13191         * modules/sys_file (Makefile.am): Likewise.
13192         * modules/getopt-posix (Makefile.am): Delete unused link warning
13193         efforts.
13194         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
13195         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
13196         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
13197         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
13198
13199         stdio: remove unused variables
13200         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
13201         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
13202         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
13203
13204         tests: test more substitute headers
13205         * modules/ctype-tests: New file.
13206         * modules/dirent-tests: Likewise.
13207         * modules/spawn-tests: Likewise.
13208         * modules/sys_file-tests: Likewise.
13209         * modules/sys_ioctl-tests: Likewise.
13210         * modules/sys_wait-tests: Likewise.
13211         * tests/test-ctype.c: Likewise.
13212         * tests/test-dirent.c: Likewise.
13213         * tests/test-spawn.c: Likewise.
13214         * tests/test-sys_file.c: Likewise.
13215         * tests/test-sys_ioctl.c: Likewise.
13216         * tests/test-sys_wait.c: Likewise.
13217         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
13218         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
13219         whether or not flock is in use.
13220
13221         tests: remove License section from module
13222         * modules/arpa_inet-tests: Remove unneeded section.
13223         * modules/byteswap-tests: Likewise.
13224         * modules/ceilf-tests: Likewise.
13225         * modules/ceill-tests: Likewise.
13226         * modules/crypto/des-tests: Likewise.
13227         * modules/crypto/gc-arcfour-tests: Likewise.
13228         * modules/crypto/gc-arctwo-tests: Likewise.
13229         * modules/crypto/gc-des-tests: Likewise.
13230         * modules/crypto/gc-hmac-md5-tests: Likewise.
13231         * modules/crypto/gc-hmac-sha1-tests: Likewise.
13232         * modules/crypto/gc-md2-tests: Likewise.
13233         * modules/crypto/gc-md4-tests: Likewise.
13234         * modules/crypto/gc-md5-tests: Likewise.
13235         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
13236         * modules/crypto/gc-rijndael-tests: Likewise.
13237         * modules/crypto/gc-sha1-tests: Likewise.
13238         * modules/crypto/gc-tests: Likewise.
13239         * modules/crypto/md2-tests: Likewise.
13240         * modules/crypto/md4-tests: Likewise.
13241         * modules/fcntl-h-tests: Likewise.
13242         * modules/floorf-tests: Likewise.
13243         * modules/floorl-tests: Likewise.
13244         * modules/frexp-nolibm-tests: Likewise.
13245         * modules/frexp-tests: Likewise.
13246         * modules/frexpl-nolibm-tests: Likewise.
13247         * modules/frexpl-tests: Likewise.
13248         * modules/getaddrinfo-tests: Likewise.
13249         * modules/inttypes-tests: Likewise.
13250         * modules/isfinite-tests: Likewise.
13251         * modules/isinf-tests: Likewise.
13252         * modules/ldexpl-tests: Likewise.
13253         * modules/locale-tests: Likewise.
13254         * modules/math-tests: Likewise.
13255         * modules/netdb-tests: Likewise.
13256         * modules/netinet_in-tests: Likewise.
13257         * modules/printf-frexp-tests: Likewise.
13258         * modules/printf-frexpl-tests: Likewise.
13259         * modules/priv-set-tests: Likewise.
13260         * modules/random_r-tests: Likewise.
13261         * modules/round-tests: Likewise.
13262         * modules/roundf-tests: Likewise.
13263         * modules/roundl-tests: Likewise.
13264         * modules/search-tests: Likewise.
13265         * modules/select-tests: Likewise.
13266         * modules/signal-tests: Likewise.
13267         * modules/stdbool-tests: Likewise.
13268         * modules/stddef-tests: Likewise.
13269         * modules/stdint-tests: Likewise.
13270         * modules/stdio-tests: Likewise.
13271         * modules/stdlib-tests: Likewise.
13272         * modules/string-tests: Likewise.
13273         * modules/strings-tests: Likewise.
13274         * modules/sys_select-tests: Likewise.
13275         * modules/sys_socket-tests: Likewise.
13276         * modules/sys_stat-tests: Likewise.
13277         * modules/sys_time-tests: Likewise.
13278         * modules/sys_utsname-tests: Likewise.
13279         * modules/sysexits-tests: Likewise.
13280         * modules/time-tests: Likewise.
13281         * modules/trunc-tests: Likewise.
13282         * modules/truncf-tests: Likewise.
13283         * modules/truncl-tests: Likewise.
13284         * modules/tsearch-tests: Likewise.
13285         * modules/unistd-tests: Likewise.
13286         * modules/wchar-tests: Likewise.
13287         * modules/wctype-tests: Likewise.
13288
13289         tests: fix license on several tests
13290         * tests/test-des.c: Update to GPLv3+.
13291         * tests/test-flock.c: Likewise.
13292         * tests/test-fsync.c: Likewise.
13293         * tests/test-futimens.h: Likewise.
13294         * tests/test-gc-arcfour.c: Likewise.
13295         * tests/test-gc-arctwo.c: Likewise.
13296         * tests/test-gc-des.c: Likewise.
13297         * tests/test-gc-hmac-md5.c: Likewise.
13298         * tests/test-gc-hmac-sha1.c: Likewise.
13299         * tests/test-gc-md2.c: Likewise.
13300         * tests/test-gc-md4.c: Likewise.
13301         * tests/test-gc-md5.c: Likewise.
13302         * tests/test-gc-pbkdf2-sha1.c: Likewise.
13303         * tests/test-gc-rijndael.c: Likewise.
13304         * tests/test-gc-sha1.c: Likewise.
13305         * tests/test-gc.c: Likewise.
13306         * tests/test-getcwd.c: Likewise.
13307         * tests/test-link.c: Likewise.
13308         * tests/test-link.h: Likewise.
13309         * tests/test-lutimens.h: Likewise.
13310         * tests/test-md2.c: Likewise.
13311         * tests/test-md4.c: Likewise.
13312         * tests/test-mkdir.h: Likewise.
13313         * tests/test-rename.c: Likewise.
13314         * tests/test-rename.h: Likewise.
13315         * tests/test-safe-alloc.c: Likewise.
13316         * tests/test-utimens-common.h: Likewise.
13317         * tests/test-utimens.h: Likewise.
13318
13319         maint: sync license texts
13320         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
13321         * doc/gpl-3.0.texi: Revert copyright year update.
13322         * doc/lgpl-3.0.texi: Likewise.
13323
13324 2009-12-29  Jim Meyering  <meyering@redhat.com>
13325
13326         update nearly all FSF copyright year lists to include 2009
13327         The files named by the following are exempted:
13328             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
13329               test -f "$dst" && { echo "$dst"; continue; }
13330               test -d "$dst" || continue
13331               echo "$dst"/$(basename "$src")
13332             done > exempt
13333             git ls-files tests/unictype >> exempt
13334         In the remaining files, convert to all-interval notation if
13335         - there is already at least one year interval like 2000-2003
13336         - the file is maintained by me
13337         - the file is in lib/uni*/, where that style already prevails
13338         Otherwise, use update-copyright's default.
13339
13340 2009-12-29  Simon Josefsson  <simon@josefsson.org>
13341         and Eric Blake  <ebb9@byu.net>
13342
13343         tests: don't require debug system() to pass
13344         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
13345         * tests/test-rmdir.h (test_rmdir_func): Likewise.
13346         * tests/test-unlink.h (test_unlink_func): Likewise.
13347         * tests/test-fstatat.c (main): ...into callers.
13348         * tests/test-lstat.c (main): Likewise.
13349         * tests/test-rmdir.c (main): Likewise.
13350         * tests/test-unlink.c (main): Likewise.
13351         * tests/test-unlinkat.c (main): Likewise.
13352         * tests/test-areadlink-with-size.c (main): Don't require a
13353         debug-only system call to pass, aiding cross-testing to mingw.
13354         * tests/test-areadlink.c (main): Likewise.
13355         * tests/test-areadlinkat-with-size.c (main): Likewise.
13356         * tests/test-areadlinkat.c (main): Likewise.
13357         * tests/test-canonicalize-lgpl.c (main): Likewise.
13358         * tests/test-canonicalize.c (main): Likewise.
13359         * tests/test-chown.c (main): Likewise.
13360         * tests/test-fchownat.c (main): Likewise.
13361         * tests/test-lchown.c (main): Likewise.
13362         * tests/test-fdutimensat.c (main): Likewise.
13363         * tests/test-futimens.c (main): Likewise.
13364         * tests/test-link.c (main): Likewise.
13365         * tests/test-linkat.c (main): Likewise.
13366         * tests/test-mkdir.c (main): Likewise.
13367         * tests/test-mkdirat.c (main): Likewise.
13368         * tests/test-mkfifo.c (main): Likewise.
13369         * tests/test-mkfifoat.c (main): Likewise.
13370         * tests/test-mknod.c (main): Likewise.
13371         * tests/test-readlink.c (main): Likewise.
13372         * tests/test-remove.c (main): Likewise.
13373         * tests/test-rename.c (main): Likewise.
13374         * tests/test-renameat.c (main): Likewise.
13375         * tests/test-symlink.c (main): Likewise.
13376         * tests/test-symlinkat.c (main): Likewise.
13377         * tests/test-utimens.c (main): Likewise.
13378         * tests/test-utimensat.c (main): Likewise.
13379
13380 2009-12-29  Simon Josefsson  <simon@josefsson.org>
13381
13382         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
13383         on $(UNUSED_PARAMETER_H) to avoid build failure.
13384
13385 2009-12-28  Jim Meyering  <meyering@redhat.com>
13386
13387         update-copyright: you may specify a max. line length other than 72
13388         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
13389
13390         maint: use consistent FSF copyright line syntax
13391         * lib/posixtm.c: Add missing comma in FSF copyright line.
13392         * lib/posixtm.h: Likewise.
13393         * lib/getugroups.c: Add missing ", Inc.".
13394
13395         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
13396         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
13397         FSF copyright line.  Remove trailing blanks.
13398
13399 2009-12-28  Eric Blake  <ebb9@byu.net>
13400
13401         test-dup2: reduce dependencies
13402         * modules/cloexec (Configure.ac): Set witness.
13403         * modules/dup2-tests (Depends-on): Drop cloexec.
13404         * tests/test-dup2.c (main): Skip portion of test if cloexec module
13405         not present.
13406         Suggested by Bruno Haible.
13407
13408 2009-12-26  Bruno Haible  <bruno@clisp.org>
13409
13410         Remove an unneeded dependency.
13411         * modules/fseterr (Depends-on): Remove dup2.
13412
13413 2009-12-26  Eric Blake  <ebb9@byu.net>
13414
13415         tests: use macros.h in more places
13416         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
13417         (ASSERT_STREAM): Provide default of stderr.
13418         * tests/test-dirent-safer.c: Include macros.h, using alternate
13419         stream for assertions.
13420         * tests/test-dup-safer.c: Likewise.
13421         * tests/test-freopen-safer.c: Likewise.
13422         * tests/test-getopt.c: Likewise.
13423         * tests/test-openat-safer.c: Likewise.
13424         * tests/test-pipe.c: Likewise.
13425         * tests/test-popen-safer.c: Likewise.
13426         * modules/dirent-safer-tests (Files): Include macros.h.
13427         * modules/unistd-safer-tests (Files): Likewise.
13428         * modules/freopen-safer-tests (Files): Likewise.
13429         * modules/getopt-posix-tests (Files): Likewise.
13430         * modules/openat-safer-tests (Files): Likewise.
13431         * modules/pipe-tests (Files): Likewise.
13432
13433 2009-12-26  Bruno Haible  <bruno@clisp.org>
13434
13435         javacomp: Portability fix.
13436         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
13437         that it also works on Solaris.
13438
13439 2009-12-26  Bruno Haible  <bruno@clisp.org>
13440
13441         localename: Fix storage allocation of gl_locale_name_thread's result.
13442         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
13443         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
13444         all platforms that have 'uselocale'.
13445         (gl_locale_name_thread_unsafe): New function, extracted from
13446         gl_locale_name_thread.
13447         (gl_locale_name_thread): Call struniq on all platforms that have
13448         'uselocale'.
13449         * tests/test-localename.c (test_locale_name_thread): Check that the
13450         resulting strings are permanently allocated.
13451         * modules/localename-tests (Depends-on): Add strdup.
13452
13453 2009-12-26  Bruno Haible  <bruno@clisp.org>
13454
13455         * tests/test-localename.c (categories): Fill in the strings.
13456
13457 2009-12-26  Jim Meyering  <meyering@redhat.com>
13458
13459         isdir: complete the removal of m4/isdir.m4
13460         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
13461
13462         isdir: clean up, since at least grep still uses it
13463         * lib/isdir.c: Include "isdir.h".
13464         (S_ISDIR): Remove now-unneeded definition.
13465         * modules/isdir (Files): Add lib/isdir.h.
13466         * lib/isdir.h: New file, with declaration.
13467         * m4/isdir.m4: Remove file -- unneeded.
13468
13469 2009-12-25  Bruno Haible  <bruno@clisp.org>
13470
13471         selinux-h: Make generated .h files standalone.
13472         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
13473         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
13474         * lib/se-selinux.in.h: Likewise.
13475         * modules/selinux-h (Depends-on): Add unused-parameter.
13476         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
13477         selinux/selinux.h and selinux/context.h.
13478         Suggested by Eric Blake.
13479
13480 2009-12-25  Bruno Haible  <bruno@clisp.org>
13481
13482         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
13483         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
13484         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
13485         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
13486         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
13487
13488 2009-12-24  Bruno Haible  <bruno@clisp.org>
13489
13490         openat: Fix warning.
13491         * lib/openat-proc.c: Include <unistd.h>.
13492
13493 2009-12-24  Bruno Haible  <bruno@clisp.org>
13494
13495         New module 'unused-parameter'.
13496         * build-aux/unused-parameter.h: New file, extracted from earlier
13497         gnulib-common.m4.
13498         * modules/unused-parameter: New file.
13499         * lib/unistr.h: Include unused-parameter.h.
13500         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
13501         _GL_UNUSED.
13502         * modules/unistr/base (Depends-on): Add unused-parameter.
13503
13504 2009-12-24  Bruno Haible  <bruno@clisp.org>
13505
13506         Add missing dependencies to 'extensions' module.
13507         * m4/extensions.m4: Add comment.
13508         * modules/accept4 (Depends-on): Add extensions.
13509         * modules/dup3 (Depends-on): Likewise.
13510         * modules/fcntl (Depends-on): Likewise.
13511         * modules/futimens (Depends-on): Likewise.
13512         * modules/mknod (Depends-on): Likewise.
13513         * modules/pipe2 (Depends-on): Likewise.
13514         * modules/stat-time (Depends-on): Likewise.
13515         * modules/strcasestr-simple (Depends-on): Likewise.
13516         * modules/strsignal (Depends-on): Likewise.
13517         * modules/utimensat (Depends-on): Likewise.
13518         * modules/localcharset (Depends-on): Likewise. Needed because of
13519         gl_FCNTL_O_FLAGS.
13520         * modules/wcrtomb (Depends-on): Likewise. Needed because of
13521         AC_TYPE_MBSTATE_T.
13522         * modules/wcsnrtombs (Depends-on): Likewise.
13523         * modules/wcsrtombs (Depends-on): Likewise.
13524
13525 2009-12-24  Bruno Haible  <bruno@clisp.org>
13526
13527         binary-io: Avoid gcc warning due to SET_BINARY.
13528         * lib/binary-io.h (SET_BINARY): Cast the result to void.
13529         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
13530
13531 2009-12-24  Bruno Haible  <bruno@clisp.org>
13532
13533         Avoid future namespace pollution on glibc systems.
13534         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
13535         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
13536         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
13537         glibc systems.
13538
13539 2009-12-24  Bruno Haible  <bruno@clisp.org>
13540
13541         Refactor common macros used in tests.
13542         * tests/macros.h: New file.
13543         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
13544         and/or <stdlib.h>, if appropriate.
13545         (ASSERT, SIZEOF): Remove macros.
13546         * tests/test-areadlink-with-size.c: Likewise.
13547         * tests/test-areadlinkat.c: Likewise.
13548         * tests/test-areadlinkat-with-size.c: Likewise.
13549         * tests/test-argmatch.c: Likewise.
13550         * tests/test-argv-iter.c: Likewise.
13551         * tests/test-array-mergesort.c: Likewise.
13552         * tests/test-array_list.c: Likewise.
13553         * tests/test-array_oset.c: Likewise.
13554         * tests/test-avltree_list.c: Likewise.
13555         * tests/test-avltree_oset.c: Likewise.
13556         * tests/test-avltreehash_list.c: Likewise.
13557         * tests/test-base64.c: Likewise.
13558         * tests/test-binary-io.c: Likewise.
13559         * tests/test-bitrotate.c: Likewise.
13560         * tests/test-btowc.c: Likewise.
13561         * tests/test-byteswap.c: Likewise.
13562         * tests/test-c-ctype.c: Likewise.
13563         * tests/test-c-stack.c: Likewise.
13564         * tests/test-c-strcasecmp.c: Likewise.
13565         * tests/test-c-strcasestr.c: Likewise.
13566         * tests/test-c-strncasecmp.c: Likewise.
13567         * tests/test-c-strstr.c: Likewise.
13568         * tests/test-canonicalize-lgpl.c: Likewise.
13569         * tests/test-canonicalize.c: Likewise.
13570         * tests/test-carray_list.c: Likewise.
13571         * tests/test-ceilf1.c: Likewise.
13572         * tests/test-ceilf2.c: Likewise.
13573         * tests/test-ceill.c: Likewise.
13574         * tests/test-chown.c: Likewise.
13575         * tests/test-cloexec.c: Likewise.
13576         * tests/test-copy-acl.c: Likewise.
13577         * tests/test-copy-file.c: Likewise.
13578         * tests/test-count-one-bits.c: Likewise.
13579         * tests/test-dprintf-posix.c: Likewise.
13580         * tests/test-dup2.c: Likewise.
13581         * tests/test-dup3.c: Likewise.
13582         * tests/test-duplocale.c: Likewise.
13583         * tests/test-fbufmode.c: Likewise.
13584         * tests/test-fchdir.c: Likewise.
13585         * tests/test-fchownat.c: Likewise.
13586         * tests/test-fcntl-safer.c: Likewise.
13587         * tests/test-fcntl.c: Likewise.
13588         * tests/test-fdopendir.c: Likewise.
13589         * tests/test-fdutimensat.c: Likewise.
13590         * tests/test-fflush2.c: Likewise.
13591         * tests/test-file-has-acl.c: Likewise.
13592         * tests/test-filevercmp.c: Likewise.
13593         * tests/test-flock.c: Likewise.
13594         * tests/test-floorf1.c: Likewise.
13595         * tests/test-floorf2.c: Likewise.
13596         * tests/test-floorl.c: Likewise.
13597         * tests/test-fnmatch.c: Likewise.
13598         * tests/test-fopen.h: Likewise.
13599         * tests/test-fpending.c: Likewise.
13600         * tests/test-fprintf-posix.c: Likewise.
13601         * tests/test-fpurge.c: Likewise.
13602         * tests/test-freadable.c: Likewise.
13603         * tests/test-freadahead.c: Likewise.
13604         * tests/test-freading.c: Likewise.
13605         * tests/test-freadptr.c: Likewise.
13606         * tests/test-freadptr2.c: Likewise.
13607         * tests/test-freadseek.c: Likewise.
13608         * tests/test-freopen.c: Likewise.
13609         * tests/test-frexp.c: Likewise.
13610         * tests/test-frexpl.c: Likewise.
13611         * tests/test-fseek.c: Likewise.
13612         * tests/test-fseeko.c: Likewise.
13613         * tests/test-fstatat.c: Likewise.
13614         * tests/test-fstrcmp.c: Likewise.
13615         * tests/test-fsync.c: Likewise.
13616         * tests/test-ftell.c: Likewise.
13617         * tests/test-ftello.c: Likewise.
13618         * tests/test-func.c: Likewise.
13619         * tests/test-futimens.c: Likewise.
13620         * tests/test-fwritable.c: Likewise.
13621         * tests/test-fwriting.c: Likewise.
13622         * tests/test-getcwd.c: Likewise.
13623         * tests/test-getdate.c: Likewise.
13624         * tests/test-getdelim.c: Likewise.
13625         * tests/test-getdtablesize.c: Likewise.
13626         * tests/test-getgroups.c: Likewise.
13627         * tests/test-getline.c: Likewise.
13628         * tests/test-getndelim2.c: Likewise.
13629         * tests/test-glob.c: Likewise.
13630         * tests/test-hash.c: Likewise.
13631         * tests/test-i-ring.c: Likewise.
13632         * tests/test-iconv-utf.c: Likewise.
13633         * tests/test-iconv.c: Likewise.
13634         * tests/test-idpriv-drop.c: Likewise.
13635         * tests/test-idpriv-droptemp.c: Likewise.
13636         * tests/test-inet_ntop.c: Likewise.
13637         * tests/test-inet_pton.c: Likewise.
13638         * tests/test-isblank.c: Likewise.
13639         * tests/test-isfinite.c: Likewise.
13640         * tests/test-isinf.c: Likewise.
13641         * tests/test-isnan.c: Likewise.
13642         * tests/test-isnand.h: Likewise.
13643         * tests/test-isnanf.h: Likewise.
13644         * tests/test-isnanl.h: Likewise.
13645         * tests/test-lchown.c: Likewise.
13646         * tests/test-ldexpl.c: Likewise.
13647         * tests/test-link.c: Likewise.
13648         * tests/test-linkat.c: Likewise.
13649         * tests/test-linked_list.c: Likewise.
13650         * tests/test-linkedhash_list.c: Likewise.
13651         * tests/test-localename.c: Likewise.
13652         * tests/test-lseek.c: Likewise.
13653         * tests/test-lstat.c: Likewise.
13654         * tests/test-mbmemcasecmp.c: Likewise.
13655         * tests/test-mbmemcasecoll.c: Likewise.
13656         * tests/test-mbrtowc.c: Likewise.
13657         * tests/test-mbscasecmp.c: Likewise.
13658         * tests/test-mbscasestr1.c: Likewise.
13659         * tests/test-mbscasestr2.c: Likewise.
13660         * tests/test-mbscasestr3.c: Likewise.
13661         * tests/test-mbscasestr4.c: Likewise.
13662         * tests/test-mbschr.c: Likewise.
13663         * tests/test-mbscspn.c: Likewise.
13664         * tests/test-mbsinit.c: Likewise.
13665         * tests/test-mbsncasecmp.c: Likewise.
13666         * tests/test-mbsnrtowcs.c: Likewise.
13667         * tests/test-mbspbrk.c: Likewise.
13668         * tests/test-mbspcasecmp.c: Likewise.
13669         * tests/test-mbsrchr.c: Likewise.
13670         * tests/test-mbsrtowcs.c: Likewise.
13671         * tests/test-mbsspn.c: Likewise.
13672         * tests/test-mbsstr1.c: Likewise.
13673         * tests/test-mbsstr2.c: Likewise.
13674         * tests/test-mbsstr3.c: Likewise.
13675         * tests/test-memchr.c: Likewise.
13676         * tests/test-memchr2.c: Likewise.
13677         * tests/test-memcmp.c: Likewise.
13678         * tests/test-memmem.c: Likewise.
13679         * tests/test-memrchr.c: Likewise.
13680         * tests/test-mkdir.c: Likewise.
13681         * tests/test-mkdirat.c: Likewise.
13682         * tests/test-mkfifo.c: Likewise.
13683         * tests/test-mkfifoat.c: Likewise.
13684         * tests/test-mknod.c: Likewise.
13685         * tests/test-nanosleep.c: Likewise.
13686         * tests/test-nl_langinfo.c: Likewise.
13687         * tests/test-obstack-printf.c: Likewise.
13688         * tests/test-open.c: Likewise.
13689         * tests/test-openat.c: Likewise.
13690         * tests/test-pipe-filter-gi1.c: Likewise.
13691         * tests/test-pipe-filter-gi2-main.c: Likewise.
13692         * tests/test-pipe-filter-ii1.c: Likewise.
13693         * tests/test-pipe-filter-ii2-main.c: Likewise.
13694         * tests/test-pipe2.c: Likewise.
13695         * tests/test-popen.h: Likewise.
13696         * tests/test-posixtm.c: Likewise.
13697         * tests/test-pread.c: Likewise.
13698         * tests/test-printf-frexp.c: Likewise.
13699         * tests/test-printf-frexpl.c: Likewise.
13700         * tests/test-printf-posix.c: Likewise.
13701         * tests/test-priv-set.c: Likewise.
13702         * tests/test-quotearg.c: Likewise.
13703         * tests/test-random_r.c: Likewise.
13704         * tests/test-rawmemchr.c: Likewise.
13705         * tests/test-rbtree_list.c: Likewise.
13706         * tests/test-rbtree_oset.c: Likewise.
13707         * tests/test-rbtreehash_list.c: Likewise.
13708         * tests/test-readlink.c: Likewise.
13709         * tests/test-remove.c: Likewise.
13710         * tests/test-rename.c: Likewise.
13711         * tests/test-renameat.c: Likewise.
13712         * tests/test-rmdir.c: Likewise.
13713         * tests/test-round1.c: Likewise.
13714         * tests/test-roundf1.c: Likewise.
13715         * tests/test-roundl.c: Likewise.
13716         * tests/test-safe-alloc.c: Likewise.
13717         * tests/test-sameacls.c: Likewise.
13718         * tests/test-set-mode-acl.c: Likewise.
13719         * tests/test-setenv.c: Likewise.
13720         * tests/test-sigaction.c: Likewise.
13721         * tests/test-signbit.c: Likewise.
13722         * tests/test-sleep.c: Likewise.
13723         * tests/test-snprintf-posix.c: Likewise.
13724         * tests/test-snprintf.c: Likewise.
13725         * tests/test-sprintf-posix.c: Likewise.
13726         * tests/test-stat-time.c: Likewise.
13727         * tests/test-stat.c: Likewise.
13728         * tests/test-strcasestr.c: Likewise.
13729         * tests/test-strchrnul.c: Likewise.
13730         * tests/test-strerror.c: Likewise.
13731         * tests/test-striconv.c: Likewise.
13732         * tests/test-striconveh.c: Likewise.
13733         * tests/test-striconveha.c: Likewise.
13734         * tests/test-strsignal.c: Likewise.
13735         * tests/test-strstr.c: Likewise.
13736         * tests/test-strtod.c: Likewise.
13737         * tests/test-strverscmp.c: Likewise.
13738         * tests/test-symlink.c: Likewise.
13739         * tests/test-symlinkat.c: Likewise.
13740         * tests/test-trunc1.c: Likewise.
13741         * tests/test-trunc2.c: Likewise.
13742         * tests/test-truncf1.c: Likewise.
13743         * tests/test-truncf2.c: Likewise.
13744         * tests/test-truncl.c: Likewise.
13745         * tests/test-uname.c: Likewise.
13746         * tests/test-unlink.c: Likewise.
13747         * tests/test-unlinkat.c: Likewise.
13748         * tests/test-unsetenv.c: Likewise.
13749         * tests/test-usleep.c: Likewise.
13750         * tests/test-utimens.c: Likewise.
13751         * tests/test-utimensat.c: Likewise.
13752         * tests/test-vasnprintf-posix.c: Likewise.
13753         * tests/test-vasnprintf-posix2.c: Likewise.
13754         * tests/test-vasnprintf.c: Likewise.
13755         * tests/test-vasprintf-posix.c: Likewise.
13756         * tests/test-vasprintf.c: Likewise.
13757         * tests/test-vdprintf-posix.c: Likewise.
13758         * tests/test-vfprintf-posix.c: Likewise.
13759         * tests/test-vprintf-posix.c: Likewise.
13760         * tests/test-vsnprintf-posix.c: Likewise.
13761         * tests/test-vsnprintf.c: Likewise.
13762         * tests/test-vsprintf-posix.c: Likewise.
13763         * tests/test-wcrtomb.c: Likewise.
13764         * tests/test-wcsnrtombs.c: Likewise.
13765         * tests/test-wcsrtombs.c: Likewise.
13766         * tests/test-wctype.c: Likewise.
13767         * tests/test-wcwidth.c: Likewise.
13768         * tests/test-xfprintf-posix.c: Likewise.
13769         * tests/test-xmemdup0.c: Likewise.
13770         * tests/test-xprintf-posix.c: Likewise.
13771         * tests/test-xvasprintf.c: Likewise.
13772         * tests/unicase/test-locale-language.c: Likewise.
13773         * tests/unicase/test-mapping-part1.h: Likewise.
13774         * tests/unicase/test-predicate-part1.h: Likewise.
13775         * tests/unicase/test-u8-casecmp.c: Likewise.
13776         * tests/unicase/test-u8-casecoll.c: Likewise.
13777         * tests/unicase/test-u8-casefold.c: Likewise.
13778         * tests/unicase/test-u8-is-cased.c: Likewise.
13779         * tests/unicase/test-u8-is-casefolded.c: Likewise.
13780         * tests/unicase/test-u8-is-lowercase.c: Likewise.
13781         * tests/unicase/test-u8-is-titlecase.c: Likewise.
13782         * tests/unicase/test-u8-is-uppercase.c: Likewise.
13783         * tests/unicase/test-u8-tolower.c: Likewise.
13784         * tests/unicase/test-u8-totitle.c: Likewise.
13785         * tests/unicase/test-u8-toupper.c: Likewise.
13786         * tests/unicase/test-u16-casecmp.c: Likewise.
13787         * tests/unicase/test-u16-casecoll.c: Likewise.
13788         * tests/unicase/test-u16-casefold.c: Likewise.
13789         * tests/unicase/test-u16-is-cased.c: Likewise.
13790         * tests/unicase/test-u16-is-casefolded.c: Likewise.
13791         * tests/unicase/test-u16-is-lowercase.c: Likewise.
13792         * tests/unicase/test-u16-is-titlecase.c: Likewise.
13793         * tests/unicase/test-u16-is-uppercase.c: Likewise.
13794         * tests/unicase/test-u16-tolower.c: Likewise.
13795         * tests/unicase/test-u16-totitle.c: Likewise.
13796         * tests/unicase/test-u16-toupper.c: Likewise.
13797         * tests/unicase/test-u32-casecmp.c: Likewise.
13798         * tests/unicase/test-u32-casecoll.c: Likewise.
13799         * tests/unicase/test-u32-casefold.c: Likewise.
13800         * tests/unicase/test-u32-is-cased.c: Likewise.
13801         * tests/unicase/test-u32-is-casefolded.c: Likewise.
13802         * tests/unicase/test-u32-is-lowercase.c: Likewise.
13803         * tests/unicase/test-u32-is-titlecase.c: Likewise.
13804         * tests/unicase/test-u32-is-uppercase.c: Likewise.
13805         * tests/unicase/test-u32-tolower.c: Likewise.
13806         * tests/unicase/test-u32-totitle.c: Likewise.
13807         * tests/unicase/test-u32-toupper.c: Likewise.
13808         * tests/unicase/test-ulc-casecmp.c: Likewise.
13809         * tests/unicase/test-ulc-casecoll.c: Likewise.
13810         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
13811         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
13812         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
13813         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
13814         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
13815         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
13816         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
13817         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
13818         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
13819         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
13820         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
13821         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
13822         * tests/unictype/test-bidi_byname.c: Likewise.
13823         * tests/unictype/test-bidi_name.c: Likewise.
13824         * tests/unictype/test-bidi_of.c: Likewise.
13825         * tests/unictype/test-bidi_test.c: Likewise.
13826         * tests/unictype/test-block_list.c: Likewise.
13827         * tests/unictype/test-block_of.c: Likewise.
13828         * tests/unictype/test-block_test.c: Likewise.
13829         * tests/unictype/test-categ_and.c: Likewise.
13830         * tests/unictype/test-categ_and_not.c: Likewise.
13831         * tests/unictype/test-categ_byname.c: Likewise.
13832         * tests/unictype/test-categ_name.c: Likewise.
13833         * tests/unictype/test-categ_none.c: Likewise.
13834         * tests/unictype/test-categ_of.c: Likewise.
13835         * tests/unictype/test-categ_or.c: Likewise.
13836         * tests/unictype/test-categ_test_withtable.c: Likewise.
13837         * tests/unictype/test-combining.c: Likewise.
13838         * tests/unictype/test-decdigit.c: Likewise.
13839         * tests/unictype/test-digit.c: Likewise.
13840         * tests/unictype/test-mirror.c: Likewise.
13841         * tests/unictype/test-numeric.c: Likewise.
13842         * tests/unictype/test-pr_byname.c: Likewise.
13843         * tests/unictype/test-pr_test.c: Likewise.
13844         * tests/unictype/test-predicate-part1.h: Likewise.
13845         * tests/unictype/test-scripts.c: Likewise.
13846         * tests/unictype/test-sy_c_ident.c: Likewise.
13847         * tests/unictype/test-sy_java_ident.c: Likewise.
13848         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
13849         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
13850         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
13851         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
13852         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
13853         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
13854         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
13855         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
13856         * tests/uninorm/test-canonical-decomposition.c: Likewise.
13857         * tests/uninorm/test-compat-decomposition.c: Likewise.
13858         * tests/uninorm/test-composition.c: Likewise.
13859         * tests/uninorm/test-decomposing-form.c: Likewise.
13860         * tests/uninorm/test-decomposition.c: Likewise.
13861         * tests/uninorm/test-u8-nfc.c: Likewise.
13862         * tests/uninorm/test-u8-nfd.c: Likewise.
13863         * tests/uninorm/test-u8-nfkc.c: Likewise.
13864         * tests/uninorm/test-u8-nfkd.c: Likewise.
13865         * tests/uninorm/test-u8-normcmp.c: Likewise.
13866         * tests/uninorm/test-u8-normcoll.c: Likewise.
13867         * tests/uninorm/test-u16-nfc.c: Likewise.
13868         * tests/uninorm/test-u16-nfd.c: Likewise.
13869         * tests/uninorm/test-u16-nfkc.c: Likewise.
13870         * tests/uninorm/test-u16-nfkd.c: Likewise.
13871         * tests/uninorm/test-u16-normcmp.c: Likewise.
13872         * tests/uninorm/test-u16-normcoll.c: Likewise.
13873         * tests/uninorm/test-u32-nfc.c: Likewise.
13874         * tests/uninorm/test-u32-nfd.c: Likewise.
13875         * tests/uninorm/test-u32-nfkc.c: Likewise.
13876         * tests/uninorm/test-u32-nfkd.c: Likewise.
13877         * tests/uninorm/test-u32-normalize-big.c: Likewise.
13878         * tests/uninorm/test-u32-normcmp.c: Likewise.
13879         * tests/uninorm/test-u32-normcoll.c: Likewise.
13880         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
13881         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
13882         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
13883         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
13884         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
13885         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
13886         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
13887         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
13888         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
13889         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
13890         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
13891         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
13892         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
13893         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
13894         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
13895         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
13896         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
13897         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
13898         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
13899         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
13900         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
13901         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
13902         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
13903         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
13904         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
13905         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
13906         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
13907         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
13908         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
13909         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
13910         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
13911         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
13912         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
13913         * tests/uniwidth/test-u8-strwidth.c: Likewise.
13914         * tests/uniwidth/test-u8-width.c: Likewise.
13915         * tests/uniwidth/test-u16-strwidth.c: Likewise.
13916         * tests/uniwidth/test-u16-width.c: Likewise.
13917         * tests/uniwidth/test-u32-strwidth.c: Likewise.
13918         * tests/uniwidth/test-u32-width.c: Likewise.
13919         * tests/uniwidth/test-uc_width.c: Likewise.
13920         * tests/uniwidth/test-uc_width2.c: Likewise.
13921         * modules/acl-tests (Files): Add tests/macros.h.
13922         * modules/areadlink-tests (Files): Likewise.
13923         * modules/areadlink-with-size-tests (Files): Likewise.
13924         * modules/areadlinkat-tests (Files): Likewise.
13925         * modules/areadlinkat-with-size-tests (Files): Likewise.
13926         * modules/argmatch-tests (Files): Likewise.
13927         * modules/argv-iter-tests (Files): Likewise.
13928         * modules/array-list-tests (Files): Likewise.
13929         * modules/array-mergesort-tests (Files): Likewise.
13930         * modules/array-oset-tests (Files): Likewise.
13931         * modules/avltree-list-tests (Files): Likewise.
13932         * modules/avltree-oset-tests (Files): Likewise.
13933         * modules/avltreehash-list-tests (Files): Likewise.
13934         * modules/base64-tests (Files): Likewise.
13935         * modules/binary-io-tests (Files): Likewise.
13936         * modules/bitrotate-tests (Files): Likewise.
13937         * modules/btowc-tests (Files): Likewise.
13938         * modules/byteswap-tests (Files): Likewise.
13939         * modules/c-ctype-tests (Files): Likewise.
13940         * modules/c-stack-tests (Files): Likewise.
13941         * modules/c-strcase-tests (Files): Likewise.
13942         * modules/c-strcasestr-tests (Files): Likewise.
13943         * modules/c-strstr-tests (Files): Likewise.
13944         * modules/canonicalize-lgpl-tests (Files): Likewise.
13945         * modules/canonicalize-tests (Files): Likewise.
13946         * modules/carray-list-tests (Files): Likewise.
13947         * modules/ceilf-tests (Files): Likewise.
13948         * modules/ceill-tests (Files): Likewise.
13949         * modules/chown-tests (Files): Likewise.
13950         * modules/cloexec-tests (Files): Likewise.
13951         * modules/copy-file-tests (Files): Likewise.
13952         * modules/count-one-bits-tests (Files): Likewise.
13953         * modules/dprintf-posix-tests (Files): Likewise.
13954         * modules/dup2-tests (Files): Likewise.
13955         * modules/dup3-tests (Files): Likewise.
13956         * modules/duplocale-tests (Files): Likewise.
13957         * modules/fbufmode-tests (Files): Likewise.
13958         * modules/fchdir-tests (Files): Likewise.
13959         * modules/fcntl-safer-tests (Files): Likewise.
13960         * modules/fcntl-tests (Files): Likewise.
13961         * modules/fdopendir-tests (Files): Likewise.
13962         * modules/fdutimensat-tests (Files): Likewise.
13963         * modules/fflush-tests (Files): Likewise.
13964         * modules/filevercmp-tests (Files): Likewise.
13965         * modules/flock-tests (Files): Likewise.
13966         * modules/floorf-tests (Files): Likewise.
13967         * modules/floorl-tests (Files): Likewise.
13968         * modules/fnmatch-tests (Files): Likewise.
13969         * modules/fopen-safer-tests (Files): Likewise.
13970         * modules/fopen-tests (Files): Likewise.
13971         * modules/fpending-tests (Files): Likewise.
13972         * modules/fprintf-posix-tests (Files): Likewise.
13973         * modules/fpurge-tests (Files): Likewise.
13974         * modules/freadable-tests (Files): Likewise.
13975         * modules/freadahead-tests (Files): Likewise.
13976         * modules/freading-tests (Files): Likewise.
13977         * modules/freadptr-tests (Files): Likewise.
13978         * modules/freadseek-tests (Files): Likewise.
13979         * modules/freopen-tests (Files): Likewise.
13980         * modules/frexp-nolibm-tests (Files): Likewise.
13981         * modules/frexp-tests (Files): Likewise.
13982         * modules/frexpl-nolibm-tests (Files): Likewise.
13983         * modules/frexpl-tests (Files): Likewise.
13984         * modules/fseek-tests (Files): Likewise.
13985         * modules/fseeko-tests (Files): Likewise.
13986         * modules/fstrcmp-tests (Files): Likewise.
13987         * modules/fsync-tests (Files): Likewise.
13988         * modules/ftell-tests (Files): Likewise.
13989         * modules/ftello-tests (Files): Likewise.
13990         * modules/func-tests (Files): Likewise.
13991         * modules/futimens-tests (Files): Likewise.
13992         * modules/fwritable-tests (Files): Likewise.
13993         * modules/fwriting-tests (Files): Likewise.
13994         * modules/getcwd-tests (Files): Likewise.
13995         * modules/getdate-tests (Files): Likewise.
13996         * modules/getdelim-tests (Files): Likewise.
13997         * modules/getdtablesize-tests (Files): Likewise.
13998         * modules/getgroups-tests (Files): Likewise.
13999         * modules/getline-tests (Files): Likewise.
14000         * modules/getndelim2-tests (Files): Likewise.
14001         * modules/glob-tests (Files): Likewise.
14002         * modules/hash-tests (Files): Likewise.
14003         * modules/i-ring-tests (Files): Likewise.
14004         * modules/iconv-tests (Files): Likewise.
14005         * modules/iconv_open-utf-tests (Files): Likewise.
14006         * modules/idpriv-drop-tests (Files): Likewise.
14007         * modules/idpriv-droptemp-tests (Files): Likewise.
14008         * modules/inet_ntop-tests (Files): Likewise.
14009         * modules/inet_pton-tests (Files): Likewise.
14010         * modules/isblank-tests (Files): Likewise.
14011         * modules/isfinite-tests (Files): Likewise.
14012         * modules/isinf-tests (Files): Likewise.
14013         * modules/isnan-tests (Files): Likewise.
14014         * modules/isnand-nolibm-tests (Files): Likewise.
14015         * modules/isnand-tests (Files): Likewise.
14016         * modules/isnanf-nolibm-tests (Files): Likewise.
14017         * modules/isnanf-tests (Files): Likewise.
14018         * modules/isnanl-nolibm-tests (Files): Likewise.
14019         * modules/isnanl-tests (Files): Likewise.
14020         * modules/lchown-tests (Files): Likewise.
14021         * modules/ldexpl-tests (Files): Likewise.
14022         * modules/link-tests (Files): Likewise.
14023         * modules/linkat-tests (Files): Likewise.
14024         * modules/linked-list-tests (Files): Likewise.
14025         * modules/linkedhash-list-tests (Files): Likewise.
14026         * modules/localename-tests (Files): Likewise.
14027         * modules/lseek-tests (Files): Likewise.
14028         * modules/lstat-tests (Files): Likewise.
14029         * modules/mbmemcasecmp-tests (Files): Likewise.
14030         * modules/mbmemcasecoll-tests (Files): Likewise.
14031         * modules/mbrtowc-tests (Files): Likewise.
14032         * modules/mbscasecmp-tests (Files): Likewise.
14033         * modules/mbscasestr-tests (Files): Likewise.
14034         * modules/mbschr-tests (Files): Likewise.
14035         * modules/mbscspn-tests (Files): Likewise.
14036         * modules/mbsinit-tests (Files): Likewise.
14037         * modules/mbsncasecmp-tests (Files): Likewise.
14038         * modules/mbsnrtowcs-tests (Files): Likewise.
14039         * modules/mbspbrk-tests (Files): Likewise.
14040         * modules/mbspcasecmp-tests (Files): Likewise.
14041         * modules/mbsrchr-tests (Files): Likewise.
14042         * modules/mbsrtowcs-tests (Files): Likewise.
14043         * modules/mbsspn-tests (Files): Likewise.
14044         * modules/mbsstr-tests (Files): Likewise.
14045         * modules/memchr-tests (Files): Likewise.
14046         * modules/memchr2-tests (Files): Likewise.
14047         * modules/memcmp-tests (Files): Likewise.
14048         * modules/memmem-tests (Files): Likewise.
14049         * modules/memrchr-tests (Files): Likewise.
14050         * modules/mkdir-tests (Files): Likewise.
14051         * modules/mkfifo-tests (Files): Likewise.
14052         * modules/mkfifoat-tests (Files): Likewise.
14053         * modules/mknod-tests (Files): Likewise.
14054         * modules/nanosleep-tests (Files): Likewise.
14055         * modules/nl_langinfo-tests (Files): Likewise.
14056         * modules/obstack-printf-tests (Files): Likewise.
14057         * modules/open-tests (Files): Likewise.
14058         * modules/openat-tests (Files): Likewise.
14059         * modules/pipe-filter-gi-tests (Files): Likewise.
14060         * modules/pipe-filter-ii-tests (Files): Likewise.
14061         * modules/pipe2-tests (Files): Likewise.
14062         * modules/popen-safer-tests (Files): Likewise.
14063         * modules/popen-tests (Files): Likewise.
14064         * modules/posixtm-tests (Files): Likewise.
14065         * modules/pread-tests (Files): Likewise.
14066         * modules/printf-frexp-tests (Files): Likewise.
14067         * modules/printf-frexpl-tests (Files): Likewise.
14068         * modules/printf-posix-tests (Files): Likewise.
14069         * modules/priv-set-tests (Files): Likewise.
14070         * modules/quotearg-tests (Files): Likewise.
14071         * modules/random_r-tests (Files): Likewise.
14072         * modules/rawmemchr-tests (Files): Likewise.
14073         * modules/rbtree-list-tests (Files): Likewise.
14074         * modules/rbtree-oset-tests (Files): Likewise.
14075         * modules/rbtreehash-list-tests (Files): Likewise.
14076         * modules/readlink-tests (Files): Likewise.
14077         * modules/remove-tests (Files): Likewise.
14078         * modules/rename-tests (Files): Likewise.
14079         * modules/renameat-tests (Files): Likewise.
14080         * modules/rmdir-tests (Files): Likewise.
14081         * modules/round-tests (Files): Likewise.
14082         * modules/roundf-tests (Files): Likewise.
14083         * modules/roundl-tests (Files): Likewise.
14084         * modules/safe-alloc-tests (Files): Likewise.
14085         * modules/setenv-tests (Files): Likewise.
14086         * modules/sigaction-tests (Files): Likewise.
14087         * modules/signbit-tests (Files): Likewise.
14088         * modules/sleep-tests (Files): Likewise.
14089         * modules/snprintf-posix-tests (Files): Likewise.
14090         * modules/snprintf-tests (Files): Likewise.
14091         * modules/sprintf-posix-tests (Files): Likewise.
14092         * modules/stat-tests (Files): Likewise.
14093         * modules/stat-time-tests (Files): Likewise.
14094         * modules/strcasestr-tests (Files): Likewise.
14095         * modules/strchrnul-tests (Files): Likewise.
14096         * modules/strerror-tests (Files): Likewise.
14097         * modules/striconv-tests (Files): Likewise.
14098         * modules/striconveh-tests (Files): Likewise.
14099         * modules/striconveha-tests (Files): Likewise.
14100         * modules/strsignal-tests (Files): Likewise.
14101         * modules/strstr-tests (Files): Likewise.
14102         * modules/strtod-tests (Files): Likewise.
14103         * modules/strverscmp-tests (Files): Likewise.
14104         * modules/symlink-tests (Files): Likewise.
14105         * modules/symlinkat-tests (Files): Likewise.
14106         * modules/trunc-tests (Files): Likewise.
14107         * modules/truncf-tests (Files): Likewise.
14108         * modules/truncl-tests (Files): Likewise.
14109         * modules/uname-tests (Files): Likewise.
14110         * modules/unicase/cased-tests (Files): Likewise.
14111         * modules/unicase/ignorable-tests (Files): Likewise.
14112         * modules/unicase/locale-language-tests (Files): Likewise.
14113         * modules/unicase/tolower-tests (Files): Likewise.
14114         * modules/unicase/totitle-tests (Files): Likewise.
14115         * modules/unicase/toupper-tests (Files): Likewise.
14116         * modules/unicase/u8-casecmp-tests (Files): Likewise.
14117         * modules/unicase/u8-casecoll-tests (Files): Likewise.
14118         * modules/unicase/u8-casefold-tests (Files): Likewise.
14119         * modules/unicase/u8-is-cased-tests (Files): Likewise.
14120         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
14121         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
14122         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
14123         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
14124         * modules/unicase/u8-tolower-tests (Files): Likewise.
14125         * modules/unicase/u8-totitle-tests (Files): Likewise.
14126         * modules/unicase/u8-toupper-tests (Files): Likewise.
14127         * modules/unicase/u16-casecmp-tests (Files): Likewise.
14128         * modules/unicase/u16-casecoll-tests (Files): Likewise.
14129         * modules/unicase/u16-casefold-tests (Files): Likewise.
14130         * modules/unicase/u16-is-cased-tests (Files): Likewise.
14131         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
14132         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
14133         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
14134         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
14135         * modules/unicase/u16-tolower-tests (Files): Likewise.
14136         * modules/unicase/u16-totitle-tests (Files): Likewise.
14137         * modules/unicase/u16-toupper-tests (Files): Likewise.
14138         * modules/unicase/u32-casecmp-tests (Files): Likewise.
14139         * modules/unicase/u32-casecoll-tests (Files): Likewise.
14140         * modules/unicase/u32-casefold-tests (Files): Likewise.
14141         * modules/unicase/u32-is-cased-tests (Files): Likewise.
14142         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
14143         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
14144         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
14145         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
14146         * modules/unicase/u32-tolower-tests (Files): Likewise.
14147         * modules/unicase/u32-totitle-tests (Files): Likewise.
14148         * modules/unicase/u32-toupper-tests (Files): Likewise.
14149         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
14150         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
14151         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
14152         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
14153         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
14154         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
14155         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
14156         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
14157         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
14158         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
14159         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
14160         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
14161         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
14162         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
14163         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
14164         * modules/unictype/bidicategory-name-tests (Files): Likewise.
14165         * modules/unictype/bidicategory-of-tests (Files): Likewise.
14166         * modules/unictype/bidicategory-test-tests (Files): Likewise.
14167         * modules/unictype/block-list-tests (Files): Likewise.
14168         * modules/unictype/block-of-tests (Files): Likewise.
14169         * modules/unictype/block-test-tests (Files): Likewise.
14170         * modules/unictype/category-C-tests (Files): Likewise.
14171         * modules/unictype/category-Cc-tests (Files): Likewise.
14172         * modules/unictype/category-Cf-tests (Files): Likewise.
14173         * modules/unictype/category-Cn-tests (Files): Likewise.
14174         * modules/unictype/category-Co-tests (Files): Likewise.
14175         * modules/unictype/category-Cs-tests (Files): Likewise.
14176         * modules/unictype/category-L-tests (Files): Likewise.
14177         * modules/unictype/category-Ll-tests (Files): Likewise.
14178         * modules/unictype/category-Lm-tests (Files): Likewise.
14179         * modules/unictype/category-Lo-tests (Files): Likewise.
14180         * modules/unictype/category-Lt-tests (Files): Likewise.
14181         * modules/unictype/category-Lu-tests (Files): Likewise.
14182         * modules/unictype/category-M-tests (Files): Likewise.
14183         * modules/unictype/category-Mc-tests (Files): Likewise.
14184         * modules/unictype/category-Me-tests (Files): Likewise.
14185         * modules/unictype/category-Mn-tests (Files): Likewise.
14186         * modules/unictype/category-N-tests (Files): Likewise.
14187         * modules/unictype/category-Nd-tests (Files): Likewise.
14188         * modules/unictype/category-Nl-tests (Files): Likewise.
14189         * modules/unictype/category-No-tests (Files): Likewise.
14190         * modules/unictype/category-P-tests (Files): Likewise.
14191         * modules/unictype/category-Pc-tests (Files): Likewise.
14192         * modules/unictype/category-Pd-tests (Files): Likewise.
14193         * modules/unictype/category-Pe-tests (Files): Likewise.
14194         * modules/unictype/category-Pf-tests (Files): Likewise.
14195         * modules/unictype/category-Pi-tests (Files): Likewise.
14196         * modules/unictype/category-Po-tests (Files): Likewise.
14197         * modules/unictype/category-Ps-tests (Files): Likewise.
14198         * modules/unictype/category-S-tests (Files): Likewise.
14199         * modules/unictype/category-Sc-tests (Files): Likewise.
14200         * modules/unictype/category-Sk-tests (Files): Likewise.
14201         * modules/unictype/category-Sm-tests (Files): Likewise.
14202         * modules/unictype/category-So-tests (Files): Likewise.
14203         * modules/unictype/category-Z-tests (Files): Likewise.
14204         * modules/unictype/category-Zl-tests (Files): Likewise.
14205         * modules/unictype/category-Zp-tests (Files): Likewise.
14206         * modules/unictype/category-Zs-tests (Files): Likewise.
14207         * modules/unictype/category-and-not-tests (Files): Likewise.
14208         * modules/unictype/category-and-tests (Files): Likewise.
14209         * modules/unictype/category-byname-tests (Files): Likewise.
14210         * modules/unictype/category-name-tests (Files): Likewise.
14211         * modules/unictype/category-none-tests (Files): Likewise.
14212         * modules/unictype/category-of-tests (Files): Likewise.
14213         * modules/unictype/category-or-tests (Files): Likewise.
14214         * modules/unictype/category-test-withtable-tests (Files): Likewise.
14215         * modules/unictype/combining-class-tests (Files): Likewise.
14216         * modules/unictype/ctype-alnum-tests (Files): Likewise.
14217         * modules/unictype/ctype-alpha-tests (Files): Likewise.
14218         * modules/unictype/ctype-blank-tests (Files): Likewise.
14219         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
14220         * modules/unictype/ctype-digit-tests (Files): Likewise.
14221         * modules/unictype/ctype-graph-tests (Files): Likewise.
14222         * modules/unictype/ctype-lower-tests (Files): Likewise.
14223         * modules/unictype/ctype-print-tests (Files): Likewise.
14224         * modules/unictype/ctype-punct-tests (Files): Likewise.
14225         * modules/unictype/ctype-space-tests (Files): Likewise.
14226         * modules/unictype/ctype-upper-tests (Files): Likewise.
14227         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
14228         * modules/unictype/decimal-digit-tests (Files): Likewise.
14229         * modules/unictype/digit-tests (Files): Likewise.
14230         * modules/unictype/mirror-tests (Files): Likewise.
14231         * modules/unictype/numeric-tests (Files): Likewise.
14232         * modules/unictype/property-alphabetic-tests (Files): Likewise.
14233         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
14234         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
14235         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
14236         Likewise.
14237         * modules/unictype/property-bidi-block-separator-tests (Files):
14238         Likewise.
14239         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
14240         Likewise.
14241         * modules/unictype/property-bidi-common-separator-tests (Files):
14242         Likewise.
14243         * modules/unictype/property-bidi-control-tests (Files): Likewise.
14244         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
14245         Likewise.
14246         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
14247         Likewise.
14248         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
14249         Likewise.
14250         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
14251         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
14252         Likewise.
14253         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
14254         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
14255         Likewise.
14256         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
14257         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
14258         * modules/unictype/property-bidi-segment-separator-tests (Files):
14259         Likewise.
14260         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
14261         * modules/unictype/property-byname-tests (Files): Likewise.
14262         * modules/unictype/property-combining-tests (Files): Likewise.
14263         * modules/unictype/property-composite-tests (Files): Likewise.
14264         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
14265         * modules/unictype/property-dash-tests (Files): Likewise.
14266         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
14267         * modules/unictype/property-default-ignorable-code-point-tests (Files):
14268         Likewise.
14269         * modules/unictype/property-deprecated-tests (Files): Likewise.
14270         * modules/unictype/property-diacritic-tests (Files): Likewise.
14271         * modules/unictype/property-extender-tests (Files): Likewise.
14272         * modules/unictype/property-format-control-tests (Files): Likewise.
14273         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
14274         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
14275         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
14276         * modules/unictype/property-hex-digit-tests (Files): Likewise.
14277         * modules/unictype/property-hyphen-tests (Files): Likewise.
14278         * modules/unictype/property-id-continue-tests (Files): Likewise.
14279         * modules/unictype/property-id-start-tests (Files): Likewise.
14280         * modules/unictype/property-ideographic-tests (Files): Likewise.
14281         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
14282         * modules/unictype/property-ids-trinary-operator-tests (Files):
14283         Likewise.
14284         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
14285         * modules/unictype/property-iso-control-tests (Files): Likewise.
14286         * modules/unictype/property-join-control-tests (Files): Likewise.
14287         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
14288         * modules/unictype/property-line-separator-tests (Files): Likewise.
14289         * modules/unictype/property-logical-order-exception-tests (Files):
14290         Likewise.
14291         * modules/unictype/property-lowercase-tests (Files): Likewise.
14292         * modules/unictype/property-math-tests (Files): Likewise.
14293         * modules/unictype/property-non-break-tests (Files): Likewise.
14294         * modules/unictype/property-not-a-character-tests (Files): Likewise.
14295         * modules/unictype/property-numeric-tests (Files): Likewise.
14296         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
14297         * modules/unictype/property-other-default-ignorable-code-point-tests
14298         (Files): Likewise.
14299         * modules/unictype/property-other-grapheme-extend-tests (Files):
14300         Likewise.
14301         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
14302         * modules/unictype/property-other-id-start-tests (Files): Likewise.
14303         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
14304         * modules/unictype/property-other-math-tests (Files): Likewise.
14305         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
14306         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
14307         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
14308         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
14309         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
14310         * modules/unictype/property-private-use-tests (Files): Likewise.
14311         * modules/unictype/property-punctuation-tests (Files): Likewise.
14312         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
14313         * modules/unictype/property-radical-tests (Files): Likewise.
14314         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
14315         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
14316         * modules/unictype/property-space-tests (Files): Likewise.
14317         * modules/unictype/property-terminal-punctuation-tests (Files):
14318         Likewise.
14319         * modules/unictype/property-test-tests (Files): Likewise.
14320         * modules/unictype/property-titlecase-tests (Files): Likewise.
14321         * modules/unictype/property-unassigned-code-value-tests (Files):
14322         Likewise.
14323         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
14324         * modules/unictype/property-uppercase-tests (Files): Likewise.
14325         * modules/unictype/property-variation-selector-tests (Files): Likewise.
14326         * modules/unictype/property-white-space-tests (Files): Likewise.
14327         * modules/unictype/property-xid-continue-tests (Files): Likewise.
14328         * modules/unictype/property-xid-start-tests (Files): Likewise.
14329         * modules/unictype/property-zero-width-tests (Files): Likewise.
14330         * modules/unictype/scripts-tests (Files): Likewise.
14331         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
14332         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
14333         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
14334         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
14335         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
14336         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
14337         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
14338         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
14339         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
14340         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
14341         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
14342         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
14343         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
14344         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
14345         * modules/uninorm/composition-tests (Files): Likewise.
14346         * modules/uninorm/decomposing-form-tests (Files): Likewise.
14347         * modules/uninorm/decomposition-tests (Files): Likewise.
14348         * modules/uninorm/filter-tests (Files): Likewise.
14349         * modules/uninorm/nfc-tests (Files): Likewise.
14350         * modules/uninorm/nfd-tests (Files): Likewise.
14351         * modules/uninorm/nfkc-tests (Files): Likewise.
14352         * modules/uninorm/nfkd-tests (Files): Likewise.
14353         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
14354         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
14355         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
14356         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
14357         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
14358         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
14359         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
14360         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
14361         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
14362         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
14363         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
14364         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
14365         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
14366         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
14367         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
14368         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
14369         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
14370         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
14371         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
14372         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
14373         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
14374         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
14375         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
14376         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
14377         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
14378         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
14379         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
14380         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
14381         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
14382         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
14383         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
14384         * modules/uniwidth/u8-width-tests (Files): Likewise.
14385         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
14386         * modules/uniwidth/u16-width-tests (Files): Likewise.
14387         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
14388         * modules/uniwidth/u32-width-tests (Files): Likewise.
14389         * modules/uniwidth/width-tests (Files): Likewise.
14390         * modules/unlink-tests (Files): Likewise.
14391         * modules/unsetenv-tests (Files): Likewise.
14392         * modules/usleep-tests (Files): Likewise.
14393         * modules/utimens-tests (Files): Likewise.
14394         * modules/utimensat-tests (Files): Likewise.
14395         * modules/vasnprintf-posix-tests (Files): Likewise.
14396         * modules/vasnprintf-tests (Files): Likewise.
14397         * modules/vasprintf-posix-tests (Files): Likewise.
14398         * modules/vasprintf-tests (Files): Likewise.
14399         * modules/vdprintf-posix-tests (Files): Likewise.
14400         * modules/vfprintf-posix-tests (Files): Likewise.
14401         * modules/vprintf-posix-tests (Files): Likewise.
14402         * modules/vsnprintf-posix-tests (Files): Likewise.
14403         * modules/vsnprintf-tests (Files): Likewise.
14404         * modules/vsprintf-posix-tests (Files): Likewise.
14405         * modules/wcrtomb-tests (Files): Likewise.
14406         * modules/wcsnrtombs-tests (Files): Likewise.
14407         * modules/wcsrtombs-tests (Files): Likewise.
14408         * modules/wctype-tests (Files): Likewise.
14409         * modules/wcwidth-tests (Files): Likewise.
14410         * modules/xmemdup0-tests (Files): Likewise.
14411         * modules/xprintf-posix-tests (Files): Likewise.
14412         * modules/xvasprintf-tests (Files): Likewise.
14413
14414 2009-12-24  Eric Blake  <ebb9@byu.net>
14415
14416         test-nanosleep: fix typo
14417         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
14418         patch.
14419         Reported by Bruno Haible.
14420
14421 2009-12-24  Bruno Haible  <bruno@clisp.org>
14422
14423         Reduce namespace pollution on glibc systems.
14424         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
14425         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
14426         systems.
14427         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
14428         <getopt.h> on glibc systems.
14429         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
14430         systems.
14431         * lib/fcntl.c: Include <unistd.h> here instead.
14432
14433 2009-12-24  Bruno Haible  <bruno@clisp.org>
14434
14435         * lib/stdlib.in.h (includes): Fix typo in today's commit.
14436
14437 2009-12-24  Eric Blake  <ebb9@byu.net>
14438
14439         tests: add signature checks
14440         * tests/signature.h (SIGNATURE_CHECK): New file.
14441         * modules/atexit-tests (Files): Use it.
14442         * modules/btowc-tests (Files): Likewise.
14443         * modules/canonicalize-lgpl-tests (Files): Likewise.
14444         * modules/ceilf-tests (Files): Likewise.
14445         * modules/ceill-tests (Files): Likewise.
14446         * modules/chown-tests (Files): Likewise.
14447         * modules/dprintf-posix-tests (Files): Likewise.
14448         * modules/dup2-tests (Files): Likewise.
14449         * modules/dup3-tests (Files): Likewise.
14450         * modules/duplocale-tests (Files): Likewise.
14451         * modules/fchdir-tests (Files): Likewise.
14452         * modules/fcntl-tests (Files): Likewise.
14453         * modules/fdopendir-tests (Files): Likewise.
14454         * modules/fflush-tests (Files): Likewise.
14455         * modules/flock-tests (Files): Likewise.
14456         * modules/floorf-tests (Files): Likewise.
14457         * modules/floorl-tests (Files): Likewise.
14458         * modules/fnmatch-tests (Files): Likewise.
14459         * modules/fopen-tests (Files): Likewise.
14460         * modules/fprintf-posix-tests (Files): Likewise.
14461         * modules/freopen-tests (Files): Likewise.
14462         * modules/frexp-nolibm-tests (Files): Likewise.
14463         * modules/frexp-tests (Files): Likewise.
14464         * modules/frexpl-nolibm-tests (Files): Likewise.
14465         * modules/frexpl-tests (Files): Likewise.
14466         * modules/fseek-tests (Files): Likewise.
14467         * modules/fseeko-tests (Files): Likewise.
14468         * modules/fsync-tests (Files): Likewise.
14469         * modules/ftell-tests (Files): Likewise.
14470         * modules/ftello-tests (Files): Likewise.
14471         * modules/futimens-tests (Files): Likewise.
14472         * modules/getaddrinfo-tests (Files): Likewise.
14473         * modules/getcwd-tests (Files): Likewise.
14474         * modules/getdelim-tests (Files): Likewise.
14475         * modules/getdtablesize-tests (Files): Likewise.
14476         * modules/getgroups-tests (Files): Likewise.
14477         * modules/gethostname-tests (Files): Likewise.
14478         * modules/getline-tests (Files): Likewise.
14479         * modules/getopt-posix-tests (Files): Likewise.
14480         * modules/gettimeofday-tests (Files): Likewise.
14481         * modules/glob-tests (Files): Likewise.
14482         * modules/iconv-tests (Files): Likewise.
14483         * modules/inet_ntop-tests (Files): Likewise.
14484         * modules/inet_pton-tests (Files): Likewise.
14485         * modules/isblank-tests (Files): Likewise.
14486         * modules/lchown-tests (Files): Likewise.
14487         * modules/ldexpl-tests (Files): Likewise.
14488         * modules/link-tests (Files): Likewise.
14489         * modules/linkat-tests (Files): Likewise.
14490         * modules/lseek-tests (Files): Likewise.
14491         * modules/lstat-tests (Files): Likewise.
14492         * modules/mbrtowc-tests (Files): Likewise.
14493         * modules/mbsinit-tests (Files): Likewise.
14494         * modules/mbsnrtowcs-tests (Files): Likewise.
14495         * modules/mbsrtowcs-tests (Files): Likewise.
14496         * modules/memchr-tests (Files): Likewise.
14497         * modules/memcmp-tests (Files): Likewise.
14498         * modules/memmem-tests (Files): Likewise.
14499         * modules/memrchr-tests (Files): Likewise.
14500         * modules/mkdir-tests (Files): Likewise.
14501         * modules/mkfifo-tests (Files): Likewise.
14502         * modules/mkfifoat-tests (Files): Likewise.
14503         * modules/mknod-tests (Files): Likewise.
14504         * modules/nanosleep-tests (Files): Likewise.
14505         * modules/nl_langinfo-tests (Files): Likewise.
14506         * modules/obstack-printf-tests (Files): Likewise.
14507         * modules/open-tests (Files): Likewise.
14508         * modules/openat-tests (Files): Likewise.
14509         * modules/perror-tests (Files): Likewise.
14510         * modules/pipe2-tests (Files): Likewise.
14511         * modules/poll-tests (Files): Likewise.
14512         * modules/popen-tests (Files): Likewise.
14513         * modules/posix_spawn-tests (Files): Likewise.
14514         * modules/posix_spawnp-tests (Files): Likewise.
14515         * modules/pread-tests (Files): Likewise.
14516         * modules/printf-posix-tests (Files): Likewise.
14517         * modules/pty-tests (Files): Likewise.
14518         * modules/random_r-tests (Files): Likewise.
14519         * modules/rawmemchr-tests (Files): Likewise.
14520         * modules/readlink-tests (Files): Likewise.
14521         * modules/remove-tests (Files): Likewise.
14522         * modules/rename-tests (Files): Likewise.
14523         * modules/renameat-tests (Files): Likewise.
14524         * modules/rmdir-tests (Files): Likewise.
14525         * modules/round-tests (Files): Likewise.
14526         * modules/roundf-tests (Files): Likewise.
14527         * modules/roundl-tests (Files): Likewise.
14528         * modules/select-tests (Files): Likewise.
14529         * modules/setenv-tests (Files): Likewise.
14530         * modules/sigaction-tests (Files): Likewise.
14531         * modules/sleep-tests (Files): Likewise.
14532         * modules/snprintf-posix-tests (Files): Likewise.
14533         * modules/snprintf-tests (Files): Likewise.
14534         * modules/sprintf-posix-tests (Files): Likewise.
14535         * modules/stat-tests (Files): Likewise.
14536         * modules/strcasestr-tests (Files): Likewise.
14537         * modules/strchrnul-tests (Files): Likewise.
14538         * modules/strerror-tests (Files): Likewise.
14539         * modules/strsignal-tests (Files): Likewise.
14540         * modules/strstr-tests (Files): Likewise.
14541         * modules/strtod-tests (Files): Likewise.
14542         * modules/strverscmp-tests (Files): Likewise.
14543         * modules/symlink-tests (Files): Likewise.
14544         * modules/symlinkat-tests (Files): Likewise.
14545         * modules/times-tests (Files): Likewise.
14546         * modules/trunc-tests (Files): Likewise.
14547         * modules/truncf-tests (Files): Likewise.
14548         * modules/truncl-tests (Files): Likewise.
14549         * modules/tsearch-tests (Files): Likewise.
14550         * modules/uname-tests (Files): Likewise.
14551         * modules/unlink-tests (Files): Likewise.
14552         * modules/unsetenv-tests (Files): Likewise.
14553         * modules/usleep-tests (Files): Likewise.
14554         * modules/utimensat-tests (Files): Likewise.
14555         * modules/vasprintf-tests (Files): Likewise.
14556         * modules/vdprintf-posix-tests (Files): Likewise.
14557         * modules/vfprintf-posix-tests (Files): Likewise.
14558         * modules/vprintf-posix-tests (Files): Likewise.
14559         * modules/vsnprintf-posix-tests (Files): Likewise.
14560         * modules/vsnprintf-tests (Files): Likewise.
14561         * modules/vsprintf-posix-tests (Files): Likewise.
14562         * modules/wcrtomb-tests (Files): Likewise.
14563         * modules/wcsnrtombs-tests (Files): Likewise.
14564         * modules/wcsrtombs-tests (Files): Likewise.
14565         * modules/wcwidth-tests (Files): Likewise.
14566         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
14567         * tests/test-isinf.c (isinf): Likewise.
14568         * tests/test-isnan.c (isnan): Likewise.
14569         * tests/test-signbit.c (signbit): Likewise.
14570         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
14571         declaration, either as macro or with correct signature.
14572         (select): Ensure function under test is declared with correct
14573         signature in correct header.
14574         * tests/test-atexit.c (atexit): Likewise.
14575         * tests/test-btowc.c (btowc): Likewise.
14576         * tests/test-canonicalize-lgpl.c (realpath)
14577         (canonicalize_file_name): Likewise.
14578         * tests/test-ceilf1.c (ceilf): Likewise.
14579         * tests/test-ceill.c (ceill): Likewise.
14580         * tests/test-chown.c (chown): Likewise.
14581         * tests/test-dprintf-posix.c (dprintf): Likewise.
14582         * tests/test-dup2.c (dup2): Likewise.
14583         * tests/test-dup3.c (dup3): Likewise.
14584         * tests/test-duplocale.c (duplocale): Likewise.
14585         * tests/test-fchdir.c (fchdir): Likewise.
14586         * tests/test-fchownat.c (fchownat): Likewise.
14587         * tests/test-fcntl.c (fcntl): Likewise.
14588         * tests/test-fdopendir.c (fdopendir): Likewise.
14589         * tests/test-fflush.c (fflush): Likewise.
14590         * tests/test-flock.c (flock): Likewise.
14591         * tests/test-floorf1.c (floorf): Likewise.
14592         * tests/test-floorl.c (floorl): Likewise.
14593         * tests/test-fnmatch.c (fnmatch): Likewise.
14594         * tests/test-fopen.c (fopen): Likewise.
14595         * tests/test-fprintf-posix.c (fprintf): Likewise.
14596         * tests/test-freopen.c (freopen): Likewise.
14597         * tests/test-frexp.c (frexp): Likewise.
14598         * tests/test-frexpl.c (frexpl): Likewise.
14599         * tests/test-fseek.c (fseek): Likewise.
14600         * tests/test-fseeko.c (fseeko): Likewise.
14601         * tests/test-fstatat.c (fstatat): Likewise.
14602         * tests/test-fsync.c (fsync): Likewise.
14603         * tests/test-ftell.c (ftell): Likewise.
14604         * tests/test-ftello.c (ftello): Likewise.
14605         * tests/test-futimens.c (futimens): Likewise.
14606         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
14607         (gai_strerror): Likewise.
14608         * tests/test-getcwd.c (getcwd): Likewise.
14609         * tests/test-getdelim.c (getdelim): Likewise.
14610         * tests/test-getdtablesize.c (getdtablesize): Likewise.
14611         * tests/test-getgroups.c (getgroups): Likewise.
14612         * tests/test-gethostname.c (gethostname): Likewise.
14613         * tests/test-getline.c (getline): Likewise.
14614         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
14615         Likewise.
14616         * tests/test-gettimeofday.c (gettimeofday): Likewise.
14617         * tests/test-glob.c (glob, globfree): Likewise.
14618         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
14619         * tests/test-inet_ntop.c (inet_ntop): Likewise.
14620         * tests/test-inet_pton.c (inet_pton): Likewise.
14621         * tests/test-isblank.c (isblank): Likewise.
14622         * tests/test-lchown.c (lchown): Likewise.
14623         * tests/test-ldexpl.c (ldexpl): Likewise.
14624         * tests/test-link.c (link): Likewise.
14625         * tests/test-linkat.c (linkat): Likewise.
14626         * tests/test-lseek.c (lseek): Likewise.
14627         * tests/test-lstat.c (lstat): Likewise.
14628         * tests/test-mbrtowc.c (mbrtowc): Likewise.
14629         * tests/test-mbsinit.c (mbsinit): Likewise.
14630         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
14631         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
14632         * tests/test-memchr.c (memchr): Likewise.
14633         * tests/test-memcmp.c (memcmp): Likewise.
14634         * tests/test-memmem.c (memmem): Likewise.
14635         * tests/test-memrchr.c (memrchr): Likewise.
14636         * tests/test-mkdir.c (mkdir): Likewise.
14637         * tests/test-mkdirat.c (mkdirat): Likewise.
14638         * tests/test-mkfifo.c (mkfifo): Likewise.
14639         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
14640         * tests/test-mknod.c (mknod): Likewise.
14641         * tests/test-nanosleep.c (nanosleep): Likewise.
14642         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
14643         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
14644         Likewise.
14645         * tests/test-open.c (open): Likewise.
14646         * tests/test-openat.c (openat): Likewise.
14647         * tests/test-perror.c (perror): Likewise.
14648         * tests/test-pipe2.c (pipe2): Likewise.
14649         * tests/test-poll.c (poll): Likewise.
14650         * tests/test-popen.c (popen, pclose): Likewise.
14651         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
14652         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
14653         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
14654         (posix_spawn_file_actions_destroy)
14655         (posix_spawn_file_actions_addclose)
14656         (posix_spawn_file_actions_addopen)
14657         (posix_spawn_file_actions_adddup2): Likewise.
14658         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
14659         * tests/test-pread.c (pread): Likewise.
14660         * tests/test-printf-posix.c (printf): Likewise.
14661         * tests/test-pty.c (openpty, forkpty): Likewise.
14662         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
14663         (random_r): Likewise.
14664         * tests/test-rawmemchr.c (rawmemchr): Likewise.
14665         * tests/test-readlink.c (readlink): Likewise.
14666         * tests/test-remove.c (remove): Likewise.
14667         * tests/test-rename.c (rename): Likewise.
14668         * tests/test-renameat.c (renameat): Likewise.
14669         * tests/test-rmdir.c (rmdir): Likewise.
14670         * tests/test-round1.c (round): Likewise.
14671         * tests/test-roundf1.c (roundf): Likewise.
14672         * tests/test-roundl.c (roundl): Likewise.
14673         * tests/test-setenv.c (setenv): Likewise.
14674         * tests/test-sigaction.c (sigaction): Likewise.
14675         * tests/test-sleep.c (sleep): Likewise.
14676         * tests/test-snprintf.c (snprintf): Likewise.
14677         * tests/test-sprintf-posix.c (sprintf): Likewise.
14678         * tests/test-stat.c (stat): Likewise.
14679         * tests/test-stpncpy.c (stpncpy): Likewise.
14680         * tests/test-strcasestr.c (strcasestr): Likewise.
14681         * tests/test-strchrnul.c (strchrnul): Likewise.
14682         * tests/test-strerror.c (strerror): Likewise.
14683         * tests/test-strsignal.c (strsignal): Likewise.
14684         * tests/test-strstr.c (strstr): Likewise.
14685         * tests/test-strtod.c (strtod): Likewise.
14686         * tests/test-strverscmp.c (strverscmp): Likewise.
14687         * tests/test-symlink.c (symlink): Likewise.
14688         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
14689         * tests/test-times.c (times): Likewise.
14690         * tests/test-trunc1.c (trunc): Likewise.
14691         * tests/test-truncf1.c (truncf): Likewise.
14692         * tests/test-truncl.c (truncl): Likewise.
14693         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
14694         Likewise.
14695         * tests/test-uname.c (uname): Likewise.
14696         * tests/test-unlink.c (unlink): Likewise.
14697         * tests/test-unlinkat.c (unlinkat): Likewise.
14698         * tests/test-unsetenv.c (unsetenv): Likewise.
14699         * tests/test-usleep.c (usleep): Likewise.
14700         * tests/test-utimensat.c (utimensat): Likewise.
14701         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
14702         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
14703         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
14704         * tests/test-vprintf-posix.c (vprintf): Likewise.
14705         * tests/test-vsnprintf.c (vsnprintf): Likewise.
14706         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
14707         * tests/test-wcrtomb.c (wcrtomb): Likewise.
14708         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
14709         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
14710         * tests/test-wcwidth.c (wcwidth): Likewise.
14711
14712         build: pull in conditional headers during GNULIB_POSIXCHECK
14713         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
14714         definitions from any conditionally-included headers.
14715         * lib/stdlib.in.h (includes): Likewise.
14716         * lib/unistd.in.h (includes): Likewise.
14717
14718 2009-12-24  Bruno Haible  <bruno@clisp.org>
14719
14720         * tests/test-argv-iter.c: Include header file being tested immediately
14721         after config.h.
14722         * tests/test-base64.c: Likewise.
14723         * tests/test-flock.c: Likewise.
14724         * tests/test-fsync.c: Likewise.
14725         * tests/test-getdate.c: Likewise.
14726         * tests/test-getndelim2.c: Likewise.
14727         * tests/test-isfinite.c: Likewise.
14728         * tests/test-isinf.c: Likewise.
14729         * tests/test-strerror.c: Likewise.
14730         * tests/test-strsignal.c: Likewise.
14731
14732 2009-12-23  Eric Blake  <ebb9@byu.net>
14733
14734         unistd: work around cygwin bug
14735         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
14736         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
14737         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
14738
14739 2009-12-23  Bruno Haible  <bruno@clisp.org>
14740
14741         localename: More tests.
14742         * tests/test-localename.c (SIZEOF): New macro.
14743         (categories): New variable.
14744         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
14745         test_locale_name_default): Add test w.r.t. thread locale.
14746         (test_locale_name_thread): New function.
14747         (main): Invoke it.
14748
14749         localename: Make aware of thread locale.
14750         * lib/localename.h (gl_locale_name_thread): New declaration.
14751         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
14752         behaviour with respect to thread locale.
14753         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
14754         <langinfo.h>, glthread/lock.h.
14755         (SIZE_BITS): New macro.
14756         (string_hash): New function.
14757         (struct hash_node): New type.
14758         (HASH_TABLE_SIZE): New macro.
14759         (struniq_hash_table, struniq_lock): New variables.
14760         (struniq): New function.
14761         (gl_locale_name_thread): New function.
14762         (gl_locale_name): Invoke it.
14763         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
14764         * modules/localename (Depends-on): Add lock.
14765         Reported by Mike Gran <spk121@yahoo.com>.
14766
14767 2009-12-23  Eric Blake  <ebb9@byu.net>
14768
14769         va-args: new module
14770         * modules/va-args: New file.
14771         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
14772         * MODULES.html.sh (Core language properties): Mention it.
14773
14774         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
14775         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
14776         named alias for __attribute__((__unused__)).
14777         * lib/chown.c: Update client.
14778         * lib/fchmodat.c: Likewise.
14779         * lib/fts.c: Likewise.
14780         * lib/getdate.y: Likewise.
14781         * lib/getgroups.c: Likewise.
14782         * lib/getopt.c: Likewise.
14783         * lib/getugroups.c: Likewise.
14784         * lib/mkdir.c: Likewise.
14785         * lib/mkfifo.c: Likewise.
14786         * lib/mkfifoat.c: Likewise.
14787         * lib/mknod.c: Likewise.
14788         * lib/mknodat.c: Likewise.
14789         * lib/readlink.c: Likewise.
14790         * lib/se-context.in.h: Likewise.
14791         * lib/se-selinux.in.h: Likewise.
14792         * lib/sockets.c: Likewise.
14793         * lib/symlink.c: Likewise.
14794         * lib/symlinkat.c: Likewise.
14795         * lib/unicodeio.c: Likewise.
14796         * lib/unistr.h: Likewise.
14797         * tests/test-areadlink.c: Likewise.
14798         * tests/test-areadlinkat.c: Likewise.
14799         * tests/test-filenamecat.c: Likewise.
14800         * tests/test-fseeko.c: Likewise.
14801         * tests/test-ftello.c: Likewise.
14802         * tests/test-getdate.c: Likewise.
14803         * tests/test-getgroups.c: Likewise.
14804         * tests/test-gethostname.c: Likewise.
14805         * tests/test-quotearg.c: Likewise.
14806         * tests/test-version-etc.c: Likewise.
14807         * tests/test-xalloc-die.c: Likewise.
14808         * tests/test-xfprintf-posix.c: Likewise.
14809         * tests/test-xprintf-posix.c: Likewise.
14810         * tests/test-xvasprintf.c: Likewise.
14811
14812         tests: avoid compiler warnings
14813         * tests/test-fcntl.c (main): Delete unused parameters.
14814         * tests/test-freopen-safer.c (main): Likewise.
14815         * tests/test-xalloc-die.c (main): Mark unused parameters.
14816         * tests/test-fseeko.c (main): Likewise.
14817         * tests/test-ftello.c (main): Likewise.
14818         * tests/test-nanosleep.c (main): Avoid declaration warning.
14819         * tests/test-sleep.c (main): Likewise.
14820         * tests/test-unsetenv.c (main): Silence warning about string
14821         literal.
14822         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
14823
14824 2009-12-23  Bruno Haible  <bruno@clisp.org>
14825
14826         * tests/test-localename.c (test_locale_name): New function, extracted
14827         from main. Also test mixed situations.
14828         (test_locale_name_posix, test_locale_name_environ,
14829         test_locale_name_default): New functions.
14830         (main): Invoke them all.
14831         * modules/localename-tests (configure.ac): Test for newlocale.
14832
14833 2009-12-23  Bruno Haible  <bruno@clisp.org>
14834
14835         unistd: Ensure getcwd gets declared before being overridden.
14836         * lib/unistd.in.h: Conditionally include <io.h>.
14837
14838 2009-12-22  Bruno Haible  <bruno@clisp.org>
14839
14840         wchar: Diagnose broken combination of glibc and gcc versions and flags.
14841         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
14842         (gl_WCHAR_H): Invoke it.
14843         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
14844         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
14845         Reported by Karl Berry <karl@freefriends.org>.
14846
14847 2009-12-22  Eric Blake  <ebb9@byu.net>
14848
14849         math, unistd: avoid redundant includes
14850         * lib/math.in.h (isnan): No need to re-include <math.h>.
14851         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
14852
14853         getsubopt: work around cygwin bug
14854         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
14855         avoid conflicting with system getsubopt.
14856         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
14857         bug.
14858
14859         getopt: synchronize from glibc
14860         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
14861         parameter order.  Adjust all callers.
14862         (_getopt_internal_r, main): Adjust quoting in error messages.
14863         Drop considerations for outdated POSIX 1003.2 error message.
14864         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
14865         callers.
14866         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
14867
14868         test-getopt: test stderr behavior
14869         * modules/getopt-posix-tests (Depends-on): Add dup2.
14870         * tests/test-getopt.c (ASSERT): Avoid stderr.
14871         (main): Move stderr to a temporary file.
14872         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
14873         Instead, add parameter to inform caller if output occurred.
14874         (test_getopt): Adjust all existing tests to expect silence, and
14875         add new tests of leading ":".
14876         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
14877         glibc shortcomings with leading "-:" or "+:" in optstring.
14878         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14879         Likewise.
14880         * doc/posix-functions/getopt.texi (getopt): Likewise.
14881
14882         test-getopt: enhance test
14883         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
14884         supports optind=0.
14885         * tests/test-getopt.c (OPTIND_MIN): Move...
14886         * tests/test-getopt.h (OPTIND_MIN): ...here.
14887         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
14888         Require that optind=0 works, since modern BSD supports it in
14889         addition to optreset, and since coreutils expects it.
14890         (test_getopt_long_only): New test.
14891         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
14892         glibc shortcomings with 'W;', and enforcement of optind=0.
14893         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
14894         Likewise.
14895
14896 2009-12-21  Bruno Haible  <bruno@clisp.org>
14897
14898         localename: Improvements for MacOS X and Cygwin.
14899         * lib/localename.h (gl_locale_name_environ): New declaration.
14900         * lib/localename.c (gl_locale_name_environ): New function, extracted from
14901         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
14902         (gl_locale_name_posix): Invoke it.
14903         (gl_locale_name_default): Add comments. Use Windows native API also on
14904         Cygwin.
14905
14906 2009-12-21  Bruno Haible  <bruno@clisp.org>
14907
14908         Update list of Win32 locale ids.
14909         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
14910         (LANG_SAMI): Renamed from LANG_SAAMI.
14911         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
14912         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
14913         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
14914         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
14915         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
14916         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
14917         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
14918         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
14919         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
14920         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
14921         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
14922         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
14923         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
14924         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
14925         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
14926         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
14927         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
14928         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
14929         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
14930         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
14931         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
14932         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
14933         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
14934         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
14935         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
14936         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
14937         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
14938         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
14939         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
14940         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
14941         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
14942         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
14943         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
14944         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
14945         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
14946         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
14947         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
14948         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
14949         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
14950         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
14951         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
14952         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
14953         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
14954         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
14955         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
14956         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
14957         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
14958         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
14959         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
14960         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
14961         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
14962         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
14963         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
14964         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
14965         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
14966         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
14967         Add more languages and countries for Sami, Sorbian. Add more countries
14968         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
14969         for Pashto. Change country for Syriac, Tswana.
14970
14971 2009-12-21  Eric Blake  <ebb9@byu.net>
14972
14973         test-utimens: avoid spurious failure
14974         * tests/test-chown.h (nap): Factor...
14975         * tests/nap.h: ...into new file.
14976         * tests/test-lchown.h (nap): Avoid duplication.
14977         * tests/test-utimens-common.h (nap): Use shared implementation,
14978         necessary on file systems with 1-second resolution.
14979         * modules/chown-tests (Files): Include new file.
14980         * modules/fdutimensat-tests (Files): Likewise.
14981         * modules/futimens-tests (Files): Likewise.
14982         * modules/lchown-tests (Files): Likewise.
14983         * modules/openat-tests (Files): Likewise.
14984         * modules/utimens-tests (Files): Likewise.
14985         * modules/utimensat-tests (Files): Likewise.
14986
14987 2009-12-19  Eric Blake  <ebb9@byu.net>
14988
14989         futimens, utimensat: work around Linux bug
14990         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
14991         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
14992         * lib/utimensat.c (rpl_utimensat): Work around it.
14993         * lib/futimens.c (rpl_futimens): Adjust comment.
14994
14995         utimens: work around Linux ctime bug
14996         * lib/utimens.c (detect_ctime_bug): New helper function.
14997         (update_timespec): Differentiate between workaround needed for
14998         this bug vs. what is needed for systems that lack utimensat.
14999         (fdutimens, lutimens): Work around bug.
15000
15001         utimens: check for ctime update
15002         * tests/test-utimens-common.h (check_ctime): Define.
15003         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
15004         * tests/test-futimens.h (test_futimens): Likewise.
15005         * tests/test-lutimens.h (test_lutimens): Likewise.
15006         * doc/posix-functions/futimens.texi (futimens): Document the bug.
15007         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
15008
15009 2009-12-19  Bruno Haible  <bruno@clisp.org>
15010
15011         dprintf-posix: Check against memory leak fixed on 2009-12-15.
15012         * tests/test-dprintf-posix2.sh: New file.
15013         * tests/test-dprintf-posix2.c: New file.
15014         * modules/dprintf-posix-tests (Files): Add them.
15015         (configure.ac): Check for getrlimit and setrlimit.
15016         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
15017
15018 2009-12-19  Bruno Haible  <bruno@clisp.org>
15019
15020         fprintf-posix: Check against memory leak fixed on 2009-12-15.
15021         * tests/test-fprintf-posix3.sh: New file.
15022         * tests/test-fprintf-posix3.c: New file.
15023         * modules/fprintf-posix-tests (Files): Add them.
15024         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
15025
15026 2009-12-19  Eric Blake  <ebb9@byu.net>
15027
15028         dirfd: fix prototype
15029         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
15030         * lib/dirfd.c (dirfd): Likewise.
15031
15032         canonicalize: reduce memory usage
15033         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
15034         allocation to size.
15035         Reported by Solar Designer <solar@openwall.com>.
15036
15037 2009-12-19  Bruno Haible  <bruno@clisp.org>
15038
15039         New module attribute 'Applicability'.
15040         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
15041         * gnulib-tool: New option --extract-applicability.
15042         (func_usage): Document it.
15043         (sed_extract_prog): Recognize it.
15044         (func_get_applicability): New function.
15045         (func_import): Generalize handling of 'link-warning' module.
15046         * modules/link-warning (Applicability): New section.
15047         * modules/arg-nonnull (Applicability): New section.
15048         Repoted by Simon Josefsson <simon@josefsson.org>.
15049
15050 2009-12-19  Bruno Haible  <bruno@clisp.org>
15051
15052         fflush: tweak
15053         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
15054         * lib/fseeko.c (rpl_fseeko): Likewise.
15055
15056 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
15057
15058         * lib/gl_list.h: Fix typo in comment.
15059
15060 2009-12-16  Eric Blake  <ebb9@byu.net>
15061
15062         fcntl: use to simplify other modules
15063         * modules/cloexec (Depends-on): Add fcntl.
15064         * modules/fchdir (Depends-on): Likewise.
15065         * modules/fd-safer-flag (Depends-on): Likewise.
15066         * modules/unistd-safer (Depends-on): Likewise.
15067         * modules/dup3 (configure.ac): Set module indicator.
15068         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
15069         missing.
15070         * lib/fchdir.c (_gl_register_dup): Fix comment.
15071         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
15072         * lib/dup-safer.c (dup_safer): Likewise.
15073         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
15074         * lib/dup3.c (dup3): Likewise.
15075         * tests/test-fchdir.c (main): Enhance test.
15076         Fixes a dup_cloexec bug reported by Ondřej Vašík.
15077
15078         fcntl: port portions of fcntl to mingw
15079         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
15080         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
15081         replacement for mingw.
15082         * modules/fcntl (Description): Update.
15083         (Depends-on): Add dup2.
15084         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
15085         * modules/fcntl-h (Makefile.am): Substitute it.
15086         * lib/fcntl.in.h (fcntl): Update declaration.
15087         (F_DUPFD, F_GETFD): New macros, when needed.
15088         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
15089         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
15090         * tests/test-fcntl.c (check_flags, main): Enhance test for items
15091         we now guarantee.
15092
15093         fcntl: work around cygwin bug in F_DUPFD
15094         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
15095         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
15096         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
15097         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
15098         * doc/posix-functions/fcntl.texi (fcntl): Document it.
15099
15100         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
15101         * modules/fcntl (Files): List new files.
15102         (configure.ac): Run a test.
15103         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
15104         * lib/fcntl.c (rpl_fcntl): Likewise.
15105         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
15106         (gl_FCNTL_H): Always replace fcntl.h.
15107         * modules/fcntl-h (Makefile.am): Substitute witnesses.
15108         * lib/fcntl.in.h (fcntl): Declare replacement.
15109         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
15110         needed, plus a witness.
15111         * doc/posix-functions/fcntl.texi (fcntl): Document this.
15112         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
15113         * tests/test-fcntl.c: New file.
15114         * modules/fcntl-tests: Likewise.
15115
15116         binary-io: avoid potential compilation warning
15117         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
15118         directives.
15119
15120         fflush: avoid compilation error on NetBSD
15121         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
15122         between off_t and fpos_t, since the latter is sometimes a struct.
15123         * lib/fseeko.c (rpl_fseeko): Likewise.
15124         Reported by Alexander Nasonov <alnsn@yandex.ru>.
15125
15126 2009-12-15  Eric Blake  <ebb9@byu.net>
15127
15128         fcntl-h, stdio, sys_ioctl: fix declarations
15129         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
15130         function must not take arguments.
15131         * lib/sys_ioctl.in.h (ioctl): Likewise.
15132         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
15133         (open): Add a link warning.
15134
15135 2009-12-15  Jim Meyering  <meyering@redhat.com>
15136
15137         areadlink, areadlink-with-size: relax license to LGPLv2+
15138         * modules/areadlink (License): Relax to LGPLv2+.
15139         * modules/areadlink-with-size (License): Likewise.
15140
15141 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
15142             Bruno Haible  <bruno@clisp.org>
15143
15144         *printf: Fix memory leak.
15145         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
15146         * lib/vfprintf.c (vfprintf): Likewise.
15147         * lib/dprintf.c (dprintf): Likewise.
15148         * lib/vdprintf.c (vdprintf): Likewise.
15149
15150 2009-12-14  Eric Blake  <ebb9@byu.net>
15151
15152         accept4: adjust module dependencies
15153         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
15154
15155         utimens: one more try at avoiding compiler warning
15156         * lib/utimens.c (lutimens): Lower scope of result.
15157
15158 2009-12-13  Bruno Haible  <bruno@clisp.org>
15159
15160         Move the malloc checking from module 'list' to new module 'xlist'.
15161         * modules/xlist: New file.
15162         * lib/gl_xlist.h: New file.
15163         * lib/gl_xlist.c: New file.
15164         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
15165         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
15166         gl_list_add_last, gl_list_add_before, gl_list_add_after,
15167         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
15168         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
15169         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
15170         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
15171         gl_sortedlist_nx_add): New declarations.
15172         (struct gl_list_implementation): Rename and change methods accordingly.
15173         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
15174         (gl_list_nx_create): Renamed from gl_list_create.
15175         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
15176         (gl_list_nx_set_at): Renamed from gl_list_set_at.
15177         (gl_list_nx_add_first): Renamed from gl_list_add_first.
15178         (gl_list_nx_add_last): Renamed from gl_list_add_last.
15179         (gl_list_nx_add_before): Renamed from gl_list_add_before.
15180         (gl_list_nx_add_after): Renamed from gl_list_add_after.
15181         (gl_list_nx_add_at): Renamed from gl_list_add_at.
15182         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
15183         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
15184         gl_list_create_empty.
15185         (gl_list_nx_create): Renamed from gl_list_create.
15186         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
15187         (gl_list_nx_set_at): Renamed from gl_list_set_at.
15188         (gl_list_nx_add_first): Renamed from gl_list_add_first.
15189         (gl_list_nx_add_last): Renamed from gl_list_add_last.
15190         (gl_list_nx_add_before): Renamed from gl_list_add_before.
15191         (gl_list_nx_add_after): Renamed from gl_list_add_after.
15192         (gl_list_nx_add_at): Renamed from gl_list_add_at.
15193         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
15194         * lib/gl_array_list.c: Don't include xalloc.h.
15195         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
15196         NULL upon out-of-memory.
15197         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
15198         out-of-memory.
15199         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
15200         Change return type to 'int'.
15201         (gl_array_nx_set_at): Renamed from gl_array_set_at.
15202         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
15203         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
15204         upon out-of-memory.
15205         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
15206         upon out-of-memory.
15207         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
15208         upon out-of-memory.
15209         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
15210         upon out-of-memory.
15211         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
15212         out-of-memory.
15213         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
15214         Update.
15215         (gl_array_list_implementation): Update.
15216         * lib/gl_carray_list.c: Don't include xalloc.h.
15217         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
15218         Return NULL upon out-of-memory.
15219         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
15220         out-of-memory.
15221         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
15222         Change return type to 'int'.
15223         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
15224         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
15225         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
15226         upon out-of-memory.
15227         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
15228         upon out-of-memory.
15229         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
15230         out-of-memory.
15231         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
15232         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
15233         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
15234         Update.
15235         (gl_carray_list_implementation): Update.
15236         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
15237         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
15238         gl_linked_create_empty. Return NULL upon out-of-memory.
15239         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
15240         out-of-memory.
15241         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
15242         Change return type to 'int'. Return -1 upon out-of-memory.
15243         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
15244         out-of-memory.
15245         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
15246         upon out-of-memory.
15247         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
15248         upon out-of-memory.
15249         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
15250         NULL upon out-of-memory.
15251         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
15252         upon out-of-memory.
15253         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
15254         out-of-memory.
15255         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
15256         Update.
15257         * lib/gl_linked_list.c: Don't include xalloc.h.
15258         (gl_linked_list_implementation): Update.
15259         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
15260         (add_to_bucket): Change return type to 'int'.
15261         (gl_linkedhash_list_implementation): Update.
15262         * lib/gl_anytree_list1.h (free_subtree): New function.
15263         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
15264         gl_tree_create_empty. Return NULL upon out-of-memory.
15265         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
15266         Change return type to 'int'. Return -1 upon out-of-memory.
15267         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
15268         out-of-memory.
15269         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
15270         (gl_tree_remove_node): New function, moved here from
15271         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
15272         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
15273         Update.
15274         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
15275         malloc, not xmalloc. Return NULL upon out-of-memory.
15276         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
15277         out-of-memory.
15278         (gl_tree_remove_node_from_tree): New function, extracted from
15279         gl_tree_remove_node.
15280         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
15281         upon out-of-memory.
15282         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
15283         out-of-memory.
15284         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
15285         upon out-of-memory.
15286         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
15287         upon out-of-memory.
15288         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
15289         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
15290         not xmalloc. Return NULL upon out-of-memory.
15291         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
15292         out-of-memory.
15293         (gl_tree_remove_node_from_tree): New function, extracted from
15294         gl_tree_remove_node.
15295         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
15296         upon out-of-memory.
15297         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
15298         out-of-memory.
15299         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
15300         upon out-of-memory.
15301         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
15302         upon out-of-memory.
15303         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
15304         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
15305         gl_anytree_list1.h before gl_anyavltree_list2.h.
15306         (gl_avltree_list_implementation): Update.
15307         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
15308         gl_anytree_list1.h before gl_anyavltree_list2.h.
15309         (gl_rbtree_list_implementation): Update.
15310         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
15311         Change return type to 'int'. Return -1 upon out-of-memory. Use
15312         __builtin_expect.
15313         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
15314         (gl_avltreehash_list_implementation): Update.
15315         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
15316         (gl_rbtreehash_list_implementation): Update.
15317         * modules/array-list (Depends-on): Remove xalloc.
15318         * modules/carray-list (Depends-on): Likewise.
15319         * modules/linked-list (Depends-on): Likewise.
15320         * modules/linkedhash-list (Depends-on): Likewise.
15321         * modules/avltree-list (Depends-on): Likewise.
15322         * modules/rbtree-list (Depends-on): Likewise.
15323         * modules/avltreehash-list (Depends-on): Likewise.
15324         * modules/rbtreehash-list (Depends-on): Likewise.
15325
15326         * modules/xsublist: New file.
15327         * lib/gl_xsublist.h: New file.
15328         * lib/gl_xsublist.c: New file.
15329         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
15330         (gl_sublist_nx_create): New declaration.
15331         * lib/gl_sublist.c: Don't include xalloc.h.
15332         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
15333         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
15334         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
15335         Change return type to 'int'. Return -1 upon out-of-memory.
15336         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
15337         upon out-of-memory.
15338         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
15339         NULL upon out-of-memory.
15340         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
15341         upon out-of-memory.
15342         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
15343         NULL upon out-of-memory.
15344         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
15345         NULL upon out-of-memory.
15346         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
15347         upon out-of-memory.
15348         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
15349         (gl_sublist_list_implementation): Update.
15350         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
15351         upon out-of-memory.
15352         * modules/sublist (Depends-on): Remove xalloc.
15353
15354         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
15355         * tests/test-carray_list.c: Likewise.
15356         * tests/test-linked_list.c: Likewise.
15357         * tests/test-linkedhash_list.c: Likewise.
15358         * tests/test-avltree_list.c: Likewise.
15359         * tests/test-rbtree_list.c: Likewise.
15360         * tests/test-avltreehash_list.c: Likewise.
15361         * tests/test-rbtreehash_list.c: Likewise.
15362         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
15363         * modules/carray-list-tests (Makefile.am): Likewise.
15364         * modules/linked-list-tests (Makefile.am): Likewise.
15365         * modules/linkedhash-list-tests (Makefile.am): Likewise.
15366         * modules/avltree-list-tests (Makefile.am): Likewise.
15367         * modules/rbtree-list-tests (Makefile.am): Likewise.
15368         * modules/avltreehash-list-tests (Makefile.am): Likewise.
15369         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
15370
15371         * NEWS: Mention the changes.
15372
15373         * lib/clean-temp.c: Include gl_xlist.h.
15374         * modules/clean-temp (Depends-on): Add xlist.
15375
15376         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
15377         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
15378
15379         * tests/test-array_oset.c: Include gl_xlist.h.
15380         * modules/array-oset-tests (Depends-on): Add xlist.
15381
15382         Reported by José E. Marchesi <jemarch@gnu.org>.
15383
15384 2009-12-13  Bruno Haible  <bruno@clisp.org>
15385
15386         Move the malloc checking from module 'oset' to new module 'xoset'.
15387         * modules/xoset: New file.
15388         * lib/gl_xoset.h: New file.
15389         * lib/gl_xoset.c: New file.
15390         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
15391         declarations.
15392         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
15393         (struct gl_oset_implementation): Rename and change methods accordingly.
15394         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
15395         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
15396         'int'. Mark as __warn_unused_result__.
15397         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
15398         gl_oset_create_empty.
15399         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
15400         'int'.
15401         * lib/gl_array_oset.c: Don't include xalloc.h.
15402         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
15403         malloc, not xmalloc.
15404         (grow): Change return type to 'int'. Don't call xalloc_die.
15405         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
15406         to 'int'.
15407         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
15408         'int'.
15409         (gl_array_oset_implementation): Update.
15410         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
15411         gl_tree_create_empty.
15412         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
15413         'int'.
15414         * lib/gl_avltree_oset.c: Don't include xalloc.h.
15415         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
15416         xmalloc.
15417         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
15418         not xmalloc.
15419         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
15420         xmalloc.
15421         (gl_avltree_oset_implementation): Update.
15422         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
15423         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
15424         xmalloc.
15425         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
15426         not xmalloc.
15427         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
15428         xmalloc.
15429         (gl_rbtree_oset_implementation): Update.
15430         * modules/array-oset (Depends-on): Remove xalloc.
15431         * modules/avltree-oset (Depends-on): Likewise.
15432         * modules/rbtree-oset (Depends-on): Likewise.
15433         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
15434         * tests/test-avltree_oset.c: Likewise.
15435         * tests/test-rbtree_oset.c: Likewise.
15436         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
15437         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
15438         * modules/rbtree-oset-tests (Makefile.am): Likewise.
15439         * NEWS: Mention the change.
15440
15441 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
15442
15443         maint.mk: allow a project to override release-prep commands
15444         * top/maint.mk (alpha, beta, stable): Move release-preparatory
15445         commands into a new rule.
15446         (release-prep): New rule.
15447         (release-prep-hook): New overridable variable.
15448
15449 2009-12-13  Bruno Haible  <bruno@clisp.org>
15450
15451         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
15452
15453 2009-12-13  Jim Meyering  <meyering@redhat.com>
15454
15455         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
15456         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
15457
15458 2009-12-12  Bruno Haible  <bruno@clisp.org>
15459
15460         duplocale: Tweak.
15461         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
15462
15463 2009-12-12  Karl Berry  <karl@gnu.org>
15464
15465         * config/srclist.txt (strtoll.c): tab changes, no more sync.
15466
15467 2009-12-12  Bruno Haible  <bruno@clisp.org>
15468
15469         * m4/po.m4: Undo incorrect untabification.
15470
15471 2009-12-12  Bruno Haible  <bruno@clisp.org>
15472
15473         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
15474         * modules/c-strtod (Depends-on): Add locale.
15475         * modules/c-strtold (Depends-on): Likewise.
15476
15477 2009-12-12  Bruno Haible  <bruno@clisp.org>
15478
15479         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
15480
15481 2009-12-11  Eric Blake  <ebb9@byu.net>
15482
15483         setenv: relax requirement in light of POSIX ruling
15484         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
15485         not NULL.
15486         * tests/test-setenv.c (main): Relax test.
15487         * tests/test-unsetenv.c (main): Likewise.
15488         * doc/posix-functions/setenv.texi (setenv): Document this.
15489         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
15490
15491 2009-12-11  Bruno Haible  <bruno@clisp.org>
15492
15493         New module 'fd-safer-flag'.
15494         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
15495         * lib/dup-safer.c (dup_safer_flag): Remove function.
15496         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
15497         * lib/fd-safer.c (fd_safer_flag): Remove function.
15498         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
15499         * modules/cloexec (configure.ac): Drop indicator macro.
15500         * modules/fd-safer-flag: New file.
15501         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
15502         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
15503         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
15504
15505 2009-12-11  Bruno Haible  <bruno@clisp.org>
15506
15507         Tests for module 'nl_langinfo'.
15508         * modules/nl_langinfo-tests: New file.
15509         * tests/test-nl_langinfo.sh: New file.
15510         * tests/test-nl_langinfo.c: New file.
15511
15512         New module 'nl_langinfo'.
15513         * lib/nl_langinfo.c: New file.
15514         * m4/nl_langinfo.m4: New file.
15515         * modules/nl_langinfo: New file.
15516         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
15517
15518 2009-12-11  Bruno Haible  <bruno@clisp.org>
15519
15520         Tests for module 'langinfo'.
15521         * modules/langinfo-tests: New file.
15522         * tests/test-langinfo.c: New file.
15523
15524         New module 'langinfo'.
15525         * lib/langinfo.in.h: New file.
15526         * m4/langinfo_h.m4: New file.
15527         * modules/langinfo: New file.
15528         * doc/posix-headers/langinfo.texi: Mention the new module.
15529
15530 2009-12-11  Bruno Haible  <bruno@clisp.org>
15531
15532         * lib/config.charset: Untabify.
15533
15534 2009-12-11  Bruno Haible  <bruno@clisp.org>
15535
15536         * modules/unistd-safer (configure.ac): Drop indicator macro.
15537
15538 2009-12-11  Bruno Haible  <bruno@clisp.org>
15539
15540         Move pipe2-safer code to its own file.
15541         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
15542         * lib/pipe-safer.c (pipe2_safer): Remove function.
15543         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
15544         (Makefile.am): Add it to lib_SOURCES.
15545
15546 2009-12-10  Bruno Haible  <bruno@clisp.org>
15547
15548         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
15549
15550 2009-12-10  Bruno Haible  <bruno@clisp.org>
15551
15552         Declare which arguments expect non-NULL values, for GCC and clang.
15553         * build-aux/arg-nonnull.h: New file.
15554         * modules/arg-nonnull: New file.
15555         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
15556         (inet_ntop, inet_pton): Use it.
15557         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
15558         (closedir, dirfd, opendir, scandir, alphasort): Use it.
15559         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
15560         (open, openat): Use it.
15561         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
15562         (fnmatch): Use it.
15563         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
15564         (getopt, getopt_long, getopt_long_only): Use it.
15565         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
15566         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
15567         Use it.
15568         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
15569         (iconv_open): Use it.
15570         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
15571         (strtoimax, strtoumax): Use it.
15572         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
15573         (duplocale): Use it.
15574         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
15575         (frexp, frexpl): Use it.
15576         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
15577         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
15578         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
15579         (tsearch, tfind, tdelete, twalk): Use it.
15580         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
15581         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
15582         sigpending): Use it.
15583         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
15584         (posix_spawn, posix_spawnp, posix_spawnattr_init,
15585         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
15586         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
15587         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
15588         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
15589         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
15590         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
15591         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
15592         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
15593         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
15594         Use it.
15595         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
15596         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
15597         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
15598         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
15599         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
15600         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
15601         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
15602         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
15603         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
15604         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
15605         strtoull, unsetenv): Use it.
15606         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
15607         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
15608         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
15609         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
15610         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
15611         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
15612         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
15613         (strcasecmp, strncasecmp): Use it.
15614         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
15615         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
15616         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
15617         rpl_setsockopt): Use it.
15618         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
15619         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
15620         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
15621         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
15622         (gettimeofday): Use it.
15623         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
15624         (times): Use it.
15625         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
15626         (uname): Use it.
15627         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
15628         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
15629         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
15630         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
15631         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
15632         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
15633         unlinkat, write): Use it.
15634         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
15635         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
15636         * lib/argv-iter.h: Include arg-nonnull.h.
15637         (_ATTRIBUTE_NONNULL_): Remove macro.
15638         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
15639         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
15640         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
15641         optimization.
15642         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
15643         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
15644         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
15645         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
15646         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
15647         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
15648         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
15649         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
15650         * modules/arpa_inet (Depends-on): Add arg-nonnull.
15651         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
15652         * modules/dirent (Depends-on): Add arg-nonnull.
15653         (Makefile.am): Insert arg-nonnull.h into dirent.h.
15654         * modules/fcntl-h (Depends-on): Add arg-nonnull.
15655         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
15656         * modules/fnmatch (Depends-on): Add arg-nonnull.
15657         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
15658         * modules/getopt-posix (Depends-on): Add arg-nonnull.
15659         (Makefile.am): Insert arg-nonnull.h into getopt.h.
15660         * modules/glob (Depends-on): Add arg-nonnull.
15661         (Makefile.am): Insert arg-nonnull.h into glob.h.
15662         * modules/iconv_open (Depends-on): Add arg-nonnull.
15663         (Makefile.am): Insert arg-nonnull.h into iconv.h.
15664         * modules/inttypes (Depends-on): Add arg-nonnull.
15665         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
15666         * modules/locale (Depends-on): Add arg-nonnull.
15667         (Makefile.am): Insert arg-nonnull.h into locale.h.
15668         * modules/math (Depends-on): Add arg-nonnull.
15669         (Makefile.am): Insert arg-nonnull.h into math.h.
15670         * modules/netdb (Depends-on): Add arg-nonnull.
15671         (Makefile.am): Insert arg-nonnull.h into netdb.h.
15672         * modules/search (Depends-on): Add arg-nonnull.
15673         (Makefile.am): Insert arg-nonnull.h into search.h.
15674         * modules/signal (Depends-on): Add arg-nonnull.
15675         (Makefile.am): Insert arg-nonnull.h into signal.h.
15676         * modules/spawn (Depends-on): Add arg-nonnull.
15677         (Makefile.am): Insert arg-nonnull.h into spawn.h.
15678         * modules/stdio (Depends-on): Add arg-nonnull.
15679         (Makefile.am): Insert arg-nonnull.h into stdio.h.
15680         * modules/stdlib (Depends-on): Add arg-nonnull.
15681         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
15682         * modules/string (Depends-on): Add arg-nonnull.
15683         (Makefile.am): Insert arg-nonnull.h into string.h.
15684         * modules/strings (Depends-on): Add arg-nonnull.
15685         (Makefile.am): Insert arg-nonnull.h into strings.h.
15686         * modules/sys_socket (Depends-on): Add arg-nonnull.
15687         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
15688         * modules/sys_stat (Depends-on): Add arg-nonnull.
15689         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
15690         * modules/sys_time (Depends-on): Add arg-nonnull.
15691         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
15692         * modules/sys_times (Depends-on): Add arg-nonnull.
15693         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
15694         * modules/sys_utsname (Depends-on): Add arg-nonnull.
15695         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
15696         * modules/time (Depends-on): Add arg-nonnull.
15697         (Makefile.am): Insert arg-nonnull.h into time.h.
15698         * modules/unistd (Depends-on): Add arg-nonnull.
15699         (Makefile.am): Insert arg-nonnull.h into unistd.h.
15700         * modules/wchar (Depends-on): Add arg-nonnull.
15701         (Makefile.am): Insert arg-nonnull.h into wchar.h.
15702         * modules/argv-iter (Depends-on): Add arg-nonnull.
15703         * tests/test-canonicalize.c (null_ptr): New function.
15704         (main): Use it.
15705         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
15706         (main): Use it.
15707         * tests/test-memmem.c (null_ptr): New function.
15708         (main): Use it.
15709         Reported by Jim Meyering.
15710
15711 2009-12-10  Bruno Haible  <bruno@clisp.org>
15712
15713         Use spaces for indentation, not tabs.
15714         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
15715         * m4/*.m4: Untabify.
15716         * build-aux/*.h: Untabify.
15717         * tests/**/*.[hc]: Untabify.
15718         * README: New section "Indent with spaces, not TABs", based on
15719         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
15720         * NEWS: Mention the change.
15721
15722 2009-12-10  Bruno Haible  <bruno@clisp.org>
15723
15724         pty test: Fix link error.
15725         * modules/pty-tests (Makefile.am): Add the default LDADD value to
15726         test_pty_LDADD.
15727
15728 2009-12-07  Simon Josefsson  <simon@josefsson.org>
15729
15730         * modules/pty: New file.
15731         * modules/pty-tests: New file.
15732         * m4/pty.m4: New file.
15733         * tests/test-pty.c: New file.
15734         * doc/glibc-headers/pty.texi: Modified.
15735         * doc/glibc-functions/forkpty.texi: Modified.
15736         * doc/glibc-functions/openpty.texi: Modified.
15737
15738 2009-12-10  Bruno Haible  <bruno@clisp.org>
15739
15740         Avoid syntax error in C++ mode.
15741         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
15742
15743 2009-12-10  Bruno Haible  <bruno@clisp.org>
15744
15745         Use sed with option -e.
15746         * gnulib-tool (func_version, func_emit_copyright_notice,
15747         func_emit_initmacro_end, func_import, func_create_testdir): Pass
15748         option -e to sed.
15749         * modules/link-warning (Makefile.am): Likewise.
15750
15751 2009-12-10  Jim Meyering  <meyering@redhat.com>
15752
15753         mgetgroups: do not write bytes beyond end of malloc'd buffer
15754         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
15755         username, we call getgroups with a one-element-shorter buffer,
15756         but still told it the length was original, max_n_groups.
15757
15758 2009-12-09  Eric Blake  <ebb9@byu.net>
15759
15760         cloexec: relax license
15761         * modules/cloexec (Maintainer): Add myself.
15762         (License): Use LGPL, not GPL.
15763
15764         link-warning: optimize generation
15765         * modules/link-warning (Makefile.am): Reduce process usage.
15766
15767 2009-12-09  Bruno Haible  <bruno@clisp.org>
15768
15769         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
15770         workaround was added on 2009-11-17.
15771
15772 2009-12-09  Jim Meyering  <meyering@redhat.com>
15773             Bruno Haible  <bruno@clisp.org>
15774
15775         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
15776         * modules/link-warning (Makefile.am): Make the comment-removing sed
15777         command more robust in the face of bootstrap-prepended comment lines.
15778
15779 2009-12-09  Bruno Haible  <bruno@clisp.org>
15780
15781         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
15782         most one group.
15783
15784 2009-12-09  Simon Josefsson <simon@josefsson.org>
15785             Bruno Haible  <bruno@clisp.org>
15786
15787         * build-aux/link-warning.h: Add copyright notice.
15788         * modules/link-warning (Makefile.am): Generate link-warning.h from
15789         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
15790         * NEWS: Mention change in link-warning module.
15791         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
15792         * modules/dirent (Makefile.am): Add dependency to dirent.h.
15793         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
15794         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
15795         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
15796         * modules/math (Makefile.am): Add dependency to math.h.
15797         * modules/search (Makefile.am): Add dependency to search.h.
15798         * modules/signal (Makefile.am): Add dependency to signal.h.
15799         * modules/spawn (Makefile.am): Add dependency to spawn.h.
15800         * modules/stdio (Makefile.am): Add dependency to stdio.h.
15801         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
15802         * modules/string (Makefile.am): Add dependency to string.h.
15803         * modules/strings (Makefile.am): Add dependency to strings.h.
15804         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
15805         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
15806         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
15807         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
15808         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
15809         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
15810         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
15811         * modules/unistd (Makefile.am): Add dependency to unistd.h.
15812         * modules/wchar (Makefile.am): Add dependency to wchar.h.
15813
15814 2009-12-09  Bruno Haible  <bruno@clisp.org>
15815
15816         fchdir: Optimize away rpl_fstat when possible.
15817         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
15818         REPLACE_OPEN_DIRECTORY.
15819         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
15820
15821 2009-12-09  Bruno Haible  <bruno@clisp.org>
15822
15823         * lib/fchdir.c: Update comment.
15824
15825 2009-12-09  Bruno Haible  <bruno@clisp.org>
15826
15827         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
15828
15829 2009-12-08  Eric Blake  <ebb9@byu.net>
15830
15831         fchdir: avoid memory leak on re-registration.
15832         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
15833
15834 2009-12-08  Jim Meyering  <meyering@redhat.com>
15835
15836         init.sh: avoid Solaris 10 /bin/sh portability problem
15837         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
15838         sourced script:
15839           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
15840           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
15841           bar
15842         tests/init.sh relied on that, accepting a --set-path=DIR argument,
15843         and two tests used that idiom.
15844         * tests/init.sh: Update suggested usage comments.
15845         (path_prepend_): New function, to be used in place
15846         of the --src-path=DIR option.
15847         (setup_): Move PATH-prepending code into path_prepend_.
15848         * tests/test-pread.sh: Adapt to new usage.
15849         * tests/test-xalloc-die.sh: Likewise.
15850
15851 2009-12-08  Simon Josefsson  <simon@josefsson.org>
15852
15853         * doc/gnulib.texi (Glibc pty.h): Add.
15854         * doc/glibc-functions/forkpty.texi: Add.
15855         * doc/glibc-functions/openpty.texi: Add.
15856         Suggested by Bruno Haible.
15857
15858 2009-12-08  Eric Blake  <ebb9@byu.net>
15859
15860         fchdir: fix logic bugs
15861         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
15862         * tests/test-fchdir.c (main): Enhance test.
15863         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
15864         is in use.
15865
15866         dup2: fix logic bugs
15867         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
15868         REPLACE_DUP2 to decide when rpl_dup2 is needed.
15869         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
15870         exists.
15871         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
15872
15873 2009-12-07  Eric Blake  <ebb9@byu.net>
15874
15875         unlink: fix m4 detection
15876         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
15877
15878         unistd-safer: add unit test
15879         * modules/unistd-safer-tests: New file.
15880         * tests/test-dup-safer.c: Likewise.
15881         * tests/test-cloexec.c (setmode): Avoid compiler warning.
15882         * tests/test-dup2.c (setmode): Likewise.
15883         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
15884
15885         cloexec: preserve text vs. binary across dup_cloexec
15886         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
15887         mode.
15888         * modules/dup2-tests (Depends-on): Add binary-io.
15889         * modules/cloexec-tests (Depends-on): Likewise.
15890         * tests/test-dup2.c (setmode, is_mode): New helpers.
15891         (main): Add tests that translation mode is preserved.
15892         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
15893         Reported by Bruno Haible.
15894
15895         mgetgroups: reduce duplicate listings
15896         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
15897         resulting array.
15898         * tests/test-chown.h (test_chown): Simplify client.
15899         * tests/test-lchown.h (test_lchown): Likewise.
15900
15901 2009-12-06  Bruno Haible  <bruno@clisp.org>
15902
15903         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
15904         value.
15905
15906 2009-12-06  Bruno Haible  <bruno@clisp.org>
15907
15908         * lib/progname.c: Include stdio.h, stdlib.h.
15909         (set_program_name): Reject a NULL argument.
15910
15911 2009-12-05  Eric Blake  <ebb9@byu.net>
15912
15913         pipe2-safer: new module
15914         * modules/pipe2-safer: New file.
15915         * lib/unistd-safer.h (pipe2_safer): New prototype.
15916         * lib/unistd--.h (pipe2): New wrapper.
15917         * lib/pipe-safer.c (pipe2_safer): New function.
15918         * modules/pipe (Depends-on): Add pipe2-safer.
15919         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
15920
15921         stdlib-safer: preserve cloexec flag for mkostemp[s]
15922         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
15923         fd_safer_flag.
15924
15925         unistd-safer: allow preservation of cloexec status via flag
15926         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
15927         prototypes.
15928         * lib/dup-safer.c (dup_safer_flag): New function.
15929         * lib/fd-safer.c (fd_safer_flag): Likewise.
15930         * modules/cloexec (configure.ac): Set witness.
15931
15932         test-dup2: enhance test
15933         * modules/dup2-tests (Depends-on): Add cloexec.
15934         * tests/test-dup2.c (main): Enhance test.
15935
15936         cloexec: add dup_cloexec
15937         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
15938         header and comments.
15939         * lib/cloexec.c (set_cloexec_flag): Add comments.
15940         (dup_cloexec): New function, with mingw implementation borrowed
15941         from...
15942         * lib/w32spawn.h (dup_noinherit): ...here.
15943         * modules/execute (Depends-on): Add cloexec.
15944         * modules/pipe (Depends-on): Likewise.
15945         * modules/cloexec (Depends-on): Add dup2.
15946         * modules/cloexec-tests (Files): New file.
15947         * tests/test-cloexec.c: Likewise.
15948
15949         test-xalloc-die: fix test for mingw
15950         * modules/xalloc-die-tests (Files): Add tests/init.sh.
15951         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
15952         directory and .exe suffix off argv[0] output.
15953
15954         test-fseeko: fix test for mingw
15955         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
15956         than undefining fseek, so test will pass on mingw.
15957
15958 2009-12-05  Bruno Haible  <bruno@clisp.org>
15959
15960         * lib/progname.h (set_program_name): Clarify specification.
15961         * lib/progname.c (set_program_name): Likewise.
15962         Reported by Jim Meyering.
15963
15964 2009-12-05  Jim Meyering  <meyering@redhat.com>
15965
15966         maint.mk: backslash-escape parens in default regexp
15967         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
15968         backslash-escape the literal parentheses.
15969
15970         maint.mk: news-date-check: use grep -E
15971         * top/maint.mk (today): Define a Make variable, not a...
15972         (news-date-check): ...shell variable.
15973         (news-date-regexp): Use the Make variable.
15974         Use grep's -E option.  Change the failing diagnostic to mention
15975         the variable, $(news-date-regexp).
15976
15977 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
15978
15979         maintainer-makefile: allow customization of NEWS entry format
15980         * top/maint.mk (news-date-regexp): New overridable variable.
15981         (news-date-check): Use it.
15982
15983 2009-12-04  Eric Blake  <ebb9@byu.net>
15984
15985         mgetgroups: add xgetgroups, and avoid ENOSYS failures
15986         * lib/mgetgroups.h (xgetgroups): New prototype.
15987         * lib/mgetgroups.c (xgetgroups): New wrapper.
15988         (mgetgroups): Handle ENOSYS.
15989         * modules/mgetgroups (Depends-on): Add realloc.
15990         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
15991
15992         mgetgroups: avoid argument promotion issues with -1
15993         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
15994         for invalid gid_t.
15995         * tests/test-chown.h (getegid, test_chown): Likewise.
15996         * tests/test-lchown.h (getegid, test_lchown): Likewise.
15997
15998 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
15999
16000         exclude: Fix header file problems.
16001         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
16002
16003 2009-12-01  Jim Meyering  <meyering@redhat.com>
16004
16005         fts: fts_open: do not let an empty string cause immediate failure
16006         This is required in support of GNU rm, for which the command
16007         "rm A '' B" must process and remove both A and B, in spite of
16008         the empty string argument.
16009         * lib/fts.c (fts_open): Do not let the presence of an empty string
16010         cause fts_open to fail immediately.  Most fts-using tools must be
16011         able to process all arguments, in order, and can be expected to
16012         diagnose such arguments themselves.
16013
16014 2009-11-30  Eric Blake  <ebb9@byu.net>
16015
16016         utimens: fix compilation error
16017         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
16018         Declare variable at right scope.
16019
16020 2009-11-29  Jim Meyering  <meyering@redhat.com>
16021
16022         bootstrap: handle perl-5.11's changed --version output
16023         * build-aux/bootstrap (get_version): Handle perl separately,
16024         since perl-5.11's --version output is different.
16025
16026 2009-11-28  Jim Meyering  <meyering@redhat.com>
16027
16028         userspec: depend on the inttostr module, too
16029         * modules/userspec (Depends-on): Add inttostr.
16030
16031         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
16032         * lib/userspec.c (parse_with_separator): Do not accept a user ID
16033         number of MAXUID when it evaluates to (uid_t) -1.
16034         Likewise for group ID.  Reported by Matt McCutchen in
16035         <http://savannah.gnu.org/bugs/?28113>
16036
16037         userspec: reformat to use spaces, not TABs
16038         * lib/userspec.c: Expand TABs to spaces.
16039         Add Emacs' "indent-tabs-mode: nil" hint.
16040
16041 2009-11-27  Eric Blake  <ebb9@byu.net>
16042
16043         getopt-gnu: flush out another BSD bug
16044         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
16045         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
16046         flush out BSD bug.
16047         * tests/test-getopt.h (test_getopt): End lists with NULL.
16048         * tests/test-getopt_long.h (test_getopt_long): Likewise.
16049         (test_getopt_long_posix): Enhance test.
16050         * modules/getopt-posix-tests (Depends-on): Add stdbool.
16051         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
16052         getopt-gnu.
16053         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16054         Likewise.
16055
16056 2009-11-27  Simon Josefsson  <simon@josefsson.org>
16057
16058         * modules/idpriv-droptemp-tests (Notice): Fix text.
16059
16060 2009-11-27  Jim Meyering  <meyering@redhat.com>
16061
16062         test-xalloc-die: avoid spurious failure due to libtool argv difference
16063         In a libtool-enabled project, this test would fail due to a difference
16064         in the emitted program name, e.g.,
16065         -test-xalloc-die: memory exhausted
16066         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
16067         Use program to avoid that.
16068         * modules/xalloc-die-tests (Depends-on): Add progname.
16069         * tests/test-xalloc-die.c: Include progname.h".
16070         (program_name): Remove decl.
16071         (main): Call set_program_name.
16072         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
16073
16074 2009-11-26  Richard Jones  <rjones@redhat.com>
16075
16076         w32sock: leave win32 error in place.
16077         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
16078
16079 2009-11-26  Eric Blake  <ebb9@byu.net>
16080
16081         init.sh: suggest to use skip_ and fail_ functions in comments
16082         * tests/init.sh: Add a sentence.
16083
16084 2009-11-25  Bruno Haible  <bruno@clisp.org>
16085
16086         init.sh: add documentation in comments
16087         * tests/init.sh: Add some developer and user documentation.
16088
16089 2009-11-26  Jim Meyering  <meyering@redhat.com>
16090
16091         init.sh: accommodate even those who specify bogus srcdir manually
16092         * tests/init.sh: Normally, srcdir is guaranteed by automake and
16093         configure-time tests to be sanitized, so that there is no need to
16094         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
16095         (with no double quotes) suffices.  However, since tests may be
16096         invoked manually, and since you may explicitly set srcdir to the
16097         name of a directory containing spaces, do quote its uses here.
16098         * tests/test-pread.sh: Likewise.
16099         Suggested by Bruno Haible.
16100
16101         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
16102         * tests/test-pread.sh: Write no data into the pipe, because
16103         test-pread actually reads none.  This avoids a diagnostic,
16104         "bash: echo: write error: Broken pipe", that arises in the unusual
16105         event something is ignoring SIGPIPE, and might be interpreted
16106         as some sort of failure.  Reported by Bruno Haible.
16107
16108 2009-11-25  Jim Meyering  <meyering@redhat.com>
16109
16110         test-pread: cover failure with ESPIPE and EINVAL
16111         * tests/test-pread.c (main): Test for failure, too.
16112         * tests/test-pread.sh: Invoke with stdin on a pipe.
16113         Suggested by Eric Blake.
16114
16115         pread: improvement and fix
16116         * modules/pread (Depends-on): Depend on lseek, for portability to
16117         e.g., mingw.  Suggested by Eric Blake.
16118         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
16119
16120         unistd.in.h: correct declaration of pread
16121         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
16122         Reported by Richard W.M. Jones.
16123
16124         test-pread.sh: distribute the test script
16125         * modules/pread-tests (Files): Include test-pread.sh.
16126
16127         test-pread.sh: clean up
16128         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
16129         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
16130         That is unnecessary, since it's always ".".
16131         Suggestion from Eric Blake.
16132
16133         test-pread.sh: make executable
16134         * tests/test-pread.sh: Set executable bit.
16135         Reported by Eric Blake.
16136
16137         correct typo in test-pread.sh
16138         * tests/test-pread.sh: Add #! line.
16139
16140         test pread
16141         * tests/test-pread.c: New file.
16142         * tests/test-pread.sh: Likewise.
16143         * modules/pread-tests: Likewise.
16144
16145         pread: new module
16146         * modules/pread: New file.
16147         * lib/unistd.in.h (pread): Define/declare.
16148         * lib/pread.c (pread): New file.
16149         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
16150         * modules/unistd (Makefile.am): Substitute witnesses.
16151         * doc/posix-functions/pread.texi (pread): Update.
16152         * MODULES.html.sh: Add pread.
16153
16154 2009-11-25  Jim Meyering  <meyering@redhat.com>
16155
16156         tests/init.sh: new file to be used via most *.sh tests
16157         * tests/init.sh: New file.
16158
16159 2009-11-25  Eric Blake  <ebb9@byu.net>
16160
16161         utimens: work around older Linux failure with symlinks
16162         * lib/utimens.c (lutimensat_works_really): New variable.
16163         (fdutimens, lutimens): Use it to manage kernels that support
16164         nanosecond times on files, but not on symlinks.
16165         Reported by Ondřej Vašík.
16166
16167         utimes: fix configure grammar
16168         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
16169
16170 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
16171
16172         regex: Fix fastmap for multibyte character ranges.
16173         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
16174         characters when a multibyte character range is included.
16175
16176 2009-11-22  Andy Wingo  <wingo@pobox.com>
16177
16178         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
16179         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
16180
16181 2009-11-24  Bruno Haible  <bruno@clisp.org>
16182
16183         doc: Most *_l functions exist in MacOS X 10.5.
16184         * doc/posix-functions/duplocale.texi: Update platforms list.
16185         * doc/posix-functions/freelocale.texi: Likewise.
16186         * doc/posix-functions/newlocale.texi: Likewise.
16187         * doc/posix-functions/uselocale.texi: Likewise.
16188         * doc/posix-functions/isalnum_l.texi: Likewise.
16189         * doc/posix-functions/isalpha_l.texi: Likewise.
16190         * doc/posix-functions/isblank_l.texi: Likewise.
16191         * doc/posix-functions/iscntrl_l.texi: Likewise.
16192         * doc/posix-functions/isdigit_l.texi: Likewise.
16193         * doc/posix-functions/isgraph_l.texi: Likewise.
16194         * doc/posix-functions/islower_l.texi: Likewise.
16195         * doc/posix-functions/isprint_l.texi: Likewise.
16196         * doc/posix-functions/ispunct_l.texi: Likewise.
16197         * doc/posix-functions/isspace_l.texi: Likewise.
16198         * doc/posix-functions/isupper_l.texi: Likewise.
16199         * doc/posix-functions/iswalnum_l.texi: Likewise.
16200         * doc/posix-functions/iswalpha_l.texi: Likewise.
16201         * doc/posix-functions/iswblank_l.texi: Likewise.
16202         * doc/posix-functions/iswcntrl_l.texi: Likewise.
16203         * doc/posix-functions/iswctype_l.texi: Likewise.
16204         * doc/posix-functions/iswdigit_l.texi: Likewise.
16205         * doc/posix-functions/iswgraph_l.texi: Likewise.
16206         * doc/posix-functions/iswlower_l.texi: Likewise.
16207         * doc/posix-functions/iswprint_l.texi: Likewise.
16208         * doc/posix-functions/iswpunct_l.texi: Likewise.
16209         * doc/posix-functions/iswspace_l.texi: Likewise.
16210         * doc/posix-functions/iswupper_l.texi: Likewise.
16211         * doc/posix-functions/iswxdigit_l.texi: Likewise.
16212         * doc/posix-functions/isxdigit_l.texi: Likewise.
16213         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
16214         * doc/posix-functions/strcasecmp_l.texi: Likewise.
16215         * doc/posix-functions/strcoll_l.texi: Likewise.
16216         * doc/posix-functions/strfmon_l.texi: Likewise.
16217         * doc/posix-functions/strftime_l.texi: Likewise.
16218         * doc/posix-functions/strncasecmp_l.texi: Likewise.
16219         * doc/posix-functions/strxfrm_l.texi: Likewise.
16220         * doc/posix-functions/tolower_l.texi: Likewise.
16221         * doc/posix-functions/toupper_l.texi: Likewise.
16222         * doc/posix-functions/towctrans_l.texi: Likewise.
16223         * doc/posix-functions/towlower_l.texi: Likewise.
16224         * doc/posix-functions/towupper_l.texi: Likewise.
16225         * doc/posix-functions/wcscoll_l.texi: Likewise.
16226         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
16227         * doc/posix-functions/wctrans_l.texi: Likewise.
16228         * doc/posix-functions/wctype_l.texi: Likewise.
16229         * doc/glibc-functions/strptime_l.texi: Likewise.
16230         * doc/glibc-functions/strtod_l.texi: Likewise.
16231         * doc/glibc-functions/strtof_l.texi: Likewise.
16232         * doc/glibc-functions/strtol_l.texi: Likewise.
16233         * doc/glibc-functions/strtold_l.texi: Likewise.
16234         * doc/glibc-functions/strtoll_l.texi: Likewise.
16235         * doc/glibc-functions/strtoul_l.texi: Likewise.
16236         * doc/glibc-functions/strtoull_l.texi: Likewise.
16237         * doc/glibc-functions/wcsftime_l.texi: Likewise.
16238         * doc/glibc-functions/wcstod_l.texi: Likewise.
16239         * doc/glibc-functions/wcstof_l.texi: Likewise.
16240         * doc/glibc-functions/wcstol_l.texi: Likewise.
16241         * doc/glibc-functions/wcstold_l.texi: Likewise.
16242         * doc/glibc-functions/wcstoll_l.texi: Likewise.
16243         * doc/glibc-functions/wcstoul_l.texi: Likewise.
16244         * doc/glibc-functions/wcstoull_l.texi: Likewise.
16245
16246 2009-11-24  Bruno Haible  <bruno@clisp.org>
16247
16248         duplocale: Fix logic bug.
16249         * lib/duplocale.c: Don't include <langinfo.h>.
16250         (_NL_LOCALE_NAME): Remove macro.
16251         (rpl_duplocale): Use setlocale instead of nl_langinfo.
16252         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
16253
16254 2009-11-23  Jim Meyering  <meyering@redhat.com>
16255
16256         test-update-copyright: don't hard-code /usr/bin/perl
16257         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
16258         perl to print the current year.  Gilles Espinasse reported that
16259         the replaced use of perl was hard-coded as /usr/bin/perl.
16260
16261 2009-11-23  Bruno Haible  <bruno@clisp.org>
16262
16263         duplocale: Add support for glibc 2.3.x.
16264         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
16265
16266 2009-11-22  Bruno Haible  <bruno@clisp.org>
16267
16268         vasnprintf: Tiny optimization.
16269         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
16270         MacOS X.
16271
16272 2009-11-22  Bruno Haible  <bruno@clisp.org>
16273
16274         Tests for module 'duplocale'.
16275         * modules/duplocale-tests: New file.
16276         * tests/test-duplocale.c: New file.
16277
16278         New module 'duplocale'.
16279         * m4/duplocale.m4: New file.
16280         * lib/locale.in.h (duplocale): New declaration.
16281         * lib/duplocale.c: New file.
16282         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
16283         gl_LOCALE_H_DEFAULTS): New macros.
16284         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
16285         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
16286         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
16287         REPLACE_DUPLOCALE.
16288         * modules/duplocale: New file.
16289         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
16290
16291 2009-11-22  Bruno Haible  <bruno@clisp.org>
16292
16293         * modules/locale-tests (configure.ac): Test for newlocale function.
16294         * tests/test-locale.c: When the system has extended locale functions,
16295         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
16296
16297         locale: Make locale_t available when possible.
16298         * lib/locale.in.h: Include <xlocale.h> when it exists.
16299         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
16300         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
16301         * modules/locale (Depends-on): Add extensions.
16302         (Makefile.am): Also substitute HAVE_XLOCALE_H.
16303         * doc/posix-headers/locale.texi: Document the problem with locale_t.
16304
16305 2009-11-22  Bruno Haible  <bruno@clisp.org>
16306
16307         Add comments.
16308         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
16309         invocation.
16310         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
16311         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
16312         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
16313
16314 2009-11-22  Bruno Haible  <bruno@clisp.org>
16315
16316         error: account for the possibility of freopen (stdout).
16317         * lib/error.c: Include <unistd.h>.
16318         (flush_stdout): New function, extracted from error and error_at_line.
16319         Determine stdout's fd dynamically.
16320         (error, error_at_line): Invoke flush_stdout.
16321         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
16322         * modules/error (Depends-on): Add unistd.
16323
16324 2009-11-22  Bruno Haible  <bruno@clisp.org>
16325
16326         diffseq: Add comment.
16327         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
16328
16329 2009-11-22  Jim Meyering  <meyering@redhat.com>
16330
16331         c-stack: avoid defining an unused static function
16332         * lib/c-stack.c (find_stack_direction): Do not define this function
16333         when it will not be used.
16334
16335         diffseq: avoid spurious gcc warnings
16336         * lib/diffseq.h (IF_LINT2): Define.
16337         (compareseq): Use it to initialize two members of "part".
16338         This avoids two used-uninitialized warnings.
16339
16340 2009-11-21  Jim Meyering  <meyering@redhat.com>
16341
16342         c-stack: avoid "ignoring return value of `write'" warning
16343         * lib/c-stack.c: Include "ignore-value.h".
16344         (die): Explicitly ignore each write return value.
16345         * modules/c-stack (Depends-on): Add ignore-value.
16346
16347 2009-11-21  Bruno Haible  <bruno@clisp.org>
16348
16349         diffseq: reduce scope of variable 'best'.
16350         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
16351         variable, earlier used for two different purposes.
16352
16353 2009-11-21  Jim Meyering  <meyering@redhat.com>
16354
16355         diffseq: remove useless assignment to "best"
16356         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
16357         assignment.  At that point "best" is already guaranteed to be zero.
16358
16359 2009-11-20  Eric Blake  <ebb9@byu.net>
16360
16361         build: mention ftp redirector in release announcements
16362         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
16363         values that used to come from cfg.mk; mention FTP redirect URL.
16364         * build-aux/announce-gen: Mention the mirror list.
16365         Suggested by Karl Berry.
16366
16367         nanosleep: improve port to mingw
16368         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
16369         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
16370         LIB_NANOSLEEP, but only when needed.
16371         * modules/select (Link): Document LIBSOCKET.
16372         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
16373         enough.
16374
16375         nanosleep: work around cygwin bug
16376         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
16377         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
16378         bug.
16379         (getnow): Delete, not needed.
16380         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
16381         LIB_CLOCK_GETTIME.
16382         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
16383         clock-time, gettime.
16384         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
16385         bug.
16386         * modules/nanosleep-tests: New test.
16387         * tests/test-nanosleep.c: New file.
16388
16389         sleep: work around cygwin bug
16390         * lib/sleep.c (rpl_sleep): Work around the bug.
16391         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
16392         (gl_PREREQ_SLEEP): Delete unused macro.
16393         * modules/sleep (Depends-on): Add verify.
16394         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
16395         * modules/unistd (Makefile.am): Substitute witness.
16396         * lib/unistd.in.h (sleep): Update prototype.
16397         * doc/posix-functions/sleep.texi (sleep): Document the bug.
16398         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
16399         * modules/sleep-tests (Depends-on): Check for alarm.
16400
16401 2009-11-20  Jim Meyering  <meyering@redhat.com>
16402
16403         maint.mk: improve sc_prohibit_magic_number_exit
16404         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
16405         so it does not match uses like System.exit(1).
16406         Add comments showing how to correct all offenders.
16407
16408 2009-11-19  Eric Blake  <ebb9@byu.net>
16409
16410         xalloc-die-tests: add missing library
16411         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
16412
16413         test-xvasprintf: silence compiler warnings
16414         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
16415         empty string from gcc.
16416
16417 2009-11-19  Jim Meyering  <meyering@redhat.com>
16418
16419         xfreopen: new module, from coreutils
16420         * modules/xfreopen: New module.
16421         * lib/xfreopen.c: New file.
16422         * lib/xfreopen.h: New file.
16423         * MODULES.html.sh (File stream based Input/Output"): Add it.
16424
16425 2009-11-19  Eric Blake  <ebb9@byu.net>
16426
16427         manywarnings: depend on warnings
16428         * modules/manywarnings (Depends-on): Add warnings.
16429
16430         build: avoid compiler warnings
16431         * lib/select.c (rpl_select): Delete unused variable.
16432         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
16433
16434 2009-11-18  Eric Blake  <ebb9@byu.net>
16435
16436         tests: avoid false negative with --with-packager
16437         * tests/test-version-etc.sh: Discard packager information.
16438         * tests/test-argp-version-etc-1.sh: Likewise.
16439         Reported by Mike Frysinger.
16440
16441         utimens: fix regression on Solaris
16442         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
16443         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
16444         can only change fd timestamps via futimesat.  Instead, use an
16445         additional witness macro to avoid BSD bug.
16446         Reported by Jim Meyering.
16447
16448 2009-11-17  Eric Blake  <ebb9@byu.net>
16449
16450         usleep: use it to simplify tests
16451         * modules/stat-time-tests (Depends-on): Add usleep.
16452         (configure.ac): Drop usleep check.
16453         * modules/chown-tests (Depends-on, configure.ac): Likewise.
16454         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
16455         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
16456         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
16457         * modules/openat-tests (Depends-on, configure.ac): Likewise.
16458         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
16459         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
16460         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
16461         Likewise.
16462         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
16463         * tests/test-lchown.h (nap): Likewise.
16464         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
16465         * tests/test-stat-time.c (nap): Likewise.
16466         * tests/test-utimens-common.h (nap): Update comments.
16467
16468         usleep: new module
16469         * modules/usleep: New file.
16470         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
16471         * lib/usleep.c (usleep): Likewise.
16472         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
16473         * modules/unistd (Makefile.am): Substitute witnesses.
16474         * lib/unistd.in.h (usleep): Add declaration.
16475         * doc/pastposix-functions/usleep.texi (usleep): Document this.
16476         * MODULES.html.sh (Date and time): Likewise.
16477         * modules/usleep-tests (Depends-on): New test.
16478         * tests/test-usleep.c: New file.
16479
16480         chown: work around OpenBSD bug
16481         * lib/chown.c (rpl_chown): Work around the bug.
16482         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
16483         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
16484         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
16485         * modules/chown (Depends-on): Add stdbool.
16486         * modules/lchown (Depends-on): Likewise.
16487         * doc/posix-functions/chown.texi (chown): Document the bug.
16488         * doc/posix-functions/lchown.texi (lchown): Likewise.
16489         * tests/test-lchown.h (test_chown): Relax test.
16490
16491         mkstemp: avoid conflict with C++ keyword template
16492         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
16493         * lib/mkostemp.c (mkostemp): Likewise.
16494         * lib/mkostemps.c (mkostemps): Likewise.
16495         * lib/mkstemp.c (mkstemp): Likewise.
16496         * lib/mkstemps.c (mkstemps): Likewise.
16497
16498         xalloc-die-tests: optimize
16499         * tests/test-xalloc-die.sh: Reduce number of processes.
16500
16501 2009-11-17  Simon Josefsson  <simon@josefsson.org>
16502
16503         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
16504         patch from ludo@gnu.org (Ludovic Courtès).
16505
16506 2009-11-17  Jim Meyering  <meyering@redhat.com>
16507
16508         version-etc: use proper license string
16509         * modules/version-etc (License): Use LGPL, not LGPLv3+.
16510         * modules/version-etc-fsf: Likewise.
16511
16512 2009-11-17  Simon Josefsson  <simon@josefsson.org>
16513
16514         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
16515         printed to stdout.  Deal with EOL differences.
16516
16517 2009-11-17  Eric Blake  <ebb9@byu.net>
16518
16519         unsetenv: work around Solaris bug
16520         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
16521         * lib/unsetenv.c (rpl_unsetenv): Work around it.
16522         Reported by Jim Meyering.
16523
16524         vasnprintf: avoid compiler warnings
16525         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
16526         variables.
16527         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
16528
16529 2009-11-17  Simon Josefsson  <simon@josefsson.org>
16530
16531         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
16532         settings since xalloc-die is no longer the self test,
16533         xalloc-die.sh is.
16534
16535 2009-11-17  Jim Meyering  <meyering@redhat.com>
16536
16537         test-xalloc-die.sh: make the code agree with the commit log
16538         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
16539         at the end, just in case you happen to have a test-xalloc-die
16540         program in some other PATH directory.
16541
16542         test-xalloc-die.sh: fix a portability bug
16543         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
16544         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
16545         Otherwise, argv[0] (as often seen in diagnostics) would be too
16546         system-dependent, sometimes with, and sometimes without the leading "./".
16547
16548         version-etc-fsf: relax license to LGPLv3+
16549         * modules/version-etc-fsf (License): Relax license.
16550
16551 2009-11-16  Eric Blake  <ebb9@byu.net>
16552
16553         xalloc-die-tests: avoid printing null pointer
16554         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
16555         shell script.
16556         * tests/test-xalloc-die.c (program_name): Declare.
16557         * tests/test-xalloc-die.sh (tmpfiles): New file.
16558
16559         setenv, unsetenv: work around various bugs
16560         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
16561         (setenv) [HAVE_SETENV]: Work around bugs.
16562         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
16563         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
16564         for bugs.
16565         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
16566         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
16567         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
16568         * modules/stdlib (Makefile.am): Update substitutions.
16569         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
16570         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
16571         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
16572         * modules/setenv-tests: New test.
16573         * modules/unsetenv-tests: Likewise.
16574         * tests/test-setenv.c: New file.
16575         * tests/test-unsetenv.c: Likewise.
16576
16577 2009-11-16  Jim Meyering  <meyering@redhat.com>
16578
16579         version-etc: relax license to LGPLv3+
16580         * modules/version-etc (License): Relax license.
16581
16582         better AC_REQUIRE expanded-before-required-warning avoidance
16583         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
16584         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
16585         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
16586         which is no longer needed.
16587
16588 2009-11-16  Eric Blake  <ebb9@byu.net>
16589
16590         test-freading: clean up temporary file
16591         * tests/test-freading.c (main): Remove file on success, and use
16592         ASSERT more liberally.
16593         Reported by Jim Meyering.
16594
16595 2009-11-16  Jim Meyering  <meyering@redhat.com>
16596
16597         avoid new AC_REQUIRE expanded-before-required warnings
16598         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
16599         merely using it.
16600         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
16601         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
16602
16603 2009-11-15  Simon Josefsson  <simon@josefsson.org>
16604
16605         * tests/test-xalloc-die.c: New file.
16606         * modules/xalloc-die-tests: New file.
16607         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
16608         XFAIL_TESTS so it can be appended by modules.
16609
16610 2009-11-15  Simon Josefsson  <simon@josefsson.org>
16611
16612         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
16613         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
16614
16615 2009-11-14  Eric Blake  <ebb9@byu.net>
16616
16617         fnmatch: avoid compiler warning
16618         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
16619         to silence compiler warning about mismatch signedness in ?:.
16620         Reported by Robert Millan.
16621
16622         intprops: add double-inclusion guard
16623         * lib/intprops.h: Allow idempotent includes.
16624         Suggested by Bruce Korb.
16625
16626         openat: detect Solaris fchownat bug
16627         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
16628         penalizing glibc chownat when only lchownat is broken.
16629         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
16630         trailing slash bugs.
16631         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
16632         * modules/openat-tests (Files): Include more files.
16633         (Depends-on): Add mgetgroups, sleep, stat-time.
16634         (configure.ac): Add additional checks.
16635         (Makefile.am): Build new test.
16636         * tests/test-fchownat.c: New file.
16637
16638         lchown: detect Solaris and FreeBSD bug
16639         * lib/lchown.c (rpl_lchown): Work around bug.
16640         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
16641         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16642         * modules/unistd (Makefile.am): Populate it.
16643         * lib/unistd.in.h (lchown): Update declaration.
16644         * doc/posix-functions/lchown.texi (lchown): Document the bug.
16645         * modules/lchown-tests: New file.
16646         * tests/test-lchown.h (test_lchown): Likewise.
16647         * tests/test-lchown.c (main): Likewise.
16648
16649         chown: detect Solaris and FreeBSD bug
16650         * lib/chown.c (rpl_chown): Work around bug.
16651         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
16652         (gl_PREREQ_CHOWN): Delete.
16653         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16654         * modules/unistd (Makefile.am): Populate it.
16655         * lib/unistd.in.h (chown): Update declaration.
16656         * lib/lchown.c (chown): Update client.
16657         * modules/lchown (Depends-on): Add lstat.
16658         * doc/posix-functions/chown.texi (chown): Document the bug.
16659         * doc/posix-functions/getgroups.texi (getgroups): Document
16660         getgroups pitfall.
16661         * modules/chown-tests: New file.
16662         * tests/test-chown.h (test_chown): Likewise.
16663         * tests/test-chown.c (main): Likewise.
16664
16665 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
16666
16667         gnulib-tool: correctly detect absence of m4 directories
16668         * gnulib-tool: Avoid extra newline on data passed to wc -l.
16669
16670 2009-11-14  Jim Meyering  <meyering@redhat.com>
16671
16672         maint.mk: Prohibit inclusion of "xalloc.h" without use.
16673         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
16674
16675 2009-11-14  John W. Eaton  <jwe@gnu.org>
16676
16677         strftime.h: wrap funtion declaration in extern "C" block
16678         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
16679
16680 2009-11-13  Eric Blake  <ebb9@byu.net>
16681
16682         getgroups: avoid compiler warning
16683         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
16684
16685         getgroups: work around FreeBSD bug
16686         * lib/getgroups.c (rpl_getgroups): Work around the bug.
16687         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
16688         * doc/posix-functions/getgroups.texi (getgroups): Document it.
16689         * tests/test-getgroups.c (main): Fix buffer overrun.
16690
16691         getgroups: avoid compilation failure
16692         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
16693         * modules/getgroups (Depends-on): Add stdint.
16694
16695 2009-11-13  Jim Meyering  <meyering@redhat.com>
16696
16697         test-getgroups: avoid compilation failure
16698         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
16699
16700 2009-11-13  Eric Blake  <ebb9@byu.net>
16701
16702         mgetgroups: new module, taken from coreutils
16703         * modules/mgetgroups: New file.
16704         * lib/mgetgroups.h: Likewise.
16705         * lib/mgetgroups.c (mgetgroups): Likewise.
16706         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
16707         * MODULES.html.sh (Users and groups): Mention it.
16708
16709         getgroups: don't expose GETGROUPS_T to user
16710         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
16711         an element at a time if GETGROUPS_T is wrong size.
16712         * lib/getugroups.h (getugroups): Change signature.
16713         * lib/unistd.in.h (getgroups): Likewise.
16714         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
16715         signature needs fixing.
16716         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
16717         AC_TYPE_GETGROUPS.
16718         * modules/group-member (Depends-on): Add getgroups.
16719         * lib/group-member.c (group_info, get_group_info): Use gid_t.
16720         (group_member): Rely on getgroups replacement.
16721         * lib/getugroups.c (getugroups): Use gid_t.
16722         * tests/test-getgroups.c (main): Likewise.
16723         * NEWS: Mention the signature change.
16724         * doc/posix-functions/getgroups.texi (getgroups): Mention the
16725         problem with signature.
16726         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
16727         GETGROUPS_T is still useful for setgroups.
16728
16729         getgroups, getugroups: provide stubs for mingw
16730         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
16731         * lib/getugroups.c (getugroups): Likewise.
16732         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
16733         function.  Modernize replacement scheme.
16734         (gl_PREREQ_GETGROUPS): Delete.
16735         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
16736         * modules/getgroups (configure.ac): Declare witness.
16737         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
16738         * modules/unistd (Depends-on): Substitute witness.
16739         * lib/unistd.in.h (getgroups): Declare replacement.
16740
16741         getgroups: avoid calling exit
16742         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
16743         drop xalloc.
16744         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
16745         dependencies.
16746         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
16747         exiting, in the rare case of malloc failure.
16748
16749         getgroups: fix logic error
16750         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
16751         has more than 20 groups.
16752         * modules/getgroups-tests: New test.
16753         * tests/test-getgroups.c: New file.
16754
16755 2009-11-13  Simon Josefsson  <simon@josefsson.org>
16756
16757         * tests/test-base64.c: Improve.
16758
16759 2009-11-13  Simon Josefsson  <simon@josefsson.org>
16760
16761         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
16762         Blake <ebb9@byu.net>.
16763
16764 2009-11-13  Simon Josefsson  <simon@josefsson.org>
16765
16766         * tests/test-xvasprintf.c: Add %s%s related checks.
16767
16768 2009-11-12  Eric Blake  <ebb9@byu.net>
16769
16770         version-etc: match standards.texi style
16771         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
16772         and use <> only for URLs.
16773
16774 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
16775
16776         fts: do not fail on a submount during traversal
16777         * lib/fts.c (fts_build): Read the stat info again after opening
16778         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
16779         Original report at http://bugzilla.redhat.com/501848.
16780
16781 2009-11-12  Jim Meyering  <meyering@redhat.com>
16782
16783         bootstrap: sync from coreutils
16784         * build-aux/bootstrap (bootstrap_epilogue): New function.
16785         Use git_modules_config in one more place.  This make bootstrap's
16786         --gnulib-srcdir option more useful for testing.
16787
16788         bootstrap: generalize autoheader check
16789         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
16790         AC_CONFIG_HEADERS.
16791
16792 2009-11-11  Eric Blake  <ebb9@byu.net>
16793
16794         mkfifoat: use new modules for Solaris and BSD bugs
16795         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
16796         * lib/mkfifoat.c (mknodat): Split...
16797         * lib/mknodat.c (mknodat): ...into new file.
16798         * modules/mkfifoat (Files): Ship new file.
16799         (Depends-on): Add mkfifo, mknod.
16800         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
16801         (Depends-on): Add symlink.
16802         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
16803         redundant with test_mkfifo.h.
16804         (do_mkfifoat, do_mknodat): New helpers.
16805
16806         mknod: new module
16807         * modules/mknod: New file.
16808         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
16809         * lib/mknod.c (mknod): Likewise.
16810         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
16811         defaults.
16812         * modules/sys_stat (Makefile.am): Substitute them.
16813         * lib/sys_stat.in.h (mknod): Declare replacement.
16814         * MODULES.html.sh (Support for systems lacking POSIX:2008):
16815         Document it.
16816         * doc/posix-functions/mknod.texi (mknod): Likewise.
16817         * modules/mknod-tests: New test.
16818         * tests/test-mknod.c: Likewise.
16819
16820         mkfifo: new module
16821         * modules/mkfifo: New file.
16822         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
16823         * lib/mkfifo.c (mkfifo): Likewise.
16824         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
16825         defaults.
16826         * modules/sys_stat (Makefile.am): Substitute them.
16827         * lib/sys_stat.in.h (mkfifo): Declare replacement.
16828         * MODULES.html.sh (Support for systems lacking POSIX:2008):
16829         Document it.
16830         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
16831         * modules/mkfifo-tests: New test.
16832         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
16833         from test-mkfifoat.c.
16834         * tests/test-mkfifo.c: New file.
16835
16836         readlink: detect FreeBSD bug
16837         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
16838         slash on symlink.
16839         * doc/posix-functions/readlink.texi (readlink): Document the bug.
16840         * tests/test-readlink.h (test_readlink): Enhance test.
16841
16842         symlink: detect FreeBSD bug
16843         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
16844         slash on symlink.
16845         * doc/posix-functions/symlink.texi (symlink): Document the bug.
16846         * tests/test-symlink.h (test_symlink): Enhance test.
16847
16848 2009-11-10  Eric Blake  <ebb9@byu.net>
16849
16850         link: detect FreeBSD bug
16851         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
16852         symlink.
16853         * doc/posix-functions/link.texi (link): Document the bug.
16854         * tests/test-link.h (test_link): Enhance test.
16855         * tests/test-linkat.c (main): Update caller.
16856
16857         unlink, remove: detect FreeBSD bug
16858         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
16859         slash on symlink.
16860         * doc/posix-functions/unlink.texi (unlink): Document the bug.
16861         * doc/posix-functions/remove.texi (remove): Likewise.
16862         * tests/test-unlink.h (test_unlink): Enhance test.
16863         * tests/test-remove.c (main): Likewise.
16864
16865 2009-11-09  Eric Blake  <ebb9@byu.net>
16866
16867         rename: detect FreeBSD bug
16868         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
16869         slash on symlink.
16870         * modules/renameat-tests (Depends-on): Add filenamecat.
16871         * tests/test-rename.h (test_rename): Allow one more errno.
16872         * tests/test-renameat.c (main): Likewise.
16873         * doc/posix-functions/rename.texi (rename): Document the bug.
16874
16875         open: detect FreeBSD bug
16876         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
16877         symlink.
16878         * doc/posix-functions/open.texi (open): Document the bug.
16879         * doc/posix-functions/utimes.texi (utimes): Likewise.
16880         * tests/test-open.h (test_open): Add parameters, and test symlink
16881         handling.
16882         * tests/test-open.c (main): Adjust caller.
16883         * tests/test-fcntl-safer.c (main): Likewise.
16884         * modules/open-tests (Depends-on): Add stdbool, symlink.
16885         * modules/fcntl-safer-tests (Depends-on): Likewise.
16886         * tests/test-openat.c (main): Add test-open tests.
16887
16888         stat: detect FreeBSD bug
16889         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
16890         symlink.
16891         * doc/posix-functions/stat.texi (stat): Document the bug.
16892         * tests/test-stat.h (test_stat_func): Add argument.
16893         * tests/test-stat.c (main): Adjust caller.
16894         * tests/test-fstatat.c (main): Likewise.
16895         * modules/stat-tests (Depends-on): Add stdbool, symlink.
16896         Reported by Jim Meyering.
16897
16898 2009-11-09  James Youngman  <jay@gnu.org>
16899
16900         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
16901         * lib/strftime.c: Correct placement of #include "ignore-value.h".
16902
16903 2009-11-08  Jim Meyering  <meyering@redhat.com>
16904
16905         utimens: remove invalid futimesat call
16906         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
16907         It used the file descriptor of the target file as the DIR_FD
16908         parameter and NULL as the file name.  That caused failure with
16909         errno == EFAULT on FreeBSD-8.0-rc2
16910
16911 2009-11-07  Eric Blake  <ebb9@byu.net>
16912
16913         fflush, freadseek: use fseeko, not fseek
16914         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
16915         (clear_ungetc_buffer): Avoid potential problems on large files.
16916         * lib/freadseek.c (freadseek): Likewise.
16917         * modules/freadseek (Depends-on): Add fseeko.
16918         * modules/fseek (configure.ac): Set a witness.
16919         * tests/test-fflush.c (main): Use fseeko.
16920         * tests/test-fpurge.c (fseek): Disable link warning.
16921         * tests/test-freadable.c (fseek): Likewise.
16922         * tests/test-freading.c (fseek): Likewise.
16923         * tests/test-fseeko.c (fseek): Likewise.
16924         * tests/test-ftell.c (fseek): Likewise.
16925         * tests/test-ftello.c (fseek): Likewise.
16926         * tests/test-fwritable.c (fseek): Likewise.
16927         * tests/test-fwriting.c (fseek): Likewise.
16928
16929 2009-11-06  Simon Josefsson  <simon@josefsson.org>
16930
16931         * modules/memchr (Depends-on): Drop getpagesize dependency.
16932
16933 2009-11-06  Simon Josefsson  <simon@josefsson.org>
16934
16935         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
16936         Reported by Ludovic Courtès.
16937         * build-aux/pmccabe2html: Improve example usage.
16938         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
16939
16940 2009-11-06  Jim Meyering  <meyering@redhat.com>
16941
16942         do-release-commit-and-tag: New module.
16943         Automate the release-commit and tag process.
16944         * build-aux/do-release-commit-and-tag: New script, from coreutils.
16945         * modules/do-release-commit-and-tag: New file.
16946         * MODULES.html.sh (Support for maintaining and releasing): Add it.
16947
16948 2009-11-06  Simon Josefsson  <simon@josefsson.org>
16949
16950         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
16951         because test-select.c uses inet_pton.
16952
16953 2009-11-06  Simon Josefsson  <simon@josefsson.org>
16954
16955         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
16956         GETADDRINFO_LIB.  Bump serial number.
16957         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
16958         Suggested by Eric Blake <ebb9@byu.net>.
16959
16960 2009-11-05  Eric Blake  <ebb9@byu.net>
16961
16962         strtod: detect darwin bug
16963         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
16964         Reported by Leo Davis.
16965
16966         freopen-safer: new module
16967         * modules/freopen-safer: New module.
16968         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
16969         * lib/freopen-safer.c (freopen_safer): New file.
16970         * lib/stdio-safer.h (freopen_safer): New declaration.
16971         * lib/stdio--.h (freopen): New override.
16972         * MODULES.html.sh (File stream based Input/Output): Mention it.
16973         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
16974         freopen-safer module.
16975         * doc/posix-functions/stderr.texi (stderr): Likewise.
16976         * doc/posix-functions/stdin.texi (stdin): Likewise.
16977         * doc/posix-functions/stdout.texi (stdout): Likewise.
16978         * modules/freopen-safer-tests: New test.
16979         * tests/test-reopen-safer.c: New file.
16980
16981 2009-11-05  Jim Meyering  <meyering@redhat.com>
16982
16983         maint.mk: Prohibit inclusion of "close-stream.h" without use.
16984         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
16985
16986 2009-11-05  Simon Josefsson  <simon@josefsson.org>
16987
16988         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
16989
16990 2009-11-05  Simon Josefsson  <simon@josefsson.org>
16991
16992         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
16993
16994 2009-11-05  Simon Josefsson  <simon@josefsson.org>
16995
16996         Fix link error.
16997         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
16998         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
16999
17000 2009-11-05  Simon Josefsson  <simon@josefsson.org>
17001
17002         * tests/test-func.c: Also test value of __func__.
17003
17004 2009-11-05  Simon Josefsson  <simon@josefsson.org>
17005
17006         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
17007         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
17008
17009 2009-11-05  Bruno Haible  <bruno@clisp.org>
17010
17011         Fix link error.
17012         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
17013         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
17014         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
17015
17016 2009-11-05  Bruno Haible  <bruno@clisp.org>
17017
17018         Tests for module 'inet_pton'.
17019         * modules/inet_pton-tests: New file.
17020         * tests/test-inet_pton.c: New file.
17021
17022 2009-11-05  Bruno Haible  <bruno@clisp.org>
17023
17024         Tests for module 'inet_ntop'.
17025         * modules/inet_ntop-tests: New file.
17026         * tests/test-inet_ntop.c: New file.
17027
17028 2009-11-04  Eric Blake  <ebb9@byu.net>
17029
17030         stdlib-safer: wrap all mkstemp variants
17031         * modules/mkostemp (configure.ac): Set witness.
17032         * modules/mkostemps (configure.ac): Likewise.
17033         * modules/mkstemps (configure.ac): Likewise.
17034         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
17035         (mkstemps_safer): Wrap more functions.
17036         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
17037         wrapping.
17038         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
17039         (mkstemps_safer): Implement the wrappers.
17040
17041         mkstemps, mkostemps: new modules
17042         * modules/mkostemps: New module.
17043         * modules/mkstemps: Likewise.
17044         * lib/mkostemps.c (mkostemps): New file.
17045         * lib/mkstemps.c (mkstemps): Likewise.
17046         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
17047         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
17048         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
17049         * modules/stdlib (Makefile.am): Substitute them.
17050         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
17051         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
17052         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
17053         * doc/gnulib.texi (Glibc stdlib.h): Include them.
17054         * MODULES.html.sh (File system functions): Mention them.
17055
17056         tempname: resync from glibc
17057         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
17058         same values for __GT_FILE as glibc.  Abort even when assertions
17059         are disabled.
17060         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
17061         match its value otherwise.  Allow idempotent inclusion.
17062         * lib/mkdtemp.c (mkdtemp): Adjust caller.
17063         * lib/mkostemp.c (mkostemp): Likewise.
17064         * lib/mkstemp.c (mkstemp): Likewise.
17065         * lib/tmpfile.c (tmpfile): Likewise.
17066         * NEWS: Document this.
17067
17068         utimens: fix use of futimens on older Linux
17069         * lib/utimens.c (fdutimens): Use updated, rather than original,
17070         timespec to avoid bug in older Linux kernel.
17071         Reported by Simon Josefsson.
17072
17073 2009-11-04  Bruno Haible  <bruno@clisp.org>
17074
17075         Make num_processors more flexible and consistent.
17076         * lib/nproc.h (enum nproc_query): New type.
17077         (num_processors): Add a 'query' argument.
17078         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
17079         (num_processors): Add a 'query' argument. Test the value of the
17080         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
17081         mingw, count the number of CPUs available for the current process.
17082         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
17083         Check for sched_getaffinity and sched_getaffinity_np.
17084         * modules/nproc (Depends-on): Add c-ctype, extensions.
17085         * NEWS: Mention the change.
17086
17087 2009-11-03  Bruno Haible  <bruno@clisp.org>
17088
17089         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
17090
17091 2009-11-03  Jim Meyering  <meyering@redhat.com>
17092
17093         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
17094         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
17095         if it is defined.
17096
17097 2009-11-02  Eric Blake  <ebb9@byu.net>
17098
17099         mktime, timegm: share common declaration
17100         * lib/mktime-internal.h: New file.
17101         * lib/mktime.c: Use it rather than open-coding a declaration.
17102         * lib/timegm.c: Likewise.
17103         * modules/mktime (Files): Ship it.
17104         * modules/timegm (Files): Likewise.
17105         Suggested by Bruno Haible.
17106
17107         test-update-copyright: update test to match script changes
17108         * tests/test-update-copyright.sh: Avoid hard-coding perl
17109         location.  Don't update *.bak created by earlier runs.
17110
17111 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
17112             Simon Josefsson  <simon@josefsson.org>
17113             Bruno Haible  <bruno@clisp.org>
17114
17115         Fix link error on Solaris 8.
17116         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
17117         also in libnsl. Define also INET_PTON_LIB.
17118         * modules/inet_pton (Link): New section.
17119
17120 2009-11-02  Simon Josefsson  <simon@josefsson.org>
17121             Bruno Haible  <bruno@clisp.org>
17122
17123         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
17124         * modules/inet_ntop (Link): New section.
17125         Reported by Boyan Kasarov <bkasarov@gmail.com>.
17126
17127 2009-11-02  Eric Blake  <ebb9@byu.net>
17128
17129         maint: avoid compiler warnings in m4 macros
17130         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
17131         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
17132
17133 2009-11-02  Simon Josefsson  <simon@josefsson.org>
17134
17135         * m4/pmccabe2html.m4: Remove file.
17136         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
17137         function.  Change maintainer.
17138         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
17139         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
17140         Courtès).
17141
17142 2009-10-31  Eric Blake  <ebb9@byu.net>
17143
17144         fseeko: fix m4 regression
17145         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
17146         regression from 2009-10-27.
17147         Reported by Ralf Wildenhues.
17148
17149 2009-10-31  Jim Meyering  <meyering@redhat.com>
17150
17151         inttostr: aesthetics and improved (compile-time) safety
17152         Define inttype_is_signed rather than inttype_is_unsigned,
17153         since the sole use is via "#if inttype_is_signed".
17154         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
17155         inttype_is_unsigned.
17156         * lib/offtostr.c (inttype_is_signed): Likewise.
17157         * lib/uinttostr.c (inttype_is_signed): Likewise.
17158         * lib/umaxtostr.c (inttype_is_signed): Likewise.
17159         * lib/inttostr.c (inttostr): Use verify to cross-check the
17160         inttype_is_signed value and the signedness of the actual type.
17161         * modules/inttostr (Depends-on): Add verify.
17162
17163 2009-10-30  Eric Blake  <ebb9@byu.net>
17164
17165         build: avoid compiler warnings
17166         * lib/fchmodat.c (lchmod): Mark unused variables.
17167         * lib/getopt.c (_getopt_initialize): Likewise.
17168         * lib/mktime.c (__mktime_internal): Provide prototype.
17169         * lib/inttostr.c (inttostr): Avoid compiler warning even with
17170         older gcc that do not understand #pragma GCC diagnostic.
17171         * lib/uinttostr.c (inttype_is_unsigned): Define.
17172         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
17173
17174 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
17175
17176         stat: fix compilation on AIX
17177         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
17178         only see struct stat64.
17179
17180 2009-10-30  Eric Blake  <ebb9@byu.net>
17181
17182         exclude: make more robust
17183         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
17184         rather than masking a coding bug.
17185         Suggested by Bruno Haible.
17186
17187 2009-10-30  Jim Meyering  <meyering@redhat.com>
17188
17189         perl scripts: remove #!/usr/bin/perl in favor of more portable...
17190         Rather than putting #!/usr/bin/perl on the first line,
17191         start with a variant of what's recommended by "man perlrun" that
17192         invokes the first "perl" program from your shell's search path.
17193         * build-aux/gitlog-to-changelog: Replace #!... as above.
17194         Add a "Local Variables" perl mode setting.
17195         Prompted by a patch from Ludovic Courtès.
17196         Improved by Eric Blake.
17197         * build-aux/useless-if-before-free: Likewise.
17198         * build-aux/announce-gen: Likewise.
17199         * build-aux/update-copyright: Likewise.
17200
17201 2009-10-29  Eric Blake  <ebb9@byu.net>
17202
17203         filenamecat-lgpl: adjust clients
17204         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
17205         filenamecat.
17206         * modules/renameat (Depends-on): Likewise.
17207
17208         filenamecat: split into filenamecat-lgpl
17209         * modules/filenamecat-lgpl: New module.
17210         * modules/filenamecat (Files): Move library-safe files into
17211         filenamecat-lgpl.
17212         (Depends-on): Add filenamecat-lgpl.
17213         (configure.ac): Declare witness.
17214         * lib/filenamecat.h (file_name_concat): Only declare when using
17215         GPL module.
17216         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
17217         Move...
17218         * lib/filenamecat-lgpl.c: ...into new file.
17219         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
17220         (gl_FILE_NAME_CONCAT): Use it.
17221         * MODULES.html.sh (File system functions): Mention new module.
17222
17223         argp: avoid memory leak
17224         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
17225         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
17226         base_name, since the latter malloc()s and can call exit().
17227         Leak introduced 2006-07-03.
17228
17229         dirname-lgpl: adjust clients that don't need full dirname
17230         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
17231         * modules/filenamecat (Depends-on): Likewise.
17232         * modules/linkat (Depends-on): Likewise.
17233         * modules/mkancesdirs (Depends-on): Likewise.
17234         * modules/mkdir (Depends-on): Likewise.
17235         * modules/openat (Depends-on): Likewise.
17236         * modules/savewd (Depends-on): Likewise.
17237         * modules/rename (Depends-on): Likewise.
17238         (License): Relax license.
17239         * modules/mkdir-tests (Depends-on): Drop progname.
17240         (Makefile.am): Delete unneeded LDADD.
17241         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
17242
17243         dirname: split into dirname-lgpl
17244         * modules/dirname-lgpl: New module.
17245         * modules/dirname (Files): Move library-safe files into
17246         dirname-lgpl.
17247         (Depends-on): Add dirname-lgpl.
17248         (configure.ac): Declare witness.
17249         * modules/double-slash-root (License): Relax license.
17250         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
17251         module.
17252         * lib/dirname.c (dir_len, mdir_name): Move...
17253         * lib/dirname-lgpl.c: ...into new file.
17254         * lib/basename.c (last_component, base_len): Move...
17255         * lib/basename-lgpl.c: ...into new file.
17256         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
17257         (gl_DIRNAME): Use it.
17258         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
17259         Mention new module.
17260         * modules/dirname-tests (Depends-on): Add progname.
17261         * tests/test-dirname.c (program_name): Delete.
17262
17263         mkdir: make safe for libraries
17264         * modules/mkdir (Depends-on): Drop xalloc.
17265         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
17266         exit.
17267
17268         tests: avoid some compiler warnings
17269         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
17270         literals.
17271         * tests/test-memchr.c (main): Avoid type mismatch.
17272         * tests/test-arpa_inet.c (main): Avoid unused parameters.
17273         * tests/test-base64.c (main): Likewise.
17274         * tests/test-getdelim.c (main): Likewise.
17275         * tests/test-gethostname.c (main): Likewise.
17276         * tests/test-getline.c (main): Likewise.
17277         * tests/test-netinet_in.c (main): Likewise.
17278         * tests/test-select.c (open_server_socket, main): Likewise.
17279         * tests/test-select-stdin.c (main): Likewise.
17280         * tests/test-sockets.c (main): Likewise.
17281         * tests/test-strsignal.c (main): Likewise.
17282         * tests/test-sys_select.c (main): Likewise.
17283         * tests/test-sys_socket.c (main): Likewise.
17284         * tests/test-u64.c (main): Likewise.
17285         * tests/test-xfprintf-posix.c (main): Likewise.
17286         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
17287
17288         sockets: avoid compiler warning
17289         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
17290
17291         maint: detect usage(1) and other suspicious exits
17292         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
17293
17294 2009-10-29  Jim Meyering  <meyering@redhat.com>
17295
17296         timespec: long-to-int truncation could make timespec_cmp malfunction
17297         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
17298         a multiple of 2^32 nanoseconds as no difference.
17299
17300 2009-10-28  Jim Meyering  <meyering@redhat.com>
17301
17302         fprintftime: wrap macro code argument in "do {...} while(0)"
17303         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
17304         cpy macro must be a statement that can be followed by a semicolon.
17305         Now that the else clause contains a comment and is hence longer
17306         than one line, I require curly braces.  That in turn requires
17307         that we wrap this code block in the standard do...while(0).
17308
17309         fprintftime: remove stray semicolon from previous change
17310         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
17311
17312         fprintftime: avoid a warning about ignored fwrite return value
17313         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
17314         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
17315         that is unsafe.
17316         * modules/fprintftime (Depends-on): Add ignore-value.
17317
17318         exclude: avoid an unwarranted warning
17319         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
17320
17321 2009-10-27  Eric Blake  <ebb9@byu.net>
17322
17323         fseek: avoid compilation failure when fflush is replaced
17324         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
17325         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
17326         module is in use.
17327         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
17328         module is not in use; since REPLACE_FSEEK worked otherwise.
17329         (GNULIB_FTELLO): Likewise for ftell.
17330         Reported by Ian Beckwith and others.
17331
17332 2009-10-27  Bruno Haible  <bruno@clisp.org>
17333
17334         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
17335         Reported by Jim Meyering.
17336
17337 2009-10-27  Jim Meyering  <jim@meyering.net>
17338             Bruno Haible  <bruno@clisp.org>
17339
17340         Avoid warning despite dropping the return value of fwrite.
17341         * lib/unicodeio.c: Include ignore-value.h.
17342         (fwrite_success_callback): Explicitly ignore fwrite's return value.
17343         * modules/unicodeio (Depends-on): Add ignore-value.
17344
17345 2009-10-26  Eric Blake  <ebb9@byu.net>
17346
17347         areadlinkat: fix fallback path
17348         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
17349         pointer and zero.
17350
17351 2009-10-22  Pádraig Brady  <P@draigBrady.com>
17352
17353         Use a better IO block size for modern systems
17354         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
17355         * lib/md2.c: Likewise.
17356         * lib/md4.c: Likewise.
17357         * lib/md5.c: Likewise.
17358         * lib/sha1.c: Likewise.
17359         * lib/sha256.c: Likewise.
17360         * lib/sha512.c: Likewise.
17361
17362 2009-10-22  Eric Blake  <ebb9@byu.net>
17363
17364         tests: avoid several compiler warnings
17365         * tests/test-getcwd.c (main): Avoid buffer underflow.
17366         * tests/test-getdate.c (main): String literals are not safe with
17367         putenv, so use setenv.  Declare unused argument.
17368         * modules/getdate-tests (Depends-on): Add setenv.
17369         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
17370         problems with string literals in char *.
17371         * tests/test-hash.c (main): Avoid shadowing declaration.
17372         (insert_new): Treat string literals as char const *.
17373         * tests/test-getopt.h (test_getopt): Likewise.
17374         (getopt_loop): Alter types to minimize casting elsewhere.
17375         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
17376         (test_getopt_long_posix): Likewise.
17377         (do_getopt_long): Add wrapper to minimize casting.
17378         * tests/test-atexit.c (clear_temp_file): Use void.
17379         * tests/test-areadlink-with-size.c (main): Declare unused
17380         arguments.
17381         * tests/test-areadlink.c (main): Likewise.
17382         * tests/test-areadlinkat-with-size.c (main): Likewise.
17383         * tests/test-areadlinkat.c (main): Likewise.
17384         * tests/test-canonicalize-lgpl.c (main): Likewise.
17385         * tests/test-canonicalize.c (main): Likewise.
17386         * tests/test-dirent-safer.c (main): Likewise.
17387         * tests/test-dirname.c (main): Likewise.
17388         * tests/test-dup2.c (main): Likewise.
17389         * tests/test-fchdir.c (main): Likewise.
17390         * tests/test-fcntl-h.c (main): Likewise.
17391         * tests/test-fcntl-safer.c (main): Likewise.
17392         * tests/test-fdopendir.c (main): Likewise.
17393         * tests/test-fdutimensat.c (main): Likewise.
17394         * tests/test-fflush.c (main): Likewise.
17395         * tests/test-filenamecat.c (main): Likewise.
17396         * tests/test-filevercmp.c (main): Likewise.
17397         * tests/test-fopen-safer.c (main): Likewise.
17398         * tests/test-fopen.c (main): Likewise.
17399         * tests/test-fpending.c (main): Likewise.
17400         * tests/test-fpurge.c (main): Likewise.
17401         * tests/test-freading.c (main): Likewise.
17402         * tests/test-fstatat.c (main): Likewise.
17403         * tests/test-fsync.c (main): Likewise.
17404         * tests/test-futimens.c (main): Likewise.
17405         * tests/test-getndelim2.c (main): Likewise.
17406         * tests/test-gettimeofday.c (main): Likewise.
17407         * tests/test-getopt.c (main): Likewise.
17408         * tests/test-i-ring.c (main): Likewise.
17409         * tests/test-inttypes.c (main): Likewise.
17410         * tests/test-link.c (main): Likewise.
17411         * tests/test-lstat.c (main): Likewise.
17412         * tests/test-math.c (main): Likewise.
17413         * tests/test-md5.c (main): Likewise.
17414         * tests/test-memchr2.c (main): Likewise.
17415         * tests/test-memrchr.c (main): Likewise.
17416         * tests/test-mkdir.c (main): Likewise.
17417         * tests/test-mkdirat.c (main): Likewise.
17418         * tests/test-mkfifoat.c (main): Likewise.
17419         * tests/test-open.c (main): Likewise.
17420         * tests/test-openat-safer.c (main): Likewise.
17421         * tests/test-openat.c (main): Likewise.
17422         * tests/test-quotearg.c (main): Likewise.
17423         * tests/test-rawmemchr.c (main): Likewise.
17424         * tests/test-readlink.c (main): Likewise.
17425         * tests/test-remove.c (main): Likewise.
17426         * tests/test-rename.c (main): Likewise.
17427         * tests/test-renameat.c (main): Likewise.
17428         * tests/test-rmdir.c (main): Likewise.
17429         * tests/test-sha1.c (main): Likewise.
17430         * tests/test-signal.c (main): Likewise.
17431         * tests/test-sigaction.c (main): Likewise.
17432         * tests/test-stat.c (main): Likewise.
17433         * tests/test-stat-time.c (main): Likewise.
17434         * tests/test-stddef.c (main): Likewise.
17435         * tests/test-stdint.c (main): Likewise.
17436         * tests/test-stdio.c (main): Likewise.
17437         * tests/test-stdlib.c (main): Likewise.
17438         * tests/test-strchrnul.c (main): Likewise.
17439         * tests/test-strerror.c (main): Likewise.
17440         * tests/test-string.c (main): Likewise.
17441         * tests/test-strtod.c (main): Likewise.
17442         * tests/test-strverscmp.c (main): Likewise.
17443         * tests/test-symlink.c (main): Likewise.
17444         * tests/test-symlinkat.c (main): Likewise.
17445         * tests/test-sys_stat.c (main): Likewise.
17446         * tests/test-sys_time.c (main): Likewise.
17447         * tests/test-time.c (main): Likewise.
17448         * tests/test-unistd.c (main): Likewise.
17449         * tests/test-unlink.c (main): Likewise.
17450         * tests/test-unlinkat.c (main): Likewise.
17451         * tests/test-utimens.c (main): Likewise.
17452         * tests/test-utimensat.c (main): Likewise.
17453         * tests/test-version-etc.c (main): Likewise.
17454         * tests/test-wchar.c (main): Likewise.
17455         * tests/test-wctype.c (main): Likewise.
17456         * tests/test-xprintf-posix.c (main): Likewise.
17457         * tests/test-posixtm.c (main): Likewise.
17458         (STREQ): Delete unused macro.
17459         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
17460         shadowed variables.
17461         * tests/test-memchr.c (main): Likewise.
17462
17463 2009-10-21  Eric Blake  <ebb9@byu.net>
17464
17465         areadlinkat: avoid failure on older glibc
17466         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
17467         rather than mis-comparing 0 against FUNC_RESULT of char*.
17468
17469 2009-10-21  Bruno Haible  <bruno@clisp.org>
17470
17471         * modules/stpncpy (License): Relicense under LGPLv2+.
17472         Reported by David Lutterkort <lutter@redhat.com>.
17473
17474 2009-10-20  Eric Blake  <ebb9@byu.net>
17475
17476         utimensat: work around Solaris 9 bug
17477         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
17478         has trailing slash bugs.
17479         * tests/test-lutimens.h (test_lutimens): Enhance test.
17480         * tests/test-utimens.h (test_utimens): Likewise.
17481         * doc/posix-functions/utime.texi (utime): Enhance documentation.
17482         * doc/posix-functions/utimes.texi (utimes): Likewise.
17483         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
17484         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
17485         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
17486         * doc/posix-functions/futimens.texi (futimens): Likewise.
17487
17488         fdutimensat: new module
17489         * modules/fdutimensat: New file.
17490         * lib/fdutimensat.c (fdutimensat): Likewise.
17491         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
17492         * MODULES.html.sh (File system functions): Mention module.
17493         * modules/fdutimensat-tests: New test.
17494         * tests/test-fdutimensat.c: Likewise.
17495
17496         doc: regenerate INSTALL
17497         * doc/INSTALL: Reflect recent autoconf update.
17498         * doc/INSTALL.ISO: Likewise.
17499         * doc/INSTALL.UTF-8: Likewise.
17500
17501 2009-10-20  Pádraig Brady  <P@draigBrady.com>
17502
17503         acl: warn if ACL support is not detected
17504         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
17505
17506 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
17507
17508         * lib/nproc.h: Add extern "C" block for C++.
17509
17510 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
17511             Bruno Haible  <bruno@clisp.org>
17512
17513         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
17514         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
17515         * doc/posix-functions/isalpha.texi: Likewise.
17516         * doc/posix-functions/isblank.texi: Likewise.
17517         * doc/posix-functions/iscntrl.texi: Likewise.
17518         * doc/posix-functions/isdigit.texi: Likewise.
17519         * doc/posix-functions/isgraph.texi: Likewise.
17520         * doc/posix-functions/islower.texi: Likewise.
17521         * doc/posix-functions/isprint.texi: Likewise.
17522         * doc/posix-functions/ispunct.texi: Likewise.
17523         * doc/posix-functions/isspace.texi: Likewise.
17524         * doc/posix-functions/isupper.texi: Likewise.
17525         * doc/posix-functions/isxdigit.texi: Likewise.
17526
17527 2009-10-18  Bruno Haible  <bruno@clisp.org>
17528
17529         Tests for module 'isblank'.
17530         * modules/isblank-tests: New file.
17531         * tests/test-isblank.c: New file.
17532
17533         New module 'isblank'.
17534         * lib/isblank.c: New file.
17535         * m4/isblank.m4: New file.
17536         * modules/isblank: New file.
17537         * doc/posix-functions/isblank.texi: Mention the new module.
17538
17539 2009-10-18  Bruno Haible  <bruno@clisp.org>
17540
17541         New module 'ctype'.
17542         * lib/ctype.in.h: New file.
17543         * m4/ctype.m4: New file.
17544         * modules/ctype: New file.
17545         * doc/posix-headers/ctype.texi: Mention the new module.
17546
17547 2009-10-18  Jim Meyering  <meyering@redhat.com>
17548
17549         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
17550         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
17551         right after its initialization, rather than farther down.
17552         Keeping these in close proximity makes it easier to ensure
17553         that each such variable is initialized.  E.g.,
17554
17555             LIB_CLOCK_GETTIME=
17556             AC_SUBST([LIB_CLOCK_GETTIME])
17557
17558         This change also increments these serial numbers.
17559         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
17560         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
17561         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17562
17563 2009-10-18  Bruno Haible  <bruno@clisp.org>
17564
17565         Don't let environment variables perturb build.
17566         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
17567         (gl_PREREQ_GETHRXTIME): ... not here.
17568
17569 2009-10-18  Bruno Haible  <bruno@clisp.org>
17570
17571         Avoid symlink attack in localcharset module.
17572         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
17573         (O_NOFOLLOW): Define fallback.
17574         (get_charset_aliases): Don't open the file if it is a symbolic link.
17575         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
17576         gl_FCNTL_H.
17577         (gl_FCNTL_H): Require it.
17578         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
17579         * modules/localcharset (Files): Add m4/fcntl_h.m4.
17580         Reported by Fergal Glynn <fglynn@veracode.com>.
17581
17582 2009-10-18  Bruno Haible  <bruno@clisp.org>
17583
17584         Implement nproc for mingw.
17585         * lib/nproc.c: Include <windows.h>
17586         (num_processors): On native Windows platforms, try GetSystemInfo.
17587
17588 2009-10-18  Bruno Haible  <bruno@clisp.org>
17589
17590         Implement nproc for IRIX.
17591         * lib/nproc.c: Include <sys/sysmp.h>.
17592         (num_processors): On IRIX systems, try sysmp.
17593         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
17594
17595 2009-10-18  Bruno Haible  <bruno@clisp.org>
17596
17597         Implement nproc for HP-UX.
17598         * lib/nproc.c: Include <sys/pstat.h>
17599         (num_processors): On HP-UX systems, try pstat_getdynamic.
17600         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
17601         pstat_getdynamic.
17602
17603 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
17604             Bruno Haible  <bruno@clisp.org>
17605
17606         Implement nproc for NetBSD, OpenBSD.
17607         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
17608         (ARRAY_SIZE): New macro.
17609         (num_processors): On BSD systems, try sysctl of HW_NCPU.
17610         * m4/nproc.m4: New file.
17611         * modules/nproc (Files): Add m4/nproc.m4.
17612         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
17613         (Makefile.am): Instead, augment lib_SOURCES.
17614
17615 2009-10-18  Bruno Haible  <bruno@clisp.org>
17616
17617         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
17618         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
17619         sys/param.h.
17620
17621 2009-10-16  Eric Blake  <ebb9@byu.net>
17622
17623         utimensat: new module
17624         * modules/utimensat: New file.
17625         * lib/utimensat.c (utimensat): Likewise.
17626         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
17627         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
17628         so we can work around Linux bugs.
17629         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
17630         * modules/sys_stat (Makefile.am): Substitute them.
17631         * lib/sys_stat.in.h (utimensat): Declare it.
17632         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
17633         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
17634         * modules/utimensat-tests: New test.
17635         * tests/test-utimensat.c: Likewise.
17636
17637         utimens: let lutimens work on non-symlinks
17638         * lib/utimens.c (lutimens): Fall back to utimens rather than
17639         failing with ENOSYS, when file is not a symlink.
17640         (utimens): Reduce redirection.
17641         * tests/test-lutimens.h (test_lutimens): Update test to cover
17642         non-symlinks.
17643         * tests/test-utimens.h (test_utimens): Update test to cover
17644         symlinks.
17645         * tests/test-utimens.c (main): Update caller.
17646
17647         utimens: cache whether utimensat syscall works
17648         * lib/utimens.c (utimensat_works_really): New cache variable.
17649         (fdutimens, lutimens): Use it to avoid failing syscall.
17650
17651         test-stat-time, test-utimens: improve portability
17652         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
17653         ext4 on alpha, and for cygwin.
17654         * tests/test-utimens-common.h: New file.
17655         (nap): Factor delays into single function.
17656         * tests/test-lutimens.h (test_lutimens): Use new header.
17657         * tests/test-futimens.h (test_futimens): Likewise.
17658         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
17659         timestamps to occur from same machine, as was done previously for
17660         test_utimens.
17661         * modules/utimens-tests (Files): Ship new file.
17662         * modules/futimens-tests (Files): Likewise.
17663         Reported in part by Jim Meyering.
17664
17665         sys_stat: sort replacement declarations
17666         * lib/sys_stat.in.h: Sort declarations.
17667         * lib/futimens.c (futimens): Fix typo.
17668
17669 2009-10-15  Jim Meyering  <meyering@redhat.com>
17670
17671         don't let environment settings perturb build
17672         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
17673         could cause a configure-time and/or build-time malfunction.
17674         Typically, a configure-time function-in-library test is performed
17675         via code like this:
17676
17677           LIB_VAR=
17678           AC_SUBST([LIB_VAR])
17679           prefix_saved_LIBS=$LIBS
17680             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
17681                        [test "$ac_cv_search_FUNC" = "none required" ||
17682                         LIB_VAR=$ac_cv_search_FUNC])
17683           LIBS=$prefix_saved_LIBS
17684
17685         However, in each of the files affected by this change, the LIB_VAR=
17686         initialization was omitted.  Thus, when set in the environment, its
17687         value would propagate into generated Makefiles when FUNC is not found
17688         in LIB_NAME.
17689         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
17690         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
17691         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
17692
17693 2009-10-14  Eric Blake  <ebb9@byu.net>
17694
17695         fchdir: avoid infinite recursion in mingw
17696         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
17697         recursing.
17698
17699         test-stat-time: port to mingw
17700         * tests/test-stat-time.c (force_unlink): Return a value.
17701         (test_ctime) [W32]: Fix compilation error.
17702         (nap): Don't call usleep with too large an argument.  Use
17703         force_unlink.
17704         * doc/pastposix-functions/usleep.texi (usleep): Document the
17705         portability issue.
17706
17707 2009-10-13  Jim Meyering  <meyering@redhat.com>
17708
17709         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
17710         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
17711         * modules/pipe-filter-ii: Likewise.
17712         * modules/sys_socket-tests: Likewise.
17713         * modules/tsearch-tests: Likewise.
17714         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
17715         (check): Depend on it.
17716
17717 2009-10-12  Eric Blake  <ebb9@byu.net>
17718
17719         utimens-tests: port to NFS file systems
17720         * tests/test-utimens.h (test_utimens): Refactor utimecmp
17721         comparisons to avoid spurious failures from timestamp drift
17722         between NFS machines.
17723
17724 2009-10-12  Eric Blake  <ebb9@byu.net>
17725
17726         stat-time-tests: minor cleanups
17727         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
17728         * tests/test-stat-time.c (nap): Separate assignment from call.
17729         Suggested by Paolo Bonzini and Bruno Haible.
17730
17731         sys_stat: guarantee struct timespec
17732         * lib/sys_stat.in.h (includes): Always include <time.h>
17733         * modules/sys_stat (Depends-on): Add time.
17734         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
17735         mode_t permission values.
17736         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
17737         get at subsecond timestamps.
17738
17739 2009-10-10  Eric Blake  <ebb9@byu.net>
17740
17741         futimens: new module
17742         * modules/futimens: New file.
17743         * lib/futimens.c (futimens): Likewise.
17744         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
17745         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
17746         we can work around Linux bugs.
17747         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
17748         * modules/sys_stat (Makefile.am): Substitute them.
17749         * lib/sys_stat.in.h (futimens): Declare it.
17750         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
17751         * doc/posix-functions/futimens.texi (futimens): Likewise.
17752         * modules/futimens-tests: New test.
17753         * tests/test-futimens.c: Likewise.
17754
17755         utimens: introduce fdutimens
17756         * lib/utimens.h (fdutimens): New prototype.
17757         * lib/utimens.c (gl_futimens): Move guts...
17758         (fdutimens): ...to new interface.
17759         * tests/test-utimens.c (do_fdutimens): Use it.
17760
17761         utimens: add UTIME_NOW and UTIME_OMIT support
17762         * lib/utimens.c (validate_timespec, update_timespec): New helper
17763         functions.
17764         (gl_futimens, lutimens): Use them.
17765         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
17766         stdbool, sys_stat.
17767         (Link): Mention resulting library dependency.
17768         * modules/utimecmp (Link): Likewise.
17769         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
17770         (Makefile.am): Pick up library dependency.
17771         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
17772         definition.
17773         * tests/test-sys_stat.c: Test the definitions.
17774         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
17775         * NEWS: Document library dependency.
17776
17777         utimecmp: support symlink timestamps
17778         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
17779         hashing when possible.  Use pathconf when available.
17780         (SYSCALL_RESOLUTION): Recognize tighter resolution.
17781         * modules/utimecmp (Depends-on): Add lstat.
17782
17783         utimens: add lutimens interface
17784         * lib/utimens.c (lutimens): New function.
17785         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
17786         * lib/utimens.h (lutimens): Declare new interface.
17787         * tests/test-utimens.c (main): Enhance test.
17788         * tests/test-lutimens.h (test_lutimens): New file.
17789         * modules/utimens-tests (Files): Distribute it.
17790         (Depends-on): Add symlink.
17791         (configure.ac): Check for usleep.
17792
17793         utimens: validate futimens usage
17794         * lib/utimens.c (gl_futimens): Require valid fd up front, using
17795         fewer syscalls on failure later on.  Avoid compiler warning on
17796         mingw.
17797         * modules/utimens (Depends-on): Add dup2.
17798
17799         utimens: add test
17800         * modules/utimens-tests: New test.
17801         * tests/test-utimens.h: New file.
17802         * tests/test-futimens.h: Likewise.
17803         * tests/test-utimens.c: Likewise.
17804
17805         doc: mention timestamp portability issues
17806         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
17807         instead.
17808         * doc/posix-functions/utime.texi (utime): Likewise.
17809         * doc/posix-functions/utimes.texi (utimes): Likewise.
17810         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
17811         instead.
17812         * doc/posix-functions/futimens.texi (futimens): Mention utimens
17813         module.
17814         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
17815         Mention weakness with symlink timestamps.
17816         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
17817         to utimensat/futimens instead.
17818         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
17819
17820         test-dup2: enhance test
17821         * tests/test-dup2.c (main): Also check AT_FDCWD.
17822
17823         test-stat-time: avoid more spurious failures
17824         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
17825         xfs; and avoid race if the two timestamps cross quantization edge.
17826
17827         relocatable: prefer 'file system' over 'filesystem'
17828         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
17829         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
17830         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
17831         * doc/relocatable.texi (Enabling Relocatability): Likewise.
17832         * lib/relocatable.c (compute_curr_prefix): Likewise.
17833
17834 2009-10-10  Jim Meyering  <meyering@redhat.com>
17835
17836         stat-time-tests: check for the usleep function
17837         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
17838
17839 2009-10-10  Bruno Haible  <bruno@clisp.org>
17840
17841         * modules/xnanosleep: Put the Link section after the Include section.
17842
17843 2009-10-09  Eric Blake  <ebb9@byu.net>
17844
17845         dup2: work around FreeBSD 6.1 bug
17846         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
17847         * doc/posix-functions/dup2.texi (dup2): Document it.
17848         Reported by Nelson H. F. Beebe and Jim Meyering.
17849
17850         test-stat-time: port to buggy NFS clients
17851         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
17852         (test_ctime): Also skip test if mtime and ctime are skewed.
17853
17854         maint: prefer 'file system' over 'filesystem'
17855         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
17856         * doc/posix-functions/lstat.texi (lstat): Likewise.
17857         * lib/file-has-acl.c (file_has_acl): Likewise.
17858         * lib/fwriteerror.c [TEST]: Likewise.
17859         * tests/test-areadlink.h (test_areadlink): Likewise.
17860         * tests/test-areadlinkat-with-size.c (main): Likewise.
17861         * tests/test-areadlinkat.c (main): Likewise.
17862         * tests/test-canonicalize-lgpl.c (main): Likewise.
17863         * tests/test-canonicalize.c (main): Likewise.
17864         * tests/test-fstatat.c (main): Likewise.
17865         * tests/test-linkat.c (main): Likewise.
17866         * tests/test-lstat.h (test_lstat_func): Likewise.
17867         * tests/test-mkdir.h (test_mkdir): Likewise.
17868         * tests/test-readlink.h (test_readlink): Likewise.
17869         * tests/test-remove.c (main): Likewise.
17870         * tests/test-rename.h (test_rename): Likewise.
17871         * tests/test-renameat.c (main): Likewise.
17872         * tests/test-rmdir.h (test_rmdir_func): Likewise.
17873         * tests/test-symlink.h (test_symlink): Likewise.
17874         * tests/test-symlinkat.c (main): Likewise.
17875         * tests/test-unlink.h (test_unlink_func): Likewise.
17876         * tests/test-unlinkat.c (main): Likewise.
17877
17878         maint: make realtime library usage explicit
17879         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
17880         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
17881         * modules/settime (Link): Likewise.
17882         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
17883
17884         test-stat-time: speed up execution
17885         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
17886         warning on mingw.
17887         (nap): New helper function.
17888         (prepare_test): Use it to reduce sleep time.
17889         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
17890         execution.
17891         * modules/stat-time-tests (configure.ac): Check for usleep.
17892
17893 2009-10-09  Jim Meyering  <meyering@redhat.com>
17894
17895         selinux-h: always use getfilecon wrappers
17896         * lib/getfilecon.c: New file.
17897         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
17898         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
17899         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
17900         (fgetfilecon): Provide a stub.
17901         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
17902         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
17903         file unconditionally.
17904         When <selinux/selinux.h> is found, arrange to use wrappers.
17905         * modules/selinux-h (Files): Add getfilecon.c.
17906         (Makefile.am): Substitute include-next-related bits
17907         into the now-always-generated selinux/selinux.h file.
17908         * doc/glibc-functions/lgetfilecon.texi: New file.
17909         * doc/glibc-functions/fgetfilecon.texi: New file.
17910         * doc/glibc-functions/getfilecon.texi: New file.
17911         * doc/glibc-functions/getfilecon-desc.texi: New file.
17912         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
17913         which to pull in the new files.
17914         * MODULES.html.sh (Misc): Add selinux-h.
17915
17916 2009-10-08  Jim Meyering  <meyering@redhat.com>
17917
17918         unistd: fix comment typo
17919         * lib/unistd.in.h (euidaccess): Fix a comment typo.
17920
17921 2009-10-08  Eric Blake  <ebb9@byu.net>
17922
17923         areadlink: use SIZE_MAX consistently
17924         * modules/areadlink (Depends-on): Add stdint.
17925         * modules/areadlink-with-size (Depends-on): Likewise.
17926         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
17927         gives NULL; drop sys/types, since unistd gives size_t; and add
17928         stdint for SIZE_MAX.
17929         (SIZE_MAX): Rely on headers.
17930         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
17931         and add stdint.
17932         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
17933         (SIZE_MAX): Likewise.
17934         (INITIAL_BUF_SIZE): Turn into enum.
17935         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
17936
17937 2009-10-08  Jim Meyering  <meyering@redhat.com>
17938
17939         areadlinkat: avoid compilation failure
17940         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
17941         Fix typo in comment.
17942
17943 2009-10-07  Eric Blake  <ebb9@byu.net>
17944
17945         areadlinkat-with-size: new module
17946         * modules/areadlinkat-with-size: New module.
17947         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
17948         * lib/areadlink.h (areadlinkat): Declare it.
17949         * MODULES.html.sh (File system functions): Mention it.
17950         * modules/areadlinkat-with-size-tests: New test.
17951         * tests/test-areadlinkat-with-size.c: New file.
17952
17953         xreadlinkat: new module
17954         * modules/xreadlinkat: New module.
17955         * lib/xreadlinkat.c (xreadlinkat): New file.
17956         * lib/xreadlink.h (xreadlinkat): Declare it.
17957         * MODULES.html.sh (File system functions): Mention it.
17958
17959         areadlinkat: new module
17960         * lib/at-func.c (FUNC_FAIL): New define.
17961         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
17962         * modules/areadlinkat: New module.
17963         * lib/linkat.c (areadlinkat): Move...
17964         * lib/areadlinkat.c (areadlinkat): ...to new file.
17965         * lib/areadlink.h (areadlinkat): Declare it.
17966         * modules/linkat (Depends-on): Add areadlinkat.
17967         * MODULES.html.sh (File system functions): Mention it.
17968         * modules/areadlinkat-tests: New test.
17969         * tests/test-areadlinkat.c: New file.
17970
17971         areadlink, areadlink-with-size: add tests
17972         * modules/areadlink-tests: New test.
17973         * modules/areadlink-with-size-tests: Likewise.
17974         * tests/test-areadlink.h: New file.
17975         * tests/test-areadlink.c: Likewise.
17976         * tests/test-areadlink-with-size.c: Likewise.
17977
17978         maint: minor cleanups
17979         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
17980         _UNUSED_PARAMETER_ instead.
17981         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
17982         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
17983         * modules/linkat-tests (Files): Distribute test-link.h.
17984
17985         openat, utimens: whitespace cleanup
17986         * lib/openat.c: Prefer space throughout, rather than mix of 8
17987         spaces vs. tabs.
17988         * lib/at-func.c: Likewise.
17989         * lib/utimens.c: Likewise.
17990
17991         openat: avoid using wrong fd
17992         * lib/openat.c (openat_permissive): Reject user's fd if saving the
17993         working directory chooses same fd.
17994         * lib/at-func.c (AT_FUNC_NAME): Likewise.
17995
17996         mkdir, mkdirat: fix cygwin 1.5.x bug
17997         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
17998         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
17999         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
18000         bug.
18001         (gl_PREREQ_MKDIR): Delete unused macro.
18002         * modules/mkdir (Files): Track file rename.
18003         (configure.ac): Update macro name.
18004         * modules/openat (Depends-on): Add mkdir.
18005         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
18006
18007         mkdir, mkdirat: add tests
18008         * modules/mkdir-tests: New test.
18009         * tests/test-mkdir.h: New file.
18010         * tests/test-mkdir.c: Likewise.
18011         * tests/test-mkdirat.c: Likewise.
18012         * modules/openat-tests (Files): Add new files.
18013         (Makefile.am): Run new test.
18014
18015 2009-10-06  Eric Blake  <ebb9@byu.net>
18016
18017         doc: tweak *at function documentation
18018         * doc/posix-functions/faccessat.texi (faccessat): Mention
18019         known issue with replacement.
18020         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
18021         * doc/posix-functions/linkat.texi (linkat): Likewise.
18022         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
18023         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
18024         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
18025         * doc/posix-functions/renameat.texi (renameat): Likewise.
18026         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
18027
18028         openat: fix GNU/Hurd bug in unlinkat
18029         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
18030         broken.
18031         * doc/posix-functions/unlink.texi (unlink): Document this.
18032         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
18033
18034         fdopendir: fix GNU/Hurd bug
18035         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
18036         allowing non-directory fds.
18037         * lib/fdopendir.c (rpl_fdopendir): Work around it.
18038         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
18039         * modules/dirent (Makefile.am): Substitute it.
18040         * lib/dirent.in.h (fdopendir): Declare replacement.
18041         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
18042         * tests/test-fdopendir.c (main): Test something other than
18043         /dev/null, since on Hurd that behaves like a directory.
18044
18045         test-symlink: port to GNU/Hurd
18046         * tests/test-symlink.h (test_symlink): Relax expected errno.
18047
18048         doc: tweak more cygwin information
18049         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
18050         now compatible with glibc.
18051         * doc/posix-functions/getopt.texi (getopt): Likewise.
18052
18053         getopt-gnu: add another test
18054         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
18055         guarantee behavior relied on by m4.
18056         * tests/test-getopt.c (main): Use it.
18057         * modules/getopt-posix-tests (Depends-on): Add setenv.
18058         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
18059
18060         getopt: fix compilation on darwin
18061         * lib/getopt.in.h (includes): Leave breadcrumbs during system
18062         include.
18063         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
18064         Reported by Ludovic Courtès.
18065
18066 2009-10-06  Bruno Haible  <bruno@clisp.org>
18067
18068         * modules/size_max (Description): Discourage its use.
18069         Reported by Simon Josefsson.
18070
18071 2009-10-06  Jim Meyering  <meyering@redhat.com>
18072
18073         linkat: avoid compilation failure
18074         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
18075
18076 2009-10-05  Eric Blake  <ebb9@byu.net>
18077
18078         linkat: support Linux 2.6.17
18079         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
18080         linkat on Linux, but allow cache variable override.
18081         * lib/linkat.c (rpl_linkat): Define override.
18082         * modules/linkat (Depends-on): Add symlinkat.
18083         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
18084         * modules/unistd (Makefile.am): Substitute it.
18085         * lib/unistd.in.h (linkat): Declare replacement.
18086         Reported by Pádraig Brady.
18087
18088         quotearg: port test to systems with C.UTF-8 locale
18089         * tests/test-quotearg.c (struct result_strings): Add another
18090         member, differentiating between C.ASCII and C.UTF-8 handling.
18091         (compare_strings): Add parameter.
18092         (main): Adjust all callers.
18093
18094         getopt: avoid clash with FreeBSD _getopt_internal
18095         * lib/getopt.in.h (_getopt_internal): Override the name.
18096         * lib/getopt_int.h (includes): Pick up any overrides.
18097         Reported by Reuben Thomas.
18098
18099         hash: allow C89 compilation
18100         * lib/hash.c (check_tuning): Move declaration before statement.
18101         Reported by Reuben Thomas.
18102
18103 2009-10-05  Karl Berry  <karl@gnu.org>
18104
18105         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
18106
18107 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
18108             Bruno Haible  <bruno@clisp.org>
18109
18110         * lib/uname.c (uname): Use a table-driven algorithm to compute
18111         Windows NT versions.
18112
18113 2009-10-04  Bruno Haible  <bruno@clisp.org>
18114
18115         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
18116         program_invocation_short_name.
18117         * modules/progname (configure.ac): Test for presence of
18118         program_invocation_short_name.
18119         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
18120
18121 2009-10-04  Bruno Haible  <bruno@clisp.org>
18122
18123         * lib/progname.c (set_program_name): Fix comment.
18124         Reported by Jim Meyering.
18125
18126 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
18127             Bruno Haible  <bruno@clisp.org>
18128
18129         * lib/uname.c: Include <string.h>.
18130         (uname): Do only one call to GetVersionEx in the common case.
18131
18132 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
18133             Bruno Haible  <bruno@clisp.org>
18134
18135         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
18136         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
18137         (uname): Add support for Windows CE and various non-x86 CPU types.
18138
18139 2009-10-03  Bruno Haible  <bruno@clisp.org>
18140
18141         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
18142         invocation to tests/configure.ac.
18143         Reported by Ian Beckwith <ianb@erislabs.net>.
18144
18145 2009-10-02  Eric Blake  <ebb9@byu.net>
18146
18147         fchdir: avoid compiler warning
18148         * lib/fchdir.c (canonicalize_file_name)
18149         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
18150
18151         test-open: support mingw errno values
18152         * tests/test-open.h (test_open): Relax test.
18153         * tests/test-fopen.h (test_fopen): Likewise.
18154         * tests/test-openat-safer.c (main): Likewise.
18155
18156         open: fix opening directory on mingw
18157         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
18158
18159         test-open: on GNU/Hurd, /dev/null is a directory
18160         * tests/test-fopen.h (main): Rename...
18161         (test_fopen): ...to this.  Use a guaranteed non-directory when
18162         confirming open behavior on trailing slash.
18163         * tests/test-openat-safer.c (main): Likewise.
18164         * tests/test-open.h (main): Likewise....
18165         (test_open): ...to this.
18166         * tests/test-fopen.c (main): Adjust caller.
18167         * tests/test-fopen-safer.c (main): Likewise.
18168         * tests/test-open.c (main): Likewise.
18169         * tests/test-fcntl-safer.c (main): Likewise.
18170         Reported by Samuel Thibault.
18171
18172         rename, fchdir: don't ignore chdir failure
18173         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
18174         * lib/rename.c (rpl_rename) [W32]: Likewise.
18175         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
18176         an empty destination directory if source cannot be renamed,
18177         although there is still possibility for failure.
18178         * doc/posix-functions/rename.texi (rename): Document the race.
18179         Reported by Jim Meyering.
18180
18181         maint: cleanup whitespace in recent commits
18182         * lib/rename.c (rpl_rename): Remove tabs.
18183         * tests/test-link.h (test_link): Likewise.
18184         * lib/fchdir.c (get_name): Likewise.
18185         Reported by Jim Meyering.
18186
18187 2009-10-02  Ben Pfaff  <blp@gnu.org>
18188
18189         relocatable-prog-wrapper: Add missing dependency on
18190         double-slash-root.
18191         * modules/relocatable-prog-wrapper: Add dependency.
18192         Reported by Ian Beckwith <ianb@erislabs.net>.
18193
18194 2009-10-02  Eric Blake  <ebb9@byu.net>
18195
18196         renameat: fix Solaris bugs
18197         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
18198         needed fixing.
18199         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
18200         * modules/stdio (Makefile.am): Substitute it.
18201         * lib/stdio.in.h (renameat): Declare replacement.
18202         * lib/renameat.c (rpl_renameat): Implement fix.
18203
18204         renameat: new module
18205         * modules/renameat: New file.
18206         * lib/renameat.c (renameat): Likewise.
18207         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
18208         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
18209         * modules/stdio (Makefile.am): Substitute them.
18210         * lib/stdio.in.h (renameat): Declare it.
18211         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
18212         * doc/posix-functions/renameat.texi (renameat): Likewise.
18213         * modules/renameat-tests: New test.
18214         * tests/test-renameat.c: Likewise.
18215
18216         rename: fix mingw bugs
18217         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
18218         directory overwrite bugs.
18219
18220         rename: fix another cygwin 1.5 bug
18221         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
18222         checks.
18223         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
18224         unnecessary cygwin workarounds.  Also work around bug with moving
18225         full directory onto an empty one.
18226         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
18227
18228         rename-dest-slash: merge into rename module
18229         * modules/rename-dest-slash (Status): Mark obsolete.
18230         (Depends-on): Add rename.
18231         (Files): Let rename do it all.
18232         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
18233         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
18234         * m4/rename-dest-slash.m4: ...so this file can be deleted.
18235         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
18236         * lib/rename.c (rpl_rename): Update comments.
18237
18238         rename: fix cygwin 1.5.x bugs
18239         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
18240         * lib/rename.c (rpl_rename): Work around them.
18241         * modules/rename (Depends-on): Add same-inode.
18242
18243         rename: fix Solaris 10 bug
18244         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
18245         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
18246         was the only bug.
18247
18248         rename: fix Solaris 9 bug
18249         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
18250         on non-directory.  Avoid calling exit.
18251         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
18252         strdup.
18253         * modules/rename-tests (Depends-on): Drop lstat.
18254         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
18255         (gl_PREREQ_RENAME): Delete unused macro.
18256
18257         rename-dest-slash: fix NetBSD bug
18258         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
18259         links.
18260         * modules/rename-dest-slash (Depends-on): Add same-inode.
18261
18262         rename-tests: new test, exposes several platform bugs
18263         * modules/rename-tests: New file.
18264         * tests/test-rename.h: Likewise.
18265         * tests/test-rename.c: Likewise.
18266         * doc/posix-functions/rename.texi (rename): Improve documentation,
18267         including bugs that will eventually be fixed in gnulib.
18268
18269 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
18270
18271         * lib/uname.c: Include <stdlib.h>
18272         (uname): Assume version info is available.
18273
18274 2009-10-02  Jim Meyering  <meyering@redhat.com>
18275
18276         gnu-web-doc-update: correct --help output
18277         * build-aux/gnu-web-doc-update: Make --help output relevant.
18278
18279         gnu-web-doc-update: add standard options
18280         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
18281
18282         gnu-web-doc-update: New module.
18283         Use this script to automatically update the on-line web documentation
18284         for your GNU project at http://www.gnu.org/software/$pkg/manual/
18285         * modules/gnu-web-doc-update: New file, from coreutils.
18286         * build-aux/gnu-web-doc-update: New script.
18287
18288 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
18289
18290         link: LoadLibrary is not needed.
18291         * lib/link.c: Use GetModuleHandle.
18292
18293 2009-10-01  Eric Blake  <ebb9@byu.net>
18294
18295         getopt: bump serial number
18296         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
18297         change.
18298
18299         tests: tighten link, rmdir, and remove tests
18300         * tests/test-link.h (includes): No need to use <config.h> here.
18301         Clean up if directory hard link was created, otherwise test for
18302         trailing '.'.
18303         * tests/test-linkat.c (main): Simplify.
18304         * tests/test-remove.c (main): Enhance test for trailing '.'.
18305         * tests/test-rmdir.h (test_rmdir_func): Likewise.
18306
18307 2009-10-01  Jim Meyering  <meyering@redhat.com>
18308
18309         maint.mk: requiring "make major" was annoying, for a "minor" release.
18310         What is intended is "stable", to contrast with alpha and beta,
18311         so require "make stable", not "make major".
18312         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
18313         (get_tool_versions): Likewise.
18314         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
18315
18316 2009-09-30  Ben Pfaff  <blp@gnu.org>
18317
18318         Fix broken build of replacement for Windows tmpfile().
18319         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
18320         flags argument added along with the 'mkostemp' module.
18321
18322 2009-09-28  Bruno Haible  <bruno@clisp.org>
18323
18324         Avoid identifier clash with POSIX function 'remove' defined as a macro.
18325         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
18326         to 'remove_elt'.
18327         (gl_list_remove): Update.
18328         * lib/gl_list.c (gl_list_remove): Update.
18329         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
18330         to 'remove_elt'.
18331         (gl_oset_remove): Update.
18332         * lib/gl_list.c (gl_oset_remove): Update.
18333         Reported by Eric Blake.
18334
18335 2009-09-28  Eric Blake  <ebb9@byu.net>
18336
18337         doc: mention yet more cygwin 1.7 status
18338         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
18339         cygwin.
18340         * doc/glibc-functions/execvpe.texi (execvpe): New file.
18341         * doc/gnulib.texi (Glibc unistd.h): Mention it.
18342
18343         argp: fix test failure
18344         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
18345         that are not upper-case.  Pass correct range to tolower.
18346
18347 2009-09-27  Jim Meyering  <meyering@redhat.com>
18348
18349         test-yesno: work around sparc-dash here-document infelicity
18350         Without this change, the literal \177 byte in a here document
18351         would make dash 0.5.5.1-3 access uninitialized memory.
18352         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
18353         Instead, use a marker, "@", and filter through tr to create the desired
18354         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
18355
18356 2009-09-27  Bruno Haible  <bruno@clisp.org>
18357
18358         Disable untested support for new flavours of ACLs on AIX.
18359         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
18360         progress.
18361         * lib/set-mode-acl.c (qset_acl): Likewise.
18362
18363 2008-12-07  Bruno Haible  <bruno@clisp.org>
18364
18365         Add support for new flavours of ACLs on AIX. (Untested.)
18366         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
18367         (file_has_acl): Add support for newer AIX.
18368         * lib/set-mode-acl.c (qset_acl): Likewise.
18369         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
18370         Rainer Tammer <tammer@tammer.net>.
18371
18372 2009-09-26  Eric Blake  <ebb9@byu.net>
18373
18374         argp: fix compilation of getopt
18375         * lib/getopt.in.h (includes): Use different guard than glibc.
18376         Reported by Sergey Poznyakoff.
18377
18378         doc: mention more cygwin 1.7 status
18379         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
18380         bug.
18381         * doc/posix-functions/execl.texi (execl): Likewise.
18382         * doc/posix-functions/execle.texi (execle): Likewise.
18383         * doc/posix-functions/execlp.texi (execlp): Likewise.
18384         * doc/posix-functions/execv.texi (execv): Likewise.
18385         * doc/posix-functions/execve.texi (execve): Likewise.
18386         * doc/posix-functions/execvp.texi (execvp): Likewise.
18387         * doc/glibc-functions/canonicalize_file_name.texi
18388         (canonicalize_file_name): Cygwin 1.7 now provides this.
18389         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
18390         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
18391         on AT_SYMLINK_NOFOLLOW.
18392
18393 2009-09-24  Eric Blake  <ebb9@byu.net>
18394
18395         test-linkat: make test more robust
18396         * tests/test-linkat.c (main): Avoid collision with EEXIST.
18397
18398         getopt: fix inclusion guards for cygwin
18399         * modules/getopt-posix (Depends-on): Add include-next.
18400         (Makefile.am): Substitute more items in replacement header.
18401         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
18402         <getopt.h>.
18403         * lib/getopt.in.h (includes): Use split inclusion guard, and
18404         prefer <getopt.h> over include <unistd.h> when one is present.
18405         (option): Also override name of 'struct option'.
18406
18407         same-inode: revert prior change; it is not yet ready
18408         * NEWS: Undo mention of this change.
18409         * lib/same-inode.h (same-inode.h): Undo tri-state change.
18410         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
18411         * lib/cycle-check.c (cycle_check): Likewise.
18412         * lib/same.c (same_name): Likewise.
18413         * lib/at-func2.c (at_func2): Likewise.
18414
18415 2009-09-23  Eric Blake  <ebb9@byu.net>
18416
18417         linkat: new module
18418         * modules/linkat: New file.
18419         * lib/at-func2.c (at_func2): Likewise.
18420         * lib/linkat.c (linkat): Likewise.
18421         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
18422         * lib/openat-priv.h (at_func2): Add declaration.
18423         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
18424         * modules/unistd (Makefile.am): Substitute them.
18425         * lib/unistd.in.h (linkat): Declare it.
18426         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
18427         * doc/posix-functions/linkat.texi (linkat): Likewise.
18428         * doc/posix-functions/link.texi (link): Tweak wording.
18429         * tests/test-link.c (main): Move guts...
18430         * tests/test-link.h (test_link): ...into new file.
18431         * modules/linkat-tests: New test.
18432         * tests/test-linkat.c: Likewise.
18433         * modules/link-tests (Files): Ship new file.
18434         (Depends-on): Add stdbool.
18435
18436         dirname: add library-safe mdir_name
18437         * lib/dirname.h (mdir_name): New prototype.
18438         * lib/dirname.c (dir_name): Move guts...
18439         (mdir_name): ...to new function that avoids xalloc_die.
18440
18441         fchdir: another mingw fix
18442         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
18443         * lib/fchdir.c (get_name): New helper method; skips canonicalize
18444         on mingw (where it has not yet been ported), and make it optional
18445         elsewhere.
18446         (_gl_register_fd): Use it.
18447
18448         same-inode: make SAME_INODE tri-state, to port to mingw
18449         * NEWS: Mention this change.
18450         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
18451         st_ino always being 0.
18452         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
18453         * lib/cycle-check.c (cycle_check): Likewise.
18454         * lib/same.c (same_name): Likewise.
18455
18456         lstat: avoid mingw compilation error
18457         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
18458         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
18459         lstat ourselves.
18460         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
18461         was adequate.
18462         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
18463         the checks for lstat.
18464         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
18465
18466         link: fix test failure on Solaris 9
18467         * lib/link.c (rpl_link): Don't assume link will catch bogus
18468         trailing slash on source.
18469
18470         test-symlinkat: enhance test
18471         * tests/test-readlink.c (main): Move guts...
18472         * tests/test-readlink.h (test_readlink): ...into new file.
18473         * tests/test-symlink.c (main): Move guts...
18474         * tests/test-symlink.h (test_symlink): ...into new file.
18475         * tests/test-symlinkat.c (main): Use new files for further
18476         coverage.
18477         (do_symlink, do_readlink): New helper functions.
18478         * modules/symlink-tests (Files): Ship new file.
18479         (Depends-on): Add stdbool.
18480         * modules/readlink-tests (Files): Ship new file.
18481         (Depends-on): Add stdbool.
18482         * modules/symlinkat-tests (Files): Use new files.
18483
18484 2009-09-23  Eric Blake  <ebb9@byu.net>
18485
18486         readlink: document portability issue with symlink length
18487         * doc/posix-functions/lstat.texi (lstat): Mention that some file
18488         systems have bogus st_size on symlinks, and mention the
18489         areadlink-with-size module.
18490         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
18491         * doc/posix-functions/readlink.texi (readlink): Mention the
18492         areadlink module, and ERANGE failure.
18493         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
18494         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
18495
18496         readlink: fix Solaris 9 bug with trailing slash
18497         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
18498         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
18499         * doc/posix-functions/readlink.texi (readlink): Document this.
18500         * modules/readlink-tests: New test.
18501         * tests/test-readlink.c: Likewise.
18502
18503         readlink: fix cygwin 1.5.x bug with return type
18504         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
18505         * lib/unistd.in.h (readlink): Use ssize_t.
18506         * lib/readlink.c (readlink): Likewise.
18507         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
18508         * modules/unistd (Makefile.am): Substitute it.
18509         * lib/unistd.in.h (readlink): Declare replacement.
18510         * doc/posix-functions/readlink.texi (readlink): Document this.
18511
18512         symlink: use throughout gnulib
18513         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
18514         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
18515         symlink is not used.
18516         * modules/symlinkat (Depends-on): Add symlink.
18517         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
18518         * modules/canonicalize-tests (Depends-on): Likewise.
18519         * modules/lstat-tests (Depends-on): Likewise.
18520         * modules/openat-tests (Depends-on): Likewise.
18521         * modules/remove-tests (Depends-on): Likewise.
18522         * modules/rmdir-tests (Depends-on): Likewise.
18523         * modules/unlink-tests (Depends-on): Likewise.
18524         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
18525         * tests/test-canonicalize.c (symlink): Likewise.
18526         * tests/test-fstatat.c (symlink): Likewise.
18527         * tests/test-lstat.c (symlink): Likewise.
18528         * tests/test-remove.c (symlink): Likewise.
18529         * tests/test-rmdir.c (symlink): Likewise.
18530         * tests/test-unlink.c (symlink): Likewise.
18531         * tests/test-unlinkat.c (symlink): Likewise.
18532
18533         symlink: new module, for Solaris 9 bug
18534         * modules/symlink: New file.
18535         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
18536         * lib/symlink.c: Likewise.
18537         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
18538         * modules/unistd (Makefile.am): Substitute them.
18539         * lib/unistd.in.h (symlink): Declare replacement.
18540         * MODULES.html.sh (File system functions): Mention it.
18541         * doc/posix-functions/symlink.texi (symlink): Likewise.
18542         * modules/symlink-tests: New test.
18543         * tests/test-symlink.c: Likewise.
18544
18545 2009-09-23  Bruno Haible  <bruno@clisp.org>
18546
18547         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
18548         when needed.
18549         Test case: gnulib-tool --import --with-tests atexit inttypes.
18550         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
18551
18552 2009-09-23  Bruno Haible  <bruno@clisp.org>
18553
18554         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
18555         subcommand, not in a subshell.
18556
18557 2009-09-22  Eric Blake  <ebb9@byu.net>
18558
18559         unistd: sort replacement declarations
18560         * lib/unistd.in.h: Sort declarations.
18561
18562         open, openat: minor optimization
18563         * lib/open.c (open): If open succeeded, len is non-zero.
18564         * lib/openat.c (rpl_openat): Likewise.
18565
18566         link-follow: ensure correct result
18567         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
18568         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
18569         distinguish between possible failures.
18570
18571 2009-09-21  Eric Blake  <ebb9@byu.net>
18572
18573         fts: avoid compiler warning
18574         * lib/fts.c (dirent_inode_sort_may_be_useful)
18575         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
18576
18577 2009-09-19  Bruno Haible  <bruno@clisp.org>
18578
18579         * lib/progreloc.c (canonicalize_file_name): New declaration.
18580
18581 2009-09-19  Eric Blake  <ebb9@byu.net>
18582
18583         link: fix quoting
18584         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
18585
18586         openat: fix openat bugs on Solaris 9
18587         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
18588         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
18589         * modules/openat (Depends-on): Add open.
18590         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
18591         * modules/fcntl-h (Makefile.am): Substitute it.
18592         * lib/fcntl.in.h (openat): Declare replacement.
18593         * doc/posix-functions/openat.texi (openat): Document this.
18594
18595         openat: move fstatat and unlinkat into correct files
18596         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
18597         compiled.
18598         * lib/openat.c (fstatat, unlinkat): Move...
18599         * lib/fstatat.c (fstatat): ...into correct files.
18600         * lib/unlinkat.c (unlinkat): Likewise.
18601
18602         openat: fix unlinkat bugs on Solaris 9
18603         * lib/unlinkat.c (unlinkat): New file.
18604         * modules/openat (Depends-on): Add unlink.
18605         (Files): Distribute it.
18606         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
18607         trailing slash behavior is broken.
18608         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
18609         * modules/unistd (Makefile.am): Substitute it.
18610         * lib/unistd.in.h (unlinkat): Declare replacement.
18611         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
18612
18613         openat: fix fstatat bugs on Solaris 9
18614         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
18615         stat.
18616         * doc/posix-functions/fstatat.texi (fstatat): Document this.
18617
18618         test-unlinkat: enhance test, to expose Solaris 9 bug
18619         * tests/test-unlink.c (main): Factor guts...
18620         * tests/test-unlink.h (test_rmdir_func): ...into new file.
18621         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
18622         * tests/test-rmdir.c (main): Adjust caller.
18623         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
18624         (unlinker): New helper function.
18625         (rmdirat): Enhance check.
18626         * modules/rmdir-tests (Depends-on): Add stdbool.
18627         * modules/unlink-tests (Depends-on): Likewise.
18628         (Files): Add test-unlink.h.
18629         * modules/openat-tests (Files): Likewise.
18630         (Depends-on): Add unlinkdir.
18631
18632         test-fstatat: new test, to expose Solaris 9 bugs
18633         * tests/test-stat.c (main): Factor guts...
18634         * tests/test-stat.h (test_stat_func): ...into new file.
18635         * tests/test-lstat.c (main): Factor guts...
18636         * tests/test-lstat.h (test_lstat_func): ...into new file.
18637         * tests/test-fstatat.c: New file.
18638         * modules/stat-tests (Files): Add test-stat.h.
18639         * modules/lstat-tests (Files): Add test-lstat.h.
18640         (Depends-on): Add stdbool.
18641         * modules/openat-tests (Depends-on): Add pathmax.
18642         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
18643         (Makefile.am): Run new test.
18644
18645         remove: new module, for mingw and Solaris 9 bugs
18646         * modules/remove: New file.
18647         * lib/remove.c: Likewise.
18648         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
18649         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
18650         * modules/stdio (Makefile.am): Use them.
18651         * lib/stdio.in.h (remove): Declare replacement.
18652         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
18653         * doc/posix-functions/remove.texi (remove): Likewise.
18654         * modules/remove-tests: New test.
18655         * tests/test-remove.c: Likewise.
18656
18657         unlink: new module, for Solaris 9 bug
18658         * modules/unlink: New file.
18659         * lib/unlink.c: Likewise.
18660         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
18661         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
18662         * modules/unistd (Makefile.am): Use them.
18663         * lib/unistd.in.h (stat): Declare replacement.
18664         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
18665         * doc/posix-functions/unlink.texi (unlink): Likewise.
18666         * modules/unlink-tests: New test.
18667         * tests/test-unlink.c: Likewise.
18668
18669         lstat: fix Solaris 9 bug
18670         * lib/lstat.c (lstat): Also check for trailing slash on
18671         non-symlink, non-directories.  Use stat module to simplify logic.
18672         * doc/posix-functions/lstat.texi (lstat): Document it.
18673         * modules/lstat-tests (Depends-on): Add errno, same-inode.
18674         (configure.ac): Check for symlink.
18675         * tests/test-lstat.c (main): Add more tests.
18676
18677         stat: add as dependency to other modules
18678         * modules/chown (Depends-on): Add stat.
18679         * modules/euidaccess (Depends-on): Likewise.
18680         * modules/fchdir (Depends-on): Likewise.
18681         * modules/isdir (Depends-on): Likewise.
18682         * modules/link (Depends-on): Likewise.
18683         * modules/lstat (Depends-on): Likewise.
18684         * modules/mkdir-p (Depends-on): Likewise.
18685         * modules/modechange (Depends-on): Likewise.
18686         * modules/open (Depends-on): Likewise.
18687         * modules/readlink (Depends-on): Likewise.
18688         * modules/same (Depends-on): Likewise.
18689
18690         stat: fix Solaris 9 bug
18691         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
18692         slash.
18693         * lib/stat.c (rpl_stat): Work around it.
18694         * doc/posix-functions/stat.texi (stat): Update documentation.
18695
18696         stat: new module, for mingw bug
18697         * modules/stat: New file.
18698         * lib/stat.c: Likewise.
18699         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
18700         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
18701         * modules/sys_stat (Makefile.am): Use them.
18702         * lib/sys_stat.in.h (stat): Declare replacement.
18703         * lib/openat.c (fstatat): Deal with lstat and stat being function
18704         macros.
18705         * modules/openat (Depends-on): Add inline.
18706         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
18707         * doc/posix-functions/stat.texi (stat): Likewise.
18708         * modules/stat-tests: New test.
18709         * tests/test-stat.c: Likewise.
18710
18711 2009-09-19  Jim Meyering  <meyering@redhat.com>
18712
18713         syntax-check: detect unnecessary inclusion of canonicalize.h
18714         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
18715
18716 2009-09-19  Eric Blake  <ebb9@byu.net>
18717
18718         canonicalize-lgpl: adjust clients to use correct header
18719         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
18720         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
18721         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
18722         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
18723         * lib/progreloc.c (includes): Likewise.
18724
18725 2009-09-19  Jim Meyering  <meyering@redhat.com>
18726
18727         test-posixtm.c: correct a comment
18728         * tests/test-posixtm.c: Correct first-line comment.
18729         Spotted by Eric Blake.
18730
18731 2009-09-16  Jim Meyering  <meyering@redhat.com>
18732
18733         posixtm-tests: make T const-correct; add a test case
18734         * tests/test-posixtm.c (T): Declare const.
18735         Add a test for -(2^31+1).
18736         Remove useless can-succeed-only-in-2002 test.
18737
18738         posixtm-tests: adjust the sole failing test
18739         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
18740         expected output matches what mktime now produces.  Cross-checked via
18741         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
18742
18743         posixtm: move #ifdef'd tests into a new module
18744         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
18745         * tests/test-posixtm.c: ... this new file.
18746         * modules/posixtm-tests: New module.
18747
18748 2009-09-19  Eric Blake  <ebb9@byu.net>
18749
18750         openat: simplify use of at-func.c
18751         * lib/at-func.c (includes): Include prerequisites here, to
18752         simplify requirements on client files.
18753         * lib/openat-priv.h: Add double-inclusion guard.
18754         * lib/faccessat.c (includes): Simplify.
18755         * lib/fchmodat.c (includes): Likewise.
18756         * lib/fchownat.c (includes): Likewise.
18757         * lib/mkdirat.c (includes): Likewise.
18758         * lib/mkfifoat.c (includes): Likewise.
18759         * lib/symlinkat.c (includes): Likewise.
18760
18761         openat: allow return of fd 0
18762         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
18763         * modules/save-cwd (Depends-on): Replace fcntl-safer with
18764         unistd-safer.
18765         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
18766         <fcntl.h>; this module does not leak fds.
18767         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
18768         must be allowed to return 0, leaving openat_safer to add the
18769         safety.
18770         (openat_permissive): Avoid writing to just-opened fd 2 if
18771         restoring the current directory fails.
18772         * lib/openat-die.c (openat_restore_fail): Add comment.
18773         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
18774         (save_cwd): Guarantee safe fd, but without use of open_safer.
18775         * tests/test-openat.c: New test.
18776         * modules/openat-tests (Files, Makefile.am): Distribute and build
18777         new file.
18778
18779         relocatable-prog-wrapper: fix build
18780         * modules/relocatable-prog-wrapper (Files): Update name of
18781         canonicalize m4 file, broken on 2009-09-17.
18782         Reported by emad hajjar <aleppos@hotmail.com>.
18783
18784 2009-09-19  Bruno Haible  <bruno@clisp.org>
18785
18786         * lib/safe-alloc.h: Use the standard header with GPL copyright.
18787         * lib/safe-alloc.c: Likewise.
18788         Reported by Ian Beckwith <ianb@erislabs.net>.
18789
18790 2009-09-18  Bruno Haible  <bruno@clisp.org>
18791
18792         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
18793         Reported by <erobles@sensacd.com.mx>.
18794
18795 2009-09-17  Eric Blake  <ebb9@byu.net>
18796
18797         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
18798         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
18799         slashes when checking if last component is missing.
18800         * tests/test-canonicalize.c (main): Test this.
18801
18802         canonicalize, canonicalize-lgpl: honor // if distinct from /
18803         * modules/canonicalize (Files): Add double-slash-root.m4.
18804         * modules/canonicalize-lgpl (Files): Likewise.
18805         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
18806         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
18807         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
18808         fallback definition.
18809         (canonicalize_filename_mode): Use it to protect //.
18810         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
18811         (__realpath): Likewise.
18812         * tests/test-canonicalize.c (main): Test this.
18813         * tests/test-canonicalize-lgpl.c (main): Likewise.
18814         * modules/canonicalize-tests (Depends-on): Add same-inode.
18815         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
18816
18817         canonicalize-lgpl: fix glibc bug with trailing slash
18818         * m4/canonicalize-lgpl.m4: Move contents...
18819         * m4/canonicalize.m4: ...here.
18820         (gl_CANONICALIZE_LGPL): Factor realpath check...
18821         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
18822         glibc 2.3.5 bug, fixed 2005-04-27.
18823         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
18824         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
18825         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
18826         * modules/canonicalize-lgpl (Files): Manage file rename.
18827         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
18828         * modules/stdlib (Makefile.am): Substitute witness.
18829         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
18830         is needed.
18831         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
18832         replacement is required.
18833         * lib/canonicalize.c (canonicalize_file_name): Likewise.
18834         * doc/glibc-functions/canonicalize_file_name.texi
18835         (canonicalize_file_name): Document this.
18836         * doc/posix-functions/realpath.texi (realpath): Likewise.
18837
18838         canonicalize-lgpl: reject non-directory with trailing slash
18839         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
18840         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
18841         catches failures in glibc 2.3.5.
18842         * tests/test-canonicalize.c (main): Likewise.
18843
18844         canonicalize-lgpl: use native realpath if it works
18845         * lib/canonicalize-lgpl.c (realpath): Guard with
18846         FUNC_REALPATH_WORKS.
18847         * lib/stdlib.in.h (realpath): Make declaration optional based on
18848         HAVE_REALPATH.
18849         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
18850         native realpath works.
18851         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
18852         * modules/stdlib (Makefile.am): Substitute witness.
18853
18854         canonicalize, canonicalize-lgpl: use <stdlib.h>
18855         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
18856         (Include): Mention <stdlib.h>.
18857         (configure.ac): Mention functions we provide.
18858         * modules/canonicalize (configure.ac): Likewise.
18859         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
18860         realpath if canonicalize_file_name is missing.
18861         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
18862         * modules/stdlib (Makefile.am): Substitute witnesses.
18863         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
18864         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
18865         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
18866         * NEWS: Document this.
18867         * doc/glibc-functions/canonicalize_file_name.texi
18868         (canonicalize_file_name): Likewise.
18869         * doc/posix-functions/realpath.texi (realpath): Likewise.
18870         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
18871
18872         test-canonicalize: consolidate into single C program
18873         * tests/test-canonicalize.sh: Delete; move setup into...
18874         * tests/test-canonicalize.c (main): ...the program, making it
18875         easier to run in debugger.  Add some tests.
18876         * modules/canonicalize-tests (Files): Remove unused file.
18877         (Depends-on): Add progname.
18878         (configure.ac, Makefile.am): Simplify.
18879
18880         test-canonicalize-lgpl: consolidate into single C program
18881         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
18882         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
18883         easier to run in debugger.  Add some tests.
18884         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
18885         (configure.ac, Makefile.am): Simplify.
18886
18887         canonicalize: avoid resolvepath
18888         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
18889         unnecessary checks.
18890         * lib/canonicalize.c (includes): Simplify.
18891         (canonicalize_file_name): Drop resolvepath implementation.
18892         * modules/canonicalize (Depends-on): Drop filenamecat.
18893
18894         canonicalize: don't lose errno
18895         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
18896         over calls to free.
18897
18898         canonicalize: simplify errno handling
18899         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
18900         assignment.
18901
18902         canonicalize, canonicalize-lgpl: update module dependencies
18903         * modules/canonicalize (Depends-on): Add extensions, lstat,
18904         pathmax, stdlib.
18905         (Files): Drop pathmax.h.
18906         (configure.ac): Adjust macro name.
18907         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
18908         lstat, stdlib, sys_stat.
18909         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
18910         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
18911         extensions.
18912         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
18913         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
18914         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
18915         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
18916         declaration, if available.
18917         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
18918         we can rely on the readlink module.
18919         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
18920         (includes): Use <unistd.h> unconditionally.
18921
18922 2009-09-17  Eric Blake  <ebb9@byu.net>
18923
18924         maint: make Include sections of modules consistent
18925         * modules/alloca: Use only header name; no need to list #include.
18926         * modules/alloca-opt: Likewise.
18927         * modules/arpa_inet: Likewise.
18928         * modules/canon-host: Likewise.
18929         * modules/configmake: Likewise.
18930         * modules/dirent: Likewise.
18931         * modules/eealloc: Likewise.
18932         * modules/environ: Likewise.
18933         * modules/fchdir: Likewise.
18934         * modules/fcntl: Likewise.
18935         * modules/fcntl-h: Likewise.
18936         * modules/gethrxtime: Likewise.
18937         * modules/gettime: Likewise.
18938         * modules/ignore-value: Likewise.
18939         * modules/inet_ntop: Likewise.
18940         * modules/inet_pton: Likewise.
18941         * modules/inttypes: Likewise.
18942         * modules/isnand-nolibm: Likewise.
18943         * modules/isnanf-nolibm: Likewise.
18944         * modules/mbchar: Likewise.
18945         * modules/mbfile: Likewise.
18946         * modules/mbiter: Likewise.
18947         * modules/mbuiter: Likewise.
18948         * modules/netdb: Likewise.
18949         * modules/netinet_in: Likewise.
18950         * modules/nproc: Likewise.
18951         * modules/pagealign_alloc: Likewise.
18952         * modules/poll: Likewise.
18953         * modules/printf-frexp: Likewise.
18954         * modules/pthread: Likewise.
18955         * modules/putenv: Likewise.
18956         * modules/random_r: Likewise.
18957         * modules/relocatable-prog: Likewise.
18958         * modules/search: Likewise.
18959         * modules/select: Likewise.
18960         * modules/selinux-h: Likewise.
18961         * modules/settime: Likewise.
18962         * modules/signal: Likewise.
18963         * modules/size_max: Likewise.
18964         * modules/socklen: Likewise.
18965         * modules/ssize_t: Likewise.
18966         * modules/stdarg: Likewise.
18967         * modules/stdbool: Likewise.
18968         * modules/stddef: Likewise.
18969         * modules/stdint: Likewise.
18970         * modules/stdio: Likewise.
18971         * modules/stdlib: Likewise.
18972         * modules/string: Likewise.
18973         * modules/strings: Likewise.
18974         * modules/sys_file: Likewise.
18975         * modules/sys_ioctl: Likewise.
18976         * modules/sys_select: Likewise.
18977         * modules/sys_socket: Likewise.
18978         * modules/sys_stat: Likewise.
18979         * modules/sys_time: Likewise.
18980         * modules/sys_times: Likewise.
18981         * modules/sys_utsname: Likewise.
18982         * modules/sys_wait: Likewise.
18983         * modules/sysexits: Likewise.
18984         * modules/time: Likewise.
18985         * modules/times: Likewise.
18986         * modules/tmpfile: Likewise.
18987         * modules/trim: Likewise.
18988         * modules/unistd: Likewise.
18989         * modules/wchar: Likewise.
18990         * modules/wctype: Likewise.
18991
18992 2009-09-17  Bruno Haible  <bruno@clisp.org>
18993
18994         Make getdate.y compile on QNX and NetBSD 5 / i386.
18995         * m4/getdate.m4 (gl_GETDATE): Conditionally define
18996         TIME_T_FITS_IN_LONG_INT.
18997         * lib/getdate.y (long_time_t): New type.
18998         (relative_time): Change type of 'seconds' field to long_time_t.
18999         (get_date): Update types of local variables. Check against overflow
19000         during conversion from long_time_t to time_t.
19001         Reported by Matt Kraai <kraai@ftbfs.org>
19002         and Hasso Tepper <hasso@netbsd.org>.
19003
19004 2009-09-17  Bruno Haible  <bruno@clisp.org>
19005
19006         * modules/COPYING: Update copyright years.
19007         * modules/README: Likeiwse.
19008         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
19009         Reported by Ian Beckwith <ianb@erislabs.net>.
19010
19011 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
19012
19013         * users.txt: Update references for gnuit package.
19014
19015 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
19016
19017         * m4/getdelim.m4: Fix typo in copyright line.
19018
19019 2009-09-17  Bruno Haible  <bruno@clisp.org>
19020
19021         * lib/atoll.c: Use the standard header with GPL copyright.
19022         * lib/argz.in.h: Likewise.
19023         * lib/glob.c: Likewise.
19024         * lib/glob-libc.h: Likewise.
19025         * lib/random_r.c: Likewise.
19026         * lib/siglist.h: Likewise.
19027         * lib/strsignal.c: Likewise.
19028         Reported by Ian Beckwith <ianb@erislabs.net>.
19029
19030 2009-09-17  Eric Blake  <ebb9@byu.net>
19031
19032         rmdir: ensure correct dependency order
19033         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
19034
19035 2009-09-17  Bruno Haible  <bruno@clisp.org>
19036
19037         Disable assertion that fails on NetBSD 5 / i386.
19038         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
19039         Reported by Sam Steingold <sds@gnu.org>
19040         and Hasso Tepper <hasso@netbsd.org>.
19041
19042 2009-09-16  Eric Blake  <ebb9@byu.net>
19043
19044         unlinkdir: port to mingw
19045         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
19046         on which no one can unlink a directory.
19047
19048         stdlib: sort witness names
19049         * modules/stdlib (Makefile.am): Sort replacements.
19050         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
19051         * lib/stdlib.in.h: Likewise.
19052
19053         parse-duration-tests: avoid link failure
19054         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
19055         LIBINTL.
19056         Reported by Tom G. Christensen.
19057
19058         openat-tests: ensure unlinkat behaves like rmdir
19059         * tests/test-rmdir.c (main): Factor guts...
19060         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
19061         * modules/rmdir-tests (Files): Ship new file.
19062         * modules/openat-tests: New test.
19063         * tests/test-unlinkat.c: Likewise.
19064
19065         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
19066         * modules/rmdir-errno (Status, Notice): Now obsolete.
19067
19068         rmdir: work around cygwin 1.5.x and mingw bugs
19069         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
19070         * lib/rmdir.c (rmdir): Work around it.
19071         * modules/rmdir (Status, Notice): No longer obsolete.
19072         (Files): Add dos.m4.
19073         (Depends-on): Add unistd.
19074         (configure.ac): Set witnesses.
19075         (License): Relax to LGPLv2+.
19076         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
19077         * modules/unistd (Makefile.am): Substitute witnesses.
19078         * lib/unistd.in.h (rmdir): Declare replacement.
19079         * doc/posix-functions/rmdir.texi (rmdir): Document this.
19080         * modules/rmdir-tests: New tests.
19081         * tests/test-rmdir.c: Likewise.
19082
19083 2009-09-15  Eric Blake  <ebb9@byu.net>
19084
19085         fchdir: improve use of replacement functions
19086         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
19087         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
19088         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
19089         REPLACE_CLOSEDIR.
19090         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
19091         * modules/sys_stat (Makefile.am): Substitute correct witness.
19092         * modules/dirent (Makefile.am): Likewise.
19093         * modules/unistd (Makefile.am): Likewise.
19094         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
19095         * lib/unistd.in.h (dup): Likewise.
19096         * lib/sys_stat.in.h (fstat): Likewise.
19097
19098         maint: ignore gnulib-tool temp files
19099         * .gitignore: Ignore files created during gnulib-tool --test.
19100
19101 2009-09-13  Jim Meyering  <meyering@redhat.com>
19102
19103         posixtm: don't reject a time that specify "60" as the number of seconds
19104         * lib/posixtm.c (posixtime): The code to reject invalid dates
19105         would also reject a time specified with the .60 suffix.
19106         But POSIX allows that, in order to accommodate leap seconds.
19107         So don't reject it.
19108         (main): Adjust tests accordingly.
19109         * modules/posixtm (Depends-on): Add stpcpy.
19110
19111 2009-09-11  Jim Meyering  <meyering@redhat.com>
19112
19113         announce-gen: include [$release_type] in emitted Subject:
19114         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
19115         e.g., [stable] in the emitted Subject: line.
19116
19117 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19118
19119         Remove obsolete macros from several modules.
19120         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
19121         obsolete Autoconf macros with their modern counterparts.
19122         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
19123         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
19124         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
19125         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
19126         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
19127         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
19128         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
19129         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
19130         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
19131         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
19132         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
19133         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
19134         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
19135         * m4/sockets.m4 (gl_SOCKETS): Likewise.
19136         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
19137         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
19138         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
19139         * m4/time_r.m4 (gl_TIME_R): Likewise.
19140         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
19141         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
19142         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
19143
19144         Fix copyright header in build-aux scripts.
19145         * build-aux/git-version-gen: Fix copyright header to match GPLv3
19146         recommendation.
19147         * build-aux/ncftpput-ftp: Likewise.
19148         * build-aux/update-copyright: Likewise.
19149
19150 2009-09-09  Eric Blake  <ebb9@byu.net>
19151
19152         test-link: allow Linux choice of errno
19153         * tests/test-link.c (main): Relax test for alternate error.
19154
19155         strndup: fix improper m4 caching
19156         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
19157         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
19158         (gl_PREREQ_STRNDUP): Delete.
19159         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
19160         * modules/string (Makefile.am): Substitute it.
19161         * lib/string.in.h (strndup): Modernize prototype.
19162
19163         getcwd: port to mingw
19164         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
19165         different from the POSIX assumptions made throughout the getcwd
19166         module; fortunately, the mingw getcwd does not need replacement.
19167         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
19168         * modules/getcwd-tests: New test.
19169         * tests/test-getcwd.c: Likewise.
19170
19171         link: fix platform bugs
19172         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
19173         * lib/link.c (link): Work around them.  Fix related mingw bug.
19174         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
19175         * modules/unistd (Makefile.am): Substitute it.
19176         * lib/unistd.in.h (link): Declare replacement.
19177         * doc/posix-functions/link.texi (link): Document this.
19178         * modules/link (Depends-on): Add strdup-posix, sys_stat.
19179
19180         test-link: consolidate into single C program, test more cases
19181         * tests/test-link.sh: Delete.
19182         * tests/test-link.c: Test more error conditions.  Exposes bugs on
19183         at least Cygwin and Solaris.
19184         * modules/link-tests (Files): Remove unused file.
19185         (Depends-on): Add errno, sys_stat.
19186         (Makefile.am): Simplify.
19187
19188 2009-09-08  Bruno Haible  <bruno@clisp.org>
19189
19190         Work around towlower, towupper bug on mingw.
19191         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
19192         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
19193         * doc/posix-functions/towlower.texi: Mention the mingw bug.
19194         * doc/posix-functions/towupper.texi: Likewise.
19195         Reported by Eric Blake.
19196
19197 2009-09-08  Jim Meyering  <meyering@redhat.com>
19198
19199         build: don't try to run autoheader if we don't use it
19200         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
19201         is not used in configure.ac.
19202
19203 2009-09-08  Eric Blake  <ebb9@byu.net>
19204
19205         euidaccess: fix compilation error
19206         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
19207
19208         rawmemchr: relax license
19209         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
19210         okay.
19211         Reported by Jim Meyering.
19212
19213         mkfifoat: new module
19214         * modules/mkfifoat: New file.
19215         * lib/mkfifoat.c: Likewise.
19216         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
19217         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
19218         * modules/sys_stat (Makefile.am): Use them.
19219         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
19220         * MODULES.html.sh (File system functions): Mention module.
19221         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
19222         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
19223         * modules/mkfifoat-tests: New test.
19224         * tests/test-mkfifoat.c: Likewise.
19225
19226         strchrnul: relax license
19227         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
19228         okay.
19229         Reported by Jim Meyering.
19230
19231 2009-09-08  Eric Blake  <ebb9@byu.net>
19232
19233         fstatat: fix compilation on Solaris
19234         * lib/fstatat.c (includes): Add fcntl.h.
19235         Reported by Pádraig Brady.
19236
19237 2009-09-07  Eric Blake  <ebb9@byu.net>
19238
19239         rename: modernize replacement
19240         * modules/rename (Depends-on): Add stdio.
19241         (configure.ac): Declare witness.
19242         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
19243         stdio take care of replacement.
19244         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
19245         * modules/stdio (Makefile.am): Substitute them.
19246         * lib/stdio.in.h (rename): Declare replacement.
19247         * lib/rename.c (includes): Allow cross-compilation to non-windows
19248         machines.
19249         * doc/posix-functions/rename.texi (rename): Improve
19250         documentation.
19251
19252         stdio: sort witness names
19253         * modules/stdio (Makefile.am): Sort replacements.
19254         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
19255         * lib/stdio.in.h: Likewise.
19256
19257         getcwd: minor cleanups
19258         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
19259         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
19260
19261         openat: provide more convenience names
19262         * modules/faccessat (configure.ac): Add C witness.
19263         * lib/unistd.in.h (readlinkat): Fix typo.
19264         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
19265         convenience wrappers.
19266         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
19267         wrappers in syntax checks.
19268
19269 2009-09-06  Eric Blake  <ebb9@byu.net>
19270
19271         doc: fix comments in recent patches
19272         * lib/faccessat.c: Mention correct function.
19273         * lib/fchmodat.c: Likewise.
19274         * lib/fchownat.c: Likewise.
19275         * lib/symlinkat.c: Likewise.
19276         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
19277         constants.
19278
19279         faccessat, symlinkat: continue cleanup of previous patch
19280         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
19281         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
19282         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
19283         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
19284         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
19285         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
19286         set.
19287
19288 2009-09-06  Bruno Haible  <bruno@clisp.org>
19289
19290         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
19291         (fstatat): Declare if GNULIB_FSTATAT is set.
19292         (mkdirat): Declare if GNULIB_MKDIRAT is set.
19293         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
19294         (unlinkat): Declare if GNULIB_UNLINKAT is set.
19295         * modules/fcntl-h (Files): Remove m4/openat.m4.
19296         * modules/sys_stat (Files): Remove m4/openat.m4.
19297         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
19298         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
19299         * modules/unistd (Files): Remove m4/openat.m4.
19300         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
19301         GNULIB_OPENAT.
19302         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
19303         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
19304         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
19305         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
19306         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
19307         gl_OPENAT_DEFAULTS.
19308         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
19309         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
19310         Don't require gl_OPENAT_DEFAULTS.
19311         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
19312         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
19313         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
19314         (gl_OPENAT_DEFAULTS): Remove macro.
19315
19316 2009-09-06  Bruno Haible  <bruno@clisp.org>
19317
19318         * modules/openat (configure.ac): Remove unneeded witness.
19319
19320 2009-09-06  Bruno Haible  <bruno@clisp.org>
19321
19322         Set errno to ENOSYS when a function is entirely unsupported.
19323         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
19324         EOPNOTSUPP.
19325         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
19326         * modules/chown (Depends-on): Remove errno.
19327
19328 2009-09-06  Bruno Haible  <bruno@clisp.org>
19329
19330         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
19331
19332 2009-09-06  Bruno Haible  <bruno@clisp.org>
19333
19334         * lib/sys_stat.in.h: Fix preprocessor command indentation.
19335
19336 2009-09-06  Ben Pfaff  <blp@gnu.org>
19337             Bruno Haible  <bruno@clisp.org>
19338
19339         Work around a glibc bug in strtok_r.
19340         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
19341         Undefine if UNDEFINE_STRTOK_R is set.
19342         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
19343         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
19344         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
19345         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
19346         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
19347         UNDEFINE_STRTOK_R.
19348         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
19349
19350 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
19351
19352         exclude: minor fix
19353         * lib/exclude.c: Include wctype.h
19354
19355 2009-09-06  Akim Demaille  <demaille@gostai.com>
19356
19357         bootstrap: improve error message
19358         * build-aux/bootstrap (find_tool): Upon failure, report the list
19359         of candidates.
19360         Honor the initial value of the envvar.
19361
19362 2009-09-05  Eric Blake  <ebb9@byu.net>
19363
19364         symlinkat: new module
19365         * modules/symlinkat: New file.
19366         * lib/symlinkat.c: Likewise.
19367         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
19368         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
19369         * modules/unistd (Makefile.am): Use them.
19370         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
19371         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
19372         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
19373         * MODULES.html.sh (File system functions): Mention module.
19374         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
19375         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
19376         * modules/symlinkat-tests: New test.
19377         * tests/test-symlinkat.c: Likewise.
19378
19379         test-openat-safer: add more checks
19380         * tests/test-openat-safer.c (main): Check more code paths.
19381
19382 2009-09-05  Jim Meyering  <meyering@redhat.com>
19383
19384         syntax-check: detect unnecessary inclusion of openat.h
19385         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
19386
19387 2009-09-05  Bruno Haible  <bruno@clisp.org>
19388
19389         Support towlower, towupper.
19390         * doc/posix-functions/towlower.texi: Mention module wctype.
19391         * doc/posix-functions/towupper.texi: Likewise.
19392         * lib/wctype.in.h (towlower, towupper): New functions.
19393         * tests/test-wctype.c: Include stdio.h, stdlib.h.
19394         (ASSERT): New macro.
19395         (e): New variable.
19396         (main): Test also towlower, towupper. Test WEOF argument.
19397         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
19398
19399 2009-09-05  Bruno Haible  <bruno@clisp.org>
19400
19401         Fix conversion behaviour when the input is invalid.
19402         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
19403         mark occurring in first pass of indirect conversion.
19404         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
19405         input.
19406         Found by clang's static analyzer.
19407
19408 2009-09-05  Bruno Haible  <bruno@clisp.org>
19409
19410         * tests/test-striconveh.c (main): Test indirect conversion on platforms
19411         where direct conversion is possible.
19412
19413 2009-09-04  Eric Blake  <ebb9@byu.net>
19414
19415         openat: fail with ENOENT on empty name
19416         * lib/openat-proc.c (openat_proc_name): Special-case the empty
19417         buffer.
19418
19419         link-follow: fix logic bug in prior patch
19420         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
19421         reversed sense of yes and no in prior patch.  Avoid confusing
19422         compilation failure with desired semantics.
19423
19424         link-follow: accomodate mingw and cross-compilation
19425         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
19426         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
19427         cross-compilation results to -1, to make linkat easier to
19428         implement when cross-compiling.  Trivially support mingw.
19429         * modules/link-follow (configure.ac): Call new name.
19430         * NEWS: Mention this.
19431
19432 2009-09-03  Eric Blake  <ebb9@byu.net>
19433
19434         faccessat: compile replacement
19435         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
19436         needed.
19437
19438         fts: fix compilation error
19439         * lib/fts.c (includes): Re-add "openat.h", for
19440         openat_needs_fchdir.
19441
19442         faccessat: new module
19443         * modules/faccessat: New file.
19444         * lib/faccessat.c: Likewise.
19445         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
19446         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
19447         * modules/unistd (Makefile.am): Use it.
19448         * lib/unistd.in.h (faccessat): Declare it.
19449         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
19450         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
19451         * MODULES.html.sh (File system functions): Mention it.
19452         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
19453         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
19454
19455         euidaccess: prefer POSIX over non-standard implementation
19456         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
19457         * lib/euidaccess.c (euidaccess): Use it if available.
19458
19459         openat: make template easier to use
19460         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
19461         AT_FUNC_F2 to be undefined.
19462         (VALIDATE_FLAG): New macro; use it to reject bad flags.
19463         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
19464         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
19465         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
19466         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
19467         Likewise.
19468         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
19469         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
19470         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
19471         Likewise.
19472
19473         openat: declare in POSIX headers
19474         * NEWS: Mention this.
19475         * modules/openat (configure.ac): Declare witnesses.
19476         (Depends-on): Add fcntl-h, sys_stat, unistd.
19477         (Include): Mention correct headers.
19478         * modules/fcntl-h (Depends-on): Add link-warning.
19479         (Files): Add openat.m4.
19480         (Makefile.am): Substitute witnesses.
19481         * modules/sys_stat (Files, Makefile.am): Likewise.
19482         * modules/unistd (Files, Makefile.am): Likewise.
19483         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
19484         (gl_OPENAT_DEFAULTS): New macro.
19485         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
19486         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
19487         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
19488         (SYS_STAT_H): Remove unused variable.
19489         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
19490         * lib/fcntl--.h (includes): Remove unneeded header.
19491         * lib/openat-safer.c (includes): Likewise.
19492         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
19493         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
19494         appropriate headers.
19495         (__OPENAT_PREFIX): Delete.
19496         * lib/fcntl.in.h (openat): Provide declaration.
19497         (AT_FDCWD): Fix Solaris bug.
19498         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
19499         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
19500         * lib/fchmodat.c (includes):  Adjust to find declaration.
19501         * lib/fchownat.c (includes): Likewise.
19502         * lib/mkdirat.c (includes): Likewise.
19503         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
19504         still visible.
19505
19506 2009-09-02  Eric Blake  <ebb9@byu.net>
19507
19508         errno: use consistently
19509         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
19510         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
19511         * lib/canonicalize.c (ELOOP): Likewise.
19512         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
19513         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
19514         * lib/lchown.c (EOPNOTSUPP): Likewise.
19515         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
19516         * lib/savewd.c (ESTALE): Likewise.
19517         * lib/settime.c (ENOSYS): Likewise.
19518         * lib/utimens.c (ENOSYS): Likewise.
19519         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
19520         * lib/chdir-safer.c (ELOOP): Likewise.
19521         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
19522         * modules/c-stack (Depends-on): Add errno.
19523         * modules/canonicalize (Depends-on): Likewise.
19524         * modules/chdir-safer (Depends-on): Likewise.
19525         * modules/fdopendir (Depends-on): Likewise.
19526         * modules/inet_ntop (Depends-on): Likewise.
19527         * modules/inet_pton (Depends-on): Likewise.
19528         * modules/lchown (Depends-on): Likewise.
19529         * modules/openat (Depends-on): Likewise.
19530         * modules/savewd (Depends-on): Likewise.
19531         * modules/settime (Depends-on): Likewise.
19532         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
19533
19534         fts: avoid leaking fds
19535         * modules/fts (Depends-on): Add cloexec.
19536         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
19537         flag.
19538
19539         fts: make directory fds more robust
19540         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
19541         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
19542
19543         backupfile, chdir-long, fts, savedir: make safer
19544         * lib/backupfile.c (includes): Use "dirent--.h", since
19545         numbered_backup can write to stderr during readdir.
19546         * lib/savedir.c (includes): Likewise.
19547         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
19548         emulation can write to stderr on failure.
19549         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
19550         * lib/getcwd.c: Document why opendir_safer is unused.
19551         * lib/glob.c: Likewise.
19552         * lib/scandir.c: Likewise.
19553         * lib/openat-proc.c: Likewise, for open_safer.
19554         * modules/backupfile (Depends-on): Add dirent-safer.
19555         * modules/savedir (Depends-on): Likewise.
19556         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
19557         * modules/chdir-long (Depends-on): Add openat-safer.
19558
19559         openat-safer: new module
19560         * modules/openat-safer: New file.
19561         * lib/openat-safer.c: Likewise.
19562         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
19563         * lib/fcntl-safer.h (openat_safer): Declare.
19564         * lib/fcntl--.h (openat): Override.
19565         * MODULES.html.sh (File descriptor based I/O): Mention it.
19566         * lib/openat.h: Add double-inclusion guards.
19567         * lib/openat.c (includes): Only include "fcntl-safer.h", not
19568         "fcntl--.h", so we can implement openat.
19569         * modules/openat-safer-tests: New test.
19570         * tests/test-openat-safer.c: New file.
19571
19572         dirent-safer: new module
19573         * modules/dirent-safer: New file.
19574         * lib/dirent--.h: Likewise.
19575         * lib/dirent-safer.h: Likewise.
19576         * lib/opendir-safer.c: Likewise.
19577         * m4/dirent-safer.m4: Likewise.
19578         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
19579         * modules/dirent-safer-tests: New test.
19580         * tests/test-dirent-safer.c: New file.
19581         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
19582
19583         fdopendir: optimize on mingw
19584         * lib/unistd.in.h (_gl_directory_name): New prototype.
19585         * lib/fchdir.c (_gl_directory_name): Implement it.
19586         (fchdir): Use it to simplify implementation.
19587         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
19588         fchdir, when available, to avoid calling [f]chdir().
19589
19590         fdopendir: split into its own module
19591         * lib/openat.c (fdopendir): Move...
19592         * lib/fdopendir.c: ...into new file.
19593         * modules/fdopendir: New module.
19594         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
19595         * modules/openat (Depends-on): Add fdopendir.
19596         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
19597         fdopendir here.
19598         * modules/savedir (Depends-on): Only need fdopendir, not full
19599         openat.
19600         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
19601         * lib/openat.h (fdopendir): Drop prototype.
19602         * lib/dirent.in.h (fdopendir): Provide prototype.
19603         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
19604         * modules/dirent (Makefile.am): Substitute them.
19605         * MODULES.html.sh (File system functions): Mention it.
19606         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
19607         * modules/fdopendir-tests: New file.
19608         * tests/test-fdopendir.c: Likewise.
19609
19610         fchdir: use more consistent macro convention
19611         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
19612         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
19613         REPLACE_FCHDIR, rather than relying on config.h macros.
19614         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
19615         inside a single make-time REPLACE_FCHDIR block, rather than using
19616         the config.h FCHDIR_REPLACEMENT.
19617         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
19618         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
19619         Manage fstat replacement.
19620         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
19621         REPLACE_FCHDIR.
19622         * modules/sys_stat (Files): Add m4/unistd_h.m4.
19623         (Makefile.am): Substitute REPLACE_FCHDIR.
19624         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
19625         FCHDIR_REPLACEMENT.
19626         * lib/dup-safer.c (dup_safer): Likewise.
19627         * lib/dup2.c (rpl_dup2): Likewise.
19628         * lib/dup3.c (rpl_dup3): Likewise.
19629         * lib/open.c (rpl_open): Likewise.
19630
19631         fchdir: simplify error handling, and support dup3
19632         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
19633         stdbool, malloc-posix, realloc-posix.
19634         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
19635         (ensure_dirs_slot): Return false on allocation failure.
19636         (rpl_dup2): Delete.
19637         (_gl_register_dup): New function.
19638         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
19639         (_gl_register_fd): Close fd on allocation failure.
19640         * lib/fcntl.in.h (_gl_register_fd): Update signature.
19641         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
19642         prototype.
19643         (rpl_dup2_fchdir): Delete prototype.
19644         * lib/open.c (open): Update caller.
19645         * lib/dup2.c (dup2): Track fchdir metadata.
19646         * lib/dup3.c (dup3): Likewise.
19647         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
19648         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
19649
19650 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19651
19652         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
19653         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
19654         don't pass arguments to AC_OUTPUT.
19655
19656 2009-09-02  Bruno Haible  <bruno@clisp.org>
19657
19658         * modules/mkdtemp (License): Relicense under LGPLv2+.
19659         Reported by Paolo Bonzini.
19660
19661 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19662
19663         Replace uses of obsolete autoconf macros in Jim's modules.
19664         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
19665         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
19666         can evoke a warning from autoconf when run with -Wobsolete
19667         enabled.  They were declared obsolete for good reasons (see
19668         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
19669         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
19670         should not continue using the deprecated macros.
19671         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
19672         obsolete Autoconf macros with modern counterparts.
19673         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
19674         * m4/dos.m4 (gl_AC_DOS): Likewise.
19675         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
19676         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
19677         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
19678         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
19679         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
19680         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
19681         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
19682         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
19683         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
19684         Likewise.
19685         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
19686         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
19687         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
19688         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
19689         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
19690         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
19691
19692 2009-09-01  Eric Blake  <ebb9@byu.net>
19693
19694         fchdir: fix off-by-one bug in previous patch
19695         * lib/fchdir.c (rpl_fstat): Use correct bounds.
19696         (_gl_unregister_fd): Delete useless if.
19697
19698 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
19699
19700         maint.mk: sort the list of syntax-check rules
19701         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
19702         easier to get a sense of progress when the rules are run sequentially
19703         and take a long time.
19704
19705 2009-09-01  Simon Josefsson  <simon@josefsson.org>
19706
19707         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
19708         * modules/netinet_in: Likewise.
19709         * modules/sys_file: Likewise.
19710         * modules/sys_ioctl: Likewise.
19711         * modules/sys_select: Likewise.
19712         * modules/sys_socket: Likewise.
19713         * modules/sys_stat: Likewise.
19714         * modules/sys_time: Likewise.
19715         * modules/sys_times: Likewise.
19716         * modules/sys_utsname: Likewise.
19717         * modules/sys_wait: Likewise.
19718
19719 2009-09-01  Jim Meyering  <meyering@redhat.com>
19720
19721         fts: help ensure that return values are not ignored
19722         * lib/fts_.h (__GNUC_PREREQ): Define.
19723         (__attribute_warn_unused_result__): Define.
19724         (fts_children, fts_close, fts_open, fts_read): Declare with
19725         __attribute_warn_unused_result__.
19726
19727         fts: fts_close now fails also when closing a dir file descriptor fails
19728         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
19729         and propagate to caller, along with errno.
19730
19731         announce-gen: correct formatting in --help output
19732         * build-aux/announce-gen (usage): Move the one-line description in
19733         --help output "up", to where it belongs, just after Usage:.
19734
19735 2009-08-31  Eric Blake  <ebb9@byu.net>
19736
19737         fchdir: port to mingw
19738         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
19739         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
19740         opened, then use a substitute.
19741         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
19742         replacement.
19743         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
19744         (_gl_register_fd): No need to check stat if open already filters
19745         all directories.
19746         (fchdir): Fix error condition to match POSIX.
19747         * modules/fchdir (Depends-on): Add sys_stat.
19748         * doc/posix-functions/open.texi (open): Document the limitation.
19749         * modules/fchdir-tests: New file.
19750         * tests/test-fchdir.c: Likewise.
19751
19752         canonicalize: allow cross-testing from cygwin to mingw
19753         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
19754         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
19755         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
19756         Likewise.
19757         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
19758         target does not support symlinks.
19759         * tests/test-canonicalize-lgpl.sh: Likewise.
19760
19761         chown: avoid compilation warning on mingw
19762         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
19763         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
19764         mingw.
19765         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
19766         * modules/chown (Depends-on): Add errno.
19767
19768 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
19769
19770         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
19771         command.
19772
19773 2009-08-31  Jim Meyering  <meyering@redhat.com>
19774
19775         canonicalize: remove useless initialization
19776         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
19777         initialization of local, "end".
19778
19779 2009-08-30  Bruno Haible  <bruno@clisp.org>
19780
19781         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
19782         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
19783         ENOSYS.
19784
19785 2009-08-30  Bruno Haible  <bruno@clisp.org>
19786
19787         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
19788         /usr/xpg4/bin/tr when it exists.
19789         * tests/test-pipe-filter-gi1.sh: Likewise.
19790
19791 2009-08-30  Bruno Haible  <bruno@clisp.org>
19792
19793         Work around deficient /usr/bin/id program on Solaris.
19794         * tests/test-file-has-acl.sh (ID): New variable.
19795         * tests/test-set-mode-acl.sh (ID): Likewise.
19796         * tests/test-copy-acl.sh (ID): Likewise.
19797         * tests/test-copy-file.sh (ID): Likewise.
19798
19799 2009-08-30  Bruno Haible  <bruno@clisp.org>
19800
19801         New module 'xstriconveh'.
19802         * lib/xstriconveh.h: New file.
19803         * lib/xstriconveh.c: New file.
19804         * modules/xstriconveh: New file.
19805
19806 2009-08-30  Bruno Haible  <bruno@clisp.org>
19807
19808         Make it easier to use mem_cd_iconveh.
19809         * lib/striconveh.h (iconveh_t): New type.
19810         (iconveh_open, iconveh_close): New declarations.
19811         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
19812         with a single 'const iconveh_t *' argument.
19813         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
19814         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
19815         with a single 'const iconveh_t *' argument.
19816         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
19817         * tests/test-striconveh.c (main): Update.
19818         * NEWS: Mention the change.
19819
19820 2009-08-30  Bruno Haible  <bruno@clisp.org>
19821
19822         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
19823         problem.
19824
19825 2009-08-30  Bruno Haible  <bruno@clisp.org>
19826
19827         Work around iconv_open problem on Solaris.
19828         * lib/iconv_open-solaris.gperf: New file.
19829         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
19830         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
19831         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
19832         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
19833         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
19834         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
19835
19836 2009-08-29  Jim Meyering  <meyering@redhat.com>
19837
19838         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
19839         * top/maint.mk (cvs-check): Remove target; it was just an alias
19840         to the better-named vc-diff-check.
19841         (maintainer-distcheck): Remove rule.  It was used only from
19842         the (alpha/beta/major) target, and all of its commands but one
19843         were coreutils-specific.
19844         (vc-dist): Remove rule.
19845         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
19846         Run vc-diff-check, not vc-dist.
19847         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
19848
19849 2009-08-27  Bruno Haible  <bruno@clisp.org>
19850
19851         * tests/test-bitrotate.c (main): Remove test that uses a shift count
19852         of 0.
19853
19854 2009-08-27  Bruno Haible  <bruno@clisp.org>
19855
19856         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
19857         compilers.
19858         * doc/func.texi: Document the SunPRO C bug.
19859
19860 2009-08-27  Bruno Haible  <bruno@clisp.org>
19861
19862         Fix link error on Solaris.
19863         * tests/test-parse-duration.c (xstrdup): Remove function.
19864
19865 2009-08-26  Pádraig Brady  <P@draigbrady.com>
19866
19867         ignore-value: handle pointer types, too
19868         * lib/ignore-value.h (__attribute__): Remove definition.
19869         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
19870         of a more concise and more-often effective "(void) i" statement.
19871         (ignore_ptr): New function to suppress warnings from functions that
19872         return pointers, and to make it explicit that one function doesn't
19873         handle all cases.
19874
19875 2009-08-25  Bruno Haible  <bruno@clisp.org>
19876
19877         dup2: work around a Linux bug.
19878         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
19879         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
19880         * doc/posix-functions/dup2.texi: Mention the Linux bug.
19881         Reported by Simon Josefsson.
19882
19883 2009-08-25  Jim Meyering  <meyering@redhat.com>
19884
19885         libguestfs uses gnulib
19886         * users.txt: Add libguestfs.
19887
19888 2009-08-24  Eric Blake  <ebb9@byu.net>
19889
19890         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
19891         * lib/pipe2.c (includes): Add binary-io.h.
19892         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
19893
19894 2009-08-24  Bruno Haible  <bruno@clisp.org>
19895
19896         Tolerate declared but missing accept4 syscall.
19897         * lib/accept4.c (accept4): Invoke original accept4 function first, if
19898         available.
19899         * lib/sys_socket.in.h (accept4): If the function is already present,
19900         override it.
19901         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
19902         * modules/accept4 (Makefile.am): Compile accept4.c always.
19903         Reported by Paolo Bonzini and Eric Blake.
19904
19905 2009-08-23  Bruno Haible  <bruno@clisp.org>
19906
19907         New module 'accept4'.
19908         * lib/sys_socket.in.h (accept4): New declaration.
19909         * lib/accept4.c: New file.
19910         * m4/accept4.m4: New file.
19911         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
19912         GNULIB_ACCEPT4, HAVE_ACCEPT4.
19913         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
19914         HAVE_ACCEPT4.
19915         * modules/accept4: New file.
19916         * doc/glibc-functions/accept4.texi: Mention the new module.
19917
19918 2009-08-24  Jim Meyering  <meyering@redhat.com>
19919
19920         progname: also set global program_invocation_name, when possible
19921         Before this change, a libtool-enabled program that calls glibc's
19922         error function would report the program name as
19923         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
19924         * modules/progname (configure.ac): Check for a declaration of
19925         program_invocation_name.
19926         * lib/progname.c:  Include <errno.h>.
19927         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
19928         Set program_invocation_name.
19929
19930 2009-08-23  Bruno Haible  <bruno@clisp.org>
19931
19932         * lib/dup3.c: Include <string.h>.
19933
19934 2009-08-23  Bruno Haible  <bruno@clisp.org>
19935
19936         * lib/dup3.c (dup3): Test only once whether the system actually exists.
19937         * lib/pipe2.c (pipe2): Likewise.
19938         Suggested by Eric Blake.
19939
19940 2009-08-23  Bruno Haible  <bruno@clisp.org>
19941
19942         Tolerate declared but missing dup3 syscall.
19943         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
19944         * lib/unistd.in.h (dup3): If the function is already present,
19945         override it.
19946         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
19947         * modules/dup3 (Makefile.am): Compile dup3.c always.
19948         Reported by Paolo Bonzini.
19949
19950 2009-08-23  Bruno Haible  <bruno@clisp.org>
19951
19952         Tolerate declared but missing pipe2 syscall.
19953         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
19954         available.
19955         * lib/unistd.in.h (pipe2): If the function is already present,
19956         override it.
19957         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
19958         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
19959         Reported by Paolo Bonzini.
19960
19961 2009-08-23  Bruno Haible  <bruno@clisp.org>
19962
19963         * lib/pipe2.c (pipe2): Move #ifs inside function.
19964
19965 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
19966
19967         quotearg: document limitations of quote_these_too
19968         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
19969         those limitations are created.
19970         * lib/quotearg.h (set_char_quoting): Document that digits and
19971         letters that are special after backslash are not permitted.
19972         (quotearg_char): Cross-reference set_char_quoting documentation.
19973
19974 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
19975
19976         quotearg: implement custom_quoting_style
19977         * lib/quotearg.c: (struct quoting_options): Add left_quote and
19978         right_quote fields.
19979         (set_custom_quoting): New public function.
19980         (quotearg_buffer_restyled): Add left_quote and right_quote
19981         arguments, handle them very much like locale quoting, and update
19982         all uses.
19983         (quotearg_n_custom): New public function.
19984         (quotearg_n_custom_mem): New public function.
19985         (quotearg_custom): New public function.
19986         (quotearg_custom_mem): New public function.
19987         * lib/quotearg.h: Prototype and document new public functions.
19988         (enum quoting_style): For escape_quoting_style and
19989         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
19990         ignored even though they're otherwise like c_quoting_style.
19991         Add custom_quoting_style member and document with comparison to
19992         clocale_quoting_style.
19993         * tests/test-quotearg.c (custom_quotes): New array.
19994         (custom_results): New array.
19995         (main): Extend to test custom quoting.
19996
19997 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
19998
19999         quotearg: fix right quote escaping when it's in quote_these_too
20000         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
20001         quote, be sure to prepend only one backslash.
20002         * tests/test-quotearg.c (use_quote_double_quotes): New function.
20003         (main): Test it.
20004
20005 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
20006
20007         quotearg-tests: test escaping of embedded locale quotes
20008         * tests/test-quotearg.c (struct result_strings): Add member for
20009         new input.
20010         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
20011         (inputs): Add new input.
20012         (results_g): Add expected results.
20013         (flag_results): Likewise.
20014         (locale_results): Likewise.
20015         (compare_strings): Check those.
20016
20017 2009-08-23  Bruno Haible  <bruno@clisp.org>
20018
20019         Tests for module 'dup3'.
20020         * modules/dup3-tests: New file.
20021         * tests/test-dup3.c: New file.
20022
20023         New module 'dup3'.
20024         * lib/unistd.in.h (dup3): New declaration.
20025         * lib/dup3.c: New file.
20026         * m4/dup3.m4: New file.
20027         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
20028         HAVE_DUP3.
20029         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
20030         * modules/dup3: New file.
20031         * doc/glibc-functions/dup3.texi: Mention the new module.
20032
20033 2009-08-23  Bruno Haible  <bruno@clisp.org>
20034
20035         Tweak the dup2 test.
20036         * tests/test-dup2.c (main): Create the test file empty. Verify that an
20037         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
20038         the test file is still empty. Fix argument order of lseek.
20039
20040 2009-08-23  Bruno Haible  <bruno@clisp.org>
20041
20042         Avoid test link errors when the modules getopt-gnu, gettext are used.
20043         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
20044         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20045
20046 2009-08-23  Bruno Haible  <bruno@clisp.org>
20047
20048         Fix getdtablesize() on mingw.
20049         * lib/getdtablesize.c (getdtablesize): Implement differently.
20050         * lib/unistd.in.h (getdtablesize): Improve comment.
20051
20052 2009-08-23  Bruno Haible  <bruno@clisp.org>
20053
20054         New module 'mkostemp'.
20055         Based on Ulrich Drepper's 2007-08-10 change in glibc.
20056         * lib/stdlib.in.h (mksotemp): New declaration.
20057         * lib/mkostemp.c: New file, from glibc with modifications.
20058         * lib/tempname.h (GT_FILE): Remove outdated comment.
20059         (gen_tempname): Add flags argument.
20060         * lib/tempname.c (__GT_BIGFILE): Remove macro.
20061         (__GT_FILE): Map to 1.
20062         (small_open, large_open): Remove macros.
20063         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
20064         * lib/mkstemp.c (mkstemp): Update.
20065         * lib/mkdtemp.c (mkdtemp): Likewise.
20066         * m4/mkostemp.m4: New file.
20067         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
20068         HAVE_MKOSTEMP.
20069         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
20070         HAVE_MKOSTEMP.
20071         * modules/mkostemp: New file, based on modules/mkstemp.
20072         * doc/glibc-functions/mkostemp.texi: Mention the new module.
20073         * NEWS: Mention the change.
20074
20075 2009-08-23  Bruno Haible  <bruno@clisp.org>
20076
20077         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
20078         Reported by Eric Blake.
20079
20080 2009-08-23  Bruno Haible  <bruno@clisp.org>
20081
20082         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
20083         Reported by Eric Blake.
20084
20085 2009-08-23  Bruno Haible  <bruno@clisp.org>
20086
20087         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
20088         * modules/pipe2 (Depends-on): Likewise.
20089
20090 2009-08-23  Eric Blake  <ebb9@byu.net>
20091
20092         fcntl-h: add O_TTY_INIT support
20093         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
20094         * tests/test-fcntl-h.c (o): Test it.
20095         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
20096
20097         fcntl-h: rename from fcntl, in preparation for fcntl(2)
20098         * modules/fcntl: Move <fcntl.h> header replacement...
20099         * modules/fcntl-h: ...to new name, so as not to collide with
20100         like-named function.
20101         * tests/test-fcntl.c: Rename...
20102         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
20103         * modules/fcntl-tests: Rename...
20104         * modules/fcntl-h-tests: ...to this.  Update test file name.
20105         * modules/chdir-long (Depends-on): Update clients.
20106         * modules/chdir-safer (Depends-on): Likewise.
20107         * modules/fcntl-safer (Depends-on): Likewise.
20108         * modules/fts (Depends-on): Likewise.
20109         * modules/mkancesdirs (Depends-on): Likewise.
20110         * modules/mkdir-p (Depends-on): Likewise.
20111         * modules/open (Depends-on): Likewise.
20112         * modules/savewd (Depends-on): Likewise.
20113         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
20114         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
20115
20116 2009-08-22  Bruno Haible  <bruno@clisp.org>
20117
20118         * modules/binary-io (License): Relicense under LGPL.
20119         * modules/pipe2 (License): Likewise.
20120
20121 2009-08-22  Bruno Haible  <bruno@clisp.org>
20122
20123         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
20124         return value.
20125         * lib/pipe-filter-gi.c (filter_init): Likewise.
20126         Reported by Eric Blake.
20127
20128 2009-08-22  Bruno Haible  <bruno@clisp.org>
20129
20130         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
20131         * modules/pipe (Depends-on): Add pipe2.
20132
20133 2009-08-22  Bruno Haible  <bruno@clisp.org>
20134
20135         Tests for module 'pipe2'.
20136         * modules/pipe2-tests: New file.
20137         * tests/test-pipe2.c: New file.
20138
20139         New module 'pipe2'.
20140         * lib/unistd.in.h (pipe2): New declaration.
20141         * lib/pipe2.c: New file.
20142         * m4/pipe2.m4: New file.
20143         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
20144         HAVE_PIPE2.
20145         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
20146         * modules/pipe2: New file.
20147         * doc/glibc-functions/pipe2.texi: Mention the new module.
20148
20149 2009-08-22  Bruno Haible  <bruno@clisp.org>
20150
20151         Reference some new glibc functions.
20152         * doc/glibc-functions/accept4.texi: New file.
20153         * doc/glibc-functions/dup3.texi: New file.
20154         * doc/glibc-functions/mkostemp.texi: New file.
20155         * doc/glibc-functions/pipe2.texi: New file.
20156         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
20157         (Glibc sys/socket.h): Refer to accept4.
20158         (Glibc unistd.h): Refer to dup3, pipe2.
20159         Reported by Eric Blake.
20160
20161 2009-08-22  Jim Meyering  <meyering@redhat.com>
20162             Bruno Haible  <bruno@clisp.org>
20163
20164         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
20165         This makes it so packages using automake-1.11's silent-rules option
20166         can print e.g., a single "GEN    configmake.h" line, rather than
20167         the 30+ statements that perform the job.  If you want to see the
20168         actual commands, you can still run "make V=1".
20169         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
20170         so that make output is abbreviated when those variables are defined
20171         appropriately.
20172         * modules/argz: Likewise.
20173         * modules/arpa_inet: Likewise.
20174         * modules/byteswap: Likewise.
20175         * modules/configmake: Likewise.
20176         * modules/dirent: Likewise.
20177         * modules/errno: Likewise.
20178         * modules/fcntl: Likewise.
20179         * modules/float: Likewise.
20180         * modules/fnmatch: Likewise.
20181         * modules/getopt-posix: Likewise.
20182         * modules/glob: Likewise.
20183         * modules/iconv_open: Likewise.
20184         * modules/inttypes: Likewise.
20185         * modules/localcharset: Likewise.
20186         * modules/locale: Likewise.
20187         * modules/math: Likewise.
20188         * modules/netdb: Likewise.
20189         * modules/netinet_in: Likewise.
20190         * modules/poll: Likewise.
20191         * modules/posix_spawnp-tests: Likewise.
20192         * modules/sched: Likewise.
20193         * modules/search: Likewise.
20194         * modules/selinux-h: Likewise.
20195         * modules/signal: Likewise.
20196         * modules/spawn: Likewise.
20197         * modules/stdarg: Likewise.
20198         * modules/stdbool: Likewise.
20199         * modules/stddef: Likewise.
20200         * modules/stdint: Likewise.
20201         * modules/stdio: Likewise.
20202         * modules/stdlib: Likewise.
20203         * modules/string: Likewise.
20204         * modules/strings: Likewise.
20205         * modules/sys_file: Likewise.
20206         * modules/sys_ioctl: Likewise.
20207         * modules/sys_select: Likewise.
20208         * modules/sys_socket: Likewise.
20209         * modules/sys_stat: Likewise.
20210         * modules/sys_time: Likewise.
20211         * modules/sys_times: Likewise.
20212         * modules/sys_utsname: Likewise.
20213         * modules/sys_wait: Likewise.
20214         * modules/sysexits: Likewise.
20215         * modules/time: Likewise.
20216         * modules/unistd: Likewise.
20217         * modules/wchar: Likewise.
20218         * modules/wctype: Likewise.
20219
20220 2009-08-22  Jim Meyering  <meyering@redhat.com>
20221
20222         announce-gen: detect write failure
20223         * build-aux/announce-gen: Add Coda at end.
20224         Remove equivalent-but-more-verbose block at top.
20225
20226 2009-08-19  Akim Demaille  <demaille@gostai.com>
20227
20228         bootstrap: --help to stdout.
20229         * bootstrap (usage): Don't send --help to stderr.
20230         Use a here doc instead of a long string.
20231
20232 2009-08-21  Eric Blake  <ebb9@byu.net>
20233
20234         test-popen-safer: split from test-popen
20235         * tests/test-popen.c (main): Move...
20236         * tests/test-popen.h: ...into new file.
20237         * tests/test-popen-safer2.c: New file.
20238         * modules/popen-tests (Files): Add test-popen.h.
20239         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
20240         Suggested by Bruno Haible.
20241
20242         test-fcntl-safer: split from test-open
20243         * tests/test-open.c (main): Move...
20244         * tests/test-open.h: ...into new file.
20245         * tests/test-fcntl-safer.c: New file.
20246         * modules/open-tests (Files): Add test-open.h.
20247         * modules/fcntl-safer-tests: New file.
20248         Suggested by Bruno Haible.
20249
20250         test-fopen-safer: split from test-fopen
20251         * tests/test-fopen.c (main): Move...
20252         * tests/test-fopen.h: ...into new file.
20253         * tests/test-fopen-safer.c: New file.
20254         * modules/fopen-tests (Files): Add test-fopen.h.
20255         * modules/fopen-safer-tests: New file.
20256         Suggested by Bruno Haible.
20257
20258 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
20259
20260         popen-safer: test O_CLOEXEC at run-time.
20261         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
20262
20263 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
20264
20265         fcntl: move more flags to the header
20266         * lib/cloexec.c: Do not define FD_CLOEXEC here.
20267         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
20268         * lib/fcntl.in.h: Do both things here.
20269
20270 2009-08-21  Jim Meyering  <meyering@redhat.com>
20271
20272         consistently remove $@-t before redirecting to it
20273         * modules/argz: Remove $@-t and $@ before redirecting to the former.
20274         * modules/alloca-opt: Likewise.
20275         * modules/byteswap: Likewise.
20276         * modules/fnmatch: Likewise.
20277         * modules/getopt-posix: Likewise.
20278         * modules/glob: Likewise.
20279         * modules/poll: Likewise.
20280         * modules/posix_spawnp-tests: Likewise.
20281         * modules/sys_socket: Likewise.
20282         * modules/sysexits: Likewise.
20283
20284 2009-08-21  Eric Blake  <ebb9@byu.net>
20285
20286         popen: simplify access to original popen
20287         * lib/popen.c (rpl_popen): No need to worry about popen being a
20288         macro.
20289         Reported by Bruno Haible.
20290
20291 2009-08-20  Eric Blake  <ebb9@byu.net>
20292
20293         build: avoid some compiler warnings
20294         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
20295         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
20296         type.
20297         (new_exclude_segment, excluded_file_pattern_p)
20298         (excluded_file_name_p): Reduce scope.
20299         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
20300         old-style declaration.
20301
20302 2009-08-20  Simon Josefsson  <simon@josefsson.org>
20303
20304         * tests/test-exclude1.sh: Handle Windows EOL.
20305         * tests/test-exclude2.sh: Likewise.
20306         * tests/test-exclude3.sh: Likewise.
20307         * tests/test-exclude4.sh: Likewise.
20308         * tests/test-exclude5.sh: Likewise.
20309         * tests/test-exclude6.sh: Likewise.
20310         * tests/test-exclude7.sh: Likewise.
20311
20312 2009-08-19  Akim Demaille  <demaille@gostai.com>
20313
20314         bootstrap: find sha1sum when named gsha1sum.
20315         * bootstrap (find_tool): New.
20316         ($SHA1SUM): New.
20317         Use it.
20318
20319 2009-08-20  Jim Meyering  <meyering@redhat.com>
20320
20321         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
20322         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
20323         expression that converts "." in a file name to "\." in the resulting
20324         regexp.  Start with a dummy statement, so that prior shell variable
20325         definitions are expanded portably.  Reported by Simon Josefsson.
20326
20327 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
20328
20329         Fix polling for writeability of a screen buffer.
20330         * lib/poll.c: Distinguish input and screen buffers for the
20331         Win32 implementation.
20332         * lib/select.c: Likewise.
20333
20334 2009-08-19  Eric Blake  <ebb9@byu.net>
20335
20336         popen-safer: prevent popen from clobbering std descriptors
20337         * modules/popen-safer: New file.
20338         * lib/popen-safer.c: Likewise.
20339         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
20340         * lib/stdio--.h (popen): Provide override.
20341         * lib/stdio-safer.h (popen_safer): Provide declaration.
20342         * tests/test-popen.c (includes): Partially test this.
20343         * modules/popen-safer-tests: New file, for more tests.
20344         * tests/test-popen-safer.c: Likewise.
20345         * MODULES.html.sh (file stream based Input/Output): Mention it.
20346
20347         tests: test some of the *-safer modules
20348         * modules/fopen-safer (Depends-on): Add fopen.
20349         * modules/fcntl-safer (Depends-on): Add fcntl.
20350         * modules/stdlib-safer (Depends-on): Add stdlib.
20351         (configure.ac): Set indicator.
20352         * modules/unistd-safer (configure.ac): Likewise.
20353         * modules/tmpfile-safer (configure.ac): Likewise.
20354         (Depends-on): Add tmpfile.
20355         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
20356         active.
20357         * tests/test-fopen.c (includes): Test safer versions when they are
20358         in use.
20359         * tests/test-open.c (includes): Likewise.
20360
20361         popen: fix cygwin 1.5 bug when stdin closed
20362         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
20363         * modules/popen: New file.
20364         * modules/popen-tests: Likewise.
20365         * tests/test-popen.c: Likewise.
20366         * m4/popen.m4: Likewise.
20367         * lib/popen.c: Likewise.
20368         * lib/stdio.in.h (popen): New declaration.
20369         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
20370         * modules/stdio (Makefile.am): Likewise.
20371         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
20372
20373 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
20374
20375         maint.mk: give full control over update-copyright exclusions
20376         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
20377         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
20378         (update-copyright): Don't force inclusion of top-level
20379         ChangeLog.  Don't force exclusion of all COPYING files, but make
20380         them the default exclusion instead.
20381
20382 2009-08-16  Bruno Haible  <bruno@clisp.org>
20383
20384         Fix test failures on Solaris 10.
20385         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
20386         tests when Solaris iconv() is used.
20387         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
20388         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
20389         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
20390         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
20391         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
20392
20393 2009-08-16  Bruno Haible  <bruno@clisp.org>
20394
20395         Fix test failures on Solaris 10.
20396         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
20397         'tr' program and pass it as first argument.
20398         * tests/test-pipe-filter-gi1.sh: Likewise.
20399         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
20400         program as first argument.
20401         * tests/test-pipe-filter-gi1.c (main): Likewise.
20402
20403 2009-08-16  Eric Blake  <ebb9@byu.net>
20404
20405         fpurge: fix previous commits
20406         * modules/fpurge (Makefile.am): Make replacement conditional,
20407         partially reverting 2007-04-29 change; missed in previous
20408         attempt.
20409         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
20410         is missing.
20411
20412 2009-08-16  Bruno Haible  <bruno@clisp.org>
20413
20414         Clarify fpurge's effect on the file position.
20415         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
20416         * tests/test-fpurge.c (main): Make a second pass for checking the file
20417         position.
20418
20419 2009-08-16  Bruno Haible  <bruno@clisp.org>
20420
20421         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
20422         declaration of fpurge is missing.
20423         * tests/test-fpurge.c (main): Check that the file has not more contents
20424         than expected. Close the file before removing it.
20425
20426 2009-08-15  Eric Blake  <ebb9@byu.net>
20427
20428         fpurge: don't wrap working cygwin implementation
20429         * lib/fpurge.c (fpurge): Fix comment typo.
20430         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
20431         1.7 to avoid replacement.
20432         * tests/test-fpurge.c (main): Enhance test.
20433
20434 2009-08-15  Eric Blake  <ebb9@byu.net>
20435         and Jim Meyering  <meyering@redhat.com>
20436
20437         test-update-copyright: skip if perl is insufficient
20438         * tests/test-update-copyright.sh: Failure to run maintainer tool
20439         should not cause testsuite failure on cygwin 1.5.
20440
20441 2009-08-14  Eric Blake  <ebb9@byu.net>
20442
20443         doc: mention more functions added in cygwin 1.7.0
20444         * doc/posix-headers/limits.texi (limits.h): Update for recent
20445         cygwin additions.
20446         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
20447         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
20448         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
20449         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
20450         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
20451
20452 2009-08-14  Eric Blake  <ebb9@byu.net>
20453
20454         maint.mk: simplify update-copyright rule
20455         * top/maint.mk (update-copyright-local): Delete, and document how
20456         to do it in cfg.mk instead.
20457         (update-copyright-exclude-regexp): Delete, and document how to do
20458         it in .x-update-copyright instead.
20459         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
20460         exclude ChangeLog.
20461
20462 2009-08-14  Bruno Haible  <bruno@clisp.org>
20463
20464         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
20465
20466 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
20467
20468         maint.mk: support update-copyright-env
20469         * top/maint.mk (update-copyright-env): Define place-holder.
20470         (update-copyright): Expand $(update-copyright-env) before
20471         invoking update-copyright.
20472
20473 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
20474
20475         update-copyright: implement forced reformatting
20476         * build-aux/update-copyright: Implement and document
20477         UPDATE_COPYRIGHT_FORCE.
20478         * tests/test-update-copyright.sh: Test it.
20479
20480 2009-08-14  Eric Blake  <ebb9@byu.net>
20481         and Bruno Haible  <bruno@clisp.org>
20482
20483         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
20484         * tests/test-locale.c: Revert previous patch related to NULL.
20485         * tests/test-stdio.c: Likewise.
20486         * tests/test-stdlib.c: Likewise.
20487         * tests/test-string.c: Likewise.
20488         * tests/test-unistd.c: Likewise.
20489         * modules/time-tests (Depends-on): Add verify.
20490         * modules/wchar-tests (Depends-on): Likewise.
20491         * tests/test-time.c: Test for NULL compliance.
20492         * tests/test-wchar.c: Likewise.
20493         * modules/locale (Depends-on): Add stddef.
20494         * modules/stdio (Depends-on): Likewise.
20495         * modules/stdlib (Depends-on): Likewise.
20496         * modules/string (Depends-on): Likewise.
20497         * modules/time (Depends-on): Likewise.
20498         * modules/unistd (Depends-on): Likewise.
20499         * modules/wchar (Depends-on): Likewise.
20500         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
20501         * lib/stdlib.in.h (includes): Likewise.
20502         * lib/string.in.h (includes): Likewise.
20503         * lib/time.in.h (includes): Likewise.
20504         * lib/unistd.in.h (includes): Likewise.
20505         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
20506         replaced.
20507         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
20508         * m4/stddef_h.m4: New file.
20509         * modules/stddef: Likewise.
20510         * lib/stddef.in.h: Likewise.
20511         * modules/stddef-tests: Likewise.
20512         * tests/test-stddef.c: Likewise.
20513         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
20514         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
20515         * doc/posix-headers/locale.texi (locale.h): Likewise.
20516         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
20517         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
20518         * doc/posix-headers/string.texi (string.h): Likewise.
20519         * doc/posix-headers/time.texi (time.h): Likewise.
20520         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
20521         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
20522
20523 2009-08-14  Eric Blake  <ebb9@byu.net>
20524
20525         doc: improve git diff of texinfo files
20526         * .gitattributes: Add rule for *.texi files, with hint on how to
20527         use it.
20528         Copied from m4, and based on a report by Bruno Haible.
20529
20530 2009-08-14  Bruno Haible  <bruno@clisp.org>
20531
20532         Disable multithread support by default on Cygwin 1.5.x for real.
20533         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
20534
20535 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
20536
20537         update-copyright: much ado about intervals
20538         * build-aux/update-copyright: Implement and document
20539         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
20540         of copyright year intervals.
20541         Also, document UPDATE_COPYRIGHT_YEAR.
20542         * tests/test-update-copyright.sh: Test it.
20543
20544         update-copyright: convert 2-digit to 4-digit years
20545         * build-aux/update-copyright: Implement and document.
20546         * tests/test-update-copyright.sh: Update.
20547
20548 2009-08-14  Jim Meyering  <meyering@redhat.com>
20549
20550         test-exclude: avoid coreutils "make check" failure
20551         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
20552         just as in test-argmatch.c.
20553
20554 2009-08-13  Eric Blake  <ebb9@byu.net>
20555
20556         test-dup2: fix bad assumption
20557         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
20558         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
20559
20560         test-version-etc: fix CRLF portability issue
20561         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
20562         recognize \r.
20563         * tests/test-argp-version-etc-1.sh: Likewise.
20564
20565         getopt: update client modules
20566         * modules/argp (Depends-on): Use getopt-gnu.
20567         * modules/git-merge-changelog (Depends-on): Likewise.
20568         * modules/long-options (Depends-on): Likewise.
20569         * modules/xstrtol (Depends-on): Likewise.
20570
20571 2009-08-13  Simon Josefsson  <simon@josefsson.org>
20572
20573         * tests/test-version-etc.sh: Don't fail on different
20574         project/version.  Don't fail on CRLF differences.  Rewrite to use
20575         multiple -e instead of multiple sed forks, suggested by Eric Blake
20576         <ebb9@byu.net>.
20577         * tests/test-argp-version-etc-1.sh: Likewise.
20578
20579 2009-08-13  Simon Josefsson  <simon@josefsson.org>
20580
20581         * tests/test-version-etc.sh: Don't fail on different
20582         project/version.
20583
20584 2009-08-12  Bruno Haible  <bruno@clisp.org>
20585
20586         Tests for modules 'getopt-posix', 'getopt-gnu'.
20587         * modules/getopt-posix-tests: New file.
20588         * tests/test-getopt.c: New file.
20589         * tests/test-getopt.h: New file.
20590         * tests/test-getopt_long.h: New file.
20591
20592         New modules 'getopt-posix', 'getopt-gnu'.
20593         * modules/getopt-gnu: New file, renamed from modules/getopt.
20594         * modules/getopt-posix: New file.
20595         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
20596         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
20597         (gl_GETOPT): Remove macro.
20598         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
20599         Disable the test against BSD systems that declare optreset. Test
20600         against mingw bug. Test against lack of support of optional arguments
20601         on many platforms.
20602         * doc/glibc-headers/getopt.texi: Update module name and list of
20603         relevant platforms.
20604         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
20605         'getopt-gnu' and more portability problems.
20606         * NEWS: Mention the changes.
20607
20608 2009-08-12  Bruno Haible  <bruno@clisp.org>
20609
20610         Ensure that optarg etc. get declared by <unistd.h>.
20611         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
20612         AC_USE_SYSTEM_EXTENSIONS.
20613         * modules/getopt (Depends-on): Add 'extensions'.
20614
20615 2009-08-12  Bruno Haible  <bruno@clisp.org>
20616
20617         Avoid test link errors.
20618         * modules/pipe-filter-ii-tests (Makefile.am): Define
20619         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
20620         * modules/pipe-filter-gi-tests (Makefile.am): Define
20621         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
20622         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20623
20624 2009-08-12  Bruno Haible  <bruno@clisp.org>
20625
20626         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
20627         gl_GETOPT_SUBSTITUTE before.
20628         (gl_GETOPT): Use it.
20629         * m4/argp.m4 (gl_ARGP): Update.
20630         Reported by Sergey Poznyakoff.
20631
20632         * m4/getopt.m4: Reorder macros.
20633         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
20634         (gl_GETOPT_SUBSTITUTE): Remove macro.
20635
20636 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
20637
20638         Minor improvement in gitlog-to-changelog
20639
20640         * build-aux/gitlog-to-changelog: New option `--format' makes
20641         output format string configurable.
20642
20643 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
20644
20645         Optimize exclude: use hash tables for non-wildcard patterns.
20646
20647         * lib/exclude.c: Include hash.h and mbuiter.h
20648         (struct exclude_pattern, exclude_segment): New data types.
20649         (struct exclude): Rewrite.
20650         (fnmatch_pattern_has_wildcards): New function.
20651         (new_exclude_segment, free_exclude_segment): New functions.
20652         (excluded_file_pattern_p, excluded_file_name_p): New functions.
20653         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
20654         * lib/exclude.h (is_fnmatch_pattern): New prototype.
20655         * modules/exclude: Depend on hash and mbuiter.
20656
20657         * modules/exclude-tests: New file.
20658         * tests/test-exclude.c: New file.
20659         * tests/test-exclude1.sh: New file.
20660         * tests/test-exclude2.sh: New file.
20661         * tests/test-exclude3.sh: New file.
20662         * tests/test-exclude4.sh: New file.
20663         * tests/test-exclude5.sh: New file.
20664         * tests/test-exclude6.sh: New file.
20665         * tests/test-exclude7.sh: New file.
20666
20667 2009-08-12  Bruno Haible  <bruno@clisp.org>
20668
20669         Ensure that getopt() gets declared by <unistd.h>.
20670         * lib/unistd.in.h: Conditionally include getopt.h.
20671         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
20672         Set GNULIB_UNISTD_H_GETOPT.
20673         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20674         GNULIB_UNISTD_H_GETOPT.
20675         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
20676
20677 2009-08-12  Bruno Haible  <bruno@clisp.org>
20678
20679         Clarify logic.
20680         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
20681         gl_replace_getopt instead of GETOPT_H.
20682
20683 2009-08-12  Bruno Haible  <bruno@clisp.org>
20684
20685         * m4/getopt.m4: Add comments.
20686
20687 2009-08-12  Bruno Haible  <bruno@clisp.org>
20688
20689         Disable multithread support by default on Cygwin 1.5.x.
20690         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
20691         set gl_use_threads=no if not specified otherwise.
20692
20693 2009-08-11  Bruno Haible  <bruno@clisp.org>
20694
20695         Avoid compilation error on NetBSD 5.0.
20696         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
20697         * tests/test-stdio.c: Likewise.
20698         * tests/test-stdlib.c: Likewise.
20699         * tests/test-string.c: Likewise.
20700         * tests/test-unistd.c: Likewise.
20701         Reported by Greg Troxel <gdt@ir.bbn.com>
20702         at <https://savannah.gnu.org/support/?106973>.
20703
20704 2009-08-11  Bruno Haible  <bruno@clisp.org>
20705
20706         * modules/dup2-tests (Depends-on): Remove close.
20707
20708         Undo 2009-07-19 commit.
20709         * modules/acl-tests (Depends-on): Remove close.
20710         * modules/binary-io-tests (Depends-on): Likewise.
20711         * modules/closein-tests (Depends-on): Likewise.
20712         * modules/flock-tests (Depends-on): Likewise.
20713         * modules/fsync-tests (Depends-on): Likewise.
20714         * modules/lseek-tests (Depends-on): Likewise.
20715         * modules/pipe-tests (Depends-on): Likewise.
20716         * modules/posix_spawn-tests (Depends-on): Likewise.
20717         * modules/posix_spawnp-tests (Depends-on): Likewise.
20718         * modules/stat-time-tests (Depends-on): Likewise.
20719         * modules/yesno-tests (Depends-on): Likewise.
20720
20721 2009-08-10  Bruno Haible  <bruno@clisp.org>
20722
20723         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
20724
20725 2009-08-10  Bruno Haible  <bruno@clisp.org>
20726
20727         Fix a gcc warning.
20728         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
20729
20730 2009-08-10  Bruno Haible  <bruno@clisp.org>
20731
20732         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
20733         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
20734         not only the first time.
20735         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
20736         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
20737         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
20738         is 1, not only the the first time.
20739
20740 2009-08-10  Bruno Haible  <bruno@clisp.org>
20741
20742         Make it possible to use module 'gethostname' without module 'close'.
20743         * lib/unistd.in.h (close): Evoke a link error only if
20744         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
20745         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
20746         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
20747         * modules/unistd (Makefile.am): Substitute
20748         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
20749         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
20750         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
20751         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
20752         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
20753         * modules/sys_ioctl (Makefile.am): Substitute
20754         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
20755         * modules/socket (configure.ac): On native Windows, set
20756         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
20757         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
20758         Reported by Sam Steingold <sds@gnu.org>.
20759
20760 2009-08-10  Bruno Haible  <bruno@clisp.org>
20761
20762         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
20763         * modules/ioctl (configure.ac): Likewise.
20764
20765 2009-08-10  Bruno Haible  <bruno@clisp.org>
20766
20767         Avoid collision between gnulib wrapper and libintl wrapper.
20768         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
20769         already defined in intl/printf.c.
20770         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
20771         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
20772
20773 2009-08-09  Bruno Haible  <bruno@clisp.org>
20774
20775         Make <sys/select.h> really self-contained, also on Solaris 10.
20776         * lib/sys_select.in.h: Include <string.h>.
20777         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
20778         Solaris 10 problem.
20779         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
20780         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
20781         Reported by Jim Meyering.
20782
20783 2009-08-09  Bruno Haible  <bruno@clisp.org>
20784
20785         Avoid warnings from 'aclocal' that are due to a use of macro name
20786         AM_XGETTEXT_OPTION that is not defined in automake.
20787         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
20788         automake.
20789         * modules/error (configure.ac): Likewise.
20790         * modules/propername (configure.ac): Likewise.
20791         * modules/vasprintf (configure.ac): Likewise.
20792         * modules/verror (configure.ac): Likewise.
20793         * modules/xprintf (configure.ac): Likewise.
20794         * modules/xvasprintf (configure.ac): Likewise.
20795
20796 2009-08-08  Bruno Haible  <bruno@clisp.org>
20797
20798         Avoid compilation error in C++ mode.
20799         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
20800         Reported by Sam Steingold <sds@gnu.org>.
20801
20802 2009-08-08  Bruno Haible  <bruno@clisp.org>
20803
20804         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
20805         for the various Unix platforms.
20806         * doc/posix-headers/limits.texi: Update platforms list regarding
20807         HOST_NAME_MAX.
20808         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20809
20810 2009-08-07  Jim Meyering  <meyering@redhat.com>
20811
20812         selinux-at: fix typo in a comment
20813         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
20814         Spotted by Paolo Bonzini.
20815
20816         selinux-at: remove redundant m4 code, add documentation
20817         * modules/selinux-at (configure.ac): Remove redundant code.
20818         LIB_SELINUX is already set via the dependent module, selinux-h.
20819         (Include): Add quotes around selinux-at.h.
20820         * lib/selinux-at.h: Add documentation.
20821         Reported by Bruno Haible in
20822         http://marc.info/?l=gnulib-bug&m=124958988300749
20823
20824 2009-08-07  Bruno Haible  <bruno@clisp.org>
20825
20826         Avoid link error on MacOS X 10.3 and 10.4.
20827         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
20828         on non-ELF systems.
20829         * lib/argp-pv.c (argp_program_version): Likewise.
20830         Reported by Simon Josefsson.
20831
20832 2009-08-07  Simon Josefsson  <simon@josefsson.org>
20833
20834         * tests/test-version-etc.sh: Use $EXEEXT.
20835
20836 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
20837
20838         update-copyright: update documentation to point to maint.mk
20839         * build-aux/update-copyright: Here.
20840
20841 2009-08-06  Jim Meyering  <meyering@redhat.com>
20842
20843         maint.mk: support update-copyright-local
20844         * top/maint.mk (update-copyright-local): Define place-holder.
20845         (update-copyright): Depend on $(update-copyright-local).
20846
20847 2009-08-06  Jim Meyering  <meyering@redhat.com>
20848
20849         selinux-at: new module
20850         Initially written for coreutils, this module will soon be
20851         used by findutils, too.
20852         * MODULES.html.sh [Misc]: Add selinux-at.
20853         * lib/selinux-at.h: New file, from coreutils.
20854         * lib/selinux-at.c: Likewise.
20855         * modules/selinux-at: Likewise.
20856         (License): Change from LGPL to GPL, since it depends
20857         on the GPL'd openat module.
20858
20859         doc: update README
20860         * README: Remove references to cogito.
20861         Remove cvs-repo-updating instructions from 2007.
20862         Don't imply that CVS is better if you have limited disk space.
20863
20864 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
20865
20866         update-copyright: support C-style comments
20867         * build-aux/update-copyright: Implement and document.
20868         * tests/test-update-copyright.sh: Test.
20869
20870 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
20871
20872         update-copyright: support omitted "(C)"
20873         * build-aux/update-copyright: Implement and document.  Also,
20874         allow variable whitespace before "(C)".
20875         * tests/test-update-copyright.sh: Test.
20876
20877 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
20878
20879         update-copyright: don't trip on non-FSF copyright statements
20880         * build-aux/update-copyright: Fix so that the first correctly
20881         formatted FSF copyright statement is recognized no matter what
20882         appears before it.  Update documentation.
20883         * tests/test-update-copyright.sh: Test that.
20884
20885 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
20886
20887         update-copyright: clean up code a little
20888         * build-aux/update-copyright: Append "_re" to the name of any
20889         variable holding a regular expression.
20890         Replace "old" and "new" with "stmt" in variable names.
20891         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
20892         handled correctly.
20893         Format code more consistently.
20894
20895 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
20896
20897         update-copyright-tests: improve portability
20898         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
20899         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
20900
20901 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
20902
20903         update-copyright: support @copyright{} and &copy;
20904         * build-aux/update-copyright: Implement and document.
20905         * tests/test-update-copyright.sh: Test.
20906
20907 2009-08-04  Jim Meyering  <meyering@redhat.com>
20908
20909         update-copyright-tests: correctly test EOL=\r\n handling
20910         * tests/test-update-copyright.sh: Put \r at the end of some lines
20911         for the dos-eol tests.  Based on a patch by Joel E. Denny.
20912
20913         maint.mk: make update-copyright exclusion list more configurable
20914         * top/maint.mk (update-copyright): Default to excluding COPYING,
20915         but allow an override, in case someone does want to update that file.
20916
20917         maint.mk: don't update copyright date in COPYING
20918         * top/maint.mk (update-copyright): Exclude COPYING.
20919
20920         maint.mk: add a copyright-updating rule
20921         * top/maint.mk (update-copyright): New rule.
20922         Derived from coreutils/Makefile.am.
20923
20924         update-copyright: rename some variables
20925         * build-aux/update-copyright: Rename a few variables for clarity.
20926         Tweak syntax.  List Joel E. Denny as coauthor.
20927
20928 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
20929
20930         update-copyright: fix bug for 2-digit last year and add tests
20931         * build-aux/update-copyright: Fix bug.
20932         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
20933         specified.
20934         * modules/update-copyright-tests: New
20935         * tests/test-update-copyright.sh: New.
20936
20937 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
20938
20939         update-copyright: handle leading tabs in line prefix
20940         * build-aux/update-copyright: Count leading tabs as 8 spaces
20941         when computing margin.  This helps with the formatting of
20942         ChangeLogs, for example.
20943         Fix documentation a little.
20944
20945 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
20946
20947         update-copyright: support EOL=\r\n
20948         * build-aux/update-copyright: Implement that.
20949
20950 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
20951
20952         update-copyright: automatically format copyright statements
20953         * build-aux/update-copyright: Implement that.
20954         Also, be a little more predictable and safer by always failing
20955         when the full copyright format is not perfectly recognized as an
20956         unbroken whole.  Discussed at
20957         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
20958         Rewrite documentation.
20959
20960 2009-08-03  Bruno Haible  <bruno@clisp.org>
20961
20962         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
20963
20964 2009-08-02  Bruno Haible  <bruno@clisp.org>
20965
20966         Tests for module 'uname'.
20967         * modules/uname-tests: New file.
20968         * tests/test-uname.c: New file.
20969
20970         New module 'uname'.
20971         * lib/uname.c: New file.
20972         * m4/uname.m4: New file.
20973         * modules/uname: New file.
20974         * doc/posix-functions/uname.texi: Mention the new module.
20975
20976 2009-08-02  Bruno Haible  <bruno@clisp.org>
20977
20978         Tests for module 'sys_utsname'.
20979         * modules/sys_utsname-tests: New file.
20980         * tests/test-sys_utsname.c: New file.
20981
20982         New module 'sys_utsname'.
20983         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
20984         * m4/sys_utsname_h.m4: New file.
20985         * modules/sys_utsname: New file.
20986         * doc/posix-headers/sys_utsname.texi: Mention the new module.
20987
20988 2009-08-02  Bruno Haible  <bruno@clisp.org>
20989
20990         Implicitly initialize the sockets library.
20991         * lib/gethostname.c: Include sockets.h.
20992         (rpl_gethostname): Invoke gl_sockets_startup.
20993         * lib/socket.c: Include sockets.h.
20994         (rpl_socket): Invoke gl_sockets_startup.
20995         * modules/gethostname (Depends-on): Add sockets.
20996         * modules/socket (Depends-on): Likewise.
20997         * tests/test-poll.c: Don't include sockets.h.
20998         (main): Don't invoke gl_sockets_startup.
20999         * tests/test-select.c: Don't include sockets.h.
21000         (main): Don't invoke gl_sockets_startup.
21001
21002 2009-08-02  Bruno Haible  <bruno@clisp.org>
21003
21004         Allow multiple calls to gl_sockets_startup.
21005         * lib/sockets.c (initialized_sockets_version): New variable.
21006         (gl_sockets_startup): Do nothing if already called for this or a higher
21007         version.
21008         (gl_sockets_cleanup): Reset initialized_sockets_version.
21009
21010 2009-08-03  Simon Josefsson  <simon@josefsson.org>
21011
21012         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
21013         different project/version.
21014
21015 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
21016             Bruno Haible  <bruno@clisp.org>
21017
21018         Tests for module 'pipe-filter-gi'.
21019         * modules/pipe-filter-gi-tests: New file.
21020         * tests/test-pipe-filter-gi1.sh: New file.
21021         * tests/test-pipe-filter-gi1.c: New file.
21022         * tests/test-pipe-filter-gi2.sh: New file.
21023         * tests/test-pipe-filter-gi2-main.c: New file.
21024         * tests/test-pipe-filter-gi2-child.c: New file.
21025
21026         New module 'pipe-filter-gi'.
21027         * lib/pipe-filter-gi.c: New file.
21028         * modules/pipe-filter-gi: New file.
21029
21030 2009-08-02  Bruno Haible  <bruno@clisp.org>
21031             Paolo Bonzini  <bonzini@gnu.org>
21032
21033         Tests for module 'pipe-filter-ii'.
21034         * modules/pipe-filter-ii-tests: New file.
21035         * tests/test-pipe-filter-ii1.sh: New file.
21036         * tests/test-pipe-filter-ii1.c: New file.
21037         * tests/test-pipe-filter-ii2.sh: New file.
21038         * tests/test-pipe-filter-ii2-main.c: New file.
21039         * tests/test-pipe-filter-ii2-child.c: New file.
21040
21041         New module 'pipe-filter-ii'.
21042         * lib/pipe-filter.h: New file.
21043         * lib/pipe-filter-ii.c: New file.
21044         * lib/pipe-filter-aux.h: New file.
21045         * modules/pipe-filter-ii: New file.
21046
21047 2009-08-02  Simon Josefsson  <simon@josefsson.org>
21048
21049         * lib/gc-libgcrypt.c: Change copyright to FSF.
21050         * lib/gc-gnulib.c: Likewise.
21051
21052 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
21053
21054         * lib/gethostname.c: Include limits.h.
21055
21056 2009-08-02  Simon Josefsson  <simon@josefsson.org>
21057             Bruno Haible  <bruno@clisp.org>
21058
21059         Ensure HOST_NAME_MAX as part of the gethostname module.
21060         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
21061         define also HOST_NAME_MAX.
21062         * tests/test-gethostname.c: Include <limits.h>.
21063         (main): Check also HOST_NAME_MAX.
21064         * doc/posix-headers/limits.texi: Document the mingw problem.
21065
21066 2009-08-02  Bruno Haible  <bruno@clisp.org>
21067
21068         * lib/gethostname.c (gethostname): Fix handling of large len argument.
21069         Add comments.
21070
21071 2009-03-31  Simon Josefsson  <simon@josefsson.org>
21072
21073         * lib/gethostname.c: Add Windows wrapper.
21074         * m4/gethostname.m4: Look for gethostname in -lws2_32.
21075         * modules/gethostname: Depend on sys_socket & errno, for also
21076         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
21077         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
21078
21079 2009-07-31  Jim Meyering  <meyering@redhat.com>
21080
21081         getloadavg: fix symbol name in comment
21082         * lib/getloadavg.c: Correct a typo I introduced when adding
21083         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
21084         Matt Kraai spotted the problem.
21085
21086 2009-07-29  Matt Kraai  <mkraai@beckman.com>
21087
21088         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
21089         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
21090         code also if ! defined N_NAME_POINTER.
21091         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
21092         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
21093         but the n_name member is a 12-byte array.
21094
21095 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
21096
21097         update-copyright: generalize comment handling
21098         * build-aux/update-copyright: Handle copyright statements
21099         within more comment styles.
21100         Document usage.
21101         Report any file with an external copyright holder or parse failure.
21102
21103 2009-07-29  Jim Meyering  <meyering@redhat.com>
21104
21105         mktime: correct setting of REPLACE_MKTIME
21106         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
21107
21108         update-copyright: new module
21109         * modules/update-copyright: New file.
21110         * build-aux/update-copyright: New file.
21111         * MODULES.html.sh (maint+release support): Add update-copyright.
21112
21113 2009-07-27  Bruno Haible  <bruno@clisp.org>
21114
21115         Fix compilation error when <ctime> is used and mktime is replaced.
21116         * lib/time.in.h (mktime): New declaration.
21117         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
21118         REPLACE_MKTIME instead of defining mktime in config.h.
21119         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
21120         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
21121         Reported by Ross McFarland <rwmcfa1@neces.com>.
21122
21123 2009-07-27  Bruno Haible  <bruno@clisp.org>
21124
21125         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
21126         Reported by Matt Kraai <mkraai@beckman.com>.
21127
21128 2009-07-25  Jim Meyering  <meyering@redhat.com>
21129
21130         maint.mk: avoid warnings about missing files
21131         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
21132         diagnostic when .prev-version does not exist.
21133         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
21134         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
21135         nonexistent cfg.mk.
21136         Suggestions from Simon Josefsson.
21137
21138 2009-07-25  Bruno Haible  <bruno@clisp.org>
21139
21140         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
21141         defined as macros. Needed on QNX 6.4.1.
21142         Reported by Matt Kraai <mkraai@beckman.com>.
21143
21144 2009-07-23  Jim Meyering  <meyering@redhat.com>
21145
21146         maint.mk: invoke "make dist" with a working value of XZ_OPT
21147         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
21148
21149 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
21150
21151         Make fseeko.c compile on QNX.
21152         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
21153
21154 2009-07-22  Peter Simons  <simons@cryp.to>
21155
21156         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
21157         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
21158         * lib/md4.h: Likewise.
21159         * lib/md5.h: Likewise.
21160         * lib/sha1.h: Likewise.
21161         * lib/sha256.h: Likewise.
21162         * lib/sha512.h: Likewise.
21163
21164         tests-sha1: don't assign literal string to 'char *' variable
21165         * tests/test-sha1.c (main): Declare locals with "const" to match
21166         attributes of the right hand side.
21167
21168 2009-07-21  Eric Blake  <ebb9@byu.net>
21169
21170         dup2: fix more mingw problems
21171         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
21172         fd to itself.
21173         * doc/posix-functions/dup2.texi (dup2): Document the bug.
21174         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
21175         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
21176         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
21177         care of mingw bugs.
21178
21179 2009-07-21  Jim Meyering  <meyering@redhat.com>
21180
21181         vc-list-files: avoid failure when /bin/sh is dash
21182         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
21183         On some Debian based systems, /bin/sh is a symlink to dash, and running
21184         this command would omit the "/" following each 'tests' prefix:
21185           dash -x build-aux/vc-list-files -C . tests
21186         That is because bash and dash work differently:
21187           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
21188           bash ok
21189           dash odd
21190
21191 2009-07-21  Eric Blake  <ebb9@byu.net>
21192
21193         dup2-tests: test previous patch
21194         * modules/dup2-tests: New file.
21195         * tests/test-dup2.c: Likewise.
21196         * tests/test-open.c (main): Avoid unspecified behavior.
21197         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
21198         test.
21199
21200         dup2: work around mingw and cygwin 1.5 bug
21201         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
21202         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
21203         * modules/unistd (Makefile.am): Substitute it.
21204         * lib/unistd.in.h (dup2): Declare the replacement.
21205         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
21206         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
21207         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
21208         * modules/execute (Depends-on): Add dup2.
21209         * modules/fseterr (Depends-on): Likewise.
21210         * modules/pipe (Depends-on): Likewise.
21211         * modules/posix_spawn-internal (Depends-on): Likewise.
21212
21213 2009-07-21  Bruno Haible  <bruno@clisp.org>
21214
21215         * modules/.gitattributes: New file.
21216
21217 2009-07-20  Bruno Haible  <bruno@clisp.org>
21218
21219         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
21220         (main): Use it.
21221
21222 2009-07-20  Eric Blake  <ebb9@byu.net>
21223
21224         test-pipe: make a bit more robust.
21225         * tests/test-pipe.c (myerr): Allow error messages regardless of
21226         what we do to stderr.
21227         (test_pipe): Rearrange to avoid deadlock.
21228         (child_main): Try a larger read, to ensure we avoided deadlock.
21229         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
21230         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
21231         if misused.
21232
21233 2009-07-19  Jim Meyering  <meyering@redhat.com>
21234
21235         fts: avoid false-positive cycle-detection
21236         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
21237         for each new command line argument.
21238
21239 2009-07-19  Bruno Haible  <bruno@clisp.org>
21240
21241         Fix build error on mingw with the modules sys_select and unistd.
21242         * modules/acl-tests (Depends-on): Add close.
21243         * modules/binary-io-tests (Depends-on): Likewise.
21244         * modules/closein-tests (Depends-on): Likewise.
21245         * modules/flock-tests (Depends-on): Likewise.
21246         * modules/fsync-tests (Depends-on): Likewise.
21247         * modules/lseek-tests (Depends-on): Likewise.
21248         * modules/pipe-tests (Depends-on): Likewise.
21249         * modules/posix_spawn-tests (Depends-on): Likewise.
21250         * modules/posix_spawnp-tests (Depends-on): Likewise.
21251         * modules/stat-time-tests (Depends-on): Likewise.
21252         * modules/yesno-tests (Depends-on): Likewise.
21253
21254 2009-07-19  Bruno Haible  <bruno@clisp.org>
21255
21256         Unify conditionals.
21257         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
21258         macros, not at the compiler macros.
21259         * lib/pipe.c: Likewise.
21260         * lib/execute.c: Likewise.
21261         * lib/spawni.c: Likewise.
21262
21263 2009-07-19  Bruno Haible  <bruno@clisp.org>
21264
21265         Fix handling of closed stdin/stdout/stderr on mingw.
21266         * lib/w32spawn.h: Include unistd.h.
21267         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
21268         file descriptor with O_NOINHERIT flag.
21269         (fd_safer_noinherit): New function, based on fd-safer.c.
21270         (dup_safer_noinherit): New function, based on dup-safer.c.
21271         (undup_safer_noinherit): New function.
21272         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
21273         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
21274         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
21275         instead of fd_safer.
21276         * tests/test-pipe.c: Include <windows.h>.
21277         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
21278
21279         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
21280         from main.
21281         (test_pipe): Pass an extra argument for disambiguation.
21282         (main): Invoke parent_main or child_main.
21283
21284         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
21285         consistently.
21286
21287 2009-07-18  Eric Blake  <ebb9@byu.net>
21288
21289         test-pipe: fix mingw build
21290         * tests/test-pipe.c (main): Avoid fcntl on mingw.
21291
21292 2009-07-18  Bruno Haible  <bruno@clisp.org>
21293
21294         * modules/pipe-tests (Makefile.am): Fix typo.
21295
21296 2009-07-18  Eric Blake  <ebb9@byu.net>
21297
21298         error: fix mingw build
21299         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
21300         Reported by Bruno Haible.
21301
21302         error: avoid undefined use of stdout
21303         * lib/error.c (error, error_at_line): Check that fd 1 is open
21304         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
21305         is handling faults and the close_stdout module wants to report the
21306         detection of closed stdout as an error.
21307
21308 2009-07-17  Eric Blake  <ebb9@byu.net>
21309
21310         pipe: be robust in face of closed fds
21311         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
21312         should cause child to misbehave.
21313         * modules/pipe-tests: New module.
21314         * tests/test-pipe.c: New file.
21315         * tests/test-pipe.sh: New file.
21316         Reported by Akim Demaille.
21317
21318 2009-07-14  Bruno Haible  <bruno@clisp.org>
21319
21320         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
21321         Reported by anonymous kc.
21322
21323 2009-07-07  Jim Meyering  <meyering@redhat.com>
21324
21325         maint.mk: don't look for translatable strings in *.m4 or *.mk
21326         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
21327         when searching for translatable strings.
21328
21329 2009-07-05  Jim Meyering  <meyering@redhat.com>
21330
21331         remove superfluous parentheses in STREQ definition
21332         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
21333         * lib/getugroups.c (STREQ): Likewise.
21334         * lib/fnmatch.c (STREQ): Likewise.
21335         Spotted by Bruno Haible.
21336
21337 2009-07-04  Jim Meyering  <meyering@redhat.com>
21338
21339         argv-iter: new module
21340         * MODULES.html.sh: Add argv-iter.
21341         * lib/argv-iter.c, lib/argv-iter.h: New files.
21342         * modules/argv-iter: New file.
21343         * modules/argv-iter-tests: New file.
21344         * tests/test-argv-iter.c: Test it.
21345
21346 2009-07-04  Bruno Haible  <bruno@clisp.org>
21347
21348         Fix assertion.
21349         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
21350         contains more exact copies of a given entry than file2, leave the extra
21351         copies unpaired rather than aborting.
21352         Reported by Eric Blake.
21353
21354 2009-07-02  Bruno Haible  <bruno@clisp.org>
21355
21356         Speedup git-merge-changelog for git cherry-pick.
21357         * lib/git-merge-changelog.c (struct entries_mapping): New type.
21358         (entries_mapping_get): New function, extracted from compute_mapping.
21359         (entries_mapping_reverse_get): New function.
21360         (compute_mapping): Add a 'full' argument. Return the result in a
21361         'struct entries_mapping'.
21362         (main): Update. Access the mappings through entries_mapping_get.
21363         Reported by Eric Blake.
21364
21365 2009-07-02  Bruno Haible  <bruno@clisp.org>
21366
21367         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
21368         best_i.
21369
21370 2009-07-02  Bruno Haible  <bruno@clisp.org>
21371
21372         Speed up approximate search for matching ChangeLog entries.
21373         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
21374         argument. Call fstrcmp_bounded instead of fstrcmp.
21375         (compute_mapping, try_split_merged_entry, main): Update callers.
21376
21377 2009-07-02  Bruno Haible  <bruno@clisp.org>
21378
21379         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
21380
21381 2009-06-30  Bruno Haible  <bruno@clisp.org>
21382
21383         Reduce the number of uc_is_cased calls.
21384         * lib/unicase.h (casing_suffix_context_t): Add
21385         'first_char_except_ignorable' field.
21386         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
21387         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
21388         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
21389         Update initializer.
21390         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
21391         case-ignorable characters.
21392         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
21393         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
21394         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
21395         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
21396         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
21397
21398 2009-06-30  Bruno Haible  <bruno@clisp.org>
21399
21400         Tests for module 'unicase/ignorable'.
21401         * modules/unicase/ignorable-tests: New file.
21402         * tests/unicase/test-ignorable.c: New file, generated by
21403         gen-uni-tables.
21404
21405         Tests for module 'unicase/cased'.
21406         * modules/unicase/cased-tests: New file.
21407         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
21408         * tests/unicase/test-predicate-part1.h: New file, derived from
21409         tests/unictype/test-predicate-part1.h.
21410         * tests/unicase/test-predicate-part2.h: New file, same as
21411         tests/unictype/test-predicate-part2.h.
21412
21413         Fix evaluation of "Before C" condition of FINAL_SIGMA.
21414         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
21415         (output_casing_properties): New function.
21416         (main): Call it.
21417         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
21418         * lib/unicase/cased.c: Include unictype/bitmap.h.
21419         (uc_is_cased): Define through a bitmap lookup.
21420         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
21421         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
21422         (uc_is_case_ignorable): Define through a bitmap lookup.
21423         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
21424         lib/unictype/bitmap.h.
21425         (Depends-on): Add inline. Clean up.
21426         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
21427         lib/unictype/bitmap.h.
21428         (Depends-on): Add inline. Clean up.
21429         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
21430         recognition.
21431         * tests/unicase/test-u16-tolower.c (main): Likewise.
21432         * tests/unicase/test-u32-tolower.c (main): Likewise.
21433
21434 2009-06-30  Bruno Haible  <bruno@clisp.org>
21435
21436         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
21437         * lib/unicase/u16-casemap.c: Likewise.
21438         * lib/unicase/u32-casemap.c: Likewise.
21439
21440 2009-06-29  Bruno Haible  <bruno@clisp.org>
21441
21442         Define u32_casefold as a wrapper around u32_ct_casefold.
21443         * lib/unicase/u32-casefold.c: Update.
21444         * modules/unicase/u32-casefold (Depends-on): Add
21445         unicase/u32-ct-casefold, unicase/empty-prefix-context,
21446         unicase/empty-suffix-context. Clean up.
21447
21448         Define u16_casefold as a wrapper around u16_ct_casefold.
21449         * lib/unicase/u16-casefold.c: Update.
21450         * modules/unicase/u16-casefold (Depends-on): Add
21451         unicase/u16-ct-casefold, unicase/empty-prefix-context,
21452         unicase/empty-suffix-context. Clean up.
21453
21454         Define u8_casefold as a wrapper around u8_ct_casefold.
21455         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
21456         * lib/unicase/u8-casefold.c: Update.
21457         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
21458         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
21459
21460         Define u32_totitle as a wrapper around u32_ct_totitle.
21461         * lib/unicase/u32-totitle.c: Update.
21462         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
21463         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
21464
21465         Define u16_totitle as a wrapper around u16_ct_totitle.
21466         * lib/unicase/u16-totitle.c: Update.
21467         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
21468         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
21469
21470         Define u8_totitle as a wrapper around u8_ct_totitle.
21471         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
21472         functions.
21473         (FUNC): Delegate to U_CT_TOTITLE.
21474         * lib/unicase/u8-totitle.c: Update.
21475         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
21476         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
21477
21478         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
21479         invocation.
21480         * modules/unicase/u32-tolower (Depends-on): Add
21481         unicase/empty-prefix-context, unicase/empty-suffix-context.
21482
21483         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
21484         invocation.
21485         * modules/unicase/u16-tolower (Depends-on): Add
21486         unicase/empty-prefix-context, unicase/empty-suffix-context.
21487
21488         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
21489         * modules/unicase/u8-tolower (Depends-on): Add
21490         unicase/empty-prefix-context, unicase/empty-suffix-context.
21491
21492         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
21493         invocation.
21494         * modules/unicase/u32-toupper (Depends-on): Add
21495         unicase/empty-prefix-context, unicase/empty-suffix-context.
21496
21497         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
21498         invocation.
21499         * modules/unicase/u16-toupper (Depends-on): Add
21500         unicase/empty-prefix-context, unicase/empty-suffix-context.
21501
21502         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
21503         * modules/unicase/u8-toupper (Depends-on): Add
21504         unicase/empty-prefix-context, unicase/empty-suffix-context.
21505
21506         New module 'unicase/u32-ct-casefold'.
21507         * lib/unicase/u32-ct-casefold.c: New file.
21508         * modules/unicase/u32-ct-casefold: New file.
21509
21510         New module 'unicase/u16-ct-casefold'.
21511         * lib/unicase/u16-ct-casefold.c: New file.
21512         * modules/unicase/u16-ct-casefold: New file.
21513
21514         New module 'unicase/u8-ct-casefold'.
21515         * lib/unicase/u8-ct-casefold.c: New file.
21516         * lib/unicase/u-ct-casefold.h: New file, derived from
21517         lib/unicase/u-casefold.h.
21518         * modules/unicase/u8-ct-casefold: New file.
21519
21520         New module 'unicase/u32-ct-totitle'.
21521         * lib/unicase/u32-ct-totitle.c: New file.
21522         * modules/unicase/u32-ct-totitle: New file.
21523
21524         New module 'unicase/u16-ct-totitle'.
21525         * lib/unicase/u16-ct-totitle.c: New file.
21526         * modules/unicase/u16-ct-totitle: New file.
21527
21528         New module 'unicase/u8-ct-totitle'.
21529         * lib/unicase/u8-ct-totitle.c: New file.
21530         * lib/unicase/u-ct-totitle.h: New file, derived from
21531         lib/unicase/u-totitle.h.
21532         * modules/unicase/u8-ct-totitle: New file.
21533
21534         New module 'unicase/u32-ct-tolower'.
21535         * lib/unicase/u32-ct-tolower.c: New file.
21536         * modules/unicase/u32-ct-tolower: New file.
21537
21538         New module 'unicase/u16-ct-tolower'.
21539         * lib/unicase/u16-ct-tolower.c: New file.
21540         * modules/unicase/u16-ct-tolower: New file.
21541
21542         New module 'unicase/u8-ct-tolower'.
21543         * lib/unicase/u8-ct-tolower.c: New file.
21544         * modules/unicase/u8-ct-tolower: New file.
21545
21546         New module 'unicase/u32-ct-toupper'.
21547         * lib/unicase/u32-ct-toupper.c: New file.
21548         * modules/unicase/u32-ct-toupper: New file.
21549
21550         New module 'unicase/u16-ct-toupper'.
21551         * lib/unicase/u16-ct-toupper.c: New file.
21552         * modules/unicase/u16-ct-toupper: New file.
21553
21554         New module 'unicase/u8-ct-toupper'.
21555         * lib/unicase/u8-ct-toupper.c: New file.
21556         * modules/unicase/u8-ct-toupper: New file.
21557
21558         Add context arguments to u*_casemap functions.
21559         * lib/unicase/unicasemap.h: Include unicase.h.
21560         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
21561         suffix_context arguments.
21562         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
21563         functions.
21564         (FUNC): Add prefix_context and suffix_context arguments. Use
21565         uc_is_cased and uc_is_case_ignorable.
21566         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
21567         * lib/unicase/u16-casemap.c: Likewise.
21568         * lib/unicase/u32-casemap.c: Likewise.
21569         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
21570         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
21571         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
21572         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
21573         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
21574         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
21575
21576         New module 'unicase/u32-suffix-context'.
21577         * lib/unicase/u32-suffix-context.c: New file.
21578         * modules/unicase/u32-suffix-context: New file.
21579
21580         New module 'unicase/u16-suffix-context'.
21581         * lib/unicase/u16-suffix-context.c: New file.
21582         * modules/unicase/u16-suffix-context: New file.
21583
21584         New module 'unicase/u8-suffix-context'.
21585         * lib/unicase/u8-suffix-context.c: New file.
21586         * lib/unicase/u-suffix-context.h: New file.
21587         * modules/unicase/u8-suffix-context: New file.
21588
21589         New module 'unicase/empty-suffix-context'.
21590         * lib/unicase/empty-suffix-context.c: New file.
21591         * modules/unicase/empty-suffix-context: New file.
21592
21593         New module 'unicase/u32-prefix-context'.
21594         * lib/unicase/u32-prefix-context.c: New file.
21595         * modules/unicase/u32-prefix-context: New file.
21596
21597         New module 'unicase/u16-prefix-context'.
21598         * lib/unicase/u16-prefix-context.c: New file.
21599         * modules/unicase/u16-prefix-context: New file.
21600
21601         New module 'unicase/u8-prefix-context'.
21602         * lib/unicase/u8-prefix-context.c: New file.
21603         * lib/unicase/u-prefix-context.h: New file.
21604         * lib/unicase/context.h: New file.
21605         * modules/unicase/u8-prefix-context: New file.
21606
21607         New module 'unicase/empty-prefix-context'.
21608         * lib/unicase/empty-prefix-context.c: New file.
21609         * modules/unicase/empty-prefix-context: New file.
21610
21611         New module 'unicase/ignorable'.
21612         * lib/unicase/ignorable.c: New file.
21613         * modules/unicase/ignorable: New file.
21614
21615         New module 'unicase/cased'.
21616         * lib/unicase/caseprop.h: New file.
21617         * lib/unicase/cased.c: New file.
21618         * modules/unicase/cased: New file.
21619
21620         New functions for case mapping of substrings.
21621         * lib/unicase.h (casing_prefix_context_t): New type.
21622         (unicase_empty_prefix_context): New variable.
21623         (u8_casing_prefix_context, u16_casing_prefix_context,
21624         u32_casing_prefix_context, u8_casing_prefixes_context,
21625         u16_casing_prefixes_context, u32_casing_prefixes_context): New
21626         declarations.
21627         (casing_suffix_context_t): New type.
21628         (unicase_empty_suffix_context): New variable.
21629         (u8_casing_suffix_context, u16_casing_suffix_context,
21630         u32_casing_suffix_context, u8_casing_suffixes_context,
21631         u16_casing_suffixes_context, u32_casing_suffixes_context,
21632         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
21633         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
21634         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
21635         declarations.
21636
21637 2009-06-28  Jim Meyering  <meyering@redhat.com>
21638
21639         boostrap: indent only with spaces
21640         * build-aux/bootstrap: Indent only with spaces, never TABs.
21641
21642         bootstrap: split long lines
21643         * build-aux/bootstrap: Keep line length < 80.
21644
21645         bootstrap: sync from coreutils
21646         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
21647         just as autoreconf does.  Verify a list of prerequisite
21648         package-name,version-number pairs if defined in bootstrap.conf.
21649         Refer to README-prereq, if prerequisites are not satisfied.
21650
21651 2009-06-27  Eric Blake  <ebb9@byu.net>
21652
21653         tests: add test for bogus NULL definition
21654         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
21655         * tests/test-stdlib.c: Likewise.
21656         * tests/test-string.c: Likewise.
21657         * tests/test-locale.c: Likewise.
21658         * tests/test-unistd.c: Likewise.
21659         * modules/stdio-tests (Depends-on): Add verify.
21660         * modules/stdlib-tests (Depends-on): Likewise.
21661         * modules/string-tests (Depends-on): Likewise.
21662         * modules/locale-tests (Depends-on): Likewise.
21663         * modules/unistd-tests (Depends-on): Likewise.
21664
21665 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
21666
21667         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
21668         self-explaining comment.
21669         * m4/selinux-selinux-h: Update serial.
21670         (gl_LIBSELINUX): New macro, adding a warning for missing development
21671         packages to code extracted from...
21672         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
21673         Add warning for missing development packages here, too.
21674
21675 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
21676
21677         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
21678
21679 2009-06-25  Eric Blake  <ebb9@byu.net>
21680
21681         version-etc: fix regression
21682         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
21683         gcc.
21684         (version_etc): Use it, to catch bugs with trailing NULL.
21685         * lib/version-etc.c (version_etc_arn): Delete unused argument.
21686         (version_etc_va): Fix logic bug.
21687         * modules/version-etc-tests: Add test.
21688         * tests/test-version-etc.c: New file.
21689         * tests/test-version-etc.sh: Likewise.
21690
21691 2009-06-25  Sam Steingold  <sds@gnu.org>
21692
21693         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
21694         mbtowc declaration.
21695
21696 2009-06-25  Eric Blake  <ebb9@byu.net>
21697
21698         fpurge: migrate into <stdio.h>
21699         * lib/fpurge.h: Delete...
21700         * lib/stdio.in.h (fpurge): ...and declare here, instead.
21701         * lib/fpurge.c (fpurge): Change declaring header.
21702         * modules/fpurge (Files): Drop deleted file.
21703         (Depends-on): Add stdio.
21704         (configure.ac): Set witness.
21705         * modules/stdio (Makefile.am): Support fpurge macros.
21706         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
21707         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
21708         * lib/fflush.c: Update client.
21709         * tests/test-fpurge.c: Likewise.
21710         * NEWS: Mention the change.
21711
21712 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
21713
21714         * lib/argp-version-etc.c (program_authors): Add const
21715         qualifier.
21716         * lib/version-etc.c: Fix typos in the comments.
21717         * modules/argp-version-etc: Depends on version-etc.
21718
21719 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
21720
21721         argp-version-etc: new module.
21722
21723         * lib/argp-version-etc.c: New file.
21724         * lib/argp-version-etc.h: New file.
21725         * modules/argp-version-etc: New file.
21726         * modules/argp-version-etc-tests: New file.
21727         * tests/test-argp-version-etc.c: New test.
21728         * tests/test-argp-version-etc-1.sh: New test.
21729
21730 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
21731
21732         Provide additional interfaces and documentation for version-etc
21733         module.
21734
21735         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
21736         interfaces.
21737         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
21738         prototypes.
21739
21740 2009-06-24  Bruno Haible  <bruno@clisp.org>
21741
21742         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
21743         HAVE_LIB${NAME} macro.
21744         Reported by Sam Steingold <sds@gnu.org>.
21745
21746 2009-06-23  Simon Josefsson  <simon@josefsson.org>
21747
21748         * modules/hash-tests (test_hash_LDADD): Link to libintl when
21749         needed.
21750
21751 2009-06-21  Bruno Haible  <bruno@clisp.org>
21752
21753         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
21754         work.
21755         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
21756         together with LIB${NAME}, LTLIB${NAME}.
21757         Reported by Sam Steingold <sds@gnu.org>.
21758
21759 2009-06-20  Jim Meyering  <meyering@redhat.com>
21760
21761         tests: make sc_require_test_exit_idiom more generic
21762         * top/maint.mk (Exit_witness_file): New overridable variable.
21763         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
21764         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
21765
21766 2009-06-19  Jim Meyering  <meyering@redhat.com>
21767
21768         hash: reverse order of src/dst parameters in an internal interface
21769         * lib/hash.c (transfer_entries): Reverse order of parameters to
21770         put DST before SRC.  Adjust callers.
21771
21772         tests: test-hash: avoid wholesale duplication
21773         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
21774         Instead, use a loop and add a single conditional.
21775
21776         tests: test-hash: allow seed selection via a command line argument
21777         * tests/test-hash.c (get_seed): New function.
21778         (main): Use it.
21779
21780 2009-06-19  Eric Blake  <ebb9@byu.net>
21781
21782         hash: avoid memory leak on allocation failure
21783         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
21784         failure.  Factor repeated algorithm...
21785         (transfer_entries): ...into new helper routine.
21786         (hash_delete): React to hash_rehash return value.
21787
21788         hash: reduce memory pressure in hash_rehash no-op case
21789         * lib/hash.c (next_prime): Avoid overflow.
21790         (hash_initialize): Factor bucket size computation...
21791         (compute_bucket_size): ...into new helper function.
21792         (hash_rehash): Use new function and open coding to reduce memory
21793         pressure, and avoid a memory leak in USE_OBSTACK code.
21794         Reported by Jim Meyering.
21795
21796 2009-06-18  Eric Blake  <ebb9@byu.net>
21797
21798         hash: make rotation more obvious
21799         * modules/hash (Depends-on): Add bitrotate and stdint.
21800         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
21801         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
21802         (SIZE_MAX): Rely on headers for definition.
21803         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
21804         (raw_hasher): Use rotr_sz.
21805         Suggested by Jim Meyering.
21806
21807         hash: fix memory leak in last patch
21808         * lib/hash.c (hash_rehash): Avoid memory leak.
21809
21810         hash: avoid no-op rehashing
21811         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
21812
21813         hash: provide default callback functions
21814         * lib/hash.c (raw_hasher, raw_comparator): New functions.
21815         (hash_initialize): Use them as defaults.
21816         * tests/test-hash.c (main): Test this.
21817
21818         hash: minor optimization
21819         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
21820         when possible.
21821         (hash_initialize): Document this promise.
21822         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
21823         * tests/test-hash.c (hash_compare_strings): Test this.
21824
21825 2009-06-18  Bruno Haible  <bruno@clisp.org>
21826
21827         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
21828         going to be replaced anyway.
21829
21830 2009-06-18  Bruno Haible  <bruno@clisp.org>
21831
21832         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
21833         in one place.
21834         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
21835         be replaced anyway.
21836
21837 2009-06-18  Eric Blake  <ebb9@byu.net>
21838
21839         hash: check for resize before insertion
21840         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
21841         threshold before insertion, so that a pathological hash_rehash
21842         that fills every bucket can still trigger another rehash.
21843
21844 2009-06-18  Jim Meyering  <meyering@redhat.com>
21845
21846         hash-tests: add a loop around the small tests
21847         * tests/test-hash.c (main): Repeat small tests with selected
21848         small initial table sizes.
21849
21850 2009-06-17  Eric Blake  <ebb9@byu.net>
21851
21852         hash: minor cleanups
21853         * lib/hash.h (hash_entry): Make opaque, by moving...
21854         * lib/hash.c (hash_entry): ...here.
21855         (hash_insert): Clarify restrictions on what can be inserted.
21856         (hash_get_next): Clarify when it is safe to remove an element
21857         during traversal.
21858         (check_tuning): Skip verification when tuning is known safe.
21859         (hash_initialize): Clarify restrictions on tuning.
21860
21861 2009-06-17  Jim Meyering  <jim@meyering.net>
21862         and Eric Blake  <ebb9@byu.net>
21863
21864         hash-tests: new module
21865         * modules/hash-tests: New file.
21866         * tests/test-hash.c: New file.
21867
21868 2009-06-17  Eric Blake  <ebb9@byu.net>
21869
21870         strstr-simple: document new module
21871         * MODULES.html.sh: Document new module.
21872
21873         strstr, strcasestr: replace on platforms with broken memchr
21874         * modules/strstr: Split into...
21875         * modules/strstr-simple: ...new module that does not care about
21876         performance, but does care about glibc bug.
21877         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
21878         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
21879         if platform memchr is broken, per Debian bug 521737.
21880         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
21881         memchr.
21882         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
21883         * doc/posix-functions/strstr.texi (strstr): Document the fix.
21884         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
21885         * modules/mountlist (Depends-on): Add strstr-simple.
21886         * modules/gen-uni-tables (Depends-on): Likewise.
21887         * modules/argz (Depends-on): Add strstr.
21888
21889 2009-06-17  Bruno Haible  <bruno@clisp.org>
21890
21891         * modules/posix_spawn-internal (Depends-on): Add errno.
21892
21893 2009-06-17  Bruno Haible  <bruno@clisp.org>
21894
21895         Define missing ESTALE on Interix 3.5.
21896         * lib/errno.in.h (ESTALE): Assign a value if missing.
21897         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
21898         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
21899         missing.
21900         * doc/posix-headers/errno.texi: Mention the Interix bug.
21901         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
21902
21903 2009-06-15  Eric Blake  <ebb9@byu.net>
21904
21905         memchr, memchr2: add valgrind exception
21906         * lib/memchr.valgrind: New file.
21907         * lib/memchr2.valgrind: New file.
21908         * modules/memchr (Files): Distribute valgrind file.
21909         * modules/memchr2 (Files): Likewise.
21910
21911         docs: memchr is no longer obsolete
21912         * MODULES.html.sh: Move memchr from obsolete to string.h section.
21913         * lib/string.in.h (memchr): Simplify logic.
21914
21915 2009-06-14  Jim Meyering  <meyering@redhat.com>
21916
21917         link-follow: fix the "checking..." message to not mention trailing slash
21918         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
21919         never considered trailing slashes.
21920
21921 2009-06-14  Bruno Haible  <bruno@clisp.org>
21922
21923         * m4/memchr.m4: Mention also the bug on IA-64.
21924         * doc/posix-functions/memchr.texi: Likewise.
21925
21926 2009-06-12  Eric Blake  <ebb9@byu.net>
21927
21928         memchr: detect broken x86_64 and alpha implementations
21929         * modules/memchr-tests (Depends-on): Move mmap detection...
21930         * modules/memchr (Depends-on): ...here.
21931         (configure.ac): Set indicator.
21932         * lib/string.in.h (memchr): Declare replacement.
21933         * modules/string (Makefile.am): Trigger replacement.
21934         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
21935         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
21936         bugs.
21937         * doc/posix-functions/memchr.texi (memchr): Document the bug.
21938         * modules/getpagesize (License): Relax license.
21939
21940 2009-06-11  Bruno Haible  <bruno@clisp.org>
21941
21942         * lib/idpriv.h: Add more references.
21943
21944 2009-06-08  Bruno Haible  <bruno@clisp.org>
21945
21946         Tests for module 'idpriv-droptemp'.
21947         * modules/idpriv-droptemp-tests: New file.
21948         * tests/test-idpriv-droptemp.sh: New file.
21949         * tests/test-idpriv-droptemp.su.sh: New file.
21950         * tests/test-idpriv-droptemp.c: New file.
21951
21952         New module 'idpriv-droptemp'.
21953         * lib/idpriv-droptemp.c: New file.
21954         * modules/idpriv-droptemp: New file.
21955
21956 2009-06-08  Bruno Haible  <bruno@clisp.org>
21957
21958         Tests for module 'idpriv-drop'.
21959         * modules/idpriv-drop-tests: New file.
21960         * tests/test-idpriv-drop.sh: New file.
21961         * tests/test-idpriv-drop.su.sh: New file.
21962         * tests/test-idpriv-drop.c: New file.
21963
21964         New module 'idpriv-drop'.
21965         * lib/idpriv.h: New file.
21966         * lib-idpriv-drop.c: New file.
21967         * m4/idpriv.m4: New file.
21968         * modules/idpriv-drop: New file.
21969
21970 2009-06-08  Bruno Haible  <bruno@clisp.org>
21971
21972         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
21973         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
21974         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
21975         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
21976         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
21977         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
21978         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
21979
21980 2009-06-08  Eric Blake  <ebb9@byu.net>
21981
21982         test-strstr: use memory fence, when possible
21983         * tests/test-strstr.c (main): Use memory fence, in order to be
21984         more likely to trigger Debian bug 521737.
21985         * modules/strstr-tests (Files): Pull in additional files.
21986
21987         memchr: no longer obsolete, for wider field testing
21988         * modules/memchr (Status, Notice): Delete, this module is no
21989         longer obsolete.
21990         * modules/vasnprintf (Depends-on): Add memchr.
21991
21992 2009-06-07  Jim Meyering  <meyering@redhat.com>
21993
21994         hash: declare some functions with the warn_unused_result attribute
21995         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
21996
21997 2009-06-07  Bruno Haible  <bruno@clisp.org>
21998
21999         * tests/test-alignof.c: Don't test int64_t if it does not exist.
22000         Reported by Eric Blake.
22001
22002 2009-06-06  Eric Blake  <ebb9@byu.net>
22003
22004         test-alignof: fix typo with long double
22005         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
22006         compiler error.
22007
22008 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
22009
22010         Escape non-texinfo { and }s.
22011         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
22012         markup error.
22013
22014 2009-06-04  Jim Meyering  <meyering@redhat.com>
22015
22016         gitlog-to-changelog: don't infloop on an empty commit log
22017         * build-aux/gitlog-to-changelog: Warn about an empty log message.
22018         Reported by Boris Petersen <transacid@centerim.org>.
22019
22020 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
22021
22022         version-etc: extend for packagers
22023         Add three new configure options, intended for packagers:
22024           --with-packager="packager name"
22025           --with-packager-version="packager-specific version"
22026           --with-packager-bug-reports="packager bug reporting"
22027         An example with coreutils:
22028           $ ./configure \
22029             --with-packager=Gentoo \
22030             --with-packager-bug-report=http://bugs.gentoo.org/ \
22031             --with-packager-version="patchset 1.6"
22032           $ ./src/ls --version | head -n2
22033           ls (GNU coreutils) 7.1-dirty
22034           Packaged by Gentoo (patchset 1.6)
22035         Note that the bug reporting info via --help doesn't show up because
22036         coreutils uses its own custom emit_bug_reporting_address() implementation
22037         in src/system.h.  If it didn't, it'd look like:
22038           $ ./src/ls --help | tail -n4
22039           Report bugs to <bug-coreutils@gnu.org>.
22040           Report Gentoo bugs to <http://bugs.gentoo.org/>.
22041           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
22042           General help using GNU software: <http://www.gnu.org/gethelp/>.
22043         * lib/version-etc.c: Print new information, if provided.
22044         * m4/version-etc.m4: New file.
22045         * modules/version-etc (Files): Add m4/version-etc.m4.
22046         (configure.ac): Add gl_VERSION_ETC.
22047
22048 2009-05-31  Bruno Haible  <bruno@clisp.org>
22049
22050         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
22051         and 'int64_t'.
22052         * modules/alignof-tests (Dependencies): Add stdint.
22053         Reported by Eric Blake.
22054
22055 2009-05-31  Bruno Haible  <bruno@clisp.org>
22056
22057         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
22058         restriction due to compiler bugs.
22059         Reported by Eric Blake.
22060
22061 2009-05-31  Simon Josefsson  <simon@josefsson.org>
22062             Bruno Haible  <bruno@clisp.org>
22063
22064         Fix test-alignof failure.
22065         * lib/alignof.h (alignof_slot): New macro.
22066         (alignof_type): New macro, with the same semantics as the previous
22067         'alignof'.
22068         (alignof): Alias to alignof_slot.
22069         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
22070         check that the results are usable as constant expressions.
22071
22072 2009-05-31  Bruno Haible  <bruno@clisp.org>
22073
22074         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
22075         * tests/test-memchr.c (main): Check that memchr does not read past the
22076         first occurrence of the byte.
22077         * tests/test-strstr.c (main): Update comment.
22078         Suggested by Eric Blake.
22079
22080 2009-05-30  Bruno Haible  <bruno@clisp.org>
22081
22082         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
22083         detail how to use dumpbin.
22084         Reported by David Byron <dbyron@dbyron.com>.
22085
22086 2009-06-02  Simon Josefsson  <simon@josefsson.org>
22087
22088         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
22089
22090 2009-06-02  Simon Josefsson  <simon@josefsson.org>
22091
22092         * m4/manywarnings.m4: Add GCC 4.4 warnings.
22093
22094 2009-05-28  Bruno Haible  <bruno@clisp.org>
22095
22096         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
22097         build-aux/ files.
22098
22099 2009-05-28  Simon Josefsson  <simon@josefsson.org>
22100
22101         * gnulib-tool (func_import): Transform license on build-aux/ files too.
22102
22103 2009-05-27  Simon Josefsson  <simon@josefsson.org>
22104
22105         * gnulib-tool (sed_transform_main_lib_file)
22106         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
22107         regexps.
22108
22109 2009-05-26  Simon Josefsson  <simon@josefsson.org>
22110
22111         * tests/test-strstr.c: Add another self-test.
22112         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
22113         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
22114
22115 2009-05-23  Bruno Haible  <bruno@clisp.org>
22116
22117         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
22118         change.
22119
22120 2009-05-21  Bruno Haible  <bruno@clisp.org>
22121
22122         Simplify use of mode_t varargs.
22123         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
22124         uses 'mode_t' or 'int'.
22125         * lib/openat.c (openat): Likewise.
22126         * lib/open-safer.c (open_safer): Likewise.
22127         * m4/mode_t.m4: New file.
22128         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
22129         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
22130         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
22131         * modules/open (Files): Add m4/mode_t.m4.
22132         * modules/openat (Files): Likewise.
22133         * modules/fcntl-safer (Files): Likewise.
22134         Suggested by Eric Blake.
22135
22136 2009-05-21  Pádraig Brady  <P@draigbrady.com>
22137
22138         * doc/glibc-functions/fallocate.texi: New file.
22139         * doc/gnulib.texi: Include it.
22140
22141 2009-05-21  Eric Blake  <ebb9@byu.net>
22142             Bruno Haible  <bruno@clisp.org>
22143
22144         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
22145         invocations.
22146         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
22147
22148 2009-05-21  Eric Blake  <ebb9@byu.net>
22149             Bruno Haible  <bruno@clisp.org>
22150
22151         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
22152         include_next. Fix of 2008-11-20 commit.
22153         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
22154         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
22155         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
22156         NEXT_MATH_H.
22157         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
22158         instead of NEXT_MATH_H.
22159
22160 2009-05-21  Bruno Haible  <bruno@clisp.org>
22161
22162         Avoid redefinition warnings for SIZE_MAX.
22163         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
22164         Reported by Simon Josefsson.
22165
22166 2009-05-21  Bruno Haible  <bruno@clisp.org>
22167
22168         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
22169         AC_CACHE_VAL.
22170
22171 2009-05-20  Bruno Haible  <bruno@clisp.org>
22172
22173         Make zeroptr.h work on mingw.
22174         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
22175         mprotect.
22176         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
22177         * modules/memchr2-tests (configure.ac): Likewise.
22178         * modules/memcmp-tests (configure.ac): Likewise.
22179         * modules/memmem-tests (configure.ac): Likewise.
22180         * modules/memrchr-tests (configure.ac): Likewise.
22181         Reported by Simon Josefsson.
22182
22183 2009-05-20  Simon Josefsson  <simon@josefsson.org>
22184
22185         * tests/test-glob.c: Include string.h for strcmp prototype.
22186
22187 2009-05-20  Simon Josefsson  <simon@josefsson.org>
22188
22189         * modules/getdelim (Depends-on): Add explicit stdint, although it
22190         was implicitly already pulled in via realloc-posix.
22191         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
22192
22193 2009-05-20  Simon Josefsson  <simon@josefsson.org>
22194
22195         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
22196         G. Christensen" <tgc@jupiterrise.com>.
22197         * m4/sys_socket_h.m4: Check for sa_family_t.
22198         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
22199         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
22200         * tests/test-sys_socket.c: Check that sa_family_t works.
22201
22202 2009-05-18  Eric Blake  <ebb9@byu.net>
22203
22204         maint.mk: allow gnulib_dir in VPATH build
22205         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
22206
22207 2009-05-15  Jim Meyering  <meyering@redhat.com>
22208
22209         maint.mk: Give gnulib_dir a default definition.
22210         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
22211         Thus, most packages no longer need to specify this variable in cfg.mk
22212
22213 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
22214
22215         rename.m4: fix typos that would make non-mingw cross-configure fail
22216         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
22217
22218 2009-05-13  Eric Blake  <ebb9@byu.net>
22219
22220         mmap-anon: avoid out-of-order autoconf expansion
22221         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
22222         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
22223         * modules/memchr-tests (Depends-on): Add extensions.
22224         * modules/memchr2-tests (Depends-on): Add extensions.
22225         * modules/memcmp-tests (Depends-on): Add extensions.
22226         * modules/memmem-tests (Depends-on): Add extensions.
22227         * modules/memrchr-tests (Depends-on): Add extensions.
22228
22229 2009-05-13  Bruno Haible  <bruno@clisp.org>
22230
22231         Make some tests ISO C 99 compliant.
22232         * tests/zerosize-ptr.h: New file.
22233         * tests/test-memchr.c: Include zerosize-ptr.h.
22234         (main): Use a zero-size object pointer instead of NULL.
22235         * tests/test-memchr2.c: Include zerosize-ptr.h.
22236         (main): Use a zero-size object pointer instead of NULL.
22237         * tests/test-memcmp.c: Include zerosize-ptr.h.
22238         (main): Use a zero-size object pointer instead of NULL.
22239         * tests/test-memmem.c: Include zerosize-ptr.h.
22240         (main): Use a zero-size object pointer instead of NULL.
22241         * tests/test-memrchr.c: Include zerosize-ptr.h.
22242         (main): Use a zero-size object pointer instead of NULL.
22243         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
22244         m4/mmap-anon.m4.
22245         (Depends-on): Add getpagesize.
22246         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
22247         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
22248         m4/mmap-anon.m4.
22249         (Depends-on): Add getpagesize.
22250         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
22251         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
22252         m4/mmap-anon.m4.
22253         (Depends-on): Add getpagesize.
22254         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
22255         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
22256         m4/mmap-anon.m4.
22257         (Depends-on): Add getpagesize.
22258         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
22259         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
22260         m4/mmap-anon.m4.
22261         (Depends-on): Add getpagesize.
22262         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
22263
22264 2009-05-12  Bruno Haible  <bruno@clisp.org>
22265
22266         Tests for module 'alignof'.
22267         * modules/alignof-tests: New file.
22268         * tests/test-alignof.c: New file.
22269
22270 2009-05-12  Bruno Haible  <bruno@clisp.org>
22271
22272         Fix alignof macro.
22273         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
22274         vendor compilers that are always correct.
22275
22276 2009-05-12  Bruno Haible  <bruno@clisp.org>
22277
22278         Make the MAP_ANONYMOUS detection work on HP-UX 11.
22279         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
22280         not whether its fully works.
22281
22282 2009-05-12  Bruno Haible  <bruno@clisp.org>
22283
22284         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
22285
22286 2009-05-12  Jim Meyering  <meyering@redhat.com>
22287
22288         * top/maint.mk: Adjust backslash alignment.
22289
22290 2009-05-11  Simon Josefsson  <simon@josefsson.org>
22291
22292         * top/maint.mk: Make $(srcdir)/build-aux configurable.
22293
22294 2009-05-11  Eric Blake  <ebb9@byu.net>
22295
22296         argp: avoid undefined behavior
22297         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
22298         macros.
22299
22300 2009-05-08  Simon Josefsson  <simon@josefsson.org>
22301
22302         * tests/test-vc-list-files-git.sh: Do git config of user.email and
22303         user.name to prevent git commit from complaining.
22304
22305 2009-05-10  Bruno Haible  <bruno@clisp.org>
22306
22307         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
22308         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
22309         it rewrites every file name only once.
22310         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
22311
22312 2009-05-08  Bruno Haible  <bruno@clisp.org>
22313
22314         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
22315         instead of 'max'.
22316
22317 2009-05-08  Simon Josefsson  <simon@josefsson.org>
22318
22319         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
22320         sockaddr_storage test.
22321
22322 2009-05-07  Simon Josefsson  <simon@josefsson.org>
22323
22324         * modules/sys_socket (Makefile.am): Substitute
22325         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
22326         * m4/sys_socket_h.m4: Check for sockaddr_storage.
22327         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
22328         * tests/test-sys_socket.c: Check sockaddr_storage.
22329
22330 2009-05-08  Bruno Haible  <bruno@clisp.org>
22331
22332         New module 'alignof'.
22333         * lib/alignof.h: New file.
22334         * modules/alignof: New file.
22335
22336 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
22337             Bruno Haible  <bruno@clisp.org>
22338
22339         Fix test-file-has-acl on FreeBSD.
22340         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
22341         mask is implicitly added.
22342         * tests/test-file-has-acl.c: Include <signal.h>.
22343         (main): Terminate the test after 5 seconds.
22344         * modules/acl-tests (configure.ac): Check for alarm function.
22345
22346 2009-05-04  Bruno Haible  <bruno@clisp.org>
22347
22348         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
22349         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
22350         * modules/errno (configure.ac): Drop AC_REQUIRE.
22351         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
22352         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
22353
22354 2009-05-04  Simon Josefsson  <simon@josefsson.org>
22355
22356         * modules/glob-tests: New module.
22357         * tests/test-glob.c: Add.
22358
22359 2009-05-04  Simon Josefsson  <simon@josefsson.org>
22360
22361         * modules/fnmatch-tests: New module.
22362         * tests/test-fnmatch.c: Add.
22363
22364 2009-05-04  Eric Blake  <ebb9@byu.net>
22365
22366         maint: make the new no-submodule-changes rule VPATH-safe
22367         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
22368
22369 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
22370             Bruno Haible  <bruno@clisp.org>
22371
22372         acl: Fix infinite loop on FreeBSD.
22373         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
22374         of return value from acl_get_entry.
22375         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
22376         Likewise.
22377
22378 2009-05-03  Bruno Haible  <bruno@clisp.org>
22379
22380         * lib/acl-internal.h (acl_entries): Clarify return value.
22381         * lib/acl_entries.c (acl_entries): Likewise.
22382
22383 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
22384
22385         Bug fix in acl module.
22386         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
22387
22388 2009-05-03  Bruno Haible  <bruno@clisp.org>
22389
22390         Create gperf-generated file in the source dir, not in the build dir.
22391         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
22392         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
22393         * modules/unicase/locale-language (unicase/locale-languages.h):
22394         Likewise.
22395         * modules/unicase/special-casing (unicase/special-casing-table.h):
22396         Likewise.
22397         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
22398         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
22399         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
22400         Reported by Ralf Wildenhues.
22401
22402 2009-05-03  Bruno Haible  <bruno@clisp.org>
22403
22404         * modules/fnmatch (Description, configure.ac): Taken from
22405         fnmatch-posix.
22406         * modules/fnmatch-posix: Turn into a symbolic reference to the
22407         'fnmatch' module, and deprecate.
22408         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
22409
22410 2009-05-03  Bruno Haible  <bruno@clisp.org>
22411
22412         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
22413         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
22414         Reported by Ralf Wildenhues.
22415
22416 2009-05-04  Simon Josefsson  <simon@josefsson.org>
22417
22418         * m4/fnmatch.m4: Fix fnmatch re-define.
22419
22420 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
22421
22422         priv-set: new module and tests; adapt write-any-file
22423         * lib/priv-set.c: New file.
22424         * lib/priv-set.h: New file.
22425         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
22426         * lib/write-any-file.c: Simplify by using priv-set module.
22427         * m4/priv-set.m4: New file.
22428         * modules/priv-set: New file.
22429         * modules/unlinkdir: Add dependency on priv-set module.
22430         * modules/write-any-file: Likewise.
22431
22432         Tests for module 'priv-set'.
22433         * modules/priv-set-tests: New file.
22434         * tests/test-priv-set.c: New file.
22435
22436 2009-05-03  Jim Meyering  <meyering@redhat.com>
22437             Bruno Haible  <bruno@clisp.org>
22438
22439         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
22440         use the converted UTF-8 variant of the name instead.
22441
22442 2009-05-03  Jim Meyering  <meyering@redhat.com>
22443
22444         tests: tighten some getdate tests
22445         * tests/test-getdate.c (main): Tighten tests: require equality,
22446         not just greater than.  Set TZ envvar to UTC0.
22447
22448 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
22449
22450         getdate: correctly interpret "next monday" when run on a Monday
22451         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
22452         that e.g., "next tues" (when run on a tuesday) results in a date
22453         that is one week in the future, and not today's date.
22454         I.e., add a week when the wday is the same as the current one.
22455         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
22456         and earlier by Martin Bernreuther and Jan Minář.
22457         * tests/test-getdate.c (main): Check that "next DAY" is always in
22458         the future and that "last DAY" is always in the past.
22459
22460 2009-05-02  Jim Meyering  <meyering@redhat.com>
22461
22462         build: ensure that a release build fails when a submodule is unclean
22463         * top/maint.mk (no-submodule-changes): New rule.
22464         (alpha beta major): Depend on it.
22465
22466 2009-05-02  Bruno Haible  <bruno@clisp.org>
22467
22468         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
22469         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
22470         shell variable gl_fnmatch_required to detect which variant is
22471         requested.
22472         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
22473         gl_FUNC_FNMATCH_POSIX.
22474         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
22475         exclude fnmatch-posix.
22476
22477 2009-05-02  Bruno Haible  <bruno@clisp.org>
22478
22479         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
22480         * modules/mbsrtowcs (License): Change to LGPLv2+.
22481         * modules/strnlen1 (License): Likewise.
22482         Reported by Simon Josefsson.
22483
22484 2009-05-02  Bruno Haible  <bruno@clisp.org>
22485
22486         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
22487         "cross".
22488         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
22489         gnulib-tool was called with option --source-base=lib.
22490
22491 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
22492
22493         Use automake *-local hooks without commands, for extensibility.
22494         * modules/localcharset (Makefile.am): Rename install-exec-local
22495         rule to install-exec-localcharset, and make it a prerequisite of
22496         install-exec-local.  Likewise, rename the uninstall-local rule to
22497         uninstall-localcharset, and make it a prerequisite of the former.
22498
22499 2009-05-01  Bruno Haible  <bruno@clisp.org>
22500
22501         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
22502         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
22503         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
22504         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
22505         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
22506         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
22507         m4/locale-zh.m4, m4/codeset.m4.
22508
22509         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
22510         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
22511         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
22512         m4/locale-zh.m4.
22513
22514         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
22515         REPLACE_WCRTOMB if mbstate_t must be replaced.
22516         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
22517         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
22518
22519 2009-05-01  Bruno Haible  <bruno@clisp.org>
22520
22521         Avoid compiler warnings when redefining macros defined by <libintl.h>.
22522         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
22523         dngettext, dcngettext, textdomain, bindtextdomain,
22524         bind_textdomain_codeset): Undefine before redefining.
22525
22526 2009-04-30  Bruno Haible  <bruno@clisp.org>
22527
22528         Fix bug introduced on 2009-04-25.
22529         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
22530         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
22531         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
22532         is defined.
22533         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
22534         is defined.
22535         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
22536         is defined.
22537         Reported by Elbert_Pol <elbert.pol@gmail.com>.
22538
22539 2009-04-28  Bruno Haible  <bruno@clisp.org>
22540
22541         Comment tweaks.
22542         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
22543         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
22544         * lib/unicase.h (u*_casexfrm): Likewise.
22545         Reported by Paolo Bonzini.
22546
22547 2009-04-28  Bruno Haible  <bruno@clisp.org>
22548
22549         Fix a compilation error.
22550         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
22551         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
22552         Reported by Jim Meyering.
22553
22554 2009-04-27  Bruno Haible  <bruno@clisp.org>
22555
22556         New module 'libunistring'.
22557         * modules/libunistring: New file.
22558         * m4/libunistring.m4: New file.
22559         * MODULES.html.sh (Unicode string functions): Add it.
22560
22561 2009-04-27  Eric Blake  <ebb9@byu.net>
22562
22563         maint.mk: allow package-specific header to provide <config.h>
22564         * top/maint.mk (sc_require_config_h): New variable.
22565         (sc_require_config_h, sc_require_config_h_first): Use it.
22566
22567 2009-04-27  Simon Josefsson  <simon@josefsson.org>
22568
22569         * top/maint.mk (sc_avoid_if_before_free): Except
22570         useless-if-before-free script.
22571
22572 2009-04-27  Eric Blake  <ebb9@byu.net>
22573
22574         maintainer-makefile: depend on all required helper scripts
22575         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
22576         useless-if-before-free.
22577         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
22578         version, rather than assuming gnulib checkout is available.
22579         Reported by Simen Josefsson.
22580
22581 2009-04-26  Bruno Haible  <bruno@clisp.org>
22582
22583         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
22584         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
22585         "../" or "..".
22586
22587 2009-04-26  Bruno Haible  <bruno@clisp.org>
22588
22589         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
22590         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
22591         AC_LIB_HAVE_LINKFLAGS.
22592
22593 2009-04-26  Bruno Haible  <bruno@clisp.org>
22594
22595         Simplify calling convention of u*_conv_from_encoding.
22596         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
22597         u32_conv_from_encoding): Expect a resultbuf argument and return the
22598         result directly as a pointer.
22599         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
22600         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
22601         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
22602         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
22603         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
22604         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
22605         Update.
22606         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
22607         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
22608         * lib/vasnprintf.c (VASNPRINTF): Update.
22609         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
22610         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
22611         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
22612         * NEWS: Mention the change.
22613
22614 2009-04-26  Bruno Haible  <bruno@clisp.org>
22615
22616         Simplify calling convention of u*_conv_to_encoding.
22617         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
22618         u32_conv_to_encoding): Expect a resultbuf argument and return the
22619         result directly as a pointer.
22620         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
22621         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
22622         freeing scaled_offsets if mem_iconveha failed.
22623         * lib/unicase/u-casexfrm.h (FUNC): Update.
22624         * lib/uninorm/u-normxfrm.h (FUNC): Update.
22625         * lib/vasnprintf.c (VASNPRINTF): Update.
22626         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
22627         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
22628         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
22629         * NEWS: Mention the change.
22630
22631 2009-04-26  Bruno Haible  <bruno@clisp.org>
22632
22633         Avoid test failures on AIX and OSF/1.
22634         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
22635         malloc(0).
22636         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
22637         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
22638         Likewise.
22639         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
22640         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
22641         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
22642         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
22643         * doc/posix-functions/malloc.texi: Document the portability problem
22644         related to malloc(0).
22645
22646 2009-04-26  Bruno Haible  <bruno@clisp.org>
22647
22648         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
22649         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
22650         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
22651
22652 2009-04-25  Bruno Haible  <bruno@clisp.org>
22653
22654         Avoid link error when creating a namespace clean library.
22655         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
22656         as macro with arguments if already defined as an alias.
22657         * lib/signbitf.c (gl_signbitf): Don't undefine.
22658         * lib/signbitd.c (gl_signbitd): Don't undefine.
22659         * lib/signbitl.c (gl_signbitl): Don't undefine.
22660
22661 2009-04-25  Jim Meyering  <meyering@redhat.com>
22662
22663         vc-list-files: fix another quoting bug
22664         * build-aux/vc-list-files: Avoid sed backslash expansion
22665         of pathological directory names.
22666
22667 2009-04-25  Eric Blake  <ebb9@byu.net>
22668
22669         vc-list-files: fix shell quoting error
22670         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
22671         timestamp.
22672
22673 2009-04-25  Jim Meyering  <meyering@redhat.com>
22674
22675         vc-list-files: restore lost functionality with subdir argument
22676         * build-aux/vc-list-files: When given a non-"." sub-directory
22677         argument, substitute the $dir/ prefix back onto each resulting name.
22678         Otherwise, coreutils' root_tests check would fail.
22679
22680 2009-04-24  Eric Blake  <ebb9@byu.net>
22681
22682         vc-list-files: ignore git symlinks
22683         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
22684         than ls-files, to ignore git symlinks.
22685
22686         maint.mk: import improvements from m4
22687         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
22688         (move_if_change): Delete unused macro.
22689         (news-date-check, vc-diff-check): Support VPATH builds.
22690         (announcement): Likewise.  Split --bootstrap-tools list...
22691         (boostrap-tools): ...into separate list, which can be overridden
22692         in cfg.mk.
22693         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
22694         requiring dependency on useless-if-before-free module.
22695         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
22696         Support VPATH builds.
22697
22698 2009-04-24  Jim Meyering  <meyering@redhat.com>
22699
22700         maint.mk: remove coreutils-specific rules and variables
22701         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
22702         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
22703         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
22704
22705         maint.mk: remove obsolete rule
22706         * top/maint.mk (rel-check): Remove rule.
22707         (WGET, WGETFLAGS): Remove now-unused variables.
22708
22709 2009-04-24  Simon Josefsson  <simon@josefsson.org>
22710
22711         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
22712         consistency.
22713
22714         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
22715         '$(PATH_SEPARATOR)' instead of ':'.
22716
22717 2009-04-24  Simon Josefsson  <simon@josefsson.org>
22718
22719         * lib/getopt1.c (main): Use 'const' for static array.
22720
22721 2009-04-24  Simon Josefsson  <simon@josefsson.org>
22722
22723         * top/maint.mk: Sync with coreutils.
22724         * NEWS: Explain incompatibilities.
22725
22726 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
22727             Bruno Haible  <bruno@clisp.org>
22728
22729         Fix cross-compilation results.
22730         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
22731         statement, as third argument of AC_TRY_RUN.
22732         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
22733         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
22734         Likewise.
22735         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22736         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
22737         Likewise.
22738         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
22739         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
22740         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
22741
22742 2009-04-20  Bruno Haible  <bruno@clisp.org>
22743
22744         Avoid test failure on mingw.
22745         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
22746
22747 2009-04-20  Bruno Haible  <bruno@clisp.org>
22748
22749         Avoid compilation error on mingw.
22750         * modules/localename-tests (Depends-on): Add locale.
22751
22752 2009-04-19  Bruno Haible  <bruno@clisp.org>
22753
22754         Support for building a shared library on Windows platforms.
22755         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
22756         (main): Test the presence of UNINORM_NFC here.
22757         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
22758         (main): Test the presence of UNINORM_NFD here.
22759         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
22760         (main): Test the presence of UNINORM_NFKC here.
22761         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
22762         (main): Test the presence of UNINORM_NFKD here.
22763
22764 2009-04-19  Bruno Haible  <bruno@clisp.org>
22765
22766         Avoid a compiler warning.
22767         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
22768         Change type of variable 'sequence'.
22769
22770 2009-04-19  Bruno Haible  <bruno@clisp.org>
22771
22772         * modules/configmake (Makefile.am): When the contents of configmake.h
22773         does not change, arrange to preserve its modification time.
22774
22775 2009-04-17  Simon Josefsson  <simon@josefsson.org>
22776
22777         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
22778         gettext domain.
22779
22780 2009-04-16  Jim Meyering  <meyering@redhat.com>
22781
22782         useless-if-before-free: improve conversion code
22783         * build-aux/useless-if-before-free: Adjust code-in-comment to match
22784         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
22785
22786 2009-04-14  Bruno Haible  <bruno@clisp.org>
22787
22788         * modules/fcntl (Depends-on): Add extensions.
22789         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
22790
22791 2009-04-12  Ben Pfaff  <blp@gnu.org>
22792
22793         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
22794         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
22795
22796 2009-03-20  Ben Pfaff  <blp@gnu.org>
22797
22798         Make rename replace existing destinations on Windows.
22799         * m4/rename.m4: Add test for Mingw.
22800         * lib/rename.c: Add rename replacement that uses MoveFileEx with
22801         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
22802         * doc/posix-functions/rename.texi: Document.
22803
22804 2009-04-10  Bruno Haible  <bruno@clisp.org>
22805
22806         New include file "iconveh.h".
22807         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
22808         * lib/striconveh.h: Include it.
22809         (enum iconv_ilseq_handler): Remove definition.
22810         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
22811         striconveh.h.
22812         * lib/striconveha.c: Include striconveh.h.
22813         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
22814         * modules/striconveh (Files): Add lib/iconveh.h.
22815         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
22816         lib/striconveh.h.
22817
22818 2009-04-10  Bruno Haible  <bruno@clisp.org>
22819
22820         * lib/uniconv.h: Update comment.
22821
22822 2009-04-10  Bruno Haible  <bruno@clisp.org>
22823
22824         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
22825         always.
22826         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
22827         * lib/unistr/u16-mbtouc-aux.c: Likewise.
22828         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
22829         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
22830         "unistring-notinline.h", so that the function gets defined always.
22831         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
22832         * lib/unistr/u8-uctomb.c: Likewise.
22833         * lib/unistr/u16-mbtouc.c: Likewise.
22834         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
22835         * lib/unistr/u16-uctomb.c: Likewise.
22836         * lib/unistr/u32-mbtouc.c: Likewise.
22837         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
22838         * lib/unistr/u32-uctomb.c: Likewise.
22839
22840 2009-04-10  Bruno Haible  <bruno@clisp.org>
22841
22842         Mark 'utime' obsolete.
22843         * modules/utime (Status, Notice): New sections.
22844         Suggested by Jim Meyering.
22845
22846         Fix cross-compile guess for utime test.
22847         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
22848         autoconf.
22849         * doc/posix-functions/utime.texi: Give more precisions.
22850         Reported by Jan <ipif@ymail.com>.
22851
22852 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
22853
22854         filevercmp: correct today's change
22855         * lib/filevercmp.c: Also handle coreutils' test inputs.
22856         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
22857
22858         Fix regression in 'filevercmp' module. Thanks Sven Joachim
22859         for reporting it.
22860         * lib/filevercmp.c: Special handle for "", "." and "..".
22861         * tests/test-filevercmp.c: Enlarge the set suite.
22862
22863 2009-04-07  Jim Meyering  <meyering@redhat.com>
22864
22865         useless-if-before-free: show how to remove braced useless free, too
22866         * build-aux/useless-if-before-free: still only in a comment, though.
22867
22868 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
22869
22870         maint.mk: import changes to syntax-check macros from coreutils
22871         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
22872         Use them in the relevant macros.
22873
22874 2009-04-06  Bruno Haible  <bruno@clisp.org>
22875
22876         Fix unportable use of bit-fields.
22877         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
22878         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
22879         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
22880
22881 2009-04-06  Bruno Haible  <bruno@clisp.org>
22882
22883         Avoid test failures on AIX and OSF/1.
22884         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
22885         that malloc(0) = NULL.
22886         * tests/unicase/test-u8-tolower.c (check): Likewise.
22887         * tests/unicase/test-u8-totitle.c (check): Likewise.
22888         * tests/unicase/test-u8-toupper.c (check): Likewise.
22889         * tests/unicase/test-u16-casefold.c (check): Likewise.
22890         * tests/unicase/test-u16-tolower.c (check): Likewise.
22891         * tests/unicase/test-u16-totitle.c (check): Likewise.
22892         * tests/unicase/test-u16-toupper.c (check): Likewise.
22893         * tests/unicase/test-u32-casefold.c (check): Likewise.
22894         * tests/unicase/test-u32-tolower.c (check): Likewise.
22895         * tests/unicase/test-u32-totitle.c (check): Likewise.
22896         * tests/unicase/test-u32-toupper.c (check): Likewise.
22897         * tests/uninorm/test-u8-nfc.c (check): Likewise.
22898         * tests/uninorm/test-u8-nfd.c (check): Likewise.
22899         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
22900         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
22901         * tests/uninorm/test-u16-nfc.c (check): Likewise.
22902         * tests/uninorm/test-u16-nfd.c (check): Likewise.
22903         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
22904         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
22905         * tests/uninorm/test-u32-nfc.c (check): Likewise.
22906         * tests/uninorm/test-u32-nfd.c (check): Likewise.
22907         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
22908         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
22909
22910 2009-04-05  Bruno Haible  <bruno@clisp.org>
22911
22912         Work around an autoconf limitation.
22913         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
22914         comment line if it would be longer than 3 KB.
22915
22916 2009-04-05  Bruno Haible  <bruno@clisp.org>
22917
22918         Avoid test failure with libiconv-1.13.
22919         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
22920         of the expected test results.
22921
22922 2009-04-05  Bruno Haible  <bruno@clisp.org>
22923
22924         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
22925         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
22926         that it should be installed.
22927
22928 2009-04-05  Bruno Haible  <bruno@clisp.org>
22929
22930         * gnulib-tool: New option --copy-file.
22931         (func_usage): Document it.
22932         (func_dest_tmpfilename): Moved out of func_import.
22933         (func_add_file, func_update_file): New functions, extracted from
22934         func_import.
22935         (func_import): Update.
22936
22937 2009-04-05  Karl Berry  <karl@gnu.org>
22938
22939         * README: prominently mention gnulib-tool.
22940         Rearrange sections so getting the code is near the top.
22941
22942 2009-04-05  Bruno Haible  <bruno@clisp.org>
22943
22944         * lib/unicase.h: Mention u*_cmp2.
22945         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
22946         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
22947         * lib/unicase/ulc-casecmp.c: Likewise.
22948         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
22949         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
22950         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
22951         unistr/u8-cmp.
22952         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
22953         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
22954         unistr/u16-cmp.
22955         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
22956         unistr/u32-cmp.
22957
22958         * lib/uninorm.h: Mention u*_cmp2.
22959         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
22960         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
22961         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
22962         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
22963         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
22964         unistr/u8-cmp.
22965         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
22966         unistr/u16-cmp.
22967         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
22968         unistr/u32-cmp.
22969
22970         New module 'unistr/u32-cmp2'.
22971         * lib/unistr/u32-cmp2.c: New file.
22972         * modules/unistr/u32-cmp2: New file.
22973
22974         New module 'unistr/u16-cmp2'.
22975         * lib/unistr/u16-cmp2.c: New file.
22976         * modules/unistr/u16-cmp2: New file.
22977
22978         New module 'unistr/u8-cmp2'.
22979         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
22980         * lib/unistr/u8-cmp2.c: New file.
22981         * lib/unistr/u-cmp2.h: New file.
22982         * modules/unistr/u8-cmp2: New file.
22983
22984 2009-04-05  Bruno Haible  <bruno@clisp.org>
22985
22986         * lib/unictype.h (uc_property_is_valid): New macro.
22987         * tests/unictype/test-pr_byname.c (main): Use it.
22988
22989         * lib/unistr.h: Doc fixes.
22990         * lib/uniconv.h: Doc fixes.
22991         * lib/unictype.h: Doc fixes.
22992
22993 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
22994
22995         Port coreutils 7.2 to Solaris 8.
22996
22997         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
22998         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
22999         for Solaris 8.  This is a bit of a hack, as it means it's the
23000         caller's responsibility to add -lnsl if needed, but most likely it
23001         won't be needed since only getaddrinfo uses this and getaddrinfo
23002         isn't needed on Solaris 8.
23003
23004         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
23005         problem to Solaris 8 encountered with coreutils 7.2, which
23006         resulted in a message "fnmatch.c:292: warning: passing argument 4
23007         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
23008         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
23009
23010 2009-04-03  Simon Josefsson  <simon@josefsson.org>
23011
23012         * m4/ld-version-script.m4: Add FIXME comment.
23013
23014 2009-04-02  Simon Josefsson  <simon@josefsson.org>
23015
23016         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
23017         SOVERSION variable.
23018
23019 2009-04-02  Bruno Haible  <bruno@clisp.org>
23020
23021         * Makefile (info, html, dvi, pdf): Combine the rules.
23022         Suggested by Jim Meyering.
23023
23024 2009-04-01  Bruno Haible  <bruno@clisp.org>
23025
23026         * Makefile (info, html, dvi, pdf): New targets.
23027         Reported by Reuben Thomas <rrt@sc3d.org>.
23028
23029 2009-04-01  Bruno Haible  <bruno@clisp.org>
23030
23031         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
23032         can be put into PATH.
23033         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
23034
23035 2009-04-01  Bruno Haible  <bruno@clisp.org>
23036
23037         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
23038
23039 2009-04-01  Bruno Haible  <bruno@clisp.org>
23040
23041         Rename module 'visibility'.
23042         * modules/lib-symbol-visibility: Renamed from modules/visibility.
23043         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
23044         * doc/gnulib.texi: Update.
23045         * MODULES.html.sh (Misc): Update.
23046         * NEWS: Mention the change.
23047
23048 2009-04-01  Simon Josefsson  <simon@josefsson.org>
23049
23050         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
23051         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
23052         Eric Blake <ebb9@byu.net> for review.
23053         * MODULES.html.sh: Add lib-msvc-compat.
23054         * doc/gnulib.texi: Link to new section.
23055         * m4/ld-output-def.m4: New file.
23056         * doc/ld-output-def.texi: New file.
23057
23058 2009-04-01  Simon Josefsson  <simon@josefsson.org>
23059
23060         Rename ld-version-script to lib-symbol-versions.  Suggested by
23061         Bruno Haible <bruno@clisp.org>.
23062         * modules/ld-version-script: Renamed to lib-symbol-versions.
23063         * doc/ld-version-script.texi: Fix module name.
23064         * MODULES.html.sh: Add lib-symbol-versions.
23065
23066 2009-03-31  Simon Josefsson  <simon@josefsson.org>
23067
23068         * modules/u64-tests: New file.
23069         * tests/test-u64.c: New file.
23070
23071 2009-03-04  Simon Josefsson  <simon@josefsson.org>
23072
23073         * MODULES.html.sh: Mention u64.
23074         * modules/u64: New module.
23075         * modules/crypto/sha512: Depend on u64 module instead of providing
23076         u64.h.
23077
23078 2009-03-27  Eric Blake  <ebb9@byu.net>
23079
23080         test-strerror: make debugging EAI_SYSTEM easier
23081         * modules/getaddrinfo-tests (Depends-on): Add strerror.
23082         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
23083         failure was EAI_SYSTEM.
23084
23085 2009-03-25  Bruno Haible  <bruno@clisp.org>
23086
23087         Fix a problem with --enable-relocatable on Solaris 7.
23088         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
23089         since 2008-02-24.
23090
23091 2009-03-25  Eric Blake  <ebb9@byu.net>
23092
23093         test-sockets: avoid gcc warning
23094         * tests/test-sockets.c (main): Silence compiler warning.
23095
23096 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
23097
23098         New modules nproc, pthread, contributed by Glen Lenker.
23099
23100         * MODULES.html.sh: Add pthread, nproc.
23101         * lib/nproc.c: New file.
23102         * lib/nproc.h: New file.
23103         * lib/pthread.in.h: New file.
23104         * m4/pthread.m4: New file.
23105         * modules/nproc: New file.
23106         * modules/pthread: New file.
23107
23108 2009-03-24  Simon Josefsson  <simon@josefsson.org>
23109
23110         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
23111         New variable.
23112
23113 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
23114
23115         filevercmp: handle simple~ and numbered.~3~ backup suffixes
23116         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
23117         * tests/test-filevercmp.c: Add tests for backup suffixes.
23118
23119 2009-03-24  Simon Josefsson  <simon@josefsson.org>
23120
23121         * modules/stdlib (Depends-on): Add stdint, needed when defining
23122         struct random_data on, for example, HP-UX 10.20.  Reported by
23123         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23124
23125 2009-03-24  Simon Josefsson  <simon@josefsson.org>
23126
23127         * lib/readline.c (readline): Call fflush on stdout after printing
23128         prompt.
23129
23130 2009-03-20  Bruno Haible  <bruno@clisp.org>
23131
23132         Remove dependency from 'close' module to -lws2_32 on native Windows.
23133         * lib/close-hook.h: New file.
23134         * lib/close-hook.c: New file.
23135         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
23136         w32sock.h.
23137         (_gl_close_fd_maybe_socket): Remove function.
23138         (rpl_close): Invoke execute_all_close_hooks instead of
23139         _gl_close_fd_maybe_socket.
23140         * lib/sockets.c: Include close-hook.h, w32sock.h.
23141         (close_fd_maybe_socket): New function, essentially from lib/close.c.
23142         (close_sockets_hook): New variable.
23143         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
23144         (gl_sockets_cleanup): Unregister it.
23145         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
23146         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
23147         * modules/close-hook: New file.
23148         * modules/close (Files): Remove lib/w32sock.h.
23149         (Depends-on): Add close-hook.
23150         (Link): Remove section.
23151         * modules/sockets (Files): Add lib/w32sock.h.
23152         (Depends-on): Add close-hook.
23153         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
23154         invocation.
23155         * NEWS: Mention that LIB_CLOSE is gone.
23156
23157 2009-03-23  Eric Blake  <ebb9@byu.net>
23158
23159         signal-tests: test previous patch
23160         * tests/test-signal.c: New file.
23161         * modules/signal-tests: Likewise.
23162
23163         signal.h: always support 'volatile sig_atomic_t'
23164         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
23165         (gl_SIGNAL_H_DEFAULTS): Add a default.
23166         * modules/signal (Makefile.am): Substitute if needed.
23167         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
23168         users can blindly add volatile.
23169         * doc/posix-headers/signal.texi (signal.h): Document it.
23170         Reported by Matthew Woehlke.
23171
23172 2009-03-23  Jim Meyering  <meyering@redhat.com>
23173
23174         pathmax: PATH_MAX: use pathconf only when available
23175         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
23176         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
23177         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
23178         This avoids a link failure in a PSP cross-compilation environment
23179         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
23180
23181         * lib/vasnprintf.c (divide): Fix typo in comment.
23182
23183 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23184
23185         * gnulib-tool (func_filter_filelist): Fix comment.
23186
23187 2009-03-20  Bruno Haible  <bruno@clisp.org>
23188
23189         Make sockets.h self-contained.
23190         * lib/sockets.c: Include sockets.h first.
23191         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
23192
23193 2009-03-19  Eric Blake  <ebb9@byu.net>
23194
23195         doc: mention more functions added in cygwin 1.7.0
23196         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
23197         addition.
23198         * doc/posix-functions/log2f.texi: Likewise.
23199
23200 2009-03-19  Jim Meyering  <meyering@redhat.com>
23201
23202         fsusage: avoid syntax error due to statement-before-declaration
23203         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
23204         after all declarations.  Reported by Matthew Woehlke in
23205         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
23206
23207 2009-03-18  Eric Blake  <ebb9@byu.net>
23208
23209         build-aux/compile: sync from automake
23210         * build-aux/compile: New file, from automake.
23211         * config/srclist.txt: Mention build-aux/compile.
23212
23213 2009-03-17  Bruno Haible  <bruno@clisp.org>
23214
23215         * lib/git-merge-changelog.c: Fix typo in comment.
23216         Reported by Reuben Thomas <rrt@sc3d.org>.
23217
23218 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
23219
23220         * m4/regex.m4: update and improve help for
23221         --without-included-regex.
23222
23223 2009-03-17  Simon Josefsson  <simon@josefsson.org>
23224
23225         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
23226         failure on missing include files.
23227
23228 2009-03-17  Eric Blake  <ebb9@byu.net>
23229
23230         doc: mention more functions added in cygwin 1.7.0
23231         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
23232         addition.
23233         * doc/posix-functions/fwscanf.texi: Likewise.
23234         * doc/posix-functions/swprintf.texi: Likewise.
23235         * doc/posix-functions/swscanf.texi: Likewise.
23236         * doc/posix-functions/vfwprintf.texi: Likewise.
23237         * doc/posix-functions/vfwscanf.texi: Likewise.
23238         * doc/posix-functions/vswprintf.texi: Likewise.
23239         * doc/posix-functions/vswscanf.texi: Likewise.
23240         * doc/posix-functions/vwprintf.texi: Likewise.
23241         * doc/posix-functions/vwscanf.texi: Likewise.
23242         * doc/posix-functions/wcscasecmp.texi: Likewise.
23243         * doc/posix-functions/wcsdup.texi: Likewise.
23244         * doc/posix-functions/wcsftime.texi: Likewise.
23245         * doc/posix-functions/wcsncasecmp.texi: Likewise.
23246         * doc/posix-functions/wprintf.texi: Likewise.
23247         * doc/posix-functions/wscanf.texi: Likewise.
23248         * doc/glibc-functions/gethostbyname2.texi: Likewise.
23249
23250 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23251
23252         maint.mk: really add $(AM_MAKEFLAGS)
23253         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
23254         was inadvertently omitted in the last commit.
23255         Spotted by Bruno Haible.
23256
23257         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
23258         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
23259         $(AM_MAKEFLAGS)' rather than plain `make'.
23260
23261         gnulib-tool: execute $MAKE not make
23262         * gnulib-tool: Default $MAKE to 'make'.
23263         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
23264         than make.  Initialize $MAKE in the do-autobuild script.
23265
23266         gnulib-tool: use $MAKE not make in generated files
23267         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
23268         make, in generated files.  Initialize $MAKE in the do-autobuild
23269         script.
23270
23271         * top/GNUmakefile (_have-git-version-gen): Fix typo.
23272
23273         GNUmakefile: disable parallelism only for multiple, recursive targets
23274         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
23275         additions in the Makefile.
23276         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
23277         by Automake.
23278         (.NOTPARALLEL): Only disable parallel builds if multiple targets
23279         are listed on the command line and at least one of them is
23280         listed in $(ALL_RECURSIVE_TARGETS).
23281
23282 2009-03-14  Bruno Haible  <bruno@clisp.org>
23283
23284         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
23285         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
23286         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
23287         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
23288         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
23289         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
23290         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
23291         unistr/u8-uctomb.
23292         * modules/unistr/u8-strchr (Depends-on): Likewise.
23293         * modules/unistr/u8-strrchr (Depends-on): Likewise.
23294         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
23295         unistr/u16-uctomb.
23296         * modules/unistr/u16-strchr (Depends-on): Likewise.
23297         * modules/unistr/u16-strrchr (Depends-on): Likewise.
23298
23299 2009-03-12  Bruno Haible  <bruno@clisp.org>
23300
23301         Work around select() bug on Interix 3.5.
23302         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
23303         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
23304         * m4/select.m4: New file.
23305         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
23306         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
23307         * modules/select (Files): Add m4/select.m4.
23308         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
23309         * modules/nanosleep (Depends-on): Add select.
23310         * modules/poll (Depends-on): Likewise.
23311         * doc/posix-functions/select.texi: Mention the Interix bug.
23312         Reported by Markus Duft <mduft@gentoo.org>.
23313
23314         * lib/select.c: Renamed from lib/winsock-select.c.
23315         * modules/select (Files): Add lib/select.c, remove
23316         lib/winsock-select.c.
23317         (configure.ac): Update.
23318
23319 2009-03-12  Jim Meyering  <meyering@redhat.com>
23320
23321         avoid gcc warnings about unused macro definitions
23322         * lib/readtokens.c (STREQ): Remove unused definition.
23323         * lib/xmalloc.c (SIZE_MAX): Likewise.
23324         * lib/openat-die.c (N_): Likewise.
23325         * lib/mountlist.c (SIZE_MAX): Remove definition.
23326         Instead, include <stdint.h>.
23327         * lib/readutmp.c: Likewise.
23328         * modules/readutmp (Depends-on): Add stdint.
23329         * modules/mountlist (Depends-on): Add stdint.
23330         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
23331
23332 2009-03-10  Bruno Haible  <bruno@clisp.org>
23333
23334         Tests for module 'mbmemcasecoll'.
23335         * modules/mbmemcasecoll-tests: New file.
23336         * tests/test-mbmemcasecoll1.sh: New file.
23337         * tests/test-mbmemcasecoll2.sh: New file.
23338         * tests/test-mbmemcasecoll3.sh: New file.
23339         * tests/test-mbmemcasecoll.c: New file.
23340
23341         New module 'mbmemcasecoll'.
23342         * lib/mbmemcasecoll.h: New file.
23343         * lib/mbmemcasecoll.c: New file.
23344         * modules/mbmemcasecoll: New file.
23345
23346         * tests/test-mbmemcasecmp.h: New file, extracted from
23347         tests/test-mbmemcasecmp.c.
23348         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
23349         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
23350         (main): Update.
23351         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
23352
23353 2009-03-09  Bruno Haible  <bruno@clisp.org>
23354
23355         Tests for module 'mbmemcasecmp'.
23356         * modules/mbmemcasecmp-tests: New file.
23357         * tests/test-mbmemcasecmp1.sh: New file.
23358         * tests/test-mbmemcasecmp2.sh: New file.
23359         * tests/test-mbmemcasecmp3.sh: New file.
23360         * tests/test-mbmemcasecmp.c: New file.
23361
23362         New module 'mbmemcasecmp'.
23363         * lib/mbmemcasecmp.h: New file.
23364         * lib/mbmemcasecmp.c: New file.
23365         * modules/mbmemcasecmp: New file.
23366
23367 2009-03-09  Bruno Haible  <bruno@clisp.org>
23368
23369         Tests for module 'unicase/ulc-casecoll'.
23370         * modules/unicase/ulc-casecoll-tests: New file.
23371         * tests/unicase/test-ulc-casecoll1.sh: New file.
23372         * tests/unicase/test-ulc-casecoll2.sh: New file.
23373         * tests/unicase/test-ulc-casecoll.c: New file.
23374
23375         New module 'unicase/ulc-casecoll'.
23376         * lib/unicase.h (ulc_casecoll): New declaration.
23377         * lib/unicase/ulc-casecoll.c: New file.
23378         * modules/unicase/ulc-casecoll: New file.
23379
23380         New module 'unicase/ulc-casexfrm'.
23381         * lib/unicase.h (ulc_casexfrm): New declaration.
23382         * lib/unicase/ulc-casexfrm.c: New file.
23383         * modules/unicase/ulc-casexfrm: New file.
23384
23385 2009-03-09  Bruno Haible  <bruno@clisp.org>
23386
23387         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
23388         invocations.
23389
23390         * m4/mbscasecmp.m4: Remove file.
23391         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
23392         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
23393
23394         * m4/mbscasestr.m4: Remove file.
23395         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
23396         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
23397
23398         * m4/mbschr.m4: Remove file.
23399         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
23400         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
23401
23402         * m4/mbscspn.m4: Remove file.
23403         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
23404         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
23405
23406         * m4/mbslen.m4: Remove file.
23407         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
23408         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
23409
23410         * m4/mbsncasecmp.m4: Remove file.
23411         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
23412         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
23413
23414         * m4/mbsnlen.m4: Remove file.
23415         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
23416         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
23417
23418         * m4/mbspbrk.m4: Remove file.
23419         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
23420         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
23421
23422         * m4/mbspcasecmp.m4: Remove file.
23423         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
23424         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
23425
23426         * m4/mbsrchr.m4: Remove file.
23427         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
23428         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
23429
23430         * m4/mbssep.m4: Remove file.
23431         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
23432         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
23433
23434         * m4/mbsspn.m4: Remove file.
23435         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
23436         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
23437
23438         * m4/mbsstr.m4: Remove file.
23439         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
23440         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
23441
23442         * m4/mbstok_r.m4: Remove file.
23443         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
23444         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
23445
23446         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
23447
23448         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
23449         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
23450
23451         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
23452
23453 2009-03-08  Bruno Haible  <bruno@clisp.org>
23454
23455         Tests for module 'unicase/ulc-casecmp'.
23456         * modules/unicase/ulc-casecmp-tests: New file.
23457         * tests/unicase/test-ulc-casecmp1.sh: New file.
23458         * tests/unicase/test-ulc-casecmp2.sh: New file.
23459         * tests/unicase/test-ulc-casecmp.c: New file.
23460
23461         New module 'unicase/ulc-casecmp'.
23462         * lib/unicase.h (ulc_casecmp): New declaration.
23463         * lib/unicase/ulc-casecmp.c: New file.
23464         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
23465         'const SRC_UNIT *'.
23466         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
23467         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
23468         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
23469         * modules/unicase/ulc-casecmp: New file.
23470
23471         Tests for module 'unicase/u32-is-cased'.
23472         * modules/unicase/u32-is-cased-tests: New file.
23473         * tests/unicase/test-u32-is-cased.c: New file.
23474
23475         Tests for module 'unicase/u16-is-cased'.
23476         * modules/unicase/u16-is-cased-tests: New file.
23477         * tests/unicase/test-u16-is-cased.c: New file.
23478
23479         Tests for module 'unicase/u8-is-cased'.
23480         * modules/unicase/u8-is-cased-tests: New file.
23481         * tests/unicase/test-u8-is-cased.c: New file.
23482         * tests/unicase/test-is-cased.h: New file.
23483
23484         New module 'unicase/u32-is-cased'.
23485         * lib/unicase/u32-is-cased.c: New file.
23486         * modules/unicase/u32-is-cased: New file.
23487
23488         New module 'unicase/u16-is-cased'.
23489         * lib/unicase/u16-is-cased.c: New file.
23490         * modules/unicase/u16-is-cased: New file.
23491
23492         New module 'unicase/u8-is-cased'.
23493         * lib/unicase/u8-is-cased.c: New file.
23494         * lib/unicase/u-is-cased.h: New file.
23495         * modules/unicase/u8-is-cased: New file.
23496
23497         Tests for module 'unicase/u32-is-casefolded'.
23498         * modules/unicase/u32-is-casefolded-tests: New file.
23499         * tests/unicase/test-u32-is-casefolded.c: New file.
23500
23501         Tests for module 'unicase/u16-is-casefolded'.
23502         * modules/unicase/u16-is-casefolded-tests: New file.
23503         * tests/unicase/test-u16-is-casefolded.c: New file.
23504
23505         Tests for module 'unicase/u8-is-casefolded'.
23506         * modules/unicase/u8-is-casefolded-tests: New file.
23507         * tests/unicase/test-u8-is-casefolded.c: New file.
23508         * tests/unicase/test-is-casefolded.h: New file.
23509
23510         New module 'unicase/u32-is-casefolded'.
23511         * lib/unicase/u32-is-casefolded.c: New file.
23512         * modules/unicase/u32-is-casefolded: New file.
23513
23514         New module 'unicase/u16-is-casefolded'.
23515         * lib/unicase/u16-is-casefolded.c: New file.
23516         * modules/unicase/u16-is-casefolded: New file.
23517
23518         New module 'unicase/u8-is-casefolded'.
23519         * lib/unicase/u8-is-casefolded.c: New file.
23520         * modules/unicase/u8-is-casefolded: New file.
23521
23522         Tests for module 'unicase/u32-is-titlecase'.
23523         * modules/unicase/u32-is-titlecase-tests: New file.
23524         * tests/unicase/test-u32-is-titlecase.c: New file.
23525
23526         Tests for module 'unicase/u16-is-titlecase'.
23527         * modules/unicase/u16-is-titlecase-tests: New file.
23528         * tests/unicase/test-u16-is-titlecase.c: New file.
23529
23530         Tests for module 'unicase/u8-is-titlecase'.
23531         * modules/unicase/u8-is-titlecase-tests: New file.
23532         * tests/unicase/test-u8-is-titlecase.c: New file.
23533         * tests/unicase/test-is-titlecase.h: New file.
23534
23535         New module 'unicase/u32-is-titlecase'.
23536         * lib/unicase/u32-is-titlecase.c: New file.
23537         * modules/unicase/u32-is-titlecase: New file.
23538
23539         New module 'unicase/u16-is-titlecase'.
23540         * lib/unicase/u16-is-titlecase.c: New file.
23541         * modules/unicase/u16-is-titlecase: New file.
23542
23543         New module 'unicase/u8-is-titlecase'.
23544         * lib/unicase/u8-is-titlecase.c: New file.
23545         * modules/unicase/u8-is-titlecase: New file.
23546
23547         Tests for module 'unicase/u32-is-lowercase'.
23548         * modules/unicase/u32-is-lowercase-tests: New file.
23549         * tests/unicase/test-u32-is-lowercase.c: New file.
23550
23551         Tests for module 'unicase/u16-is-lowercase'.
23552         * modules/unicase/u16-is-lowercase-tests: New file.
23553         * tests/unicase/test-u16-is-lowercase.c: New file.
23554
23555         Tests for module 'unicase/u8-is-lowercase'.
23556         * modules/unicase/u8-is-lowercase-tests: New file.
23557         * tests/unicase/test-u8-is-lowercase.c: New file.
23558         * tests/unicase/test-is-lowercase.h: New file.
23559
23560         New module 'unicase/u32-is-lowercase'.
23561         * lib/unicase/u32-is-lowercase.c: New file.
23562         * modules/unicase/u32-is-lowercase: New file.
23563
23564         New module 'unicase/u16-is-lowercase'.
23565         * lib/unicase/u16-is-lowercase.c: New file.
23566         * modules/unicase/u16-is-lowercase: New file.
23567
23568         New module 'unicase/u8-is-lowercase'.
23569         * lib/unicase/u8-is-lowercase.c: New file.
23570         * modules/unicase/u8-is-lowercase: New file.
23571
23572         Tests for module 'unicase/u32-is-uppercase'.
23573         * modules/unicase/u32-is-uppercase-tests: New file.
23574         * tests/unicase/test-u32-is-uppercase.c: New file.
23575
23576         Tests for module 'unicase/u16-is-uppercase'.
23577         * modules/unicase/u16-is-uppercase-tests: New file.
23578         * tests/unicase/test-u16-is-uppercase.c: New file.
23579
23580         Tests for module 'unicase/u8-is-uppercase'.
23581         * modules/unicase/u8-is-uppercase-tests: New file.
23582         * tests/unicase/test-u8-is-uppercase.c: New file.
23583         * tests/unicase/test-is-uppercase.h: New file.
23584
23585         New module 'unicase/u32-is-uppercase'.
23586         * lib/unicase/u32-is-uppercase.c: New file.
23587         * modules/unicase/u32-is-uppercase: New file.
23588
23589         New module 'unicase/u16-is-uppercase'.
23590         * lib/unicase/u16-is-uppercase.c: New file.
23591         * modules/unicase/u16-is-uppercase: New file.
23592
23593         New module 'unicase/u8-is-uppercase'.
23594         * lib/unicase/u8-is-uppercase.c: New file.
23595         * modules/unicase/u8-is-uppercase: New file.
23596
23597         New module 'unicase/u32-is-invariant'.
23598         * lib/unicase/u32-is-invariant.c: New file.
23599         * modules/unicase/u32-is-invariant: New file.
23600
23601         New module 'unicase/u16-is-invariant'.
23602         * lib/unicase/u16-is-invariant.c: New file.
23603         * modules/unicase/u16-is-invariant: New file.
23604
23605         New module 'unicase/u8-is-invariant'.
23606         * lib/unicase/u8-is-invariant.c: New file.
23607         * lib/unicase/invariant.h: New file.
23608         * lib/unicase/u-is-invariant.h: New file.
23609         * modules/unicase/u8-is-invariant: New file.
23610
23611         Tests for module 'unicase/u32-casecoll'.
23612         * modules/unicase/u32-casecoll-tests: New file.
23613         * tests/unicase/test-u32-casecoll.c: New file.
23614
23615         Tests for module 'unicase/u16-casecoll'.
23616         * modules/unicase/u16-casecoll-tests: New file.
23617         * tests/unicase/test-u16-casecoll.c: New file.
23618
23619         Tests for module 'unicase/u8-casecoll'.
23620         * modules/unicase/u8-casecoll-tests: New file.
23621         * tests/unicase/test-u8-casecoll.c: New file.
23622
23623         New module 'unicase/u32-casecoll'.
23624         * lib/unicase/u32-casecoll.c: New file.
23625         * modules/unicase/u32-casecoll: New file.
23626
23627         New module 'unicase/u16-casecoll'.
23628         * lib/unicase/u16-casecoll.c: New file.
23629         * modules/unicase/u16-casecoll: New file.
23630
23631         New module 'unicase/u8-casecoll'.
23632         * lib/unicase/u8-casecoll.c: New file.
23633         * lib/unicase/u-casecoll.h: New file.
23634         * modules/unicase/u8-casecoll: New file.
23635
23636         New module 'unicase/u32-casexfrm'.
23637         * lib/unicase/u32-casexfrm.c: New file.
23638         * modules/unicase/u32-casexfrm: New file.
23639
23640         New module 'unicase/u16-casexfrm'.
23641         * lib/unicase/u16-casexfrm.c: New file.
23642         * modules/unicase/u16-casexfrm: New file.
23643
23644         New module 'unicase/u8-casexfrm'.
23645         * lib/unicase/u8-casexfrm.c: New file.
23646         * lib/unicase/u-casexfrm.h: New file.
23647         * modules/unicase/u8-casexfrm: New file.
23648
23649         Tests for module 'unicase/u32-casecmp'.
23650         * modules/unicase/u32-casecmp-tests: New file.
23651         * tests/unicase/test-u32-casecmp.c: New file.
23652
23653         Tests for module 'unicase/u16-casecmp'.
23654         * modules/unicase/u16-casecmp-tests: New file.
23655         * tests/unicase/test-u16-casecmp.c: New file.
23656
23657         Tests for module 'unicase/u8-casecmp'.
23658         * modules/unicase/u8-casecmp-tests: New file.
23659         * tests/unicase/test-u8-casecmp.c: New file.
23660         * tests/unicase/test-casecmp.h: New file.
23661
23662         New module 'unicase/u32-casecmp'.
23663         * lib/unicase/u32-casecmp.c: New file.
23664         * modules/unicase/u32-casecmp: New file.
23665
23666         New module 'unicase/u16-casecmp'.
23667         * lib/unicase/u16-casecmp.c: New file.
23668         * modules/unicase/u16-casecmp: New file.
23669
23670         New module 'unicase/u8-casecmp'.
23671         * lib/unicase/u8-casecmp.c: New file.
23672         * lib/unicase/u-casecmp.h: New file.
23673         * modules/unicase/u8-casecmp: New file.
23674
23675         Tests for module 'unicase/u32-casefold'.
23676         * modules/unicase/u32-casefold-tests: New file.
23677         * tests/unicase/test-u32-casefold.c: New file.
23678
23679         Tests for module 'unicase/u16-casefold'.
23680         * modules/unicase/u16-casefold-tests: New file.
23681         * tests/unicase/test-u16-casefold.c: New file.
23682
23683         Tests for module 'unicase/u8-casefold'.
23684         * modules/unicase/u8-casefold-tests: New file.
23685         * tests/unicase/test-u8-casefold.c: New file.
23686
23687         New module 'unicase/u32-casefold'.
23688         * lib/unicase/u32-casefold.c: New file.
23689         * modules/unicase/u32-casefold: New file.
23690
23691         New module 'unicase/u16-casefold'.
23692         * lib/unicase/u16-casefold.c: New file.
23693         * modules/unicase/u16-casefold: New file.
23694
23695         New module 'unicase/u8-casefold'.
23696         * lib/unicase/u8-casefold.c: New file.
23697         * lib/unicase/u-casefold.h: New file.
23698         * modules/unicase/u8-casefold: New file.
23699
23700         New module 'unicase/tocasefold'.
23701         * lib/unicase/casefold.h: New file.
23702         * lib/unicase/tocasefold.c: New file.
23703         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
23704         * modules/unicase/tocasefold: New file.
23705
23706         Tests for module 'unicase/u32-totitle'.
23707         * modules/unicase/u32-totitle-tests: New file.
23708         * tests/unicase/test-u32-totitle.c: New file.
23709
23710         Tests for module 'unicase/u16-totitle'.
23711         * modules/unicase/u16-totitle-tests: New file.
23712         * tests/unicase/test-u16-totitle.c: New file.
23713
23714         Tests for module 'unicase/u8-totitle'.
23715         * modules/unicase/u8-totitle-tests: New file.
23716         * tests/unicase/test-u8-totitle.c: New file.
23717
23718         New module 'unicase/u32-totitle'.
23719         * lib/unicase/u32-totitle.c: New file.
23720         * modules/unicase/u32-totitle: New file.
23721
23722         New module 'unicase/u16-totitle'.
23723         * lib/unicase/u16-totitle.c: New file.
23724         * modules/unicase/u16-totitle: New file.
23725
23726         New module 'unicase/u8-totitle'.
23727         * lib/unicase/u8-totitle.c: New file.
23728         * lib/unicase/u-totitle.h: New file.
23729         * modules/unicase/u8-totitle: New file.
23730
23731         Tests for module 'unicase/u32-tolower'.
23732         * modules/unicase/u32-tolower-tests: New file.
23733         * tests/unicase/test-u32-tolower.c: New file.
23734
23735         Tests for module 'unicase/u16-tolower'.
23736         * modules/unicase/u16-tolower-tests: New file.
23737         * tests/unicase/test-u16-tolower.c: New file.
23738
23739         Tests for module 'unicase/u8-tolower'.
23740         * modules/unicase/u8-tolower-tests: New file.
23741         * tests/unicase/test-u8-tolower.c: New file.
23742
23743         New module 'unicase/u32-tolower'.
23744         * lib/unicase/u32-tolower.c: New file.
23745         * modules/unicase/u32-tolower: New file.
23746
23747         New module 'unicase/u16-tolower'.
23748         * lib/unicase/u16-tolower.c: New file.
23749         * modules/unicase/u16-tolower: New file.
23750
23751         New module 'unicase/u8-tolower'.
23752         * lib/unicase/u8-tolower.c: New file.
23753         * modules/unicase/u8-tolower: New file.
23754
23755         Tests for module 'unicase/u32-toupper'.
23756         * modules/unicase/u32-toupper-tests: New file.
23757         * tests/unicase/test-u32-toupper.c: New file.
23758
23759         Tests for module 'unicase/u16-toupper'.
23760         * modules/unicase/u16-toupper-tests: New file.
23761         * tests/unicase/test-u16-toupper.c: New file.
23762
23763         Tests for module 'unicase/u8-toupper'.
23764         * modules/unicase/u8-toupper-tests: New file.
23765         * tests/unicase/test-u8-toupper.c: New file.
23766
23767         New module 'unicase/u32-toupper'.
23768         * lib/unicase/u32-toupper.c: New file.
23769         * modules/unicase/u32-toupper: New file.
23770
23771         New module 'unicase/u16-toupper'.
23772         * lib/unicase/u16-toupper.c: New file.
23773         * modules/unicase/u16-toupper: New file.
23774
23775         New module 'unicase/u8-toupper'.
23776         * lib/unicase/u8-toupper.c: New file.
23777         * modules/unicase/u8-toupper: New file.
23778
23779         New module 'unicase/u32-casemap'.
23780         * lib/unicase/u32-casemap.c: New file.
23781         * modules/unicase/u32-casemap: New file.
23782
23783         New module 'unicase/u16-casemap'.
23784         * lib/unicase/u16-casemap.c: New file.
23785         * modules/unicase/u16-casemap: New file.
23786
23787         New module 'unicase/u8-casemap'.
23788         * lib/unicase/unicasemap.h: New file.
23789         * lib/unicase/u8-casemap.c: New file.
23790         * lib/unicase/u-casemap.h: New file.
23791         * modules/unicase/u8-casemap: New file.
23792
23793         New module 'unicase/special-casing'.
23794         * lib/unicase/special-casing.h: New file.
23795         * lib/unicase/special-casing.c: New file.
23796         * lib/unicase/special-casing-table.gperf: New file, generated by
23797         gen-uni-tables.c.
23798         * modules/unicase/special-casing: New file.
23799
23800         Tests for module 'unicase/locale-language'.
23801         * modules/unicase/locale-language-tests: New file.
23802         * tests/unicase/test-locale-language.sh: New file.
23803         * tests/unicase/test-locale-language.c: New file.
23804
23805         New module 'unicase/locale-language'.
23806         * lib/unicase/locale-language.c: New file.
23807         * lib/unicase/locale-languages.gperf: New file.
23808         * modules/unicase/locale-language: New file.
23809
23810         Generate more tables for case conversion and case folding.
23811         * lib/gen-uni-tables.c (SCC_*): New enum items.
23812         (struct special_casing_rule): New type.
23813         (casing_rules, num_casing_rules, allocated_casing_rules): New
23814         variables.
23815         (add_casing_rule, fill_casing_rules): New functions.
23816         (struct casefold_rule): New type.
23817         (casefolding_rules, num_casefolding_rules,
23818         allocated_casefolding_rules): New variables.
23819         (fill_casefolding_rules): New function.
23820         (unicode_casefold): New variable.
23821         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
23822         sort_casing_rules, output_casing_rules): New functions.
23823         (main): Accept to more arguments: SpecialCasing.txt and
23824         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
23825         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
23826         Output mapping for casefolding.
23827
23828         * lib/unicase.h: Include stdbool.h, uninorm.h.
23829         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
23830         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
23831         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
23832         arguments.
23833         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
23834         resultp arguments.
23835         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
23836         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
23837         resultp arguments.
23838         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
23839         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
23840         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
23841         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
23842         declarations.
23843         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
23844
23845 2009-03-08  Bruno Haible  <bruno@clisp.org>
23846
23847         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
23848         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
23849         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
23850         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
23851
23852 2009-03-07  Bruno Haible  <bruno@clisp.org>
23853
23854         Adjust u*_normcmp, u*_normcoll API.
23855         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
23856         u16_normcoll, u32_normcoll): Change failure conventions.
23857         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
23858         errno and return -1.
23859         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
23860
23861 2009-03-07  Bruno Haible  <bruno@clisp.org>
23862
23863         Tests for module 'uninorm/u32-normcoll'.
23864         * modules/uninorm/u32-normcoll-tests: New file.
23865         * tests/uninorm/test-u32-normcoll.c: New file.
23866
23867         Tests for module 'uninorm/u16-normcoll'.
23868         * modules/uninorm/u16-normcoll-tests: New file.
23869         * tests/uninorm/test-u16-normcoll.c: New file.
23870
23871         Tests for module 'uninorm/u8-normcoll'.
23872         * modules/uninorm/u8-normcoll-tests: New file.
23873         * tests/uninorm/test-u8-normcoll.c: New file.
23874
23875 2009-03-07  Bruno Haible  <bruno@clisp.org>
23876
23877         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
23878         tests/uninorm/test-u32-normcmp.c.
23879         * tests/uninorm/test-u32-normcmp.c: Include it.
23880         (test_nonascii): New function, extracted from main. Add some more
23881         tests.
23882         (main): Invoke test_ascii and test_nonascii.
23883         * modules/uninorm/u32-normcmp-tests (Files): Add
23884         tests/uninorm/test-u32-normcmp.h.
23885         (Depends-on): Remove uninorm/u32-normcmp.
23886
23887         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
23888         tests/uninorm/test-u16-normcmp.c.
23889         * tests/uninorm/test-u16-normcmp.c: Include it.
23890         (test_nonascii): New function, extracted from main. Add some more
23891         tests.
23892         (main): Invoke test_ascii and test_nonascii.
23893         * modules/uninorm/u16-normcmp-tests (Files): Add
23894         tests/uninorm/test-u16-normcmp.h.
23895         (Depends-on): Remove uninorm/u16-normcmp.
23896
23897         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
23898         tests/uninorm/test-u8-normcmp.c.
23899         * tests/uninorm/test-u8-normcmp.c: Include it.
23900         (test_nonascii): New function, extracted from main. Add some more
23901         tests.
23902         (main): Invoke test_ascii and test_nonascii.
23903         * modules/uninorm/u8-normcmp-tests (Files): Add
23904         tests/uninorm/test-u8-normcmp.h.
23905         (Depends-on): Remove uninorm/u8-normcmp.
23906
23907 2009-03-07  Bruno Haible  <bruno@clisp.org>
23908
23909         New module 'uninorm/u32-normcoll'.
23910         * lib/uninorm/u32-normcoll.c: New file.
23911         * modules/uninorm/u32-normcoll: New file.
23912
23913         New module 'uninorm/u16-normcoll'.
23914         * lib/uninorm/u16-normcoll.c: New file.
23915         * modules/uninorm/u16-normcoll: New file.
23916
23917         New module 'uninorm/u8-normcoll'.
23918         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
23919         declarations.
23920         * lib/uninorm/u8-normcoll.c: New file.
23921         * lib/uninorm/u-normcoll.h: New file.
23922         * modules/uninorm/u8-normcoll: New file.
23923
23924         New module 'uninorm/u32-normxfrm'.
23925         * lib/uninorm/u32-normxfrm.c: New file.
23926         * modules/uninorm/u32-normxfrm: New file.
23927
23928         New module 'uninorm/u16-normxfrm'.
23929         * lib/uninorm/u16-normxfrm.c: New file.
23930         * modules/uninorm/u16-normxfrm: New file.
23931
23932         New module 'uninorm/u8-normxfrm'.
23933         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
23934         declarations.
23935         * lib/uninorm/u8-normxfrm.c: New file.
23936         * lib/uninorm/u-normxfrm.h: New file.
23937         * modules/uninorm/u8-normxfrm: New file.
23938
23939 2009-03-07  Bruno Haible  <bruno@clisp.org>
23940
23941         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
23942         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
23943         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
23944
23945 2009-03-07  Bruno Haible  <bruno@clisp.org>
23946
23947         New module 'memxfrm'.
23948         * lib/memxfrm.h: New file.
23949         * lib/memxfrm.c: New file.
23950         * modules/memxfrm: New file.
23951
23952 2009-03-07  Bruno Haible  <bruno@clisp.org>
23953
23954         New module 'memcmp2'.
23955         * lib/memcmp2.h: New file.
23956         * lib/memcmp2.c: New file.
23957         * modules/memcmp2: New file.
23958
23959 2009-03-07  Bruno Haible  <bruno@clisp.org>
23960
23961         Tests for module 'uninorm/decomposing-form'.
23962         * modules/uninorm/decomposing-form-tests: New file.
23963         * tests/uninorm/test-decomposing-form.c: New file.
23964
23965         New module 'uninorm/decomposing-form'.
23966         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
23967         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
23968         Add 'decomposing_variant' field.
23969         * lib/uninorm/decomposing-form.c: New file.
23970         * lib/uninorm/nfc.c (uninorm_nfc): Update.
23971         * lib/uninorm/nfd.c (uninorm_nfd): Update.
23972         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
23973         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
23974         * modules/uninorm/decomposing-form: New file.
23975         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
23976         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
23977
23978 2009-03-07  Bruno Haible  <bruno@clisp.org>
23979
23980         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
23981         strings.
23982
23983 2009-03-06  Bruno Haible  <bruno@clisp.org>
23984
23985         Tests for module 'uninorm/u32-normcmp'.
23986         * tests/uninorm/test-u32-normcmp.c: New file.
23987         * modules/uninorm/u32-normcmp-tests: New file.
23988
23989         Tests for module 'uninorm/u16-normcmp'.
23990         * tests/uninorm/test-u16-normcmp.c: New file.
23991         * modules/uninorm/u16-normcmp-tests: New file.
23992
23993         Tests for module 'uninorm/u8-normcmp'.
23994         * tests/uninorm/test-u8-normcmp.c: New file.
23995         * modules/uninorm/u8-normcmp-tests: New file.
23996
23997         New module 'uninorm/u32-normcmp'.
23998         * lib/uninorm/u32-normcmp.c: New file.
23999         * modules/uninorm/u32-normcmp: New file.
24000
24001         New module 'uninorm/u16-normcmp'.
24002         * lib/uninorm/u16-normcmp.c: New file.
24003         * modules/uninorm/u16-normcmp: New file.
24004
24005         New module 'uninorm/u8-normcmp'.
24006         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
24007         declarations.
24008         * lib/uninorm/u8-normcmp.c: New file.
24009         * lib/uninorm/u-normcmp.h: New file.
24010         * modules/uninorm/u8-normcmp: New file.
24011
24012 2009-03-06  Bruno Haible  <bruno@clisp.org>
24013
24014         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
24015         Reported by Eric Blake.
24016
24017 2009-03-06  Eric Blake  <ebb9@byu.net>
24018             Bruno Haible  <bruno@clisp.org>
24019
24020         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
24021         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
24022         condition.
24023         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
24024         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
24025         condition.
24026         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
24027
24028 2009-03-06  Eric Blake  <ebb9@byu.net>
24029
24030         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
24031         to avoid compiler warnings.
24032         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
24033
24034 2009-03-05  Bruno Haible  <bruno@clisp.org>
24035
24036         * tests/test-ftell.c (main): Disable test beyond end of file on
24037         FreeMiNT.
24038         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
24039
24040 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
24041
24042         * lib/filevercmp.c: Move hidden files up in ordering.
24043         * tests/test-filevercmp.c: Add tests for hidden files.
24044
24045 2009-03-04  Bruno Haible  <bruno@clisp.org>
24046
24047         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
24048         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
24049         AM_CFLAGS.
24050         Reported by Simon Josefsson.
24051
24052 2009-03-03  Bruno Haible  <bruno@clisp.org>
24053
24054         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
24055         Reported by Simon Josefsson.
24056
24057         * doc/ld-version-script.texi: Update node reference.
24058
24059 2009-03-03  Bruno Haible  <bruno@clisp.org>
24060
24061         * modules/visibility (License): Change to 'unlimited'.
24062         Suggested by Simon Josefsson.
24063
24064 2009-03-03  Jim Meyering  <meyering@redhat.com>
24065
24066         unlinkdir: cannot_unlink_dir may modify process state
24067         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
24068         it's neither thread-safe nor appropriate for use in a library.
24069
24070 2009-03-03  Eric Blake  <ebb9@byu.net>
24071
24072         test-closein: silence test under Darwin
24073         * tests/test-closein.sh: Ignore stderr from cat, since we don't
24074         care if it dies from EPIPE or EBADF.
24075
24076 2009-03-03  Bruno Haible  <bruno@clisp.org>
24077
24078         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
24079         earlier.
24080         * doc/visibility.texi: Fix @node and @section.
24081
24082 2009-03-03  Simon Josefsson  <simon@josefsson.org>
24083
24084         * doc/gnulib.texi: Link to sections for ld version script and
24085         visibility.
24086         * doc/visibility.texi: Add @node and @section.
24087         * modules/ld-version-script: New module.
24088         * m4/ld-version-script.m4: New file.
24089         * doc/ld-version-script.texi: New file.
24090
24091 2009-03-02  David Lutterkort  <lutter@redhat.com>
24092
24093         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
24094         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24095
24096 2009-03-02  Bruno Haible  <bruno@clisp.org>
24097
24098         * doc/visibility.texi: Mention libtool's -export-symbols option.
24099
24100 2009-03-02  Jim Meyering  <meyering@redhat.com>
24101
24102         announce-gen: new option: --no-print-checksums
24103         * build-aux/announce-gen (usage): Describe it.
24104         (print_checksums): Print a newline here, not in the [*] footnote.
24105         (main): Honor it.
24106
24107 2009-03-01  Bruno Haible  <bruno@clisp.org>
24108
24109         Use socklen_t in the native Windows replacements prototypes.
24110         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
24111         instead of 'int'.
24112         * lib/getsockopt.c (rpl_getsockopt): Likewise.
24113         * lib/setsockopt.c (rpl_setsockopt): Likewise.
24114         * modules/getsockopt (Depends-on): Add socklen.
24115         * modules/setsockopt (Depends-on): Add socklen.
24116
24117 2009-03-01  Bruno Haible  <bruno@clisp.org>
24118
24119         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
24120         least 4.2.
24121
24122 2009-03-01  Eric Blake  <ebb9@byu.net>
24123             Bruno Haible  <bruno@clisp.org>
24124
24125         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
24126         error messages.
24127         * lib/wait-process.c (wait_subprocess): Omit error message about
24128         deadly signal sent to the child of termsigp != NULL.
24129
24130 2009-03-01  Eric Blake  <ebb9@byu.net>
24131
24132         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
24133
24134 2009-03-01  Bruno Haible  <bruno@clisp.org>
24135
24136         Avoid a gcc warning.
24137         * tests/test-sched.c (b): Make global.
24138         Reported by Eric Blake.
24139
24140 2009-01-19  Martin Lambers  <marlam@marlam.de>
24141
24142         Provide POSIX semantics for socket timeout options on W32.
24143         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
24144         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
24145         * modules/setsockopt: Depend on sys_time module for struct timeval.
24146         * modules/getsockopt: Depend on sys_time module for struct timeval.
24147
24148 2009-03-01  Simon Josefsson  <simon@josefsson.org>
24149
24150         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
24151         __USE_GNU, for consistency with netdb.in.h.
24152         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
24153
24154 2009-03-01  Bruno Haible  <bruno@clisp.org>
24155
24156         More support for FreeMiNT.
24157         * lib/fseeko.c (rpl_fseeko): Complete last commit.
24158         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
24159
24160 2009-03-01  Bruno Haible  <bruno@clisp.org>
24161
24162         More support for FreeMiNT.
24163         * lib/fpurge.c (fpurge): Correct last commit.
24164         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
24165
24166 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24167
24168         Fix unportable awk script in vc-list-files.
24169         * build-aux/vc-list-files: In the replacement awk script, use
24170         substr with a second argument of 1, not zero.
24171         Report by Simon Josefsson.
24172
24173 2009-02-28  Bruno Haible  <bruno@clisp.org>
24174
24175         More support for FreeMiNT.
24176         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
24177         to FreeMiNT today.
24178         * lib/fwriting.c (fwriting): Likewise.
24179         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
24180
24181 2009-02-28  Bruno Haible  <bruno@clisp.org>
24182
24183         * tests/test-freadseek.c (main): Disable test beyond end of file on
24184         FreeMiNT.
24185         * tests/test-ftello.c (main): Likewise.
24186         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
24187
24188 2009-02-28  Bruno Haible  <bruno@clisp.org>
24189
24190         Add tentative support for FreeMiNT.
24191         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
24192         * lib/fpurge.c (fpurge): Likewise.
24193         * lib/freadable.c (freadable): Likewise.
24194         * lib/freading.c (freading): Likewise.
24195         * lib/freadptr.c (freadptr): Likewise.
24196         * lib/freadseek.c (freadptrinc): Likewise.
24197         * lib/fseeko.c (rpl_fseeko): Likewise.
24198         * lib/fseterr.c (fseterr): Likewise.
24199         * lib/fwritable.c (fwritable): Likewise.
24200         * lib/fwriting.c (fwriting): Likewise.
24201         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
24202         Hourihane.
24203         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
24204
24205 2009-02-28  Bruno Haible  <bruno@clisp.org>
24206
24207         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
24208         SIGCHLD.
24209         Reported by Jim Meyering.
24210
24211 2009-02-28  Bruno Haible  <bruno@clisp.org>
24212
24213         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
24214         Mention the results of these tests on various platforms.
24215         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
24216         order.
24217         * doc/posix-functions/printf.texi: Likewise.
24218         * doc/posix-functions/snprintf.texi: Likewise.
24219         * doc/posix-functions/sprintf.texi: Likewise.
24220         * doc/posix-functions/vfprintf.texi: Likewise.
24221         * doc/posix-functions/vprintf.texi: Likewise.
24222         * doc/posix-functions/vsnprintf.texi: Likewise.
24223         * doc/posix-functions/vsprintf.texi: Likewise.
24224         * doc/glibc-functions/obstack_printf.texi: Likewise.
24225         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
24226
24227 2009-02-28  Bruno Haible  <bruno@clisp.org>
24228
24229         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
24230         Reported by Loïc Minier <lool@dooz.org>.
24231
24232 2009-02-27  Bruno Haible  <bruno@clisp.org>
24233
24234         * gnulib-tool (func_import): Make the sed expression used to create the
24235         sed script for updating the .gitignore file POSIX compliant.
24236         Reported by Eric Blake.
24237
24238 2009-02-27  Bruno Haible  <bruno@clisp.org>
24239
24240         * gnulib-tool (sed): Don't alias as "sed --posix".
24241         Reported by Eric Blake.
24242
24243 2009-02-27  Bruno Haible  <bruno@clisp.org>
24244
24245         Avoid test link errors.
24246         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
24247         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
24248         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
24249         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
24250         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24251
24252 2009-02-27  Bruno Haible  <bruno@clisp.org>
24253
24254         Avoid spurious "(cached)" in configure output.
24255         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
24256         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
24257         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
24258         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
24259         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
24260         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
24261         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
24262         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
24263         Reported by Eric Blake.
24264
24265 2009-02-27  Eric Blake  <ebb9@byu.net>
24266
24267         printf: fix regression in previous patch
24268         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
24269
24270 2009-02-27  Bruno Haible  <bruno@clisp.org>
24271
24272         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
24273         value.
24274         * lib/stdint.in.h: Likewise.
24275         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
24276
24277 2009-02-27  Eric Blake  <ebb9@byu.net>
24278
24279         doc: mention more functions added in cygwin 1.7.0
24280         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
24281         addition.
24282         * doc/posix-functions/open_wmemstream.texi: Likewise.
24283         * doc/posix-functions/wcsnlen.texi: Likewise.
24284         * doc/posix-functions/wcsnrtombs.texi: Likewise.
24285         * doc/posix-functions/wcstod.texi: Likewise.
24286         * doc/posix-functions/wcstof.texi: Likewise.
24287         * doc/posix-functions/wcstoimax.texi: Likewise.
24288         * doc/posix-functions/wcstok.texi: Likewise.
24289         * doc/posix-functions/wcstoumax.texi: Likewise.
24290
24291         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
24292         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
24293         * doc/posix-functions/fprintf.texi: Update.
24294         * doc/posix-functions/printf.texi: Update.
24295         * doc/posix-functions/snprintf.texi: Update.
24296         * doc/posix-functions/sprintf.texi: Update.
24297         * doc/posix-functions/vfprintf.texi: Update.
24298         * doc/posix-functions/vprintf.texi: Update.
24299         * doc/posix-functions/vsnprintf.texi: Update.
24300         * doc/posix-functions/vsprintf.texi: Update.
24301         * doc/glibc-functions/obstack_printf.texi: Update.
24302         * doc/glibc-functions/obstack_vprintf.texi: Update.
24303
24304 2009-02-26  Eric Blake  <ebb9@byu.net>
24305
24306         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
24307         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
24308         compilation bug by using runtime conversion.
24309         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
24310         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
24311         * modules/ceill-tests (Files): Use nan.h.
24312         * modules/floorl-tests (Files): Likewise.
24313         * modules/frexpl-tests (Files): Likewise.
24314         * modules/isnanl-tests (Files): Likewise.
24315         * modules/ldexpl-tests (Files): Likewise.
24316         * modules/roundl-tests (Files): Likewise.
24317         * modules/truncl-tests (Files): Likewise.
24318         * tests/test-ceill.c (main): Use a working NaN.
24319         * tests/test-floorl.c (main): Likewise.
24320         * tests/test-frexpl.c (main): Likewise.
24321         * tests/test-isnan.c (test_long_double): Likewise.
24322         * tests/test-isnanl.h (main): Likewise.
24323         * tests/test-ldexpl.h (main): Likewise.
24324         * tests/test-roundl.h (main): Likewise.
24325         * tests/test-truncl.h (main): Likewise.
24326         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
24327
24328 2009-02-26  Eric Blake  <ebb9@byu.net>
24329             Bruno Haible  <bruno@clisp.org>
24330
24331         Work around a *printf bug with %ls on Solaris.
24332         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
24333         precision is specified, sprintf stops converting the wide string
24334         argument when the number of bytes that have been produced by this
24335         conversion equals or exceeds the precision.
24336         * doc/posix-functions/fprintf.texi: Update.
24337         * doc/posix-functions/printf.texi: Update.
24338         * doc/posix-functions/snprintf.texi: Update.
24339         * doc/posix-functions/sprintf.texi: Update.
24340         * doc/posix-functions/vfprintf.texi: Update.
24341         * doc/posix-functions/vprintf.texi: Update.
24342         * doc/posix-functions/vsnprintf.texi: Update.
24343         * doc/posix-functions/vsprintf.texi: Update.
24344         * doc/glibc-functions/obstack_printf.texi: Update.
24345         * doc/glibc-functions/obstack_vprintf.texi: Update.
24346
24347 2009-02-26  Eric Blake  <ebb9@byu.net>
24348
24349         stdlib: favor compiler check of random.h
24350         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
24351         to avoid an ObjC random.h installed by Swarm.
24352
24353 2009-02-26  Bruno Haible  <bruno@clisp.org>
24354
24355         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
24356         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
24357         Reported by Gary V. Vaughan <gary@gnu.org>.
24358
24359 2009-02-26  Bruno Haible  <bruno@clisp.org>
24360
24361         Fix *printf behaviour regarding the %ls directive.
24362         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
24363         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
24364         NEED_PRINTF_DIRECTIVE_LS.
24365         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
24366         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
24367         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
24368         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
24369         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
24370         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
24371         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
24372         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
24373         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
24374         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
24375         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
24376         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
24377         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
24378         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
24379         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
24380         * doc/posix-functions/fprintf.texi: Update.
24381         * doc/posix-functions/printf.texi: Update.
24382         * doc/posix-functions/snprintf.texi: Update.
24383         * doc/posix-functions/sprintf.texi: Update.
24384         * doc/posix-functions/vfprintf.texi: Update.
24385         * doc/posix-functions/vprintf.texi: Update.
24386         * doc/posix-functions/vsnprintf.texi: Update.
24387         * doc/posix-functions/vsprintf.texi: Update.
24388         * doc/glibc-functions/obstack_printf.texi: Update.
24389         * doc/glibc-functions/obstack_vprintf.texi: Update.
24390         Reported by Eric Blake.
24391
24392 2009-02-25  Bruno Haible  <bruno@clisp.org>
24393
24394         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
24395         with known value.
24396         Reported by Gary V. Vaughan <gary@gnu.org>.
24397
24398 2009-02-25  Bruno Haible  <bruno@clisp.org>
24399
24400         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
24401         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
24402         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
24403         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
24404         Reported by Gary V. Vaughan <gary@gnu.org>.
24405
24406 2009-02-25  Bruno Haible  <bruno@clisp.org>
24407
24408         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
24409         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
24410         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
24411         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
24412         Reported by Gary V. Vaughan <gary@gnu.org>.
24413
24414 2009-02-25  Eric Blake  <ebb9@byu.net>
24415
24416         tests: skip fseek/ftell tests if ungetc is broken
24417         * m4/ungetc.m4: New file.
24418         * modules/fseek-tests: Split test, so ungetc dependency is
24419         separate from rest of test.
24420         * modules/fseeko-tests: Likewise.
24421         * modules/ftell-tests: Likewise.
24422         * modules/ftello-tests: Likewise.
24423         * tests/test-fseek.c (main): Isolate ungetc dependency.
24424         * tests/test-fseeko.c (main): Likewise.
24425         * tests/test-ftell.c (main): Likewise.
24426         * tests/test-ftello.c (main): Likewise.
24427         * tests/test-fseek2.sh: New file.
24428         * tests/test-fseeko2.sh: Likewise.
24429         * tests/test-ftell2.sh: Likewise.
24430         * tests/test-ftello2.sh: Likewise.
24431
24432 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
24433
24434         test-getaddrinfo: fix usage of skip return code 77
24435         * tests/test-gettaddrinfo.c: Return skip code 77 only
24436         for first occurance of skip (4x77 is not 77)
24437
24438 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
24439
24440         strtod: avoid C99 decl-after-statement
24441         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
24442
24443 2009-02-24  Eric Blake  <ebb9@byu.net>
24444
24445         strtod: detect HP-UX 11.31 bug
24446         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
24447         Reported by Gary V. Vaughan.
24448
24449 2009-02-23  Bruno Haible  <bruno@clisp.org>
24450
24451         Fix invalid read past end of memory block.
24452         * lib/vasnprintf.c (DCHAR_SET): Define.
24453         (local_wcslen): Define only when needed.
24454         (local_strnlen, local_wcsnlen): New functions.
24455         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
24456         directives that involve a conversion ourselves.
24457         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
24458         wcsnlen, mbrtowc, wcrtomb.
24459         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
24460         * tests/test-vasprintf-posix.c (test_function): Likewise.
24461         * tests/test-snprintf-posix.h (test_function): Likewise.
24462         * tests/test-sprintf-posix.h (test_function): Likewise.
24463         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24464
24465 2009-02-22  Bruno Haible  <bruno@clisp.org>
24466
24467         Implement new clarified decomposition of Hangul syllables.
24468         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
24469         of type LTV, return only a pairwise decomposition.
24470         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
24471         Likewise.
24472         * tests/uninorm/test-decomposition.c (main): Updated expected result.
24473         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
24474         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
24475
24476 2009-02-22  Bruno Haible  <bruno@clisp.org>
24477
24478         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
24479         zero-length results and shrink excess allocated memory.
24480         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
24481         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
24482         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
24483         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
24484         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
24485         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
24486         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
24487         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
24488         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
24489         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
24490         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
24491         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
24492
24493 2009-02-21  Bruno Haible  <bruno@clisp.org>
24494
24495         * doc/gnulib.texi: Include safe-alloc.texi earlier.
24496         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
24497         spaces after a period. Put a space between a macro name and its
24498         argument list. Trivial rewordings.
24499         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
24500         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
24501         (main): Return 0 explicitly.
24502
24503 2009-02-21  Bruno Haible  <bruno@clisp.org>
24504
24505         Tests for module 'uninorm/filter'.
24506         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
24507         * modules/uninorm/filter-tests: New file.
24508
24509         New module 'uninorm/filter'.
24510         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
24511         uninorm_filter_flush, uninorm_filter_free): New declarations.
24512         * lib/uninorm/uninorm-filter.c: New file.
24513         * modules/uninorm/filter: New file.
24514
24515 2009-02-21  Bruno Haible  <bruno@clisp.org>
24516
24517         Tests for module 'uninorm/nfkc'.
24518         * tests/uninorm/test-nfkc.c: New file.
24519         * tests/uninorm/test-u8-nfkc.c: New file.
24520         * tests/uninorm/test-u16-nfkc.c: New file.
24521         * tests/uninorm/test-u32-nfkc.c: New file.
24522         * tests/uninorm/test-u32-nfkc-big.sh: New file.
24523         * tests/uninorm/test-u32-nfkc-big.c: New file.
24524         * modules/uninorm/nfkc-tests: New file.
24525
24526         New module 'uninorm/nfkc'.
24527         * lib/uninorm/nfkc.c: New file.
24528         * modules/uninorm/nfkc: New file.
24529
24530         Tests for module 'uninorm/nfkd'.
24531         * tests/uninorm/test-nfkd.c: New file.
24532         * tests/uninorm/test-u8-nfkd.c: New file.
24533         * tests/uninorm/test-u16-nfkd.c: New file.
24534         * tests/uninorm/test-u32-nfkd.c: New file.
24535         * tests/uninorm/test-u32-nfkd-big.sh: New file.
24536         * tests/uninorm/test-u32-nfkd-big.c: New file.
24537         * modules/uninorm/nfkd-tests: New file.
24538
24539         New module 'uninorm/nfkd'.
24540         * lib/uninorm/nfkd.c: New file.
24541         * modules/uninorm/nfkd: New file.
24542
24543         Tests for module 'uninorm/nfc'.
24544         * tests/uninorm/test-nfc.c: New file.
24545         * tests/uninorm/test-u8-nfc.c: New file.
24546         * tests/uninorm/test-u16-nfc.c: New file.
24547         * tests/uninorm/test-u32-nfc.c: New file.
24548         * tests/uninorm/test-u32-nfc-big.sh: New file.
24549         * tests/uninorm/test-u32-nfc-big.c: New file.
24550         * modules/uninorm/nfc-tests: New file.
24551
24552         New module 'uninorm/nfc'.
24553         * lib/uninorm/nfc.c: New file.
24554         * modules/uninorm/nfc: New file.
24555
24556         Tests for module 'uninorm/nfd'.
24557         * tests/uninorm/test-nfd.c: New file.
24558         * tests/uninorm/test-u8-nfd.c: New file.
24559         * tests/uninorm/test-u16-nfd.c: New file.
24560         * tests/uninorm/test-u32-nfd.c: New file.
24561         * tests/uninorm/test-u32-nfd-big.sh: New file.
24562         * tests/uninorm/test-u32-nfd-big.c: New file.
24563         * tests/uninorm/test-u32-normalize-big.h: New file.
24564         * tests/uninorm/test-u32-normalize-big.c: New file.
24565         * tests/uninorm/NormalizationTest.txt: New file, created from
24566         Unicode 5.1.0 NormalizationTest.txt.
24567         * modules/uninorm/nfd-tests: New file.
24568
24569         New module 'uninorm/nfd'.
24570         * lib/uninorm/nfd.c: New file.
24571         * modules/uninorm/nfd: New file.
24572
24573         New module 'uninorm/u32-normalize'.
24574         * lib/uninorm/u32-normalize.c: New file.
24575         * modules/uninorm/u32-normalize: New file.
24576
24577         New module 'uninorm/u16-normalize'.
24578         * lib/uninorm/u16-normalize.c: New file.
24579         * modules/uninorm/u16-normalize: New file.
24580
24581         New module 'uninorm/u8-normalize'.
24582         * lib/uninorm/u8-normalize.c: New file.
24583         * lib/uninorm/normalize-internal.h: New file.
24584         * lib/uninorm/u-normalize-internal.h: New file.
24585         * modules/uninorm/u8-normalize: New file.
24586
24587         New module 'uninorm/decompose-internal'.
24588         * lib/uninorm/decompose-internal.c: New file.
24589         * modules/uninorm/decompose-internal: New file.
24590
24591         Tests for module 'uninorm/composition'.
24592         * tests/uninorm/test-composition.c: New file.
24593         * modules/uninorm/composition-tests: New file.
24594
24595         New module 'uninorm/composition'.
24596         * lib/uninorm/composition.c: New file.
24597         * lib/uninorm/composition-table.gperf: New file, generated by
24598         gen-uni-tables.
24599         * modules/uninorm/composition: New file.
24600
24601         Tests for module 'uninorm/compat-decomposition'.
24602         * tests/uninorm/test-compat-decomposition.c: New file.
24603         * modules/uninorm/compat-decomposition-tests: New file.
24604
24605         New module 'uninorm/compat-decomposition'.
24606         * lib/uninorm/decompose-internal.h: New file.
24607         * lib/uninorm/compat-decomposition.c: New file.
24608         * modules/uninorm/compat-decomposition: New file.
24609
24610         Tests for module 'uninorm/canonical-decomposition'.
24611         * tests/uninorm/test-canonical-decomposition.c: New file.
24612         * modules/uninorm/canonical-decomposition-tests: New file.
24613
24614         New module 'uninorm/canonical-decomposition'.
24615         * lib/uninorm/canonical-decomposition.c: New file.
24616         * modules/uninorm/canonical-decomposition: New file.
24617
24618         Tests for module 'uninorm/decomposition'.
24619         * tests/uninorm/test-decomposition.c: New file.
24620         * modules/uninorm/decomposition-tests: New file.
24621
24622         New module 'uninorm/decomposition'.
24623         * lib/uninorm/decomposition.c: New file.
24624         * modules/uninorm/decomposition: New file.
24625
24626         New module 'uninorm/decomposition-table'.
24627         * lib/uninorm/decomposition-table.h: New file.
24628         * lib/uninorm/decomposition-table.c: New file.
24629         * lib/uninorm/decomposition-table1.h: New file, generated by
24630         gen-uni-tables.
24631         * lib/uninorm/decomposition-table2.h: New file, generated by
24632         gen-uni-tables.
24633         * modules/uninorm/decomposition-table: New file.
24634
24635         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
24636         (UC_DECOMP_*): New enumeration items.
24637         (get_decomposition): New function.
24638         (struct decomp_table): New type.
24639         (output_decomposition, output_decomposition_tables): New functions.
24640         (unicode_composition_exclusions): New variable.
24641         (fill_composition_exclusions, debug_output_composition_tables): New
24642         functions.
24643         (main): Accept one more argument. Invoke fill_composition_exclusions.
24644         Output decomposition and composition tables.
24645
24646         New module 'uninorm/base'.
24647         * lib/uninorm.h: New file.
24648         * lib/unictype.h: Update comment.
24649         * modules/uninorm/base: New file.
24650
24651 2009-02-21  David Lutterkort  <lutter@redhat.com>
24652
24653         Tests for module 'safe-alloc'.
24654         * tests/test-safe-alloc.c: New file.
24655         * modules/safe-alloc-tests: New file.
24656
24657         New module 'safe-alloc'.
24658         * lib/safe-alloc.h: New file.
24659         * lib/safe-alloc.c: New file.
24660         * m4/safe-alloc.m4: New file.
24661         * modules/safe-alloc: New file.
24662         * doc/safe-alloc.texi: New file.
24663         * doc/gnulib.texi: Include it.
24664         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
24665         safe-alloc.
24666
24667 2009-02-18  Bruno Haible  <bruno@clisp.org>
24668
24669         Fix link error on non-glibc systems.
24670         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
24671         variable.
24672         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24673
24674 2009-02-18  Jim Meyering  <meyering@redhat.com>
24675
24676         fts: avoid used-uninitialized error due to recent change
24677         * lib/fts.c (fts_read): Guard uses of the new member,
24678         parent->fts_n_dirs_remaining, since it's not relevant for
24679         the parent of a directory specified on the command-line.
24680
24681 2009-02-17  James Youngman  <jay@gnu.org>
24682             Bruno Haible  <bruno@clisp.org>
24683
24684         * m4/include_next.m4: Reformulate comment.
24685
24686 2009-02-16  Jim Meyering  <meyering@redhat.com>
24687
24688         fts: add #if guards so that the fts_lgpl module still builds
24689         * lib/fts.c: Guard just-added hash-table-using parts with
24690         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
24691         Reported by Simon Josefsson.
24692
24693 2009-02-15  Bruno Haible  <bruno@clisp.org>
24694
24695         * modules/array-mergesort-tests: New file.
24696         * tests/test-array-mergesort.c: New file.
24697
24698         New module 'array-mergesort'.
24699         * modules/array-mergesort: New file.
24700         * lib/array-mergesort.h: New file.
24701
24702 2009-02-15  Bruno Haible  <bruno@clisp.org>
24703
24704         Fix 2009-02-07 commit.
24705         * lib/gen-uni-tables.c (output_predicate, output_category,
24706         output_combclass, output_bidi_category, output_decimal_digit,
24707         output_digit, output_numeric, output_mirror, output_scripts,
24708         output_ident_category, output_simple_mapping): Fix format directives.
24709         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
24710
24711 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
24712
24713         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
24714         fixes are available from IBM.
24715
24716 2009-02-13  Jim Meyering  <meyering@redhat.com>
24717
24718         fts: arrange not to stat non-directories in more cases
24719         This makes GNU find (when it doesn't need to stat each file)
24720         *much* more efficient at traversing reiserfs file systems.
24721         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
24722         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
24723         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
24724         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
24725         (leaf_optimization_applies): New function.
24726         (LCO_hash, LCO_compare): New helper functions.
24727         (link_count_optimize_ok): New function.
24728         (fts_stat): Initialize new member (if dir).
24729         (fts_read): Decrement parent's fts_n_dirs_remaining count if
24730         we've just stat'ed a directory.  Skip the stat call when possible.
24731         ---
24732         Note this AFS-related exchange:
24733         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
24734         and note find's pioctl call in find/fstype.c.
24735         But that is necessary only if you want to enable the
24736         optimization for AFS, and for now, I don't.
24737
24738         fts: move a function definition "up" (no semantic change)
24739         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
24740         "up" to precede upcoming use of a related function.
24741
24742 2009-02-11  Jim Meyering  <meyering@redhat.com>
24743
24744         fts: correct internal computation of nlinks (optimization-related)
24745         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
24746         whether the current entry is a directory, so don't test it.
24747
24748 2009-02-10  Bruno Haible  <bruno@clisp.org>
24749
24750         Tests for module 'uniwbrk/ulc-wordbreaks'.
24751         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
24752         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
24753         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
24754
24755         Tests for module 'uniwbrk/u32-wordbreaks'.
24756         * modules/uniwbrk/u32-wordbreaks-tests: New file.
24757         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
24758
24759         Tests for module 'uniwbrk/u16-wordbreaks'.
24760         * modules/uniwbrk/u16-wordbreaks-tests: New file.
24761         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
24762
24763         Tests for module 'uniwbrk/u8-wordbreaks'.
24764         * modules/uniwbrk/u8-wordbreaks-tests: New file.
24765         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
24766
24767 2009-02-10  Bruno Haible  <bruno@clisp.org>
24768
24769         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
24770         property.
24771         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
24772         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
24773         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
24774
24775 2009-02-10  Simon Josefsson  <simon@josefsson.org>
24776
24777         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
24778         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
24779
24780 2009-02-10  Bruno Haible  <bruno@clisp.org>
24781
24782         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
24783         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
24784         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
24785         * lib/unilbrk/u8-possible-linebreaks.c: Update.
24786         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
24787         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
24788
24789 2009-02-09  Simon Josefsson  <simon@josefsson.org>
24790
24791         * lib/sockets.h (gl_fd_to_handle): New function.
24792
24793         * tests/test-sockets.c: Call gl_fd_to_handle.
24794
24795 2009-02-09  Bruno Haible  <bruno@clisp.org>
24796
24797         * doc/havelib.texi: Document the conventions on bi-arch systems.
24798
24799 2009-02-08  Bruno Haible  <bruno@clisp.org>
24800
24801         Document the AC_LIB_LINKFLAGS macro.
24802         * doc/havelib.texi: New file, mostly written on 2005-05-24.
24803         * doc/gnulib.texi: Include it.
24804
24805 2009-02-08  Bruno Haible  <bruno@clisp.org>
24806
24807         Fix wrong order of sections, compared to TOC.
24808         * doc/gnulib.texi: Include relocatable-maint.texi after the
24809         "Regular expressions" node, not before.
24810
24811 2009-02-08  Bruno Haible  <bruno@clisp.org>
24812
24813         Tests for module 'unicase/totitle'.
24814         * modules/unicase/totitle-tests: New file.
24815
24816         Tests for module 'unicase/tolower'.
24817         * modules/unicase/tolower-tests: New file.
24818
24819         Tests for module 'unicase/toupper'.
24820         * modules/unicase/toupper-tests: New file.
24821         * tests/unicase/test-mapping-part1.h: New file.
24822         * tests/unicase/test-mapping-part2.h: New file.
24823
24824         New module 'unicase/totitle'.
24825         * modules/unicase/totitle: New file.
24826         * lib/unicase/totitle.c: New file.
24827
24828         New module 'unicase/tolower'.
24829         * modules/unicase/tolower: New file.
24830         * lib/unicase/tolower.c: New file.
24831
24832         New module 'unicase/toupper'.
24833         * modules/unicase/toupper: New file.
24834         * lib/unicase/toupper.c: New file.
24835         * lib/unicase/simple-mapping.h: New file.
24836
24837         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
24838         (mapping_table): New structure.
24839         (output_simple_mapping): New function.
24840         (main): Invoke output_simple_mapping_test and output_simple_mapping.
24841         * modules/gen-uni-tables (Description): Update.
24842         * lib/unicase/toupper.h: New file, automatically generated by
24843         gen-uni-tables.
24844         * lib/unicase/tolower.h: New file, automatically generated by
24845         gen-uni-tables.
24846         * lib/unicase/totitle.h: New file, automatically generated by
24847         gen-uni-tables.
24848         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
24849         gen-uni-tables.
24850         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
24851         gen-uni-tables.
24852         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
24853         gen-uni-tables.
24854
24855         New module 'unicase/base'.
24856         * modules/unicase/base: New file.
24857         * lib/unicase.h: New file.
24858
24859 2009-02-08  Bruno Haible  <bruno@clisp.org>
24860
24861         New module 'uniwbrk/ulc-wordbreaks'.
24862         * modules/uniwbrk/ulc-wordbreaks: New file.
24863         * lib/uniwbrk/ulc-wordbreaks.c: New file.
24864
24865         New module 'uniwbrk/u32-wordbreaks'.
24866         * modules/uniwbrk/u32-wordbreaks: New file.
24867         * lib/uniwbrk/u32-wordbreaks.c: New file.
24868
24869         New module 'uniwbrk/u16-wordbreaks'.
24870         * modules/uniwbrk/u16-wordbreaks: New file.
24871         * lib/uniwbrk/u16-wordbreaks.c: New file.
24872
24873         New module 'uniwbrk/u8-wordbreaks'.
24874         * modules/uniwbrk/u8-wordbreaks: New file.
24875         * lib/uniwbrk/u8-wordbreaks.c: New file.
24876         * lib/uniwbrk/u-wordbreaks.h: New file.
24877
24878         New module 'uniwbrk/table'.
24879         * modules/uniwbrk/table: New file.
24880         * lib/uniwbrk/wbrktable.h: New file.
24881         * lib/uniwbrk/wbrktable.c: New file.
24882
24883         New module 'uniwbrk/wordbreak-property'.
24884         * modules/uniwbrk/wordbreak-property: New file.
24885         * lib/uniwbrk/wordbreak-property.c: New file.
24886
24887         * lib/gen-uni-tables.c (WBP_*): New enum items.
24888         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
24889         (unicode_org_wbp): New variable.
24890         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
24891         New functions.
24892         (wbp_table): New structure.
24893         (output_wbp, output_wbrk_tables): New functions.
24894         (main): Accept additional argument. Invoke fill_org_wbp,
24895         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
24896         output_wbrk_tables.
24897         * modules/gen-uni-tables (Description): Update.
24898         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
24899         gen-uni-tables.
24900
24901         New module 'uniwbrk/base'.
24902         * modules/uniwbrk/base: New file.
24903         * lib/uniwbrk.h: New file.
24904
24905 2009-02-08  Bruno Haible  <bruno@clisp.org>
24906
24907         Update to Unicode 5.1.0.
24908         * lib/gen-uni-tables.c (is_property_alphabetic): Include
24909         U+2185..U+2188.
24910         (is_property_default_ignorable_code_point): Don't include characters
24911         of category Cc or Cs and not-a-characters.
24912         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
24913         U+0D79, U+109E, U+109F, U+A60C.
24914         * lib/unictype/bidi_of.h: Regenerated.
24915         * lib/unictype/blocks.h: Regenerated.
24916         * lib/unictype/categ_C.h: Regenerated.
24917         * lib/unictype/categ_Cf.h: Regenerated.
24918         * lib/unictype/categ_Cn.h: Regenerated.
24919         * lib/unictype/categ_L.h: Regenerated.
24920         * lib/unictype/categ_Ll.h: Regenerated.
24921         * lib/unictype/categ_Lm.h: Regenerated.
24922         * lib/unictype/categ_Lo.h: Regenerated.
24923         * lib/unictype/categ_Lu.h: Regenerated.
24924         * lib/unictype/categ_M.h: Regenerated.
24925         * lib/unictype/categ_Mc.h: Regenerated.
24926         * lib/unictype/categ_Me.h: Regenerated.
24927         * lib/unictype/categ_Mn.h: Regenerated.
24928         * lib/unictype/categ_N.h: Regenerated.
24929         * lib/unictype/categ_Nd.h: Regenerated.
24930         * lib/unictype/categ_Nl.h: Regenerated.
24931         * lib/unictype/categ_No.h: Regenerated.
24932         * lib/unictype/categ_P.h: Regenerated.
24933         * lib/unictype/categ_Pd.h: Regenerated.
24934         * lib/unictype/categ_Pe.h: Regenerated.
24935         * lib/unictype/categ_Pf.h: Regenerated.
24936         * lib/unictype/categ_Pi.h: Regenerated.
24937         * lib/unictype/categ_Po.h: Regenerated.
24938         * lib/unictype/categ_Ps.h: Regenerated.
24939         * lib/unictype/categ_S.h: Regenerated.
24940         * lib/unictype/categ_Sk.h: Regenerated.
24941         * lib/unictype/categ_Sm.h: Regenerated.
24942         * lib/unictype/categ_So.h: Regenerated.
24943         * lib/unictype/categ_of.h: Regenerated.
24944         * lib/unictype/combining.h: Regenerated.
24945         * lib/unictype/ctype_alnum.h: Regenerated.
24946         * lib/unictype/ctype_alpha.h: Regenerated.
24947         * lib/unictype/ctype_graph.h: Regenerated.
24948         * lib/unictype/ctype_lower.h: Regenerated.
24949         * lib/unictype/ctype_print.h: Regenerated.
24950         * lib/unictype/ctype_punct.h: Regenerated.
24951         * lib/unictype/ctype_upper.h: Regenerated.
24952         * lib/unictype/decdigit.h: Regenerated.
24953         * lib/unictype/digit.h: Regenerated.
24954         * lib/unictype/mirror.h: Regenerated.
24955         * lib/unictype/numeric.h: Regenerated.
24956         * lib/unictype/pr_alphabetic.h: Regenerated.
24957         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
24958         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
24959         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
24960         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
24961         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
24962         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
24963         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
24964         * lib/unictype/pr_combining.h: Regenerated.
24965         * lib/unictype/pr_dash.h: Regenerated.
24966         * lib/unictype/pr_decimal_digit.h: Regenerated.
24967         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
24968         * lib/unictype/pr_deprecated.h: Regenerated.
24969         * lib/unictype/pr_diacritic.h: Regenerated.
24970         * lib/unictype/pr_extender.h: Regenerated.
24971         * lib/unictype/pr_format_control.h: Regenerated.
24972         * lib/unictype/pr_grapheme_base.h: Regenerated.
24973         * lib/unictype/pr_grapheme_extend.h: Regenerated.
24974         * lib/unictype/pr_grapheme_link.h: Regenerated.
24975         * lib/unictype/pr_id_continue.h: Regenerated.
24976         * lib/unictype/pr_id_start.h: Regenerated.
24977         * lib/unictype/pr_ideographic.h: Regenerated.
24978         * lib/unictype/pr_ignorable_control.h: Regenerated.
24979         * lib/unictype/pr_lowercase.h: Regenerated.
24980         * lib/unictype/pr_math.h: Regenerated.
24981         * lib/unictype/pr_numeric.h: Regenerated.
24982         * lib/unictype/pr_other_alphabetic.h: Regenerated.
24983         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
24984         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
24985         * lib/unictype/pr_other_id_continue.h: Regenerated.
24986         * lib/unictype/pr_other_lowercase.h: Regenerated.
24987         * lib/unictype/pr_other_math.h: Regenerated.
24988         * lib/unictype/pr_punctuation.h: Regenerated.
24989         * lib/unictype/pr_sentence_terminal.h: Regenerated.
24990         * lib/unictype/pr_soft_dotted.h: Regenerated.
24991         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
24992         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
24993         * lib/unictype/pr_unified_ideograph.h: Regenerated.
24994         * lib/unictype/pr_uppercase.h: Regenerated.
24995         * lib/unictype/pr_xid_continue.h: Regenerated.
24996         * lib/unictype/pr_xid_start.h: Regenerated.
24997         * lib/unictype/pr_zero_width.h: Regenerated.
24998         * lib/unictype/scripts.h: Regenerated.
24999         * lib/unictype/scripts_byname.gperf: Regenerated.
25000         * lib/unictype/sy_java_ident.h: Regenerated.
25001         * lib/unilbrk/lbrkprop1.h: Regenerated.
25002         * lib/unilbrk/lbrkprop2.h: Regenerated.
25003         * tests/unictype/test-categ_C.c: Regenerated.
25004         * tests/unictype/test-categ_Cf.c: Regenerated.
25005         * tests/unictype/test-categ_Cn.c: Regenerated.
25006         * tests/unictype/test-categ_L.c: Regenerated.
25007         * tests/unictype/test-categ_Ll.c: Regenerated.
25008         * tests/unictype/test-categ_Lm.c: Regenerated.
25009         * tests/unictype/test-categ_Lo.c: Regenerated.
25010         * tests/unictype/test-categ_Lu.c: Regenerated.
25011         * tests/unictype/test-categ_M.c: Regenerated.
25012         * tests/unictype/test-categ_Mc.c: Regenerated.
25013         * tests/unictype/test-categ_Me.c: Regenerated.
25014         * tests/unictype/test-categ_Mn.c: Regenerated.
25015         * tests/unictype/test-categ_N.c: Regenerated.
25016         * tests/unictype/test-categ_Nd.c: Regenerated.
25017         * tests/unictype/test-categ_Nl.c: Regenerated.
25018         * tests/unictype/test-categ_No.c: Regenerated.
25019         * tests/unictype/test-categ_P.c: Regenerated.
25020         * tests/unictype/test-categ_Pd.c: Regenerated.
25021         * tests/unictype/test-categ_Pe.c: Regenerated.
25022         * tests/unictype/test-categ_Pf.c: Regenerated.
25023         * tests/unictype/test-categ_Pi.c: Regenerated.
25024         * tests/unictype/test-categ_Po.c: Regenerated.
25025         * tests/unictype/test-categ_Ps.c: Regenerated.
25026         * tests/unictype/test-categ_S.c: Regenerated.
25027         * tests/unictype/test-categ_Sk.c: Regenerated.
25028         * tests/unictype/test-categ_Sm.c: Regenerated.
25029         * tests/unictype/test-categ_So.c: Regenerated.
25030         * tests/unictype/test-ctype_alnum.c: Regenerated.
25031         * tests/unictype/test-ctype_alpha.c: Regenerated.
25032         * tests/unictype/test-ctype_graph.c: Regenerated.
25033         * tests/unictype/test-ctype_lower.c: Regenerated.
25034         * tests/unictype/test-ctype_print.c: Regenerated.
25035         * tests/unictype/test-ctype_punct.c: Regenerated.
25036         * tests/unictype/test-ctype_upper.c: Regenerated.
25037         * tests/unictype/test-decdigit.h: Regenerated.
25038         * tests/unictype/test-digit.h: Regenerated.
25039         * tests/unictype/test-numeric.h: Regenerated.
25040         * tests/unictype/test-pr_alphabetic.c: Regenerated.
25041         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
25042         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
25043         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
25044         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
25045         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
25046         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
25047         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
25048         * tests/unictype/test-pr_combining.c: Regenerated.
25049         * tests/unictype/test-pr_dash.c: Regenerated.
25050         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
25051         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
25052         * tests/unictype/test-pr_deprecated.c: Regenerated.
25053         * tests/unictype/test-pr_diacritic.c: Regenerated.
25054         * tests/unictype/test-pr_extender.c: Regenerated.
25055         * tests/unictype/test-pr_format_control.c: Regenerated.
25056         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
25057         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
25058         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
25059         * tests/unictype/test-pr_id_continue.c: Regenerated.
25060         * tests/unictype/test-pr_id_start.c: Regenerated.
25061         * tests/unictype/test-pr_ideographic.c: Regenerated.
25062         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
25063         * tests/unictype/test-pr_lowercase.c: Regenerated.
25064         * tests/unictype/test-pr_math.c: Regenerated.
25065         * tests/unictype/test-pr_numeric.c: Regenerated.
25066         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
25067         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
25068         Regenerated.
25069         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
25070         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
25071         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
25072         * tests/unictype/test-pr_other_math.c: Regenerated.
25073         * tests/unictype/test-pr_punctuation.c: Regenerated.
25074         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
25075         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
25076         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
25077         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
25078         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
25079         * tests/unictype/test-pr_uppercase.c: Regenerated.
25080         * tests/unictype/test-pr_xid_continue.c: Regenerated.
25081         * tests/unictype/test-pr_xid_start.c: Regenerated.
25082         * tests/unictype/test-pr_zero_width.c: Regenerated.
25083
25084         Update to Unicode 5.1.0.
25085         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
25086         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
25087         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
25088         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
25089         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
25090         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
25091         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
25092         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
25093         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
25094         (nonspacing_table_ind): Update.
25095         * tests/uniwidth/test-uc_width2.sh: Update expected result.
25096
25097         Update to Unicode 5.1.0.
25098         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
25099         code transform.
25100         * lib/uniname/uniname.c (unicode_character_name,
25101         unicode_name_character): Add the range 0x1Fxxx to the code transform.
25102         * lib/uniname/uninames.h: Regenerated.
25103         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
25104
25105 2009-02-07  Bruno Haible  <bruno@clisp.org>
25106
25107         Merge gen-ctype and gen-lbrk into a single program.
25108         * lib/gen-uni-tables.c: New file, incorporating
25109         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
25110         Add directory prefixes to the names of the generated files.
25111         * lib/unictype/gen-ctype.c: Remove file.
25112         * lib/unilbrk/gen-lbrk.c: Remove file.
25113         * modules/gen-uni-tables: New file.
25114         * modules/unictype/gen-ctype: Remove file.
25115         * modules/unilbrk/gen-lbrk: Remove file.
25116
25117 2009-02-07  Bruno Haible  <bruno@clisp.org>
25118
25119         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
25120
25121         New module 'unistr/u32-strcoll'.
25122         * modules/unistr/u32-strcoll: New file.
25123         * lib/unistr/u32-strcoll.c: New file.
25124
25125         New module 'unistr/u16-strcoll'.
25126         * modules/unistr/u16-strcoll: New file.
25127         * lib/unistr/u16-strcoll.c: New file.
25128
25129         New module 'unistr/u8-strcoll'.
25130         * modules/unistr/u8-strcoll: New file.
25131         * lib/unistr/u8-strcoll.c: New file.
25132         * lib/unistr/u-strcoll.h: New file.
25133
25134 2009-02-07  Bruno Haible  <bruno@clisp.org>
25135
25136         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
25137         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
25138         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
25139         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
25140         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
25141         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
25142
25143 2009-02-07  Bruno Haible  <bruno@clisp.org>
25144
25145         Make 64-bit clean.
25146         * lib/unictype/gen-ctype.c (output_predicate, output_category,
25147         output_combclass, output_bidi_category, output_decimal_digit,
25148         output_digit, output_numeric, output_mirror, output_scripts,
25149         output_ident_category): Use proper width specifier in format strings.
25150
25151 2009-02-07  Bruno Haible  <bruno@clisp.org>
25152
25153         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
25154         failure behaviour.
25155
25156 2009-02-07  Jim Meyering  <meyering@redhat.com>
25157
25158         regex: avoid compilation failure with upcoming gcc-4.4
25159         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
25160         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
25161         "... error: integer overflow in preprocessor expression".
25162
25163 2009-02-05  Ben Pfaff  <blp@gnu.org>
25164
25165         Fix link errors on Windows when close module is used.
25166         * modules/close: Add $(LIB_CLOSE) to Link section.
25167         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
25168         $(LIB_CLOSE) on Windows.
25169
25170 2009-02-05  Jim Meyering  <meyering@redhat.com>
25171
25172         still avoid unused-parameter warnings, but do it cleanly
25173         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
25174         (get_fs_usage): Cast to void instead.
25175         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
25176         (dev_from_mount_options, read_file_system_list): Cast to void.
25177         Prompted by Bruno Haible.
25178
25179 2009-02-04  Jim Meyering  <meyering@redhat.com>
25180
25181         fsusage.c: correct copyright year
25182         * lib/fsusage.c: Reflect year in which the change is pushed into
25183
25184         avoid misc. warnings
25185         * lib/fsusage.c (UNUSED_PARAM): Define.
25186         (get_fs_usage): Mark parameter "disk" as unused.
25187         * lib/getugroups.c (getgrent): Use "void" in prototype.
25188         * lib/mountlist.c: Mark unused parameters.
25189         (read_file_system_list): Declare a local with "const".
25190         * lib/nanosleep.c (getnow): Declare static.
25191         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
25192
25193         dirfd: set errno upon failure
25194         * lib/dirfd.c: Include <errno.h>.
25195         Set errno to ENOTSUP when returning -1.
25196         * modules/dirfd (Depends-on): Add errno.
25197         Suggested by John Kodis <kodis@comcast.net>.
25198
25199 2009-02-01  Bruno Haible  <bruno@clisp.org>
25200
25201         Don't assume sizeof (long) >= sizeof (void *).
25202         * lib/memcmp.c: Include stdint.h.
25203         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
25204         srcp2 to 'const byte *'.
25205         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
25206         types to uintptr_t.
25207         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
25208         * modules/memcmp (Depends-on): Add stdint.
25209         Reported by Ozkan Sezer <sezeroz@gmail.com>.
25210
25211 2009-01-30  Eric Blake  <ebb9@byu.net>
25212
25213         fix more require-before-expand issues
25214         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
25215         expand, AC_PROG_AWK.
25216         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
25217
25218 2009-01-28  Eric Blake  <ebb9@byu.net>
25219
25220         version-etc: use consistent URL formatting
25221         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
25222         Improve formatting.  Use fputs for string without %.
25223
25224 2009-01-28  Jim Meyering  <meyering@redhat.com>
25225
25226         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
25227         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
25228         "underquoted definition of NAME" from autoconf-2.59.
25229
25230 2009-01-28  Bruno Haible  <bruno@clisp.org>
25231
25232         * doc/gnulib.texi: Add "Obsolete modules" to index.
25233
25234 2009-01-28  Jim Meyering  <meyering@redhat.com>
25235
25236         useless-if-before-free: recognize more variants
25237         * build-aux/useless-if-before-free: Also recognize e.g.,
25238         if (NULL != p) free (p);
25239
25240 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
25241
25242         test-getaddrinfo: skip (don't fail) this test when there's no network
25243         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
25244         on the presumption that it means you lack network access.
25245
25246 2009-01-26  Jim Meyering  <meyering@redhat.com>
25247
25248         fflush: avoid warnings on modern systems
25249         * lib/fflush.c (rpl_fflush): Move declarations of locals,
25250         pos and result, into scopes where they're used.
25251
25252 2009-01-26  Eric Blake  <ebb9@byu.net>
25253
25254         Silence warning reintroduced by recent extensions patch.
25255         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
25256         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
25257         autoconf.
25258
25259         Backport improved autoconf semantics of AC_DEFUN_ONCE.
25260         * m4/00gnulib.m4: New file.
25261         * gnulib-tool (func_get_filelist): Always use it.
25262         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
25263         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
25264
25265 2009-01-25  Bruno Haible  <bruno@clisp.org>
25266
25267         Make test-quotearg work on MacOS X and AIX.
25268         * tests/test-quotearg.sh: New file.
25269         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
25270         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
25271         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
25272         include <libintl.h>.
25273         (fake_locale): Remove variable.
25274         (gettext, dgettext, dcgettext): Remove functions.
25275         (main): Instead of setting a fake locale, set a real locale. Call
25276         textdomain and bindtextdomain.
25277         * modules/quotearg-tests (Files): Add the new files.
25278         (Depends-on): Add gettext, setenv, unsetenv.
25279         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
25280         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
25281         Augment TESTS_ENVIRONMENT.
25282
25283 2009-01-25  Bruno Haible  <bruno@clisp.org>
25284
25285         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
25286         fr_FR.ISO8859-1 locale on MacOS X.
25287         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
25288         ja_JP.eucJP locale on MacOS X.
25289         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
25290         zh_CN.GB18030 locale on MacOS X.
25291
25292 2009-01-25  Bruno Haible  <bruno@clisp.org>
25293
25294         Avoid link errors on MacOS X 10.3.
25295         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
25296         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
25297
25298 2009-01-25  Bruno Haible  <bruno@clisp.org>
25299
25300         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
25301         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
25302         * modules/pipe (Files): Remove m4/posix_spawn.m4.
25303         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
25304         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
25305         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
25306         posix_spawnattr_init, posix_spawnattr_setsigmask,
25307         posix_spawnattr_setflags, posix_spawnattr_destroy.
25308
25309         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
25310         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
25311         * modules/execute (Files): Remove m4/posix_spawn.m4.
25312         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
25313         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
25314         posix_spawnattr_init, posix_spawnattr_setsigmask,
25315         posix_spawnattr_setflags, posix_spawnattr_destroy.
25316
25317 2009-01-25  Bruno Haible  <bruno@clisp.org>
25318
25319         * lib/glthread/threadlib.c: Include <stdlib.h>.
25320
25321 2009-01-25  Bruno Haible  <bruno@clisp.org>
25322
25323         * lib/glthread/threadlib.c (dummy): New declaration.
25324
25325 2009-01-25  Bruno Haible  <bruno@clisp.org>
25326
25327         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
25328         multibyte characters also for the GB18030 encoding. Don't crash when
25329         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
25330
25331 2009-01-25  Bruno Haible  <bruno@clisp.org>
25332
25333         Avoid redefining 'struct random_data' on OSF/1 5.1.
25334         * lib/stdlib.in.h: Include <random.h> if it exists.
25335         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
25336         HAVE_RANDOM_H. Include <random.h> when testing whether
25337         'struct random_data' exists.
25338         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
25339
25340 2009-01-25  Bruno Haible  <bruno@clisp.org>
25341
25342         Don't install charset.alias on MacOS X >= 10.3.
25343         * lib/localcharset.c (DARWIN7): New macro.
25344         (get_charset_aliases): Hardcode the result for Darwin7.
25345         * modules/localcharset (install-exec-local): Don't install
25346         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
25347
25348 2009-01-25  Bruno Haible  <bruno@clisp.org>
25349
25350         Don't install charset.alias on mingw and Cygwin.
25351         * modules/localcharset (install-exec-local): Don't install
25352         charset.alias on mingw and Cygwin, if the file does not yet exist.
25353         The result for these platforms is hardcoded in localcharset.c.
25354
25355 2009-01-25  Bruno Haible  <bruno@clisp.org>
25356
25357         Make it possible again to use AC_GNU_SOURCE together with gnulib.
25358         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
25359         before requiring AC_USE_SYSTEM_EXTENSIONS.
25360
25361 2009-01-25  Jim Meyering  <meyering@redhat.com>
25362
25363         c-strtod: avoid warnings
25364         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
25365         "assignment discards qualifiers from pointer target type" warnings.
25366
25367 2009-01-24  Bruno Haible  <bruno@clisp.org>
25368
25369         Add support for non-UTF-8 locales on MacOS X.
25370         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
25371         canonical encodings. For Darwin 7 and newer, don't map traditional
25372         encodings to UTF-8.
25373         Reported by Vincent Lefevre <vincent@vinc17.org>
25374         at <http://savannah.gnu.org/bugs/?25235>.
25375
25376 2009-01-24  Bruno Haible  <bruno@clisp.org>
25377
25378         * doc/gnulib.texi (Obsolete modules): New section.
25379         Reported by Mike Frysinger <vapier@gentoo.org>.
25380
25381 2009-01-24  Bruno Haible  <bruno@clisp.org>
25382
25383         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
25384         (%.dvi): New rule.
25385
25386 2009-01-24  Bruno Haible  <bruno@clisp.org>
25387
25388         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
25389         Reported by Eric Blake.
25390
25391 2009-01-24  Bruno Haible  <bruno@clisp.org>
25392
25393         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
25394         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
25395         Reported by Gary V. Vaughan <gary@gnu.org>.
25396
25397 2009-01-24  Bruno Haible  <bruno@clisp.org>
25398
25399         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
25400
25401 2009-01-23  Bruno Haible  <bruno@clisp.org>
25402
25403         Make c-strtod, c-strtold usable in libraries.
25404         * lib/c-strtod.c: Include string.h instead of xalloc.h.
25405         (C_STRTOD): Call strdup instead of xstrdup.
25406         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
25407         * modules/c-strtold (Depends-on): Likewise.
25408         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
25409         * NEWS: Mention the change.
25410         Reported by Michael Gold <mgold@ncf.ca>.
25411
25412 2009-01-23  Jim Meyering  <meyering@redhat.com>
25413
25414         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
25415         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
25416         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
25417
25418 2009-01-23  Simon Josefsson  <simon@josefsson.org>
25419
25420         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
25421         GNU CoreUtils.
25422         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
25423         * modules/version-etc (Description): Update.
25424
25425 2009-01-22  Bruno Haible  <bruno@clisp.org>
25426
25427         Cache the C locale object.
25428         * lib/c-strtod.c (c_locale_cache): New variable.
25429         (c_locale): New function.
25430         (C_STRTOD): Use it, and don't call freelocale.
25431         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
25432         Suggested by Paolo Bonzini.
25433
25434 2009-01-21  Bruno Haible  <bruno@clisp.org>
25435
25436         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
25437         conditions other than overflow.
25438
25439 2009-01-21  Bruno Haible  <bruno@clisp.org>
25440
25441         * lib/c-strtod.c: Include errno.h.
25442         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
25443         value from STRTOD_L and STRTOD.
25444
25445 2009-01-21  Bruno Haible  <bruno@clisp.org>
25446         and Jim Meyering  <meyering@redhat.com>
25447
25448         nanosleep: skip configure test (fail it) for apple universal builds
25449         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
25450         universal builds, assume that nanosleep does not work.
25451         * modules/nanosleep (Depends-on): Add multiarch.
25452
25453         mktime: skip configure test (fail it) for apple universal builds
25454         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
25455         universal builds, assume that mktime does not work.
25456         * modules/mktime (Depends-on): Add multiarch.
25457
25458 2009-01-21  Eric Blake  <ebb9@byu.net>
25459
25460         multiarch: avoid expand-before-require warning
25461         * modules/multiarch (configure.ac): Require, rather than expand,
25462         gl_MULTIARCH.
25463         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
25464         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
25465         enforce that all clients require it.  Partial reversion of
25466         2008-12-29 patch.
25467
25468         error: avoid expand-before-require warning
25469         * modules/errno (configure.ac): Require, rather than expand,
25470         gl_HEADER_ERRNO_H.
25471         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
25472         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
25473         enforce that all clients require it.
25474
25475         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
25476         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
25477         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
25478         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
25479
25480 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
25481
25482         Revert:
25483         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
25484
25485         regex: do not depend on obsolete modules.
25486         * modules/regex: Remove memcmp and memmove.
25487
25488 2009-01-20  Bruno Haible  <bruno@clisp.org>
25489
25490         Make the 'link' module link on Windows NT 4.
25491         * lib/link.c (_WIN32_WINNT): Don't define.
25492         (CreateHardLinkFuncType): New type.
25493         (CreateHardLinkFunc, initialized): New variables.
25494         (initialize): New function.
25495         (link): Invoke CreateHardLink indirectly through the function pointer.
25496
25497 2009-01-20  Bruno Haible  <bruno@clisp.org>
25498
25499         Fix compilation failure on mingw.
25500         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
25501
25502 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
25503
25504         * doc/c-strtod.texi: Mention a couple of restrictions.
25505
25506 2009-01-20  Jim Meyering  <meyering@redhat.com>
25507
25508         gettimeofday: move more declarations out of functions
25509         * lib/gettimeofday.c: Move extern declarations of tzset and
25510         gmtime out of containing functions.  Prompted by Bruno Haible.
25511
25512 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
25513
25514         regex: do not depend on obsolete modules.
25515         * modules/regex: Remove memcmp and memmove.
25516
25517 2009-01-19  Bruno Haible  <bruno@clisp.org>
25518
25519         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
25520         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
25521         gl_BIGENDIAN, not AC_C_BIGENDIAN.
25522         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
25523         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
25524
25525 2009-01-19  Bruno Haible  <bruno@clisp.org>
25526
25527         * tests/test-link.c: Include <errno.h>.
25528         (main): Exit with code 77 when a hard link cannot be created due to
25529         the file system.
25530         * tests/test-link.sh: Skip test when a hard link cannot be created due
25531         to the file system.
25532         Suggested by Eric Blake.
25533
25534 2009-01-19  Martin Lambers  <marlam@marlam.de>
25535
25536         * modules/link-tests: New file.
25537         * tests/test-link.sh: New file.
25538         * tests/test-link.c: New file.
25539
25540 2009-01-19  Eric Blake  <ebb9@byu.net>
25541
25542         doc: mention another function added in cygwin 1.7.0
25543         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
25544         Another new function in cygwin 1.7.
25545
25546 2009-01-19  Bruno Haible  <bruno@clisp.org>
25547
25548         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
25549         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
25550         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
25551         gl_BIGENDIAN, not AC_C_BIGENDIAN.
25552         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
25553         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
25554         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
25555         * m4/md4.m4 (gl_MD4): Likewise.
25556         * m4/md5.m4 (gl_MD5): Likewise.
25557         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
25558         * m4/sha1.m4 (gl_SHA1): Likewise.
25559         * m4/sha256.m4 (gl_SHA256): Likewise.
25560         * m4/sha512.m4 (gl_SHA512): Likewise.
25561
25562 2009-01-19  Bruno Haible  <bruno@clisp.org>
25563
25564         * modules/uniname/uniname-tests (Depends-on): Add progname.
25565         * tests/uniname/test-uninames.c: Include progname.h.
25566         (main): Call set_program_name.
25567
25568         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
25569         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
25570         (main): Call set_program_name.
25571
25572         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
25573         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
25574         (main): Call set_program_name.
25575
25576         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
25577         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
25578         (main): Call set_program_name.
25579
25580         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
25581         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
25582         (main): Call set_program_name.
25583
25584         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
25585         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
25586         (main): Call set_program_name.
25587
25588         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
25589         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
25590         (main): Call set_program_name.
25591
25592         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
25593         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
25594         (main): Call set_program_name.
25595
25596         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
25597         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
25598         (main): Call set_program_name.
25599
25600 2009-01-19  Eric Blake  <ebb9@byu.net>
25601
25602         test-unistd: test previous patch
25603         * tests/test-unistd.c: Test *_FILENO macros.
25604
25605         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
25606         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
25607         Guarantee a definition.
25608         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
25609         * modules/unistd-safer (Depends-on): Add dependency on unistd.
25610         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
25611         * lib/dup-safer.c (STDERR_FILENO): Likewise.
25612         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
25613         Likewise.
25614         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
25615         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
25616         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
25617         Likewise.
25618         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
25619         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
25620         (STDERR_FILENO): Likewise.
25621         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
25622         (STDERR_FILENO): Likewise.
25623         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
25624         (STDERR_FILENO): Likewise.
25625         Reported by Elbert Pol.
25626
25627 2009-01-19  Eric Blake  <ebb9@byu.net>
25628
25629         doc: mention more functions added in cygwin 1.7.0
25630         * doc/posix-functions/abort.texi (abort): Update wording related
25631         to cygwin.
25632         * doc/posix-functions/daylight.texi (daylight): Likewise.
25633         * doc/posix-functions/optarg.texi (optarg): Likewise.
25634         * doc/posix-functions/optarg.texi (opterr): Likewise.
25635         * doc/posix-functions/optarg.texi (optind): Likewise.
25636         * doc/posix-functions/optarg.texi (optopt): Likewise.
25637         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
25638         worked in 1.5.x, and was withdrawn in 1.7.
25639         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
25640         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
25641         cygwin versions.
25642         * doc/posix-functions/perror.texi (perror): Likewise.
25643         * doc/posix-functions/printf.texi (printf): Likewise.
25644         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
25645         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
25646         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
25647         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
25648         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
25649         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
25650         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
25651         Likewise.
25652         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
25653         Likewise.
25654         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
25655         this function.
25656         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
25657         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
25658         Likewise.
25659         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
25660         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
25661         * doc/posix-functions/confstr.texi (confstr): Likewise.
25662         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
25663         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
25664         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
25665         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
25666         * doc/posix-functions/fputws.texi (fputws): Likewise.
25667         * doc/posix-functions/fwide.texi (fwide): Likewise.
25668         * doc/posix-functions/getwc.texi (getwc): Likewise.
25669         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
25670         * doc/posix-functions/putwc.texi (putwc): Likewise.
25671         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
25672         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
25673         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
25674         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
25675         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
25676         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
25677         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
25678         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
25679         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
25680         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
25681         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
25682
25683 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
25684
25685         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
25686         * lib/ioctl.c: Include <sys/ioctl.h>.
25687
25688 2009-01-19  Simon Josefsson  <simon@josefsson.org>
25689
25690         * modules/getdate-tests (Depends-on): Add progname.
25691         * tests/test-getdate.c: Use progname module, to avoid link errors
25692         on non-glibc systems.
25693
25694 2009-01-18  Simon Josefsson  <simon@josefsson.org>
25695
25696         * modules/filenamecat-tests (Depends-on): Add progname.
25697         * modules/fstrcmp-tests (Depends-on): Likewise.
25698
25699         * tests/test-filenamecat.c: Use progname module, to avoid link
25700         errors on non-glibc systems.
25701         * tests/test-fstrcmp.c: Likewise.
25702
25703 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
25704
25705         gettimeofday: avoid warning: nested extern declaration of 'localtime'
25706         * lib/gettimeofday.c: Move extern declaration out of function.
25707
25708 2009-01-18  Bruno Haible  <bruno@clisp.org>
25709
25710         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
25711         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
25712         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
25713
25714 2009-01-18  Bruno Haible  <bruno@clisp.org>
25715
25716         * lib/strftime.c (MEMPCPY): Remove unused macro.
25717         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
25718
25719 2009-01-18  Martin Lambers  <marlam@marlam.de>
25720
25721         New module 'link'.
25722         * lib/unistd.in.h (link): New declaration.
25723         * lib/link.c: New file.
25724         * m4/link.m4: New file.
25725         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
25726         HAVE_LINK.
25727         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
25728         * modules/link: New file.
25729         * doc/posix-functions/link.texi: Mention the new module.
25730
25731 2009-01-18  Bruno Haible  <bruno@clisp.org>
25732
25733         * tests/test-avltree_list.c (main): Call set_program_name.
25734         * tests/test-avltree_oset.c (main): Likewise.
25735         * tests/test-obstack-printf.c: Include progname.h.
25736         (main): Call set_program_name.
25737         * tests/test-quotearg.c: Include progname.h.
25738         (main): Call set_program_name.
25739         * tests/test-xmemdup0.c: Include progname.h.
25740         (main): Call set_program_name.
25741
25742 2009-01-18  Bruno Haible  <bruno@clisp.org>
25743
25744         New module 'alphasort'.
25745         * lib/dirent.in.h (alphasort): New declaration.
25746         * lib/alphasort.c: New file, from glibc with modifications.
25747         * m4/alphasort.m4: New file.
25748         * modules/alphasort: New file.
25749         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
25750         HAVE_ALPHASORT.
25751         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
25752         HAVE_ALPHASORT.
25753         * doc/posix-functions/alphasort.texi: Mention the new module and the
25754         portability problems.
25755
25756 2009-01-18  Bruno Haible  <bruno@clisp.org>
25757
25758         New module 'scandir'.
25759         * lib/dirent.in.h (scandir): New declaration.
25760         * lib/scandir.c: New file, from glibc with modifications.
25761         * m4/scandir.m4: New file.
25762         * modules/scandir: New file.
25763         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
25764         HAVE_SCANDIR.
25765         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
25766         HAVE_SCANDIR.
25767         * doc/posix-functions/scandir.texi: Mention the new module and the
25768         portability problems.
25769
25770 2009-01-17  Bruno Haible  <bruno@clisp.org>
25771
25772         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
25773         Update documentation.
25774         (func_remove_suffix): Escape all dots in the suffix. Update
25775         documentation.
25776         (func_filter_filelist): Update documentation.
25777         Reported by Ralf Wildenhues.
25778
25779 2009-01-17  Bruno Haible  <bruno@clisp.org>
25780
25781         * modules/dprintf-posix-tests: New file.
25782         * tests/test-dprintf-posix.sh: New file.
25783         * tests/test-dprintf-posix.c: New file.
25784
25785         New modules 'dprintf', 'dprintf-posix'.
25786         * lib/stdio.in.h (dprintf): New declaration.
25787         * lib/dprintf.c: New file.
25788         * m4/dprintf.m4: New file.
25789         * m4/dprintf-posix.m4: New file.
25790         * modules/dprintf: New file.
25791         * modules/dprintf-posix: New file.
25792         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
25793         HAVE_DPRINTF, REPLACE_DPRINTF.
25794         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
25795         HAVE_DPRINTF, REPLACE_DPRINTF.
25796         * doc/posix-functions/dprintf.texi: Mention the new modules.
25797
25798 2009-01-17  Bruno Haible  <bruno@clisp.org>
25799
25800         * modules/vdprintf-posix-tests: New file.
25801         * tests/test-vdprintf-posix.sh: New file.
25802         * tests/test-vdprintf-posix.c: New file.
25803
25804         New modules 'vdprintf', 'vdprintf-posix'.
25805         * lib/stdio.in.h (vdprintf): New declaration.
25806         * lib/vdprintf.c: New file.
25807         * m4/vdprintf.m4: New file.
25808         * m4/vdprintf-posix.m4: New file.
25809         * modules/vdprintf: New file.
25810         * modules/vdprintf-posix: New file.
25811         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
25812         HAVE_VDPRINTF, REPLACE_VDPRINTF.
25813         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
25814         HAVE_VDPRINTF, REPLACE_VDPRINTF.
25815         * doc/posix-functions/vdprintf.texi: Mention the new modules.
25816
25817 2009-01-17  Bruno Haible  <bruno@clisp.org>
25818
25819         Fix replacement of fopen on mingw.
25820         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
25821         mingw.
25822
25823 2009-01-17  Bruno Haible  <bruno@clisp.org>
25824
25825         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
25826         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
25827
25828 2009-01-17  Bruno Haible  <bruno@clisp.org>
25829
25830         Avoid test-fflush2.sh failure on mingw.
25831         * tests/test-fflush2.c: Include binary-io.h.
25832         (main): Put standard input into binary mode.
25833         * modules/fflush-tests (Depends-on): Add binary-io.
25834
25835 2009-01-17  Bruno Haible  <bruno@clisp.org>
25836
25837         * lib/wchar.in.h: In another particular situation, include only the
25838         system's <wchar.h> file.
25839         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
25840         Reported by Albert Chin-A-Young <china@thewrittenword.com>
25841         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
25842
25843 2009-01-17  Bruno Haible  <bruno@clisp.org>
25844
25845         Support for stripping executables in --enable-relocatable.
25846         * build-aux/install-reloc: Expect one more argument, or an environment
25847         variable RELOC_STRIP_PROG. If set, strip the destination program and
25848         its wrapper.
25849         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
25850         RELOC_STRIP_PROG.
25851         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
25852         to set RELOCATABLE_STRIP.
25853         * NEWS: Mention the new Makefile requirement.
25854
25855 2009-01-17  Bruno Haible  <bruno@clisp.org>
25856
25857         * build-aux/install-reloc: Remove debugging information left over by
25858         C compiler on MacOS X.
25859
25860 2009-01-17  Bruno Haible  <bruno@clisp.org>
25861
25862         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
25863         * lib/progreloc.c (find_executable): Fix type of pointer passed to
25864         _NSGetExecutablePath.
25865
25866 2009-01-16  Jim Meyering  <meyering@redhat.com>
25867
25868         strerror: avoid warnings about discarding "const"
25869         * lib/strerror.c (rpl_strerror): Instead of returning a const
25870         string from each and every "case", use a variable, and add a single
25871         cast after the switch.
25872
25873 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
25874
25875         * lib/arpa_inet.in.h: Add extern "C" block for C++.
25876
25877 2009-01-16  Bruno Haible  <bruno@clisp.org>
25878
25879         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
25880         array initializer syntax that also works in C++ mode.
25881         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25882
25883 2009-01-16  Jim Meyering  <meyering@redhat.com>
25884
25885         poll: suppress a warning
25886         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
25887         to ignore "...unsigned expression < 0 is always false" warnings.
25888
25889 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
25890
25891         poll: remove declarations of unused variables
25892         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
25893         sockbuf and optlen.
25894
25895 2009-01-15  Bruno Haible  <bruno@clisp.org>
25896
25897         Make fflush-after-ungetc POSIX compliant on BSD systems.
25898         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
25899         (clear_ungetc_buffer): Implement also for other systems.
25900         (rpl_fflush): On glibc systems, invoke
25901         clear_ungetc_buffer_preserving_position. Otherwise, invoke
25902         clear_ungetc_buffer after fetching the stream's position, not before.
25903
25904 2009-01-15  Bruno Haible  <bruno@clisp.org>
25905
25906         Make fflush-after-ungetc POSIX compliant on glibc systems.
25907         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
25908         after ungetc.
25909         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
25910         (rpl_fflush): On glibc systems, simply call the system's fflush
25911         function after clearing the ungetc buffer.
25912         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
25913         Instead, lseek only to the end of file, then use the system's fseeko
25914         for the rest. On glibc systems, reset the EOF indicator bit.
25915
25916 2009-01-15  Jim Meyering  <meyering@redhat.com>
25917
25918         openmp.m4: revert quote-adding change, for portability to older autoconf
25919         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
25920         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
25921         Simon Josefsson noticed the problem when using autoconf-2.61.
25922
25923 2009-01-15  Bruno Haible  <bruno@clisp.org>
25924
25925         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
25926         * tests/test-fflush2.c (ASSERT): Always fail.
25927         (main): Add two tests for fflush() after ungetc(), taking into account
25928         the Austin Group's clarification.
25929         Suggested by Eric Blake.
25930
25931 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
25932
25933         mktime.m4: remove K&R-style function prototypes
25934         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
25935         for the Sun C++ compiler.
25936
25937 2009-01-14  Bruno Haible  <bruno@clisp.org>
25938
25939         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
25940         while including <wchar.h>.
25941         * lib/wchar.in.h: In two particular situations on HP-UX, include only
25942         the system's <wchar.h> file.
25943         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25944
25945 2009-01-14  Bruno Haible  <bruno@clisp.org>
25946
25947         * m4/csharp.m4: Don't mention gettext on the serial number line.
25948         * m4/csharpexec.m4: Likewise.
25949         * m4/eaccess.m4: Likewise.
25950         * m4/javaexec.m4: Likewise.
25951         * m4/sig_atomic_t.m4: Likewise.
25952         * m4/tmpdir.m4: Likewise.
25953         * m4/intldir.m4: Bump gettext version.
25954         * m4/lib-ld.m4: Likewise.
25955
25956 2009-01-14  Bruno Haible  <bruno@clisp.org>
25957
25958         * lib/progname.c (set_program_name): Add more comments.
25959         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
25960
25961 2009-01-14  Simon Josefsson  <simon@josefsson.org>
25962
25963         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
25964         were sys/stat.h does not define it.
25965
25966 2009-01-14  Jim Meyering  <meyering@redhat.com>
25967
25968         many *.m4 files: improve m4 quoting
25969         99% of this change was performed by running the following commands:
25970         git ls-files | grep '\.m4$' | xargs perl -pi \
25971           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
25972           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
25973           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
25974           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
25975         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
25976         The remainder were to add Copyright dates, increment serial numbers,
25977         undo some changes in comments, exclude m4/intl.m4, and add quotes
25978         around the "1" in ",1" where the unusual spacing prohibited the
25979         above regexps from doing the job.  For more details, see
25980         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
25981         * m4/acl.m4: Modified.
25982         * m4/afs.m4: Likewise.
25983         * m4/alloca.m4: Likewise.
25984         * m4/argp.m4: Likewise.
25985         * m4/argz.m4: Likewise.
25986         * m4/atexit.m4: Likewise.
25987         * m4/bison-i18n.m4: Likewise.
25988         * m4/bison.m4: Likewise.
25989         * m4/byteswap.m4: Likewise.
25990         * m4/c-stack.m4: Likewise.
25991         * m4/c-strtod.m4: Likewise.
25992         * m4/calloc.m4: Likewise.
25993         * m4/canonicalize-lgpl.m4: Likewise.
25994         * m4/chown.m4: Likewise.
25995         * m4/clock_time.m4: Likewise.
25996         * m4/codeset.m4: Likewise.
25997         * m4/copy-file.m4: Likewise.
25998         * m4/csharp.m4: Likewise.
25999         * m4/csharpcomp.m4: Likewise.
26000         * m4/csharpexec.m4: Likewise.
26001         * m4/d-ino.m4: Likewise.
26002         * m4/d-type.m4: Likewise.
26003         * m4/dirfd.m4: Likewise.
26004         * m4/double-slash-root.m4: Likewise.
26005         * m4/eaccess.m4: Likewise.
26006         * m4/eealloc.m4: Likewise.
26007         * m4/environ.m4: Likewise.
26008         * m4/errno_h.m4: Likewise.
26009         * m4/euidaccess.m4: Likewise.
26010         * m4/execute.m4: Likewise.
26011         * m4/fatal-signal.m4: Likewise.
26012         * m4/fchdir.m4: Likewise.
26013         * m4/fcntl_h.m4: Likewise.
26014         * m4/fileblocks.m4: Likewise.
26015         * m4/filenamecat.m4: Likewise.
26016         * m4/findprog.m4: Likewise.
26017         * m4/flexmember.m4: Likewise.
26018         * m4/fnmatch.m4: Likewise.
26019         * m4/fopen.m4: Likewise.
26020         * m4/fpending.m4: Likewise.
26021         * m4/fprintf-posix.m4: Likewise.
26022         * m4/free.m4: Likewise.
26023         * m4/frexp.m4: Likewise.
26024         * m4/frexpl.m4: Likewise.
26025         * m4/fsusage.m4: Likewise.
26026         * m4/ftruncate.m4: Likewise.
26027         * m4/gc-camellia.m4: Likewise.
26028         * m4/gc-random.m4: Likewise.
26029         * m4/gc.m4: Likewise.
26030         * m4/getaddrinfo.m4: Likewise.
26031         * m4/getcwd-abort-bug.m4: Likewise.
26032         * m4/getcwd-path-max.m4: Likewise.
26033         * m4/getdate.m4: Likewise.
26034         * m4/getdomainname.m4: Likewise.
26035         * m4/getgroups.m4: Likewise.
26036         * m4/gethostname.m4: Likewise.
26037         * m4/gethrxtime.m4: Likewise.
26038         * m4/getline.m4: Likewise.
26039         * m4/getloadavg.m4: Likewise.
26040         * m4/getndelim2.m4: Likewise.
26041         * m4/getpass.m4: Likewise.
26042         * m4/gettext.m4: Likewise.
26043         * m4/gettime.m4: Likewise.
26044         * m4/gettimeofday.m4: Likewise.
26045         * m4/gnulib-common.m4: Likewise.
26046         * m4/group-member.m4: Likewise.
26047         * m4/host-os.m4: Likewise.
26048         * m4/iconv.m4: Likewise.
26049         * m4/iconv_open.m4: Likewise.
26050         * m4/inet_ntop.m4: Likewise.
26051         * m4/inet_pton.m4: Likewise.
26052         * m4/inline.m4: Likewise.
26053         * m4/intldir.m4: Likewise.
26054         * m4/intlmacosx.m4: Likewise.
26055         * m4/intmax.m4: Likewise.
26056         * m4/intmax_t.m4: Likewise.
26057         * m4/inttypes.m4: Likewise.
26058         * m4/inttypes_h.m4: Likewise.
26059         * m4/inttypes-pri.m4: Likewise.
26060         * m4/isapipe.m4: Likewise.
26061         * m4/isnand.m4: Likewise.
26062         * m4/isnanf.m4: Likewise.
26063         * m4/isnanl.m4: Likewise.
26064         * m4/javacomp.m4: Likewise.
26065         * m4/javaexec.m4: Likewise.
26066         * m4/jm-winsz1.m4: Likewise.
26067         * m4/jm-winsz2.m4: Likewise.
26068         * m4/lchown.m4: Likewise.
26069         * m4/lcmessage.m4: Likewise.
26070         * m4/ldexpl.m4: Likewise.
26071         * m4/lib-ld.m4: Likewise.
26072         * m4/lib-link.m4: Likewise.
26073         * m4/libsigsegv.m4: Likewise.
26074         * m4/link-follow.m4: Likewise.
26075         * m4/localcharset.m4: Likewise.
26076         * m4/locale-fr.m4: Likewise.
26077         * m4/locale-ja.m4: Likewise.
26078         * m4/locale-tr.m4: Likewise.
26079         * m4/locale-zh.m4: Likewise.
26080         * m4/lock.m4: Likewise.
26081         * m4/longlong.m4: Likewise.
26082         * m4/ls-mntd-fs.m4: Likewise.
26083         * m4/lstat.m4: Likewise.
26084         * m4/malloc.m4: Likewise.
26085         * m4/mathl.m4: Likewise.
26086         * m4/mbrtowc.m4: Likewise.
26087         * m4/mbstate_t.m4: Likewise.
26088         * m4/mbswidth.m4: Likewise.
26089         * m4/memchr.m4: Likewise.
26090         * m4/memcmp.m4: Likewise.
26091         * m4/memcpy.m4: Likewise.
26092         * m4/memmem.m4: Likewise.
26093         * m4/memmove.m4: Likewise.
26094         * m4/mempcpy.m4: Likewise.
26095         * m4/memrchr.m4: Likewise.
26096         * m4/memset.m4: Likewise.
26097         * m4/minmax.m4: Likewise.
26098         * m4/mkdir-slash.m4: Likewise.
26099         * m4/mkdtemp.m4: Likewise.
26100         * m4/mktime.m4: Likewise.
26101         * m4/mmap-anon.m4: Likewise.
26102         * m4/mountlist.m4: Likewise.
26103         * m4/nanosleep.m4: Likewise.
26104         * m4/nls.m4: Likewise.
26105         * m4/nocrash.m4: Likewise.
26106         * m4/open.m4: Likewise.
26107         * m4/openat.m4: Likewise.
26108         * m4/openmp.m4: Likewise.
26109         * m4/pathmax.m4: Likewise.
26110         * m4/perl.m4: Likewise.
26111         * m4/physmem.m4: Likewise.
26112         * m4/pipe.m4: Likewise.
26113         * m4/po.m4: Likewise.
26114         * m4/poll.m4: Likewise.
26115         * m4/posixtm.m4: Likewise.
26116         * m4/posixver.m4: Likewise.
26117         * m4/printf-frexp.m4: Likewise.
26118         * m4/printf-frexpl.m4: Likewise.
26119         * m4/printf-posix.m4: Likewise.
26120         * m4/printf-posix-rpl.m4: Likewise.
26121         * m4/printf.m4: Likewise.
26122         * m4/progtest.m4: Likewise.
26123         * m4/putenv.m4: Likewise.
26124         * m4/readline.m4: Likewise.
26125         * m4/readlink.m4: Likewise.
26126         * m4/readutmp.m4: Likewise.
26127         * m4/realloc.m4: Likewise.
26128         * m4/regex.m4: Likewise.
26129         * m4/relocatable.m4: Likewise.
26130         * m4/relocatable-lib.m4: Likewise.
26131         * m4/rename-dest-slash.m4: Likewise.
26132         * m4/rename.m4: Likewise.
26133         * m4/rmdir-errno.m4: Likewise.
26134         * m4/rmdir.m4: Likewise.
26135         * m4/roundf.m4: Likewise.
26136         * m4/roundl.m4: Likewise.
26137         * m4/rpmatch.m4: Likewise.
26138         * m4/save-cwd.m4: Likewise.
26139         * m4/selinux-selinux-h.m4: Likewise.
26140         * m4/setenv.m4: Likewise.
26141         * m4/settime.m4: Likewise.
26142         * m4/sig2str.m4: Likewise.
26143         * m4/sig_atomic_t.m4: Likewise.
26144         * m4/signalblocking.m4: Likewise.
26145         * m4/signbit.m4: Likewise.
26146         * m4/sigpipe.m4: Likewise.
26147         * m4/sockets.m4: Likewise.
26148         * m4/sockpfaf.m4: Likewise.
26149         * m4/st_dm_mode.m4: Likewise.
26150         * m4/stat-time.m4: Likewise.
26151         * m4/stdbool.m4: Likewise.
26152         * m4/stdint.m4: Likewise.
26153         * m4/stdint_h.m4: Likewise.
26154         * m4/stpcpy.m4: Likewise.
26155         * m4/stpncpy.m4: Likewise.
26156         * m4/strcase.m4: Likewise.
26157         * m4/strchrnul.m4: Likewise.
26158         * m4/strcspn.m4: Likewise.
26159         * m4/strdup.m4: Likewise.
26160         * m4/strftime.m4: Likewise.
26161         * m4/strndup.m4: Likewise.
26162         * m4/strnlen.m4: Likewise.
26163         * m4/strpbrk.m4: Likewise.
26164         * m4/strptime.m4: Likewise.
26165         * m4/strsep.m4: Likewise.
26166         * m4/strtod.m4: Likewise.
26167         * m4/strtoimax.m4: Likewise.
26168         * m4/strtok_r.m4: Likewise.
26169         * m4/strtol.m4: Likewise.
26170         * m4/strtoll.m4: Likewise.
26171         * m4/strtoul.m4: Likewise.
26172         * m4/strtoull.m4: Likewise.
26173         * m4/strtoumax.m4: Likewise.
26174         * m4/strverscmp.m4: Likewise.
26175         * m4/threadlib.m4: Likewise.
26176         * m4/timegm.m4: Likewise.
26177         * m4/tm_gmtoff.m4: Likewise.
26178         * m4/tmpdir.m4: Likewise.
26179         * m4/tmpfile.m4: Likewise.
26180         * m4/tzset.m4: Likewise.
26181         * m4/uintmax_t.m4: Likewise.
26182         * m4/unlinkdir.m4: Likewise.
26183         * m4/unlocked-io.m4: Likewise.
26184         * m4/uptime.m4: Likewise.
26185         * m4/userspec.m4: Likewise.
26186         * m4/utimbuf.m4: Likewise.
26187         * m4/utime.m4: Likewise.
26188         * m4/utimes-null.m4: Likewise.
26189         * m4/utimes.m4: Likewise.
26190         * m4/vararrays.m4: Likewise.
26191         * m4/vasnprintf.m4: Likewise.
26192         * m4/vfprintf-posix.m4: Likewise.
26193         * m4/vprintf-posix.m4: Likewise.
26194         * m4/wait-process.m4: Likewise.
26195         * m4/wchar_t.m4: Likewise.
26196         * m4/wint_t.m4: Likewise.
26197         * m4/write-any-file.m4: Likewise.
26198         * m4/yield.m4: Likewise.
26199
26200 2009-01-13  Bruno Haible  <bruno@clisp.org>
26201
26202         Avoid test-copy-file.sh failures when ACL support insufficient.
26203         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
26204         TESTS_ENVIRONMENT.
26205         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
26206         Reported by Jim Meyering.
26207
26208 2009-01-13  Bruno Haible  <bruno@clisp.org>
26209
26210         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
26211         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
26212         * modules/unistdio/u8-printf-parse (Files): Likewise.
26213         * modules/unistdio/u32-printf-parse (Files): Likewise.
26214         * modules/unistdio/ulc-printf-parse (Files): Likewise.
26215
26216 2009-01-13  Simon Josefsson  <simon@josefsson.org>
26217
26218         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
26219         and m4/inttypes_h.m4 too.
26220
26221 2009-01-12  Eric Blake  <ebb9@byu.net>
26222
26223         tests: IRIX 6.2 cc can't compile -0.0 into .data
26224         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
26225         rather than at compile-time.
26226         * tests/test-floorl.c (minus_zero): Likewise.
26227         * tests/test-frexpl.c (minus_zero): Likewise.
26228         * tests/test-isnan.c (minus_zerol): Likewise.
26229         * tests/test-isnanl.h (minus_zero): Likewise.
26230         * tests/test-ldexpl.c (minus_zero): Likewise.
26231         * tests/test-roundl.c (minus_zero): Likewise.
26232         * tests/test-signbit.c (minus_zerol): Likewise.
26233         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
26234         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
26235         * tests/test-truncl.c (minus_zero): Likewise.
26236         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
26237         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
26238         Reported by Tom G. Christensen and Nelson H. F. Beebe.
26239
26240 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
26241
26242         regex: fix glibc bug 9697
26243         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
26244         handling.
26245
26246 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
26247
26248         regex: fix glibc bug 697
26249         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
26250         being NULL also if there are no backreferences.
26251
26252 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
26253
26254         regex: merge glibc changes
26255         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
26256         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
26257         re_string_skip_chars, re_string_reconstruct): Likewise.
26258         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
26259
26260 2009-01-07  Jim Meyering  <meyering@redhat.com>
26261
26262         poll: filter through cppi
26263         * lib/poll.c: Indent cpp directives to reflect nesting.
26264
26265 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
26266
26267         poll: don't return uninitialized
26268         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
26269
26270 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
26271
26272         avoid compile failure on AIX 6.1
26273         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
26274         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
26275
26276 2009-01-04  Jim Meyering  <meyering@redhat.com>
26277
26278         remove duplicate inclusion of <stdio.h>
26279         * tests/test-fprintf-posix.c: Likewise.
26280         * tests/test-printf-posix.c: Likewise.
26281         * tests/test-snprintf-posix.c: Likewise.
26282         * tests/test-sprintf-posix.c: Likewise.
26283         * tests/test-vasprintf-posix.c: Likewise.
26284         * tests/test-vfprintf-posix.c: Likewise.
26285         * tests/test-vprintf-posix.c: Likewise.
26286         * tests/test-vsnprintf-posix.c: Likewise.
26287         * tests/test-vsprintf-posix.c: Likewise.
26288
26289 2009-01-03  Jim Meyering  <meyering@redhat.com>
26290
26291         gnulib-tool: fix sed-based filtering
26292         * gnulib-tool (func_filter_filelist): Remove extra backslash
26293         in sed_fff_filter definition.
26294
26295 2009-01-02  Jim Meyering  <meyering@redhat.com>
26296
26297         strftime: avoid compilation failure on Solaris 2.6
26298         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
26299         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
26300         Don't #define mbrlen or mbsinit, since now they're guaranteed to
26301         be available.  Reported by Tom G. Christensen.  Details in
26302         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
26303
26304 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26305             Bruno Haible  <bruno@clisp.org>
26306
26307         Speed up gnulib-tool by doing more string processing through shell
26308         built-ins.
26309         * gnulib-tool (fast_func_append): New variable.
26310         (func_remove_prefix, func_remove_suffix): New functions.
26311         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
26312         (func_filter_filelist): New function.
26313         (func_get_dependencies): Use func_remove_suffix instead of sed.
26314         (func_get_automake_snippet): Use func_filter_filelist instead of a
26315         subshell and sed invocation.
26316
26317 2009-01-01  Bruno Haible  <bruno@clisp.org>
26318
26319         Fix a security bug.
26320         * gnulib-tool (func_import, import, update): Don't allow the characters
26321         '"', '$', '`', '\' in macro arguments that become part of commands that
26322         are evaluated.
26323
26324 2009-01-01  Bruno Haible  <bruno@clisp.org>
26325
26326         * gnulib-tool (func_reset_sigpipe): Add more comments.
26327
26328 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26329
26330         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
26331         func_emit_tests_Makefile_am, func_import): Abort loops early if we
26332         already know the answer.
26333
26334 2009-01-01  Jim Meyering  <meyering@redhat.com>
26335
26336         * lib/version-etc.c (version_etc_va): Update copyright year.
26337
26338 2008-12-30  Bruno Haible  <bruno@clisp.org>
26339
26340         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
26341         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
26342         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
26343
26344 2008-12-29  Eric Blake  <ebb9@byu.net>
26345
26346         multiarch: avoid autoconf AC_REQUIRE bug
26347         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
26348         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
26349         2.63 and older.
26350         Reported by Bruno Haible, and analyzed in
26351         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
26352
26353 2008-12-29  Bruno Haible  <bruno@clisp.org>
26354
26355         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
26356         files in subdirectories correctly.
26357         Reported by Ralf Wildenhues.
26358
26359 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26360
26361         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
26362         rather than 'join FILE -', for Solaris join.
26363
26364 2008-12-29  Bruno Haible  <bruno@clisp.org>
26365
26366         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
26367         quoting.
26368         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
26369         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
26370         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
26371         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
26372         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
26373         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
26374         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
26375         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
26376         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
26377         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
26378         * m4/nls.m4 (AM_NLS): Likewise.
26379         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
26380         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
26381         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
26382         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
26383         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
26384         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
26385         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
26386         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
26387         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
26388         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
26389         * m4/xsize.m4 (gl_XSIZE): Likewise.
26390         Suggested by Jim Meyering.
26391
26392 2008-11-17  Bruce Korb  <bkorb@gnu.org>
26393
26394         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
26395         * lib/parse-duration.c: use a switch instead of cascading if's.
26396
26397 2008-12-29  Eric Blake  <ebb9@byu.net>
26398
26399         wchar.h: supply WEOF on Irix 5.3
26400         * lib/wchar.in.h (wint_t): Also supply WEOF.
26401         * lib/wctype.in.h (wint_t): Likewise.
26402         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
26403         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
26404         Reported by Tom G. Christensen.
26405
26406 2008-12-26  Bruno Haible  <bruno@clisp.org>
26407
26408         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
26409         i486, i586, i686.
26410
26411 2008-12-26  Bruno Haible  <bruno@clisp.org>
26412
26413         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
26414
26415 2008-12-26  Bruno Haible  <bruno@clisp.org>
26416
26417         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
26418         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
26419         not __STDC_CONSTANT_MACROS.
26420         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
26421
26422 2008-12-25  Bruno Haible  <bruno@clisp.org>
26423
26424         Add support for universal builds to vasnprintf.
26425         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
26426         universal builds, guess no.
26427         * modules/vasnprintf-posix (Depends-on): Add multiarch.
26428         * modules/vasprintf-posix (Depends-on): Likewise.
26429         * modules/fprintf-posix (Depends-on): Likewise.
26430         * modules/vfprintf-posix (Depends-on): Likewise.
26431         * modules/snprintf-posix (Depends-on): Likewise.
26432         * modules/vsnprintf-posix (Depends-on): Likewise.
26433         * modules/sprintf-posix (Depends-on): Likewise.
26434         * modules/vsprintf-posix (Depends-on): Likewise.
26435         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
26436         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
26437         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
26438         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
26439         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
26440         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
26441         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
26442
26443         Add support for universal builds to <inttypes.h>.
26444         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
26445         _SCNu64_PREFIX): In Apple
26446         universal builds, define directly, using _LP64.
26447         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
26448         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
26449         * modules/inttypes (Depends-on): Add multiarch.
26450         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
26451
26452         Add support for universal builds to <stdint.h>.
26453         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
26454         universal builds, define directly, using _LP64.
26455         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
26456         Apple universal builds, don't test for the size and suffix of ptrdiff_t
26457         and size_t.
26458         * modules/stdint (Depends-on): Add multiarch.
26459         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
26460
26461         New module 'multiarch'.
26462         * modules/multiarch: New file.
26463         * m4/multiarch.m4: New file.
26464
26465 2008-12-25  Bruno Haible  <bruno@clisp.org>
26466
26467         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
26468
26469 2008-12-25  Bruno Haible  <bruno@clisp.org>
26470
26471         * modules/btowc (License): Relicense under LGPLv2+.
26472         * modules/mbsinit (License): Likewise.
26473         * modules/mbrtowc (License): Likewise.
26474         * modules/wcrtomb (License): Likewise.
26475         * modules/streq (License): Likewise.
26476         Reported by David Lutterkort <lutter@redhat.com>.
26477
26478 2008-12-23  Bruno Haible  <bruno@clisp.org>
26479
26480         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
26481
26482 2008-12-23  Bruno Haible  <bruno@clisp.org>
26483
26484         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
26485         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
26486         GETADDRINFO_LIB, not in LIBS.
26487         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
26488         * modules/canon-host (Link): Likewise.
26489         * NEWS: Mention the change.
26490         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
26491         GETADDRINFO_LIB.
26492
26493 2008-12-22  Bruno Haible  <bruno@clisp.org>
26494
26495         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
26496         * doc/posix-functions/iswalpha_l.texi: Likewise.
26497         * doc/posix-functions/iswblank_l.texi: Likewise.
26498         * doc/posix-functions/iswcntrl_l.texi: Likewise.
26499         * doc/posix-functions/iswctype_l.texi: Likewise.
26500         * doc/posix-functions/iswdigit_l.texi: Likewise.
26501         * doc/posix-functions/iswgraph_l.texi: Likewise.
26502         * doc/posix-functions/iswlower_l.texi: Likewise.
26503         * doc/posix-functions/iswprint_l.texi: Likewise.
26504         * doc/posix-functions/iswpunct_l.texi: Likewise.
26505         * doc/posix-functions/iswspace_l.texi: Likewise.
26506         * doc/posix-functions/iswupper_l.texi: Likewise.
26507         * doc/posix-functions/iswxdigit_l.texi: Likewise.
26508         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
26509         * doc/posix-functions/open_wmemstream.texi: Likewise.
26510         * doc/posix-functions/swscanf.texi: Likewise.
26511         * doc/posix-functions/towctrans_l.texi: Likewise.
26512         * doc/posix-functions/towlower.texi: Likewise.
26513         * doc/posix-functions/towlower_l.texi: Likewise.
26514         * doc/posix-functions/towupper.texi: Likewise.
26515         * doc/posix-functions/towupper_l.texi: Likewise.
26516         * doc/posix-functions/vfwprintf.texi: Likewise.
26517         * doc/posix-functions/vfwscanf.texi: Likewise.
26518         * doc/posix-functions/vswscanf.texi: Likewise.
26519         * doc/posix-functions/vwprintf.texi: Likewise.
26520         * doc/posix-functions/vwscanf.texi: Likewise.
26521         * doc/posix-functions/wcpcpy.texi: Likewise.
26522         * doc/posix-functions/wcpncpy.texi: Likewise.
26523         * doc/posix-functions/wcscasecmp.texi: Likewise.
26524         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
26525         * doc/posix-functions/wcscoll_l.texi: Likewise.
26526         * doc/posix-functions/wcsdup.texi: Likewise.
26527         * doc/posix-functions/wcsncasecmp.texi: Likewise.
26528         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
26529         * doc/posix-functions/wcsnlen.texi: Likewise.
26530         * doc/posix-functions/wcsnrtombs.texi: Likewise.
26531         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
26532         * doc/posix-functions/wctrans_l.texi: Likewise.
26533         * doc/posix-functions/wctype_l.texi: Likewise.
26534         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
26535         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
26536         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
26537         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
26538         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
26539         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
26540         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
26541         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
26542         * doc/glibc-functions/wcschrnul.texi: Likewise.
26543         * doc/glibc-functions/wcsftime_l.texi: Likewise.
26544         * doc/glibc-functions/wcstod_l.texi: Likewise.
26545         * doc/glibc-functions/wcstof_l.texi: Likewise.
26546         * doc/glibc-functions/wcstol_l.texi: Likewise.
26547         * doc/glibc-functions/wcstold_l.texi: Likewise.
26548         * doc/glibc-functions/wcstoll_l.texi: Likewise.
26549         * doc/glibc-functions/wcstoq.texi: Likewise.
26550         * doc/glibc-functions/wcstoul_l.texi: Likewise.
26551         * doc/glibc-functions/wcstoull_l.texi: Likewise.
26552         * doc/glibc-functions/wcstouq.texi: Likewise.
26553         * doc/glibc-functions/wmempcpy.texi: Likewise.
26554
26555 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
26556             Eric Blake  <ebb9@byu.net>
26557             Paolo Bonzini  <bonzini@gnu.org>
26558             Bruno Haible  <bruno@clisp.org>
26559
26560         Make c-stack work on Haiku.
26561         * lib/c-stack.c (SA_ONSTACK): Define fallback.
26562         (c_stack_action): Use SA_ONSTACK flag.
26563
26564 2008-12-22  Bruno Haible  <bruno@clisp.org>
26565
26566         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
26567
26568 2008-12-22  Bruno Haible  <bruno@clisp.org>
26569
26570         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
26571         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
26572         being overridden.
26573         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
26574         New macros.
26575         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
26576         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
26577         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
26578         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
26579
26580 2008-12-22  Bruno Haible  <bruno@clisp.org>
26581
26582         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
26583         from test code.
26584
26585 2008-12-22  Eric Blake  <ebb9@byu.net>
26586
26587         Avoid gcc warnings on cygwin.
26588         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
26589         Avoid unused variable.
26590         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
26591         Likewise.
26592
26593 2008-12-22  Bruno Haible  <bruno@clisp.org>
26594
26595         Remove HAVE_MBRTOWC conditionals.
26596         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
26597         (mbscasecmp): Assume mbrtowc function.
26598         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
26599         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
26600         * lib/mbschr.c: Include mbuiter.h unconditionally.
26601         (mbschr): Assume mbrtowc function.
26602         * lib/mbscspn.c: Include mbuiter.h unconditionally.
26603         (mbscspn): Assume mbrtowc function.
26604         * lib/mbslen.c: Include mbuiter.h unconditionally.
26605         (mbslen): Assume mbrtowc function.
26606         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
26607         (mbsncasecmp): Assume mbrtowc function.
26608         * lib/mbsnlen.c: Include mbiter.h unconditionally.
26609         (mbsnlen): Assume mbrtowc function.
26610         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
26611         (mbspbrk): Assume mbrtowc function.
26612         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
26613         (mbspcasecmp): Assume mbrtowc function.
26614         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
26615         (mbsrchr): Assume mbrtowc function.
26616         * lib/mbssep.c: Include mbuiter.h unconditionally.
26617         (mbssep): Assume mbrtowc function.
26618         * lib/mbsspn.c: Include mbuiter.h unconditionally.
26619         (mbsspn): Assume mbrtowc function.
26620         * lib/mbsstr.c: Include mbuiter.h unconditionally.
26621         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
26622         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
26623         (mbstok_r): Assume mbrtowc function.
26624         * lib/propername.c: Include mbuiter.h unconditionally.
26625         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
26626         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
26627         (trim2): Assume mbrtowc function.
26628         * lib/mbswidth.c (mbsinit): Remove fallback definition.
26629         (mbsnwidth): Assume mbrtowc function.
26630         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
26631         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
26632         fallback definitions.
26633         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
26634
26635 2008-12-22  Bruno Haible  <bruno@clisp.org>
26636
26637         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
26638
26639 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
26640
26641         * modules/regex: Request emulations for the mb*/wc* functions we need.
26642         * m4/regex.m4: Don't look for those functions here.
26643         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
26644
26645 2008-12-22  Bruno Haible  <bruno@clisp.org>
26646
26647         * modules/fnmatch (Depends-on): Remove duplicated dependency.
26648
26649 2008-12-21  Bruno Haible  <bruno@clisp.org>
26650
26651         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
26652         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
26653         (Include): Remove conditionalization.
26654         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
26655         (Include): Remove conditionalization.
26656         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
26657         (Include): Remove conditionalization.
26658         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
26659         * m4/mbfile.m4 (gl_MBFILE): Likewise.
26660         * NEWS: Mention the change.
26661         Reported by Alan Hourihane <alanh@fairlite.co.uk>
26662         via Sergey Poznyakoff <gray@gnu.org.ua>.
26663
26664 2008-12-21  Bruno Haible  <bruno@clisp.org>
26665
26666         * MODULES.html.sh (Extended multibyte and wide character utilities
26667         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
26668         wcrtomb, wcsrtombs.
26669         (Support for systems lacking POSIX:2008): Add accept, bind, close,
26670         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
26671         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
26672         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
26673
26674 2008-12-21  Bruno Haible  <bruno@clisp.org>
26675
26676         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
26677
26678 2008-12-21  Bruno Haible  <bruno@clisp.org>
26679
26680         * modules/wcsnrtombs-tests: New file.
26681         * tests/test-wcsnrtombs1.sh: New file.
26682         * tests/test-wcsnrtombs2.sh: New file.
26683         * tests/test-wcsnrtombs3.sh: New file.
26684         * tests/test-wcsnrtombs4.sh: New file.
26685         * tests/test-wcsnrtombs.c: New file.
26686
26687         New module 'wcsnrtombs'.
26688         * lib/wchar.in.h (wcsnrtombs): New declaration.
26689         * lib/wcsnrtombs.c: New file.
26690         * lib/wcsrtombs-state.c: New file.
26691         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
26692         (internal_state): Remove variable.
26693         * m4/wcsnrtombs.m4: New file.
26694         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
26695         compilation units.
26696         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
26697         HAVE_WCSNRTOMBS.
26698         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
26699         HAVE_WCSNRTOMBS.
26700         * modules/wcsnrtombs: New file.
26701         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
26702         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
26703
26704 2008-12-21  Bruno Haible  <bruno@clisp.org>
26705
26706         * modules/wcsrtombs-tests: New file.
26707         * tests/test-wcsrtombs1.sh: New file.
26708         * tests/test-wcsrtombs2.sh: New file.
26709         * tests/test-wcsrtombs3.sh: New file.
26710         * tests/test-wcsrtombs4.sh: New file.
26711         * tests/test-wcsrtombs.c: New file.
26712
26713         New module 'wcsrtombs'.
26714         * lib/wchar.in.h (wcsrtombs): New declaration.
26715         * lib/wcsrtombs.c: New file.
26716         * m4/wcsrtombs.m4: New file.
26717         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
26718         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
26719         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
26720         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
26721         * modules/wcsrtombs: New file.
26722         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
26723         bugs.
26724
26725 2008-12-21  Bruno Haible  <bruno@clisp.org>
26726
26727         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
26728         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
26729         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
26730         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
26731         if not correct.
26732         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
26733         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
26734         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
26735         m4/locale-zh.m4, m4/codeset.m4.
26736         * doc/posix-functions/wcrtomb.texi: Document the bug.
26737
26738 2008-12-21  Bruno Haible  <bruno@clisp.org>
26739
26740         Work around a btowc() bug on IRIX 6.5.
26741         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
26742         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
26743         REPLACE_WTOBC if not.
26744         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
26745         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
26746         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
26747
26748 2008-12-21  Bruno Haible  <bruno@clisp.org>
26749
26750         * modules/wcrtomb-tests: New file.
26751         * tests/test-wcrtomb.sh: New file.
26752         * tests/test-wcrtomb.c: New file.
26753
26754         New module 'wcrtomb'.
26755         * lib/wchar.in.h (wcrtomb): New declaration.
26756         * lib/wcrtomb.c: New file.
26757         * m4/wcrtomb.m4: New file.
26758         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
26759         HAVE_WCRTOMB.
26760         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
26761         HAVE_WCRTOMB.
26762         * modules/wcrtomb: New file.
26763         * doc/posix-functions/wcrtomb.texi: Mention the new module.
26764
26765 2008-12-21  Bruno Haible  <bruno@clisp.org>
26766
26767         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
26768         * modules/mbsrtowcs (Files): Likewise.
26769         * modules/wctob (Files): Likewise.
26770         * modules/c-strcase-tests (Files): Likewise.
26771         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
26772         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
26773         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
26774         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
26775         * modules/vasnprintf-posix-tests (Files): Likewise.
26776
26777 2008-12-21  William Pursell  <bill.pursell@gmail.com>
26778
26779         gitlog-to-changelog: pass all command-line arguments to git-log
26780         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
26781         it is sometimes convenient to filter the commits in various ways.
26782         gitlog-to-changelog only allows --since to specify a start date,
26783         but git-log itself supports many other filtering mechanisms.
26784         At the moment, I want to filter by branch name.  Rather than
26785         adding a --branch option to gitlog-to-changelog, it seems more
26786         flexible to simply pass all options directly to git-log and let
26787         git do the work.  Notice that this effectively makes --since a
26788         redundant option for gitlog-to-changelog, but removing it would
26789         require current usage to change since calls would then require
26790         an additional '--'.
26791
26792 2008-12-21  Bruno Haible  <bruno@clisp.org>
26793
26794         * modules/mbsnrtowcs-tests: New file.
26795         * tests/test-mbsnrtowcs1.sh: New file.
26796         * tests/test-mbsnrtowcs2.sh: New file.
26797         * tests/test-mbsnrtowcs3.sh: New file.
26798         * tests/test-mbsnrtowcs4.sh: New file.
26799         * tests/test-mbsnrtowcs.c: New file.
26800
26801         New module 'mbsnrtowcs'.
26802         * lib/wchar.in.h (mbsnrtowcs): New declaration.
26803         * lib/mbsnrtowcs.c: New file.
26804         * lib/mbsrtowcs-state.c: New file.
26805         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
26806         (internal_state): Remove variable.
26807         * m4/mbsnrtowcs.m4: New file.
26808         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
26809         compilation units.
26810         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
26811         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
26812         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
26813         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
26814         * modules/mbsnrtowcs: New file.
26815         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
26816         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
26817         portability problem.
26818
26819 2008-12-21  Bruno Haible  <bruno@clisp.org>
26820
26821         Work around mbsrtowcs bug.
26822         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
26823         (gl_FUNC_MBSRTOWCS): Invoke it.
26824         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
26825         m4/locale-zh.m4.
26826         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
26827
26828 2008-12-21  Bruno Haible  <bruno@clisp.org>
26829
26830         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
26831
26832 2008-12-21  Bruno Haible  <bruno@clisp.org>
26833
26834         Update doc for AIX.
26835         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
26836         16-bit wchar_t type.
26837         * doc/posix-functions/btowc.texi: Likewise.
26838         * doc/posix-functions/fgetwc.texi: Likewise.
26839         * doc/posix-functions/fgetws.texi: Likewise.
26840         * doc/posix-functions/fputwc.texi: Likewise.
26841         * doc/posix-functions/fputws.texi: Likewise.
26842         * doc/posix-functions/fwide.texi: Likewise.
26843         * doc/posix-functions/fwprintf.texi: Likewise.
26844         * doc/posix-functions/fwscanf.texi: Likewise.
26845         * doc/posix-functions/getwchar.texi: Likewise.
26846         * doc/posix-functions/getwc.texi: Likewise.
26847         * doc/posix-functions/iswalnum.texi: Likewise.
26848         * doc/posix-functions/iswalpha.texi: Likewise.
26849         * doc/posix-functions/iswblank.texi: Likewise.
26850         * doc/posix-functions/iswcntrl.texi: Likewise.
26851         * doc/posix-functions/iswctype.texi: Likewise.
26852         * doc/posix-functions/iswdigit.texi: Likewise.
26853         * doc/posix-functions/iswgraph.texi: Likewise.
26854         * doc/posix-functions/iswlower.texi: Likewise.
26855         * doc/posix-functions/iswprint.texi: Likewise.
26856         * doc/posix-functions/iswpunct.texi: Likewise.
26857         * doc/posix-functions/iswspace.texi: Likewise.
26858         * doc/posix-functions/iswupper.texi: Likewise.
26859         * doc/posix-functions/iswxdigit.texi: Likewise.
26860         * doc/posix-functions/mbrtowc.texi: Likewise.
26861         * doc/posix-functions/mbsrtowcs.texi: Likewise.
26862         * doc/posix-functions/mbstowcs.texi: Likewise.
26863         * doc/posix-functions/mbtowc.texi: Likewise.
26864         * doc/posix-functions/putwchar.texi: Likewise.
26865         * doc/posix-functions/putwc.texi: Likewise.
26866         * doc/posix-functions/swprintf.texi: Likewise.
26867         * doc/posix-functions/tolower.texi: Likewise.
26868         * doc/posix-functions/toupper.texi: Likewise.
26869         * doc/posix-functions/towctrans.texi: Likewise.
26870         * doc/posix-functions/ungetwc.texi: Likewise.
26871         * doc/posix-functions/vswprintf.texi: Likewise.
26872         * doc/posix-functions/wcrtomb.texi: Likewise.
26873         * doc/posix-functions/wcscat.texi: Likewise.
26874         * doc/posix-functions/wcschr.texi: Likewise.
26875         * doc/posix-functions/wcscmp.texi: Likewise.
26876         * doc/posix-functions/wcscoll.texi: Likewise.
26877         * doc/posix-functions/wcscpy.texi: Likewise.
26878         * doc/posix-functions/wcscspn.texi: Likewise.
26879         * doc/posix-functions/wcsftime.texi: Likewise.
26880         * doc/posix-functions/wcslen.texi: Likewise.
26881         * doc/posix-functions/wcsncat.texi: Likewise.
26882         * doc/posix-functions/wcsncmp.texi: Likewise.
26883         * doc/posix-functions/wcsncpy.texi: Likewise.
26884         * doc/posix-functions/wcspbrk.texi: Likewise.
26885         * doc/posix-functions/wcsrchr.texi: Likewise.
26886         * doc/posix-functions/wcsrtombs.texi: Likewise.
26887         * doc/posix-functions/wcsspn.texi: Likewise.
26888         * doc/posix-functions/wcsstr.texi: Likewise.
26889         * doc/posix-functions/wcstod.texi: Likewise.
26890         * doc/posix-functions/wcstof.texi: Likewise.
26891         * doc/posix-functions/wcstoimax.texi: Likewise.
26892         * doc/posix-functions/wcstok.texi: Likewise.
26893         * doc/posix-functions/wcstold.texi: Likewise.
26894         * doc/posix-functions/wcstoll.texi: Likewise.
26895         * doc/posix-functions/wcstol.texi: Likewise.
26896         * doc/posix-functions/wcstombs.texi: Likewise.
26897         * doc/posix-functions/wcstoull.texi: Likewise.
26898         * doc/posix-functions/wcstoul.texi: Likewise.
26899         * doc/posix-functions/wcstoumax.texi: Likewise.
26900         * doc/posix-functions/wcswidth.texi: Likewise.
26901         * doc/posix-functions/wcsxfrm.texi: Likewise.
26902         * doc/posix-functions/wctob.texi: Likewise.
26903         * doc/posix-functions/wctomb.texi: Likewise.
26904         * doc/posix-functions/wctrans.texi: Likewise.
26905         * doc/posix-functions/wctype.texi: Likewise.
26906         * doc/posix-functions/wcwidth.texi: Likewise.
26907         * doc/posix-functions/wmemchr.texi: Likewise.
26908         * doc/posix-functions/wmemcmp.texi: Likewise.
26909         * doc/posix-functions/wmemcpy.texi: Likewise.
26910         * doc/posix-functions/wmemmove.texi: Likewise.
26911         * doc/posix-functions/wmemset.texi: Likewise.
26912         * doc/posix-functions/wprintf.texi: Likewise.
26913         * doc/posix-functions/wscanf.texi: Likewise.
26914
26915 2008-12-21  Bruno Haible  <bruno@clisp.org>
26916
26917         Update doc for HP-UX 11.11.
26918         * doc/posix-functions/btowc.texi: Clarify that the function is missing
26919         in HP-UX version 11.00, not in all versions of HP-UX 11.
26920         * doc/posix-functions/fwide.texi: Likewise.
26921         * doc/posix-functions/fwprintf.texi: Likewise.
26922         * doc/posix-functions/fwscanf.texi: Likewise.
26923         * doc/posix-functions/inet_ntop.texi: Likewise.
26924         * doc/posix-functions/inet_pton.texi: Likewise.
26925         * doc/posix-functions/mbrlen.texi: Likewise.
26926         * doc/posix-functions/mbrtowc.texi: Likewise.
26927         * doc/posix-functions/mbsinit.texi: Likewise.
26928         * doc/posix-functions/mbsrtowcs.texi: Likewise.
26929         * doc/posix-functions/swprintf.texi: Likewise.
26930         * doc/posix-functions/swscanf.texi: Likewise.
26931         * doc/posix-functions/towctrans.texi: Likewise.
26932         * doc/posix-functions/vfwprintf.texi: Likewise.
26933         * doc/posix-functions/vswprintf.texi: Likewise.
26934         * doc/posix-functions/vwprintf.texi: Likewise.
26935         * doc/posix-functions/wcrtomb.texi: Likewise.
26936         * doc/posix-functions/wcsrtombs.texi: Likewise.
26937         * doc/posix-functions/wcsstr.texi: Likewise.
26938         * doc/posix-functions/wctob.texi: Likewise.
26939         * doc/posix-functions/wctrans.texi: Likewise.
26940         * doc/posix-functions/wmemchr.texi: Likewise.
26941         * doc/posix-functions/wmemcmp.texi: Likewise.
26942         * doc/posix-functions/wmemcpy.texi: Likewise.
26943         * doc/posix-functions/wmemmove.texi: Likewise.
26944         * doc/posix-functions/wmemset.texi: Likewise.
26945         * doc/posix-functions/wprintf.texi: Likewise.
26946         * doc/posix-functions/wscanf.texi: Likewise.
26947
26948 2008-12-21  Bruno Haible  <bruno@clisp.org>
26949
26950         Work around a portability problem.
26951         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
26952         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
26953
26954 2008-12-20  Bruno Haible  <bruno@clisp.org>
26955
26956         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
26957         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
26958         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
26959         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
26960         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
26961
26962         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
26963         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
26964         set.
26965         (GNULIB_defined_mbstate_t): New macro.
26966         (mbsinit): Redefine if REPLACE_MBSINIT is set.
26967         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
26968         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
26969         reuses the system's mbrtowc function but works around the bugs.
26970         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
26971         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
26972         macros.
26973         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
26974         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
26975         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
26976         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
26977         REPLACE_MBSINIT if mbsinit needs to be overridden.
26978         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
26979         REPLACE_MBSINIT, REPLACE_MBRTOWC.
26980         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
26981         REPLACE_MBSINIT, REPLACE_MBRTOWC.
26982         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
26983         m4/locale-zh.m4.
26984         (Depends): Add mbsinit.
26985         * modules/mbsinit (Depends): Add mbrtowc.
26986         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
26987
26988 2008-12-20  Bruno Haible  <bruno@clisp.org>
26989
26990         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
26991         so that there are no conversion errors on AIX.
26992         * tests/test-mbsrtowcs.c (main): LIkewise.
26993
26994 2008-12-20  Bruno Haible  <bruno@clisp.org>
26995
26996         Work around wctob bug on Solaris <= 9.
26997         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
26998         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
26999         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
27000         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
27001         * modules/wctob (Files): Add m4/locale-fr.m4.
27002         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
27003
27004 2008-12-20  Bruno Haible  <bruno@clisp.org>
27005
27006         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
27007         /dev/null.
27008         * tests/test-select-in.sh: Likewise.
27009         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
27010
27011 2008-12-20  Bruno Haible  <bruno@clisp.org>
27012
27013         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
27014         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
27015         Cygwin 1.5.x.
27016
27017 2008-12-20  Bruno Haible  <bruno@clisp.org>
27018
27019         Ensure mbstate_t is defined on HP-UX 11.11.
27020         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
27021         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
27022         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
27023         AC_USE_SYSTEM_EXTENSIONS.
27024         * modules/fnmatch (Depends-on): Add extensions.
27025         * modules/mbrlen (Depends-on): Likewise.
27026         * modules/mbrtowc (Depends-on): Likewise.
27027         * modules/mbsinit (Depends-on): Likewise.
27028         * modules/mbsrtowcs (Depends-on): Likewise.
27029         * modules/mbswidth (Depends-on): Likewise.
27030         * modules/quotearg (Depends-on): Likewise.
27031         * modules/strftime (Depends-on): Likewise.
27032
27033 2008-12-20  Bruno Haible  <bruno@clisp.org>
27034
27035         Ensure wctob is declared on IRIX 6.5.
27036         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
27037         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
27038         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
27039         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
27040         of HAVE_WCTOB.
27041         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
27042         HAVE_WCTOB.
27043         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
27044
27045 2008-12-19  Bruno Haible  <bruno@clisp.org>
27046
27047         * modules/mbsrtowcs-tests: New file.
27048         * tests/test-mbsrtowcs1.sh: New file.
27049         * tests/test-mbsrtowcs2.sh: New file.
27050         * tests/test-mbsrtowcs3.sh: New file.
27051         * tests/test-mbsrtowcs4.sh: New file.
27052         * tests/test-mbsrtowcs.c: New file.
27053
27054         New module 'mbsrtowcs'.
27055         * lib/wchar.in.h (mbsrtowcs): New declaration.
27056         * lib/mbsrtowcs.c: New file.
27057         * m4/mbsrtowcs.m4: New file.
27058         * modules/mbsrtowcs: New file.
27059         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
27060         HAVE_MBSRTOWCS.
27061         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
27062         HAVE_MBSRTOWCS.
27063         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
27064
27065 2008-12-19  Bruno Haible  <bruno@clisp.org>
27066
27067         New module 'mbrlen'.
27068         * lib/wchar.in.h (mbrlen): New declaration.
27069         * lib/mbrlen.c: New file.
27070         * m4/mbrlen.m4: New file.
27071         * modules/mbrlen: New file.
27072         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
27073         HAVE_MBRLEN.
27074         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
27075         HAVE_MBRLEN.
27076         * doc/posix-functions/mbrlen.texi: Document the new module.
27077
27078 2008-12-19  Bruno Haible  <bruno@clisp.org>
27079
27080         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
27081         * modules/mbrtowc (Depends-on): Add verify.
27082         Suggested by Paul Eggert.
27083
27084 2008-12-18  Bruno Haible  <bruno@clisp.org>
27085
27086         * modules/mbsinit-tests: New file.
27087         * tests/test-mbsinit.sh: New file.
27088         * tests/test-mbsinit.c: New file.
27089
27090 2008-12-18  Bruno Haible  <bruno@clisp.org>
27091
27092         * modules/mbrtowc-tests: New file.
27093         * tests/test-mbrtowc1.sh: New file.
27094         * tests/test-mbrtowc2.sh: New file.
27095         * tests/test-mbrtowc3.sh: New file.
27096         * tests/test-mbrtowc4.sh: New file.
27097         * tests/test-mbrtowc.c: New file.
27098
27099         New module 'mbrtowc'.
27100         * lib/wchar.in.h (mbstate_t): Override when the system does not have
27101         mbsinit and mbrtowc.
27102         (mbrtowc): New declaration.
27103         * lib/mbrtowc.c: New file.
27104         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
27105         * modules/mbrtowc: New file.
27106         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
27107         HAVE_MBRTOWC.
27108         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
27109         HAVE_MBRTOWC.
27110         * doc/posix-functions/mbrtowc.texi: Document the new module.
27111
27112 2008-12-18  Bruno Haible  <bruno@clisp.org>
27113
27114         New module 'wctob'.
27115         * lib/wchar.in.h (wctob): New declaration.
27116         * lib/wctob.c: New file.
27117         * m4/wctob.m4: New file.
27118         * modules/wctob: New file.
27119         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
27120         HAVE_WCTOB.
27121         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
27122         * doc/posix-functions/wctob.texi: Document the new module.
27123
27124 2008-12-18  Bruno Haible  <bruno@clisp.org>
27125
27126         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
27127         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
27128
27129 2008-12-18  Simon Josefsson  <simon@josefsson.org>
27130
27131         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
27132         G. Christensen" <tgc@jupiterrise.com>.
27133
27134         * lib/flock.c: Need to include errno.h.  Reported by "Tom
27135         G. Christensen" <tgc@jupiterrise.com>.
27136
27137         * lib/flock.c: Need to include string.h.  Reported by "Tom
27138         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
27139         <ebb9@byu.net>.
27140
27141 2008-12-18  Bruno Haible  <bruno@clisp.org>
27142
27143         * m4/locale-ja.m4: New file, from GNU gettext.
27144
27145 2008-12-17  Bruno Haible  <bruno@clisp.org>
27146
27147         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
27148         Suggested by Eric Blake.
27149
27150 2008-12-17  Bruno Haible  <bruno@clisp.org>
27151
27152         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
27153
27154 2008-12-17  Bruno Haible  <bruno@clisp.org>
27155
27156         * lib/mbsinit.c: Include verify.h. Verify an assumption.
27157         * modules/mbsinit (Depends-on): Add verify.
27158         Suggested by Paul Eggert.
27159
27160 2008-12-17  Bruno Haible  <bruno@clisp.org>
27161
27162         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
27163         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
27164         gl_FUNC_MBRTOWC.
27165         * m4/mbiter.m4 (gl_MBITER): LIkewise.
27166         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
27167         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
27168         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
27169         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
27170         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
27171         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
27172         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
27173         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
27174         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
27175         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
27176         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
27177         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
27178         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
27179         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
27180         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
27181         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
27182         * modules/trim (configure.ac): Likewise.
27183
27184 2008-12-17  Bruno Haible  <bruno@clisp.org>
27185
27186         * modules/btowc-tests: New file.
27187         * tests/test-btowc1.sh: New file.
27188         * tests/test-btowc2.sh: New file.
27189         * tests/test-btowc.c: New file.
27190
27191         New module 'btowc'.
27192         * lib/wchar.in.h (btowc): New declaration.
27193         * lib/btowc.c: New file.
27194         * m4/btowc.m4: New file.
27195         * modules/btowc: New file.
27196         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
27197         HAVE_BTOWC.
27198         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
27199         * doc/posix-functions/btowc.texi: Document the new module.
27200
27201 2008-12-17  Bruno Haible  <bruno@clisp.org>
27202
27203         New module 'mbsinit'.
27204         * lib/wchar.in.h (mbsinit): New declaration.
27205         * lib/mbsinit.c: New file.
27206         * m4/mbsinit.m4: New file.
27207         * modules/mbsinit: New file.
27208         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
27209         HAVE_MBSINIT.
27210         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
27211         HAVE_MBSINIT.
27212         * doc/posix-functions/mbsinit.texi: Document the new module.
27213
27214 2008-12-16  Bruno Haible  <bruno@clisp.org>
27215
27216         * lib/unistd.in.h: Add comment.
27217         * tests/test-environ.c: Don't include <stdlib.h>.
27218
27219 2008-12-16  Bruno Haible  <bruno@clisp.org>
27220
27221         * lib/parse-duration.h (parse_duration): Document return value
27222         convention.
27223         * lib/parse-duration.c: Include specification header first. Add
27224         comments.
27225         (_): Remove macro.
27226         (parse_year_month_day, parse_hour_minute_second): Move side effects
27227         outside of strchr call.
27228         (parse_non_iso8601): Move side effects outside of isspace call.
27229         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
27230         call.
27231
27232 2008-12-16  Bruno Haible  <bruno@clisp.org>
27233
27234         * tests/test-parse-duration.sh: Produce no output when the test
27235         succeeds.
27236
27237 2008-12-16  Bruno Haible  <bruno@clisp.org>
27238
27239         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
27240         expressions.
27241
27242 2008-12-15  Bruno Haible  <bruno@clisp.org>
27243
27244         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
27245         * doc/glibc-functions/flistxattr.texi: Likewise.
27246         * doc/glibc-functions/fopencookie.texi: Likewise.
27247         * doc/glibc-functions/fremovexattr.texi: Likewise.
27248         * doc/glibc-functions/fsetxattr.texi: Likewise.
27249         * doc/glibc-functions/getxattr.texi: Likewise.
27250         * doc/glibc-functions/lgetxattr.texi: Likewise.
27251         * doc/glibc-functions/listxattr.texi: Likewise.
27252         * doc/glibc-functions/llistxattr.texi: Likewise.
27253         * doc/glibc-functions/lremovexattr.texi: Likewise.
27254         * doc/glibc-functions/lsetxattr.texi: Likewise.
27255         * doc/glibc-functions/removexattr.texi: Likewise.
27256         * doc/glibc-functions/setxattr.texi: Likewise.
27257         * doc/posix-functions/open_memstream.texi: Likewise.
27258
27259 2008-12-15  Eric Blake  <ebb9@byu.net>
27260
27261         Update doc for cygwin 1.7.
27262         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
27263         functions.
27264         * doc/posix-functions/fchmodat.texi: Likewise.
27265         * doc/posix-functions/fchownat.texi: Likewise.
27266         * doc/posix-functions/fdopendir.texi: Likewise.
27267         * doc/posix-functions/fmemopen.texi: Likewise.
27268         * doc/posix-functions/freeaddrinfo.texi: Likewise.
27269         * doc/posix-functions/fstatat.texi: Likewise.
27270         * doc/posix-functions/futimens.texi: Likewise.
27271         * doc/posix-functions/gai_strerror.texi: Likewise.
27272         * doc/posix-functions/getaddrinfo.texi: Likewise.
27273         * doc/posix-functions/getnameinfo.texi: Likewise.
27274         * doc/posix-functions/if_freenameindex.texi: Likewise.
27275         * doc/posix-functions/if_indextoname.texi: Likewise.
27276         * doc/posix-functions/if_nameindex.texi: Likewise.
27277         * doc/posix-functions/if_nametoindex.texi: Likewise.
27278         * doc/posix-functions/insque.texi: Likewise.
27279         * doc/posix-functions/linkat.texi: Likewise.
27280         * doc/posix-functions/llrint.texi: Likewise.
27281         * doc/posix-functions/llrintf.texi: Likewise.
27282         * doc/posix-functions/llrintl.texi: Likewise.
27283         * doc/posix-functions/lockf.texi: Likewise.
27284         * doc/posix-functions/lrintl.texi: Likewise.
27285         * doc/posix-functions/mkdirat.texi: Likewise.
27286         * doc/posix-functions/mkfifoat.texi: Likewise.
27287         * doc/posix-functions/mknodat.texi: Likewise.
27288         * doc/posix-functions/mq_close.texi: Likewise.
27289         * doc/posix-functions/mq_getattr.texi: Likewise.
27290         * doc/posix-functions/mq_notify.texi: Likewise.
27291         * doc/posix-functions/mq_open.texi: Likewise.
27292         * doc/posix-functions/mq_receive.texi: Likewise.
27293         * doc/posix-functions/mq_send.texi: Likewise.
27294         * doc/posix-functions/mq_setattr.texi: Likewise.
27295         * doc/posix-functions/mq_timedreceive.texi: Likewise.
27296         * doc/posix-functions/mq_timedsend.texi: Likewise.
27297         * doc/posix-functions/mq_unlink.texi: Likewise.
27298         * doc/posix-functions/open_memstream.texi: Likewise.
27299         * doc/posix-functions/openat.texi: Likewise.
27300         * doc/posix-functions/posix_fadvise.texi: Likewise.
27301         * doc/posix-functions/posix_fallocate.texi: Likewise.
27302         * doc/posix-functions/posix_madvise.texi: Likewise.
27303         * doc/posix-functions/posix_memalign.texi: Likewise.
27304         * doc/posix-functions/posix_openpt.texi: Likewise.
27305         * doc/posix-functions/readlinkat.texi: Likewise.
27306         * doc/posix-functions/remque.texi: Likewise.
27307         * doc/posix-functions/renameat.texi: Likewise.
27308         * doc/posix-functions/rintl.texi: Likewise.
27309         * doc/posix-functions/sem_unlink.texi: Likewise.
27310         * doc/posix-functions/shm_open.texi: Likewise.
27311         * doc/posix-functions/shm_unlink.texi: Likewise.
27312         * doc/posix-functions/signgam.texi: Likewise.
27313         * doc/posix-functions/sigset.texi: Likewise.
27314         * doc/posix-functions/stpcpy.texi: Likewise.
27315         * doc/posix-functions/stpncpy.texi: Likewise.
27316         * doc/posix-functions/strerror.texi: Likewise.
27317         * doc/posix-functions/strtod.texi: Likewise.
27318         * doc/posix-functions/symlinkat.texi: Likewise.
27319         * doc/posix-functions/unlinkat.texi: Likewise.
27320         * doc/posix-functions/utimensat.texi: Likewise.
27321         * doc/glibc-functions/bindresvport.texi: Likewise.
27322         * doc/glibc-functions/dn_expand.texi: Likewise.
27323         * doc/glibc-functions/exp10.texi: Likewise.
27324         * doc/glibc-functions/exp10f.texi: Likewise.
27325         * doc/glibc-functions/fgetxattr.texi: Likewise.
27326         * doc/glibc-functions/flistxattr.texi: Likewise.
27327         * doc/glibc-functions/fopencookie.texi: Likewise.
27328         * doc/glibc-functions/freeifaddrs.texi: Likewise.
27329         * doc/glibc-functions/fremovexattr.texi: Likewise.
27330         * doc/glibc-functions/fsetxattr.texi: Likewise.
27331         * doc/glibc-functions/getifaddrs.texi: Likewise.
27332         * doc/glibc-functions/getxattr.texi: Likewise.
27333         * doc/glibc-functions/lgetxattr.texi: Likewise.
27334         * doc/glibc-functions/listxattr.texi: Likewise.
27335         * doc/glibc-functions/llistxattr.texi: Likewise.
27336         * doc/glibc-functions/lremovexattr.texi: Likewise.
27337         * doc/glibc-functions/lsetxattr.texi: Likewise.
27338         * doc/glibc-functions/pow10.texi: Likewise.
27339         * doc/glibc-functions/pow10f.texi: Likewise.
27340         * doc/glibc-functions/rcmd_af.texi: Likewise.
27341         * doc/glibc-functions/removexattr.texi: Likewise.
27342         * doc/glibc-functions/res_init.texi: Likewise.
27343         * doc/glibc-functions/res_mkquery.texi: Likewise.
27344         * doc/glibc-functions/res_query.texi: Likewise.
27345         * doc/glibc-functions/res_querydomain.texi: Likewise.
27346         * doc/glibc-functions/res_send.texi: Likewise.
27347         * doc/glibc-functions/rresvport_af.texi: Likewise.
27348         * doc/glibc-functions/setxattr.texi: Likewise.
27349         * doc/glibc-functions/strcasestr.texi: Likewise.
27350
27351 2008-12-15  Bruno Haible  <bruno@clisp.org>
27352
27353         Fix compilation error on OSF/1 4.0.
27354         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
27355         <sys/time.h>, simply delegate to the system header.
27356         Reported by Daniel Richard G. <oss@teragram.com>.
27357
27358 2008-12-15  Bruno Haible  <bruno@clisp.org>
27359
27360         * doc/posix-functions/openat.texi: Mention the 'openat' module.
27361         * doc/posix-functions/fchmodat.texi: Likewise.
27362         * doc/posix-functions/fchownat.texi: Likewise.
27363         * doc/posix-functions/fdopendir.texi: Likewise.
27364         * doc/posix-functions/fstatat.texi: Likewise.
27365         * doc/posix-functions/mkdirat.texi: Likewise.
27366         * doc/posix-functions/unlinkat.texi: Likewise.
27367
27368 2008-12-14  Bruno Haible  <bruno@clisp.org>
27369
27370         Update doc for POSIX:2008.
27371         * doc/posix-functions/faccessat.texi: New file.
27372         * doc/posix-functions/fchmodat.texi: New file.
27373         * doc/posix-functions/fchownat.texi: New file.
27374         * doc/posix-functions/fdopendir.texi: New file.
27375         * doc/posix-functions/fstatat.texi: New file.
27376         * doc/posix-functions/futimens.texi: New file.
27377         * doc/posix-functions/linkat.texi: New file.
27378         * doc/posix-functions/mkdirat.texi: New file.
27379         * doc/posix-functions/mkfifoat.texi: New file.
27380         * doc/posix-functions/mknodat.texi: New file.
27381         * doc/posix-functions/open_wmemstream.texi: New file.
27382         * doc/posix-functions/openat.texi: New file.
27383         * doc/posix-functions/psiginfo.texi: New file.
27384         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
27385         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
27386         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
27387         * doc/posix-functions/readlinkat.texi: New file.
27388         * doc/posix-functions/renameat.texi: New file.
27389         * doc/posix-functions/strerror_l.texi: New file.
27390         * doc/posix-functions/symlinkat.texi: New file.
27391         * doc/posix-functions/unlinkat.texi: New file.
27392         * doc/posix-functions/utimensat.texi: New file.
27393         * doc/gnulib.texi (Function Substitutes): Add these subsections.
27394
27395 2008-12-14  Bruno Haible  <bruno@clisp.org>
27396
27397         Update doc for POSIX:2008.
27398         * doc/posix-functions/alphasort.texi: Renamed from
27399         doc/glibc-functions/alphasort.texi.
27400         * doc/posix-functions/dirfd.texi: Renamed from
27401         doc/glibc-functions/dirfd.texi.
27402         * doc/posix-functions/dprintf.texi: Renamed from
27403         doc/glibc-functions/dprintf.texi.
27404         * doc/posix-functions/duplocale.texi: Renamed from
27405         doc/glibc-functions/duplocale.texi.
27406         * doc/posix-functions/fexecve.texi: Renamed from
27407         doc/glibc-functions/fexecve.texi.
27408         * doc/posix-functions/fmemopen.texi: Renamed from
27409         doc/glibc-functions/fmemopen.texi.
27410         * doc/posix-functions/freelocale.texi: Renamed from
27411         doc/glibc-functions/freelocale.texi.
27412         * doc/posix-functions/getdate_err.texi: Renamed from
27413         doc/glibc-functions/getdate_err.texi.
27414         * doc/posix-functions/isalnum_l.texi: Renamed from
27415         doc/glibc-functions/isalnum_l.texi.
27416         * doc/posix-functions/isalpha_l.texi: Renamed from
27417         doc/glibc-functions/isalpha_l.texi.
27418         * doc/posix-functions/isblank_l.texi: Renamed from
27419         doc/glibc-functions/isblank_l.texi.
27420         * doc/posix-functions/iscntrl_l.texi: Renamed from
27421         doc/glibc-functions/iscntrl_l.texi.
27422         * doc/posix-functions/isdigit_l.texi: Renamed from
27423         doc/glibc-functions/isdigit_l.texi.
27424         * doc/posix-functions/isgraph_l.texi: Renamed from
27425         doc/glibc-functions/isgraph_l.texi.
27426         * doc/posix-functions/islower_l.texi: Renamed from
27427         doc/glibc-functions/islower_l.texi.
27428         * doc/posix-functions/isprint_l.texi: Renamed from
27429         doc/glibc-functions/isprint_l.texi.
27430         * doc/posix-functions/ispunct_l.texi: Renamed from
27431         doc/glibc-functions/ispunct_l.texi.
27432         * doc/posix-functions/isspace_l.texi: Renamed from
27433         doc/glibc-functions/isspace_l.texi.
27434         * doc/posix-functions/isupper_l.texi: Renamed from
27435         doc/glibc-functions/isupper_l.texi.
27436         * doc/posix-functions/iswalnum_l.texi: Renamed from
27437         doc/glibc-functions/iswalnum_l.texi.
27438         * doc/posix-functions/iswalpha_l.texi: Renamed from
27439         doc/glibc-functions/iswalpha_l.texi.
27440         * doc/posix-functions/iswblank_l.texi: Renamed from
27441         doc/glibc-functions/iswblank_l.texi.
27442         * doc/posix-functions/iswcntrl_l.texi: Renamed from
27443         doc/glibc-functions/iswcntrl_l.texi.
27444         * doc/posix-functions/iswctype_l.texi: Renamed from
27445         doc/glibc-functions/iswctype_l.texi.
27446         * doc/posix-functions/iswdigit_l.texi: Renamed from
27447         doc/glibc-functions/iswdigit_l.texi.
27448         * doc/posix-functions/iswgraph_l.texi: Renamed from
27449         doc/glibc-functions/iswgraph_l.texi.
27450         * doc/posix-functions/iswlower_l.texi: Renamed from
27451         doc/glibc-functions/iswlower_l.texi.
27452         * doc/posix-functions/iswprint_l.texi: Renamed from
27453         doc/glibc-functions/iswprint_l.texi.
27454         * doc/posix-functions/iswpunct_l.texi: Renamed from
27455         doc/glibc-functions/iswpunct_l.texi.
27456         * doc/posix-functions/iswspace_l.texi: Renamed from
27457         doc/glibc-functions/iswspace_l.texi.
27458         * doc/posix-functions/iswupper_l.texi: Renamed from
27459         doc/glibc-functions/iswupper_l.texi.
27460         * doc/posix-functions/iswxdigit_l.texi: Renamed from
27461         doc/glibc-functions/iswxdigit_l.texi.
27462         * doc/posix-functions/isxdigit_l.texi: Renamed from
27463         doc/glibc-functions/isxdigit_l.texi.
27464         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
27465         doc/glibc-functions/mbsnrtowcs.texi.
27466         * doc/posix-functions/mkdtemp.texi: Renamed from
27467         doc/glibc-functions/mkdtemp.texi.
27468         * doc/posix-functions/newlocale.texi: Renamed from
27469         doc/glibc-functions/newlocale.texi.
27470         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
27471         doc/glibc-functions/nl_langinfo_l.texi.
27472         * doc/posix-functions/open_memstream.texi: Renamed from
27473         doc/glibc-functions/open_memstream.texi.
27474         * doc/posix-functions/opterr.texi: Renamed from
27475         doc/glibc-functions/opterr.texi.
27476         * doc/posix-functions/optind.texi: Renamed from
27477         doc/glibc-functions/optind.texi.
27478         * doc/posix-functions/optopt.texi: Renamed from
27479         doc/glibc-functions/optopt.texi.
27480         * doc/posix-functions/psignal.texi: Renamed from
27481         doc/glibc-functions/psignal.texi.
27482         * doc/posix-functions/scandir.texi: Renamed from
27483         doc/glibc-functions/scandir.texi.
27484         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
27485         doc/glibc-functions/sched_get_priority_min.texi.
27486         * doc/posix-functions/signgam.texi: Renamed from
27487         doc/glibc-functions/signgam.texi.
27488         * doc/posix-functions/stpcpy.texi: Renamed from
27489         doc/glibc-functions/stpcpy.texi.
27490         * doc/posix-functions/stpncpy.texi: Renamed from
27491         doc/glibc-functions/stpncpy.texi.
27492         * doc/posix-functions/strcasecmp_l.texi: Renamed from
27493         doc/glibc-functions/strcasecmp_l.texi.
27494         * doc/posix-functions/strcoll_l.texi: Renamed from
27495         doc/glibc-functions/strcoll_l.texi.
27496         * doc/posix-functions/strfmon_l.texi: Renamed from
27497         doc/glibc-functions/strfmon_l.texi.
27498         * doc/posix-functions/strftime_l.texi: Renamed from
27499         doc/glibc-functions/strftime_l.texi.
27500         * doc/posix-functions/strncasecmp_l.texi: Renamed from
27501         doc/glibc-functions/strncasecmp_l.texi.
27502         * doc/posix-functions/strndup.texi: Renamed from
27503         doc/glibc-functions/strndup.texi.
27504         * doc/posix-functions/strnlen.texi: Renamed from
27505         doc/glibc-functions/strnlen.texi.
27506         * doc/posix-functions/strsignal.texi: Renamed from
27507         doc/glibc-functions/strsignal.texi.
27508         * doc/posix-functions/strxfrm_l.texi: Renamed from
27509         doc/glibc-functions/strxfrm_l.texi.
27510         * doc/posix-functions/timer_gettime.texi: Renamed from
27511         doc/glibc-functions/timer_gettime.texi.
27512         * doc/posix-functions/tolower_l.texi: Renamed from
27513         doc/glibc-functions/tolower_l.texi.
27514         * doc/posix-functions/toupper_l.texi: Renamed from
27515         doc/glibc-functions/toupper_l.texi.
27516         * doc/posix-functions/towctrans_l.texi: Renamed from
27517         doc/glibc-functions/towctrans_l.texi.
27518         * doc/posix-functions/towlower_l.texi: Renamed from
27519         doc/glibc-functions/towlower_l.texi.
27520         * doc/posix-functions/towupper_l.texi: Renamed from
27521         doc/glibc-functions/towupper_l.texi.
27522         * doc/posix-functions/uselocale.texi: Renamed from
27523         doc/glibc-functions/uselocale.texi.
27524         * doc/posix-functions/vdprintf.texi: Renamed from
27525         doc/glibc-functions/vdprintf.texi.
27526         * doc/posix-functions/wcpcpy.texi:
27527         Renamed from doc/glibc-functions/wcpcpy.texi.
27528         * doc/posix-functions/wcpncpy.texi: Renamed from
27529         doc/glibc-functions/wcpncpy.texi.
27530         * doc/posix-functions/wcscasecmp.texi: Renamed from
27531         doc/glibc-functions/wcscasecmp.texi.
27532         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
27533         doc/glibc-functions/wcscasecmp_l.texi.
27534         * doc/posix-functions/wcscoll_l.texi: Renamed from
27535         doc/glibc-functions/wcscoll_l.texi.
27536         * doc/posix-functions/wcsdup.texi: Renamed from
27537         doc/glibc-functions/wcsdup.texi.
27538         * doc/posix-functions/wcsncasecmp.texi: Renamed from
27539         doc/glibc-functions/wcsncasecmp.texi.
27540         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
27541         doc/glibc-functions/wcsncasecmp_l.texi.
27542         * doc/posix-functions/wcsnlen.texi: Renamed from
27543         doc/glibc-functions/wcsnlen.texi.
27544         * doc/posix-functions/wcsnrtombs.texi: Renamed from
27545         doc/glibc-functions/wcsnrtombs.texi.
27546         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
27547         doc/glibc-functions/wcsxfrm_l.texi.
27548         * doc/posix-functions/wctrans_l.texi: Renamed from
27549         doc/glibc-functions/wctrans_l.texi.
27550         * doc/posix-functions/wctype_l.texi: Renamed from
27551         doc/glibc-functions/wctype_l.texi.
27552         * doc/gnulib.texi (Function Substitutes): Add these subsections.
27553         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
27554         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
27555         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
27556         these subsections.
27557         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
27558         Remove sections.
27559
27560 2008-12-14  Bruno Haible  <bruno@clisp.org>
27561
27562         Update doc for POSIX:2008.
27563         * doc/posix-functions/*.texi: Update URL of POSIX specification.
27564
27565 2008-12-14  Bruno Haible  <bruno@clisp.org>
27566
27567         Update doc for POSIX:2008.
27568         * doc/pastposix-functions/bcmp.texi: Renamed from
27569         doc/posix-functions/bcmp.texi.
27570         * doc/pastposix-functions/bcopy.texi: Renamed from
27571         doc/posix-functions/bcopy.texi.
27572         * doc/pastposix-functions/bsd_signal.texi: Renamed from
27573         doc/posix-functions/bsd_signal.texi.
27574         * doc/pastposix-functions/bzero.texi: Renamed from
27575         doc/posix-functions/bzero.texi.
27576         * doc/pastposix-functions/ecvt.texi: Renamed from
27577         doc/posix-functions/ecvt.texi.
27578         * doc/pastposix-functions/fcvt.texi: Renamed from
27579         doc/posix-functions/fcvt.texi.
27580         * doc/pastposix-functions/ftime.texi: Renamed from
27581         doc/posix-functions/ftime.texi.
27582         * doc/pastposix-functions/gcvt.texi: Renamed from
27583         doc/posix-functions/gcvt.texi.
27584         * doc/pastposix-functions/getcontext.texi: Renamed from
27585         doc/posix-functions/getcontext.texi.
27586         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
27587         doc/posix-functions/gethostbyaddr.texi.
27588         * doc/pastposix-functions/gethostbyname.texi: Renamed from
27589         doc/posix-functions/gethostbyname.texi.
27590         * doc/pastposix-functions/getwd.texi: Renamed from
27591         doc/posix-functions/getwd.texi.
27592         * doc/pastposix-functions/h_errno.texi: Renamed from
27593         doc/posix-functions/h_errno.texi.
27594         * doc/pastposix-functions/index.texi: Renamed from
27595         doc/posix-functions/index.texi.
27596         * doc/pastposix-functions/makecontext.texi: Renamed from
27597         doc/posix-functions/makecontext.texi.
27598         * doc/pastposix-functions/mktemp.texi: Renamed from
27599         doc/posix-functions/mktemp.texi.
27600         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
27601         doc/posix-functions/pthread_attr_getstackaddr.texi.
27602         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
27603         doc/posix-functions/pthread_attr_setstackaddr.texi.
27604         * doc/pastposix-functions/rindex.texi: Renamed from
27605         doc/posix-functions/rindex.texi.
27606         * doc/pastposix-functions/scalb.texi: Renamed from
27607         doc/posix-functions/scalb.texi.
27608         * doc/pastposix-functions/setcontext.texi: Renamed from
27609         doc/posix-functions/setcontext.texi.
27610         * doc/pastposix-functions/swapcontext.texi: Renamed from
27611         doc/posix-functions/swapcontext.texi.
27612         * doc/pastposix-functions/ualarm.texi: Renamed from
27613         doc/posix-functions/ualarm.texi.
27614         * doc/pastposix-functions/usleep.texi: Renamed from
27615         doc/posix-functions/usleep.texi.
27616         * doc/pastposix-functions/vfork.texi: Renamed from
27617         doc/posix-functions/vfork.texi.
27618         * doc/pastposix-functions/wcswcs.texi: Renamed from
27619         doc/posix-functions/wcswcs.texi.
27620         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
27621         (Function Substitutes): Update.
27622
27623 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27624
27625         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
27626         m4/strerror.m4.
27627
27628 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27629             Bruno Haible  <bruno@clisp.org>
27630
27631         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
27632
27633 2008-12-13  Bruno Haible  <bruno@clisp.org>
27634
27635         * modules/strtoull (Depends-on): Remove unistd.
27636
27637 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27638
27639         * modules/strtoull (Depends-on): Add stdlib.
27640
27641 2008-12-11  Simon Josefsson  <simon@josefsson.org>
27642
27643         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
27644
27645 2008-12-10  Jim Meyering  <meyering@redhat.com>
27646
27647         gl_ASSERT: don't say assertions are disabled when they're not
27648         * m4/assert.m4 (gl_ASSERT): Do not make configure report
27649         "checking whether to enable assertions... no", when they are in
27650         fact enabled.  This is solely a bug in the output of configure.
27651         In spite of saying "no", NDEBUG was not defined in that case.
27652         Also, as noted by Eric Blake, leave assertions enabled upon
27653         --enable-assert=INVALID.
27654
27655 2008-12-10  Bruno Haible  <bruno@clisp.org>
27656
27657         Change MODULES.html to refer to POSIX:2008 where possible.
27658         * MODULES.html.sh (POSIX2008_URL): New variable.
27659         (posix_headers): Remove sys/timeb, ucontext.
27660         (posix2001_headers): New variable.
27661         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
27662         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
27663         index, makecontext, mktemp, pthread_attr_getstackaddr,
27664         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
27665         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
27666         (posix2001_functions): New variable.
27667         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
27668         otherwise.
27669
27670 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27671
27672         add missing include to parse-duration.c
27673         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
27674         * modules/parse-duration (Depends-on): Add xalloc.
27675
27676         fix sed script reading maint.mk
27677         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
27678         (syntax-check-rules): Use it.
27679
27680 2008-12-09  Bruno Haible  <bruno@clisp.org>
27681
27682         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
27683         MacOS X 10.4/PowerPC.
27684         Reported by Simon Josefsson.
27685
27686 2008-12-08  Jim Meyering  <meyering@redhat.com>
27687
27688         work around mingw's lack of some S_IF definitions
27689         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
27690         Reported by Simon Josefsson.
27691
27692 2008-12-08  Bruno Haible  <bruno@clisp.org>
27693
27694         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
27695         applied to variables. Needed on MacOS X 10.4/PowerPC.
27696         Reported by Simon Josefsson.
27697
27698 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
27699         and Eric Blake  <ebb9@byu.net>
27700
27701         assert: honor --enable-assert
27702         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
27703         order to honor --enable-assert, rather than treating it as a
27704         synonym for --disable-assert.
27705
27706 2008-12-08  Jim Meyering  <meyering@redhat.com>
27707
27708         * lib/posixtm.c: Remove now-useless declaration of mktime.
27709
27710         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
27711
27712 2008-12-07  Bruno Haible  <bruno@clisp.org>
27713
27714         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
27715         test_once): Mark functions as static.
27716         * tests/test-tls.c (test_tls): Likewise.
27717
27718 2008-12-07  Bruno Haible  <bruno@clisp.org>
27719
27720         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
27721         iconv_register_autodetect.
27722
27723 2008-12-07  Jim Meyering  <meyering@redhat.com>
27724
27725         posixtm.c: avoid a warning
27726         * lib/posixtm.c (posixtime): Don't initialize tm0.
27727         It's no longer needed to placate gcc4's -Wuninitialized,
27728         and the attempt to placate would elicit a new warning.
27729
27730         unicodeio.c: mark unused parameters
27731         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
27732         (fallback_failure_callback): Likewise.
27733
27734 2008-12-07  Bruno Haible  <bruno@clisp.org>
27735
27736         * gnulib-tool (func_create_testdir): When building the tests
27737         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
27738         Reported by Simon Josefsson.
27739
27740 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27741
27742         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
27743
27744 2008-12-06  Bruno Haible  <bruno@clisp.org>
27745
27746         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
27747         Suggested by Eric Blake.
27748
27749 2008-12-06  Bruno Haible  <bruno@clisp.org>
27750
27751         Fix a c-stack test failure on MacOS X.
27752         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
27753         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
27754         handler for SIGBUS as well.
27755         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
27756         install a signal handler for SIGBUS as well.
27757         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
27758
27759 2008-12-06  Bruno Haible  <bruno@clisp.org>
27760
27761         Advocacy documentation.
27762         * doc/gnulib-intro.texi (Benefits): New section.
27763         * doc/gnulib.texi: Update.
27764
27765 2008-12-06  Bruno Haible  <bruno@clisp.org>
27766
27767         Document the 'manywarnings' module.
27768         * doc/manywarnings.texi: New file.
27769         * doc/gnulib.texi: Include it.
27770
27771 2008-12-05  Eric Blake  <ebb9@byu.net>
27772
27773         tests: silence some gcc warnings
27774         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
27775         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
27776         type mismatches.
27777
27778 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
27779             Bruno Haible  <bruno@clisp.org>
27780
27781         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
27782
27783 2008-11-29  Jim Meyering  <meyering@redhat.com>
27784
27785         unicodeio.c: mark unused parameters
27786         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
27787         (fallback_failure_callback): Likewise.
27788
27789         fts: fix a thinko
27790         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
27791         (set_stat_type): Return S_IF*-valued "type" directly.
27792         Prompted by James Youngman's spotting a related bug.
27793         Confirmed by further testing through find.
27794
27795         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
27796         * lib/fts.c (D_TYPE): Define.
27797         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
27798         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
27799         (s_ifmt_shift_bits): New function.
27800         (set_stat_type): New function.
27801         (fts_build): When not calling fts_stat, call set_stat_type
27802         to propagate dirent.d_type info to fts_read caller.
27803         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
27804         fts_statp->st_mode type information may be valid.
27805
27806 2008-11-28  Simon Josefsson  <simon@josefsson.org>
27807
27808         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
27809         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
27810         <sds@gnu.org>.
27811
27812 2008-11-20  Bruno Haible  <bruno@clisp.org>
27813
27814         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
27815         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
27816         INCLUDE_NEXT.
27817         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
27818         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
27819         * modules/math (Makefile.am): Substitute
27820         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
27821         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
27822
27823 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
27824             Bruno Haible  <bruno@clisp.org>
27825
27826         * lib/stdint.in.h: Define all type macros so that their expansion is
27827         a single typedef'ed token. Fixes a compilation failure in Boost which
27828         does "using ::int8_t;".
27829
27830 2008-11-18  Simon Josefsson  <simon@josefsson.org>
27831
27832         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
27833         gl_MANYWARN_ALL_GCC.
27834         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
27835         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
27836         * modules/manywarnings: New file.
27837         * MODULES.html.sh: Mention manywarnings module.
27838
27839 2008-11-18  Bruno Haible  <bruno@clisp.org>
27840
27841         * doc/gnulib-tool.texi (Unit tests): New section.
27842
27843 2008-11-18  Simon Josefsson  <simon@josefsson.org>
27844
27845         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
27846         paths like 'lib/po/foo.po'.
27847
27848 2008-11-17  Simon Josefsson  <simon@josefsson.org>
27849
27850         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
27851         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
27852
27853 2008-11-17  Simon Josefsson  <simon@josefsson.org>
27854
27855         * m4/warnings.m4: Use CPPFLAGS to really check whether the
27856         parameter works.
27857
27858 2008-11-17  Simon Josefsson  <simon@josefsson.org>
27859
27860         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
27861
27862 2008-11-17  Bruce Korb  <bkorb@gnu.org>
27863
27864         * modules/parse-duration-tests: New file.
27865         * tests/test-parse-duration.sh: New file.
27866         * tests/test-parse-duration.c: New file.
27867
27868         New module 'parse-duration'.
27869         * lib/parse-duration.h: New file.
27870         * lib/parse-duration.c: New file.
27871         * modules/parse-duration: New file.
27872
27873 2008-11-17  Bruno Haible  <bruno@clisp.org>
27874
27875         * tests/test-select-out.sh: Comment out the first pipe test.
27876         Reported by Simon Josefsson.
27877
27878 2008-11-17  Bruno Haible  <bruno@clisp.org>
27879
27880         * modules/getaddrinfo (Depends-on): Add servent, hostent.
27881         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
27882         gl_HOSTENT.
27883
27884 2008-11-17  Bruno Haible  <bruno@clisp.org>
27885
27886         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
27887         -lnetwork and -lnet. Needed for Haiku and BeOS.
27888
27889 2008-11-16  Bruno Haible  <bruno@clisp.org>
27890
27891         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
27892
27893 2008-11-16  Bruno Haible  <bruno@clisp.org>
27894
27895         Avoid test failure on Haiku.
27896         * tests/test-fsync.c: Include <errno.h>.
27897         (main): Don't require that fsync (0) fails.
27898
27899 2008-11-15  Bruno Haible  <bruno@clisp.org>
27900
27901         New module 'hostent'.
27902         * modules/hostent: New file.
27903         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
27904
27905 2008-11-15  Bruno Haible  <bruno@clisp.org>
27906
27907         New module 'servent'.
27908         * modules/servent: New file.
27909         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
27910
27911 2008-11-15  Bruno Haible  <bruno@clisp.org>
27912
27913         Avoid generating same test program with two different rules.
27914         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
27915         test-frexp to test-frexp-nolibm.
27916         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
27917         test-frexpl to test-frexpl-nolibm.
27918
27919 2008-11-15  Bruno Haible  <bruno@clisp.org>
27920
27921         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
27922         $(FREXPL_LIBM).
27923
27924 2008-11-15  Bruno Haible  <bruno@clisp.org>
27925
27926         * lib/netdb.in.h: Activate the definitions also when the system's
27927         <netdb.h> has 'struct addrinfo'.
27928         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
27929         EAI_OVERFLOW or AI_NUMERICSERV.
27930         * doc/posix-headers/netdb.texi: Document the problem.
27931
27932 2008-11-15  Bruno Haible  <bruno@clisp.org>
27933
27934         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
27935
27936         Make the 'sched' module work on platforms where <sched.h> exists but
27937         is incomplete (such as Haiku).
27938         * lib/sched.in.h; Include the system's <sched.h> if it exists.
27939         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
27940         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
27941         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
27942         HAVE_STRUCT_SCHED_PARAM.
27943         * modules/sched (Depends-on): Add include_next.
27944         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
27945         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
27946         * doc/posix-headers/sched.texi: Document the issue.
27947
27948 2008-11-13  Jim Meyering  <meyering@redhat.com>
27949
27950         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
27951         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
27952         test would fail due to the difference in the Report bugs to ...
27953         line.  The expected address is empty, "<>", while the actual
27954         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
27955
27956 2008-11-12  Bruno Haible  <bruno@clisp.org>
27957
27958         lstat: don't compile lstat.c on systems lacking lstat
27959         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
27960         which don't have lstat; this is handled by lib/sys_stat.in.h already.
27961         Reported by Daniel P. Berrange via Jim Meyering.
27962
27963 2008-11-12  Jim Meyering  <meyering@redhat.com>
27964
27965         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
27966
27967 2008-11-12  Simon Josefsson  <simon@josefsson.org>
27968
27969         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
27970         instead.
27971
27972 2008-11-12  Bruno Haible  <bruno@clisp.org>
27973
27974         * lib/unicodeio.c: Include unistr.h.
27975         (utf8_wctomb): Remove function.
27976         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
27977
27978 2008-11-12  Simon Josefsson  <simon@josefsson.org>
27979
27980         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
27981         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
27982         <bruno@clisp.org>.
27983         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
27984
27985 2008-11-12  Simon Josefsson  <simon@josefsson.org>
27986
27987         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
27988         * doc/gnulib.texi: Add section for warnings.
27989
27990 2008-11-11  Bruno Haible  <bruno@clisp.org>
27991
27992         * lib/sockets.h: Add a comment.
27993
27994 2008-11-11  Karl Berry  <karl@gnu.org>
27995
27996         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
27997
27998 2008-11-11  Eric Blake  <ebb9@byu.net>
27999
28000         fdl.texi: avoid git symlinks
28001         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
28002
28003 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
28004
28005         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
28006
28007 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
28008
28009         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
28010         (gl_WARN_ADD): Substitute $2 if literal.
28011
28012 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
28013
28014         * m4/warning.m4: Remove.
28015
28016 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
28017
28018         * m4/warnings.m4: Almost complete rewrite. :-)
28019
28020 2008-11-10  Simon Josefsson  <simon@josefsson.org>
28021
28022         * modules/warnings: New module.
28023         * m4/warnings.m4: New file.
28024         * MODULES.html.sh: Mention warnings module.
28025         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
28026         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
28027
28028 2008-11-10  Eric Blake  <ebb9@byu.net>
28029
28030         fdl.texi: make a symlink to the latest version
28031         * doc/standards.texi: Revert today's earlier change.
28032         * doc/fdl-1.2.texi: Rename from old fdl.texi...
28033         * doc/fdl.texi: ...and replace this with a symlink to the newer
28034         fdl-1.3.texi.
28035
28036 2008-11-10  Bruno Haible  <bruno@clisp.org>
28037
28038         * tests/test-select-fd.c (main): Accept the result file name as fourth
28039         argument.
28040         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
28041         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
28042
28043 2008-11-10  Bruno Haible  <bruno@clisp.org>
28044
28045         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
28046         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
28047         as autoconf-substituted macros.
28048         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
28049         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
28050         gl_NETDB_H_DEFAULTS. Set these variables.
28051         * modules/netdb (Makefile.am): Substitute these variables.
28052
28053 2008-11-10  Eric Blake  <ebb9@byu.net>
28054
28055         standards.texi: include correct file for FDL 1.3
28056         * doc/standards.texi (GNU Free Documentation License): Change
28057         include file to pull in FDL 1.3, not 1.2.
28058
28059         fdl.texi: revert accidental change to license
28060         * doc/fdl.texi: This is FDL 1.2, not 1.3.
28061
28062 2008-11-10  Bruno Haible  <bruno@clisp.org>
28063
28064         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
28065         cross-compiling guesses also when the native compile gives no result.
28066
28067 2008-11-10  Bruno Haible  <bruno@clisp.org>
28068
28069         * lib/spawni.c (__spawni): Force variable into the stack.
28070
28071 2008-11-10  Bruno Haible  <bruno@clisp.org>
28072
28073         Add support for Haiku.
28074         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
28075         glibc and BeOS, but also on Haiku.
28076         * lib/fpurge.c (fpurge): Likewise.
28077         * lib/freadable.c (freadable): Likewise.
28078         * lib/freadahead.c (freadahead): Likewise.
28079         * lib/freading.c (freading): Likewise.
28080         * lib/freadptr.c (freadptr): Likewise.
28081         * lib/freadseek.c (freadptrinc): Likewise.
28082         * lib/fseeko.c (rpl_fseeko): Likewise.
28083         * lib/fseterr.c (fseterr): Likewise.
28084         * lib/fwritable.c (fwritable): Likewise.
28085         * lib/fwriting.c (fwriting): Likewise.
28086         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
28087
28088 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
28089
28090         * lib/config.charset: Treat Haiku like BeOS.
28091
28092 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
28093
28094         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
28095         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
28096
28097 2008-11-08  Bruno Haible  <bruno@clisp.org>
28098
28099         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
28100         AC_CACHE_CHECK.
28101
28102 2008-11-08  Bruno Haible  <bruno@clisp.org>
28103
28104         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
28105
28106 2008-11-08  Bruno Haible  <bruno@clisp.org>
28107
28108         * tests/test-select-fd.c: New file.
28109         * tests/test-select-in.sh: New file.
28110         * tests/test-select-out.sh: New file.
28111         * tests/test-select-stdin.c: New file.
28112         * modules/select-tests (Files): Add the new files.
28113         (Depends-on): Add gettimeofday.
28114         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
28115         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
28116         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
28117
28118 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
28119             Bruno Haible  <bruno@clisp.org>
28120
28121         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
28122
28123 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
28124
28125         * build-aux/pmccabe2html: Added support for C++ source files.
28126
28127 2008-11-05  Ben Pfaff  <blp@gnu.org>
28128
28129         Fix lib/close.c build on Windows.
28130         * modules/close (Files): Add lib/w32sock.h.
28131
28132 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
28133
28134         Accept Bison's NEWS format.
28135         * build-aux/announce-gen (print_news_deltas): Tweak
28136         $re_prefix.
28137
28138 2008-11-04  Bruno Haible  <bruno@clisp.org>
28139
28140         * modules/random_r (Maintainer): Add glibc.
28141
28142 2008-11-04  Simon Josefsson  <simon@josefsson.org>
28143
28144         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
28145         by karl@freefriends.org (Karl Berry).
28146         * doc/alloca.texi: Likewise.
28147         * doc/c-ctype.texi: Likewise.
28148         * doc/c-strcase.texi: Likewise.
28149         * doc/c-strcaseeq.texi: Likewise.
28150         * doc/c-strcasestr.texi: Likewise.
28151         * doc/c-strstr.texi: Likewise.
28152         * doc/c-strtod.texi: Likewise.
28153         * doc/c-strtold.texi: Likewise.
28154         * doc/ctime.texi: Likewise.
28155         * doc/error.texi: Likewise.
28156         * doc/fdl.texi: Likewise.
28157         * doc/gcd.texi: Likewise.
28158         * doc/getdate.texi: Likewise.
28159         * doc/gnulib-intro.texi: Likewise.
28160         * doc/gnulib-tool.texi: Likewise.
28161         * doc/gnulib.texi: Likewise.
28162         * doc/inet_ntoa.texi: Likewise.
28163         * doc/maintain.texi: Likewise.
28164         * doc/make-stds.texi: Likewise.
28165         * doc/quote.texi: Likewise.
28166         * doc/regexprops-generic.texi: Likewise.
28167         * doc/standards.texi: Likewise.
28168         * doc/verify.texi: Likewise.
28169         * doc/visibility.texi: Likewise.
28170         * doc/gnulib.texi (GNU Free Documentation License): Include
28171         fdl-1.3.texi instead of fdl.texi.
28172
28173 2008-11-04  Simon Josefsson  <simon@josefsson.org>
28174
28175         * doc/fdl-1.3.texi: New file, from
28176         <http://www.gnu.org/licenses/fdl-1.3.texi>.
28177         * modules/fdl-1.3: Add.
28178         * MODULES.html.sh: Add fdl-1.3.
28179
28180 2008-11-03  Bruno Haible  <bruno@clisp.org>
28181
28182         Make determination of absolute name of header file work with AIX xlc.
28183         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
28184         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
28185         preprocessing.
28186         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
28187         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
28188
28189 2008-11-03  Simon Josefsson  <simon@josefsson.org>
28190
28191         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
28192         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
28193         <ludo@gnu.org>.
28194
28195 2008-11-02  Bruno Haible  <bruno@clisp.org>
28196
28197         Mark 'strpbrk' obsolete.
28198         * modules/strpbrk (Status, Notice): New sections.
28199         * modules/strtok_r (Depends-on): Add strpbrk.
28200
28201 2008-11-02  Bruno Haible  <bruno@clisp.org>
28202
28203         Mark 'strdup' obsolete.
28204         * modules/strdup (Status, Notice): New sections.
28205         * modules/findprog (Depends-on): Add strdup.
28206         * modules/getaddrinfo (Depends-on): Likewise.
28207         * modules/localename (Depends-on): Likewise.
28208         * modules/relocatable-lib (Depends-on): Likewise.
28209         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
28210         * modules/relocatable-prog (Depends-on): Likewise.
28211         * modules/trim (Depends-on): Likewise.
28212         * modules/unictype/gen-ctype (Depends-on): Likewise.
28213         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
28214
28215 2008-11-02  Bruno Haible  <bruno@clisp.org>
28216
28217         Mark 'strcspn' obsolete.
28218         * modules/strcspn (Status, Notice): New sections.
28219
28220 2008-11-02  Bruno Haible  <bruno@clisp.org>
28221
28222         Mark 'rmdir' obsolete.
28223         * modules/rmdir (Status, Notice): New sections.
28224         * modules/clean-temp (Depends-on): Add rmdir.
28225         * modules/openat (Depends-on): Likewise.
28226
28227 2008-11-02  Bruno Haible  <bruno@clisp.org>
28228
28229         Mark 'raise' obsolete.
28230         * modules/raise (Status, Notice): New sections.
28231         (Include): Specify <signal.h>.
28232         * modules/stdio (Depends-on): Add raise.
28233         * modules/write (Depends-on): Likewise.
28234
28235 2008-11-02  Bruno Haible  <bruno@clisp.org>
28236
28237         Mark 'memset' obsolete.
28238         * modules/memset (Status, Notice): New sections.
28239
28240 2008-11-02  Bruno Haible  <bruno@clisp.org>
28241
28242         Mark 'memmove' obsolete.
28243         * modules/memmove (Status, Notice): New sections.
28244         * modules/argp (Depends-on): Add memmove.
28245         * modules/argz (Depends-on): Likewise.
28246         * modules/canonicalize (Depends-on): Likewise.
28247         * modules/canonicalize-lgpl (Depends-on): Likewise.
28248         * modules/fts (Depends-on): Likewise.
28249         * modules/getcwd (Depends-on): Likewise.
28250         * modules/human (Depends-on): Likewise.
28251         * modules/regex (Depends-on): Likewise.
28252         * modules/striconveh (Depends-on): Likewise.
28253         * modules/trim (Depends-on): Likewise.
28254         * modules/unistr/u8-move (Depends-on): Likewise.
28255         * modules/unistr/u16-move (Depends-on): Likewise.
28256         * modules/unistr/u32-move (Depends-on): Likewise.
28257
28258 2008-11-02  Bruno Haible  <bruno@clisp.org>
28259
28260         Mark 'memcpy' obsolete.
28261         * modules/memcpy (Status, Notice): New sections.
28262
28263 2008-11-02  Bruno Haible  <bruno@clisp.org>
28264
28265         Mark 'memcmp' obsolete.
28266         * modules/memcmp (Status, Notice): New sections.
28267         * modules/argmatch (Depends-on): Add memchr.
28268         * modules/backupfile (Depends-on): Likewise.
28269         * modules/c-strcasestr (Depends-on): Likewise.
28270         * modules/crypto/des (Depends-on): Likewise.
28271         * modules/csharpcomp (Depends-on): Likewise.
28272         * modules/fnmatch (Depends-on): Likewise.
28273         * modules/git-merge-changelog (Depends-on): Likewise.
28274         * modules/isnand (Depends-on): Likewise.
28275         * modules/isnand-nolibm (Depends-on): Likewise.
28276         * modules/isnanf (Depends-on): Likewise.
28277         * modules/isnanf-nolibm (Depends-on): Likewise.
28278         * modules/isnanl (Depends-on): Likewise.
28279         * modules/isnanl-nolibm (Depends-on): Likewise.
28280         * modules/mbchar (Depends-on): Likewise.
28281         * modules/memcoll (Depends-on): Likewise.
28282         * modules/quotearg (Depends-on): Likewise.
28283         * modules/regex (Depends-on): Likewise.
28284         * modules/relocatable-prog (Depends-on): Likewise.
28285         * modules/same (Depends-on): Likewise.
28286         * modules/signbit (Depends-on): Likewise.
28287         * modules/strcasestr-simple (Depends-on): Likewise.
28288         * modules/unictype/gen-ctype (Depends-on): Likewise.
28289         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
28290         * modules/uniname/uniname (Depends-on): Likewise.
28291         * modules/unistr/u8-cmp (Depends-on): Likewise.
28292
28293 2008-11-02  Bruno Haible  <bruno@clisp.org>
28294
28295         Mark 'memchr' obsolete.
28296         * modules/memchr (Status, Notice): New sections.
28297         * modules/argp (Depends-on): Add memchr.
28298         * modules/base64 (Depends-on): Likewise.
28299         * modules/c-strcasestr (Depends-on): Likewise.
28300         * modules/chdir-long (Depends-on): Likewise.
28301         * modules/fnmatch (Depends-on): Likewise.
28302         * modules/getsubopt (Depends-on): Likewise.
28303         * modules/git-merge-changelog (Depends-on): Likewise.
28304         * modules/glob (Depends-on): Likewise.
28305         * modules/strcasestr-simple (Depends-on): Likewise.
28306         * modules/strnlen (Depends-on): Likewise.
28307
28308 2008-11-02  Bruno Haible  <bruno@clisp.org>
28309
28310         Mark 'atexit' obsolete.
28311         * modules/atexit (Status, Notice): New sections.
28312         * modules/chdir-long (Depends-on): Add atexit.
28313         * modules/wait-process (Depends-on): Likewise.
28314
28315 2008-11-02  Bruno Haible  <bruno@clisp.org>
28316
28317         * gnulib-tool: New option --with-obsolete.
28318         (func_usage): Document it.
28319         (func_modules_transitive_closure): Drop obsolete dependencies if
28320         incobsolete is not true.
28321         (func_import): Read and save the incobsolete variable to the cache.
28322
28323 2008-11-02  Bruno Haible  <bruno@clisp.org>
28324
28325         * modules/TEMPLATE-EXTENDED: New field 'Status'.
28326         * gnulib-tool: New option --extract-status.
28327         (func_usage): Document it.
28328         (sed_extract_prog): Recognize it.
28329         (func_get_status): New function.
28330
28331 2008-10-30  Simon Josefsson  <simon@josefsson.org>
28332
28333         * modules/sockets (License): Change from LGPL to LGPLv2+.
28334
28335 2008-10-28  Simon Josefsson  <simon@josefsson.org>
28336
28337         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
28338
28339 2008-10-28  Simon Josefsson  <simon@josefsson.org>
28340
28341         * MODULES.html.sh (Support for systems lacking POSIX:2001):
28342         Mention times and sys_times.
28343         * modules/sys_times, modules/sys_times-tests: New modules.
28344         * modules/times, modules/times-tests: Likewise
28345         * m4/sys_times_h.m4: New file.
28346         * lib/sys_times.in.h: Likewise
28347         * lib/times.c: Likewise.
28348         * tests/test-sys_times.c: Likewise.
28349         * tests/test-times.c: Likewise.
28350         * doc/posix-headers/sys_times.texi: Update.
28351         * doc/posix-functions/times.texi: Update.
28352
28353 2008-10-28  Jim Meyering  <meyering@redhat.com>
28354
28355         * modules/tempname (Depends-on): Add lstat.
28356
28357         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
28358
28359 2008-10-28  Simon Josefsson  <simon@josefsson.org>
28360
28361         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
28362         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
28363         using idiom used elsewhere in gnulib.
28364
28365 2008-10-27  Jim Meyering  <meyering@redhat.com>
28366
28367         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
28368
28369 2008-10-27  Simon Josefsson  <simon@josefsson.org>
28370
28371         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
28372         TESTS_ENVIRONMENT, for shell scripts that needs to call built
28373         programs.
28374         * tests/test-argp-2.sh: Use $EXEEXT when needed.
28375
28376 2008-10-27  Simon Josefsson  <simon@josefsson.org>
28377
28378         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
28379
28380 2008-10-27  Bruno Haible  <bruno@clisp.org>
28381
28382         * tests/test-lstat.c: Include <stdio.h>.
28383
28384 2008-10-27  Simon Josefsson  <simon@josefsson.org>
28385
28386         * modules/lstat-tests: New module.
28387         * tests/test-lstat.c: New file.
28388
28389 2008-10-26  Jim Meyering  <meyering@redhat.com>
28390
28391         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
28392
28393 2008-10-26  Simon Josefsson  <simon@josefsson.org>
28394             Bruno Haible  <bruno@clisp.org>
28395
28396         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
28397         * modules/configmake (Include): Add a note that the include must come
28398         after all system headers.
28399         * lib/javaversion.c: Include configmake.h after all other includes.
28400
28401 2008-10-26  Bruno Haible  <bruno@clisp.org>
28402
28403         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
28404         HAVE_STRUCT_RANDOM_DATA to 1.
28405         (gl_STDLIB_H): Simplify.
28406
28407 2008-10-26  Simon Josefsson  <simon@josefsson.org>
28408
28409         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
28410         substitute HAVE_STRUCT_RANDOM_DATA.
28411         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
28412         random_data.
28413         * modules/stdlib (Makefile.am): Substitute
28414         HAVE_STRUCT_RANDOM_DATA.
28415
28416 2008-10-26  Simon Josefsson  <simon@josefsson.org>
28417
28418         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
28419         * doc/gnulib-intro.texi (Copyright): Likewise.
28420
28421 2008-10-26  Simon Josefsson  <simon@josefsson.org>
28422
28423         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
28424         findings.
28425
28426 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
28427             Bruno Haible  <bruno@clisp.org>
28428
28429         * lib/unistd.in.h: Include <winsock2.h>.
28430         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
28431         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
28432         Provide dummy declarations.
28433         (gethostname): Override.
28434         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
28435         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
28436         gl_PREREQ_SYS_H_WINSOCK2.
28437         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
28438         * doc/posix-functions/gethostname.texi: More details.
28439
28440 2008-10-25  Bruno Haible  <bruno@clisp.org>
28441
28442         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
28443         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
28444         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
28445
28446         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
28447         here ...
28448         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
28449         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
28450         gl_UNISTD_H_DEFAULTS.
28451
28452 2008-10-25  Eric Blake  <ebb9@byu.net>
28453
28454         signbit: avoid spurious compiler failure
28455         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
28456         declarations inside function.
28457
28458 2008-10-24  Simon Josefsson  <simon@josefsson.org>
28459             Bruno Haible  <bruno@clisp.org>
28460
28461         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
28462         * modules/random_r (Depends-on): Add stdint.
28463
28464 2008-10-24  Bruno Haible  <bruno@clisp.org>
28465
28466         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
28467         Eggert.
28468         * modules/strerror (License): Likewise.
28469
28470 2008-10-24  Jim Meyering  <meyering@redhat.com>
28471
28472         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
28473         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
28474
28475 2008-10-24  Eric Blake  <ebb9@byu.net>
28476
28477         getgroups: fix compilation when getgroups is available
28478         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
28479         but with <config.h> override of getgroups disabled.
28480
28481 2008-10-24  Simon Josefsson  <simon@josefsson.org>
28482
28483         * doc/gnulib.texi (Header files): Add note about C++ problems.
28484         Explained by Bruno Haible <bruno@clisp.org>.
28485
28486 2008-10-23  Bruno Haible  <bruno@clisp.org>
28487
28488         Define a dummy SA_NODEFER macro on Interix.
28489         * lib/signal.in.h (SA_NODEFER): Define fallback.
28490         Reported by Aleksey Cheusov <cheusov@tut.by> via
28491         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
28492
28493 2008-10-23  Bruno Haible  <bruno@clisp.org>
28494
28495         * modules/freadahead (License): Change to LGPLv2+.
28496         Suggested by Simon Josefsson.
28497
28498 2008-10-23  Jim Meyering  <meyering@redhat.com>
28499
28500         random_r: new module
28501         * modules/random_r: New file.
28502         * m4/random_r.m4: New file.
28503         * lib/random_r.c: New file, from glibc.
28504         * modules/random_r-tests: New file.
28505         * tests/test-random_r.c: New file.
28506         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
28507          Declare.
28508         (RAND_MAX): Define.
28509         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
28510         * modules/stdlib: Substitute them, too.
28511         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
28512         * doc/glibc-functions/initstate_r.texi: Mention the new module.
28513         * doc/glibc-functions/random_r.texi: Likewise.
28514         * doc/glibc-functions/setstate_r.texi: Likewise.
28515         * doc/glibc-functions/srandom_r.texi: Likewise.
28516         * config/srclist.txt: Mention it.
28517
28518 2008-10-23  David Lutterkort  <lutter@redhat.com>
28519
28520         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
28521         link requirement
28522
28523 2008-10-23  Jim Meyering  <meyering@redhat.com>
28524
28525         selinux-h: mark parameters of stub functions as intentionally unused
28526         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
28527         * lib/se-context.in.h: Likewise.
28528
28529 2008-10-22  Simon Josefsson  <simon@josefsson.org>
28530
28531         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
28532
28533 2008-10-22  Simon Josefsson  <simon@josefsson.org>
28534
28535         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
28536
28537 2008-10-22  Eric Blake  <ebb9@byu.net>
28538
28539         glthread/thread: avoid compiler warning
28540         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
28541         Add unreachable abort to silence compiler.
28542
28543 2008-10-22  Eric Blake  <ebb9@byu.net>
28544
28545         netdb: also supply struct addrinfo for cygwin 1.5.x
28546         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
28547         older cygwin.
28548         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
28549         cygwin.
28550         * doc/posix-headers/netdb.texi (netdb.h): Document this.
28551
28552 2008-10-22  Bruno Haible  <bruno@clisp.org>
28553
28554         * users.txt: Update entry about pspp.
28555
28556 2008-10-21  Bruno Haible  <bruno@clisp.org>
28557
28558         Simplification.
28559         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
28560         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
28561
28562         Simplification.
28563         * lib/ioctl.c (ioctl): Don't undefine.
28564         * lib/socket.c (socket): Don't undefine.
28565
28566         Remove unused module indicator macros.
28567         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
28568         GNULIB_$1 as a C macro.
28569
28570         * doc/posix-functions/close.texi: Undo last change.
28571         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
28572         Windows platforms.
28573
28574 2008-10-21  Bruno Haible  <bruno@clisp.org>
28575
28576         Add gethostname() declaration to <unistd.h>.
28577         * lib/unistd.in.h (gethostname): New declaration.
28578         * lib/gethostname.c: Include <unistd.h>.
28579         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
28580         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
28581         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
28582         and HAVE_GETHOSTNAME.
28583         * modules/gethostname (Depends-on): Add unistd.
28584         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28585         (Include): Specify <unistd.h>.
28586         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
28587         HAVE_GETHOSTNAME.
28588         * tests/test-gethostname.c: Include <unistd.h> first.
28589
28590 2008-10-21  Bruno Haible  <bruno@clisp.org>
28591
28592         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
28593         * modules/select-tests (Depends-on): Likewise.
28594         Reported by Simon Josefsson.
28595
28596 2008-10-21  Simon Josefsson  <simon@josefsson.org>
28597
28598         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
28599         * lib/accept.c: New file, based on winsock.c.
28600         * lib/bind.c: New file, based on winsock.c.
28601         * lib/connect.c: New file, based on winsock.c.
28602         * lib/getpeername.c: New file, based on winsock.c.
28603         * lib/getsockname.c: New file, based on winsock.c.
28604         * lib/getsockopt.c: New file, based on winsock.c.
28605         * lib/ioctl.c: New file, based on winsock.c.
28606         * lib/listen.c: New file, based on winsock.c.
28607         * lib/recv.c: New file, based on winsock.c.
28608         * lib/recvfrom.c: New file, based on winsock.c.
28609         * lib/send.c: New file, based on winsock.c.
28610         * lib/sendto.c: New file, based on winsock.c.
28611         * lib/setsockopt.c: New file, based on winsock.c.
28612         * lib/shutdown.c: New file, based on winsock.c.
28613         * lib/socket.c: New file, based on winsock.c.
28614         * lib/w32sock.h: New file, based on winsock.c.
28615         * lib/winsock.c: Remove file.
28616         * modules/accept: Likewise.
28617         * modules/bind: Likewise.
28618         * modules/connect: Likewise.
28619         * modules/getpeername: Likewise.
28620         * modules/getsockname: Likewise.
28621         * modules/getsockopt: Likewise.
28622         * modules/ioctl: Likewise.
28623         * modules/listen: Likewise.
28624         * modules/recv: Likewise.
28625         * modules/recvfrom: Likewise.
28626         * modules/send: Likewise.
28627         * modules/sendto: Likewise.
28628         * modules/setsockopt: Likewise.
28629         * modules/shutdown: Likewise.
28630         * modules/socket: Use socket.c instead of winsock.c.
28631         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
28632         * doc/posix-functions/accept.texi: Doc fix.
28633         * doc/posix-functions/bind.texi: Doc fix.
28634         * doc/posix-functions/close.texi: Doc fix.
28635         * doc/posix-functions/connect.texi: Doc fix.
28636         * doc/posix-functions/getpeername.texi: Doc fix.
28637         * doc/posix-functions/getsockname.texi: Doc fix.
28638         * doc/posix-functions/getsockopt.texi: Doc fix.
28639         * doc/posix-functions/ioctl.texi: Doc fix.
28640         * doc/posix-functions/listen.texi: Doc fix.
28641         * doc/posix-functions/recv.texi: Doc fix.
28642         * doc/posix-functions/recvfrom.texi: Doc fix.
28643         * doc/posix-functions/send.texi: Doc fix.
28644         * doc/posix-functions/sendto.texi: Doc fix.
28645         * doc/posix-functions/setsockopt.texi: Doc fix.
28646         * doc/posix-functions/shutdown.texi: Doc fix.
28647         * doc/posix-functions/socket.texi: Doc fix.
28648
28649 2008-10-20  Bruno Haible  <bruno@clisp.org>
28650
28651         Take into account the role of SIGABRT_COMPAT on Windows 2008.
28652         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
28653         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
28654         as an alias for SIGABRT.
28655         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
28656         (sigaction): Map it to SIGABRT.
28657         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
28658
28659 2008-10-20  Bruno Haible  <bruno@clisp.org>
28660
28661         * lib/fts.c: Don't include lstat.h.
28662         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
28663
28664         Move the lstat() declaration to <sys/stat.h>.
28665         * lib/lstat.h: Remove file.
28666         * lib/sys_stat.in.h: Add special invocation convention.
28667         (lstat): New declaration.
28668         * lib/lstat.c (orig_lstat): New function.
28669         (rpl_lstat): Use orig_lstat instead of lstat.
28670         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
28671         AC_C_INLINE. Set REPLACE_LSTAT.
28672         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
28673         and REPLACE_LSTAT.
28674         * modules/lstat (Files): Remove lib/lstat.h.
28675         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
28676         (Include): Specify <sys/stat.h> instead of lstat.h.
28677         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
28678         REPLACE_LSTAT.
28679         * NEWS: Mention the change.
28680
28681 2008-10-20  Bruno Haible  <bruno@clisp.org>
28682
28683         * modules/posix_spawn-tests: New file.
28684         * tests/test-posix_spawn3.c: New file.
28685
28686 2008-10-20  Bruno Haible  <bruno@clisp.org>
28687
28688         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
28689         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
28690         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
28691         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
28692         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
28693
28694 2008-10-20  Bruno Haible  <bruno@clisp.org>
28695
28696         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
28697         of posix_spawn on AIX 5.3.
28698
28699 2008-10-20  Bruno Haible  <bruno@clisp.org>
28700
28701         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
28702
28703 2008-10-20  Bruno Haible  <bruno@clisp.org>
28704
28705         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
28706         of AC_LANG_PROGRAM.
28707
28708 2008-10-20  Simon Josefsson  <simon@josefsson.org>
28709
28710         * lib/netdb.in.h: Don't define GNU specific constants until they
28711         are supported or needed.  Reported by Bruno Haible
28712         <bruno@clisp.org>.
28713
28714 2008-10-20  Simon Josefsson  <simon@josefsson.org>
28715
28716         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
28717
28718 2008-10-20  Simon Josefsson  <simon@josefsson.org>
28719
28720         * lib/getaddrinfo.h: Remove file.
28721         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
28722         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
28723         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
28724         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
28725         * modules/netdb: Substitute GNULIB_GETADDRINFO.
28726         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
28727         * tests/test-getaddrinfo.c: Likewise.
28728         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
28729         * NEWS: Mention change.
28730
28731 2008-10-19  Bruno Haible  <bruno@clisp.org>
28732
28733         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
28734
28735 2008-10-19  Bruno Haible  <bruno@clisp.org>
28736
28737         * lib/wait-process.c: Include simply <sys/wait.h>.
28738         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
28739         WIFSTOPPED): Remove fallback definitions.
28740         * modules/wait-process (Depends-on): Add sys_wait.
28741
28742         New module 'sys_wait'.
28743         * modules/sys_wait: New file.
28744         * lib/sys_wait.in.h: New file, partially copied from
28745         lib/wait-process.c.
28746         * m4/sys_wait_h.m4: New file.
28747         * doc/posix-headers/sys_wait.texi: Mention the new module.
28748
28749 2008-10-19  Bruno Haible  <bruno@clisp.org>
28750
28751         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
28752
28753 2008-10-19  Bruno Haible  <bruno@clisp.org>
28754
28755         Assume that waitpid() fills an 'int' status, not a 'union wait'.
28756         * lib/wait-process.c (WAIT_T): Remove type.
28757         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
28758         (wait_subprocess): Update.
28759
28760 2008-10-19  Bruno Haible  <bruno@clisp.org>
28761
28762         New module 'atoll'.
28763         * modules/atoll: New file.
28764         * lib/stdlib.in.h (atoll): New declaration.
28765         * lib/atoll.c: New file, from glibc with modifications.
28766         * m4/atoll.m4: New file.
28767         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
28768         HAVE_ATOLL.
28769         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
28770         * doc/posix-functions/atoll.texi: Mention the new module.
28771
28772 2008-10-19  Bruno Haible  <bruno@clisp.org>
28773
28774         Add strtoull() declaration to <stdlib.h>.
28775         * lib/stdlib.in.h (strtoull): New declaration.
28776         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
28777         Set HAVE_STRTOULL.
28778         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
28779         HAVE_STRTOULL.
28780         * modules/strtoull (Depends-on): Add stdlib.
28781         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28782         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
28783         HAVE_STRTOULL.
28784
28785 2008-10-19  Bruno Haible  <bruno@clisp.org>
28786
28787         Add strtoll() declaration to <stdlib.h>.
28788         * lib/stdlib.in.h (strtoll): New declaration.
28789         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
28790         Set HAVE_STRTOLL.
28791         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
28792         HAVE_STRTOLL.
28793         * modules/strtoll (Depends-on): Add stdlib.
28794         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28795         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
28796
28797 2008-10-19  Bruno Haible  <bruno@clisp.org>
28798
28799         * modules/bcopy (Depends-on): Add strings.
28800         (Include): Specify <strings.h>.
28801
28802 2008-10-19  Bruno Haible  <bruno@clisp.org>
28803
28804         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
28805
28806 2008-10-19  Bruno Haible  <bruno@clisp.org>
28807
28808         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
28809         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
28810         mingw.
28811
28812 2008-10-19  Bruno Haible  <bruno@clisp.org>
28813
28814         * lib/atanl.c: Don't include isnanl.h.
28815         * lib/cosl.c: Likewise.
28816         * lib/ldexpl.c: Likewise.
28817         * lib/logl.c: Likewise.
28818         * lib/sinl.c: Likewise.
28819         * lib/sqrtl.c: Likewise.
28820         * lib/tanl.c: Likewise.
28821
28822         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
28823         * lib/isnanf.h: Remove file.
28824         * lib/isnand.h: Remove file.
28825         * lib/isnanl.h: Remove file.
28826         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
28827         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
28828         macros.
28829         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
28830         HAVE_ISNANF, don't define it as a C macro.
28831         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
28832         HAVE_ISNAND, don't define it as a C macro.
28833         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
28834         HAVE_ISNANL, don't define it as a C macro.
28835         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
28836         HAVE_ISNAN[FDL].
28837         * modules/isnanf (Files): Remove lib/isnanf.h.
28838         (Depends-on): Add math.
28839         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
28840         (Include): Specify <math.h> instead of isnanf.h.
28841         * modules/isnand (Files): Remove lib/isnand.h.
28842         (Depends-on): Add math.
28843         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
28844         (Include): Specify <math.h> instead of isnand.h.
28845         * modules/isnanl (Files): Remove lib/isnanl.h.
28846         (Depends-on): Add math.
28847         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
28848         (Include): Specify <math.h> instead of isnanl.h.
28849         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
28850         HAVE_ISNAN[FDL].
28851         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
28852         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
28853         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
28854         * NEWS: Mention the change.
28855
28856 2008-10-18  Bruno Haible  <bruno@clisp.org>
28857
28858         Add getusershell(), setusershell(), endusershell() declarations to
28859         <unistd.h>.
28860         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
28861         declarations.
28862         * lib/getusershell.c: Include unistd.h.
28863         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
28864         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
28865         HAVE_GETUSERSHELL.
28866         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
28867         and HAVE_GETUSERSHELL.
28868         * modules/getusershell (Depends-on): Add unistd, extensions.
28869         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28870         (Include): Specify <unistd.h>.
28871         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
28872         HAVE_GETUSERSHELL.
28873
28874 2008-10-18  Bruno Haible  <bruno@clisp.org>
28875
28876         Add a getloadavg() declaration to <stdlib.h>.
28877         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
28878         getloadavg declaration.
28879         (getloadavg): New declaration.
28880         * lib/getloadavg.c: Include <stdlib.h> first.
28881         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
28882         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
28883         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
28884         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
28885         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
28886         * modules/getloadavg (Depends-on): Add stdlib, extensions.
28887         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
28888         (Include): Specify <stdlib.h>.
28889         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
28890         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
28891
28892 2008-10-18  Bruno Haible  <bruno@clisp.org>
28893
28894         * lib/dirchownmod.c: Don't include lchmod.h.
28895
28896         Move the lchmod() declaration to <sys/stat.h>.
28897         * lib/lchmod.h: Remove file.
28898         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
28899         (lchmod): New declaration, moved here from lib/lchown.h.
28900         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
28901         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
28902         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
28903         and HAVE_LCHMOD.
28904         * modules/lchmod (Files): Remove lib/lchmod.h.
28905         (Depends-on): Add sys_stat, extensions.
28906         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
28907         (Include): Specify <sys/stat.h> instead of lchmod.h.
28908         * modules/sys_stat (Depends-on): Add link-warning.
28909         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
28910         definition of GL_LINK_WARNING.
28911         * NEWS: Mention the change.
28912
28913 2008-10-18  Bruno Haible  <bruno@clisp.org>
28914
28915         * lib/fchdir.c: Don't include dirfd.h.
28916         * lib/fts.c: Likewise.
28917         * lib/getcwd.c: Likewise.
28918         * lib/glob.c: Likewise.
28919
28920         Move the dirfd() declaration to <dirent.h>.
28921         * lib/dirfd.h: Remove file.
28922         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
28923         (dirfd): New declaration.
28924         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
28925         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
28926         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
28927         HAVE_DECL_DIRFD.
28928         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
28929         HAVE_DECL_DIRFD.
28930         * modules/dirfd (Files): Remove lib/dirfd.h.
28931         (Depends-on): Add dirent, extensions.
28932         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
28933         (Include): Specify <dirent.h> instead of dirfd.h.
28934         * modules/dirent (Depends-on): Add link-warning.
28935         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
28936         definition of GL_LINK_WARNING.
28937         * NEWS: Mention the change.
28938
28939 2008-10-18  Bruno Haible  <bruno@clisp.org>
28940
28941         Move the euidaccess() declaration to <unistd.h>.
28942         * lib/euidaccess.h: Remove file.
28943         * lib/unistd.in.h (euidaccess): New declaration.
28944         * lib/euidaccess.c: Don't include euidaccess.h.
28945         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
28946         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
28947         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
28948         and HAVE_EUIDACCESS.
28949         * modules/euidaccess (Files): Remove lib/euidaccess.h.
28950         (Depends-on): Add unistd.
28951         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28952         (Include): Specify <unistd.h> instead of euidaccess.h.
28953         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
28954         HAVE_EUIDACCESS.
28955         * NEWS: Mention the change.
28956
28957 2008-10-18  Bruno Haible  <bruno@clisp.org>
28958
28959         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
28960
28961         Move the getdomainname() declaration to <unistd.h>.
28962         * lib/getdomainname.h: Remove file.
28963         * lib/unistd.in.h (getdomainname): New declaration.
28964         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
28965         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
28966         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
28967         HAVE_GETDOMAINNAME.
28968         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28969         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
28970         * modules/getdomainname (Files): Remove lib/getdomainname.h.
28971         (Depends-on): Add unistd, extensions.
28972         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
28973         (Includes): Specify <unistd.h> instead of getdomainname.h.
28974         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
28975         HAVE_GETDOMAINNAME.
28976         * NEWS: Mention the change.
28977
28978 2008-10-18  Bruno Haible  <bruno@clisp.org>
28979
28980         * modules/dirent: New file.
28981         * m4/dirent_h.m4: New file.
28982         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
28983         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
28984         * modules/fchdir (Files): Remove lib/dirent.in.h.
28985         (Depends-on): Add dirent.
28986         (Makefile.am): Move rules to modules/dirent.
28987         * doc/posix-headers/dirent.texi: Mention the new module.
28988
28989 2008-10-18  Bruno Haible  <bruno@clisp.org>
28990
28991         Avoid -Wunused-parameter warnings in public gnulib header files.
28992         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
28993         macro.
28994         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
28995
28996 2008-10-18  Bruno Haible  <bruno@clisp.org>
28997
28998         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
28999         * doc/glibc-functions/error.texi: Mention the module 'error'.
29000         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
29001         * doc/glibc-functions/getdomainname.texi: Mention the module
29002         'getdomainname'.
29003         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
29004         * doc/glibc-functions/getpagesize.texi: Mention the module
29005         'getpagesize'.
29006         * doc/glibc-functions/getusershell.texi: Mention the module
29007         'getusershell'.
29008         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
29009         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
29010         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
29011         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
29012         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
29013         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
29014         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
29015         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
29016         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
29017         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
29018         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
29019         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
29020         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
29021         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
29022
29023 2008-10-17  Bruno Haible  <bruno@clisp.org>
29024
29025         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
29026         HP-UX and IRIX, use -0.0L.
29027         * tests/test-ceill.c (minus_zero): Likewise.
29028         * tests/test-floorl.c (minus_zero): Likewise.
29029         * tests/test-frexpl.c (minus_zero): Likewise.
29030         * tests/test-isnan.c (minus_zerol): Likewise.
29031         * tests/test-isnanl.h (minus_zero): Likewise.
29032         * tests/test-ldexpl.c (minus_zero): Likewise.
29033         * tests/test-roundl.c (minus_zero): Likewise.
29034         * tests/test-signbit.c (minus_zerol): Likewise.
29035         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
29036         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
29037         * tests/test-truncl.c (minus_zero): Likewise.
29038         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
29039         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
29040         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
29041         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
29042
29043 2008-10-17  Bruno Haible  <bruno@clisp.org>
29044
29045         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
29046         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
29047         that it gets activated only for gcc >= 3.0.
29048         * lib/dirent.in.h: Likewise.
29049         * lib/errno.in.h: Likewise.
29050         * lib/fcntl.in.h: Likewise.
29051         * lib/float.in.h: Likewise.
29052         * lib/iconv.in.h: Likewise.
29053         * lib/inttypes.in.h: Likewise.
29054         * lib/locale.in.h: Likewise.
29055         * lib/math.in.h: Likewise.
29056         * lib/netdb.in.h: Likewise.
29057         * lib/netinet_in.in.h: Likewise.
29058         * lib/search.in.h: Likewise.
29059         * lib/signal.in.h: Likewise.
29060         * lib/spawn.in.h: Likewise.
29061         * lib/stdarg.in.h: Likewise.
29062         * lib/stdint.in.h: Likewise.
29063         * lib/stdio.in.h: Likewise.
29064         * lib/stdlib.in.h: Likewise.
29065         * lib/string.in.h: Likewise.
29066         * lib/strings.in.h: Likewise.
29067         * lib/sys_file.in.h: Likewise.
29068         * lib/sys_ioctl.in.h: Likewise.
29069         * lib/sys_select.in.h: Likewise.
29070         * lib/sys_socket.in.h: Likewise.
29071         * lib/sys_stat.in.h: Likewise.
29072         * lib/sys_time.in.h: Likewise.
29073         * lib/sysexits.in.h: Likewise.
29074         * lib/time.in.h: Likewise.
29075         * lib/unistd.in.h: Likewise.
29076         * lib/wchar.in.h: Likewise.
29077         * lib/wctype.in.h: Likewise.
29078         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
29079
29080 2008-10-17  Jim Meyering  <meyering@redhat.com>
29081
29082         ignore-value: don't depend on inline module
29083         * modules/ignore-value (Depends-on): Remove 'inline'.
29084         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
29085         Suggestion from Bruno Haible.
29086
29087 2008-10-17  Bruno Haible  <bruno@clisp.org>
29088
29089         New implementation of condition variables for Win32.
29090         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
29091         (gl_linked_waitqueue_t): New type.
29092         (gl_cond_t): Use it.
29093         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
29094         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
29095         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
29096         (glthread_cond_init_func, glthread_cond_wait_func,
29097         glthread_cond_timedwait_func, glthread_cond_signal_func,
29098         glthread_cond_broadcast_func, glthread_cond_destroy_func):
29099         Reimplemented on the basis of gl_linked_waitqueue_t.
29100         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
29101         gl_waitqueue_t.
29102         (gl_rwlock_t): Update.
29103         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
29104
29105 2008-10-17  Simon Josefsson  <simon@josefsson.org>
29106
29107         * modules/recvfrom (Depends-on): Add dependency on getpeername.
29108         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
29109
29110 2008-10-17  Jim Meyering  <meyering@redhat.com>
29111
29112         ignore-value: new module
29113         * modules/ignore-value: New file.
29114         * lib/ignore-value.h: New file.
29115         * MODULES.html.sh (Compiler warning management): New section,
29116         just for this module.  More to come.
29117
29118 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
29119
29120         open-safer.c: avoid 'signed and unsigned in conditional...' warning
29121         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
29122         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
29123
29124 2008-10-16  Jim Meyering  <meyering@redhat.com>
29125
29126         openat-die.c: avoid 'no previous prototype' warning
29127         * lib/openat-die.c: Include "openat.h".
29128         Reported by Reuben Thomas <rrt@sc3d.org>.
29129
29130 2008-10-16  Simon Josefsson  <simon@josefsson.org>
29131
29132         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
29133         * lib/netdb.in.h: Fix typo.
29134         Reported by Bruno Haible  <bruno@clisp.org>
29135
29136         * lib/netdb.in.h: Include sys/socket.h for platforms without
29137         netdb.h, to get structures like hostent on MinGW.
29138         * modules/netdb (Depends-on): Add sys_socket.
29139
29140 2008-10-15  Simon Josefsson  <simon@josefsson.org>
29141
29142         * modules/netdb, modules/netdb-tests: New file.
29143         * m4/netdb_h.m4: New file.
29144         * lib/netdb.in.h: Add, currently just an empty file pending
29145         definitions.
29146         * tests/test-netdb.c: New file.
29147         * doc/posix-headers/netdb.texi: Mention that we replace it if
29148         needed.
29149         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
29150         netdb.
29151
29152 2008-10-15  Simon Josefsson  <simon@josefsson.org>
29153
29154         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
29155         with code.
29156
29157 2008-10-13  Bruno Haible  <bruno@clisp.org>
29158
29159         * lib/glthread/cond.c (glthread_cond_wait_func,
29160         glthread_cond_timedwait_func): Add a comment.
29161
29162 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
29163
29164         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
29165         * tests/test-select.c: Likewise,
29166
29167 2008-10-13  Bruno Haible  <bruno@clisp.org>
29168
29169         * lib/glthread/cond.c (glthread_cond_wait_func,
29170         glthread_cond_timedwait_func): Fix variable name.
29171         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
29172
29173 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
29174
29175         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
29176         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
29177         struct sockaddr.sa_len.
29178         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
29179
29180 2008-10-13  Simon Josefsson  <simon@josefsson.org>
29181
29182         * build-aux/pmccabe2html: Add css and css_url parameters.
29183
29184 2008-10-12  Bruno Haible  <bruno@clisp.org>
29185
29186         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
29187         calling aclx_get.
29188         Reported by Rainer Tammer <tammer@tammer.net>.
29189
29190 2008-10-12  Bruno Haible  <bruno@clisp.org>
29191
29192         Use msvcrt aware primitives for creation/termination of Win32 threads.
29193         * lib/glthread/thread.c: Include <process.h>.
29194         (glthread_create_func): Use _beginthreadex instead of CreateThread.
29195         (wrapper_func): Update signature.
29196         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
29197
29198 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
29199             Bruno Haible  <bruno@clisp.org>
29200
29201         Provide a Win32 implementation of the 'cond' module.
29202         * lib/glthread/cond.h [USE_WIN32]: New implementation.
29203         * lib/glthread/cond.c (glthread_cond_init_func,
29204         glthread_cond_wait_func, glthread_cond_timedwait_func,
29205         glthread_cond_signal_func, glthread_cond_broadcast_func,
29206         glthread_cond_destroy_func) [USE_WIN32]: New functions.
29207         * modules/cond (Dependencies): Add gettimeofday.
29208
29209 2008-10-11  Bruno Haible  <bruno@clisp.org>
29210
29211         Make sleep work on older versions of mingw.
29212         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
29213         only whether it exists.
29214         * doc/posix-functions/sleep.texi: Mention the problem with older
29215         versions of mingw.
29216
29217 2008-10-11  Bruno Haible  <bruno@clisp.org>
29218
29219         New module 'shutdown'.
29220         * modules/shutdown: New file.
29221         * lib/sys_socket.in.h (shutdown): New declaration.
29222         * lib/winsock.c (shutdown): New function.
29223         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
29224         GNULIB_SHUTDOWN.
29225         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
29226         * doc/posix-functions/shutdown.texi: Document the new module.
29227
29228 2008-10-11  Jim Meyering  <meyering@redhat.com>
29229
29230         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
29231
29232 2008-10-11  Bruno Haible  <bruno@clisp.org>
29233
29234         New module 'fclose'.
29235         * modules/fclose: New file.
29236         * lib/stdio.in.h (fclose): New declaration.
29237         * lib/fclose.c: New file.
29238         * m4/fclose.m4: New file.
29239         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
29240         REPLACE_FCLOSE.
29241         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
29242         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
29243         REPLACE_FCLOSE.
29244         * modules/close (Depends-on): fclose.
29245         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
29246
29247 2008-10-11  Bruno Haible  <bruno@clisp.org>
29248
29249         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
29250         set errno and don't call _close.
29251
29252 2008-10-10  Bruno Haible  <bruno@clisp.org>
29253
29254         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
29255         ACL, not afterwards. Fixes test failure on Cygwin.
29256
29257 2008-10-09  Ben Pfaff  <blp@gnu.org>
29258
29259         * build-aux/announce-gen: Fix gnulib version related part of usage
29260         message.  Die with a useful error message if no tarballs are
29261         found.
29262
29263 2008-10-10  Jim Meyering  <meyering@redhat.com>
29264
29265         bootstrap: use git's --depth=N option only if it's supported
29266         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
29267         recognize the --depth option.  Reported by Pádraig Brady.
29268
29269 2008-10-09  Bruno Haible  <bruno@clisp.org>
29270
29271         New module 'ioctl'.
29272         * modules/ioctl: New file.
29273         * lib/sys_socket.in.h (ioctl): Remove declaration.
29274         * lib/winsock.c: Include <sys/ioctl.h>.
29275         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
29276         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
29277         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
29278         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
29279         * doc/posix-functions/ioctl.texi: Mention the new module.
29280
29281 2008-10-09  Bruno Haible  <bruno@clisp.org>
29282
29283         New module 'sys_ioctl'.
29284         * lib/sys_ioctl.in.h: New file.
29285         * m4/sys_ioctl_h.m4: New file.
29286         * modules/sys_ioctl: New file.
29287         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
29288
29289 2008-10-09  Bruno Haible  <bruno@clisp.org>
29290
29291         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
29292         * lib/winsock.c: Include <stdarg.h>.
29293         (rpl_ioctl): Change to second argument 'int' and then varargs.
29294
29295 2008-10-09  Bruno Haible  <bruno@clisp.org>
29296
29297         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
29298         when the sys_socket module is present and the system has <winsock2.h>.
29299
29300 2008-10-09  Bruno Haible  <bruno@clisp.org>
29301
29302         * doc/posix-functions/close.texi: Mention module 'close' instead of
29303         module 'sys_socket'.
29304
29305 2008-10-09  Bruno Haible  <bruno@clisp.org>
29306
29307         * doc/glibc-headers/sys_ioctl.texi: New file.
29308         * doc/gnulib.texi: Include it.
29309
29310 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
29311             Bruno Haible  <bruno@clisp.org>
29312
29313         Combine the two replacements of 'close'.
29314         * lib/sys_socket.in.h (close): Define to a reminder to include
29315         <unistd.h>.
29316         (_gl_close_fd_maybe_socket): New declaration.
29317         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
29318         * lib/winsock.c (close): Remove undefinition.
29319         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
29320         needed for the gnulib module 'close'.
29321         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
29322         define to an error symbol or to a warning, if suitable.
29323         * lib/close.c: Include <sys/socket.h>.
29324         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
29325         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
29326         UNISTD_H_HAVE_WINSOCK2_H.
29327         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
29328         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29329         UNISTD_H_HAVE_WINSOCK2_H.
29330         * modules/sys_socket (Files): Add m4/unistd_h.m4.
29331         (configure.ac): Set a module indicator.
29332         (Makefile.am): Substitute GNULIB_CLOSE.
29333         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
29334         * modules/poll-tests (Depends-on): Add close.
29335         * modules/select-tests (Depends-on): Likewise.
29336
29337 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
29338             Bruno Haible  <bruno@clisp.org>
29339
29340         New module 'close'.
29341         * modules/close: New file.
29342         * lib/unistd.in.h (close): Move declaration out of the
29343         FCHDIR_REPLACEMENT scope.
29344         (_gl_unregister_fd): New declaration.
29345         * lib/close.c: New file.
29346         * lib/fchdir.c (rpl_close): Remove function.
29347         * m4/close.m4: New file.
29348         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
29349         close.
29350         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
29351         REPLACE_CLOSE.
29352         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
29353         REPLACE_CLOSE.
29354         * modules/fchdir (Depends-on): Add close.
29355
29356 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
29357             Bruno Haible  <bruno@clisp.org>
29358
29359         * lib/fcntl.in.h (open): Simplify conditionals.
29360         (_gl_register_fd): New declaration.
29361         * lib/fchdir.c (rpl_open): Remove function.
29362         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
29363         also.
29364         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
29365         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
29366         open.
29367
29368 2008-10-09  Jim Meyering  <meyering@redhat.com>
29369
29370         GNUmakefile: use the more name-space-friendly "_version"
29371         * top/GNUmakefile (_dummy): Update.
29372         (_version): Rename from "version".
29373
29374 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
29375             Bruno Haible  <bruno@clisp.org>
29376
29377         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
29378         rpl_close.
29379         (_gl_register_fd): New function, extracted from rpl_open.
29380         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
29381         (rpl_open, rpl_opendir): Use _gl_register_fd.
29382
29383 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
29384
29385         Fix organization of 'open' replacement.
29386         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
29387         (gl_FUNC_OPEN): Use it.
29388         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
29389
29390 2008-10-08  Bruno Haible  <bruno@clisp.org>
29391
29392         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
29393
29394 2008-10-08  Simon Josefsson  <simon@josefsson.org>
29395
29396         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
29397         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
29398         listen).
29399
29400 2008-10-08  Eric Blake  <ebb9@byu.net>
29401
29402         GNUmakefile: add 'make version' target
29403         * top/GNUmakefile (_curr-ver): Split version update rules...
29404         (version): ...into a target.
29405
29406 2008-10-07  Bruno Haible  <bruno@clisp.org>
29407
29408         Use a more portable replacement expression for -0.0L.
29409         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
29410         instead of -0.0L. Fix m4 quotation.
29411
29412         * tests/test-signbit.c: Include <float.h>.
29413         (minus_zero): New variable.
29414         (test_signbitl): Use minus_zero instead of -zero.
29415         * modules/signbit-tests (Depends-on): Add float.
29416
29417         * tests/test-ceill.c: Include <float.h>.
29418         (zero): Remove variable.
29419         (minus_zero): New variable.
29420         (main): Use minus_zero instead of -zero.
29421         * modules/ceill-tests (Depends-on): Add float.
29422
29423         * tests/test-floorl.c: Include <float.h>.
29424         (zero): Remove variable.
29425         (minus_zero): New variable.
29426         (main): Use minus_zero instead of -zero.
29427         * modules/floorl-tests (Depends-on): Add float.
29428
29429         * tests/test-roundl.c: Include <float.h>.
29430         (zero): Remove variable.
29431         (minus_zero): New variable.
29432         (main): Use minus_zero instead of -zero.
29433         * modules/roundl-tests (Depends-on): Add float.
29434
29435         * tests/test-truncl.c: Include <float.h>.
29436         (zero): Remove variable.
29437         (minus_zero): New variable.
29438         (main): Use minus_zero instead of -zero.
29439         * modules/truncl-tests (Depends-on): Add float.
29440
29441         * tests/test-frexpl.c (zero): Remove variable.
29442         (minus_zero): New variable.
29443         (main): Use minus_zero instead of -zero.
29444         * modules/frexpl-tests (Depends-on): Add float.
29445
29446         * tests/test-isnan.c (zerol): Remove variable.
29447         (minus_zerol): New variable.
29448         (test_long_double): Use minus_zerol instead of -zerol.
29449         * modules/isnan-tests (Depends-on): Add float.
29450
29451         * tests/test-isnanl.h (zero): Remove variable.
29452         (minus_zero): New variable.
29453         (main): Use minus_zero instead of -zero.
29454         * modules/isnanl-nolibm-tests (Depends-on): Add float.
29455         * modules/isnanl-tests (Depends-on): Add float.
29456
29457         * tests/test-ldexpl.c (zero): Remove variable.
29458         (minus_zero): New variable.
29459         (main): Use minus_zero instead of -zero.
29460         * modules/ldexpl-tests (Depends-on): Add float.
29461
29462         * tests/test-snprintf-posix.h (zerol): Remove variable.
29463         (minus_zerol): New variable.
29464         (test_function): Use minus_zerol instead of -zerol.
29465         * modules/snprintf-posix-tests (Depends-on): Add float.
29466         * modules/vsnprintf-posix-tests (Depends-on): Add float.
29467
29468         * tests/test-sprintf-posix.h (zerol): Remove variable.
29469         (minus_zerol): New variable.
29470         (test_function): Use minus_zerol instead of -zerol.
29471         * modules/sprintf-posix-tests (Depends-on): Add float.
29472         * modules/vsprintf-posix-tests (Depends-on): Add float.
29473
29474         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
29475         (minus_zerol): New variable.
29476         (test_function): Use minus_zerol instead of -zerol.
29477         * modules/vasnprintf-posix-tests (Depends-on): Add float.
29478
29479         * tests/test-vasprintf-posix.c (zerol): Remove variable.
29480         (minus_zerol): New variable.
29481         (test_function): Use minus_zerol instead of -zerol.
29482         * modules/vasprintf-posix-tests (Depends-on): Add float.
29483
29484 2008-10-07  Simon Josefsson  <simon@josefsson.org>
29485
29486         * MODULES.html.sh (Support for building documentation): Mention
29487         pmccabe2html.  Sort entries.
29488
29489         Add pmccabe2html module, from gnupdf.
29490         * build-aux/pmccabe.css: New file.
29491         * build-aux/pmccabe2html: New file.
29492         * m4/pmccabe2html.m4: New file.
29493         * modules/pmccabe2html: New file.
29494
29495 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
29496
29497         flock: new module
29498         * MODULES.html.sh: Add to list of modules.
29499         * lib/flock.c: flock implementation for Windows and Unix systems
29500         which have fcntl.
29501         * doc/glibc-functions/flock.texi: Update documentation.
29502         * lib/sys_file.in.h: <sys/file.h> header file.
29503         * m4/flock.m4: M4 macros.
29504         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
29505         * modules/flock: flock module.
29506         * modules/flock-tests: flock tests module.
29507         * modules/sys_file: sys/file.h module.
29508         * tests/test-flock.c: test suite for flock.
29509
29510 2008-10-06  Jim Meyering  <meyering@redhat.com>
29511
29512         bootstrap: check for LT_INIT more portably still ;-)
29513         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
29514         Spotted by Bruno Haible.
29515
29516 2008-10-06  Eric Blake  <ebb9@byu.net>
29517
29518         test-signbit: avoid tripping Irix cc bug on -0.0L
29519         * tests/test-signbit.c (minus_zerol): Delete, and replace with
29520         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
29521         entire testsuite consistent and avoids an Irix 6.2 bug.
29522
29523 2008-10-05  Bruno Haible  <bruno@clisp.org>
29524             Jim Meyering  <jim@meyering.net>
29525
29526         Add an option for ignoring EPIPE during close_stdout.
29527         * lib/closeout.h: Include <stdbool.h>.
29528         (close_stdout_set_ignore_EPIPE): New declaration.
29529         * lib/closeout.c: Include <stdbool.h>.
29530         (ignore_EPIPE): New variable.
29531         (close_stdout_set_ignore_EPIPE): New function.
29532         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
29533         * lib/close-stream.c (close_stream): Mention the possible EPIPE
29534         failure.
29535         * modules/closeout (Depends-on): Add stdbool.
29536
29537 2008-10-05  Bruno Haible  <bruno@clisp.org>
29538
29539         * modules/accept: New file.
29540         * modules/bind: New file.
29541         * modules/connect: New file.
29542         * modules/getpeername: New file.
29543         * modules/getsockname: New file.
29544         * modules/getsockopt: New file.
29545         * modules/listen: New file.
29546         * modules/recv: New file.
29547         * modules/recvfrom: New file.
29548         * modules/send: New file.
29549         * modules/sendto: New file.
29550         * modules/setsockopt: New file.
29551         * modules/socket: New file.
29552         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
29553         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
29554         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
29555         the particular module is requested. Add a link warning when the
29556         particular module is not requested.
29557         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
29558         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
29559         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
29560         the particular module is requested.
29561         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
29562         gl_SYS_SOCKET_H_DEFAULTS): New macros.
29563         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
29564         * modules/sys_socket (Depends-on): Add link-warning.
29565         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
29566         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
29567         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
29568         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
29569         GL_LINK_WARNING.
29570         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
29571         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
29572         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
29573         * doc/posix-functions/getpeername.texi: Mention the new module
29574         'getpeername'.
29575         * doc/posix-functions/getsockname.texi: Mention the new module
29576         'getsockname'.
29577         * doc/posix-functions/getsockopt.texi: Mention the new module
29578         'getsockopt'.
29579         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
29580         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
29581         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
29582         * doc/posix-functions/send.texi: Mention the new module 'send'.
29583         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
29584         * doc/posix-functions/setsockopt.texi: Mention the new module
29585         'setsockopt'.
29586         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
29587         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
29588         listen, connect, accept.
29589         * modules/select-tests (Depends-on): Likewise.
29590
29591 2008-10-05  Bruno Haible  <bruno@clisp.org>
29592
29593         * lib/winsock.c (strerror): Remove unused #undef.
29594         (rpl_close): Remove unused local variable.
29595
29596         * modules/sys_socket (Depends-on); Add errno.
29597
29598 2008-10-05  Bruno Haible  <bruno@clisp.org>
29599
29600         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
29601         (select): Add a link warning when the 'select' module is not used.
29602         * modules/sys_select (Depends-on): Add link-warning.
29603         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
29604         Suggested by Paolo Bonzini.
29605
29606 2008-10-05  Jim Meyering  <meyering@redhat.com>
29607
29608         bootstrap: check for LT_INIT more portably
29609         * build-aux/bootstrap: Avoid using grep -E, since it's not
29610         portable enough.  Suggestion from Bruno Haible.
29611
29612 2008-10-05  Bruno Haible  <bruno@clisp.org>
29613
29614         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
29615         as being fixed by gnulib.
29616
29617 2008-10-05  Bruno Haible  <bruno@clisp.org>
29618
29619         * modules/select-tests: New file, mostly copied from
29620         modules/sys_select-tests.
29621         * tests/test-select.c: New file, mostly copied from
29622         tests/test-sys_select.c.
29623         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
29624         * modules/sys_select-tests (Depends-on): Remove all dependencies.
29625         (Makefile.am): Remove test_sys_select_LDADD.
29626
29627         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
29628         to an undefined symbol, for an error message.
29629         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
29630         (gl_SYS_SELECT_H_DEFAULTS): New macro.
29631         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
29632         winsock-select.c here.
29633         * modules/sys_select (Files): Remove lib/winsock-select.c.
29634         (Depends-on): Remove alloca.
29635         (Makefile.am): Substitute GNULIB_SELECT.
29636         * modules/select: New file.
29637         * doc/posix-functions/select.texi: Update.
29638
29639 2008-10-05  Bruno Haible  <bruno@clisp.org>
29640
29641         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
29642         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
29643         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
29644         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
29645         getdtablesize.
29646         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
29647         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
29648
29649 2008-10-05  Bruno Haible  <bruno@clisp.org>
29650
29651         * modules/getdtablesize-tests: New file.
29652         * tests/test-getdtablesize.c: New file.
29653
29654         New module 'getdtablesize'.
29655         * lib/unistd.in.h (getdtablesize): New declaration.
29656         * lib/getdtablesize.c: New file.
29657         * m4/getdtablesize.m4: New file.
29658         * modules/getdtablesize: New file.
29659         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29660         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
29661         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
29662         HAVE_GETDTABLESIZE.
29663         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
29664
29665 2008-10-05  Bruno Haible  <bruno@clisp.org>
29666
29667         * modules/sched (Makefile.am): Fix typo.
29668         Reported by Simon Josefsson.
29669
29670 2008-10-05  Jim Meyering  <meyering@redhat.com>
29671
29672         bootstrap: check for LT_INIT, too
29673         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
29674         are deprecated.  Suggestion from Ralf Wildenhues.
29675
29676 2008-10-05  Bruno Haible  <bruno@clisp.org>
29677
29678         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
29679         overriding them by ours.
29680         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
29681
29682 2008-10-05  Jim Meyering  <meyering@redhat.com>
29683
29684         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
29685         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
29686         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
29687
29688 2008-10-04  Bruno Haible  <bruno@clisp.org>
29689
29690         * modules/dup2 (License): Change to LGPLv2+.
29691         * modules/sleep (License): Likewise.
29692         * modules/perror (License): Likewise.
29693         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
29694         Blake.
29695         * modules/signal (License): Likewise.
29696         * modules/sigprocmask (License): Likewise.
29697         * modules/raise (License): Change to LGPLv2+, with approval by Jim
29698         Meyering.
29699
29700 2008-10-04  Bruno Haible  <bruno@clisp.org>
29701
29702         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
29703         Reported by Rainer Tammer <tammer@tammer.net>.
29704
29705 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
29706             Bruno Haible  <bruno@clisp.org>
29707
29708         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
29709         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
29710         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
29711
29712 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
29713
29714         filevercmp: new module
29715         * lib/filevercmp.h: New function filevercmp comparing version strings.
29716         * lib/filevercmp.c: Implementation of filevercmp function.
29717         * modules/filevercmp: Module metadata.
29718         * tests/test-filevercmp.c: Unit test for new module.
29719         * modules/filevercmp-tests: Unit test metadata.
29720         * MODULES.html.sh: Add filevercmp module.
29721
29722 2008-10-03  Bruno Haible  <bruno@clisp.org>
29723
29724         * lib/c-ctype.h: Add comment.
29725         Reported by Jim Meyering.
29726
29727 2008-10-02  Bruno Haible  <bruno@clisp.org>
29728
29729         * modules/posix_spawn-internal (Depends-on): Add 'open'.
29730
29731 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
29732
29733         * build-aux/bootstrap: Allow renaming bootstrap, and change the
29734         name of bootstrap.conf accordingly.
29735
29736 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
29737
29738         * build-aux/bootstrap: Install git-merge-changelog configuration
29739         items into .gitconfig if needed.
29740
29741 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
29742
29743         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
29744         git repository, and initialize/update it accordingly.
29745
29746 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
29747
29748         * modules/fsync-tests: New file.
29749         * tests/test-fsync.c: New file.
29750
29751         New module 'fsync'.
29752         * lib/fsync.c: New file.
29753         * m4/fsync.m4: New file.
29754         * modules/fsync: New file.
29755         * lib/unistd.in.h (fsync): New declaration.
29756         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
29757         GNULIB_FSYNC and HAVE_FSYNC.
29758         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
29759         * MODULES.html.sh (posix_functions): Add fsync.
29760         * doc/posix-functions/fsync.texi: Mention the new module.
29761
29762 2008-10-02  Jim Meyering  <meyering@redhat.com>
29763
29764         fts.c: sync with similar code from coreutils' remove.c
29765         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
29766         Guard also with "#if defined __linux__", since for now at least,
29767         this code is Linux-kernel-specific.
29768
29769 2008-10-02  Jim Meyering  <meyering@redhat.com>
29770
29771         fts: bug fixes
29772         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
29773         Include <sys/vfs.h>, not <sys/statfs.h>.
29774
29775         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
29776         Include <sys/vfs.h>, not <sys/statfs.h>.
29777
29778 2008-10-01  Bruno Haible  <bruno@clisp.org>
29779
29780         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
29781         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
29782         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
29783         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
29784         * doc/posix-functions/posix_spawnp.texi: Likewise.
29785         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
29786         whether posix_spawn actually works.
29787         * m4/pipe.m4 (gl_PIPE): Likewise.
29788         * modules/execute (Files): Add m4/posix_spawn.m4.
29789         * modules/pipe (Files): Add m4/posix_spawn.m4.
29790         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
29791
29792 2008-10-01  Jim Meyering  <meyering@redhat.com>
29793
29794         remove trailing spaces
29795         * NEWS: Likewise.
29796         * lib/poll.c (poll): Likewise.
29797         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
29798         * lib/winsock.c (rpl_close): Likewise.
29799         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
29800         * modules/yield: Likewise.
29801         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
29802         * tests/test-sys_select.c (connect_to_socket): Likewise.
29803
29804         fts.c: adjust a new interface to be more generally useful
29805         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
29806         (fts_build): Adjust caller.
29807
29808 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29809
29810         * modules/cond-tests: New file.
29811         * tests/test-cond.c: New file.
29812
29813 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29814             Bruno Haible  <bruno@clisp.org>
29815
29816         * modules/cond (Dependencies): Add errno, time.
29817         * lib/glthread/cond.h: Include <time.h>.
29818         (gl_cond_define, gl_cond_define_initialized): Use the same definition
29819         across platforms.
29820
29821 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29822             Bruno Haible  <bruno@clisp.org>
29823
29824         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
29825
29826 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29827             Bruno Haible  <bruno@clisp.org>
29828
29829         * modules/tls-tests (Depends-on): Add thread, yield.
29830         (configure.ac): Remove all checks.
29831         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
29832         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
29833         gl_thread_self): Remove definitions. Include glthread/thread.h and
29834         glthread/yield.h instead.
29835         (test_tls): Pass an additional NULL argument to gl_thread_join.
29836
29837 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
29838             Bruno Haible  <bruno@clisp.org>
29839
29840         * modules/lock-tests (Depends-on): Add thread, yield.
29841         (configure.ac): Remove all checks.
29842         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
29843         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
29844         gl_thread_self): Remove definitions. Include glthread/thread.h and
29845         glthread/yield.h instead.
29846         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
29847         additional NULL argument to gl_thread_join.
29848
29849 2008-09-30  Bruno Haible  <bruno@clisp.org>
29850
29851         Fix the Win32 implementation of the 'thread' module.
29852         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
29853         pointer type.
29854         (gl_thread_self): Invoke gl_thread_self_func.
29855         (gl_thread_self_func): New declaration.
29856         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
29857         (do_init_self_key, init_self_key): New functions.
29858         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
29859         Remove some fields.
29860         (running_threads, running_lock): Remove variables.
29861         (get_current_thread_handle): New function.
29862         (gl_thread_self_func, wrapper_func, glthread_create_func,
29863         glthread_join_func, gl_thread_exit_func): Largely rewritten and
29864         simplified.
29865
29866 2008-09-30  Bruno Haible  <bruno@clisp.org>
29867
29868         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
29869         files.
29870
29871 2008-09-30  Jim Meyering  <meyering@redhat.com>
29872
29873         fts.m4: correct the test for statfs.f_type
29874         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
29875         when checking for statfs.f_type.
29876
29877 2008-09-15  Simon Josefsson  <simon@josefsson.org>
29878
29879         tests: avoid some compiler warnings
29880         * tests/test-memchr.c (main): Pass NULL indirectly.
29881         * tests/test-getdate.c (main): Remove unused variable 'ret'.
29882
29883 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
29884
29885         getdate.y: disallow countable dayshifts like "4 yesterday ago"
29886         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
29887         exactly specified dayshifts.
29888         (dayshift): New rule.
29889         (rel): Add dayshift.
29890         (relative_time_table) [tomorrow, yesterday, today, now]:
29891         Use tDAY_SHIFT in place of tDAY_UNIT.
29892         * tests/test-getdate.c: Add tests for now-disallowed countable
29893         dayshifts, e.g., "4 yesterday ago".
29894
29895 2008-09-29  Bruno Haible  <bruno@clisp.org>
29896
29897         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
29898         * tests/test-posix_spawn1.in.sh: Renamed from
29899         tests/test-posix_spawn.in.sh.
29900         * tests/test-posix_spawn2.c: New file.
29901         * tests/test-posix_spawn2.in.sh: New file.
29902         * modules/posix_spawnp-tests (Files): Update.
29903         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
29904
29905 2008-09-29  Bruno Haible  <bruno@clisp.org>
29906
29907         Propagate effects of putenv/setenv/unsetenv to child processes.
29908         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
29909         * lib/pipe.c (create_pipe): Likewise.
29910
29911 2008-09-29  Bruno Haible  <bruno@clisp.org>
29912
29913         Enable use of shell scripts as executables in mingw.
29914         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
29915         run the program as a shell script.
29916         * lib/pipe.c (create_pipe): Likewise.
29917         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
29918         resulting array.
29919
29920 2008-09-29  Eric Blake  <ebb9@byu.net>
29921
29922         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
29923
29924 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
29925
29926         * doc/posix-functions/accept.texi: Update mingw problems.
29927         * doc/posix-functions/bind.texi: Update mingw problems.
29928         * doc/posix-functions/close.texi: Update mingw problems.
29929         * doc/posix-functions/connect.texi: Update mingw problems.
29930         * doc/posix-functions/getpeername.texi: Update mingw problems.
29931         * doc/posix-functions/getsockname.texi: Update mingw problems.
29932         * doc/posix-functions/getsockopt.texi: Update mingw problems.
29933         * doc/posix-functions/ioctl.texi: Update mingw problems.
29934         * doc/posix-functions/listen.texi: Update mingw problems.
29935         * doc/posix-functions/recv.texi: Update mingw problems.
29936         * doc/posix-functions/recvfrom.texi: Update mingw problems.
29937         * doc/posix-functions/select.texi: Update mingw problems.
29938         * doc/posix-functions/send.texi: Update mingw problems.
29939         * doc/posix-functions/sendto.texi: Update mingw problems.
29940         * doc/posix-functions/setsockopt.texi: Update mingw problems.
29941         * doc/posix-functions/socket.texi: Update mingw problems.
29942
29943 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
29944             Bruno Haible  <bruno@clisp.org>
29945
29946         * lib/sys_select.in.h: Include sys/time.h.
29947         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
29948         * modules/sys_select: Depend on sys_time.
29949         * tests/test-sys_select.c: Test that sys/select.h defines struct
29950         timeval fully.
29951
29952 2008-09-29  Bruno Haible  <bruno@clisp.org>
29953
29954         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
29955         * lib/sys_select.in.h: Likewise.
29956
29957 2008-09-29  Bruno Haible  <bruno@clisp.org>
29958
29959         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
29960
29961 2008-09-29  Bruno Haible  <bruno@clisp.org>
29962
29963         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
29964         Set LIBSOCKET instead of augmenting LIBS.
29965         * modules/sockets (Link): New section.
29966         * modules/sockets-tests (test_sockets_LDADD): New variable.
29967         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
29968         * modules/poll-tests (test_poll_LDADD): New variable.
29969         * NEWS: Document the change.
29970
29971 2008-09-29  Bruno Haible  <bruno@clisp.org>
29972
29973         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
29974         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
29975         ARPA_INET_H directly.
29976         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
29977
29978 2008-09-28  Bruno Haible  <bruno@clisp.org>
29979
29980         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
29981         from gl_HEADER_SYS_SOCKET.
29982         (gl_HEADER_SYS_SOCKET): Invoke it.
29983         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
29984
29985 2008-09-28  Bruno Haible  <bruno@clisp.org>
29986
29987         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
29988         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
29989         Needed on OSF/1 4.0.
29990
29991 2008-09-28  Bruno Haible  <bruno@clisp.org>
29992
29993         Override open more carefully.
29994         * lib/open.c (orig_open): New function.
29995         (rpl_open): Use orig_open instead of open.
29996         * lib/fcntl.in.h: Add special invocation convention.
29997         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
29998         (gl_FUNC_OPEN): Invoke it.
29999
30000         Override freopen more carefully.
30001         * lib/freopen.c (orig_freopen): New function.
30002         (rpl_freopen): Use orig_freopen instead of freopen.
30003         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
30004         (gl_FUNC_FREOPEN): Invoke it.
30005
30006         Override fopen more carefully.
30007         * lib/fopen.c (orig_fopen): New function.
30008         (rpl_fopen): Use orig_fopen instead of fopen.
30009         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
30010         (gl_FUNC_FOPEN): Invoke it.
30011         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
30012
30013 2008-09-28  Bruno Haible  <bruno@clisp.org>
30014
30015         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
30016         SIGPIPE.
30017
30018 2008-09-28  Bruno Haible  <bruno@clisp.org>
30019
30020         * tests/test-sigaction.c (handler, main): Disable the check whether
30021         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
30022         glibc systems with LinuxThreads.
30023
30024 2008-09-28  Bruno Haible  <bruno@clisp.org>
30025
30026         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
30027
30028         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
30029         with AIX xlc.
30030         * lib/fcntl.in.h (open): Likewise.
30031         Reported by Rainer Tammer <tammer@tammer.net>.
30032
30033 2008-09-28  Bruno Haible  <bruno@clisp.org>
30034
30035         * modules/posix_spawnp-tests: New file.
30036         * tests/test-posix_spawn.c: New file.
30037         * tests/test-posix_spawn.in.sh: New file.
30038
30039         New module 'posix_spawnp'.
30040         * modules/posix_spawnp: New file.
30041         * lib/spawnp.c: New file, from GNU libc with modifications.
30042         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
30043
30044         New module 'posix_spawn'.
30045         * modules/posix_spawn: New file.
30046         * lib/spawn.c: New file, from GNU libc with modifications.
30047         * doc/posix-functions/posix_spawn.texi: Mention the new module.
30048
30049         New module 'posix_spawnattr_destroy'.
30050         * modules/posix_spawnattr_destroy: New file.
30051         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
30052         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
30053         module.
30054
30055         New module 'posix_spawnattr_setsigmask'.
30056         * modules/posix_spawnattr_setsigmask: New file.
30057         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
30058         modifications.
30059         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
30060         new module.
30061
30062         New module 'posix_spawnattr_getsigmask'.
30063         * modules/posix_spawnattr_getsigmask: New file.
30064         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
30065         modifications.
30066         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
30067         new module.
30068
30069         New module 'posix_spawnattr_setsigdefault'.
30070         * modules/posix_spawnattr_setsigdefault: New file.
30071         * lib/spawnattr_setdefault.c: New file, from GNU libc with
30072         modifications.
30073         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
30074         new module.
30075
30076         New module 'posix_spawnattr_getsigdefault'.
30077         * modules/posix_spawnattr_getsigdefault: New file.
30078         * lib/spawnattr_getdefault.c: New file, from GNU libc with
30079         modifications.
30080         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
30081         new module.
30082
30083         New module 'posix_spawnattr_setschedpolicy'.
30084         * modules/posix_spawnattr_setschedpolicy: New file.
30085         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
30086         modifications.
30087         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
30088         new module.
30089
30090         New module 'posix_spawnattr_getschedpolicy'.
30091         * modules/posix_spawnattr_getschedpolicy: New file.
30092         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
30093         modifications.
30094         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
30095         new module.
30096
30097         New module 'posix_spawnattr_setschedparam'.
30098         * modules/posix_spawnattr_setschedparam: New file.
30099         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
30100         modifications.
30101         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
30102         new module.
30103
30104         New module 'posix_spawnattr_getschedparam'.
30105         * modules/posix_spawnattr_getschedparam: New file.
30106         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
30107         modifications.
30108         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
30109         new module.
30110
30111         New module 'posix_spawnattr_setpgroup'.
30112         * modules/posix_spawnattr_setpgroup: New file.
30113         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
30114         modifications.
30115         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
30116         module.
30117
30118         New module 'posix_spawnattr_getpgroup'.
30119         * modules/posix_spawnattr_getpgroup: New file.
30120         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
30121         modifications.
30122         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
30123         module.
30124
30125         New module 'posix_spawnattr_setflags'.
30126         * modules/posix_spawnattr_setflags: New file.
30127         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
30128         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
30129         module.
30130
30131         New module 'posix_spawnattr_getflags'.
30132         * modules/posix_spawnattr_getflags: New file.
30133         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
30134         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
30135         module.
30136
30137         New module 'posix_spawnattr_init'.
30138         * modules/posix_spawnattr_init: New file.
30139         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
30140         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
30141         module.
30142
30143         New module 'posix_spawn_file_actions_destroy'.
30144         * modules/posix_spawn_file_actions_destroy: New file.
30145         * lib/spawn_faction_destroy.c: New file, from GNU libc with
30146         modifications.
30147         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
30148         the new module.
30149
30150         New module 'posix_spawn_file_actions_addopen'.
30151         * modules/posix_spawn_file_actions_addopen: New file.
30152         * lib/spawn_faction_addopen.c: New file, from GNU libc with
30153         modifications.
30154         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
30155         the new module.
30156
30157         New module 'posix_spawn_file_actions_adddup2'.
30158         * modules/posix_spawn_file_actions_adddup2: New file.
30159         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
30160         modifications.
30161         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
30162         the new module.
30163
30164         New module 'posix_spawn_file_actions_addclose'.
30165         * modules/posix_spawn_file_actions_addclose: New file.
30166         * lib/spawn_faction_addclose.c: New file, from GNU libc with
30167         modifications.
30168         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
30169         the new module.
30170
30171         New module 'posix_spawn_file_actions_init'.
30172         * modules/posix_spawn_file_actions_init: New file.
30173         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
30174         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
30175         new module.
30176
30177         New module 'posix_spawn-internal'.
30178         * modules/posix_spawn-internal: New file.
30179         * lib/spawn_int.h: New file, from GNU libc with modifications.
30180         * lib/spawni.c: New file, from GNU libc with modifications.
30181         * m4/posix_spawn.m4: New file.
30182
30183         New module 'spawn'.
30184         * modules/spawn: New file.
30185         * lib/spawn.in.h: New file, from GNU libc with modifications.
30186         * m4/spawn_h.m4: New file.
30187         * doc/posix-headers/spawn.texi: Mention the new module.
30188
30189 2008-09-28  Bruno Haible  <bruno@clisp.org>
30190
30191         * modules/sched-tests: New file.
30192         * tests/test-sched.c: New file.
30193
30194         New module 'sched'.
30195         * modules/sched: New file.
30196         * lib/sched.in.h: New file.
30197         * m4/sched_h.m4: New file.
30198         * doc/posix-headers/sched.texi: Mention the new module.
30199
30200 2008-09-27  Eric Blake  <ebb9@byu.net>
30201
30202         Fix previous patch, and tweak references to $0.
30203         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
30204         (func_version, func_gnulib_dir): Don't call this program
30205         gnulib-tool.
30206         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
30207         with using $0 in function.
30208         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
30209         (func_fatal_error): Reuse the name the user invoked us with.
30210
30211 2008-09-27  Bruno Haible  <bruno@clisp.org>
30212
30213         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
30214         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
30215         (gl_ICONV_H): Not here.
30216         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
30217         instead of assigning ICONV_H directly.
30218
30219         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
30220         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
30221         WCHAR_H directly.
30222
30223 2008-09-27  Bruno Haible  <bruno@clisp.org>
30224
30225         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
30226         * modules/arpa_inet (Depends-on): Add link-warning.
30227         (Makefile.am): Insert the definition of GL_LINK-WARNING.
30228         * modules/unistd (Makefile.am): Likewise.
30229
30230 2008-09-26  Bruno Haible  <bruno@clisp.org>
30231
30232         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
30233         variables.
30234         (func_version): Essentially copied from gnulib-tool.
30235         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
30236         func_readlink): Copied from gnulib-tool.
30237
30238 2008-09-26  Bruno Haible  <bruno@clisp.org>
30239
30240         * gnulib-tool (func_version): Change directory to $gnulib_dir before
30241         invoking git-version-gen.
30242
30243 2008-09-26  Bruno Haible  <bruno@clisp.org>
30244
30245         * posix-modules: Update to directory names changed on 2008-01-19.
30246         Remove commas in output before splitting into words. No more need to
30247         avoid 'ftruncate' since 2007-02-19.
30248
30249 2008-09-26  Bruno Haible  <bruno@clisp.org>
30250
30251         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
30252
30253 2008-09-26  Bruno Haible  <bruno@clisp.org>
30254
30255         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
30256         * modules/fwriteerror (Depends-on): Add errno.
30257
30258 2008-09-26  Bruno Haible  <bruno@clisp.org>
30259
30260         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
30261         * tests/test-vc-list-files-cvs.sh: Likewise.
30262
30263 2008-09-26  Bruno Haible  <bruno@clisp.org>
30264
30265         * doc/posix-headers/sys_resource.texi: Reorder items.
30266
30267 2008-09-26  Jim Meyering  <meyering@redhat.com>
30268
30269         fts: tweak inode comparison function
30270         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
30271         inode numbers, as documented.
30272
30273         fts: sort dirent entries on inode number before traversing
30274         This avoids a quadratic, seek-related performance penalty when
30275         operating on a directory containing many entries (measurable at 10k;
30276         3.5 hours at 2 million entries with a cold cache) on certain types
30277         of file systems, including ext3 and ext4, but not tmpfs.
30278         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
30279         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
30280         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
30281         (fs_handles_readdir_ordered_dirents_efficiently): New function.
30282         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
30283         (fts_build): Set the stat.st_ino member from D_INO.
30284         If it is likely to be useful, sort dirent entries on inode number.
30285
30286         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
30287         and the struct statfs.f_type member.
30288         * modules/fts (Depends-on): Add d-ino.
30289
30290 2008-09-26  Bruno Haible  <bruno@clisp.org>
30291
30292         * modules/sigpipe-die (Depends-on): Add sigpipe.
30293
30294         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
30295         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
30296         and GNULIB_STDIO_H_SIGPIPE are set.
30297         * lib/stdio-write.c: New file.
30298         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
30299         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
30300         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
30301         REPLACE_STDIO_WRITE_FUNCS.
30302         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
30303         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
30304         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
30305         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
30306         * modules/stdio (Files): Add lib/stdio-write.c.
30307         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
30308         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
30309         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
30310         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
30311         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
30312         REPLACE_FPRINTF_POSIX.
30313         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
30314         REPLACE_PRINTF_POSIX.
30315         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
30316         REPLACE_VFPRINTF_POSIX.
30317         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
30318         REPLACE_VPRINTF_POSIX.
30319         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
30320         SIGPIPE issue.
30321         * doc/posix-functions/fputc.texi: Likewise.
30322         * doc/posix-functions/fputs.texi: Likewise.
30323         * doc/posix-functions/fwrite.texi: Likewise.
30324         * doc/posix-functions/printf.texi: Likewise.
30325         * doc/posix-functions/putc.texi: Likewise.
30326         * doc/posix-functions/putchar.texi: Likewise.
30327         * doc/posix-functions/puts.texi: Likewise.
30328         * doc/posix-functions/vfprintf.texi: Likewise.
30329         * doc/posix-functions/vprintf.texi: Likewise.
30330
30331         * modules/safe-write (Depends-on): Add write.
30332
30333         * modules/sigpipe-tests: New file.
30334         * tests/test-sigpipe.c: New file.
30335         * tests/test-sigpipe.sh: New file.
30336
30337         * modules/write: New file.
30338         * lib/unistd.in.h: Include <sys/types.h>.
30339         (write): New declaration.
30340         * lib/write.c: New file.
30341         * m4/write.m4: New file.
30342         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
30343         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
30344         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
30345         GNULIB_WRITE, REPLACE_WRITE.
30346         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
30347         and the SIGPIPE issue.
30348
30349         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
30350         (raise): New declaration.
30351         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
30352         (ext_signal): New function.
30353         (rpl_raise): New function.
30354         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
30355         GNULIB_SIGNAL_H_SIGPIPE.
30356         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
30357         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
30358
30359         * modules/sigpipe: New file.
30360         * m4/sigpipe.m4: New file.
30361
30362 2008-09-25  Derek Price  <derek@ximbiot.com>
30363             Bruno Haible  <bruno@clisp.org>
30364
30365         * gnulib-tool (func_import): Report all license incompatibilities, not
30366         just the first one.
30367
30368 2008-09-25  Bruno Haible  <bruno@clisp.org>
30369
30370         * gnulib-tool (func_import): When computing the edits, consider not
30371         only the Makefile.ams that exist but also those that will be generated.
30372
30373 2008-09-25  Simon Josefsson  <simon@josefsson.org>
30374
30375         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
30376         fixes gnulib-tool --test warning about duplicate dependency.
30377
30378 2008-09-25  Bruno Haible  <bruno@clisp.org>
30379
30380         * gnulib-tool: Don't ask the user to perform edits in the generated
30381         Makefile.ams.
30382         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
30383         apply to the Makefile.am being generated.
30384         (func_emit_tests_Makefile_am): Execute edits that apply to the
30385         Makefile.am being generated.
30386         (func_import): Setup list of Makefile.am edits before emitting the
30387         Makefile.ams, not at the end.
30388         (func_create_testdir): Update.
30389         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
30390
30391 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30392
30393         * gnulib-tool (func_import): Store the --tests-base option in the
30394         comment in gnulib-cache.m4.
30395
30396 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
30397
30398         * NEWS: Document increased portability that sys_select now provides.
30399
30400         * lib/sys_select.in.h: Install select wrapper.
30401         * lib/sys_socket.in.h: Use more descriptive name when there is no
30402         select wrapper.
30403         * lib/winsock-select.c: New.
30404         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
30405         Require gl_HEADER_SYS_SOCKET.
30406         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
30407         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
30408         * tests/test-sys_select.c: Add functional tests.
30409
30410 2008-09-24  Eric Blake  <ebb9@byu.net>
30411
30412         open, fopen: close fd leak in last patch
30413         * lib/open.c (rpl_open): Close fd before returning error.
30414         * lib/fopen.c (rpl_fopen): Close fd before returning error.
30415         * doc/posix-functions/open.texi (open): Document that Irix also
30416         has the bug.
30417         * doc/posix-functions/fopen.texi (fopen): Likewise.
30418         Reported by Paolo Bonzini.
30419
30420 2008-09-24  Bruno Haible  <bruno@clisp.org>
30421
30422         Ensure that a filename ending in a slash cannot be used to access a
30423         non-directory.
30424         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
30425         to check whether it's really a directory.
30426         * lib/fopen.c: Include fcntl.h, unistd.h.
30427         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
30428         and fdopen().
30429         * modules/fopen (Depends-on): Add unistd.
30430         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
30431         * tests/test-fopen.c (main): Likewise.
30432         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
30433         * doc/posix-functions/fopen.texi: Likewise.
30434         Reported by Eric Blake.
30435
30436 2008-09-23  Eric Blake  <ebb9@byu.net>
30437
30438         c-stack: avoid compiler optimizations when provoking overflow
30439         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
30440         recursion harder to optimize, to ensure a stack overflow occurs.
30441         * tests/test-c-stack.c (recurse): Likewise.
30442         Borrowed from libsigsegv.
30443
30444         c-stack: work around Irix sigaltstack bug
30445         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
30446         whether sigaltstack uses wrong end of stack_t (copied in part from
30447         libsigsegv).
30448         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
30449         Irix bug, without requiring an over-allocation.
30450         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
30451         bug.
30452
30453         fopen: document mingw bug on directories
30454         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
30455         not allowing a stream visiting a directory, even though reading
30456         from such a stream is not portable.
30457
30458 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
30459
30460         * lib/poll.c: Rewrite.
30461         * modules/poll: Depend on alloca.
30462
30463 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
30464
30465         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
30466         instead define prototypes for a full set of wrappers.  Ensure
30467         that Cygwin does not use the compatibility code, which is only
30468         for MinGW.
30469         * lib/winsock.c: New.
30470         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
30471         * modules/sys_socket: Add lib/winsock.c.
30472
30473         * modules/poll-tests: Add errno and perror.
30474         * tests/test-poll.c: Use ioctl, not ioctlsocket.
30475
30476 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
30477
30478         * tests/test-poll.c: Downgrade minimum needed Winsock version.
30479
30480 2008-09-23  Bruno Haible  <bruno@clisp.org>
30481
30482         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
30483         * doc/glibc-functions/*: Likewise.
30484
30485 2008-09-23  Simon Josefsson  <simon@josefsson.org>
30486
30487         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
30488         success.
30489
30490 2008-09-22  Eric Blake  <ebb9@byu.net>
30491             Bruno Haible  <bruno@clisp.org>
30492
30493         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
30494         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
30495         supply %A but mishandle pseudo-NaN.
30496         Reported by Simon Josefsson.
30497
30498 2008-09-21  Bruno Haible  <bruno@clisp.org>
30499
30500         * tests/test-lock.c (main): Tweak skip message.
30501         * tests/test-tls.c (main): Likewise.
30502
30503 2008-09-21  Bruno Haible  <bruno@clisp.org>
30504
30505         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
30506         whether 'struct sigaction' has sa_sigaction here...
30507         (gl_PREREQ_SIG_HANDLER_H): ... not here.
30508         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
30509
30510 2008-09-21  Bruno Haible  <bruno@clisp.org>
30511
30512         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
30513         section.
30514         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
30515         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
30516         the new section.
30517         (Support for obsolete systems lacking POSIX:2001): New section.
30518         (String handling <string.h>): Move strdup to the new section.
30519         Suggested by Simon Josefsson and Paolo Bonzini.
30520
30521 2008-09-21  Bruno Haible  <bruno@clisp.org>
30522
30523         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
30524         exponents in %e and %g results on 'long double'. Needed for mingw's
30525         improved *printf functions.
30526         * tests/test-vasprintf-posix.c (test_function): Likewise.
30527         * tests/test-snprintf-posix.h (test_function): Likewise.
30528         * tests/test-sprintf-posix.h (test_function): Likewise.
30529         Reported by Eric Blake.
30530
30531 2008-09-21  Bruno Haible  <bruno@clisp.org>
30532
30533         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
30534         * tests/test-sprintf-posix.h (test_function): Likewise.
30535
30536 2008-09-21  Bruno Haible  <bruno@clisp.org>
30537
30538         * modules/getpass (Depends-on): Add strdup-posix.
30539
30540         New module 'strdup-posix'.
30541         * modules/strdup-posix: New file.
30542         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
30543         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
30544         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
30545         REPLACE_STRDUP.
30546         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
30547         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
30548         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
30549         strdup-posix.
30550
30551         * modules/strdup (Depends-on): Remove malloc-posix.
30552
30553 2008-09-20  Bruno Haible  <bruno@clisp.org>
30554
30555         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
30556         Wildenhues.
30557
30558 2008-09-20  Bruno Haible  <bruno@clisp.org>
30559
30560         Ensure that wint_t gets defined on IRIX 5.3.
30561         * lib/wchar.in.h (wint_t): Define if not defined by the system.
30562         * lib/wctype.in.h (wint_t): Likewise.
30563         (__wctype_wint_t): Remove type.
30564         (isw*): Use wint_t instead of __wctype_wint_t.
30565         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
30566         * modules/wchar (Files): Add m4/wint_t.m4.
30567         (Makefile.am): Substitute HAVE_WINT_T.
30568         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
30569         * tests/test-wctype.c: Check that wint_t is defined.
30570         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
30571         * doc/posix-headers/wctype.texi: Likewise.
30572         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30573
30574 2008-09-18  Bruno Haible  <bruno@clisp.org>
30575
30576         * gnulib-tool (func_exit): Update comment.
30577
30578 2008-09-18  Simon Josefsson  <simon@josefsson.org>
30579
30580         * modules/getaddrinfo (Depends-on): Remove strdup, this module
30581         assumes strdup exists and does not depend on strdup to return
30582         ENOMEM on out of memory conditions.
30583
30584 2008-09-18  Bruno Haible  <bruno@clisp.org>
30585
30586         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
30587         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
30588         digits for the exponent.
30589
30590 2008-09-18  Jim Meyering  <meyering@redhat.com>
30591             Bruno Haible  <bruno@clisp.org>
30592
30593         * lib/vasnprintf.c (decimal_point_char): Define also if
30594         NEED_PRINTF_INFINITE_LONG_DOUBLE.
30595
30596 2008-09-16  Bruno Haible  <bruno@clisp.org>
30597         and Eric Blake  <ebb9@byu.net>
30598
30599         vasnprintf: support Irix 5.3
30600         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
30601         that mishandle long double infinity.
30602         Reported by Tom G. Christensen.
30603
30604 2008-09-16  Bruno Haible  <bruno@clisp.org>
30605
30606         * doc/glibc-functions/scandir.texi: Mention the function is missing on
30607         Solaris 9.
30608         * doc/glibc-functions/alphasort.texi: Likewise.
30609         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
30610
30611 2008-09-16  Jim Meyering  <meyering@redhat.com>
30612
30613         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
30614         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
30615         a umask modification leak out of a subshell.  Otherwise, the
30616         opensolaris /bin/sh would be accepted and thus cause unwarranted
30617         failures in the coreutils test suite.
30618
30619 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
30620
30621         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
30622         to succeed.
30623
30624 2008-09-16  Jim Meyering  <meyering@redhat.com>
30625
30626         avoid spurious test failure when library is built without ACL support
30627         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
30628         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
30629         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
30630         * tests/test-copy-acl.sh: Likewise.
30631
30632 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30633
30634         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
30635         based on character occurrence counts.
30636
30637 2008-09-15  Eric Blake  <ebb9@byu.net>
30638
30639         tests: avoid some compiler warnings
30640         * tests/test-memchr.c (main): Pass NULL indirectly.
30641         * tests/test-closein.c (main): Avoid unused variable.
30642
30643 2008-09-15  Bruno Haible  <bruno@clisp.org>
30644
30645         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
30646         are missing on OpenBSD 4.0 individually.
30647         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
30648
30649 2008-09-15  Bruno Haible  <bruno@clisp.org>
30650
30651         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
30652         * doc/posix-functions/strerror.texi: Mention also Cygwin.
30653         * doc/posix-functions/perror.texi: Likewise.
30654         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
30655         is missing.
30656         Reported by Eric Blake.
30657
30658         * lib/errno.in.h: Use replacement values >= 2000.
30659         Reported by Eric Blake.
30660
30661 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30662
30663         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
30664         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
30665         limit.
30666         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
30667         compareseq was aborted.
30668
30669 2008-09-14  Bruno Haible  <bruno@clisp.org>
30670
30671         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
30672         yvec_edit_count.
30673         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
30674         (fstrcmp_bounded): Simplify result computation accordingly.
30675
30676 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30677
30678         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
30679         (fstrcmp): Define in terms of fstrcmp_bounded.
30680         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
30681         lower_bound argument.
30682         Return quickly if the result is certainly < lower_bound.
30683         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
30684
30685 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30686
30687         * lib/diffseq.h (EARLY_ABORT): New macro.
30688         (compareseq): Change return type to bool. Return true when EARLY_ABORT
30689         evaluates to true.
30690
30691 2008-09-14  Bruno Haible  <bruno@clisp.org>
30692
30693         * modules/perror-tests: New file.
30694         * tests/test-perror.sh: New file.
30695         * tests/test-perror.c: New file.
30696
30697         New module 'perror'.
30698         * lib/stdio.in.h (perror): New declaration.
30699         * lib/perror.c: New file.
30700         * m4/perror.m4: New file.
30701         * modules/perror: New file.
30702         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
30703         * doc/posix-functions/perror.texi: Mention the perror module.
30704         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
30705         REPLACE_PERROR.
30706         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
30707         REPLACE_PERROR.
30708
30709 2008-09-14  Bruno Haible  <bruno@clisp.org>
30710
30711         * modules/stdio (Makefile.am): Reorder to match the order in
30712         lib/stdio.in.h.
30713         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
30714
30715 2008-09-13  Bruno Haible  <bruno@clisp.org>
30716
30717         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
30718
30719 2008-09-13  Bruno Haible  <bruno@clisp.org>
30720
30721         Extend strerror to cover the added errno values.
30722         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
30723         (rpl_strerror): Provide error messages for the added errno values and
30724         for the WSA* values.
30725         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
30726         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
30727         strerror.
30728         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
30729         * modules/strerror (Depends-on): Add errno.
30730         * doc/posix-functions/strerror.texi: Document the change.
30731         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
30732         and EOVERFLOW.
30733
30734 2008-09-13  Bruno Haible  <bruno@clisp.org>
30735
30736         * modules/EOVERFLOW: Remove file.
30737         * m4/eoverflow.m4: Remove file.
30738         * modules/EOVERFLOW-tests: Remove file.
30739         * tests/test-EOVERFLOW.c: Remove file.
30740         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
30741         * modules/ftell (Depends-on): Likewise.
30742         * modules/getdelim (Depends-on): Likewise.
30743         * modules/getugroups (Depends-on): Likewise.
30744         * modules/poll (Depends-on): Likewise.
30745         * modules/snprintf (Depends-on): Likewise.
30746         * modules/sprintf-posix (Depends-on): Likewise.
30747         * modules/vasnprintf (Depends-on): Likewise.
30748         * modules/vasprintf (Depends-on): Likewise.
30749         * modules/vfprintf-posix (Depends-on): Likewise.
30750         * modules/vsnprintf (Depends-on): Likewise.
30751         * modules/vsprintf-posix (Depends-on): Likewise.
30752         * modules/xvasprintf (Depends-on): Likewise.
30753         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
30754         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
30755         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
30756         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
30757         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
30758         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
30759         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
30760         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
30761         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
30762         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
30763         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
30764         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
30765         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
30766         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
30767         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
30768         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
30769         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
30770         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
30771         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
30772         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
30773         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
30774         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
30775         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
30776         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
30777         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
30778         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
30779         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
30780         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
30781         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
30782         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
30783         * MODULES.html.sh: Remove EOVERFLOW.
30784         * NEWS: Mention the change.
30785
30786 2008-09-13  Bruno Haible  <bruno@clisp.org>
30787
30788         * modules/errno-tests: New file.
30789         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
30790
30791         * lib/errno.in.h: New file.
30792         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
30793         * modules/errno: New file.
30794         * doc/posix-headers/errno.texi: Update documentation.
30795         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
30796
30797 2008-09-13  Bruno Haible  <bruno@clisp.org>
30798
30799         * tests/test-poll.c: Use #if for native Windows, rather than testing
30800         __MSVCRT__.
30801
30802 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30803             Bruno Haible  <bruno@clisp.org>
30804
30805         * lib/glob.c: Don't include <pwd.h> on native Windows.
30806         (WINDOWS32): New macro.
30807         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
30808
30809 2008-09-13  Bruno Haible  <bruno@clisp.org>
30810
30811         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
30812         (ETIMEDOUT): Remove macro.
30813         (glthread_cond_timedwait_multithreaded): New declaration.
30814         (glthread_cond_timedwait): Use it.
30815         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
30816         (glthread_cond_timedwait_multithreaded): New function.
30817
30818 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
30819
30820         * modules/poll-tests: Do not check for io.h.
30821         * tests/test-poll.c: Check for __MSVCRT__ instead.
30822
30823 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
30824
30825         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
30826         * modules/poll-tests: Add inet_pton, stdbool, sockets.
30827         * tests/test-poll.c: Use them.  Use _pipe on Windows.
30828
30829 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
30830
30831         * modules/poll-tests: New.
30832         * tests/test-poll.c: New.
30833
30834 2008-09-12  Eric Blake  <ebb9@byu.net>
30835
30836         frexp: test for NetBSD failure on -0.0
30837         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
30838         not all, bugs from NetBSD 3.0 have been fixed.
30839         * doc/posix-functions/frexp.texi (frexp): Document bug.
30840         Reported by Thomas Klausner.
30841
30842         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
30843         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
30844         literal -0.0.
30845         Reported by Jonathan C. Patschke <jp@centtech.com>.
30846
30847 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30848
30849         * lib/glthread/cond.h: Use dummy implementation also if
30850         USE_WIN32_THREADS.
30851
30852 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30853
30854         * modules/fnmatch-posix (License): Change to LGPLv2+.
30855         * modules/fnmatch-gnu (License): Likewise.
30856
30857 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
30858
30859         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
30860
30861 2008-09-11  Jim Meyering  <meyering@redhat.com>
30862
30863         * users.txt: Add gtk-vnc.
30864
30865 2008-09-08  Simon Josefsson  <simon@josefsson.org>
30866
30867         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
30868         rotate amounts.
30869
30870         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
30871         required for 16-bit and 8-bit rotates.
30872         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
30873         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
30874         UINT8_MAX instead of hard-coded constants.
30875         Suggested by Paul Eggert.
30876
30877 2008-09-07  Bruno Haible  <bruno@clisp.org>
30878
30879         * tests/test-striconveh.c (main): Check behaviour when converting from
30880         UTF-7.
30881
30882         Make striconveh work better with stateful encodings.
30883         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
30884         that iconv does not increment the inptr when returning -1/EINVAL.
30885
30886 2008-09-07  Bruno Haible  <bruno@clisp.org>
30887
30888         * build-aux/config.rpath: Update according to libtool-2.2.6.
30889         * build-aux/config.libpath: Likewise.
30890
30891 2008-09-06  Bruno Haible  <bruno@clisp.org>
30892
30893         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
30894         * lib/freadptr.c (freadptr): Likewise.
30895         * lib/freadseek.c (freadptrinc): Likewise.
30896         Reported by Simon Josefsson.
30897
30898 2008-09-06  Bruno Haible  <bruno@clisp.org>
30899
30900         * modules/freadptr (License): Change to LGPLv2+.
30901         * modules/freadseek (License): Likewise.
30902         Suggested by Eric Blake.
30903
30904         * modules/memchr2 (License): Change to LGPLv2+.
30905         Approved by Eric Blake.
30906
30907 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30908             Bruno Haible  <bruno@clisp.org>
30909
30910         Make gnulib-tool work with native 'sed' on AIX.
30911         * gnulib-tool (sed_noop): New variable.
30912         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
30913         func_add_or_update, func_create_testdir): Use it to initialize sed
30914         script variables.
30915         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
30916
30917 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
30918             Bruno Haible  <bruno@clisp.org>
30919
30920         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
30921         also works after #include directives.
30922
30923 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
30924
30925         getdate.y: reject an out-of-range timezone value
30926         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
30927         the range [-24...+24].  When specified with only one or two digits,
30928         * tests/test-getdate.c: Tests for the fix.
30929         * doc/getdate.texi: Document this change.
30930
30931 2008-09-03  Bruno Haible  <bruno@clisp.org>
30932
30933         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
30934
30935 2008-09-02  Simon Josefsson  <simon@josefsson.org>
30936
30937         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
30938         <bruce.korb@gmail.com> with ideas from Ben Pfaff
30939         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
30940         Blake <ebb9@byu.net>.
30941
30942         * tests/test-bitrotate.c: Add more test vectors.
30943
30944 2008-09-02  Eric Blake  <ebb9@byu.net>
30945
30946         vasnprintf-posix: handle large precision via %.*d
30947         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
30948         when handling it ourselves.
30949         * tests/test-vasnprintf-posix.c (test_function): Add test.
30950         * tests/test-snprintf-posix.h (test_function): Likewise.
30951         * tests/test-sprintf-posix.h (test_function): Likewise.
30952         * tests/test-vasprintf-posix.c (test_function): Likewise.
30953         Reported by Alain Guibert.
30954
30955 2008-09-01  Eric Blake  <ebb9@byu.net>
30956
30957         c-stack: make configure-time check more robust
30958         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
30959         successful sigaction call.
30960         Reported by Tom G. Christensen.
30961
30962 2008-09-01  Bruno Haible  <bruno@clisp.org>
30963
30964         New module 'findprog-lgpl'.
30965         * modules/findprog-lgpl: New file.
30966         * lib/findprog-lgpl.c: New file.
30967         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
30968         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
30969         to decide whether to use strdup or xstrdup, concatenated_filename or
30970         xconcatenated_filename.
30971
30972 2008-09-01  Bruno Haible  <bruno@clisp.org>
30973
30974         Split module 'concat-filename' into 'concat-filename' (LGPL) and
30975         'xconcat-filename' (GPL).
30976         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
30977         (License): Change to LGPLv2+.
30978         * modules/xconcat-filename: New file.
30979         * lib/concat-filename.h (concatenated_filename): Change specification.
30980         (xconcatenated_filename): New declaration.
30981         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
30982         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
30983         memory situations.
30984         * lib/xconcat-filename.c: New file.
30985         * NEWS: Mention the change.
30986         * lib/findprog.c: Include concat-filename.h, not filename.h.
30987         (find_in_path): Use xconcatenated_filename instead of
30988         concatenated_filename.
30989         * lib/javacomp.c: Include concat-filename.h, not filename.h.
30990         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
30991         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
30992         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
30993         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
30994         instead of concatenated_filename.
30995         * lib/javaexec.c: Include concat-filename.h, not filename.h.
30996         (execute_java_class): Use xconcatenated_filename instead of
30997         concatenated_filename.
30998         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
30999         * modules/javacomp (Depends-on): Likewise.
31000         * modules/javaexec (Depends-on): Likewise.
31001
31002 2008-09-01  Bruno Haible  <bruno@clisp.org>
31003
31004         Split module 'filename' into 'filename' and 'concat-filename'.
31005         * modules/filename: Keep only lib/filename.h.
31006         (License): Change to LGPLv2+.
31007         * modules/concat-filename: New file, extracted from modules/filename.
31008         * lib/filename.h (concatenated_filename): Remove declaration.
31009         * lib/concat-filename.h: New file, extracted from lib/filename.h.
31010         * lib/concat-filename.c: Include concat-filename.h.
31011         * NEWS: Mention the change.
31012
31013 2008-09-01  Simon Josefsson  <simon@josefsson.org>
31014
31015         * lib/bitrotate.h (rotl8, rotr8): Add.
31016
31017         * modules/bitrotate (configure.ac): Need
31018         AC_REQUIRE([AC_C_INLINE]).
31019         (Description): Mention stdint.h.  Reported by Bruno Haible
31020         <bruno@clisp.org>.
31021
31022         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
31023         Paolo Bonzini <bonzini@gnu.org>.
31024
31025 2008-08-31  Bruno Haible  <bruno@clisp.org>
31026
31027         Assume Solaris specific bi-arch conventions on Solaris systems.
31028         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
31029         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
31030         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
31031         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
31032         like acl_libdirstem.
31033         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
31034         acl_libdirstem.
31035         * NEWS: Mention the change.
31036         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
31037
31038 2008-08-31  Jim Meyering  <meyering@redhat.com>
31039
31040         * lib/strftime.h: Add comments describing the two added arguments.
31041
31042         remove duplicate #include directives
31043         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
31044         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
31045
31046 2008-08-31  Bruno Haible  <bruno@clisp.org>
31047
31048         New module 'sigpipe-die'.
31049         * modules/sigpipe-die: New file.
31050         * lib/sigpipe-die.h: New file.
31051         * lib/sigpipe-die.c: New file.
31052         * MODULES.html.sh (Signal handling): Add sigpipe-die.
31053
31054 2008-08-31  Bruno Haible  <bruno@clisp.org>
31055
31056         Don't override previously installed signal handlers.
31057         * lib/fatal-signal.c (saved_sigactions): New variable.
31058         (uninstall_handlers): Reset the signal to the saved handler, not
31059         to SIG_DFL (except when ignored).
31060         (install_handlers): Save the previous handlers.
31061
31062 2008-08-30  Bruno Haible  <bruno@clisp.org>
31063
31064         * gnulib-tool (func_reset_sigpipe): New function.
31065         (func_get_automake_snippet, func_modules_transitive_closure,
31066         func_import): Invoke it before a join command that reads from stdin,
31067         to avoid "echo: write error: Broken pipe" error messages on stderr.
31068         Reported by Sam Steingold <sds@gnu.org>.
31069
31070 2008-08-30  Bruno Haible  <bruno@clisp.org>
31071
31072         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
31073         Code copied from m4/open.m4.
31074         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
31075         access and the filename ends in a slash. Code copied from lib/open.c.
31076         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
31077         * tests/test-fopen.c (main): Check against bug with trailing slash.
31078
31079 2008-08-29  Bruno Haible  <bruno@clisp.org>
31080
31081         Avoid some "gcc -pedantic" warnings.
31082         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
31083         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
31084         * lib/dirent.in.h: Likewise.
31085         * lib/fcntl.in.h: Likewise.
31086         * lib/float.in.h: Likewise.
31087         * lib/iconv.in.h: Likewise.
31088         * lib/inttypes.in.h: Likewise.
31089         * lib/locale.in.h: Likewise.
31090         * lib/math.in.h: Likewise.
31091         * lib/netinet_in.in.h: Likewise.
31092         * lib/search.in.h: Likewise.
31093         * lib/signal.in.h: Likewise.
31094         * lib/stdarg.in.h: Likewise.
31095         * lib/stdint.in.h: Likewise.
31096         * lib/stdio.in.h: Likewise.
31097         * lib/stdlib.in.h: Likewise.
31098         * lib/string.in.h: Likewise.
31099         * lib/strings.in.h: Likewise.
31100         * lib/sys_select.in.h: Likewise.
31101         * lib/sys_socket.in.h: Likewise.
31102         * lib/sys_stat.in.h: Likewise.
31103         * lib/sys_time.in.h: Likewise.
31104         * lib/sysexits.in.h: Likewise.
31105         * lib/time.in.h: Likewise.
31106         * lib/unistd.in.h: Likewise.
31107         * lib/wchar.in.h: Likewise.
31108         * lib/wctype.in.h: Likewise.
31109         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
31110         * modules/fchdir (Makefile.am): Likewise.
31111         * modules/fcntl (Makefile.am): Likewise.
31112         * modules/float (Makefile.am): Likewise.
31113         * modules/iconv_open (Makefile.am): Likewise.
31114         * modules/inttypes (Makefile.am): Likewise.
31115         * modules/locale (Makefile.am): Likewise.
31116         * modules/math (Makefile.am): Likewise.
31117         * modules/netinet_in (Makefile.am): Likewise.
31118         * modules/search (Makefile.am): Likewise.
31119         * modules/signal (Makefile.am): Likewise.
31120         * modules/stdarg (Makefile.am): Likewise.
31121         * modules/stdint (Makefile.am): Likewise.
31122         * modules/stdio (Makefile.am): Likewise.
31123         * modules/stdlib (Makefile.am): Likewise.
31124         * modules/string (Makefile.am): Likewise.
31125         * modules/strings (Makefile.am): Likewise.
31126         * modules/sys_select (Makefile.am): Likewise.
31127         * modules/sys_socket (Makefile.am): Likewise.
31128         * modules/sys_stat (Makefile.am): Likewise.
31129         * modules/sys_time (Makefile.am): Likewise.
31130         * modules/sysexits (Makefile.am): Likewise.
31131         * modules/time (Makefile.am): Likewise.
31132         * modules/unistd (Makefile.am): Likewise.
31133         * modules/wchar (Makefile.am): Likewise.
31134         * modules/wctype (Makefile.am): Likewise.
31135         Reported by Reuben Thomas <rrt@sc3d.org>.
31136
31137 2008-08-29  Bruno Haible  <bruno@clisp.org>
31138
31139         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
31140         any more.
31141
31142 2008-08-29  Simon Josefsson  <simon@josefsson.org>
31143
31144         * MODULES.html.sh (Misc): Add bitrotate.
31145
31146         * modules/bitrotate: New file.
31147
31148         * lib/bitrotate.h: New file.
31149
31150         * modules/bitrotate-tests: New file.
31151
31152         * tests/test-bitrotate.c: New file.
31153
31154         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
31155         on the bitrotate module.
31156
31157         * lib/arctwo.c: Use new bitrotate module.
31158
31159 2008-08-29  Jim Meyering  <meyering@redhat.com>
31160
31161         bootstrap: merge changes from coreutils
31162         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
31163         of copied files.  Remove a kludge, now that this is fixed.
31164         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
31165         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
31166         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
31167
31168 2008-08-29  Bruno Haible  <bruno@clisp.org>
31169
31170         * MODULES.html.sh: Remove --cvs-urls option.
31171
31172 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
31173
31174         maint.mk: adjust to file name change
31175         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
31176
31177 2008-08-28  Jim Meyering  <meyering@redhat.com>
31178
31179         * modules/getndelim2 (License): Relicense to LGPLv2+.
31180         Approved by Richard Stallman for the version of 1995, and by
31181         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
31182
31183 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
31184
31185         * lib/getdelim.c (flockfile, funlockfile): Make all of them
31186         dummy if one is not available.  Do not touch them if
31187         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
31188         (getc_maybe_unlocked): New.
31189         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
31190
31191 2008-08-26  Eric Blake  <ebb9@byu.net>
31192
31193         doc/INSTALL: resync from autoconf
31194         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
31195         (INSTALL_PRELUDE): Delete; this is done more efficiently by
31196         moving...
31197         * install.texi [!autoconf]: ...here.  Resync from autoconf.
31198         * INSTALL: Regenerate.
31199         * INSTALL.ISO: New file.
31200         * INSTALL.UTF-8: Likewise.
31201
31202 2008-08-26  Jim Meyering  <meyering@redhat.com>
31203
31204         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
31205         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
31206         these definitions conditional, so that they may be overridden, too.
31207
31208 2008-08-26  Bruno Haible  <bruno@clisp.org>
31209
31210         Generate INSTALL file variants with prettier quotes.
31211         * doc/Makefile (INSTALL_PRELUDE): New macro.
31212         (INSTALL): Use it.
31213         (INSTALL.ISO, INSTALL.UTF-8): New rules.
31214
31215 2008-08-26  Bruno Haible  <bruno@clisp.org>
31216
31217         Run makeinfo in an English locale.
31218         * doc/Makefile (MAKEINFO): New variable.
31219
31220 2008-08-26  Bruno Haible  <bruno@clisp.org>
31221
31222         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
31223         Suggested by Eric Blake.
31224
31225 2008-08-25  Bruno Haible  <bruno@clisp.org>
31226
31227         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
31228
31229 2008-08-25  Eric Blake  <ebb9@byu.net>
31230
31231         c-stack: test that stack overflow can be caught
31232         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
31233         that platform allows handling stack overflow; at least OS/2 EMX
31234         has sigaltstack, but crashes before transferring control to
31235         handler on stack overflow.
31236         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
31237         check for HAVE_STACK_OVERFLOW_HANDLING.
31238         Reported by Elbert Pol.
31239
31240 2008-08-25  Bruno Haible  <bruno@clisp.org>
31241
31242         * doc/posix-functions/strftime.texi: Fix description of strftime
31243         module.
31244
31245 2008-08-24  Bruno Haible  <bruno@clisp.org>
31246
31247         * tests/uniwidth/test-uc_width2.c: New file.
31248         * tests/uniwidth/test-uc_width2.sh: New file.
31249         * modules/uniwidth/width-tests (Files): Add the new files.
31250         (TESTS): Add uniwidth/test-uc_width2.sh.
31251         (TESTS_ENVIRONMENT): New variable.
31252         (check_PROGRAMS): Add test-uc_width2.
31253         (test_uc_width2_SOURCES): New variable.
31254
31255         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
31256         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
31257         not 0x00AB.
31258         Reported by Alexander V. Lukyanov <lav@netis.ru>.
31259
31260 2008-08-22  Eric Blake  <ebb9@byu.net>
31261
31262         test-lock, test-tls: mention why a test is skipped
31263         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
31264         skipped.
31265         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
31266
31267         count-one-bits: relax license
31268         * modules/count-one-bits (License): Relicense to LGPLv2+.
31269         Suggested by Ludovic Courtès, approved by Ben Pfaff.
31270
31271 2008-08-22  Andreas Schwab  <schwab@suse.de>
31272
31273         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
31274         Remove spurious space in assignment.
31275
31276 2008-08-21  Simon Josefsson  <simon@josefsson.org>
31277
31278         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
31279         Paul Eggert <eggert@CS.UCLA.EDU>.
31280
31281 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
31282
31283         * modules/gettext: Add m4/threadlib.m4.
31284
31285 2008-08-19  Eric Blake  <ebb9@byu.net>
31286
31287         test-c-stack: fix compilation failure on FreeBSD 5.0
31288         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
31289         headers before <sys/resource.h>.
31290         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
31291         the bug.
31292         Reported by Nelson H. F. Beebe.
31293
31294         strverscmp: migrate from "strverscmp.h" to <string.h>
31295         * modules/string (Makefile.am): Add new hooks.
31296         * modules/strverscmp (Files): Remove strverscmp.h.
31297         (Depends-on): Add string.
31298         (configure.ac): Add indicator.
31299         (Include): Mention new header.
31300         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
31301         defaults.
31302         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
31303         results.
31304         * lib/strverscmp.h: Delete.
31305         * lib/string.in.h (strverscmp): Provide declaration, when needed.
31306         * tests/test-strverscmp.c (includes): Adjust client.
31307         * lib/check-version.c (includes): Likewise.
31308         * NEWS: Document the change.
31309
31310         strverscmp: add unit test
31311         * modules/strverscmp-tests: New file.
31312         * tests/test-strverscmp.c: Likewise.
31313
31314 2008-08-19  Simon Josefsson  <simon@josefsson.org>
31315
31316         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
31317         regarding Windows crypto stuff, from Mono.
31318
31319 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
31320
31321         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
31322         if present, for intel RND.  Return error on failures.
31323
31324 2008-08-18  Ben Pfaff  <blp@gnu.org>
31325
31326         gitlog-to-changelog: give better diagnostic for failed pipe-open
31327         * build-aux/gitlog-to-changelog: Improve error message: suggest
31328         that the version of Git may be too old.
31329
31330 2008-08-18  Simon Josefsson  <simon@josefsson.org>
31331
31332         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
31333         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
31334
31335 2008-08-18  Bruno Haible  <bruno@clisp.org>
31336
31337         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
31338         pthread_in_use().
31339
31340 2008-08-18  Bruno Haible  <bruno@clisp.org>
31341
31342         * lib/glthread/threadlib.c: Include <pthread.h>.
31343
31344 2008-08-18  Bruno Haible  <bruno@clisp.org>
31345
31346         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
31347         glthread_recursive_lock_* macros.
31348         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
31349         Fix syntax error.
31350
31351 2008-08-18  Bruno Haible  <bruno@clisp.org>
31352
31353         * lib/glthread/thread.c: Avoid forcing a context switch right after
31354         thread creation.
31355
31356 2008-08-17  Bruno Haible  <bruno@clisp.org>
31357
31358         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
31359         * lib/glthread/thread.h: Provide Win32 specific implementation.
31360         * modules/thread (Files): Add lib/glthread/thread.c.
31361         (Depends-on): Add lock.
31362         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
31363
31364 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31365
31366         New module 'yield'.
31367         * modules/yield: New file.
31368         * lib/glthread/yield.h: New file.
31369         * m4/yield.m4: New file.
31370         * MODULES.html.sh (Multithreading): Add yield.
31371
31372 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31373
31374         New module 'thread'.
31375         * modules/thread: New file.
31376         * lib/glthread/thread.h: New file.
31377         * m4/thread.m4: New file.
31378         * MODULES.html.sh (Multithreading): Add thread.
31379
31380 2008-08-17  Bruno Haible  <bruno@clisp.org>
31381
31382         * lib/glthread/lock.h: Include <stdlib.h> always.
31383         * lib/glthread/tls.h: Likewise.
31384         * lib/glthread/cond.h: Likewise.
31385
31386 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
31387
31388         New module 'cond'.
31389         * modules/cond: New file.
31390         * lib/glthread/cond.h: New file.
31391         * lib/glthread/cond.c: New file.
31392         * m4/cond.m4: New file.
31393         * MODULES.html.sh (Multithreading): Add cond.
31394
31395 2008-08-16  Eric Blake  <ebb9@byu.net>
31396
31397         c-stack: fix regression on Irix 5.3 from 2008-06-21
31398         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
31399         sa_sigaction...
31400         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
31401         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
31402         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
31403         * modules/signal (Makefile.am): Use the value.
31404         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
31405         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
31406         * doc/posix-headers/signal.texi (signal.h): Document this
31407         portability issue.
31408         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
31409         Reported by Tom G. Christensen.
31410
31411 2008-08-17  Bruno Haible  <bruno@clisp.org>
31412
31413         New module 'threadlib'.
31414         * modules/threadlib: New file.
31415         * lib/glthread/threadlib.c: New file, extracted from
31416         lib/glthread/lock.c.
31417         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
31418         functions.
31419         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
31420         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
31421         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
31422         macros.
31423         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
31424         (gl_DISABLE_THREADS): Remove macro.
31425         * modules/lock (Files): Remove build-aux/config.rpath.
31426         (Depends-on): Remove havelib. Add threadlib.
31427         (configure.ac-early): Remove section.
31428         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
31429         * modules/tls (Depends-on): Remove lock. Add threadlib.
31430         (Link): New section, copied from threadlib.
31431         * MODULES.html.sh (Multithreading): Add threadlib.
31432
31433 2008-08-14  Bruno Haible  <bruno@clisp.org>
31434
31435         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
31436         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
31437         glthread_rwlock_unlock, glthread_rwlock_destroy,
31438         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
31439         glthread_recursive_lock_destroy): Define as macros always.
31440         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
31441         glthread_lock_lock.
31442         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
31443         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
31444         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
31445         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
31446         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
31447         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
31448         (glthread_recursive_lock_lock_func): Renamed from
31449         glthread_recursive_lock_lock.
31450         (glthread_recursive_lock_unlock_func): Renamed from
31451         glthread_recursive_lock_unlock.
31452         (glthread_recursive_lock_destroy_func): Renamed from
31453         glthread_recursive_lock_destroy.
31454
31455 2008-08-14  Bruno Haible  <bruno@clisp.org>
31456
31457         * lib/glthread/lock.h: Renamed from lib/lock.h.
31458         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
31459         * lib/glthread/tls.h: Renamed from lib/tls.h.
31460         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
31461         * lib/fstrcmp.c: Update includes.
31462         * lib/strsignal.c: Update includes.
31463         * modules/lock (Files, Makefile.am): Update.
31464         (Include): Change to "glthread/lock.h".
31465         * modules/tls (Files, Makefile.am): Update.
31466         (Include): Change to "glthread/tls.h".
31467         * tests/test-lock.c: Update includes.
31468         * tests/test-tls.c: Update includes.
31469         * NEWS: Mention the renamed header files.
31470
31471 2008-08-11  Jim Meyering  <meyering@redhat.com>
31472
31473         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
31474
31475 2008-08-11  Eric Blake  <ebb9@byu.net>
31476
31477         test-c-stack: avoid C99-ism
31478         * tests/test-c-stack.c (main): Fix whitespace, move declaration
31479         before statement.
31480         Reported by Alain Guibert.
31481
31482 2008-08-10  Jim Meyering  <meyering@redhat.com>
31483
31484         ensure that return value of uinttostr et al are not ignored
31485         * lib/inttostr.h (__GNUC_PREREQ): Define.
31486         (__attribute_warn_unused_result__): Define.
31487         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
31488
31489 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
31490
31491         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
31492         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
31493
31494 2008-08-07  Jim Meyering  <meyering@redhat.com>
31495
31496         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
31497
31498         * modules/mkstemp (License): Relicense under LGPLv2+.
31499         * modules/tempname (License): Likewise.
31500
31501 2008-08-06  Bruno Haible  <bruno@clisp.org>
31502
31503         * lib/poll.c (poll): Further micro-optimization.
31504
31505 2008-08-06  Jim Meyering  <meyering@redhat.com>
31506
31507         inet_pton.c: use locale-independent tolower
31508         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
31509         (inet_pton6): Use c_tolower rather than tolower.
31510         * modules/inet_pton (Depends-on): Add c-ctype.
31511
31512 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
31513
31514         * lib/poll.c (poll): Avoid division when timeout is 0, cache
31515         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
31516
31517 2008-08-06  Jim Meyering  <meyering@redhat.com>
31518
31519         * modules/inet_pton (License): Relicense under LGPLv2+.
31520
31521 2008-08-03  Bruno Haible  <bruno@clisp.org>
31522
31523         Additional non-aborting API for lock and tls.
31524         * lib/lock.h: Include <errno.h>.
31525         (glthread_lock_init): New macro/function.
31526         (gl_lock_init): Define as wrapper around glthread_lock_init.
31527         (glthread_lock_lock): New macro/function.
31528         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
31529         (glthread_lock_unlock): New macro/function.
31530         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
31531         (glthread_lock_destroy): New macro/function.
31532         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
31533         (glthread_rwlock_init): New macro/function.
31534         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
31535         (glthread_rwlock_rdlock): New macro/function.
31536         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
31537         (glthread_rwlock_wrlock): New macro/function.
31538         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
31539         (glthread_rwlock_unlock): New macro/function.
31540         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
31541         (glthread_rwlock_destroy): New macro/function.
31542         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
31543         (glthread_recursive_lock_init): New macro/function.
31544         (gl_recursive_lock_init): Define as wrapper around
31545         glthread_recursive_lock_init.
31546         (glthread_recursive_lock_lock): New macro/function.
31547         (gl_recursive_lock_lock): Define as wrapper around
31548         glthread_recursive_lock_lock.
31549         (glthread_recursive_lock_unlock): New macro/function.
31550         (gl_recursive_lock_unlock): Define as wrapper around
31551         glthread_recursive_lock_unlock.
31552         (glthread_recursive_lock_destroy): New macro/function.
31553         (gl_recursive_lock_destroy): Define as wrapper around
31554         glthread_recursive_lock_destroy.
31555         (glthread_once): New macro/function.
31556         (gl_once): Define as wrapper around glthread_once.
31557         Update function declarations.
31558         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
31559         glthread_rwlock_init. Return error code.
31560         (glthread_rwlock_rdlock_multithreaded): Renamed from
31561         glthread_rwlock_rdlock. Return error code.
31562         (glthread_rwlock_wrlock_multithreaded): Renamed from
31563         glthread_rwlock_wrlock. Return error code.
31564         (glthread_rwlock_unlock_multithreaded): Renamed from
31565         glthread_rwlock_unlock. Return error code.
31566         (glthread_rwlock_destroy_multithreaded): Renamed from
31567         glthread_rwlock_destroy. Return error code.
31568         (glthread_recursive_lock_init_multithreaded): Renamed from
31569         glthread_recursive_lock_init. Return error code.
31570         (glthread_recursive_lock_lock_multithreaded): Renamed from
31571         glthread_recursive_lock_lock. Return error code.
31572         (glthread_recursive_lock_unlock_multithreaded): Renamed from
31573         glthread_recursive_lock_unlock. Return error code.
31574         (glthread_recursive_lock_destroy_multithreaded): Renamed from
31575         glthread_recursive_lock_destroy. Return error code.
31576         (glthread_once_call): Make static.
31577         (glthread_once_multithreaded): Renamed from glthread_once.
31578         * lib/tls.h: Include <errno.h>.
31579         (glthread_tls_key_init): New macro/function.
31580         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
31581         (glthread_tls_set): New macro/function.
31582         (gl_tls_set): Define as wrapper around glthread_tls_set.
31583         (glthread_tls_key_destroy): New macro/function.
31584         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
31585         Update function declarations.
31586         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
31587         glthread_tls_get.
31588         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
31589
31590 2008-08-04  Eric Blake  <ebb9@byu.net>
31591
31592         gnumakefile: use space, not TAB, outside of targets
31593         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
31594
31595 2008-08-02  Jim Meyering  <meyering@redhat.com>
31596
31597         getdate.y: avoid locale-dependent date parsing failure
31598         In Turkish locales, getdate would fail to recognize keywords
31599         containing a lowercase "i".  The solution is not to rely on
31600         locale-sensitive case-conversion.
31601         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
31602         (lookup_word): Use c_toupper in place of toupper.
31603         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
31604         Reported by Vefa Bicakci <bicave@superonline.com> in
31605         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
31606         * modules/getdate (Depends-on): Add c-ctype.
31607
31608 2008-08-02  Bruno Haible  <bruno@clisp.org>
31609
31610         * gnulib-tool (func_import): When updating or creating a .gitignore
31611         file, prepend each added line with a slash, and ignore leading slashes
31612         from the existing lines.
31613         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
31614
31615 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31616
31617         Portability fix for GNU make 3.79.1.
31618         * top/GNUmakefile: Avoid 'else COND', which older GNU make
31619         versions do not understand.
31620
31621 2008-08-01  Bruno Haible  <bruno@clisp.org>
31622
31623         Work around bug of HP-UX 10.20 cc with -0.0 literal.
31624         * tests/test-isnanf.h (zero): New variable.
31625         (main): Avoid literal -0.0f.
31626         * tests/test-isnand.h (zero): New variable.
31627         (main): Avoid literal -0.0.
31628         * tests/test-isnanl.h (zero): New variable.
31629         (main): Avoid literal -0.0L.
31630         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
31631         (test_float, test_double, test_long_double): Avoid literals -0.0f,
31632         -0.0, -0.0L.
31633         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
31634         (test_signbitd): Avoid literal -0.0.
31635         (test_signbitl): Avoid literal -0.0L.
31636         * tests/test-ceilf1.c (zero): New variable.
31637         (main): Avoid literal -0.0f.
31638         * tests/test-ceill.c (zero): New variable.
31639         (main): Avoid literal -0.0L.
31640         * tests/test-floorf1.c (zero): New variable.
31641         (main): Avoid literal -0.0f.
31642         * tests/test-floorl.c (zero): New variable.
31643         (main): Avoid literal -0.0L.
31644         * tests/test-roundf1.c (zero): New variable.
31645         (main): Avoid literal -0.0f.
31646         * tests/test-round1.c (zero): New variable.
31647         (main): Avoid literal -0.0.
31648         * tests/test-roundl.c (zero): New variable.
31649         (main): Avoid literal -0.0L.
31650         * tests/test-truncf1.c (zero): New variable.
31651         (main): Avoid literal -0.0f.
31652         * tests/test-trunc1.c (zero): New variable.
31653         (main): Avoid literal -0.0.
31654         * tests/test-truncl.c (zero): New variable.
31655         (main): Avoid literal -0.0L.
31656         * tests/test-frexp.c (zero): New variable.
31657         (main): Avoid literal -0.0.
31658         * tests/test-frexpl.c (zero): New variable.
31659         (main): Avoid literal -0.0L.
31660         * tests/test-ldexpl.c (zero): New variable.
31661         (main): Avoid literal -0.0L.
31662         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
31663         (zerod, zerol): New variables.
31664         (test_function): Avoid literals -0.0, -0.0L.
31665         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
31666         (zerod, zerol): New variables.
31667         (test_function): Avoid literals -0.0, -0.0L.
31668         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
31669         (zerod, zerol): New variables.
31670         (test_function): Avoid literals -0.0, -0.0L.
31671         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
31672         (zerod, zerol): New variables.
31673         (test_function): Avoid literals -0.0, -0.0L.
31674         * tests/test-strtod.c (zero): New variable.
31675         (main): Avoid literal -0.0.
31676         Reported by Jonathan C. Patschke <jp@centtech.com>.
31677
31678 2008-07-31  Jim Meyering  <meyering@redhat.com>
31679
31680         sha256.h: correct definition of SHA224_DIGEST_SIZE
31681         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
31682         Reported by Paulie Pena IV <paulie4@gmail.com>.
31683         Define as 224 / 8, rather than as a literal.
31684         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
31685         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
31686         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
31687
31688 2008-07-31  Bruno Haible  <bruno@clisp.org>
31689
31690         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
31691         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
31692         Reported by Jonathan Patschke <jp@centtech.com>.
31693
31694 2008-07-31  Bruno Haible  <bruno@clisp.org>
31695
31696         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
31697         Reported by Paolo Bonzini <bonzini@gnu.org>.
31698
31699 2008-07-30  Eric Blake  <ebb9@byu.net>
31700
31701         test-strtod: allow compilation without -lm
31702         * tests/test-strtod.c (main): Avoid link dependence on fabs.
31703         Reported by Dennis Clarke <blastwave@gmail.com>.
31704
31705 2008-07-28  Jim Meyering  <meyering@redhat.com>
31706
31707         bootstrap: work also when there are no .po files in po/
31708         * build-aux/bootstrap (update_po_files): Complete the change
31709         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
31710
31711 2008-07-27  Jim Meyering  <meyering@redhat.com>
31712
31713         * users.txt: Add zile.
31714
31715 2008-07-26  Ben Pfaff  <blp@gnu.org>
31716
31717         Add missing dependencies on new m4/exponent[fdl].m4 files.
31718         * modules/isnanf-nolibm: Add m4/exponentf.m4.
31719         * modules/isnand-nolibm: Add m4/exponentd.m4.
31720         * modules/isnanl-nolibm: Add m4/exponentl.m4.
31721         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
31722         m4/isnan[fdl].m4, because the macros actually used moved.
31723         Reported by Jim Meyering.
31724
31725 2008-07-14  Ben Pfaff  <blp@gnu.org>
31726
31727         Add isinf module.
31728         * lib/isinf.c: New file.
31729         * lib/math.in.h: Define isinf macro if we have decided to replace
31730         it.
31731         * m4/isinf.m4: New file.
31732         * m4/math_h.m4: Initialize and substitute variables for isinf
31733         module.
31734         * modules/isinf: New file.
31735         * modules/isinf-tests: New file.
31736         * modules/math: Add substitutions for new module.
31737         * tests/test-isinf.c: New file.
31738         * doc/posix-functions/isinf.texi: Mention new module.
31739         * MODULES.html.sh: Mention new module.
31740
31741 2008-07-14  Ben Pfaff  <blp@gnu.org>
31742
31743         Factor out some macros for use by additional modules.
31744         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
31745         exponentf.m4.
31746         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
31747         exponentd.m4.
31748         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
31749         file exponentl.m4.
31750         * m4/exponentf.m4: New file.
31751         * m4/exponentd.m4: New file.
31752         * m4/exponentl.m4: New file.
31753         * modules/isnanf: Use new file m4/exponentf.m4.
31754         * modules/isnand: Use new file m4/exponentd.m4.
31755         * modules/isnanl: Use new file m4/exponentl.m4.
31756
31757 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
31758
31759         mktime.c: normalize tp->tm_isdst value to -1/0/1.
31760         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
31761         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
31762         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
31763
31764         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
31765         readlink on platforms without PATH_MAX.
31766
31767 2008-07-21  Eric Blake  <ebb9@byu.net>
31768
31769         Warn, not fail, on stale version.
31770         * top/GNUmakefile (_curr-ver): Tone down previous patch.
31771
31772         Don't allow installation with stale devel version number.
31773         * top/GNUmakefile (_is-install-target): New macro.
31774         (_curr-ver): Forbid installation with stale version number.
31775
31776 2008-07-20  Bruno Haible  <bruno@clisp.org>
31777
31778         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
31779         TESTS_ENVIRONMENT.
31780         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
31781
31782 2008-07-20  Bruno Haible  <bruno@clisp.org>
31783
31784         * lib/c-stack.h (c_stack_action): Add documentation.
31785         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
31786
31787 2008-07-20  Bruno Haible  <bruno@clisp.org>
31788
31789         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
31790         * modules/readlink (License): Likewise.
31791
31792 2008-07-17  Eric Blake  <ebb9@byu.net>
31793
31794         * modules/c-stack (Link): Fix typo.
31795
31796         Make c-stack use libsigsegv, when available.
31797         * modules/c-stack (Depends-on): Add libsigsegv.
31798         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
31799         needed.
31800         * lib/c-stack.c (SIGSTKSZ): Define fallback.
31801         (segv_handler, overflow_handler, c_stack_action)
31802         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
31803         implementation when libsigsegv is available, but only when using
31804         the library is necessary.
31805         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
31806         comment, explaining why XSI check fails on Linux.
31807         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
31808         * tests/test-c-stack2.sh: Tweak skip message.
31809         * NEWS: Document new link-time requirements.
31810
31811 2008-07-16  Eric Blake  <ebb9@byu.net>
31812
31813         c-stack: Expose false positives when not using libsigsegv.
31814         * modules/c-stack-tests (Files): Expand test.
31815         * tests/test-c-stack.c (main): Add means to conditionally trigger
31816         non-overflow SIGSEGV.
31817         * tests/test-c-stack2.sh: New file.
31818
31819 2008-07-14  Bruno Haible  <bruno@clisp.org>
31820
31821         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
31822         Reported by Eric Blake.
31823
31824 2008-07-14  Sam Steingold  <sds@gnu.org>
31825             Bruno Haible  <bruno@clisp.org>
31826
31827         New module libsigsegv.
31828         * modules/libsigsegv: New file.
31829         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
31830         modifications.
31831         * MODULES.html.sh (Signal handling): New section.
31832
31833 2008-07-14  Bruno Haible  <bruno@clisp.org>
31834
31835         * modules/unictype/ctype-* (Description): Add the word "function".
31836         Improves the resulting doc in MODULES.html.
31837
31838 2008-07-12  Ben Pfaff  <blp@gnu.org>
31839
31840         Add longlong module.
31841         * modules/longlong: New file.
31842
31843 2008-07-12  Bruno Haible  <bruno@clisp.org>
31844
31845         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
31846         to empty.
31847
31848 2008-07-10  Ben Pfaff  <blp@gnu.org>
31849
31850         Add isnan module.
31851         * doc/posix-functions/isnan.texi: Mention new module.
31852         * lib/math.in.h: Define isnan macro if we have decided to replace
31853         it.
31854         * m4/isnan.m4: New file.
31855         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
31856         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
31857         also.
31858         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
31859         redundancy.
31860         * m4/math_h.m4: Initialize and substitute variables for isnan
31861         module.
31862         * modules/isnan: New file.
31863         * modules/isnan-tests: New file.
31864         * modules/math: Add substitutions for new module.
31865         * tests/test-isnan.c: New file.
31866         * MODULES.html.sh: Mention new module.
31867
31868 2008-07-10  Ben Pfaff  <blp@gnu.org>
31869
31870         Add isnanf module.
31871         * lib/isnanf.m4: New file.
31872         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
31873         (gl_HAVE_ISNANF_IN_LIBM): New macro.
31874         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
31875         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
31876         * modules/isnanf: New file.
31877         * modules/isnanf-tests: New file.
31878         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
31879         files.
31880         * tests/test-isnanf-nolibm.c: factored most of its contents into
31881         new file tests/test-isnanf.h.
31882         * tests/test-isnanf.h: New file.
31883         * tests/test-isnanf.c: New file.
31884         * MODULES.html.sh: Mention new module.
31885         * doc/glibc-functions/isnanf.texi: Mention new module.
31886
31887 2008-07-10  Ben Pfaff  <blp@gnu.org>
31888
31889         Add isnand module.
31890         * lib/isnand.h: New file.
31891         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
31892         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
31893         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
31894         functionality also.
31895         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
31896         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
31897         (gl_HAVE_ISNAND_IN_LIBM): New macro.
31898         * modules/isnand: New file.
31899         * modules/isnand-tests: New file.
31900         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
31901         files.
31902         * tests/test-isnand-nolibm.c: factored most of its contents into
31903         new file tests/test-isnand.h.
31904         * tests/test-isnand.h: New file.
31905         * tests/test-isnand.c: New file.
31906         * MODULES.html.sh: Mention new module.
31907
31908 2008-07-10  Ben Pfaff  <blp@gnu.org>
31909
31910         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
31911         * lib/isnand.h: Rename lib/isnand-nolibm.h.
31912         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
31913         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
31914         * modules/isnanf-nolibm: Update references to renamed files.
31915         * modules/isnand-nolibm: Likewise.
31916         * modules/isnanf-nolibm-tests: Likewise.
31917         * modules/isnand-nolibm-tests: Likewise.
31918         * lib/frexp.c: Likewise.
31919         * lib/isfinite.c: Likewise.
31920         * lib/signbitd.c: Likewise.
31921         * lib/signbitf.c: Likewise.
31922         * lib/vasnprintf.c: Likewise.
31923         * tests/test-ceilf1.c: Likewise.
31924         * tests/test-ceilf2.c: Likewise.
31925         * tests/test-floorf1.c: Likewise.
31926         * tests/test-floorf2.c: Likewise.
31927         * tests/test-frexp.c: Likewise.
31928         * tests/test-round1.c: Likewise.
31929         * tests/test-round2.c: Likewise.
31930         * tests/test-roundf1.c: Likewise.
31931         * tests/test-strtod.c: Likewise.
31932         * tests/test-trunc1.c: Likewise.
31933         * tests/test-trunc2.c: Likewise.
31934         * tests/test-truncf1.c: Likewise.
31935         * tests/test-truncf2.c: Likewise.
31936         * NEWS: Mention the renamed header files.
31937
31938 2008-07-11  Jim Meyering  <meyering@redhat.com>
31939
31940         vc-list-files: make the last-resort awk code more portable
31941         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
31942         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
31943         does not support it.
31944
31945 2008-07-10  Eric Blake  <ebb9@byu.net>
31946
31947         Work with tar's bootstrap.
31948         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
31949         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
31950         an m4 comment.
31951
31952 2008-07-09  Jim Meyering  <meyering@redhat.com>
31953
31954         posix-shell.m4: fix typo that made this test malfunction
31955         * m4/posix-shell.m4: Remove capitalization in variable name.
31956
31957 2008-07-08  Bruno Haible  <bruno@clisp.org>
31958
31959         * m4/onceonly.m4: Update comments.
31960         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31961
31962 2008-07-04  Jim Meyering  <meyering@redhat.com>
31963
31964         * users.txt: Add vc-dwim.
31965         (bison, coreutils): Use the gitweb URL.
31966
31967 2008-07-03  Jim Meyering  <meyering@redhat.com>
31968
31969         * users.txt: Add libffcall.  From Sam Steingold.
31970
31971 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
31972
31973         getdate.y: do not ignore TZ with relative day, month or year offset
31974         * lib/getdate.y (get_date): Move the tz-handling block to follow the
31975         relative-date-handling, since otherwise, the latter would clobber the
31976         sole output (an updated Start value) of the tz-handling block.
31977         * tests/test-getdate.c: Tests for the fix
31978
31979 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31980
31981         Recognize 'foo_LIBRARIES += libgnu.a'.
31982         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
31983         makefile snippet has already specified an installation location,
31984         also using '+='.
31985
31986 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
31987
31988         getdate.y: factor out common actions
31989         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
31990         Use them in place of open-coded actions.
31991
31992 2008-07-01  Simon Josefsson  <simon@josefsson.org>
31993
31994         Add self-test for getdate module.
31995         * modules/getdate-tests: New file.
31996         * tests/test-getdate.c: New file.
31997
31998 2008-06-29  Bruno Haible  <bruno@clisp.org>
31999
32000         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
32001         .gitignore.
32002         Reported by Sylvain Beucler <beuc@beuc.net>.
32003
32004 2008-06-29  Bruno Haible  <bruno@clisp.org>
32005
32006         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
32007         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
32008
32009 2008-06-29  Bruno Haible  <bruno@clisp.org>
32010
32011         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
32012         EXTRA_DIST.
32013         Reported by Sylvain Beucler <beuc@beuc.net>.
32014
32015 2008-06-26  Jim Meyering  <meyering@redhat.com>
32016
32017         make several modules depend on the "open" module
32018         This provides slightly increased consistency when opening-for-write
32019         the name of a non-directory spelled with a trailing slash.
32020         * modules/chdir-safer: Likewise.
32021         * modules/chown: Likewise.
32022         * modules/clean-temp: Likewise.
32023         * modules/copy-file: Likewise.
32024         * modules/fchdir: Likewise.
32025         * modules/fcntl-safer: Likewise.
32026         * modules/pipe: Likewise.
32027         * modules/utime: Likewise.
32028         Prompted by Eric Blake and Bruno Haible.
32029
32030 2008-06-24  Andreas Schwab  <schwab@suse.de>
32031
32032         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
32033         literals can be used as initializers for global variables.
32034
32035 2008-06-23  Eric Blake  <ebb9@byu.net>
32036
32037         Make gnulib-cache.m4 easier to diff.
32038         * gnulib-tool (func_import): Allow newlines when reading cached
32039         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
32040
32041 2008-06-23  Bruno Haible  <bruno@clisp.org>
32042
32043         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
32044         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
32045         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
32046         m4/signalblocking.m4.
32047         (gl_PREREQ_SIGACTION): Don't invoke it.
32048         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
32049         gl_PREREQ_SIG_HANDLER_H.
32050         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
32051         Don't check for sigaction here.
32052
32053 2008-06-23  Bruno Haible  <bruno@clisp.org>
32054
32055         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
32056         (install_handlers): Don't set the SA_RESETHAND flag.
32057
32058 2008-06-23  Bruno Haible  <bruno@clisp.org>
32059
32060         * m4/sigaction.m4: Comment fixes.
32061         * lib/signal.in.h: Likewise.
32062
32063 2008-06-23  Eric Blake  <ebb9@byu.net>
32064
32065         Fix typo.
32066         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
32067
32068         Avoid SA_ namespace.
32069         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
32070         Reported by Ralf Wildenhues.
32071
32072         Avoid test failure due to SA_RESTORER.
32073         * tests/test-sigaction.c (SA_MASK): New macro.
32074         (main): Avoid failing due to extension flags being set.
32075         Reported by Jim Meyering.
32076
32077         Revert use of sig-handler.h in sigprocmask.c.
32078         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
32079         it requires the existence of struct sigaction.
32080         * lib/sigprocmask.c (handler_t): Restore typedef.
32081         (rpl_signal, old_handlers): Use local type.
32082
32083 2008-06-22  Bruno Haible  <bruno@clisp.org>
32084
32085         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
32086         conditionally.
32087         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
32088
32089 2008-06-22  Bruno Haible  <bruno@clisp.org>
32090
32091         * doc/posix-functions/siginterrupt.texi: Move note.
32092
32093         * lib/signal.in.h (SA_RESTART): New macro.
32094         * lib/sigaction.c: Update comment.
32095
32096         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
32097
32098         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
32099         (gl_PREREQ_SIGPROCMASK): Invoke it.
32100         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
32101
32102         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
32103
32104         * lib/sigprocmask.c: Update a comment.
32105
32106 2008-06-21  Eric Blake  <ebb9@byu.net>
32107
32108         Use sigaction module rather than signal().
32109         * modules/c-stack (Depends-on): Add sigaction.
32110         * modules/fatal-signal (Depends-on): Likewise.
32111         * modules/nanosleep (Depends-on): Likewise.
32112         * modules/sigprocmask (Files): Add sig-handler.h.
32113         * modules/sigaction (Files): Likewise.
32114         * lib/sig-handler.h (get_handler): New file, suggested by Paul
32115         Eggert.
32116         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
32117         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
32118         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
32119         (init_fatal_signals): Likewise.
32120         * lib/nanosleep.c (rpl_nanosleep): Likewise.
32121         (siginterrupt): Delete fallback.
32122         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
32123         instead.
32124         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
32125         siginterrupt.
32126
32127         New module sigaction, for mingw.
32128         * modules/sigaction: New module...
32129         * modules/sigaction-tests: ...and its test.
32130         * m4/sigaction.m4: New file.
32131         * lib/sigaction.c: Likewise.
32132         * tests/test-sigaction.c: Likewise.
32133         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
32134         * modules/signal (Makefile.am): Likewise.
32135         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
32136         needed.
32137         * doc/posix-headers/signal.texi (signal.h): Mention provided
32138         types.
32139         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
32140         that sigaction is preferable.
32141         * doc/posix-functions/sigaction.texi (sigaction): Mention new
32142         module.
32143         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
32144         sigaction.
32145
32146         Improve robustness of sigprocmask by overriding signal.
32147         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
32148         is in use.
32149         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
32150         (SIGKILL, SIGSTOP): Provide fallbacks.
32151         (rpl_signal): Implement.
32152         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
32153         signal can be called inside handlers.
32154
32155         Fix nanosleep module on mingw.
32156         * modules/nanosleep (Depends-on): Add sys_select.
32157         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
32158
32159         Fix licensing of sigprocmask.
32160         * modules/raise (License): Relicense as LGPL.
32161
32162 2008-06-21  Bruno Haible  <bruno@clisp.org>
32163
32164         * lib/propername.c (proper_name_utf8): Don't use the transliterated
32165         result if it contains question marks.
32166         Reported by Michael Geng <linux@michaelgeng.de>.
32167
32168 2008-06-19  Bruno Haible  <bruno@clisp.org>
32169
32170         Fix CVS-ism.
32171         * doc/gnulib.texi: Include updated-stamp.texi.
32172         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
32173         (updated-stamp.texi): New rule.
32174         (gnulib.info): Depend on it.
32175         * doc/.gitignore: Add updated-stamp.texi.
32176         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
32177
32178 2008-06-19  Bruno Haible  <bruno@clisp.org>
32179
32180         * doc/Makefile (gnulib.info): Update and simplify dependencies.
32181         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32182
32183 2008-06-19  Eric Blake  <ebb9@byu.net>
32184
32185         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
32186         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
32187         Reported by Stepan Kasal.
32188
32189 2008-06-18  Bruno Haible  <bruno@clisp.org>
32190
32191         * lib/fatal-signal.c (init_fatal_signals): Add comment.
32192         Reported by Eric Blake.
32193
32194 2008-06-18  Eric Blake  <ebb9@byu.net>
32195
32196         Work around cygwin 1.5.25 strsignal bug.
32197         * tests/test-strsignal.c: Allow for const char *.
32198         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
32199
32200 2008-06-18  Simon Josefsson  <simon@josefsson.org>
32201
32202         * users.txt: Update URL to article and add author/date
32203         information.
32204
32205 2008-06-17  Bruno Haible  <bruno@clisp.org>
32206
32207         New macro gl_DISABLE_THREADS.
32208         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
32209         if the user did not pass --enable-threads or --disable-threads option.
32210         (gl_DISABLE_THREADS): New macro.
32211         Reported by Eric Blake <ebb9@byu.net>.
32212
32213 2008-06-17  Bruno Haible  <bruno@clisp.org>
32214
32215         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
32216         when the macro ignores it.
32217         Based on a patch by Eric Blake <ebb9@byu.net>.
32218
32219 2008-06-17  Bruno Haible  <bruno@clisp.org>
32220
32221         * modules/tls (License): Change to LGPLv2+.
32222         Reported by Eric Blake.
32223
32224 2008-06-17  Eric Blake  <ebb9@byu.net>
32225
32226         Simplify c-stack prerequisites.
32227         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
32228         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
32229         no longer requires <ucontext.h> to exist.  Optimize setrlimit
32230         check.
32231         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
32232         <sys/resource.h>.
32233
32234         Move c-stack test into testsuite.
32235         * modules/c-stack-tests: New file.
32236         * lib/c-stack.c [DEBUG]: Move test program...
32237         * tests/test-c-stack.c: ...into this new file.  Skip rather than
32238         fail test if sigaltstack is lacking.
32239         * tests/test-c-stack.sh: New driver file.
32240
32241 2008-06-16  Eric Blake  <ebb9@byu.net>
32242
32243         Use raise module consistently.
32244         * modules/fatal-signal (Depends-on): Add raise.
32245         * modules/sigprocmask (Depends-on): Likewise.
32246         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
32247         * lib/sigprocmask.c (sigprocmask): Likewise.
32248         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
32249         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
32250
32251         Fix compliance bug in sigpending.
32252         * lib/sigprocmask.c (sigpending): Return pending array via
32253         parameter, not return value.
32254
32255 2008-06-14  Eric Blake  <ebb9@byu.net>
32256
32257         Improve obstack-printf test code.
32258         * tests/test-obstack-printf.c (test_function): Fix comment, and
32259         simplify usage of obstack_* in macros.  Add a test for coverage.
32260         Reported by Bruno Haible.
32261
32262 2008-06-14  Bruno Haible  <bruno@clisp.org>
32263
32264         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
32265         array size as a constant, not as a const variable.
32266         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
32267         AC_USE_SYSTEM_EXTENSIONS.
32268         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
32269         Test whether the obstack_printf function actually exists.
32270         * modules/obstack-printf (Depends-on): Add extensions.
32271         (Include): Remove obstack.h.
32272         * modules/obstack-printf-posix (Depends-on): Add extensions.
32273         (Include): Remove obstack.h.
32274
32275 2008-06-13  Eric Blake  <ebb9@byu.net>
32276
32277         Add obstack-printf and obstack-printf-posix modules.
32278         * modules/obstack-printf: New file.
32279         * modules/obstack-printf-posix: Likewise.
32280         * MODULES.html.sh (Misc): Mention them.
32281         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
32282         Likewise.
32283         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
32284         Likewise.
32285         * modules/stdio (Makefile.am): Accomodate new modules.
32286         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
32287         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
32288         Declare.
32289         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
32290         functions.
32291         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
32292         (gl_REPLACE_OBSTACK_PRINTF): New macros
32293         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
32294         * tests/test-obstack-printf.c: New file.
32295         * modules/obstack-printf-tests: Likewise.
32296         * modules/obstack-printf-posix-tests: Likewise.
32297
32298 2008-06-11  Bruno Haible  <bruno@clisp.org>
32299
32300         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
32301         * lib/open.c: Include errno.h.
32302         (open): Fail when attempting to write to a file that has a trailing
32303         slash.
32304         * tests/test-open.c (main): Test against trailing slash bug.
32305         * doc/posix-functions/open.texi: Mention the trailing slash bug.
32306
32307 2008-06-10  Bruno Haible  <bruno@clisp.org>
32308
32309         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
32310         for $? to work inside the trap command, with various /bin/sh-s.
32311         * tests/test-vc-list-files-cvs.sh: Likewise.
32312
32313 2008-06-10  Bruno Haible  <bruno@clisp.org>
32314
32315         * lib/acl-internal.h: Don't include gettext.h here.
32316         * lib/set-mode-acl.c: Include gettext.h here.
32317         * lib/copy-acl.c: Likewise.
32318
32319 2008-06-10  Bruno Haible  <bruno@clisp.org>
32320
32321         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
32322         * lib/wait-process.c (wait_subprocess): Likewise.
32323         * lib/execute.h (execute): Add termsigp argument.
32324         * lib/execute.c (execute): Likewise.
32325         * lib/csharpcomp.c (compile_csharp_using_pnet,
32326         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
32327         * lib/csharpexec.c (execute_csharp_using_pnet,
32328         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
32329         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
32330         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
32331         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
32332         is_jikes_present): Update.
32333         * lib/javaexec.c (execute_java_class): Update.
32334         * lib/javaversion.c (execute_and_read_line): Update.
32335         * NEWS: Document the changes.
32336         Reported by Eric Blake.
32337
32338 2008-06-10  Eric Blake  <ebb9@byu.net>
32339
32340         Add missing include.
32341         * tests/test-strstr.c (includes): Add <signal.h>.
32342         * tests/test-strcasestr.c (includes): Likewise.
32343         * tests/test-memmem.c (includes): Likewise.
32344
32345 2008-06-10  Bruno Haible  <bruno@clisp.org>
32346
32347         * lib/wait-process.c (wait_subprocess): Add an assertion.
32348
32349 2008-06-10  Bruno Haible  <bruno@clisp.org>
32350
32351         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
32352
32353 2008-06-10  Bruno Haible  <bruno@clisp.org>
32354
32355         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
32356         using alarm().
32357         * tests/test-strcasestr.c (main): Likewise.
32358         * tests/test-strstr.c (main): Likewise.
32359
32360 2008-06-09  Bruno Haible  <bruno@clisp.org>
32361
32362         Work around the Solaris 10 ACE ACLs ABI change.
32363         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
32364         declare if ACL_NO_TRIVIAL is present.
32365         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
32366         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
32367         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
32368         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
32369         define if ACL_NO_TRIVIAL is present.
32370         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
32371         and use the current ABI.
32372         (file_has_acl): Use same #if condition as elsewhere.
32373         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
32374         in use, and use the current ABI.
32375         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
32376         Reported by Jim Meyering.
32377
32378 2008-06-09  Eric Blake  <ebb9@byu.net>
32379
32380         Work around environments that (stupidly) ignore SIGALRM.
32381         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
32382         before using alarm().
32383         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
32384         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
32385         Reported by Ian Beckwith <ianb@erislabs.net>.
32386
32387         Produce autobuild blurb earlier in log.
32388         * modules/autobuild (configure.ac-early): Move AB_INIT here.
32389
32390 2008-06-09  Jim Meyering  <meyering@redhat.com>
32391         and Ondřej Vašík  <ovasik@redhat.com>
32392
32393         utimens.c: correct kernel bug work-around
32394         Ondřej Vašík found that the invalid return value of 280 indicates
32395         failure, not success, and the kernel bug we're trying to work
32396         around affects not just the utimensat call, but also the fallback
32397         futimens call.
32398         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
32399         not success.
32400         [HAVE_FUTIMENS]: Use the same work-around, here.
32401
32402 2008-06-09  Jim Meyering  <meyering@redhat.com>
32403
32404         add more guards around definition of ACE_-related code
32405         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
32406         ALLOW and ACE_OWNER are also defined.
32407
32408 2008-06-08  Bruno Haible  <bruno@clisp.org>
32409
32410         * lib/acl-internal.h: Add me as co-author.
32411         * lib/file-has-acl.c: Likewise.
32412         * lib/set-mode-acl.c: Likewise.
32413         * lib/copy-acl.c: Likewise.
32414
32415 2008-06-08  Bruno Haible  <bruno@clisp.org>
32416
32417         Add support for AIX ACLs.
32418         * lib/acl-internal.h (acl_nontrivial): New declaration.
32419         * lib/file-has-acl.c (acl_nontrivial): New function.
32420         (file_has_acl): Add implementation using AIX 4 ACL API.
32421         * lib/set-mode-acl.c (qset_acl): Likewise.
32422         * lib/copy-acl.c (qcopy_acl): Likewise.
32423
32424 2008-06-08  Bruno Haible  <bruno@clisp.org>
32425
32426         Add support for HP-UX ACLs.
32427         * lib/acl-internal.h (acl_nontrivial): New declaration.
32428         * lib/file-has-acl.c (acl_nontrivial): New function.
32429         (file_has_acl): Add implementation using HP-UX 11 ACL API.
32430         * lib/set-mode-acl.c (qset_acl): Likewise.
32431         * lib/copy-acl.c (qcopy_acl): Likewise.
32432
32433 2008-06-08  Bruno Haible  <bruno@clisp.org>
32434
32435         Add support for Cygwin ACLs.
32436         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
32437         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
32438         the chmod_or_fchmod call.
32439         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
32440
32441 2008-06-08  Bruno Haible  <bruno@clisp.org>
32442
32443         Fix bug with setuid modes in Solaris 10+ code.
32444         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
32445         succeeded, when the mode contains some special bits.
32446
32447 2008-06-08  Bruno Haible  <bruno@clisp.org>
32448
32449         Add support for Solaris 7..10 ACLs.
32450         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
32451         declarations.
32452         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
32453         functions.
32454         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
32455         * lib/set-mode-acl.c (qset_acl): Likewise.
32456         * lib/copy-acl.c (qcopy_acl): Likewise.
32457
32458 2008-06-08  Bruno Haible  <bruno@clisp.org>
32459
32460         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
32461         declaration.
32462         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
32463         (acl_access_nontrivial): Remove MacOS X case.
32464         (file_has_acl): Use acl_extended_nontrivial.
32465         * lib/copy-acl.c (qcopy_acl): Likewise.
32466
32467 2008-06-08  Bruno Haible  <bruno@clisp.org>
32468
32469         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
32470
32471 2008-06-08  Jim Meyering  <meyering@redhat.com>
32472
32473         * modules/acl (Maintainer): Add Bruno Haible.
32474
32475 2008-06-07  Bruno Haible  <bruno@clisp.org>
32476
32477         Improve support for Tru64 ACLs.
32478         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
32479         ACL on OSF/1.
32480
32481 2008-06-07  Bruno Haible  <bruno@clisp.org>
32482
32483         Add support for MacOS X ACLs.
32484         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
32485         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
32486         * lib/set-mode-acl.c (qset_acl): Likewise.
32487         * lib/copy-acl.c (qcopy_acl): Likewise.
32488
32489 2008-06-07  Bruno Haible  <bruno@clisp.org>
32490
32491         Fix memory leak introduced on 2008-05-22.
32492         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
32493         use.
32494
32495 2008-06-07  Bruno Haible  <bruno@clisp.org>
32496
32497         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
32498         to construct an empty ACL.
32499
32500 2008-06-07  Bruno Haible  <bruno@clisp.org>
32501
32502         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
32503         precisely.
32504         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
32505
32506 2008-06-07  Bruno Haible  <bruno@clisp.org>
32507
32508         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
32509         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
32510
32511 2008-06-07  Bruno Haible  <bruno@clisp.org>
32512
32513         * doc/posix-functions/_setjmp.texi: Explain the use of this function
32514         regardless of POSIX.
32515         * doc/posix-functions/_longjmp.texi: Likewise.
32516         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
32517         SystemV platform in this case.
32518
32519 2008-06-06  Eric Blake  <ebb9@byu.net>
32520
32521         Document abort() bugs.
32522         * doc/posix-functions/abort.texi (abort): Mention anomalies.
32523
32524         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
32525         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
32526         sigsetjmp.
32527         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
32528         siglongjmp, but only as a macro.
32529         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
32530         is obsolete.
32531         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
32532
32533         Tweak documentation to cover cygwin argz bugs.
32534         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
32535         argz bug fix; no code change needed since no cygwin releases
32536         occurred between the last fix and the bug being tested.
32537         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
32538         module and recently fixed cygwin bugs.
32539         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
32540         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
32541         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
32542         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
32543         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
32544         Likewise.
32545         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
32546         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
32547         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
32548         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
32549         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
32550         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
32551         Likewise.
32552
32553         Avoid gcc warning on cygwin.
32554         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
32555         !ACL_NO_TRIVIAL]: Avoid unused variable.
32556
32557 2008-06-05  Eric Blake  <ebb9@byu.net>
32558
32559         Be tolerant of UNKNOWN version in gnulib-tool test dir.
32560         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
32561         git-version-gen fails to come up with a version.
32562         Reported by Simon Josefsson.
32563
32564 2008-06-05  Jim Meyering  <meyering@redhat.com>
32565             Paul Eggert  <eggert@cs.ucla.edu>
32566
32567         utimens.c: work around a probable Linux kernel bug
32568         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
32569         appears to be a kernel bug that causes utimensat to return 280
32570         instead of 0, indicating success.
32571
32572 2008-06-04  Bruno Haible  <bruno@clisp.org>
32573
32574         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
32575         2008-06-01 commit.
32576
32577 2008-06-04  Bruno Haible  <bruno@clisp.org>
32578
32579         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
32580         * lib/file-has-acl.c (acl_access_nontrivial): New function.
32581         (file_has_acl): Use it. Save errno afterwards.
32582         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
32583
32584 2008-06-03  Bruno Haible  <bruno@clisp.org>
32585
32586         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
32587         draft code. Simplify #ifs.
32588         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
32589         Put Solaris code after POSIX-draft code. Fix comments regarding
32590         Solaris 10, HP-UX. Mention Cygwin.
32591         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
32592
32593 2008-06-03  Eric Blake  <ebb9@byu.net>
32594
32595         Provide fallback for older kernels.
32596         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
32597         Provide runtime fallback if kernel lacks support.
32598         Reported by Mike Frysinger.
32599
32600 2008-06-02  Bruno Haible  <bruno@clisp.org>
32601
32602         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
32603         it exists.
32604
32605 2008-06-02  Bruno Haible  <bruno@clisp.org>
32606
32607         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
32608         * lib/copy-acl.c (qcopy_acl): Update comment.
32609
32610 2008-06-02  Bruno Haible  <bruno@clisp.org>
32611
32612         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
32613         like ACL APIs.
32614
32615 2008-06-02  Bruno Haible  <bruno@clisp.org>
32616
32617         * tests/test-file-has-acl.sh: Use different code for Cygwin.
32618         * tests/test-set-mode-acl.sh: Likewise.
32619         * tests/test-copy-acl.sh: Likewise.
32620         * tests/test-copy-file.sh: Likewise.
32621
32622 2008-06-02  Bruno Haible  <bruno@clisp.org>
32623
32624         * tests/test-file-has-acl.sh: Remove unused code.
32625
32626 2008-06-01  Bruno Haible  <bruno@clisp.org>
32627
32628         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
32629         (copy_acl): Just a wrapper around qcopy_acl that emits the error
32630         messages.
32631         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
32632
32633 2008-06-01  Bruno Haible  <bruno@clisp.org>
32634
32635         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
32636         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
32637         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
32638         APIs.
32639         * modules/acl-tests (configure.ac): Remove tests now contained in
32640         m4/acl.m4.
32641
32642 2008-06-02  Jim Meyering  <meyering@redhat.com>
32643
32644         announce-gen: use a better key-server host name
32645         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
32646         it may be more consistently reliable.  Suggested by Werner Koch
32647         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
32648
32649 2008-06-01  Bruno Haible  <bruno@clisp.org>
32650
32651         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
32652         Reported by Voroskoi Andras <voroskoi@gmail.com>.
32653
32654 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
32655
32656         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
32657
32658 2008-06-01  Bruno Haible  <bruno@clisp.org>
32659
32660         New ACL tests.
32661         * tests/test-file-has-acl.sh: New file.
32662         * tests/test-file-has-acl.c: New file.
32663         * tests/test-set-mode-acl.sh: New file.
32664         * tests/test-set-mode-acl.c: New file.
32665         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
32666         * tests/test-copy-acl.c: New file.
32667         * modules/acl-tests: New file, based on modules/copy-file-tests.
32668         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
32669         (Depends-on): Add acl-tests.
32670         (configure.ac): Remove checks.
32671         (Makefile.am): Don't create test-sameacls program here any more.
32672
32673 2008-06-01  Bruno Haible  <bruno@clisp.org>
32674
32675         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
32676         * tests/test-sameacls.c: Include progname.h.
32677         (main): Invoke set_program_name. Portability fixes for MacOS X,
32678         Solaris, HP-UX.
32679
32680 2008-06-01  Bruno Haible  <bruno@clisp.org>
32681
32682         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
32683         function.
32684         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
32685
32686 2008-06-01  Bruno Haible  <bruno@clisp.org>
32687
32688         * modules/rpmatch (Depends-on): Add strdup.
32689
32690 2008-06-01  Bruno Haible  <bruno@clisp.org>
32691
32692         * lib/pipe.c: Include unistd-safer.h.
32693         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
32694         * modules/pipe (Depends-on): Add unistd-safer.
32695
32696 2008-05-30  Simon Josefsson  <simon@josefsson.org>
32697
32698         * modules/autobuild (configure.ac): Call AB_INIT.
32699
32700 2008-05-30  Simon Josefsson  <simon@josefsson.org>
32701
32702         * tests/test-getaddrinfo.c: Don't print debug messages by default.
32703         Suggested by Bruno Haible <bruno@clisp.org>.
32704
32705 2008-05-30  Simon Josefsson  <simon@josefsson.org>
32706
32707         * tests/test-base64.c: Cast size_t to unsigned long when invoking
32708         printf.  Use %lu instead of %d.  Reported by Bruno Haible
32709         <bruno@clisp.org>.
32710
32711 2008-05-29  Eric Blake  <ebb9@byu.net>
32712
32713         Prefer new POSIX 200x interfaces over futimesat.
32714         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
32715         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
32716         when available.
32717         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
32718
32719 2008-05-28  Bruno Haible  <bruno@clisp.org>
32720
32721         * modules/stpcpy (License): Change to LGPLv2+.
32722         Requested by David Lutterkort <dlutter@redhat.com>.
32723
32724 2008-05-27  Bruno Haible  <bruno@clisp.org>
32725
32726         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
32727         current mingw.
32728         Reported by Jose E. Marchesi <jemarch@gnu.org>.
32729
32730 2008-05-27  Bruno Haible  <bruno@clisp.org>
32731
32732         * modules/iconv_open (Link): New section, from module 'iconv'.
32733         * modules/striconv (Link): Likewise.
32734         * modules/striconveh (Link): Likewise.
32735         * modules/xstriconv (Link): Likewise.
32736         * modules/unicodeio (Link): Likewise.
32737         * modules/propername (Link): Likewise.
32738         Reported by Jim Meyering.
32739
32740 2008-05-26  Jim Meyering  <meyering@redhat.com>
32741
32742         sha256: do not artificially restrict buffer length to be < 2^32
32743         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
32744         uint32_t to size_t.
32745         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
32746         to match.
32747
32748         avoid unaligned access errors, e.g., on sparc
32749         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
32750         direct access through a possibly-unaligned uint64* pointer.
32751         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
32752         direct access through a possibly-unaligned uint32* pointer.
32753         Prompted by this patch from Tom "spot" Callaway:
32754         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
32755
32756         sha512.c: fix typo in comment
32757         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
32758
32759 2008-05-25  Bruno Haible  <bruno@clisp.org>
32760
32761         * lib/set-mode-acl.c: Renamed from lib/acl.c.
32762         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
32763         (Makefile.am): Update lib_SOURCES.
32764
32765 2008-05-25  Bruno Haible  <bruno@clisp.org>
32766
32767         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
32768
32769 2008-05-25  Jim Meyering  <meyering@redhat.com>
32770
32771         useless-if-before-free: freed expr may have white-space differences
32772         * build-aux/useless-if-before-free: Recognize cases in which the
32773         freed expression differs from the tested one in embedded white
32774         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
32775         $1 was used, so we can't make any regexp shy.  Improved tests now
32776         detect this.
32777
32778         useless-if-before-free: accept white space in the expression.
32779         * build-aux/useless-if-before-free: For now, any white space
32780         in the expression must be identical in the free argument.
32781
32782         useless-if-before-free: efficiency tweak
32783         * build-aux/useless-if-before-free: Make the expression-matching
32784         regexp "shy".
32785         Make the *outer* regexp shy, not the expr-matching one.
32786
32787         update code-in-comment to accept cast of free arg
32788         * build-aux/useless-if-before-free: Update regexp.
32789
32790 2008-05-25  Bruno Haible  <bruno@clisp.org>
32791
32792         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
32793         * modules/copy-file-tests (Files, Makefile.am): Update.
32794         * tests/test-copy-file.c (func_test_copy): Update.
32795
32796 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
32797
32798         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
32799
32800 2008-05-23  Bruno Haible  <bruno@clisp.org>
32801
32802         Improve support for ACLs on OSF/1.
32803         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
32804         Remove fallback for unknown flavors of ACLs.
32805
32806 2008-05-22  Bruno Haible  <bruno@clisp.org>
32807
32808         Add support for ACLs on OSF/1.
32809         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
32810         replacements.
32811         (acl_free_text): New macro fallback.
32812         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
32813         acl_free.
32814         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
32815         acl_free_text function. Require AC_C_INLINE.
32816
32817 2008-05-22  Bruno Haible  <bruno@clisp.org>
32818
32819         Make copy_acl work on MacOS X 10.5.
32820         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
32821         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
32822         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
32823         If MODE_INSIDE_ACL, don't assume that every system has the same text
32824         representation for ACLs as FreeBSD.
32825         * lib/copy-acl.c (copy_acl): Add support for platforms with
32826         !MODE_INSIDE_ACL.
32827         * lib/file-has-acl.c (file_has_acl): Likewise.
32828         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
32829         FreeBSD, MacOS X, or IRIX, respectively.
32830
32831 2008-05-22  Bruno Haible  <bruno@clisp.org>
32832
32833         * lib/acl.h: Don't include <sys/acl.h>.
32834         (GETACLCNT): Move fallback to lib/acl-internal.h.
32835         * lib/acl-internal.h: Include <sys/acl.h> here.
32836         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
32837
32838 2008-05-22  Bruno Haible  <bruno@clisp.org>
32839
32840         Split off copy_acl function to separate file.
32841         * lib/copy-acl.c: New file, extracted from lib/acl.c.
32842         * lib/acl.c (copy_acl): Moved function to separate file.
32843         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
32844         * modules/acl (Files): Add lib/copy-acl.c.
32845         (Makefiles.am): Augment lib_SOURCES.
32846
32847 2008-05-22  Bruno Haible  <bruno@clisp.org>
32848
32849         * modules/copy-file-tests: New file.
32850         * tests/test-copy-file.sh: New file.
32851         * tests/test-copy-file.c: New file.
32852         * tests/test-copy-file-sameacls.c: New file.
32853
32854 2008-05-22  Eric Blake  <ebb9@byu.net>
32855
32856         Avoid gcc warning.
32857         * tests/test-memcmp.c (main): Pass NULL indirectly.
32858
32859 2008-05-21  Bruno Haible  <bruno@clisp.org>
32860
32861         Add reference doc about ACLs.
32862         * doc/acl-resources.txt: New file.
32863         * doc/acl-cygwin.txt: New file.
32864
32865 2008-05-21  Bruno Haible  <bruno@clisp.org>
32866
32867         Avoid one more warning from gcc.
32868         * lib/vasnprintf.c (IF_LINT): Update comments.
32869         (VASNPRINTF): Use it also for the 'prefix' array initializer.
32870
32871 2008-05-21  Jim Meyering  <meyering@redhat.com>
32872
32873         avoid a warning from gcc
32874         * lib/vasnprintf.c (IF_LINT): Define.
32875         (scale10_round_decimal_long_double):
32876         Use it to avoid a "may be used uninitialized" warning.
32877         (scale10_round_decimal_double): Likewise.
32878
32879 2008-05-21  Simon Josefsson  <simon@josefsson.org>
32880
32881         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
32882         declared.
32883
32884 2008-05-20  Bruno Haible  <bruno@clisp.org>
32885
32886         * tests/test-memcmp.c (main): Test also the sign of the result. Test
32887         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
32888
32889 2008-05-20  Simon Josefsson  <simon@josefsson.org>
32890
32891         * modules/memcmp-tests: New file.
32892         * tests/test-memcmp.c: New file.
32893
32894 2008-05-19  Bruno Haible  <bruno@clisp.org>
32895
32896         * modules/propername (Notice, configure.ac): Put quoted "..." into
32897         --keyword option.
32898         * lib/propername.h: Update comments accordingly.
32899         Reported by Eric Blake.
32900
32901 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
32902
32903         * modules/getpass-gnu (Depends-on): Add fseeko.
32904
32905 2008-05-19  Simon Josefsson  <simon@josefsson.org>
32906
32907         * modules/base64-tests: New file.
32908
32909 2008-05-19  Bo Borgerson <gigabo@gmail.com>
32910
32911         * lib/base64.c (base64_decode_ctx): If a decode context structure
32912         was passed in use it to ignore newlines.  If a context structure
32913         was _not_ passed in, continue to treat newlines as garbage (this
32914         is the historical behavior).  Formerly base64_decode.
32915         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
32916         takes a decode context structure.
32917         * lib/base64.h (base64_decode): Macro for four-argument calls.
32918         (base64_decode_alloc): Likewise.
32919         * lib/base64.c (base64_decode_ctx): If a decode context structure
32920         was passed in use it to ignore newlines.  If a context structure
32921         was _not_ passed in, continue to treat newlines as garbage (this
32922         is the historical behavior).  Formerly base64_decode.
32923         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
32924         takes a decode context structure.
32925         * lib/base64.h (base64_decode): Macro for four-argument calls.
32926         (base64_decode_alloc): Likewise.
32927
32928 2008-05-19  Jim Meyering  <meyering@redhat.com>
32929
32930         avoid a warning from gcc
32931         * lib/trim.c (IF_LINT): Define.
32932         (trim2): Use it to avoid a "may be used uninitialized" warning.
32933
32934         Fix doc typo.
32935         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
32936
32937 2008-05-19  Bruno Haible  <bruno@clisp.org>
32938
32939         * doc/glibc-functions/getpass.texi: Document limits of other
32940         implementations.
32941
32942 2008-05-19  Simon Josefsson  <simon@josefsson.org>
32943             Bruno Haible <bruno@clisp.org>
32944
32945         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
32946
32947 2008-05-18  Bruno Haible  <bruno@clisp.org>
32948
32949         * modules/propername: New file, from GNU gettext.
32950         * lib/propername.h: New file, from GNU gettext.
32951         * lib/propername.c: New file, from GNU gettext.
32952         * MODULES.html.sh (Internationalization functions): Add propername.
32953
32954 2008-05-16  Jim Meyering  <meyering@redhat.com>
32955             Bruno Haible  <bruno@clisp.org>
32956
32957         Avoid some warnings from "gcc -Wshadow".
32958         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
32959
32960 2008-05-15  Eric Blake  <ebb9@byu.net>
32961
32962         Extend previous patch to cygwin 1.7.0.
32963         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
32964         fast implementation in cygwin >= 1.7.0.
32965         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
32966         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
32967
32968 2008-05-15  Bruno Haible  <bruno@clisp.org>
32969
32970         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
32971         implementation in glibc >= 2.9.
32972         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
32973         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
32974
32975 2008-05-15  Bruno Haible  <bruno@clisp.org>
32976
32977         * MODULES.html.sh (Internationalization functions): Remove linebreak.
32978         (Unicode string functions): Add unilbrk/*.
32979         Reported by Karl Berry.
32980
32981 2008-05-15  Eric Blake  <ebb9@byu.net>
32982
32983         Fix violation of <stdbool.h> replacement in regex.
32984         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
32985         * lib/regexec.c (re_search_internal): Likewise.
32986         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
32987
32988 2008-05-15  Jim Meyering  <meyering@redhat.com>
32989
32990         avoid distracting test output when git or cvs is not found
32991         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
32992         * tests/test-vc-list-files-git.sh: Likewise.
32993
32994 2008-05-15  Eric Blake  <ebb9@byu.net>
32995
32996         Glibc finally accepted the memmem speedup code, bugzilla #5514.
32997         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
32998         glibc version.
32999         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
33000         * doc/posix-functions/strstr.texi (strstr): Likewise.
33001         * lib/str-two-way.h (MAX): Sychronize with glibc.
33002
33003 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
33004
33005         * lib/regcomp.c (optimize_utf8): Add a note on why we test
33006         opr.ctx_type.
33007         (calc_first): Initialize constraint field.
33008         (duplicate_node_closure): Use it instead of special casing ANCHORS.
33009         Fix grammar.
33010         (duplicate_node): Merge constraint field for all node types.
33011         (calc_eclosure_iter): Look at constraint field for all node types.
33012         * lib/regex_internal.c (create_cd_newstate): Don't look at
33013         opr.ctx_type.
33014
33015 2008-05-14  Bruno Haible  <bruno@clisp.org>
33016
33017         Help GCC to do better code generation.
33018         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
33019         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
33020         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
33021         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
33022         Declare with attribute 'malloc' if supported.
33023
33024 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
33025
33026         use "echo STR|wc -c" rather than unportable "expr length STR"
33027         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
33028         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
33029
33030 2008-05-14  Jim Meyering  <meyering@redhat.com>
33031
33032         use dd ibs=$n count=1 ... rather than less-portable head -c$n
33033         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
33034         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
33035         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
33036         via Collin Lasse.
33037
33038 2008-05-14  Eric Blake  <ebb9@byu.net>
33039
33040         Avoid quadratic growth in gl_LIBSOURCES.
33041         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
33042         Suggested by Bruno Haible.
33043
33044         Test xmemdup0.
33045         * modules/xmemdup0-tests: New file.
33046         * tests/test-xmemdup0.c: Likewise.
33047
33048 2008-05-13  Eric Blake  <ebb9@byu.net>
33049
33050         Split xmemdup0 into its own module.
33051         * modules/xmemdup0: New file.
33052         * lib/xmemdup0.h: Likewise.
33053         * lib/xmemdup0.c: Likewise.
33054         * MODULES.html.sh (Memory management functions): Add xmemdup0.
33055         * lib/xalloc.h (xmemdup0): Remove.
33056         * lib/xmalloc.c (xmemdup0): Likewise.
33057
33058 2008-05-13  Eric Blake  <ebb9@byu.net>
33059             Bruno Haible  <bruno@clisp.org>
33060
33061         Reduce number of forks required during autoconf.
33062         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
33063         and gl_LIBSOURCES_DIR.
33064         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
33065         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
33066         m4_syscmd per file.
33067         <m4_foreach_w>: Move...
33068         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
33069
33070 2008-05-13  Eric Blake  <ebb9@byu.net>
33071
33072         * gnulib-tool: Fix various comment typos.
33073
33074 2008-05-12  Bruno Haible  <bruno@clisp.org>
33075
33076         Tailor the linebreaking algorithm.
33077         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
33078
33079 2008-05-12  Bruno Haible  <bruno@clisp.org>
33080
33081         Update to Unicode 5.0.0.
33082         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
33083         LBP_JV, LBP_JT. Redistribute values.
33084         (unilbrk_table): Change size.
33085         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
33086         Unicode TR#14 rev. 22.
33087         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
33088         LBP_JV, LBP_JT. Redistribute values.
33089         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
33090         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
33091         Update.
33092         * lib/unilbrk/lbrkprop1.h: Regenerated.
33093         * lib/unilbrk/lbrkprop2.h: Regenerated.
33094         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
33095         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
33096         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
33097         Likewise.
33098         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
33099         Likewise.
33100         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
33101         result.
33102         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
33103         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
33104         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
33105         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
33106         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
33107         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
33108
33109 2008-05-11  Bruno Haible  <bruno@clisp.org>
33110
33111         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
33112
33113 2008-05-11  Bruno Haible  <bruno@clisp.org>
33114
33115         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
33116         * modules/unilbrk/gen-lbrk: New file.
33117
33118 2008-05-11  Bruno Haible  <bruno@clisp.org>
33119
33120         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
33121         * m4/sha512.m4 (gl_SHA512): Likewise.
33122
33123 2008-05-11  Jim Meyering  <meyering@redhat.com>
33124
33125         New modules: crypto/sha256, crypto/sha512 (from coreutils)
33126         * modules/crypto/sha256: New file.
33127         * modules/crypto/sha512: Likewise.
33128         * lib/sha256.c: Likewise.
33129         * lib/sha256.h: Likewise.
33130         * lib/sha512.c: Likewise.
33131         * lib/sha512.h: Likewise.
33132         * lib/u64.h: Likewise.
33133         * m4/sha256.m4: Likewise.
33134         * m4/sha512.m4: Likewise.
33135         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
33136
33137 2008-05-10  Bruno Haible  <bruno@clisp.org>
33138
33139         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
33140         (Input/Output <stdio.h>): Add xprintf.
33141         (Signal handling <signal.h>): Add strsignal.
33142         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
33143         (Core language properties): Add func.
33144         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
33145         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
33146         strings.
33147         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
33148         (Input/output): New section.
33149         (File system functions): Add openat-die, stat-macros.
33150         (Networking functions): Add sockets.
33151         (Unicode string functions): Add unictype/*.
33152         (Support for building libraries and executables): Add gperf.
33153         (Support for building documentation): Add agpl-3.0.
33154         (Misc): Add nocrash.
33155
33156 2008-05-10  Bruno Haible  <bruno@clisp.org>
33157
33158         * modules/unictype/gen-ctype: New file.
33159
33160 2008-05-10  Jim Meyering  <meyering@redhat.com>
33161
33162         Make chdir-safer.c more efficient on a system with no symlinks.
33163         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
33164         also if ELOOP is zero.  Suggested by Bruno Haible.
33165
33166         Make chdir-safer.c slightly safer.
33167         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
33168         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
33169
33170         Avoid compile failure on systems without ELOOP (like mingw).
33171         * lib/chdir-safer.c (ELOOP): Define if not already defined.
33172         Reported by Bruno Haible.
33173
33174 2008-05-10  Bruno Haible  <bruno@clisp.org>
33175
33176         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
33177         (is_utf8_encoding): Use a case-insensitive comparison.
33178         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
33179         streq.
33180
33181 2008-05-10  Bruno Haible  <bruno@clisp.org>
33182
33183         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
33184         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
33185         * lib/unilbrk/ulc-common.h (iconv_string_length,
33186         iconv_string_keeping_offsets): Remove declarations.
33187         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
33188         Don't include <iconv.h>, streq.h, xsize.h.
33189         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
33190         conversion.
33191         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
33192         <iconv.h>, streq.h, xsize.h.
33193         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
33194         conversion.
33195         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
33196         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
33197         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
33198         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
33199
33200 2008-05-10  Bruno Haible  <bruno@clisp.org>
33201
33202         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
33203         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
33204
33205         * modules/unilbrk/u32-width-linebreaks-tests: New file.
33206         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
33207
33208         * modules/unilbrk/u16-width-linebreaks-tests: New file.
33209         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
33210
33211         * modules/unilbrk/u8-width-linebreaks-tests: New file.
33212         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
33213
33214         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
33215         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
33216
33217         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
33218         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
33219
33220         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
33221         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
33222
33223         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
33224         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
33225
33226 2008-05-10  Bruno Haible  <bruno@clisp.org>
33227
33228         Split up 'linebreak' module.
33229         * lib/unilbrk.h: New file, based on lib/linebreak.h.
33230         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
33231         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
33232         modifications.
33233         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
33234         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
33235         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
33236         lib/linebreak.c.
33237         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
33238         lib/linebreak.c.
33239         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
33240         lib/linebreak.c.
33241         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
33242         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
33243         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
33244         lib/linebreak.c.
33245         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
33246         lib/linebreak.c.
33247         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
33248         lib/linebreak.c.
33249         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
33250         lib/linebreak.c.
33251         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
33252         lib/linebreak.c.
33253         * modules/unilbrk/base: New file.
33254         * modules/unilbrk/tables: New file.
33255         * modules/unilbrk/u8-possible-linebreaks: New file.
33256         * modules/unilbrk/u16-possible-linebreaks: New file.
33257         * modules/unilbrk/u32-possible-linebreaks: New file.
33258         * modules/unilbrk/ulc-common: New file.
33259         * modules/unilbrk/ulc-possible-linebreaks: New file.
33260         * modules/unilbrk/u8-width-linebreaks: New file.
33261         * modules/unilbrk/u16-width-linebreaks: New file.
33262         * modules/unilbrk/u32-width-linebreaks: New file.
33263         * modules/unilbrk/ulc-width-linebreaks: New file.
33264         * lib/linebreak.h: Remove file.
33265         * lib/linebreak.c: Remove file.
33266         * m4/linebreak.m4: Remove file.
33267         * modules/linebreak: Remove file.
33268         * NEWS: Mention the changes.
33269
33270 2008-05-09  Eric Blake  <ebb9@byu.net>
33271
33272         Add xmemdup0.
33273         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
33274         implementation.
33275         * lib/xmalloc.c (xmemdup0): New C implementation.
33276
33277 2008-05-08  Bruno Haible  <bruno@clisp.org>
33278
33279         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
33280
33281 2008-05-07  Eric Blake  <ebb9@byu.net>
33282
33283         Support cross-compilation of <wctype.h>.
33284         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
33285         AC_CACHE_CHECK.
33286
33287 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
33288
33289         * build-aux/vc-list-files: Add support for bzr.
33290
33291 2008-05-03  Jim Meyering  <meyering@redhat.com>
33292
33293         avoid failed assertion with tight malloc
33294         * tests/test-getndelim2.c: Correct an off-by-one assertion.
33295
33296 2008-05-03  Simon Josefsson  <simon@josefsson.org>
33297
33298         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
33299         are needed from arpa/inet.h.
33300         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
33301         Reported by Bruno Haible.
33302
33303 2008-05-02  Jim Meyering  <meyering@redhat.com>
33304
33305         avoid compilation error on FreeBSD 6
33306         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
33307
33308 2008-05-01  Jim Meyering  <meyering@redhat.com>
33309
33310         useless-if-before-free: correct --help's exit status description
33311         * build-aux/useless-if-before-free (usage): Like grep, exit 0
33312         for one or more matches, etc.  Reported by Bruno Haible.
33313
33314         vc-list-files: make the stand-alone gnulib test work
33315         * modules/vc-list-files-tests (configure.ac):
33316         Define and AC_SUBST abs_aux_dir.
33317         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
33318         $(abs_top_srcdir) to each script and having each of them
33319         duplicate the work of setting PATH, set PATH here, using
33320         the new variable, abs_aux_dir instead.
33321         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
33322         * tests/test-vc-list-files-git.sh: Likewise.
33323         Reported by Bruno Haible.
33324
33325 2008-05-01  Bruno Haible  <bruno@clisp.org>
33326
33327         * lib/getndelim2.c (getndelim2): Fix newsize computation during
33328         reallocation. Rename 'done' to 'found_delimiter'.
33329
33330 2008-05-01  Jim Meyering  <meyering@redhat.com>
33331
33332         vc-list-files: accommodate /bin/sh like the one from Solaris 10
33333         * build-aux/vc-list-files: Use `...`, not $(...).
33334
33335 2008-04-30  Jim Meyering  <meyering@redhat.com>
33336
33337         add tests for vc-list-files
33338         * modules/vc-list-files-tests: New module.
33339         * tests/test-vc-list-files-cvs.sh: New file.
33340         * tests/test-vc-list-files-git.sh: New file.
33341
33342         avoid a warning from gcc
33343         * lib/getndelim2.c (IF_LINT): Define.
33344         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
33345
33346         vc-list-files: work properly with build-aux/cvsu, too
33347         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
33348         to all cvs-based clauses.
33349
33350         vc-list-files: work properly in the CVS+awk case, too
33351         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
33352
33353         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
33354         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
33355         take more than one file argument, so .  Add quotes, just in case $dir
33356         ever contains a shell meta-character.  Prompted by Soren Hansen in
33357         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
33358
33359 2008-04-29  Eric Blake  <ebb9@byu.net>
33360
33361         Optimize getndelim2 to use block operations when possible.
33362         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
33363         freadseek, and memchr2.
33364         * lib/getndelim2.c (getndelim2): Use them for block reads.
33365
33366 2008-04-29  Bruno Haible  <bruno@clisp.org>
33367
33368         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
33369         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33370         * modules/inet_ntop (Depends-on): Add extensions.
33371         * modules/inet_pton (Depends-on): Likewise.
33372         Reported by Simon Josefsson.
33373
33374 2008-04-29  Jim Meyering  <meyering@redhat.com>
33375
33376         When the is more than one match in a block, match all of them.
33377         * build-aux/useless-if-before-free: Iterate through each block
33378         until there are no more matches.
33379
33380         Fix broken useless-if-before-free script.
33381         * build-aux/useless-if-before-free: Fix typo: missing "?" after
33382         the expression to match cast of argument to free-like function.
33383
33384 2008-04-29  Eric Blake  <ebb9@byu.net>
33385
33386         Use new header.
33387         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
33388
33389 2008-04-29  Jim Meyering  <meyering@redhat.com>
33390
33391         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
33392         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
33393         by gnulib to exist and to declare e.g., inet_ntop.
33394         Don't include "inet_ntop.h", now removed.
33395
33396         * m4/arpa_inet_h.m4: Remove trailing blanks.
33397
33398 2008-04-29  Eric Blake  <ebb9@byu.net>
33399
33400         Silence valgrind on safe reads beyond potential array bounds.
33401         * lib/rawmemchr.valgrind: New file.
33402         * lib/strchrnul.valgrind: Likewise.
33403         * modules/rawmemchr (Files): Distribute new file.
33404         * modules/strchrnul (Files): Likewise.
33405         Suggested by Bruno Haible.
33406
33407 2008-04-29  Bruno Haible  <bruno@clisp.org>
33408
33409         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
33410         (inet_ntop, inet_pton): Change portability warning's wording.
33411         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
33412         Invoke gl_CHECK_NEXT_HEADERS.
33413         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
33414         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
33415         set ARPA_INET_H.
33416         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
33417         * modules/arpa_inet (Description): No longer only for systems that
33418         lack it.
33419         (Depends-on): Add include_next.
33420         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
33421         HAVE_ARPA_INET_H.
33422
33423 2008-04-29  Jim Meyering  <meyering@redhat.com>
33424
33425         * modules/mkdir (License): Re-license as LGPLv2+.
33426
33427 2008-04-29  Bruno Haible  <bruno@clisp.org>
33428
33429         * modules/rawmemchr (Maintainer): Set to Eric.
33430         * modules/strchrnul (Maintainer): Likewise.
33431
33432 2008-04-29  Simon Josefsson  <simon@josefsson.org>
33433
33434         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
33435         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
33436
33437         * modules/arpa_inet (arpa/inet.h): Use them.
33438
33439 2008-04-28  Eric Blake  <ebb9@byu.net>
33440
33441         Test getndelim2.
33442         * modules/getndelim2-tests: New file.
33443         * tests/test-getndelim2.c: Likewise.
33444         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
33445         stream.
33446         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
33447
33448         * MODULES.html.sh: Document new module.
33449
33450 2008-04-20  Bruno Haible  <bruno@clisp.org>
33451
33452         * lib/c-stack.c (die): Use raise.
33453         * modules/c-stack (Depends-on): Add raise.
33454
33455 2008-04-28  Bruno Haible  <bruno@clisp.org>
33456
33457         Expect rpmatch to be declared.
33458         * lib/yesno.c (rpmatch): Remove declaration.
33459
33460         Declare rpmatch.
33461         * lib/stdlib.in.h (rpmatch): New declaration.
33462         * lib/rpmatch.c: Include <stdlib.h> first.
33463         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
33464         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
33465         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
33466         HAVE_RPMATCH.
33467         * modules/rpmatch (Depends-on): Add stdlib, extensions.
33468         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
33469         (Include): Set to <stdlib.h>.
33470         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
33471         HAVE_RPMATCH.
33472         * NEWS: Document the change.
33473
33474 2008-04-28  Bruno Haible  <bruno@clisp.org>
33475
33476         Change rpmatch to use nl_langinfo when appropriate.
33477         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
33478         (N_): New macro.
33479         (localized_pattern): New function/macro.
33480         (try): Remove match, nomatch arguments. Copy the pattern into safe
33481         memory before caching it.
33482         (rpmatch): Use localized_pattern. Add translator comments.
33483         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
33484         Suggested by Eric Blake.
33485         * modules/rpmatch (Depends-on): Add stdbool.
33486
33487 2008-04-28  Eric Blake  <ebb9@byu.net>
33488
33489         Add rawmemchr module, matching glibc.
33490         * modules/string (Makefile.am): New indicator.
33491         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
33492         * lib/string.in.h (rawmemchr): Declare when appropriate.
33493         * modules/rawmemchr: New file.
33494         * m4/rawmemchr.m4: Likewise.
33495         * lib/rawmemchr.c: Likewise.
33496         * modules/rawmemchr-tests: Likewise.
33497         * tests/test-rawmemchr.c: Likewise.
33498         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
33499         module.
33500         * modules/strchrnul (Depends-on): Add rawmemchr.
33501         * lib/strchrnul.c (strchrnul): Optimize a corner case.
33502
33503         Whitespace cleanup.
33504         * tests/test-strchrnul.c: Reindent.
33505         * lib/strchrnul.c: Likewise.
33506
33507         Optimize and test strchrnul.
33508         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
33509         * modules/strchrnul-tests: New file.
33510         * tests/test-strchrnul.c: Likewise.
33511
33512         Remove intprops dependency.
33513         * modules/memchr (Depends-on): Remove intprops.
33514         * modules/memrchr (Depends-on): Likewise.
33515         * modules/memchr2 (Depends-on): Likewise.
33516         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
33517         * lib/memrchr.c (__memrchr): Likewise.
33518         * lib/memrchr2.c (memchr2): Likewise.
33519         Reported by Simon Josefsson.
33520
33521 2008-04-28  Simon Josefsson  <simon@josefsson.org>
33522
33523         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
33524         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33525
33526 2008-04-28  Simon Josefsson  <simon@josefsson.org>
33527
33528         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
33529
33530         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
33531
33532         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
33533
33534         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
33535         declarations.
33536         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
33537
33538         * m4/inet_pton.m4: Don't check for header files.
33539
33540         * m4/inet_ntop.m4: Don't check for header files.
33541
33542 2008-04-28  Simon Josefsson  <simon@josefsson.org>
33543
33544         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
33545         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
33546         trigger for cygwin).
33547         Reported by Bruno Haible  <bruno@clisp.org>.
33548
33549 2008-04-28  Bruno Haible  <bruno@clisp.org>
33550
33551         * doc/posix-functions/strdup.texi: Mention mingw problem.
33552
33553 2008-04-27  Bruno Haible  <bruno@clisp.org>
33554
33555         * modules/stat-time-tests (Depends-on): Add sleep.
33556         * tests/test-stat-time.c (force_unlink): New function.
33557         (cleanup): Use it.
33558         (test_mtime): Remove the ctime related tests.
33559         (test_ctime): New function, containing the ctime related tests.
33560         (main): Call test_ctime, except on native Windows platforms.
33561
33562 2008-04-27  Bruno Haible  <bruno@clisp.org>
33563
33564         * lib/rpmatch.c (rpmatch): Add some comments.
33565         Reported by James Youngman <jay@gnu.org>.
33566
33567 2008-04-27  Bruno Haible  <bruno@clisp.org>
33568
33569         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
33570         quiet NaNs.
33571
33572 2008-04-27  Bruno Haible  <bruno@clisp.org>
33573
33574         Make test-yesno.sh work on mingw.
33575         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
33576         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
33577         (main): Set stdin to binary mode.
33578         * modules/yesno-tests (Depends-on): Add binary-io.
33579
33580 2008-04-27  Bruno Haible  <bruno@clisp.org>
33581
33582         Fix 'isfinite' on x86, x86_64, ia64 platforms.
33583         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
33584         argument that lie outside the IEEE 854 domain.
33585         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
33586         (gl_ISFINITE): Use it.
33587         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
33588
33589 2008-04-27  Bruno Haible  <bruno@clisp.org>
33590
33591         Allow local renaming in config.h.
33592         * lib/memrchr.c (memrchr): Don't undefine outside libc.
33593
33594 2008-04-27  Bruno Haible  <bruno@clisp.org>
33595
33596         * lib/memchr.c (__memchr): Change type of 'i'.
33597         * lib/memchr2.c (memchr2): Likewise.
33598
33599 2008-04-26  Eric Blake  <ebb9@byu.net>
33600         and Bruno Haible  <bruno@clisp.org>
33601
33602         Optimize and test memrchr.
33603         * modules/memrchr (Depends-on): Add intprops.
33604         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
33605         * modules/memrchr-tests: New file.
33606         * tests/test-memrchr.c: New file.
33607
33608 2008-04-26  Bruno Haible  <bruno@clisp.org>
33609
33610         Add tentative support for DragonFly BSD.
33611         * lib/stdio-impl.h: Add macros for DragonFly BSD.
33612         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
33613         fp.
33614         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
33615         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
33616         * lib/fpurge.c (fpurge): Likewise.
33617         * lib/freadable.c (freaadable): Likewise.
33618         * lib/freadahead.c (freadahead): Likewise.
33619         * lib/freading.c (freading): Likewise.
33620         * lib/freadptr.c (freadptr): Likewise.
33621         * lib/freadseek.c (freadptrinc): Likewise.
33622         * lib/fseeko.c (fseeko): Likewise.
33623         * lib/fseterr.c (fseterr): Likewise.
33624         * lib/fwritable.c (fwritable): Likewise.
33625         * lib/fwriting.c (fwriting): Likewise.
33626
33627 2008-04-26  Bruno Haible  <bruno@clisp.org>
33628
33629         * lib/stdio-impl.h: New file.
33630         * lib/fbufmode.c: Include stdio-impl.h.
33631         (fbufmode): Use fp_, remove redundant #defines.
33632         * lib/fflush.c: Include stdio-impl.h.
33633         (clear_ungetc_buffer): Remove redundant #defines.
33634         * lib/fpurge.c: Include stdio-impl.h.
33635         (fpurge): Remove redundant #defines.
33636         * lib/freadable.c: Include stdio-impl.h.
33637         (freadable): Remove redundant #defines.
33638         * lib/freadahead.c: Include stdio-impl.h.
33639         (freadahead): Remove redundant #defines.
33640         * lib/freading.c: Include stdio-impl.h.
33641         (freading): Remove redundant #defines.
33642         * lib/freadptr.c: Include stdio-impl.h.
33643         (freadptr): Remove redundant #defines.
33644         * lib/freadseek.c: Include stdio-impl.h.
33645         (freadptrinc): Remove redundant #defines.
33646         * lib/fseeko.c: Include stdio-impl.h.
33647         (rpl_fseeko): Remove redundant #defines.
33648         * lib/fseterr.c: Include stdio-impl.h.
33649         (fseterr): Remove redundant #defines.
33650         * lib/fwritable.c: Include stdio-impl.h.
33651         (fwritable: Remove redundant #defines.
33652         * lib/fwriting.c: Include stdio-impl.h.
33653         (fwriting): Remove redundant #defines.
33654         * modules/fbufmode (Files): Add lib/stdio-impl.h.
33655         * modules/fflush (Files): Likewise.
33656         * modules/fpurge (Files): Likewise.
33657         * modules/freadable (Files): Likewise.
33658         * modules/freadahead (Files): Likewise.
33659         * modules/freading (Files): Likewise.
33660         * modules/freadptr (Files): Likewise.
33661         * modules/freadseek (Files): Likewise.
33662         * modules/fseeko (Files): Likewise.
33663         * modules/fseterr (Files): Likewise.
33664         * modules/fwritable (Files): Likewise.
33665         * modules/fwriting (Files): Likewise.
33666
33667 2008-04-26  Bruno Haible  <bruno@clisp.org>
33668
33669         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
33670         restore_seek_optimization, update_fpos_cache): New functions, extracted
33671         from rpl_fflush.
33672         (rpl_fflush): Use them.
33673         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
33674         (gl_REPLACE_FFLUSH): Use it.
33675
33676 2008-04-26  Bruno Haible  <bruno@clisp.org>
33677
33678         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
33679         on Solaris.
33680         * tests/test-xstrtoimax.sh: Likewise.
33681         * tests/test-xstrtoumax.sh: Likewise.
33682         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33683
33684 2008-04-26  Bruno Haible  <bruno@clisp.org>
33685
33686         * modules/memchr-tests: New file.
33687         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
33688
33689 2008-04-26  Eric Blake  <ebb9@byu.net>
33690             Bruno Haible  <bruno@clisp.org>
33691
33692         * lib/memchr.c: Include intprops.h.
33693         (__memchr): Optimize parallel detection of matching bytes. Rename local
33694         variables. Add explanatory comments.
33695
33696 2008-04-26  Bruno Haible  <bruno@clisp.org>
33697
33698         Fix module 'memchr', broken since 2000-10-28.
33699         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
33700
33701 2008-04-26  Bruno Haible  <bruno@clisp.org>
33702
33703         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
33704         comments.
33705
33706 2008-04-25  Eric Blake  <ebb9@byu.net>
33707
33708         Use native fstatat on cygwin 1.7.0.
33709         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
33710         first.
33711
33712 2008-04-23  Eric Blake  <ebb9@byu.net>
33713
33714         Improve memchr2 performance.
33715         * lib/memchr2.c (memchr2): Further optimize parallel detection of
33716         NUL bytes.
33717         * modules/memchr2 (Depends-on): Use intprops.h.
33718
33719 2008-04-23  Simon Josefsson  <simon@josefsson.org>
33720
33721         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
33722         an inline function instead of a CPP macro.  Patch by Ben Pfaff
33723         <blp@cs.stanford.edu>.
33724
33725 2008-04-23  Simon Josefsson  <simon@josefsson.org>
33726
33727         * lib/arpa_inet.in.h: New file.
33728
33729         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
33730         (Makefile.am): Sed in substitute header file.
33731
33732         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
33733         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
33734
33735         * modules/inet_ntop (configure.ac): Use
33736         gl_ARPA_INET_MODULE_INDICATOR.
33737
33738         * modules/inet_pton (configure.ac): Use
33739         gl_ARPA_INET_MODULE_INDICATOR.
33740
33741 2008-04-22  Jim Meyering  <meyering@redhat.com>
33742
33743         * modules/verify (License): Re-license as LGPLv2+.
33744
33745 2008-04-22  Simon Josefsson  <simon@josefsson.org>
33746
33747         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
33748         parameter to void* as per POSIX standard (MinGW uses char*).
33749
33750 2008-04-21  Bruno Haible  <bruno@clisp.org>
33751
33752         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
33753         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
33754         Define to replacements if REPLACE_ISWCNTRL is 1.
33755         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
33756         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
33757         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
33758         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
33759         what it fixes.
33760         * doc/posix-functions/iswalpha.texi: Likewise.
33761         * doc/posix-functions/iswblank.texi: Likewise.
33762         * doc/posix-functions/iswcntrl.texi: Likewise.
33763         * doc/posix-functions/iswdigit.texi: Likewise.
33764         * doc/posix-functions/iswgraph.texi: Likewise.
33765         * doc/posix-functions/iswlower.texi: Likewise.
33766         * doc/posix-functions/iswprint.texi: Likewise.
33767         * doc/posix-functions/iswpunct.texi: Likewise.
33768         * doc/posix-functions/iswspace.texi: Likewise.
33769         * doc/posix-functions/iswupper.texi: Likewise.
33770         * doc/posix-functions/iswxdigit.texi: Likewise.
33771         Reported by Alain Guibert.
33772
33773 2008-04-21  Bruno Haible  <bruno@clisp.org>
33774
33775         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
33776         Patch by Alain Guibert.
33777
33778 2008-04-21  Bruno Haible  <bruno@clisp.org>
33779
33780         Fix test failures on mingw.
33781         * tests/test-xstrtol.c (print_no_progname): New function.
33782         (main): Install it in error_print_progname hook.
33783         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
33784         * tests/test-xstrtoimax.sh: Likewise.
33785         * tests/test-xstrtoumax.sh: Likewise.
33786
33787 2008-04-21  Bruno Haible  <bruno@clisp.org>
33788
33789         Fix test failure on mingw.
33790         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
33791
33792 2008-04-21  Bruno Haible  <bruno@clisp.org>
33793
33794         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
33795         Actually assign a value.
33796
33797 2008-04-20  Bruno Haible  <bruno@clisp.org>
33798
33799         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
33800         take 2.
33801         * lib/canonicalize.c (canonicalize_file_name): Elide if the
33802         'canonicalize-lgpl' module is also used.
33803         * lib/canonicalize-lgpl.c: Undo last change.
33804         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
33805
33806 2008-04-20  Bruno Haible  <bruno@clisp.org>
33807
33808         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
33809         config.h. Provide _mkdir based fallback for mingw.
33810         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
33811         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
33812         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
33813         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
33814         rather than defining mkdir in config.h.
33815         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
33816         (gl_SYS_STAT_H_DEFAULTS): New macro.
33817         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
33818         HAVE_IO_H any more.
33819         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
33820         HAVE_DECL_MKDIR and HAVE_IO_H.
33821
33822 2008-04-20  Bruno Haible  <bruno@clisp.org>
33823
33824         * lib/isapipe.c: Port to native Windows platforms.
33825
33826 2008-04-20  Bruno Haible  <bruno@clisp.org>
33827
33828         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
33829
33830 2008-04-21  Eric Blake  <ebb9@byu.net>
33831
33832         Work around preprocessors that don't handle UINTMAX_MAX.
33833         * lib/memchr2.c (memchr2): Avoid embedded #if.
33834         Reported by Alain Guibert, fix suggested by Bruno Haible.
33835
33836 2008-04-21  Simon Josefsson  <simon@josefsson.org>
33837
33838         * doc/posix-functions/strftime.texi (strftime): Explain better
33839         Windows incompatibility.  Suggested by Micah Cowan
33840         <micah@cowan.name>.
33841
33842 2008-04-20  Bruno Haible  <bruno@clisp.org>
33843
33844         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
33845         unistr/u8-mblen.
33846
33847 2008-04-20  Bruno Haible  <bruno@clisp.org>
33848
33849         Fix test failure on platforms with non-GNU iconv.
33850         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
33851         (U_TO_U8): Use it, rather than u16_to_u8.
33852         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
33853         units at the end of the input string.
33854         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
33855
33856 2008-04-20  Bruno Haible  <bruno@clisp.org>
33857
33858         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
33859         when the resulting length is 0.
33860         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
33861
33862 2008-04-20  Bruno Haible  <bruno@clisp.org>
33863
33864         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
33865         works.
33866         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
33867
33868 2008-04-20  Bruno Haible  <bruno@clisp.org>
33869
33870         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
33871         * modules/tsearch-tests (configure.ac): Test for initstate function.
33872
33873 2008-04-20  Bruno Haible  <bruno@clisp.org>
33874
33875         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
33876         for nlink_t if missing.
33877         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
33878
33879 2008-04-19  Bruno Haible  <bruno@clisp.org>
33880
33881         Work around snprintf bug on Linux libc5.
33882         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
33883         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
33884         gl_SNPRINTF_SIZE1.
33885         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33886         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
33887         that test failed.
33888         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
33889         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
33890         * modules/snprintf (Files): Add m4/printf.m4.
33891         * modules/vsnprintf (Files): Likewise.
33892         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
33893         * doc/posix-functions/vsnprintf.texi: Likewise.
33894
33895 2008-04-19  Bruno Haible  <bruno@clisp.org>
33896
33897         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
33898         from 0.0058 to less than 10^-7.
33899
33900 2008-04-19  Bruno Haible  <bruno@clisp.org>
33901
33902         Fix rounding when a precision is given.
33903         * lib/vasnprintf.c (is_borderline): New function.
33904         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
33905         9...9x.
33906         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
33907         %e, %g.
33908         * tests/test-vasprintf-posix.c (test_function): Likewise.
33909         * tests/test-snprintf-posix.h (test_function): Likewise.
33910         * tests/test-sprintf-posix.h (test_function): Likewise.
33911         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
33912         * tests/test-printf-posix.h (test_function): Likewise.
33913         * tests/test-printf-posix.output: Update.
33914         Reported by John Darrington <john@darrington.wattle.id.au> via
33915         Ben Pfaff <blp@cs.stanford.edu>.
33916
33917 2008-04-18  Simon Josefsson  <simon@josefsson.org>
33918
33919         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
33920         Suggested by Bruno Haible <bruno@clisp.org>.
33921
33922 2008-04-17  Bruno Haible  <bruno@clisp.org>
33923
33924         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
33925         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
33926         implementation.
33927         Patch by Bruce Merry <bmerry@gmail.com>.
33928
33929 2008-04-17  Simon Josefsson  <simon@josefsson.org>
33930
33931         * doc/posix-functions/strftime.texi (strftime): Mention that %e
33932         doesn't work under Windows.
33933
33934 2008-04-16  Bruno Haible  <bruno@clisp.org>
33935
33936         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
33937         New macros.
33938         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
33939         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
33940         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
33941         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
33942         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
33943         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
33944         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
33945         macros.
33946         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
33947         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
33948         Northern Sotho, Uighur.
33949
33950 2008-04-16  Bruno Haible  <bruno@clisp.org>
33951
33952         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
33953         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
33954         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
33955         Reported by Daniel Bergström <daniel@octocode.com>.
33956
33957 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
33958             Bruno Haible  <bruno@clisp.org>
33959
33960         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
33961         function.
33962         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
33963         New functions, mostly extracted from gl_locale_name_default.
33964         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
33965
33966 2008-04-16  Eric Blake  <ebb9@byu.net>
33967
33968         Adjust strtod detection to catch glibc 2.7 bug.
33969         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
33970         Reported by John Gatewood Ham.
33971
33972 2008-04-16  Bruno Haible  <bruno@clisp.org>
33973
33974         Add tentative support for Linux libc5.
33975         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
33976         * lib/fpurge.c (fpurge): Likewise.
33977         * lib/freadable.c (freadable): Likewise.
33978         * lib/freadahead.c (freadahead): Likewise.
33979         * lib/freading.c (freading): Likewise.
33980         * lib/freadptr.c (freadptr): Likewise.
33981         * lib/freadseek.c (freadptrinc): Likewise.
33982         * lib/fseeko.c (rpl_fseeko): Likewise.
33983         * lib/fseterr.c (fseterr): Likewise.
33984         * lib/fwritable.c (fwritable): Likewise.
33985         * lib/fwriting.c (fwriting): Likewise.
33986         Reported by Alain Guibert <alguibert+bts@free.fr>.
33987
33988 2008-04-15  Bruno Haible  <bruno@clisp.org>
33989
33990         * modules/mathl (configure.ac): Define module indicator.
33991
33992 2008-04-15  Bruno Haible  <bruno@clisp.org>
33993
33994         * lib/logl.c (logl): Remove unused variables.
33995
33996 2008-04-15  Bruno Haible  <bruno@clisp.org>
33997
33998         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
33999         fails.
34000
34001 2008-04-15  Bruno Haible  <bruno@clisp.org>
34002
34003         * lib/trim.c (trim2): Fix argument of isspace() macro.
34004
34005 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
34006
34007         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
34008         to 0.
34009         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
34010
34011 2008-04-14  Bruno Haible  <bruno@clisp.org>
34012
34013         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
34014         AC_LANG_PROGRAM argument.
34015         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
34016         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
34017         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
34018         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
34019         * m4/math_h.m4 (gl_MATH_H): Likewise.
34020         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
34021         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
34022         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
34023         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
34024         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
34025         * m4/regex.m4 (gl_REGEX): Likewise.
34026         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
34027         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
34028         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
34029         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
34030         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
34031         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
34032         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
34033         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
34034
34035 2008-04-14  Jim Meyering  <meyering@redhat.com>
34036
34037         test-strtod: fix typos: s/abs/fabs/
34038         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
34039
34040 2008-04-13  Bruno Haible  <bruno@clisp.org>
34041
34042         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
34043         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
34044         module is also used and while not building the reloc-wrapper.
34045
34046 2008-04-13  Bruno Haible  <bruno@clisp.org>
34047
34048         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
34049
34050 2008-04-13  Bruno Haible  <bruno@clisp.org>
34051
34052         Fix AIX compilation failure introduced on 2008-04-02.
34053         * tests/test-frexp.c (exp): Undefine before redefining.
34054         * tests/test-frexpl.c (exp): Likewise.
34055
34056 2008-04-13  Bruno Haible  <bruno@clisp.org>
34057
34058         Work around a HP-UX stdio bug.
34059         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
34060         * tests/test-ftello.c (main): Likewise.
34061         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
34062         * doc/posix-functions/ftello.texi: Likewise.
34063
34064 2008-04-13  Bruno Haible  <bruno@clisp.org>
34065
34066         Make test-signbit pass on HP-UX/hppa.
34067         * tests/test-signbit.c (minus_zerol): New variable.
34068         (test_signbitl): Use it.
34069
34070 2008-04-13  Bruno Haible  <bruno@clisp.org>
34071
34072         Make truncl work on OSF/1 4.0.
34073         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
34074         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
34075         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
34076         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
34077         HAVE_DECL_TRUNCL.
34078         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
34079         HAVE_DECL_TRUNCL.
34080         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
34081
34082 2008-04-13  Bruno Haible  <bruno@clisp.org>
34083
34084         * lib/unictype.h: Remove trailing comma from enumeration definitions.
34085
34086 2008-04-13  Bruno Haible  <bruno@clisp.org>
34087
34088         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
34089         expression, so as to avoid HP-UX 11 cc compiler bug.
34090
34091 2008-04-13  Bruno Haible  <bruno@clisp.org>
34092
34093         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
34094
34095 2008-04-13  Bruno Haible  <bruno@clisp.org>
34096
34097         * lib/git-merge-changelog.c: Remove empty declaration outside of
34098         functions.
34099
34100 2008-04-13  Bruno Haible  <bruno@clisp.org>
34101
34102         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
34103
34104 2008-04-13  Bruno Haible  <bruno@clisp.org>
34105
34106         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
34107         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
34108         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
34109         also if it exists but lacks definitions of the SHUT_* macros.
34110         * modules/sys_socket (Description): Update.
34111         Reported by Elbert Pol <e.pol@chello.nl>.
34112
34113 2008-04-13  Bruno Haible  <bruno@clisp.org>
34114
34115         * lib/localcharset.c (OS2): Don't redefine if already defined.
34116         Reported by Elbert Pol <e.pol@chello.nl>.
34117
34118 2008-04-13  Bruno Haible  <bruno@clisp.org>
34119
34120         * lib/binary-io.h [__EMX__]: Include <io.h>.
34121         Reported by Elbert Pol <e.pol@chello.nl>.
34122
34123 2008-04-12  Bruno Haible  <bruno@clisp.org>
34124
34125         * lib/fpucw.h: Enable the definitions also for x86_64.
34126         Needed for NetBSD/x86_64.
34127         Reported by Thomas Klausner <tk@giga.or.at>.
34128
34129 2008-04-12  Bruno Haible  <bruno@clisp.org>
34130
34131         * tests/test-strtod.c: Include isnand.h.
34132         (main): Use isnand instead of isnan.
34133         Reported by Jim Meyering.
34134
34135 2008-04-12  Bruno Haible  <bruno@clisp.org>
34136
34137         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
34138         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
34139
34140 2008-04-12  Jim Meyering  <meyering@redhat.com>
34141
34142         * m4/math_h.m4 (gl_MATH_H): Fix typos.
34143
34144 2008-04-12  Bruno Haible  <bruno@clisp.org>
34145
34146         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
34147         Reported by Elbert Pol <e.pol@chello.nl>.
34148
34149 2008-04-12  Eric Blake  <ebb9@byu.net>
34150
34151         Work around Solaris 10 math.h bug.
34152         * m4/math_h.m4 (gl_MATH_H): Check for bug.
34153         (gl_MATH_H_DEFAULTS): Set up default.
34154         * modules/math (Makefile.am): Replace new indicators.
34155         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
34156         * tests/test-math.c (main): Test this.
34157         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
34158         * doc/posix-headers/math.texi (math.h): Mention bug.
34159         Reported by Nelson H. F. Beebe and Jim Meyering.
34160
34161 2008-04-11  Bruno Haible  <bruno@clisp.org>
34162
34163         Adapt to future versions of Apple GCC.
34164         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
34165         Reported by Peter O'Gorman <peter@pogma.com>.
34166
34167 2008-04-11  Bruno Haible  <bruno@clisp.org>
34168
34169         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
34170
34171 2008-04-11  Bruno Haible  <bruno@clisp.org>
34172
34173         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
34174
34175         * modules/getaddrinfo-tests (Makefile.am): Define
34176         test_getaddrinfo_LDADD.
34177
34178 2008-04-11  Bruno Haible  <bruno@clisp.org>
34179
34180         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
34181         (init): Fix syntax error.
34182         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
34183         is declared.
34184
34185 2008-04-11  Bruno Haible  <bruno@clisp.org>
34186
34187         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
34188         * modules/glob (Depends-on): Add stdbool.
34189
34190 2008-04-11  Bruno Haible  <bruno@clisp.org>
34191
34192         * lib/trim.c: Include <string.h>.
34193
34194 2008-04-11  Eric Blake  <ebb9@byu.net>
34195
34196         Avoid compile failure on OS/2.
34197         * lib/regex_internal.h (internal_function): Disable optimization
34198         on OS/2 (__EMX__), where it caused compiler error.
34199         Reported by Elbert Pol.
34200
34201 2008-04-11  Bruno Haible  <bruno@clisp.org>
34202
34203         Flush the standard error stream before aborting. Needed on mingw.
34204         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
34205         * tests/test-array_list.c (ASSERT): Likewise.
34206         * tests/test-array_oset.c (ASSERT): Likewise.
34207         * tests/test-avltree_list.c (ASSERT): Likewise.
34208         * tests/test-avltree_oset.c (ASSERT): Likewise.
34209         * tests/test-avltreehash_list.c (ASSERT): Likewise.
34210         * tests/test-binary-io.c (ASSERT): Likewise.
34211         * tests/test-byteswap.c (ASSERT): Likewise.
34212         * tests/test-c-ctype.c (ASSERT): Likewise.
34213         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
34214         * tests/test-c-strcasestr.c (ASSERT): Likewise.
34215         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
34216         * tests/test-c-strstr.c (ASSERT): Likewise.
34217         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
34218         * tests/test-canonicalize.c (ASSERT): Likewise.
34219         * tests/test-carray_list.c (ASSERT): Likewise.
34220         * tests/test-ceilf1.c (ASSERT): Likewise.
34221         * tests/test-ceilf2.c (ASSERT): Likewise.
34222         * tests/test-ceill.c (ASSERT): Likewise.
34223         * tests/test-count-one-bits.c (ASSERT): Likewise.
34224         * tests/test-fbufmode.c (ASSERT): Likewise.
34225         * tests/test-fflush2.c (ASSERT): Likewise.
34226         * tests/test-floorf1.c (ASSERT): Likewise.
34227         * tests/test-floorf2.c (ASSERT): Likewise.
34228         * tests/test-floorl.c (ASSERT): Likewise.
34229         * tests/test-fopen.c (ASSERT): Likewise.
34230         * tests/test-fpending.c (ASSERT): Likewise.
34231         * tests/test-fprintf-posix.c (ASSERT): Likewise.
34232         * tests/test-fpurge.c (ASSERT): Likewise.
34233         * tests/test-freadable.c (ASSERT): Likewise.
34234         * tests/test-freadahead.c (ASSERT): Likewise.
34235         * tests/test-freading.c (ASSERT): Likewise.
34236         * tests/test-freadptr.c (ASSERT): Likewise.
34237         * tests/test-freadptr2.c (ASSERT): Likewise.
34238         * tests/test-freadseek.c (ASSERT): Likewise.
34239         * tests/test-freopen.c (ASSERT): Likewise.
34240         * tests/test-frexp.c (ASSERT): Likewise.
34241         * tests/test-frexpl.c (ASSERT): Likewise.
34242         * tests/test-fseek.c (ASSERT): Likewise.
34243         * tests/test-fseeko.c (ASSERT): Likewise.
34244         * tests/test-fstrcmp.c (ASSERT): Likewise.
34245         * tests/test-ftell.c (ASSERT): Likewise.
34246         * tests/test-ftello.c (ASSERT): Likewise.
34247         * tests/test-func.c (ASSERT): Likewise.
34248         * tests/test-fwritable.c (ASSERT): Likewise.
34249         * tests/test-fwriting.c (ASSERT): Likewise.
34250         * tests/test-getdelim.c (ASSERT): Likewise.
34251         * tests/test-getline.c (ASSERT): Likewise.
34252         * tests/test-i-ring.c (ASSERT): Likewise.
34253         * tests/test-iconv-utf.c (ASSERT): Likewise.
34254         * tests/test-iconv.c (ASSERT): Likewise.
34255         * tests/test-isfinite.c (ASSERT): Likewise.
34256         * tests/test-isnand.c (ASSERT): Likewise.
34257         * tests/test-isnanf.c (ASSERT): Likewise.
34258         * tests/test-isnanl.h (ASSERT): Likewise.
34259         * tests/test-ldexpl.c (ASSERT): Likewise.
34260         * tests/test-linked_list.c (ASSERT): Likewise.
34261         * tests/test-linkedhash_list.c (ASSERT): Likewise.
34262         * tests/test-localename.c (ASSERT): Likewise.
34263         * tests/test-lseek.c (ASSERT): Likewise.
34264         * tests/test-mbscasecmp.c (ASSERT): Likewise.
34265         * tests/test-mbscasestr1.c (ASSERT): Likewise.
34266         * tests/test-mbscasestr2.c (ASSERT): Likewise.
34267         * tests/test-mbscasestr3.c (ASSERT): Likewise.
34268         * tests/test-mbscasestr4.c (ASSERT): Likewise.
34269         * tests/test-mbschr.c (ASSERT): Likewise.
34270         * tests/test-mbscspn.c (ASSERT): Likewise.
34271         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
34272         * tests/test-mbspbrk.c (ASSERT): Likewise.
34273         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
34274         * tests/test-mbsrchr.c (ASSERT): Likewise.
34275         * tests/test-mbsspn.c (ASSERT): Likewise.
34276         * tests/test-mbsstr1.c (ASSERT): Likewise.
34277         * tests/test-mbsstr2.c (ASSERT): Likewise.
34278         * tests/test-mbsstr3.c (ASSERT): Likewise.
34279         * tests/test-memchr2.c (ASSERT): Likewise.
34280         * tests/test-memmem.c (ASSERT): Likewise.
34281         * tests/test-open.c (ASSERT): Likewise.
34282         * tests/test-printf-frexp.c (ASSERT): Likewise.
34283         * tests/test-printf-frexpl.c (ASSERT): Likewise.
34284         * tests/test-printf-posix.c (ASSERT): Likewise.
34285         * tests/test-quotearg.c (ASSERT): Likewise.
34286         * tests/test-rbtree_list.c (ASSERT): Likewise.
34287         * tests/test-rbtree_oset.c (ASSERT): Likewise.
34288         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
34289         * tests/test-round1.c (ASSERT): Likewise.
34290         * tests/test-roundf1.c (ASSERT): Likewise.
34291         * tests/test-roundl.c (ASSERT): Likewise.
34292         * tests/test-signbit.c (ASSERT): Likewise.
34293         * tests/test-sleep.c (ASSERT): Likewise.
34294         * tests/test-snprintf-posix.c (ASSERT): Likewise.
34295         * tests/test-snprintf.c (ASSERT): Likewise.
34296         * tests/test-sprintf-posix.c (ASSERT): Likewise.
34297         * tests/test-stat-time.c (ASSERT): Likewise.
34298         * tests/test-strcasestr.c (ASSERT): Likewise.
34299         * tests/test-strerror.c (ASSERT): Likewise.
34300         * tests/test-striconv.c (ASSERT): Likewise.
34301         * tests/test-striconveh.c (ASSERT): Likewise.
34302         * tests/test-striconveha.c (ASSERT): Likewise.
34303         * tests/test-strsignal.c (ASSERT): Likewise.
34304         * tests/test-strstr.c (ASSERT): Likewise.
34305         * tests/test-strtod.c (ASSERT): Likewise.
34306         * tests/test-trunc1.c (ASSERT): Likewise.
34307         * tests/test-trunc2.c (ASSERT): Likewise.
34308         * tests/test-truncf1.c (ASSERT): Likewise.
34309         * tests/test-truncf2.c (ASSERT): Likewise.
34310         * tests/test-truncl.c (ASSERT): Likewise.
34311         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
34312         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
34313         * tests/test-vasnprintf.c (ASSERT): Likewise.
34314         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
34315         * tests/test-vasprintf.c (ASSERT): Likewise.
34316         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
34317         * tests/test-vprintf-posix.c (ASSERT): Likewise.
34318         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
34319         * tests/test-vsnprintf.c (ASSERT): Likewise.
34320         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
34321         * tests/test-wcwidth.c (ASSERT): Likewise.
34322         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
34323         * tests/test-xprintf-posix.c (ASSERT): Likewise.
34324         * tests/test-xvasprintf.c (ASSERT): Likewise.
34325         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
34326         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
34327         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
34328         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
34329         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
34330         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
34331         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
34332         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
34333         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
34334         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
34335         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
34336         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
34337         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
34338         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
34339         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
34340         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
34341         * tests/unictype/test-block_list.c (ASSERT): Likewise.
34342         * tests/unictype/test-block_of.c (ASSERT): Likewise.
34343         * tests/unictype/test-block_test.c (ASSERT): Likewise.
34344         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
34345         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
34346         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
34347         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
34348         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
34349         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
34350         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
34351         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
34352         * tests/unictype/test-combining.c (ASSERT): Likewise.
34353         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
34354         * tests/unictype/test-digit.c (ASSERT): Likewise.
34355         * tests/unictype/test-mirror.c (ASSERT): Likewise.
34356         * tests/unictype/test-numeric.c (ASSERT): Likewise.
34357         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
34358         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
34359         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
34360         * tests/unictype/test-scripts.c (ASSERT): Likewise.
34361         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
34362         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
34363         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
34364         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
34365         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
34366         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
34367         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
34368         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
34369         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
34370         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
34371         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
34372         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
34373         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
34374         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
34375         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
34376         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
34377         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
34378         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
34379         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
34380         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
34381         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
34382         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
34383         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
34384         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
34385         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
34386         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
34387         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
34388         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
34389         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
34390         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
34391         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
34392         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
34393         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
34394         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
34395         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
34396         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
34397         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
34398         Reported by Eric Blake.
34399
34400 2008-04-11  Bruno Haible  <bruno@clisp.org>
34401
34402         * lib/wchar.in.h: Tweak comment.
34403
34404 2008-04-11  Bruno Haible  <bruno@clisp.org>
34405
34406         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
34407         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
34408         gl_COMMON.
34409         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
34410
34411 2008-04-11  Bruno Haible  <bruno@clisp.org>
34412
34413         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
34414
34415 2008-04-11  Simon Josefsson  <simon@josefsson.org>
34416
34417         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
34418         of attempting to use non-existing /dev/*random.  Based on patch
34419         from Adam Strzelecki <ono@java.pl> in
34420         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
34421
34422 2008-04-08  Bruno Haible  <bruno@clisp.org>
34423
34424         Add tentative support for emx+gcc.
34425         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
34426         * lib/fpurge.c (fpurge): Likewise.
34427         * lib/freadable.c (freadable): Likewise.
34428         * lib/freadahead.c (freadahead): Likewise.
34429         * lib/freading.c (freading): Likewise.
34430         * lib/freadptr.c (freadptr): Likewise.
34431         * lib/freadseek.c (freadptrinc): Likewise.
34432         * lib/fseeko.c (rpl_fseeko): Likewise.
34433         * lib/fseterr.c (fseterr): Likewise.
34434         * lib/fwritable.c (fwritable): Likewise.
34435         * lib/fwriting.c (fwriting): Likewise.
34436         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
34437
34438 2008-04-09  Eric Blake  <ebb9@byu.net>
34439
34440         Avoid some autoconf warnings.
34441         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
34442         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
34443         * m4/afs.m4 (gl_AFS): Likewise.
34444         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
34445         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
34446         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
34447         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
34448         (gl_INTEGER_TYPE_SUFFIX): Likewise.
34449         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
34450         (AC_CHECK_DECLS_ONCE): Likewise.
34451         Rename file...
34452         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
34453         gnulib-tool requires autoconf 2.59 or better.
34454         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
34455
34456 2008-04-08  Eric Blake  <ebb9@byu.net>
34457
34458         Use 'git describe --match' if present (added in git 1.5.5).
34459         * build-aux/git-version-gen: Limit result to tags that match 'v*'
34460         if possible.
34461
34462 2008-04-08  Bruno Haible  <bruno@clisp.org>
34463
34464         Add tentative support for OpenServer.
34465         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
34466         _ptr, _cnt.
34467         * lib/fpurge.c (fpurge): Likewise.
34468         * lib/freadable.c (freadable): Likewise.
34469         * lib/freadahead.c (freadahead): Likewise.
34470         * lib/freading.c (freading): Likewise.
34471         * lib/freadptr.c (freadptr): Likewise.
34472         * lib/freadseek.c (freadptrinc): Likewise.
34473         * lib/fseeko.c (rpl_fseeko): Likewise.
34474         * lib/fseterr.c (fseterr): Likewise.
34475         * lib/fwritable.c (fwritable): Likewise.
34476         * lib/fwriting.c (fwriting): Likewise.
34477         Reported by Roger Cornelius <rac@tenzing.org> and
34478         Brian K. White <brian@aljex.com>.
34479
34480 2008-04-06  Jim Meyering  <meyering@redhat.com>
34481
34482         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
34483
34484 2008-04-06  Bruno Haible  <bruno@clisp.org>
34485
34486         Avoid possible error with non-ASCII bytes in UTF-8 locales.
34487         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
34488         * tests/test-printf-posix.sh: Likewise.
34489         * tests/test-vfprintf-posix.sh: Likewise.
34490         * tests/test-vprintf-posix.sh: Likewise.
34491         * tests/test-xprintf-posix.sh: Likewise.
34492
34493 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34494
34495         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
34496         hide error from 'ls', needed on OS/2.
34497         Report by Elbert Pol <elbert.pol@gmail.com>.
34498
34499 2008-04-04  Eric Blake  <ebb9@byu.net>
34500
34501         Make test-fseeko.c failures meaningful.
34502         * tests/test-fseeko.c: Print line number on failure.
34503         * tests/test-fseek.c: Likewise.
34504         Reported by Nelson H. F. Beebe.
34505
34506         Improve strtod bug detection check.
34507         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
34508         required for Solaris 10.
34509         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
34510
34511 2008-04-04  Bruno Haible  <bruno@clisp.org>
34512
34513         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
34514         by m4/setenv.m4.
34515
34516 2008-04-03  Eric Blake  <ebb9@byu.net>
34517
34518         Ensure sane .version contents.
34519         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
34520         version string.
34521         * build-aux/git-version-gen: Improve documentation.
34522
34523         Make GNU make output nicer.
34524         * top/GNUmakefile [!_have-Makefile]: Add dependency on
34525         MAKECMDGOALS to enforce message for all command line targets.  Set
34526         srcdir for use in maint.mk.
34527
34528         Another maintainer tweak.
34529         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
34530         a target that regenerates version.
34531
34532 2008-04-03  Jim Meyering  <meyering@redhat.com>
34533
34534         vc-list-files: don't cause coreutils "make po-check" failure
34535         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
34536
34537 2008-04-03  Eric Blake  <ebb9@byu.net>
34538
34539         Allow VPATH usage of vc-list-files.
34540         * build-aux/vc-list-files (scriptversion): Add timestamp.
34541         (options): Add --help, --version, -C.
34542         (CVS): Support installed cvsu.
34543
34544 2008-04-02  Bruno Haible  <bruno@clisp.org>
34545
34546         Avoid some "statement with no effect" warnings from gcc.
34547         * tests/test-wctype.c (main): Explicitly ignore unused values.
34548         Reported by Jim Meyering.
34549
34550 2008-04-02  Jim Meyering  <meyering@redhat.com>
34551
34552         Avoid some warnings from "gcc -Wshadow".
34553         * tests/test-frexp.c (exp): Define to a different identifier.
34554         * tests/test-frexpl.c (exp): Likewise.
34555
34556 2008-04-03  Jim Meyering  <meyering@redhat.com>
34557
34558         bootstrap: remove dangling *.[ch] symlinks from lib
34559         * build-aux/bootstrap [dangling symlink removal]: Move find's
34560         -depth option to precede all others, to avoid a warning.
34561         Remove *.[ch] files too, and from "$source_base" (usually lib/).
34562
34563 2008-04-02  Bruno Haible  <bruno@clisp.org>
34564
34565         Avoid some warnings from "gcc -Wshadow".
34566         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
34567         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
34568         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
34569         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
34570         Reported by Jim Meyering.
34571
34572 2008-04-01  Bruno Haible  <bruno@clisp.org>
34573
34574         Fix test to work on IRIX 6.5 with cc.
34575         * tests/test-math.c (numeric_equal): New function.
34576         (main): Use it.
34577
34578 2008-04-01  Bruno Haible  <bruno@clisp.org>
34579
34580         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
34581
34582 2008-04-01  Bruno Haible  <bruno@clisp.org>
34583
34584         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
34585         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
34586         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
34587         (Depends-on): Remove math.
34588
34589         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
34590         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
34591         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
34592         (Depends-on): Remove math.
34593
34594         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
34595         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
34596         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
34597         (Depends-on): Remove math.
34598         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
34599         (Depends-on): Remove math.
34600
34601         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
34602         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
34603         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
34604         (Depends-on): Remove math.
34605         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
34606         (Depends-on): Remove math.
34607
34608         * tests/test-round1.c: Include nan.h.
34609         (main): Use NaNd instead of NAN.
34610         * modules/round-tests (Files): Add tests/nan.h.
34611
34612         * tests/test-trunc1.c: Include nan.h.
34613         (main): Use NaNd instead of NAN.
34614         * modules/trunc-tests (Files): Add tests/nan.h.
34615
34616         * tests/test-roundf1.c: Include nan.h.
34617         (main): Use NaNf instead of NAN.
34618         * modules/roundf-tests (Files): Add tests/nan.h.
34619
34620         * tests/test-truncf1.c: Include nan.h.
34621         (main): Use NaNf instead of NAN.
34622         * modules/truncf-tests (Files): Add tests/nan.h.
34623
34624         * tests/test-ceilf1.c: Include nan.h.
34625         (main): Use NaNf instead of NAN.
34626         * modules/ceilf-tests (Files): Add tests/nan.h.
34627
34628         * tests/test-floorf1.c: Include nan.h.
34629         (main): Use NaNf instead of NAN.
34630         * modules/floorf-tests (Files): Add tests/nan.h.
34631
34632         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
34633         (main): Use NaNf instead of NAN.
34634         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
34635
34636         * tests/test-isnand.c: Include nan.h instead of <math.h>.
34637         (main): Use NaNd instead of NAN.
34638         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
34639
34640         * tests/test-frexp.c: Include nan.h.
34641         (main): Use NaNd instead of NAN.
34642         * modules/frexp-tests (Files): Add tests/nan.h.
34643
34644         * lib/isnan.c: Don't include <math.h>.
34645         (FUNC): Don't use NAN macro.
34646         * modules/isnand-nolibm (Depends-on): Remove math.
34647         * modules/isnanf-nolibm (Depends-on): Remove math.
34648         * modules/isnanl (Depends-on): Remove math.
34649         * modules/isnanl-nolibm (Depends-on): Remove math.
34650
34651         * tests/nan.h: New file.
34652
34653 2008-04-01  Eric Blake  <ebb9@byu.net>
34654
34655         Fix typos.
34656         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
34657         values to be the right type.
34658
34659         For now, cater to gnulib strtod inaccuracies.
34660         * tests/test-strtod.c (main): Allow 1-ulp error on expected
34661         fractional results.  While not as nice from a QoI perspective, it
34662         is a quicker patch than correctly implementing decimal to binary
34663         rounding.
34664
34665 2008-03-31  Eric Blake  <ebb9@byu.net>
34666
34667         Guarantee a definition of NAN.
34668         * lib/math.in.h (NAN): Define if missing.
34669         * tests/test-math.c (main): Test it.
34670         * doc/posix-headers/math.texi (math.h): Document this.
34671         * lib/isnan.c (rpl_isnand): Use it.
34672         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
34673         * tests/test-floorf1.c (NaN): Likewise.
34674         * tests/test-frexp.c (NaN): Likewise.
34675         * tests/test-isnand.c (NaN): Likewise.
34676         * tests/test-isnanf.c (NaN): Likewise.
34677         * tests/test-round1.c (NaN): Likewise.
34678         * tests/test-roundf1.c (NaN): Likewise.
34679         * tests/test-snprintf-posix.h (NaN): Likewise.
34680         * tests/test-sprintf-posix.h (NaN): Likewise.
34681         * tests/test-trunc1.c (NaN): Likewise.
34682         * tests/test-truncf1.c (NaN): Likewise.
34683         * tests/test-vasnprintf-posix.c (NaN): Likewise.
34684         * tests/test-vasprintf-posix.c (NaN): Likewise.
34685         * modules/isnand-nolibm (Depends-on): Add math.
34686         * modules/isnanf-nolibm (Depends-on): Likewise.
34687         * modules/isnanl (Depends-on): Likewise.
34688         * modules/isnanl-nolibm (Depends-on): Likewise.
34689         * modules/snprintf-posix-tests (Depends-on): Likewise.
34690         * modules/sprintf-posix-tests (Depends-on): Likewise.
34691         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
34692         * modules/vsprintf-posix-tests (Depends-on): Likewise.
34693         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
34694         * modules/vasprintf-posix-tests (Depends-on): Likewise.
34695
34696 2008-03-31  Bruno Haible  <bruno@clisp.org>
34697
34698         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
34699         * doc/posix-functions/strtod.texi: Likewise.
34700
34701 2008-03-31  Bruno Haible  <bruno@clisp.org>
34702
34703         * tests/test-strtod.c (main): Don't use C99 syntax.
34704
34705 2008-03-31  Bruno Haible  <bruno@clisp.org>
34706
34707         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
34708         Reported by Eric Blake.
34709
34710 2008-03-31  Jim Meyering  <meyering@redhat.com>
34711
34712         Don't compare actual signbit return values.
34713         * tests/test-strtod.c (main): Rather, compare only their
34714         zero/non-zero nature.
34715
34716 2008-03-31  Eric Blake  <ebb9@byu.net>
34717
34718         More strtod documentation.
34719         * doc/posix-functions/strtod.texi (strtod): Interpret more test
34720         failures as distinct bugs.
34721
34722 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
34723
34724         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
34725         Problem reported by Erik Benada in
34726         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
34727
34728 2008-03-30  Bruno Haible  <bruno@clisp.org>
34729
34730         * tests/test-strtod.c: Add comments about which assertion fails on which
34731         platform.
34732         * doc/posix-functions/strtod.texi: Add info about many more platforms.
34733
34734 2008-03-30  Eric Blake  <ebb9@byu.net>
34735
34736         Test signbit behavior on zeros.
34737         * tests/test-signbit.c (test_signbitf): Add tests for zero.
34738         (test_signbitd, test_signbitl): Likewise.
34739
34740         More strtod touchups.
34741         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
34742         sign of negative underflow, for now.  Use .5, not .1.
34743         * doc/posix-functions/strtod.texi (strtod): Mention these
34744         limitations.
34745         Reported by Jim Meyering.
34746
34747 2008-03-30  Bruno Haible  <bruno@clisp.org>
34748
34749         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
34750         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
34751
34752 2008-03-30  Bruno Haible  <bruno@clisp.org>
34753
34754         Avoid failure when attempting to return empty iconv results on some
34755         platforms.
34756         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
34757         allocation, don't report ENOMEM when the resulting string is empty.
34758
34759 2008-03-30  Bruno Haible  <bruno@clisp.org>
34760
34761         Fix buffer overrun.
34762         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
34763         Don't consider the width for tmp_length. Check count against tmp_length
34764         before doing the padding. Ensure enough allocation during padding.
34765
34766 2008-03-30  Eric Blake  <ebb9@byu.net>
34767
34768         strtod touchups.
34769         * lib/strtod.c (strtod): Avoid compiler warnings.
34770         Reported by Jim Meyering.
34771
34772 2008-03-30  Bruno Haible  <bruno@clisp.org>
34773
34774         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
34775         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
34776         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
34777         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
34778         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
34779         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
34780         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
34781         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
34782
34783         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
34784         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
34785         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
34786         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
34787         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
34788         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
34789         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
34790         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
34791
34792         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
34793         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
34794         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
34795         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
34796         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
34797         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
34798         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
34799         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
34800
34801         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
34802         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
34803
34804         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
34805         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
34806
34807         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
34808         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
34809
34810         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
34811         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
34812         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
34813
34814         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
34815         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
34816         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
34817
34818         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
34819         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
34820         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
34821
34822         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
34823         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
34824         * modules/vasprintf (Depends-on): Add EOVERFLOW.
34825
34826         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
34827         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
34828         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
34829         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
34830         (Depends-on): Add EOVERFLOW.
34831         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
34832         (Depends-on): Add EOVERFLOW.
34833         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
34834         (Depends-on): Add EOVERFLOW.
34835         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
34836         (Depends-on): Add EOVERFLOW.
34837         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
34838         (Depends-on): Add EOVERFLOW.
34839         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
34840         (Depends-on): Add EOVERFLOW.
34841         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
34842         (Depends-on): Add EOVERFLOW.
34843         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
34844         (Depends-on): Add EOVERFLOW.
34845
34846         * lib/sprintf.c (EOVERFLOW): Remove fallback.
34847         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
34848         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
34849
34850         * lib/snprintf.c (EOVERFLOW): Remove fallback.
34851         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
34852         * modules/snprintf (Depends-on): Add EOVERFLOW.
34853
34854         * lib/poll.c (EOVERFLOW): Remove fallback.
34855         * modules/poll (Depends-on): Add EOVERFLOW.
34856
34857         * lib/getugroups.c (EOVERFLOW): Remove fallback.
34858         * modules/getugroups (Depends-on): Add EOVERFLOW.
34859
34860         * lib/getdelim.c (EOVERFLOW): Remove fallback.
34861         * modules/getdelim (Depends-on): Add EOVERFLOW.
34862
34863         * lib/ftell.c (EOVERFLOW): Remove fallback.
34864         * modules/ftell (Depends-on): Add EOVERFLOW.
34865
34866         * lib/fprintf.c (EOVERFLOW): Remove fallback.
34867         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
34868         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
34869
34870         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
34871
34872         * modules/EOVERFLOW-tests: New file.
34873         * tests/test-EOVERFLOW.c: New file.
34874
34875         * modules/EOVERFLOW: New file.
34876         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
34877
34878 2008-03-30  Bruno Haible  <bruno@clisp.org>
34879
34880         Fix bug introduced on 2007-06-10.
34881         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
34882         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
34883
34884 2008-03-30  Bruno Haible  <bruno@clisp.org>
34885
34886         Improve freadseek's efficiency after ungetc.
34887         * lib/freadseek.c: Include freadahead.h.
34888         (freadptrinc): New function, extracted from freadseek.
34889         (freadseek): Use it in a loop. Use freadahead to determine the number
34890         of loop iterations.
34891         * modules/freadseek (Depends-on): Add freadahead.
34892         (configure.ac): Require AC_C_INLINE.
34893
34894 2008-03-30  Bruno Haible  <bruno@clisp.org>
34895
34896         * lib/freadseek.c (freadseek): Don't ignore the return value of
34897         freadptr.
34898
34899 2008-03-29  Eric Blake  <ebb9@byu.net>
34900
34901         Add hex float support.
34902         * modules/strtod (Depends-on): Add c-ctype.
34903         (Link): Mention POW_LIB.
34904         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
34905         whitespace between 'e' and exponent.
34906         * tests/test-strtod.c (main): Enable hex float tests.
34907         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
34908         now provides.
34909
34910         Document various strtod bugs, with some fixes.
34911         * doc/posix-functions/strtod.texi (strtod): Document bugs with
34912         "-0x", "inf", "nan", and hex constants.
34913         * doc/posix-functions/atof.texi (atof): Likewise.
34914         * modules/stdlib (Makefile.am): Support strtod.
34915         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
34916         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
34917         detect additional strtod bugs.
34918         * lib/stdlib.in.h (rpl_strtod): Add declarations.
34919         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
34920         bool where appropriate.  Parse 'inf' and 'nan'.
34921         * tests/test-strtod.c: New file.
34922         * modules/strtod (Depends-on): Add stdbool, stdlib.
34923         (configure.ac): Turn on module indicator.
34924         * modules/strtod-tests: New module.
34925
34926 2008-03-29  Eric Blake  <ebb9@byu.net>
34927
34928         Fix ftell on mingw.
34929         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
34930         * modules/ftell-tests (Depends-on): Add binary-io.
34931         * modules/ftello-tests (Depends-on): Likewise.
34932         * tests/test-ftell.c (main): Enhance test to cover behavior after
34933         ungetc.  Enforce binary mode.
34934         * tests/test-ftello.c (main): Likewise.
34935
34936         Pass test-freadseek on cygwin.
34937         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
34938         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
34939         ungetc buffer.
34940
34941         * tests/test-fflush2.c (main): Fix typo.
34942
34943 2008-03-29  Bruno Haible  <bruno@clisp.org>
34944
34945         * tests/test-fflush2.c (main): Temporarily disable the contents of
34946         this test.
34947         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
34948         Reported by Eric Blake.
34949
34950 2008-03-28  Simon Josefsson  <simon@josefsson.org>
34951
34952         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
34953         (GC_SHA224_DIGEST_SIZE): Add.
34954
34955         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
34956         (gc_hash_digest_length): Likewise.
34957         (gc_hash_buffer): Likewise.
34958
34959 2008-03-25  Bruno Haible  <bruno@clisp.org>
34960
34961         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
34962         detail which gettext release to use.
34963         Reported by Simon Josefsson.
34964
34965 2008-03-26  Jim Meyering  <meyering@redhat.com>
34966
34967         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
34968         * modules/gnumakefile (clean-GNUmakefile): Also, use
34969         test ... && ... || : syntax rather than if-then ... fi.
34970
34971         gnumakefile: Don't double-quote-expand $(VPATH) value.
34972         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
34973
34974 2008-03-24  Eric Blake  <ebb9@byu.net>
34975
34976         Alter GNUmakefile to install into top directory.
34977         * modules/maintainer-makefile: Split, and add dependency...
34978         * modules/gnumakefile: to this new module.
34979         * build-aux/GNUmakefile: Move...
34980         * top/GNUmakefile: ...here.
34981         * build-aux/maint.mk: Move...
34982         * top/maint.mk: ...here.
34983         * MODULES.html.sh (Support for maintaining...): Document new
34984         module.
34985
34986 2008-03-23  Bruno Haible  <bruno@clisp.org>
34987
34988         * gnulib-tool: New options --vc-files, --no-vc-files.
34989         (func_usage): Document them.
34990         (vc_files): New variable.
34991         (func_import): Consider vc_files.
34992         (func_create_testdir): Set vc_files to empty.
34993         Suggested by Jim Meyering and Karl Berry.
34994
34995 2008-03-23  Bruno Haible  <bruno@clisp.org>
34996
34997         Fix regex compilation error on HP-UX 11.
34998         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
34999         * modules/regex (Files): Add m4/mbstate_t.m4.
35000         Reported by Ton Voon <ton.voon@altinity.com>.
35001
35002 2008-03-23  Bruno Haible  <bruno@clisp.org>
35003
35004         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
35005
35006 2008-03-23  Eric Blake  <ebb9@byu.net>
35007             Bruno Haible  <bruno@clisp.org>
35008
35009         Install files from top/ in the destination directory.
35010         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
35011         augmentation also for the files from top/.
35012         (func_import, func_create_testdir): Rewrite file names:
35013         top/filename -> filename.
35014
35015 2008-03-23  Bruno Haible  <bruno@clisp.org>
35016
35017         Tweak "gnulib --version" output.
35018         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
35019
35020 2008-03-23  Bruno Haible  <bruno@clisp.org>
35021
35022         Tweak "gnulib --version" output.
35023         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
35024         rather than contents of ChangeLog, when possible.
35025
35026 2008-03-21  Eric Blake  <ebb9@byu.net>
35027
35028         More --version tweaks.
35029         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
35030         date of last ChangeLog entry.
35031
35032 2008-03-21  Jim Meyering  <meyering@redhat.com>
35033
35034         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
35035
35036 2008-03-20  Eric Blake  <ebb9@byu.net>
35037
35038         VPATH fix.
35039         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
35040
35041 2008-03-20  Simon Josefsson  <simon@josefsson.org>
35042
35043         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
35044         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
35045
35046 2008-03-20  Eric Blake  <ebb9@byu.net>
35047
35048         Sync GNUmakefile with coreutils.
35049         * build-aux/GNUmakefile (have-Makefile): Rename...
35050         (_have-Makefile): ...to this, for namespace consideration.
35051         (GNUmakefile.cfg): Include, if present.
35052         (_autoreconf): Define a default.
35053         (_is-dist-target): New rule for rebuilds to pick up intra-release
35054         version.
35055         (maint-cfg.mk): Rename...
35056         (cfg.mk): ...to this.
35057
35058 2008-03-18  Jim Meyering  <meyering@redhat.com>
35059
35060         New script and module: mktempd
35061         * MODULES.html.sh (maint+release support): Add mktempd.
35062         * build-aux/mktempd: New file.
35063         * modules/mktempd: New file.
35064
35065 2008-03-15  Jim Meyering  <meyering@redhat.com>
35066
35067         Undo last change.
35068         * lib/sha1.c, lib/md5.c: 63 != ~63.
35069         Reported by Andreas Schwab.
35070
35071         sha1.c, md5.c: Hoist a redundant expression.
35072         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
35073         "ctx->buflen" only once, before calling *_process_block.
35074         * lib/md5.c (md5_process_bytes): Likewise.
35075
35076 2008-03-14  Eric Blake  <ebb9@byu.net>
35077
35078         Bump copyright year in files generated by gnulib-tool.
35079         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
35080         gnulib-tool, rather than hard-coding it.
35081
35082         Fix 'gnulib-tool --version' output to work with git.
35083         * gnulib-tool (func_gnulib_dir): New function, extracted from...
35084         (startup): ...here.
35085         (func_version): Use it to invoke git-version-gen, rather than
35086         relying on CVS keyword expansion.  Modernize wording.
35087         (cvsdatestamp, last_checkin_date, version): Kill unused
35088         variables.
35089
35090 2008-03-12  Jim Meyering  <meyering@redhat.com>
35091
35092         Recognize optional cast of the argument to free.
35093         * build-aux/useless-if-before-free: Update regexps.
35094
35095         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
35096
35097 2008-03-11  Bruno Haible  <bruno@clisp.org>
35098
35099         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
35100         by a single package.
35101         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
35102         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
35103         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
35104         Reported by Sam Steingold <sds@gnu.org>.
35105
35106 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
35107
35108         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
35109         repositories.
35110
35111 2008-03-11  Bruno Haible  <bruno@clisp.org>
35112
35113         Avoid conflicts between local macro definitions.
35114         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
35115         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
35116
35117 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
35118             Bruno Haible  <bruno@clisp.org>
35119
35120         Make va_copy work with some version of xlc on AIX 5.1.
35121         * lib/stdarg.in.h: New file.
35122         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
35123         On AIX, use a <stdarg.h> file substitute.
35124         * modules/stdarg (Files): Add lib/stdarg.in.h.
35125         (Depends-on): Add include_next.
35126         (Makefile.am): Build a stdarg.h substitute if requested.
35127         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
35128
35129 2008-03-10  Bruno Haible  <bruno@clisp.org>
35130
35131         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
35132         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
35133         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
35134
35135 2008-03-10  Bruno Haible  <bruno@clisp.org>
35136
35137         * modules/stdlib (Depends-on): Add include_next, remove
35138         absolute-header.
35139
35140 2008-03-09  Bruno Haible  <bruno@clisp.org>
35141
35142         * lib/freadahead.h (freadahead): Document more precisely.
35143         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
35144         the sum of both buffer sizes.
35145         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
35146         * NEWS: Document the change.
35147
35148 2008-03-09  Bruno Haible  <bruno@clisp.org>
35149
35150         Extend freadptr to return also the buffer size.
35151         * lib/freadptr.h (freadptr): Add sizep argument.
35152         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
35153         (freadptr): Add sizep argument. Determine buffer size like freadahead
35154         does.
35155         * tests/test-freadptr.c: Don't include freadahead.h.
35156         (main): Adapt for new calling convention of freadptr.
35157         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
35158         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
35159         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
35160         tests/test-freadptr2.sh.
35161         (Depends): Remove freadahead.
35162         (TESTS): Add test-freadptr2.sh.
35163         (check_PROGRAMS): Add test-freadptr2.
35164
35165 2008-03-09  Bruno Haible  <bruno@clisp.org>
35166
35167         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
35168         Report and solution by Simon Josefsson.
35169
35170 2008-03-06  Bruno Haible  <bruno@clisp.org>
35171
35172         Make fflush after ungetc work on BSD platforms.
35173         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
35174         * tests/test-fflush2.c: New file.
35175         * tests/test-fflush2.sh: New file.
35176         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
35177         tests/test-fflush2.c.
35178         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
35179         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
35180
35181 2008-03-06  Eric Blake  <ebb9@byu.net>
35182
35183         Likewise for ftello.
35184         * modules/ftello (Dependencies): Add extensions.
35185         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
35186
35187 2008-03-06  Bruno Haible  <bruno@clisp.org>
35188
35189         * modules/fseeko (Dependencies): Add extensions.
35190         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
35191         Needed on glibc systems.
35192
35193 2008-03-06  Bruno Haible  <bruno@clisp.org>
35194
35195         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
35196         email address.
35197         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
35198
35199 2008-03-06  Bruno Haible  <bruno@clisp.org>
35200
35201         * users.txt: Add libgnupdf.
35202
35203 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
35204
35205         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
35206         (Header File Substitutes, Function Substitutes,
35207         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
35208         (Build robot for gnulib): Fix typo.
35209
35210 2008-03-06  Bruno Haible  <bruno@clisp.org>
35211
35212         * doc/gnulib-tool.texi (VCS Issues): Small updates.
35213         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
35214
35215 2008-03-06  Bruno Haible  <bruno@clisp.org>
35216
35217         * doc/func.texi: New file, extracted from doc/gnulib.texi.
35218         * doc/gnulib.texi: Include it.
35219
35220 2008-03-06  Simon Josefsson  <simon@josefsson.org>
35221
35222         * modules/func (License): Change license to unlimited; there was
35223         no LGPL parts in the module anyway.
35224
35225 2008-03-06  Simon Josefsson  <simon@josefsson.org>
35226
35227         * modules/__func__: Renamed to modules/func.
35228         * modules/__func__-tests: Renamed to modules/func-tests.
35229         * tests/test-__func__.c: Renamed to tests/test-func.c.
35230         * m4/__func__.m4: Renamed to m4/func.m4.
35231         * doc/gnulib.texi (__func__): Section renamed to func.
35232         Suggested by Eric Blake <ebb9@byu.net>.
35233
35234 2008-03-06  Simon Josefsson  <simon@josefsson.org>
35235
35236         * doc/gnulib.texi (__func__): Use C99 terminology when talking
35237         about __func__.  Make example self-contained.  Suggested by Eric
35238         Blake <ebb9@byu.net>.
35239
35240         * tests/test-__func__.c (main): Avoid extraneous () around __func.
35241         Suggested by Eric Blake <ebb9@byu.net>.
35242
35243 2008-03-06  Simon Josefsson  <simon@josefsson.org>
35244
35245         * modules/__func__: New file.
35246         * modules/__func__-tests: New file.
35247         * tests/test-__func__.c: New file.
35248         * m4/__func__.m4: New file.
35249         * doc/gnulib.texi (__func__): Document __func__ module.
35250
35251 2008-03-05  Simon Josefsson  <simon@josefsson.org>
35252
35253         * modules/byteswap (License): Re-license as LGPLv2+.
35254
35255 2008-03-05  Simon Josefsson  <simon@josefsson.org>
35256
35257         * doc/Makefile: Add pdf target.
35258
35259 2008-03-05  Simon Josefsson  <simon@josefsson.org>
35260
35261         * modules/inline (License): Use 'unlimited', since there are only
35262         *.m4 files in this module.
35263
35264 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
35265             Bruno Haible  <bruno@clisp.org>
35266
35267         Add support for HP C 7.1 on OpenVMS 8.3.
35268         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
35269
35270 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
35271
35272         Update VMS specifics.
35273         * lib/getopt.c [VMS]: Remove include of unixlib.h.
35274
35275 2008-03-02  Jim Meyering  <meyering@redhat.com>
35276
35277         Remove the last dependency on the "free" module.
35278         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
35279         Reported by Bob Proulx.
35280
35281         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
35282
35283         Remove useless "if" tests before free.  Deprecate "free" module.
35284         * doc/posix-functions/free.texi: Mention that this
35285         module is no longer useful.
35286         * modules/free (Notice): Say this module is obsolete.
35287         * modules/readutmp (Depends-on): Remove free.
35288         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
35289         * lib/putenv.c (putenv): Likewise.
35290         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
35291         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
35292         * tests/test-c-strcasestr.c (main): Likewise.
35293         * tests/test-c-strstr.c (main): Likewise.
35294         * tests/test-mbscasestr1.c (main): Likewise.
35295         * tests/test-mbscasestr2.c (main): Likewise.
35296         * tests/test-mbsstr1.c (main): Likewise.
35297         * tests/test-mbsstr2.c (main): Likewise.
35298         * tests/test-memmem.c (main): Likewise.
35299         * tests/test-strcasestr.c (main): Likewise.
35300         * tests/test-striconv.c (main): Likewise.
35301         * tests/test-striconveh.c (main): Likewise.
35302         * tests/test-striconveha.c (main): Likewise.
35303         * tests/test-strstr.c (main): Likewise.
35304
35305         * build-aux/git-version-gen: Adjust a comment and the Usage string.
35306
35307         bootstrap: sync from coreutils again
35308         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
35309
35310 2008-03-01  Jim Meyering  <meyering@redhat.com>
35311
35312         bootstrap: sync from coreutils
35313         * build-aux/bootstrap (update_po_files): Copy a .po file into place
35314         also when the target doesn't exist.
35315
35316 2008-03-01  Eric Blake  <ebb9@byu.net>
35317
35318         Fix bugs in last patch.
35319         * lib/memchr2.c (memchr2): Fix typo.
35320         * tests/test-memchr2.c: Test previous bug, and don't use GNU
35321         extension.
35322         Reported by Bruce Korb.
35323
35324         New module 'memchr2'.
35325         * modules/memchr2: New file.
35326         * modules/memchr2-tests: Likewise.
35327         * lib/memchr2.h: Likewise.
35328         * lib/memchr2.c: Likewise, based on memchr.c.
35329         * tests/test-memchr2.c: New test.
35330         * MODULES.html.sh (String handling): Add memchr2.
35331
35332 2008-02-29  Bruno Haible  <bruno@clisp.org>
35333
35334         * modules/freadseek-tests: New file.
35335         * tests/test-freadseek.sh: New file.
35336         * tests/test-freadseek.c: New file.
35337
35338         New module 'freadseek'.
35339         * modules/freadseek: New file.
35340         * lib/freadseek.h: New file.
35341         * lib/freadseek.c: New file.
35342         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
35343
35344 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
35345
35346         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
35347         wydawca.
35348
35349         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
35350         program_invocation_name and program_invocation_short_name are
35351         present.
35352
35353 2008-02-28  Bruno Haible  <bruno@clisp.org>
35354
35355         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
35356         * tests/test-freadptr.sh: Also test non-seekable stdin.
35357
35358 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
35359
35360         * build-aux/bootstrap (source_base, m4_base)
35361         (doc_base, tests_base): New variables.
35362         (gnulib_tool_options): Do not hardcode base directories, use
35363         the above variables instead.
35364
35365 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
35366
35367         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
35368
35369 2008-02-28  Bruno Haible  <bruno@clisp.org>
35370
35371         * modules/freadptr-tests: New file.
35372         * tests/test-freadptr.sh: New file.
35373         * tests/test-freadptr.c: New file.
35374
35375         New module 'freadptr'.
35376         * modules/freadptr: New file.
35377         * lib/freadptr.h: New file.
35378         * lib/freadptr.c: New file.
35379         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
35380
35381 2008-02-26  Karl Berry  <karl@freefriends.org>
35382
35383         Sync from Libtool:
35384         * libltdl/argz.c (argz_add, argz_count): New functions.
35385         * libltdl/argz.in.h: Declare them.
35386         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
35387
35388 2008-02-22  Bruno Haible  <bruno@clisp.org>
35389
35390         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
35391         is a pointer type.  Needed for HP-UX 10.
35392         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
35393         * doc/posix-functions/gmtime_r.texi: Likewise.
35394         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
35395
35396 2008-02-24  Bruno Haible  <bruno@clisp.org>
35397
35398         * modules/environ-tests: New file.
35399         * tests/test-environ.c: New file.
35400
35401         New module 'environ'.
35402         * modules/environ: New file.
35403         * lib/unistd.in.h (environ): New declaration.
35404         * m4/environ.m4: New file.
35405         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
35406         after use.
35407         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
35408         HAVE_DECL_ENVIRON.
35409         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
35410         HAVE_DECL_ENVIRON.
35411         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
35412         wrong claim that 'environ' is missing on some systems.
35413         * modules/execute (Depends-on): Add environ.
35414         * lib/execute.c (environ): Remove fallback declaration.
35415         * modules/pipe (Depends-on): Add environ.
35416         * lib/pipe.c (environ): Remove fallback declaration.
35417         * modules/setenv (Depends-on): Add environ.
35418         * lib/setenv.c (environ): Remove fallback declaration.
35419         * modules/unsetenv (Depends-on): Add environ.
35420         * lib/unsetenv.c (environ): Remove fallback declaration.
35421         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
35422         m4/environ.m4.
35423         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
35424         (gl_PREREQ_UNSETENV): Likewise.
35425
35426 2008-02-24  Bruno Haible  <bruno@clisp.org>
35427
35428         * doc/posix-functions/environ.texi: Document the MacOS X problem.
35429
35430 2008-02-20  Bob Proulx  <bob@proulx.com>
35431
35432         Enable use of older two part flavor 'git describe'.
35433         * build-aux/git-version-gen: If using the older two part flavor of
35434         git version then recreate the third part now present in the
35435         newer three part flavor of git describe.
35436
35437 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
35438
35439         * lib/fts.c (fts_build): Typo correction to comment.
35440
35441 2008-02-17  Bruno Haible  <bruno@clisp.org>
35442
35443         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
35444         generating no-op conflicts.
35445
35446 2008-02-17  Bruno Haible  <bruno@clisp.org>
35447
35448         Speed up by 10%.
35449         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
35450         result_entries, rather than an index-based loop.
35451
35452 2008-02-17  Bruno Haible  <bruno@clisp.org>
35453
35454         Speed up by 25%.
35455         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
35456         'hashcode_cached'.
35457         (entry_create): New function.
35458         (entry_hashcode): Use the cached hashcode if possible.
35459         (read_changelog_file, try_split_merged_entry): Use entry_create.
35460
35461 2008-02-17  Bruno Haible  <bruno@clisp.org>
35462
35463         Speed up from O(n^2) to O(n) for long ChangeLog files.
35464         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
35465         (read_changelog_file): Change implementation of entries_reversed list
35466         to rbtreehash.
35467         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
35468
35469 2008-02-17  Bruno Haible  <bruno@clisp.org>
35470
35471         New option --split-merged-entry.
35472         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
35473         (find_paragraph_end, try_split_merged_entry): New functions.
35474         (long_options): Add option --split-merged-entry.
35475         (usage): Document option --split-merged-entry.
35476         (main): Implement option --split-merged-entry.
35477         Reported by Eric Blake.
35478
35479 2008-02-17  Bruno Haible  <bruno@clisp.org>
35480
35481         * lib/git-merge-changelog.c: Include c-strstr.h.
35482         (main): Support the "git pull --rebase" situation.
35483         * modules/git-merge-changelog (Depends-on): Add c-strstr.
35484         Reported by Eric Blake.
35485
35486 2008-02-16  Eric Blake  <ebb9@byu.net>
35487
35488         Avoid doubling \ in common case of "c-maybe" quoting style.
35489         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
35490         eliding outer quotes.
35491         * lib/quotearg.h: Document this.
35492         * tests/test-quotearg.c (result_strings, inputs, results_g)
35493         (flag_results, locale_results): Test it by adding a new string to
35494         each test group.
35495         (compare_strings): Test new string.
35496
35497 2008-02-13  Eric Blake  <ebb9@byu.net>
35498
35499         Avoid trigraph quoting in default output.
35500         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
35501         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
35502         unless explicitly requested.
35503         * tests/test-quotearg.c (flag_results, main): Add additional tests.
35504
35505 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
35506
35507         Don't rely on signed integer overflowing to negative value.
35508         * lib/getugroups.c (getugroups): Include <limits.h>.
35509         Instead, compare against INT_MAX, and increment only if the test passes.
35510
35511 2008-02-13  Jim Meyering  <meyering@redhat.com>
35512         and Eric Blake  <ebb9@byu.net>
35513
35514         Avoid shadowing warning and compile errors on Linux.
35515         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
35516         forwarding macros on Linux.
35517         (dcgettext): Define a stub, for Linux.
35518         (results_g, main): Avoid warnings.
35519
35520 2008-02-12  Eric Blake  <ebb9@byu.net>
35521
35522         Silence warning in last patch.
35523         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
35524
35525         Quotearg part 4: add tests, fix c-maybe colon quoting.
35526         * lib/quotearg.h: Improve documentation.
35527         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
35528         escapes when adding outer quotes.  When quoting trigraphs, use
35529         valid C notation.  When quoting NUL, omit extra characters if next
35530         character is not digit.  Alter prototype.
35531         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
35532         callers.
35533         * modules/quotearg-tests: New module.
35534         * tests/test-quotearg.c: New test.
35535
35536 2008-02-07  Eric Blake  <ebb9@byu.net>
35537
35538         Quotearg part 3: add flag to control outer quote elision.
35539         * lib/quotearg.h (c_maybe_quoting_style): New style.
35540         (enum quoting_flags): Better documentation of flags.
35541         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
35542         c-maybe style.
35543         (quotearg_buffer_restyled): Handle new flag to elide outer
35544         quotes.
35545
35546         Quotearg part 2: add flag that can control NUL elision.
35547         * lib/quotearg.h (set_quoting_flags): New prototype.
35548         * lib/quotearg.c (struct quoting_options): Add flag field.
35549         (set_quoting_flags): New function.
35550         (quotearg_buffer_restyled): Add flags parameter.
35551         (quotearg_alloc_mem): Set the flag if length cannot be returned.
35552         (quotearg_n_options): Set the flag, since length cannot be
35553         returned.
35554         (quoting_options_from_style): Default flags correctly.
35555
35556         Quotearg part 1: more wrappers, restore quotearg_char state.
35557         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
35558         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
35559         (quotearg_colon_mem): New wrappers.
35560         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
35561         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
35562         functions.
35563         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
35564         (quotearg_colon_mem): New functions.
35565
35566 2008-02-11  Bruno Haible  <bruno@clisp.org>
35567
35568         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
35569         library in the current directory: it does not work with parallel make.
35570         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
35571
35572 2008-02-11  Bruno Haible  <bruno@clisp.org>
35573
35574         * .gitattributes: New file.
35575
35576 2008-02-11  Jim Meyering  <meyering@redhat.com>
35577
35578         useless-if-before-free: Fix reversed exit values.
35579         * build-aux/useless-if-before-free: Use correct values
35580         for EXIT_MATCH and EXIT_NO_MATCH.
35581
35582         * build-aux/useless-if-before-free: Close stdout carefully.
35583
35584 2008-02-10  Bruno Haible  <bruno@clisp.org>
35585
35586         New module 'git-merge-changelog'.
35587         * modules/git-merge-changelog: New file.
35588         * lib/git-merge-changelog.c: New file.
35589
35590 2008-02-10  Jim Meyering  <meyering@redhat.com>
35591
35592         useless-if-before-free: New option: --list (-l).
35593
35594         useless-if-before-free: Don't exit immediately upon open failure.
35595         * build-aux/useless-if-before-free: Exit 2 for errors.
35596         Upon failure to open a file, don't exit immediately.
35597         Rather, just warn and continue with any remaining files.
35598
35599 2008-02-10  Bruno Haible  <bruno@clisp.org>
35600
35601         New abstract list operation 'node_set_value'.
35602         * lib/gl_list.h (gl_list_node_set_value): New function.
35603         (struct gl_list_implementation): New field node_set_value.
35604         * lib/gl_list.c (gl_list_node_set_value): New function.
35605         * lib/gl_array_list.c (gl_array_node_set_value): New function.
35606         (gl_array_list_implementation): Update.
35607         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
35608         (gl_carray_list_implementation): Update.
35609         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
35610         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
35611         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
35612         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
35613         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
35614         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
35615         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
35616         Update.
35617         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
35618         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
35619         (gl_sublist_list_implementation): Update.
35620
35621 2008-02-10  Bruno Haible  <bruno@clisp.org>
35622
35623         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
35624         Needed when ELEMENT is #defined to 'some_type *'.
35625
35626 2008-02-10  Jim Meyering  <meyering@redhat.com>
35627
35628         New script and module: useless-if-before-free
35629         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
35630         * build-aux/useless-if-before-free: New file.
35631         * modules/useless-if-before-free: New file.
35632
35633         * build-aux/gitlog-to-changelog: Use committer date, not author date.
35634
35635         xstrtol_error: Fix typo.
35636         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
35637         s/exit_failure/exit_status/.
35638
35639 2008-02-09  Jim Meyering  <meyering@redhat.com>
35640
35641         New script and module: gitlog-to-changelog
35642         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
35643         * modules/gitlog-to-changelog: New file.
35644         * build-aux/gitlog-to-changelog: New file.
35645
35646 2008-02-08  Jim Meyering  <meyering@redhat.com>
35647
35648         Avoid two "parameter unused" warnings.
35649         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
35650         Mark "st" as used.
35651
35652         Use "git COMMAND", not "git-COMMAND".
35653         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
35654         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
35655         * build-aux/git-version-gen: Use "git status", not "git-status".
35656
35657 2008-02-07  Bruno Haible  <bruno@clisp.org>
35658
35659         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
35660         Avoids a crash on Windows Vista.
35661         Reported by Adam Strzelecki <ono@java.pl> via
35662         Simon Josefsson <simon@josefsson.org>.
35663
35664 2008-02-06  Bruno Haible  <bruno@clisp.org>
35665
35666         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
35667         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
35668         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
35669         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
35670         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
35671         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35672         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
35673         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
35674         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35675         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35676         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35677         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35678         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35679         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35680         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35681         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
35682         left-adjust flag.
35683         * tests/test-snprintf-posix.h (test_function): Likewise.
35684         * tests/test-sprintf-posix.h (test_function): Likewise.
35685         * tests/test-vasprintf-posix.c (test_function): Likewise.
35686         * doc/posix-functions/fprintf.texi: Update.
35687         * doc/posix-functions/printf.texi: Update.
35688         * doc/posix-functions/snprintf.texi: Update.
35689         * doc/posix-functions/sprintf.texi: Update.
35690         * doc/posix-functions/vfprintf.texi: Update.
35691         * doc/posix-functions/vprintf.texi: Update.
35692         * doc/posix-functions/vsnprintf.texi: Update.
35693         * doc/posix-functions/vsprintf.texi: Update.
35694         Reported by Peter Fales <psfales@alcatel-lucent.com>.
35695
35696 2008-02-06  Bruno Haible  <bruno@clisp.org>
35697
35698         Fix bug introduced on 2008-01-26.
35699         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
35700
35701 2008-02-06  Bruno Haible  <bruno@clisp.org>
35702
35703         Fix bug introduced on 2007-06-10.
35704         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
35705         !NEED_PRINTF_FLAG_ZERO.
35706
35707 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
35708
35709         getloadavg: use libperfstat on AIX5
35710         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
35711
35712 2008-02-03  Bruno Haible  <bruno@clisp.org>
35713
35714         * lib/diffseq.h: Add comments about required #includes.
35715         Reported by Michael Biggs <gnulib@doubleplum.net>.
35716
35717 2008-02-01  Bruno Haible  <bruno@clisp.org>
35718
35719         * users.txt: Add gnuit.
35720
35721 2008-01-31  Bruno Haible  <bruno@clisp.org>
35722
35723         * lib/md4.c (set_uint32): Mark as inline.
35724         * lib/md5.c (set_uint32): Likewise.
35725         * lib/sha1.c (set_uint32): Likewise.
35726         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
35727         * m4/md5.m4 (gl_MD5): Likewise.
35728         * m4/sha1.m4 (gl_SHA1): Likewise.
35729
35730 2008-01-31  Jim Meyering  <meyering@redhat.com>
35731
35732         Use "sizeof VAR", rather than a literal "4".
35733         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
35734         * lib/md4.c (md4_read_ctx): Likewise.
35735         * lib/sha1.c (sha1_read_ctx): Likewise.
35736
35737 2008-01-31  Simon Josefsson  <simon@josefsson.org>
35738
35739         * tests/test-sha1.c: New file, based on test-md5.c.
35740
35741         * modules/crypto/sha1-tests: New file.
35742
35743 2008-01-31  Simon Josefsson  <simon@josefsson.org>
35744
35745         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
35746
35747 2008-01-31  Jim Meyering  <meyering@redhat.com>
35748
35749         Prefer "sizeof v" over the equivalent "4".
35750         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
35751         * lib/md5.c (set_uint32): Likewise.
35752         * lib/sha1.c (set_uint32): Likewise.
35753
35754 2008-01-31  Simon Josefsson  <simon@josefsson.org>
35755
35756         * lib/sha1.c (set_uint32): Mark function as static.
35757
35758 2008-01-31  Simon Josefsson  <simon@josefsson.org>
35759
35760         md2: clarify comments to say that alignment is not required.
35761         * lib/md2.h: Remove warning about alignment in comment.
35762         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
35763         never been required.
35764
35765 2008-01-31  Simon Josefsson  <simon@josefsson.org>
35766
35767         md4: adapt alignment constraint fix from sha1.
35768         * lib/md4.c (set_uint32): New function, from sha1.c
35769         (md4_read_ctx): Use it.
35770         (md4_finish_ctx): Doc fix.
35771         * lib/md4.h: Doc fix.
35772
35773 2008-01-31  Simon Josefsson  <simon@josefsson.org>
35774
35775         md5: adapt alignment constraint fix from sha1.
35776         * lib/md5.c (set_uint32): New function, from sha1.c
35777         (md5_read_ctx): Use it.
35778         (md5_finish_ctx): Doc fix.
35779         * lib/md5.h: Doc fix.
35780
35781 2008-01-30  Peter Palfrader  <weasel@debian.org>
35782
35783         sha1: remove the result buffer alignment constraint
35784         * lib/sha1.c (set_uint32): New function.
35785         (sha1_read_ctx): Rewrite to remove the result buffer alignment
35786         constraint.
35787         (sha1_finish_ctx): Remove comment warning about alignment constraint.
35788         * lib/sha1.h: Likewise.
35789
35790 2008-01-30  Andreas Schwab  <schwab@suse.de>
35791             Bruno Haible  <bruno@clisp.org>
35792
35793         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
35794         correct definition of LDBL_MIN_EXP.
35795
35796 2008-01-30  Karl Berry  <karl@gnu.org>
35797
35798         * config/srclist-update: try to preserve x bit on updates.
35799         * config/srclistvars.sh: update for karl.
35800
35801 2008-01-29  Jim Meyering  <meyering@redhat.com>
35802
35803         vasnprintf.c: Avoid warning about unused label
35804         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
35805         "overflow" label definition and associated code with the
35806         same cpp condition that guards the sole use of that label.
35807
35808 2008-01-26  Bruno Haible  <bruno@clisp.org>
35809
35810         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
35811         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
35812         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
35813         * lib/isnanl-nolibm.h (isnanl): Likewise.
35814         Reported by Paul Eggert <eggert@cs.ucla.edu>.
35815
35816 2008-01-26  Bruno Haible  <bruno@clisp.org>
35817
35818         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
35819         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
35820
35821 2008-01-26  Bruno Haible  <bruno@clisp.org>
35822
35823         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
35824         GCC >= 4.0 built-in.
35825         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
35826
35827 2008-01-26  Bruno Haible  <bruno@clisp.org>
35828
35829         Rename isnan, applicable to 'double' only, to isnand.
35830         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
35831         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
35832         (configure.ac): Update.
35833         (Include): Replace "isnan.h" with "isnand.h".
35834         * m4/isnand.m4: Renamed from m4/isnan.m4.
35835         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
35836         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
35837         instead of isnan.c.
35838         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
35839         instead of HAVE_ISNAN_IN_LIBC.
35840         (isnand): Renamed from isnan.
35841         * lib/isnand.c: New file.
35842         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
35843         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
35844         (Makefile.am): Update.
35845         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
35846         Include isnand.h instead of isnan.h.
35847         (main): Test isnand instead of isnan.
35848         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
35849         isnan-nolibm.
35850         * modules/frexp (Depends-on): Likewise.
35851         * modules/frexp-tests (Depends-on): Likewise.
35852         * modules/frexp-nolibm (Depends-on): Likewise.
35853         * modules/frexp-nolibm-tests (Depends-on): Likewise.
35854         * modules/isfinite (Depends-on): Likewise.
35855         * modules/round-tests (Depends-on): Likewise.
35856         * modules/signbit (Depends-on): Likewise.
35857         * modules/signbit-tests (Depends-on): Likewise.
35858         * modules/snprintf-posix (Depends-on): Likewise.
35859         * modules/sprintf-posix (Depends-on): Likewise.
35860         * modules/trunc-tests (Depends-on): Likewise.
35861         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35862         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35863         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35864         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35865         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35866         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35867         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35868         * modules/vasnprintf-posix (Depends-on): Likewise.
35869         * modules/vasprintf-posix (Depends-on): Likewise.
35870         * modules/vfprintf-posix (Depends-on): Likewise.
35871         * modules/vsnprintf-posix (Depends-on): Likewise.
35872         * modules/vsprintf-posix (Depends-on): Likewise.
35873         * lib/frexp.c: Include isnand.h instead of isnan.h.
35874         (ISNAN): Set to isnand instead of isnan.
35875         * lib/isfinite.c: Include isnand.h instead of isnan.h.
35876         (gl_isfinited): Use isnand instead of isnan.
35877         * lib/signbitd.c: Include isnand.h instead of isnan.h.
35878         (gl_signbitd): Use isnand instead of isnan.
35879         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
35880         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
35881         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
35882         (main): Use isnand instead of isnan.
35883         * tests/test-round1.c: Include isnand.h.
35884         (main): Use isnand instead of isnan.
35885         * tests/test-round2.c: Include isnand.h instead of isnan.h.
35886         (ISNAN): Set to isnand instead of isnan.
35887         * tests/test-trunc1.c: Include isnand.h.
35888         (main): Use isnand instead of isnan.
35889         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
35890         (equal): Use isnand instead of isnan.
35891         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
35892         isnand-nolibm.
35893         * NEWS: Mention the change.
35894
35895 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
35896             Bruno Haible  <bruno@clisp.org>
35897
35898         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
35899         the GCC builtins for signbits are present and set
35900         REPLACE_SIGNBIT_USING_GCC if so.
35901         * lib/math.in.h (signbit): Define using GCC builtins if
35902         REPLACE_SIGNBIT_USING_GCC is set.
35903         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
35904         REPLACE_SIGNBIT_USING_GCC.
35905         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
35906
35907 2008-01-25  Jim Meyering  <meyering@redhat.com>
35908
35909         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
35910         * lib/poll.c: Include <config.h>, not "config.h".
35911         * tests/test-getaddrinfo.c: Likewise.
35912
35913 2008-01-25  Simon Josefsson  <simon@josefsson.org>
35914
35915         * modules/sockets-tests: New file.
35916
35917 2008-01-24  Simon Josefsson  <simon@josefsson.org>
35918
35919         * modules/sockets: New module, can be used to call WSA_Startup and
35920         WSA_Cleanup when needed.
35921
35922         * lib/sockets.h, lib/sockets.c: New files.
35923
35924         * m4/sockets.m4: New file.
35925
35926         * tests/test-sockets.c: New file.
35927
35928 2008-01-19  Bruno Haible  <bruno@clisp.org>
35929
35930         * doc/posix-headers: Renamed from doc/headers.
35931         * doc/posix-functions: Renamed from doc/functions.
35932         * doc/gnulib.texi: Update.
35933
35934 2008-01-19  Bruno Haible  <bruno@clisp.org>
35935
35936         * doc/glibc-functions/strcasestr.texi: Include contents of
35937         doc/functions/strcasestr.texi, fixing the list of platforms.
35938         * doc/functions/strcasestr.texi: Remove file.
35939
35940 2008-01-19  Bruno Haible  <bruno@clisp.org>
35941
35942         * doc/glibc-functions/memmem.texi: Include contents of
35943         doc/functions/memmem.texi.
35944         * doc/functions/memmem.texi: Remove file.
35945
35946 2008-01-18  Bruno Haible  <bruno@clisp.org>
35947
35948         * doc/glibc-functions/*.texi: New files.
35949         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
35950         to use the new files.
35951
35952 2008-01-17  Bruno Haible  <bruno@clisp.org>
35953
35954         * tests/test-gethostname.c (main): Fix printf statement.
35955
35956 2008-01-17  Simon Josefsson  <simon@josefsson.org>
35957
35958         * modules/gethostname-tests: New file.
35959
35960         * tests/test-gethostname.c: New file.
35961
35962 2008-01-17  Simon Josefsson  <simon@josefsson.org>
35963
35964         * lib/gethostname.c: Include string.h unconditionally, strncpy is
35965         used by the UNAME case.  Reported by Bruno Haible
35966         <bruno@clisp.org>.
35967
35968 2008-01-17  Eric Blake  <ebb9@byu.net>
35969
35970         Convert c-strcasestr to be more efficient.
35971         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
35972         (Depends-on): Add c-strcase, remove malloca, strnlen.
35973         * tests/test-c-strcasestr.c (main): Enhance test.
35974         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
35975
35976 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
35977
35978         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
35979         Use it in creating po/Makevars.
35980
35981 2008-01-15  Simon Josefsson  <simon@josefsson.org>
35982
35983         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
35984         Applications that requires it should initialize libgcrypt
35985         manually.
35986
35987 2008-01-16  Simon Josefsson  <simon@josefsson.org>
35988
35989         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
35990
35991 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
35992
35993         Fix problem with getdate on mingw32 reported by Simon Josefsson
35994         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
35995         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
35996         tzname", when deciding whether to declare tzname.
35997         * lib/strftime.c (tzname): Likewise.
35998
35999 2008-01-15  Bruno Haible  <bruno@clisp.org>
36000
36001         Work around a MacOS X 10.5 bug in frexpl().
36002         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
36003         * doc/functions/frexpl.texi: Document the bug.
36004         Reported by Elias Pipping <pipping@gentoo.org>.
36005
36006 2008-01-14  Eric Blake  <ebb9@byu.net>
36007
36008         Touch up previous patch.
36009         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
36010         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
36011
36012         Convert strcasestr module to use Two-Way algorithm.
36013         * modules/strcasestr-simple: New module, based on the old
36014         strcasestr, but with Two-Way rather than KMP.
36015         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
36016         * lib/string.in.h (rpl_strcasestr): Declare.
36017         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
36018         performance.
36019         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
36020         * modules/string (Makefile.am): Support strcasestr.
36021         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
36022         * modules/strcasestr-tests (Depends-on): Check for alarm.
36023         * tests/test-strcasestr.c: Augment test.
36024         * lib/str-two-way.h: Clean up stray macro.
36025         * NEWS: Document new module.
36026         * MODULES.html.sh (string handling): Likewise.
36027         * doc/functions/strcasestr.texi: New file.
36028         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
36029         here, since it is not a POSIX function.
36030
36031 2008-01-14  Colin Watson  <cjwatson@debian.org>
36032             Bruno Haible  <bruno@clisp.org>
36033
36034         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
36035         works fine; if not, set REPLACE_STRSIGNAL.
36036         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
36037         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36038         REPLACE_STRSIGNAL.
36039         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
36040         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
36041         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
36042
36043 2008-01-14  Bruno Haible  <bruno@clisp.org>
36044
36045         * modules/strsignal (Include): Change to <string.h>.
36046
36047 2008-01-14  Colin Watson  <cjwatson@debian.org>
36048
36049         * modules/argp (Notice): Add a notice recommending to change
36050         XGETTEXT_OPTIONS.
36051         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
36052
36053 2008-01-13  Colin Watson  <cjwatson@debian.org>
36054
36055         * modules/strsignal-tests: New file.
36056         * tests/test-strsignal.c: New file.
36057
36058         * lib/strsignal.c: New file, from glibc with modifications.
36059         * lib/siglist.h: New file, from glibc with modifications.
36060         * lib/string.in.h (strsignal): New declaration.
36061         * m4/strsignal.m4: New file.
36062         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
36063         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
36064         * modules/strsignal: New file.
36065         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
36066         HAVE_DECL_STRSIGNAL.
36067
36068 2008-01-13  Bruno Haible  <bruno@clisp.org>
36069
36070         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
36071         locale encoding is not ASCII. Needed for OpenBSD 4.0.
36072         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
36073         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
36074
36075 2008-01-13  Bruno Haible  <bruno@clisp.org>
36076
36077         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
36078         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
36079         * lib/argp.h (__attribute__): Likewise.
36080         * lib/c-stack.c (__attribute__): Likewise.
36081         * lib/error.h (__attribute__): Likewise.
36082         * lib/fts.c (__attribute__): Likewise.
36083         * lib/openat.h (__attribute__): Likewise.
36084         * lib/stdio.in.h (__attribute__): Likewise.
36085         * lib/string.in.h (__attribute__): Likewise.
36086         * lib/utimens.c (__attribute__): Likewise.
36087         * lib/vasnprintf.h (__attribute__): Likewise.
36088         * lib/xalloc.h (__attribute__): Likewise.
36089         * lib/xprintf.h (__attribute__): Likewise.
36090         * lib/xstrtol.h (__attribute__): Likewise.
36091         * lib/xvasprintf.h (__attribute__): Likewise.
36092
36093 2008-01-12  Bruno Haible  <bruno@clisp.org>
36094
36095         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
36096         * doc/glibc-headers/a.out.texi: New file.
36097         * doc/glibc-headers/aliases.texi: New file.
36098         * doc/glibc-headers/alloca.texi: New file.
36099         * doc/glibc-headers/ar.texi: New file.
36100         * doc/glibc-headers/argp.texi: New file.
36101         * doc/glibc-headers/argz.texi: New file.
36102         * doc/glibc-headers/byteswap.texi: New file.
36103         * doc/glibc-headers/crypt.texi: New file.
36104         * doc/glibc-headers/endian.texi: New file.
36105         * doc/glibc-headers/envz.texi: New file.
36106         * doc/glibc-headers/err.texi: New file.
36107         * doc/glibc-headers/error.texi: New file.
36108         * doc/glibc-headers/execinfo.texi: New file.
36109         * doc/glibc-headers/fpu_control.texi: New file.
36110         * doc/glibc-headers/fstab.texi: New file.
36111         * doc/glibc-headers/fts.texi: New file.
36112         * doc/glibc-headers/getopt.texi: New file.
36113         * doc/glibc-headers/ieee754.texi: New file.
36114         * doc/glibc-headers/ifaddrs.texi: New file.
36115         * doc/glibc-headers/libintl.texi: New file.
36116         * doc/glibc-headers/mcheck.texi: New file.
36117         * doc/glibc-headers/mntent.texi: New file.
36118         * doc/glibc-headers/obstack.texi: New file.
36119         * doc/glibc-headers/paths.texi: New file.
36120         * doc/glibc-headers/printf.texi: New file.
36121         * doc/glibc-headers/pty.texi: New file.
36122         * doc/glibc-headers/resolv.texi: New file.
36123         * doc/glibc-headers/shadow.texi: New file.
36124         * doc/glibc-headers/sysexits.texi: New file.
36125         * doc/glibc-headers/ttyent.texi: New file.
36126
36127 2008-01-12  Jim Meyering  <meyering@redhat.com>
36128
36129         announce-gen: emit Gnulib's git-based version string.
36130         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
36131         New option --gnulib-version=V, where V is expected to be
36132         the output of running git describe in the gnulib directory.
36133         (get_tool_versions): Request feedback on xdelta.  I suspect it's
36134         not useful, and plan to stop publishing an xdelta file with each
36135         coreutils release.
36136
36137         * build-aux/announce-gen: Also check for lzma-compressed files.
36138
36139 2008-01-11  Bruno Haible  <bruno@clisp.org>
36140
36141         * tests/test-memmem.c (main): Increase maximum allowed time.
36142         * tests/test-strstr.c (main): Likewise.
36143
36144 2008-01-11  Bruno Haible  <bruno@clisp.org>
36145
36146         * doc/functions/memmem.texi: Add more precisions about platforms.
36147         * doc/functions/strstr.texi: Likewise.
36148
36149 2008-01-10  Eric Blake  <ebb9@byu.net>
36150
36151         * m4/strstr.m4: Delete cruft from copy-n-paste.
36152         Reported by Bruno Haible.
36153
36154 2008-01-10  Bruno Haible  <bruno@clisp.org>
36155
36156         Make c-strstr rely on strstr.
36157         * lib/c-strstr.c: Don't include str-kmp.h.
36158         (c_strstr): Define in terms of strstr.
36159         * modules/c-strstr (Files): Remove lib/str-kmp.h.
36160         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
36161
36162 2008-01-10  Bruno Haible  <bruno@clisp.org>
36163
36164         * doc/gnulib.texi (String Functions in C Locale): New section.
36165         * doc/c-ctype.texi: New file.
36166         * doc/c-strcase.texi: New file.
36167         * doc/c-strcaseeq.texi: New file.
36168         * doc/c-strcasestr.texi: New file.
36169         * doc/c-strstr.texi: New file.
36170         * doc/c-strtod.texi: New file.
36171         * doc/c-strtold.texi: New file.
36172
36173 2008-01-10  Eric Blake  <ebb9@byu.net>
36174
36175         * lib/relocatable.h: Fix a comment.
36176
36177 2008-01-10  Eric Blake  <ebb9@byu.net>
36178
36179         Share two-way algorithm.
36180         * lib/str-two-way.h: New file, merged from...
36181         * lib/memmem.c: ...here...
36182         * lib/strstr.c: ...and here.
36183         * modules/memmem (Files): Use it.
36184         * modules/strstr (Files): Likewise.
36185
36186         Avoid quadratic strstr implementations.
36187         * lib/strstr.c: New file.
36188         * m4/strstr.m4: Likewise.
36189         * modules/strstr: Likewise.
36190         * modules/strstr-tests: Likewise.
36191         * tests/test-strstr.c: Likewise.
36192         * lib/string.in.h (rpl_strstr): Declare.
36193         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
36194         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
36195         * modules/string (Makefile.am): Likewise.
36196         * MODULES.html.sh (string handling): Mention new module.
36197         * doc/functions/strstr.texi (strstr): Document the bug.
36198
36199 2008-01-10  Bruno Haible  <bruno@clisp.org>
36200
36201         * lib/relocatable.h (relocate): State whether result is freshly
36202         allocated or not.
36203         * lib/relocatable.c (relocate): Return a freshly allocated string
36204         instead of a pointer to a privately held string.
36205         Reported by Sylvain Beucler <beuc@gnu.org>.
36206
36207 2008-01-10  Colin Watson  <cjwatson@debian.org>
36208
36209         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
36210         s/S_ISNLK/S_ISLNK/.
36211
36212 2008-01-09  Bruno Haible  <bruno@clisp.org>
36213
36214         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
36215         and other files.
36216         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
36217         if it's only a guess.
36218         * modules/memmem: Simplify by depending on memmem-simple.
36219
36220 2008-01-09  Bruno Haible  <bruno@clisp.org>
36221
36222         Work around OpenBSD 4.0 tdelete() bug.
36223         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
36224         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
36225         macros and don't redefine the enum values.
36226         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
36227         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
36228         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
36229
36230 2008-01-09  Bruno Haible  <bruno@clisp.org>
36231
36232         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
36233         (main): Don't perform the tests if setlocale did not install a UTF-8
36234         locale. Needed on OpenBSD 4.0.
36235         * modules/wcwidth-tests (Depends-on): Add localcharset.
36236
36237 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
36238
36239         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
36240         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
36241         * NEWS: announce this.
36242         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
36243
36244 2008-01-09  Simon Josefsson  <simon@josefsson.org>
36245         and Eric Blake  <ebb9@byu.net>
36246
36247         Add memmem-simple module.
36248         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
36249         (gl_FUNC_MEMMEM): Separate performance from presence checks.
36250         * modules/memmem-simple: New file.
36251         * modules/memmem (Description): Tweak.
36252         * MODULES.html.sh (string handling): Mention new module.
36253         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
36254         addressed by memmem-simple.
36255         * NEWS: Document the difference.
36256
36257 2008-01-09  Eric Blake  <ebb9@byu.net>
36258
36259         Give gcc some memmem optimization hints.
36260         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
36261         (strcasestr): Declare as pure.
36262         * modules/memmem (Maintainer): Claim my implementation.
36263
36264 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36265
36266         Support AIX 6.1 and higher.
36267         * build-aux/config.libpath: Likewise.
36268         * build-aux/config.rpath: Likewise.
36269
36270 2008-01-08  Jim Meyering  <meyering@redhat.com>
36271             Bruno Haible  <bruno@clisp.org>
36272
36273         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
36274         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
36275         Reported by Peter Fales in
36276         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
36277
36278 2008-01-08  Bruno Haible  <bruno@clisp.org>
36279
36280         * modules/unictype/category-of (Depends-on): Add
36281         unictype/category-none.
36282         * modules/unictype/category-and-tests (Depends-on): Add
36283         unictype/category-{L,N,Lu,Nd}.
36284         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
36285         * modules/unictype/category-or-tests (Depends-on): Add
36286         unictype/category-{L,N}.
36287         * modules/unictype/category-name-tests (Depends-on): Add
36288         unictype/category-{Z,Nl}.
36289         Reported by Simon Josefsson.
36290
36291 2008-01-08  Bruno Haible  <bruno@clisp.org>
36292
36293         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
36294         convention better.
36295         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
36296         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
36297         Reported by Peter Miller <millerp@canb.auug.org.au>.
36298
36299 2008-01-08  Eric Blake  <ebb9@byu.net>
36300
36301         Rewrite memmem to guarantee linear complexity without malloc.
36302         * lib/memmem.c (memmem): Use Two-Way rather than
36303         Knuth-Morris-Pratt, to allow O(1) space usage.
36304         (critical_factorization, two_way_short_needle)
36305         (two_way_long_needle): New functions.
36306         (knuth_morris_pratt): Delete.
36307         * modules/memmem (Depends-on): No longer need malloca or stdbool.
36308         Add stdint.
36309         * tests/test-memmem.c (main): Add tests for periodic needle and
36310         sublinear performance.
36311         * doc/functions/memmem.texi (memmem): Document other deficiencies
36312         in cygwin and older glibc.
36313
36314 2008-01-08  Bruno Haible  <bruno@clisp.org>
36315
36316         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
36317         augmentation.
36318
36319 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
36320
36321         Add a configure time option: --disable-acl.
36322         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
36323         AC_ARG_ENABLE(acl).
36324
36325 2008-01-06  Simon Josefsson  <simon@josefsson.org>
36326
36327         * tests/test-localename.c: Don't include obsolete "setenv.h".
36328
36329         * modules/localename-tests (Depends-on): Need unsetenv.
36330
36331 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36332
36333         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
36334
36335 2008-01-06  Colin Watson  <cjwatson@debian.org>
36336
36337         * users.txt: Add man-db.
36338
36339 2008-01-07  Bruno Haible  <bruno@clisp.org>
36340
36341         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
36342         previous section name.
36343
36344 2008-01-07  Bruno Haible  <bruno@clisp.org>
36345
36346         * lib/progname.c (set_program_name): Don't strip off a leading
36347         "lt-" prefix outside a .libs directory.
36348         Suggested by Paul Eggert.
36349
36350 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
36351             Bruno Haible  <bruno@clisp.org>
36352
36353         Improve memory cleanup in 'relocatable' module.
36354         * lib/relocatable.h (compute_curr_prefix): Change return type to
36355         'char *'.
36356         * lib/relocatable.c (compute_curr_prefix): Change return type to
36357         'char *'. Free curr_installdir after use.
36358         (relocate): Free curr_prefix_better after use.
36359         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
36360
36361 2008-01-01  Bruno Haible  <bruno@clisp.org>
36362
36363         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
36364         failure on older glibc systems.
36365         Reported by Peter Fales <psfales@alcatel-lucent.com>.
36366
36367 2008-01-05  Eric Blake  <ebb9@byu.net>
36368
36369         Avoid quadratic system memmem.
36370         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
36371         Reported by Ralf Wildenhues.
36372
36373         Fix memmem test for mingw.
36374         * modules/memmem-tests (configure.ac): Check for alarm.
36375         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
36376         it.
36377         * doc/functions/memmem.texi: New file.
36378         * doc/gnulib.texi (Function Substitutes): Add memmem.
36379         Reported by Bruno Haible.
36380
36381 2008-01-04  Bruno Haible  <bruno@clisp.org>
36382
36383         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
36384         Require gl_HEADER_STRINGS_H_DEFAULTS, not
36385         gl_HEADER_STRING_H_DEFAULTS.
36386
36387 2008-01-04  Eric Blake  <ebb9@byu.net>
36388
36389         Shorten duration of memmem test.
36390         * tests/test-memmem.c (main): Use alarm to declare failure if test
36391         is taking too long.
36392         Reported by Ralf Wildenhues.
36393
36394 2007-12-21  Simon Josefsson  <simon@josefsson.org>
36395
36396         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
36397         string, needed by strerror.
36398
36399 2008-01-03  Colin Watson  <cjwatson@debian.org>
36400             Bruno Haible  <bruno@clisp.org>
36401
36402         * doc/gnulib-tool.texi (Localization): New section.
36403
36404 2008-01-02  Bruno Haible  <bruno@clisp.org>
36405
36406         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
36407         variables to 'unsigned char *' type.
36408         Reported by Paul Eggert.
36409
36410 2008-01-02  Jim Meyering  <jim@meyering.net>
36411
36412         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
36413
36414 2007-12-31  Jim Meyering  <jim@meyering.net>
36415
36416         Avoid use of private FTS type name.
36417         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
36418
36419 2007-12-30  Karl Berry  <karl@gnu.org>
36420
36421         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
36422         work around defect in Texinfo and/or the standalone Info browser.
36423
36424 2007-12-30  Bruno Haible  <bruno@clisp.org>
36425
36426         Unify 5 copies of the KMP code.
36427         * lib/str-kmp.h: New file.
36428         * lib/c-strcasestr.c: Include str-kmp.h.
36429         (knuth_morris_pratt): Remove function.
36430         (c_strcasestr): Update.
36431         * lib/c-strstr.c: Include str-kmp.h.
36432         (knuth_morris_pratt): Remove function.
36433         (c_strcasestr): Update.
36434         * lib/mbscasestr.c: Include str-kmp.h.
36435         (knuth_morris_pratt_unibyte): Remove function.
36436         * lib/mbsstr.c: Include str-kmp.h.
36437         (knuth_morris_pratt_unibyte): Remove function.
36438         * lib/strcasestr.c: Include str-kmp.h.
36439         (knuth_morris_pratt): Remove function.
36440         (strcasestr): Update.
36441         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
36442         * modules/c-strstr (Files): Likewise.
36443         * modules/mbscasestr (Files): Likewise.
36444         * modules/mbsstr (Files): Likewise.
36445         * modules/strcasestr (Files): Likewise.
36446         Suggested by Paul Eggert.
36447
36448 2007-12-30  Bruno Haible  <bruno@clisp.org>
36449
36450         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
36451         defined.
36452
36453 2007-12-30  Bruno Haible  <bruno@clisp.org>
36454
36455         * lib/xmalloca.h: Include xalloc.h.
36456         (xnmalloca): New macro.
36457
36458 2007-12-30  Bruno Haible  <bruno@clisp.org>
36459
36460         * lib/malloca.h (nmalloca): New macro.
36461         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
36462         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
36463         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
36464         knuth_morris_pratt_multibyte): Likewise.
36465         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
36466         knuth_morris_pratt_multibyte): Likewise.
36467         * lib/memmem.c (knuth_morris_pratt): Likewise.
36468         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
36469
36470 2007-12-25  Bruno Haible  <bruno@clisp.org>
36471
36472         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
36473         * lib/glob.c: Don't include openat.h.
36474         (link_exists2_p): Add back the code that deals with the
36475         !GLOB_ALTDIRFUNC case.
36476         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
36477         let it do the filename concatenation.
36478         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
36479         * modules/glob (Depends-on): Remove openat.
36480
36481 2007-12-31  Bruno Haible  <bruno@clisp.org>
36482
36483         * modules/dirfd (License): Change to LGPLv2+.
36484         Approved by Jim Meyering.
36485
36486 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
36487
36488         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
36489         when multiplying M by sizeof (size_t).
36490
36491 2007-12-10  Martin Lambers  <marlam@marlam.de>
36492
36493         Override getpagesize on mingw.
36494         * lib/getpagesize.c: New file.
36495         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
36496         * modules/getpagesize (Files): Add lib/getpagesize.c.
36497         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
36498         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36499         REPLACE_GETPAGESIZE.
36500         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
36501
36502 2007-12-25  Bruno Haible  <bruno@clisp.org>
36503
36504         * modules/localcharset (Notice): New field.
36505         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
36506         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
36507
36508 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
36509             Bruno Haible  <bruno@clisp.org>
36510
36511         Avoid using the syntax symbol() in formatted documentation.
36512         * MODULES.html.sh (func_module): When replacing symbol() with a
36513         hyperlink, remove the parentheses. Show an error if some remain.
36514         Recognize and render the '...' syntax.
36515         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
36516         Rework. Add paragraph about GCC's inlining.
36517         * doc/alloca.texi: Likewise.
36518         * doc/error.texi: Remove parentheses from symbol reference.
36519         * doc/gnulib-intro.texi: Likewise.
36520         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
36521         * modules/fnmatch (Description): Reword to say "the ... function".
36522         * modules/full-read (Description): Likewise.
36523         * modules/full-write (Description): Likewise.
36524         * modules/safe-read (Description): Likewise.
36525         * modules/safe-write (Description): Likewise.
36526         * modules/strchrnul (Description): Likewise.
36527         * modules/trim (Description): Likewise.
36528         * modules/error (Description): Remove parentheses from symbol
36529         references.
36530         * modules/verror (Description): Likewise.
36531         Reported by Karl Berry.
36532
36533 2007-12-25  Bruno Haible  <bruno@clisp.org>
36534
36535         Fixup after 2007-10-16 commit.
36536         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
36537
36538 2007-12-24  Bruno Haible  <bruno@clisp.org>
36539
36540         Make --enable-relocatable work with DESTDIR.
36541         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
36542         to compute installdir from destprog.
36543         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
36544         also set the RELOC_DESTDIR variable.
36545         Reported by Левашев Иван <octagram@bluebottle.com>.
36546
36547 2007-12-24  Bruno Haible  <bruno@clisp.org>
36548
36549         Fix link error due to xalloc_die().
36550         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
36551         of xreadlink.
36552         * lib/relocwrapper.c: Update comments.
36553         * build-aux/install-reloc: Remove xreadlink.c from file list.
36554         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
36555         xreadlink.c.
36556         Reported by Левашев Иван <octagram@bluebottle.com>.
36557
36558 2007-12-24  Bruno Haible  <bruno@clisp.org>
36559
36560         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
36561         * lib/setenv.h: Remove file.
36562         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
36563         lib/setenv.h.
36564         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
36565         (Depends-on): Add stdlib.
36566         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
36567         gl_FUNC_UNSETENV.
36568         (Include): Replace setenv.h with <stdlib.h>.
36569         * modules/unsetenv: New file.
36570         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
36571         * lib/unsetenv.c: Include <stdlib.h> first.
36572         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
36573         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
36574         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
36575         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
36576         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
36577         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
36578         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
36579         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
36580         * doc/functions/unsetenv.texi: Update.
36581         * modules/xsetenv (Depends-on): Add unsetenv.
36582         * modules/getdate (Depends-on): Likewise.
36583         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
36584         * lib/xsetenv.c: Don't include setenv.h.
36585         * lib/getdate.y: Likewise.
36586         * lib/relocwrapper.c: Likewise.
36587         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
36588         (Depends-on): Add stdlib.
36589         * NEWS: Mention the changes.
36590         Reported by Левашев Иван <octagram@bluebottle.com>.
36591
36592 2007-12-23  Bruno Haible  <bruno@clisp.org>
36593
36594         * lib/memmem.c (memmem): Use lowercase variable names. Tab
36595         indentation.
36596
36597 2007-12-23  Bruno Haible  <bruno@clisp.org>
36598
36599         * lib/c-strcasestr.c: Add more comments.
36600         * lib/c-strstr.c: Likewise.
36601         * lib/mbscasestr.c: Likewise.
36602         * lib/mbsstr.c: Likewise.
36603         * lib/strcasestr.c: Likewise.
36604         * lib/memmem.c: Likewise.
36605
36606 2007-12-23  Bruno Haible  <bruno@clisp.org>
36607
36608         * tests/test-memmem.c: Include <string.h> first.
36609
36610 2007-12-22  Bruno Haible  <bruno@clisp.org>
36611
36612         * gnulib-tool (func_create_testdir): Change $auxdir while generating
36613         the contents of $testsbase.
36614         Reported by Ralf Wildenhues.
36615
36616 2007-12-22  Bruno Haible  <bruno@clisp.org>
36617
36618         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
36619         two variables local_ldadd_before, local_ldadd_last.
36620
36621 2007-12-20  Eric Blake  <ebb9@byu.net>
36622
36623         Work around circular library issue when cross-compiling.
36624         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
36625         that progname.o does not need to pull in rpl_memcmp.
36626
36627 2007-12-19  Eric Blake  <ebb9@byu.net>
36628
36629         Fix memmem to avoid O(n^2) worst-case complexity.
36630         * lib/memmem.c (knuth_morris_pratt): New function.
36631         (memmem): Use it if first few naive iterations fail.
36632         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
36633         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
36634         * modules/memchr (License): Likewise.
36635         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
36636         malloca.
36637         * tests/test-memmem.c: Rewrite, borrowing ideas from
36638         test-mbsstr1.c; the old version wouldn't even compile!
36639         * modules/memmem-tests: New file.
36640         * lib/string.in.h (rpl_memmem): Add declaration.
36641         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
36642         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
36643         REPLACE_MEMMEM.
36644
36645 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
36646
36647         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
36648         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
36649         before any system include files, and undef after them all.  This
36650         should fix a problem on VMS reported by John E. Malmberg in
36651         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
36652
36653 2007-12-17  Eric Blake  <ebb9@byu.net>
36654
36655         Revert addition of verify, for BSD/OS.
36656         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
36657         can't handle large files, for the sake of obsolete platforms.
36658         * modules/fseeko (Depends-on): Remove verify.
36659         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
36660         * doc/functions/ftello.texi (ftello): Likewise.
36661         * doc/functions/fgetpos.texi (fgetpos): Likewise.
36662         Reported by Larry Jones.
36663
36664 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
36665
36666         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
36667         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
36668
36669 2007-12-17  Jim Meyering  <meyering@redhat.com>
36670
36671         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
36672         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
36673         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
36674         * modules/getcwd (Depends-on): Add openat.
36675         Reported by Petr Salinger.
36676
36677 2007-12-17  Bruno Haible  <bruno@clisp.org>
36678
36679         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
36680         avoid a segmentation fault of the configure test on x86_64 systems.
36681
36682 2007-12-15  Jim Meyering  <meyering@redhat.com>
36683
36684         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
36685
36686 2007-12-13  Eric Blake  <ebb9@byu.net>
36687
36688         Another fseek test.
36689         * tests/test-fseek.c (main): Also test ungetc handling.
36690         * tests/test-fseeko.c (main): Likewise.
36691         * modules/fseeko (Depends-on): Add verify.
36692         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
36693         large.
36694         Reported by Larry Jones.
36695
36696         Fix fseeko on mingw.
36697         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
36698         seek.
36699
36700         Beef up fseek tests.
36701         * tests/test-fseek.c (main): Also test eof handling.
36702         * tests/test-fseeko.c (main): Likewise.
36703         Reported by Larry Jones.
36704
36705 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
36706
36707         Fix fseeko on BSD-based platforms.
36708         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
36709         successful seek.
36710
36711 2007-12-12  Eric Blake  <ebb9@byu.net>
36712
36713         Allow circular dependency of separate libtests.a
36714         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
36715         when use_libtests.
36716
36717 2007-12-11  Eric Blake  <ebb9@byu.net>
36718
36719         Fix bug with -0.0L in previous patch.
36720         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
36721         * tests/test-isnan.c (main): Also test on zeroes.
36722         * tests/test-isnanf.c (main): Likewise.
36723         * tests/test-isnanl.h (main): Likewise.
36724
36725         Detect pseudo-denormals on x86 even when cross-compiling.
36726         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
36727         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
36728         invalid bit patterns that happen to satisfy ==.
36729
36730         Avoid link failures with separate libtests.a.
36731         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
36732         last, to satisfy circular dependencies.
36733
36734 2007-12-11  Eric Blake  <ebb9@byu.net>
36735         and Bruno Haible  <bruno@clisp.org>
36736
36737         Fix OpenBSD 4.0 <float.h> handling of long double.
36738         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
36739         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
36740         * doc/headers/float.texi (float.h): Document OpenBSD bug.
36741
36742 2007-12-11  Jim Meyering  <meyering@redhat.com>
36743
36744         * users.txt: Add libvirt.
36745
36746         Support versions of autoconf prior to 2.59c.
36747         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
36748         if it is not already defined.
36749
36750 2007-12-09  Bruno Haible  <bruno@clisp.org>
36751
36752         Let 'gnulib-tool --import' collect sources needed for the tests in
36753         tests/ rather than in lib/.
36754         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
36755         argument. If true, add rules to generate libtests.a, and put libtests.a
36756         into $(LDADD). Consider source files in subdirectories and set
36757         uses_subdirs.
36758         (func_emit_initmacro_start, func_emit_initmacro_end,
36759         func_emit_initmacro_done): Pass all arguments explicitly.
36760         (func_import): Determine two module lists main_modules,
36761         testsrelated_modules. Determine use_libtests. Determine two variables
36762         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
36763         instead of just sed_transform_lib_file. Determine two variables
36764         main_files and testsrelated_files. Compute 'files' as the union of
36765         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
36766         func_add_or_update. In the generated gnulib-comp.m4, collect the
36767         object files for tests/ in different variables than those for lib/.
36768         Substitute LIBTESTS_LIBDEPS.
36769         (func_create_testdir): Combine the uses_subdirs results from
36770         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
36771
36772 2007-12-09  Bruno Haible  <bruno@clisp.org>
36773
36774         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
36775         the build-aux directory.
36776
36777 2007-12-09  Bruno Haible  <bruno@clisp.org>
36778
36779         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
36780         introduced on 2006-09-09.
36781
36782 2007-12-07  Jim Meyering  <meyering@redhat.com>
36783
36784         Let these macros work also with autoconf-2.59.
36785         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
36786         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
36787         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
36788
36789 2007-12-06  Jim Meyering  <meyering@redhat.com>
36790
36791         Avoid a configure-time syntax error in gl_FUNC_ACL.
36792         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
36793         function in each branch, before testing the cache variable.
36794
36795 2007-12-04  Eric Blake  <ebb9@byu.net>
36796
36797         Make scripts executable.
36798         * build-aux/config.guess: Add execute permissions.
36799         * build-aux/config.sub: Likewise.
36800         * build-aux/gendocs.sh: Likewise.
36801
36802         Fix frexp on mingw.
36803         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
36804         cross-compiling.
36805         * doc/functions/frexp.texi (frexp): Document the bug.
36806
36807         Make cygwin fseeko check more reliable.
36808         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
36809         version numbers, rather than unrelated feature check.
36810         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
36811         * doc/functions/ftello.texi (ftello): Likewise.
36812         Reported by Bruno Haible.
36813
36814         * m4/strerror.m4: Bump version number.
36815
36816 2007-12-03  Bruno Haible  <bruno@clisp.org>
36817
36818         * doc/functions/mprotect.texi: Mention the mingw problem.
36819
36820 2007-12-03  Eric Blake  <ebb9@byu.net>
36821
36822         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
36823         REPLACE_STRERROR is initialized before this macro.
36824
36825 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
36826
36827         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
36828         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
36829         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
36830         put -lsec in even for programs other than 'ls'.  This fixes a problem
36831         for gettext reported by Bruno Haible in
36832         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
36833         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
36834         Add support for Solaris 10.  This isn't efficient, but should get the
36835         job done for now.
36836
36837 2007-12-03  James Youngman  <jay@gnu.org>
36838
36839         * doc/regexprops-generic.texi: change "an close-group" to "a
36840         close-group" and "illegal" to "not allowed".
36841
36842 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36843
36844         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
36845         pr_byname.h. Needed for the rare case when the maintainer has done
36846         "make maintainer-clean" in the source directory and then attempts a
36847         build outside the source directory.
36848         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
36849         scripts_byname.h.
36850
36851 2007-12-02  Martin Lambers <marlam@marlam.de>
36852             Bruno Haible  <bruno@clisp.org>
36853
36854         * lib/getpagesize.h: Remove file.
36855         * lib/unistd.in.h: Include declaration of getpagesize here.
36856         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
36857         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
36858         HAVE_SYS_PARAM_H.
36859         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
36860         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
36861         * modules/getpagesize (Files): Remove lib/getpagesize.h.
36862         (Depends-on): Add unistd.
36863         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
36864         (Include): Use <unistd.h> instead of getpagesize.h.
36865         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
36866         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
36867         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
36868         gl_GETPAGESIZE invocation, already handled by module dependency.
36869         * lib/pagealign_alloc.c: Don't include getpagesize.h.
36870
36871 2007-12-02  Bruno Haible  <bruno@clisp.org>
36872
36873         * modules/strings-tests: New file.
36874         * tests/test-strings.c: New file.
36875
36876         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
36877         * lib/strings.in.h: New file.
36878         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
36879         * m4/strings_h.m4: New file.
36880         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
36881         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
36882         * modules/strings: New file.
36883         * modules/string (Makefile.am): Update.
36884         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
36885         Reported by Karl Berry.
36886
36887 2007-12-01  Eric Blake  <ebb9@byu.net>
36888
36889         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
36890         accomodate fix in cygwin 1.5.25.
36891
36892 2007-12-01  Jim Meyering  <meyering@redhat.com>
36893
36894         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
36895         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
36896         that would inhibit utf8-optimization of a regexp containing line-
36897         or buffer-anchors, e.g., `^', `$'.
36898
36899 2007-11-30  Bruno Haible  <bruno@clisp.org>
36900
36901         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
36902         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
36903         glthread_recursive_lock_init.
36904         * lib/lock.c (glthread_recursive_lock_init)
36905         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
36906         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
36907
36908 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
36909
36910         New function qset_acl, like set_acl but with syscall semantics.
36911         * lib/acl.h (qset_acl): New decl.
36912         * lib/acl.c (qset_acl): New function.
36913         (set_acl): Use new function.  Use more-consistent diagnostics.
36914
36915 2007-11-28  Jim Meyering  <meyering@redhat.com>
36916
36917         * modules/physmem (License): Change from GPL to LGPLv2+.
36918
36919 2007-11-26  Bruno Haible  <bruno@clisp.org>
36920
36921         * lib/vasnprintf.c (decode_long_double): Don't abort if the
36922         'long double' type has excess precision.
36923         Reported by Jim Meyering in
36924         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
36925
36926 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36927
36928         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
36929         Sync from <http://gnu.org/licenses>.
36930         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
36931         with license text from same location.
36932         * doc/maintain.texi, doc/standards.texi:  Sync from
36933         <http://savannah.gnu.org/projects/gnustandards>.
36934
36935 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
36936         and Jim Meyering  <meyering@redhat.com>
36937
36938         Adjust getdate' grammar to accept a slightly more regular language.
36939         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
36940         Before, the former was rejected.
36941         * lib/getdate.y (digits_to_date_time): New function, factored
36942         out of ...
36943         (number): ...here.  Just call digits_to_date_time.
36944         (hybrid): New non-terminal to handle an <unsigned number,
36945         signed relative offset> sequence consistently.
36946
36947 2007-11-18  Jim Meyering  <meyering@redhat.com>
36948
36949         Pull my changes from coreutils:
36950         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
36951         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
36952         use of $gnulib_tool_option_extras, so that it's separated from the
36953         preceding argument.
36954
36955         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
36956         * build-aux/bootstrap (cp_mark_as_generated): Create any required
36957         parent destination directories before copying a file into place.
36958
36959 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
36960
36961         bootstrap: work also with 4-argument variant of AC_INIT
36962         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
36963
36964 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
36965
36966         Port test-getaddrinfo to Solaris.
36967         Problem reported by Bruno Haible in
36968         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
36969         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
36970         explanation of setting 'hints'.
36971         Don't reject an implementation merely because it returns EAI_SERVICE.
36972         (EAI_SERVICE): Define to 0 if not defined.
36973
36974 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
36975
36976         The license of gnu-make and posix-shell is now "GPLed build tool".
36977         * modules/gnu-make (License): Likewise.
36978         * modules/posix-shell (License): Likewise.
36979
36980         New module posix-shell, for determining a POSIX shell
36981         or perhaps something that is close enough to a POSIX shell.
36982         * m4/posix-shell.m4: New file.
36983         * modules/posix-shell: New file.
36984
36985         * MODULES.html.sh: Mention new module.
36986
36987         New module gnu-make, for determining whether we're using GNU Make.
36988         * m4/gnu-make.m4: New file.
36989         * modules/gnu-make: New file.
36990         * MODULES.html.sh: Mention new module.
36991
36992 2007-11-14  Jim Meyering  <meyering@redhat.com>
36993
36994         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
36995         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
36996         use this macro to create a function _definition_.
36997         Remove useless "#undef ARGMATCH_DIE".
36998
36999 2007-11-14  Bruno Haible  <bruno@clisp.org>
37000
37001         * lib/config.charset: Update for OpenBSD 4.1.
37002         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
37003
37004 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
37005
37006         Document 64-bit #if problems in stdint.texi.
37007         * doc/headers/stdint.texi (stdint.h): Mention problems with
37008         64-bit-#if, and how to work around them.
37009
37010         Don't insist on 'long long int' support in the preprocessor.  It
37011         breaks too many things.  For example, PRIdMAX still uses a 'long
37012         long int' format with the latest Sun compiler, even though
37013         HAVE_LONG_LONG_INT isn't defined due to that compiler's
37014         preprocessor problem.  This causes the latest coreutils to dump
37015         core on Solaris 10 sparc with the Sun C compiler.
37016         Instead, fix the 2007-10-16 problem in a different way, by evaluating
37017         the troublesome expressions at configure-time, not at #if-time.
37018         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
37019         preprocessor.
37020         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
37021         compile-time C checks, done at 'configure'-time.
37022         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
37023         * modules/inttypes (Makefile): Substitute the new symbols that
37024         gl_INTTYPES_H now generates.
37025         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
37026
37027 2007-11-12  Bruno Haible  <bruno@clisp.org>
37028
37029         Tests for Unicode character classification functions.
37030
37031         * modules/unictype/bidicategory-byname-tests: New file.
37032         * modules/unictype/bidicategory-name-tests: New file.
37033         * modules/unictype/bidicategory-of-tests: New file.
37034         * modules/unictype/bidicategory-test-tests: New file.
37035         * modules/unictype/block-list-tests: New file.
37036         * modules/unictype/block-of-tests: New file.
37037         * modules/unictype/block-test-tests: New file.
37038         * modules/unictype/category-C-tests: New file.
37039         * modules/unictype/category-Cc-tests: New file.
37040         * modules/unictype/category-Cf-tests: New file.
37041         * modules/unictype/category-Cn-tests: New file.
37042         * modules/unictype/category-Co-tests: New file.
37043         * modules/unictype/category-Cs-tests: New file.
37044         * modules/unictype/category-L-tests: New file.
37045         * modules/unictype/category-Ll-tests: New file.
37046         * modules/unictype/category-Lm-tests: New file.
37047         * modules/unictype/category-Lo-tests: New file.
37048         * modules/unictype/category-Lt-tests: New file.
37049         * modules/unictype/category-Lu-tests: New file.
37050         * modules/unictype/category-M-tests: New file.
37051         * modules/unictype/category-Mc-tests: New file.
37052         * modules/unictype/category-Me-tests: New file.
37053         * modules/unictype/category-Mn-tests: New file.
37054         * modules/unictype/category-N-tests: New file.
37055         * modules/unictype/category-Nd-tests: New file.
37056         * modules/unictype/category-Nl-tests: New file.
37057         * modules/unictype/category-No-tests: New file.
37058         * modules/unictype/category-P-tests: New file.
37059         * modules/unictype/category-Pc-tests: New file.
37060         * modules/unictype/category-Pd-tests: New file.
37061         * modules/unictype/category-Pe-tests: New file.
37062         * modules/unictype/category-Pf-tests: New file.
37063         * modules/unictype/category-Pi-tests: New file.
37064         * modules/unictype/category-Po-tests: New file.
37065         * modules/unictype/category-Ps-tests: New file.
37066         * modules/unictype/category-S-tests: New file.
37067         * modules/unictype/category-Sc-tests: New file.
37068         * modules/unictype/category-Sk-tests: New file.
37069         * modules/unictype/category-Sm-tests: New file.
37070         * modules/unictype/category-So-tests: New file.
37071         * modules/unictype/category-Z-tests: New file.
37072         * modules/unictype/category-Zl-tests: New file.
37073         * modules/unictype/category-Zp-tests: New file.
37074         * modules/unictype/category-Zs-tests: New file.
37075         * modules/unictype/category-and-not-tests: New file.
37076         * modules/unictype/category-and-tests: New file.
37077         * modules/unictype/category-byname-tests: New file.
37078         * modules/unictype/category-name-tests: New file.
37079         * modules/unictype/category-none-tests: New file.
37080         * modules/unictype/category-of-tests: New file.
37081         * modules/unictype/category-or-tests: New file.
37082         * modules/unictype/category-test-withtable-tests: New file.
37083         * modules/unictype/combining-class-tests: New file.
37084         * modules/unictype/ctype-alnum-tests: New file.
37085         * modules/unictype/ctype-alpha-tests: New file.
37086         * modules/unictype/ctype-blank-tests: New file.
37087         * modules/unictype/ctype-cntrl-tests: New file.
37088         * modules/unictype/ctype-digit-tests: New file.
37089         * modules/unictype/ctype-graph-tests: New file.
37090         * modules/unictype/ctype-lower-tests: New file.
37091         * modules/unictype/ctype-print-tests: New file.
37092         * modules/unictype/ctype-punct-tests: New file.
37093         * modules/unictype/ctype-space-tests: New file.
37094         * modules/unictype/ctype-upper-tests: New file.
37095         * modules/unictype/ctype-xdigit-tests: New file.
37096         * modules/unictype/decimal-digit-tests: New file.
37097         * modules/unictype/digit-tests: New file.
37098         * modules/unictype/mirror-tests: New file.
37099         * modules/unictype/numeric-tests: New file.
37100         * modules/unictype/property-alphabetic-tests: New file.
37101         * modules/unictype/property-ascii-hex-digit-tests: New file.
37102         * modules/unictype/property-bidi-arabic-digit-tests: New file.
37103         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
37104         * modules/unictype/property-bidi-block-separator-tests: New file.
37105         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
37106         * modules/unictype/property-bidi-common-separator-tests: New file.
37107         * modules/unictype/property-bidi-control-tests: New file.
37108         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
37109         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
37110         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
37111         * modules/unictype/property-bidi-european-digit-tests: New file.
37112         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
37113         * modules/unictype/property-bidi-left-to-right-tests: New file.
37114         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
37115         * modules/unictype/property-bidi-other-neutral-tests: New file.
37116         * modules/unictype/property-bidi-pdf-tests: New file.
37117         * modules/unictype/property-bidi-segment-separator-tests: New file.
37118         * modules/unictype/property-bidi-whitespace-tests: New file.
37119         * modules/unictype/property-byname-tests: New file.
37120         * modules/unictype/property-combining-tests: New file.
37121         * modules/unictype/property-composite-tests: New file.
37122         * modules/unictype/property-currency-symbol-tests: New file.
37123         * modules/unictype/property-dash-tests: New file.
37124         * modules/unictype/property-decimal-digit-tests: New file.
37125         * modules/unictype/property-default-ignorable-code-point-tests: New file.
37126         * modules/unictype/property-deprecated-tests: New file.
37127         * modules/unictype/property-diacritic-tests: New file.
37128         * modules/unictype/property-extender-tests: New file.
37129         * modules/unictype/property-format-control-tests: New file.
37130         * modules/unictype/property-grapheme-base-tests: New file.
37131         * modules/unictype/property-grapheme-extend-tests: New file.
37132         * modules/unictype/property-grapheme-link-tests: New file.
37133         * modules/unictype/property-hex-digit-tests: New file.
37134         * modules/unictype/property-hyphen-tests: New file.
37135         * modules/unictype/property-id-continue-tests: New file.
37136         * modules/unictype/property-id-start-tests: New file.
37137         * modules/unictype/property-ideographic-tests: New file.
37138         * modules/unictype/property-ids-binary-operator-tests: New file.
37139         * modules/unictype/property-ids-trinary-operator-tests: New file.
37140         * modules/unictype/property-ignorable-control-tests: New file.
37141         * modules/unictype/property-iso-control-tests: New file.
37142         * modules/unictype/property-join-control-tests: New file.
37143         * modules/unictype/property-left-of-pair-tests: New file.
37144         * modules/unictype/property-line-separator-tests: New file.
37145         * modules/unictype/property-logical-order-exception-tests: New file.
37146         * modules/unictype/property-lowercase-tests: New file.
37147         * modules/unictype/property-math-tests: New file.
37148         * modules/unictype/property-non-break-tests: New file.
37149         * modules/unictype/property-not-a-character-tests: New file.
37150         * modules/unictype/property-numeric-tests: New file.
37151         * modules/unictype/property-other-alphabetic-tests: New file.
37152         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
37153         * modules/unictype/property-other-grapheme-extend-tests: New file.
37154         * modules/unictype/property-other-id-continue-tests: New file.
37155         * modules/unictype/property-other-id-start-tests: New file.
37156         * modules/unictype/property-other-lowercase-tests: New file.
37157         * modules/unictype/property-other-math-tests: New file.
37158         * modules/unictype/property-other-uppercase-tests: New file.
37159         * modules/unictype/property-paired-punctuation-tests: New file.
37160         * modules/unictype/property-paragraph-separator-tests: New file.
37161         * modules/unictype/property-pattern-syntax-tests: New file.
37162         * modules/unictype/property-pattern-white-space-tests: New file.
37163         * modules/unictype/property-private-use-tests: New file.
37164         * modules/unictype/property-punctuation-tests: New file.
37165         * modules/unictype/property-quotation-mark-tests: New file.
37166         * modules/unictype/property-radical-tests: New file.
37167         * modules/unictype/property-sentence-terminal-tests: New file.
37168         * modules/unictype/property-soft-dotted-tests: New file.
37169         * modules/unictype/property-space-tests: New file.
37170         * modules/unictype/property-terminal-punctuation-tests: New file.
37171         * modules/unictype/property-test-tests: New file.
37172         * modules/unictype/property-titlecase-tests: New file.
37173         * modules/unictype/property-unassigned-code-value-tests: New file.
37174         * modules/unictype/property-unified-ideograph-tests: New file.
37175         * modules/unictype/property-uppercase-tests: New file.
37176         * modules/unictype/property-variation-selector-tests: New file.
37177         * modules/unictype/property-white-space-tests: New file.
37178         * modules/unictype/property-xid-continue-tests: New file.
37179         * modules/unictype/property-xid-start-tests: New file.
37180         * modules/unictype/property-zero-width-tests: New file.
37181         * modules/unictype/scripts-tests: New file.
37182         * modules/unictype/syntax-c-ident-tests: New file.
37183         * modules/unictype/syntax-c-whitespace-tests: New file.
37184         * modules/unictype/syntax-java-ident-tests: New file.
37185         * modules/unictype/syntax-java-whitespace-tests: New file.
37186         * tests/unictype/test-bidi_byname.c: New file.
37187         * tests/unictype/test-bidi_name.c: New file.
37188         * tests/unictype/test-bidi_of.c: New file.
37189         * tests/unictype/test-bidi_test.c: New file.
37190         * tests/unictype/test-block_list.c: New file.
37191         * tests/unictype/test-block_of.c: New file.
37192         * tests/unictype/test-block_test.c: New file.
37193         * tests/unictype/test-categ_and.c: New file.
37194         * tests/unictype/test-categ_and_not.c: New file.
37195         * tests/unictype/test-categ_byname.c: New file.
37196         * tests/unictype/test-categ_name.c: New file.
37197         * tests/unictype/test-categ_none.c: New file.
37198         * tests/unictype/test-categ_of.c: New file.
37199         * tests/unictype/test-categ_or.c: New file.
37200         * tests/unictype/test-categ_test_withtable.c: New file.
37201         * tests/unictype/test-combining.c: New file.
37202         * tests/unictype/test-decdigit.c: New file.
37203         * tests/unictype/test-digit.c: New file.
37204         * tests/unictype/test-mirror.c: New file.
37205         * tests/unictype/test-numeric.c: New file.
37206         * tests/unictype/test-pr_byname.c: New file.
37207         * tests/unictype/test-pr_test.c: New file.
37208         * tests/unictype/test-predicate-part1.h: New file.
37209         * tests/unictype/test-predicate-part2.h: New file.
37210         * tests/unictype/test-scripts.c: New file.
37211         * tests/unictype/test-sy_c_ident.c: New file.
37212         * tests/unictype/test-sy_java_ident.c: New file.
37213
37214         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
37215         for Unicode 5.0.0.
37216         * tests/unictype/test-categ_Cc.c: Likewise.
37217         * tests/unictype/test-categ_Cf.c: Likewise.
37218         * tests/unictype/test-categ_Cn.c: Likewise.
37219         * tests/unictype/test-categ_Co.c: Likewise.
37220         * tests/unictype/test-categ_Cs.c: Likewise.
37221         * tests/unictype/test-categ_L.c: Likewise.
37222         * tests/unictype/test-categ_Ll.c: Likewise.
37223         * tests/unictype/test-categ_Lm.c: Likewise.
37224         * tests/unictype/test-categ_Lo.c: Likewise.
37225         * tests/unictype/test-categ_Lt.c: Likewise.
37226         * tests/unictype/test-categ_Lu.c: Likewise.
37227         * tests/unictype/test-categ_M.c: Likewise.
37228         * tests/unictype/test-categ_Mc.c: Likewise.
37229         * tests/unictype/test-categ_Me.c: Likewise.
37230         * tests/unictype/test-categ_Mn.c: Likewise.
37231         * tests/unictype/test-categ_N.c: Likewise.
37232         * tests/unictype/test-categ_Nd.c: Likewise.
37233         * tests/unictype/test-categ_Nl.c: Likewise.
37234         * tests/unictype/test-categ_No.c: Likewise.
37235         * tests/unictype/test-categ_P.c: Likewise.
37236         * tests/unictype/test-categ_Pc.c: Likewise.
37237         * tests/unictype/test-categ_Pd.c: Likewise.
37238         * tests/unictype/test-categ_Pe.c: Likewise.
37239         * tests/unictype/test-categ_Pf.c: Likewise.
37240         * tests/unictype/test-categ_Pi.c: Likewise.
37241         * tests/unictype/test-categ_Po.c: Likewise.
37242         * tests/unictype/test-categ_Ps.c: Likewise.
37243         * tests/unictype/test-categ_S.c: Likewise.
37244         * tests/unictype/test-categ_Sc.c: Likewise.
37245         * tests/unictype/test-categ_Sk.c: Likewise.
37246         * tests/unictype/test-categ_Sm.c: Likewise.
37247         * tests/unictype/test-categ_So.c: Likewise.
37248         * tests/unictype/test-categ_Z.c: Likewise.
37249         * tests/unictype/test-categ_Zl.c: Likewise.
37250         * tests/unictype/test-categ_Zp.c: Likewise.
37251         * tests/unictype/test-categ_Zs.c: Likewise.
37252         * tests/unictype/test-ctype_alnum.c: Likewise.
37253         * tests/unictype/test-ctype_alpha.c: Likewise.
37254         * tests/unictype/test-ctype_blank.c: Likewise.
37255         * tests/unictype/test-ctype_cntrl.c: Likewise.
37256         * tests/unictype/test-ctype_digit.c: Likewise.
37257         * tests/unictype/test-ctype_graph.c: Likewise.
37258         * tests/unictype/test-ctype_lower.c: Likewise.
37259         * tests/unictype/test-ctype_print.c: Likewise.
37260         * tests/unictype/test-ctype_punct.c: Likewise.
37261         * tests/unictype/test-ctype_space.c: Likewise.
37262         * tests/unictype/test-ctype_upper.c: Likewise.
37263         * tests/unictype/test-ctype_xdigit.c: Likewise.
37264         * tests/unictype/test-decdigit.h: Likewise.
37265         * tests/unictype/test-digit.h: Likewise.
37266         * tests/unictype/test-numeric.h: Likewise.
37267         * tests/unictype/test-pr_alphabetic.c: Likewise.
37268         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
37269         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
37270         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
37271         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
37272         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
37273         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
37274         * tests/unictype/test-pr_bidi_control.c: Likewise.
37275         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
37276         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
37277         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
37278         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
37279         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
37280         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
37281         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
37282         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
37283         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
37284         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
37285         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
37286         * tests/unictype/test-pr_combining.c: Likewise.
37287         * tests/unictype/test-pr_composite.c: Likewise.
37288         * tests/unictype/test-pr_currency_symbol.c: Likewise.
37289         * tests/unictype/test-pr_dash.c: Likewise.
37290         * tests/unictype/test-pr_decimal_digit.c: Likewise.
37291         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
37292         * tests/unictype/test-pr_deprecated.c: Likewise.
37293         * tests/unictype/test-pr_diacritic.c: Likewise.
37294         * tests/unictype/test-pr_extender.c: Likewise.
37295         * tests/unictype/test-pr_format_control.c: Likewise.
37296         * tests/unictype/test-pr_grapheme_base.c: Likewise.
37297         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
37298         * tests/unictype/test-pr_grapheme_link.c: Likewise.
37299         * tests/unictype/test-pr_hex_digit.c: Likewise.
37300         * tests/unictype/test-pr_hyphen.c: Likewise.
37301         * tests/unictype/test-pr_id_continue.c: Likewise.
37302         * tests/unictype/test-pr_id_start.c: Likewise.
37303         * tests/unictype/test-pr_ideographic.c: Likewise.
37304         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
37305         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
37306         * tests/unictype/test-pr_ignorable_control.c: Likewise.
37307         * tests/unictype/test-pr_iso_control.c: Likewise.
37308         * tests/unictype/test-pr_join_control.c: Likewise.
37309         * tests/unictype/test-pr_left_of_pair.c: Likewise.
37310         * tests/unictype/test-pr_line_separator.c: Likewise.
37311         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
37312         * tests/unictype/test-pr_lowercase.c: Likewise.
37313         * tests/unictype/test-pr_math.c: Likewise.
37314         * tests/unictype/test-pr_non_break.c: Likewise.
37315         * tests/unictype/test-pr_not_a_character.c: Likewise.
37316         * tests/unictype/test-pr_numeric.c: Likewise.
37317         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
37318         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
37319         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
37320         * tests/unictype/test-pr_other_id_continue.c: Likewise.
37321         * tests/unictype/test-pr_other_id_start.c: Likewise.
37322         * tests/unictype/test-pr_other_lowercase.c: Likewise.
37323         * tests/unictype/test-pr_other_math.c: Likewise.
37324         * tests/unictype/test-pr_other_uppercase.c: Likewise.
37325         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
37326         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
37327         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
37328         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
37329         * tests/unictype/test-pr_private_use.c: Likewise.
37330         * tests/unictype/test-pr_punctuation.c: Likewise.
37331         * tests/unictype/test-pr_quotation_mark.c: Likewise.
37332         * tests/unictype/test-pr_radical.c: Likewise.
37333         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
37334         * tests/unictype/test-pr_soft_dotted.c: Likewise.
37335         * tests/unictype/test-pr_space.c: Likewise.
37336         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
37337         * tests/unictype/test-pr_titlecase.c: Likewise.
37338         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
37339         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
37340         * tests/unictype/test-pr_uppercase.c: Likewise.
37341         * tests/unictype/test-pr_variation_selector.c: Likewise.
37342         * tests/unictype/test-pr_white_space.c: Likewise.
37343         * tests/unictype/test-pr_xid_continue.c: Likewise.
37344         * tests/unictype/test-pr_xid_start.c: Likewise.
37345         * tests/unictype/test-pr_zero_width.c: Likewise.
37346         * tests/unictype/test-sy_c_whitespace.c: Likewise.
37347         * tests/unictype/test-sy_java_whitespace.c: Likewise.
37348
37349 2007-11-12  Bruno Haible  <bruno@clisp.org>
37350
37351         Unicode character classification functions.
37352         * lib/unictype.h: New file.
37353         * modules/unictype/base: New file.
37354         * modules/unictype/category-L: New file.
37355         * modules/unictype/category-Lu: New file.
37356         * modules/unictype/category-Ll: New file.
37357         * modules/unictype/category-Lt: New file.
37358         * modules/unictype/category-Lm: New file.
37359         * modules/unictype/category-Lo: New file.
37360         * modules/unictype/category-M: New file.
37361         * modules/unictype/category-Mn: New file.
37362         * modules/unictype/category-Mc: New file.
37363         * modules/unictype/category-Me: New file.
37364         * modules/unictype/category-N: New file.
37365         * modules/unictype/category-Nd: New file.
37366         * modules/unictype/category-Nl: New file.
37367         * modules/unictype/category-No: New file.
37368         * modules/unictype/category-P: New file.
37369         * modules/unictype/category-Pc: New file.
37370         * modules/unictype/category-Pd: New file.
37371         * modules/unictype/category-Ps: New file.
37372         * modules/unictype/category-Pe: New file.
37373         * modules/unictype/category-Pi: New file.
37374         * modules/unictype/category-Pf: New file.
37375         * modules/unictype/category-Po: New file.
37376         * modules/unictype/category-S: New file.
37377         * modules/unictype/category-Sm: New file.
37378         * modules/unictype/category-Sc: New file.
37379         * modules/unictype/category-Sk: New file.
37380         * modules/unictype/category-So: New file.
37381         * modules/unictype/category-Z: New file.
37382         * modules/unictype/category-Zs: New file.
37383         * modules/unictype/category-Zl: New file.
37384         * modules/unictype/category-Zp: New file.
37385         * modules/unictype/category-C: New file.
37386         * modules/unictype/category-Cc: New file.
37387         * modules/unictype/category-Cf: New file.
37388         * modules/unictype/category-Cs: New file.
37389         * modules/unictype/category-Co: New file.
37390         * modules/unictype/category-Cn: New file.
37391         * modules/unictype/category-or: New file.
37392         * modules/unictype/category-of: New file.
37393         * modules/unictype/category-test: New file.
37394         * modules/unictype/category-test-withtable: New file.
37395         * modules/unictype/category-byname: New file.
37396         * modules/unictype/category-none: New file.
37397         * modules/unictype/category-and: New file.
37398         * modules/unictype/category-and-not: New file.
37399         * modules/unictype/category-name: New file.
37400         * modules/unictype/combining-class: New file.
37401         * modules/unictype/category-all: New file.
37402         * modules/unictype/bidicategory-all: New file.
37403         * modules/unictype/bidicategory-byname: New file.
37404         * modules/unictype/bidicategory-name: New file.
37405         * modules/unictype/bidicategory-of: New file.
37406         * modules/unictype/bidicategory-test: New file.
37407         * modules/unictype/decimal-digit: New file.
37408         * modules/unictype/digit: New file.
37409         * modules/unictype/numeric: New file.
37410         * modules/unictype/mirror: New file.
37411         * modules/unictype/property-white-space: New file.
37412         * modules/unictype/property-alphabetic: New file.
37413         * modules/unictype/property-other-alphabetic: New file.
37414         * modules/unictype/property-not-a-character: New file.
37415         * modules/unictype/property-default-ignorable-code-point: New file.
37416         * modules/unictype/property-other-default-ignorable-code-point: New
37417         file.
37418         * modules/unictype/property-deprecated: New file.
37419         * modules/unictype/property-logical-order-exception: New file.
37420         * modules/unictype/property-variation-selector: New file.
37421         * modules/unictype/property-private-use: New file.
37422         * modules/unictype/property-unassigned-code-value: New file.
37423         * modules/unictype/property-uppercase: New file.
37424         * modules/unictype/property-other-uppercase: New file.
37425         * modules/unictype/property-lowercase: New file.
37426         * modules/unictype/property-other-lowercase: New file.
37427         * modules/unictype/property-titlecase: New file.
37428         * modules/unictype/property-soft-dotted: New file.
37429         * modules/unictype/property-id-start: New file.
37430         * modules/unictype/property-other-id-start: New file.
37431         * modules/unictype/property-id-continue: New file.
37432         * modules/unictype/property-other-id-continue: New file.
37433         * modules/unictype/property-xid-start: New file.
37434         * modules/unictype/property-xid-continue: New file.
37435         * modules/unictype/property-pattern-white-space: New file.
37436         * modules/unictype/property-pattern-syntax: New file.
37437         * modules/unictype/property-join-control: New file.
37438         * modules/unictype/property-grapheme-base: New file.
37439         * modules/unictype/property-grapheme-extend: New file.
37440         * modules/unictype/property-other-grapheme-extend: New file.
37441         * modules/unictype/property-grapheme-link: New file.
37442         * modules/unictype/property-bidi-control: New file.
37443         * modules/unictype/property-bidi-left-to-right: New file.
37444         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
37445         * modules/unictype/property-bidi-arabic-right-to-left: New file.
37446         * modules/unictype/property-bidi-european-digit: New file.
37447         * modules/unictype/property-bidi-eur-num-separator: New file.
37448         * modules/unictype/property-bidi-eur-num-terminator: New file.
37449         * modules/unictype/property-bidi-arabic-digit: New file.
37450         * modules/unictype/property-bidi-common-separator: New file.
37451         * modules/unictype/property-bidi-block-separator: New file.
37452         * modules/unictype/property-bidi-segment-separator: New file.
37453         * modules/unictype/property-bidi-whitespace: New file.
37454         * modules/unictype/property-bidi-non-spacing-mark: New file.
37455         * modules/unictype/property-bidi-boundary-neutral: New file.
37456         * modules/unictype/property-bidi-pdf: New file.
37457         * modules/unictype/property-bidi-embedding-or-override: New file.
37458         * modules/unictype/property-bidi-other-neutral: New file.
37459         * modules/unictype/property-hex-digit: New file.
37460         * modules/unictype/property-ascii-hex-digit: New file.
37461         * modules/unictype/property-ideographic: New file.
37462         * modules/unictype/property-unified-ideograph: New file.
37463         * modules/unictype/property-radical: New file.
37464         * modules/unictype/property-ids-binary-operator: New file.
37465         * modules/unictype/property-ids-trinary-operator: New file.
37466         * modules/unictype/property-zero-width: New file.
37467         * modules/unictype/property-space: New file.
37468         * modules/unictype/property-non-break: New file.
37469         * modules/unictype/property-iso-control: New file.
37470         * modules/unictype/property-format-control: New file.
37471         * modules/unictype/property-dash: New file.
37472         * modules/unictype/property-hyphen: New file.
37473         * modules/unictype/property-punctuation: New file.
37474         * modules/unictype/property-line-separator: New file.
37475         * modules/unictype/property-paragraph-separator: New file.
37476         * modules/unictype/property-quotation-mark: New file.
37477         * modules/unictype/property-sentence-terminal: New file.
37478         * modules/unictype/property-terminal-punctuation: New file.
37479         * modules/unictype/property-currency-symbol: New file.
37480         * modules/unictype/property-math: New file.
37481         * modules/unictype/property-other-math: New file.
37482         * modules/unictype/property-paired-punctuation: New file.
37483         * modules/unictype/property-left-of-pair: New file.
37484         * modules/unictype/property-combining: New file.
37485         * modules/unictype/property-composite: New file.
37486         * modules/unictype/property-decimal-digit: New file.
37487         * modules/unictype/property-numeric: New file.
37488         * modules/unictype/property-diacritic: New file.
37489         * modules/unictype/property-extender: New file.
37490         * modules/unictype/property-ignorable-control: New file.
37491         * modules/unictype/property-test: New file.
37492         * modules/unictype/property-byname: New file.
37493         * modules/unictype/property-all: New file.
37494         * modules/unictype/scripts: New file.
37495         * modules/unictype/scripts-all: New file.
37496         * modules/unictype/block-of: New file.
37497         * modules/unictype/block-test: New file.
37498         * modules/unictype/block-list: New file.
37499         * modules/unictype/block-all: New file.
37500         * modules/unictype/syntax-c-whitespace: New file.
37501         * modules/unictype/syntax-java-whitespace: New file.
37502         * modules/unictype/syntax-c-ident: New file.
37503         * modules/unictype/syntax-java-ident: New file.
37504         * modules/unictype/ctype-alnum: New file.
37505         * modules/unictype/ctype-alpha: New file.
37506         * modules/unictype/ctype-cntrl: New file.
37507         * modules/unictype/ctype-digit: New file.
37508         * modules/unictype/ctype-graph: New file.
37509         * modules/unictype/ctype-lower: New file.
37510         * modules/unictype/ctype-print: New file.
37511         * modules/unictype/ctype-punct: New file.
37512         * modules/unictype/ctype-space: New file.
37513         * modules/unictype/ctype-upper: New file.
37514         * modules/unictype/ctype-xdigit: New file.
37515         * modules/unictype/ctype-blank: New file.
37516         * lib/unictype/bidi_byname.c: New file.
37517         * lib/unictype/bidi_name.c: New file.
37518         * lib/unictype/bidi_of.c: New file.
37519         * lib/unictype/bidi_test.c: New file.
37520         * lib/unictype/bitmap.h: New file.
37521         * lib/unictype/block_test.c: New file.
37522         * lib/unictype/blocks.c: New file.
37523         * lib/unictype/categ_C.c: New file.
37524         * lib/unictype/categ_Cc.c: New file.
37525         * lib/unictype/categ_Cf.c: New file.
37526         * lib/unictype/categ_Cn.c: New file.
37527         * lib/unictype/categ_Co.c: New file.
37528         * lib/unictype/categ_Cs.c: New file.
37529         * lib/unictype/categ_L.c: New file.
37530         * lib/unictype/categ_Ll.c: New file.
37531         * lib/unictype/categ_Lm.c: New file.
37532         * lib/unictype/categ_Lo.c: New file.
37533         * lib/unictype/categ_Lt.c: New file.
37534         * lib/unictype/categ_Lu.c: New file.
37535         * lib/unictype/categ_M.c: New file.
37536         * lib/unictype/categ_Mc.c: New file.
37537         * lib/unictype/categ_Me.c: New file.
37538         * lib/unictype/categ_Mn.c: New file.
37539         * lib/unictype/categ_N.c: New file.
37540         * lib/unictype/categ_Nd.c: New file.
37541         * lib/unictype/categ_Nl.c: New file.
37542         * lib/unictype/categ_No.c: New file.
37543         * lib/unictype/categ_P.c: New file.
37544         * lib/unictype/categ_Pc.c: New file.
37545         * lib/unictype/categ_Pd.c: New file.
37546         * lib/unictype/categ_Pe.c: New file.
37547         * lib/unictype/categ_Pf.c: New file.
37548         * lib/unictype/categ_Pi.c: New file.
37549         * lib/unictype/categ_Po.c: New file.
37550         * lib/unictype/categ_Ps.c: New file.
37551         * lib/unictype/categ_S.c: New file.
37552         * lib/unictype/categ_Sc.c: New file.
37553         * lib/unictype/categ_Sk.c: New file.
37554         * lib/unictype/categ_Sm.c: New file.
37555         * lib/unictype/categ_So.c: New file.
37556         * lib/unictype/categ_Z.c: New file.
37557         * lib/unictype/categ_Zl.c: New file.
37558         * lib/unictype/categ_Zp.c: New file.
37559         * lib/unictype/categ_Zs.c: New file.
37560         * lib/unictype/categ_and.c: New file.
37561         * lib/unictype/categ_and_not.c: New file.
37562         * lib/unictype/categ_byname.c: New file.
37563         * lib/unictype/categ_name.c: New file.
37564         * lib/unictype/categ_none.c: New file.
37565         * lib/unictype/categ_of.c: New file.
37566         * lib/unictype/categ_or.c: New file.
37567         * lib/unictype/categ_test.c: New file.
37568         * lib/unictype/combining.c: New file.
37569         * lib/unictype/ctype_alnum.c: New file.
37570         * lib/unictype/ctype_alpha.c: New file.
37571         * lib/unictype/ctype_blank.c: New file.
37572         * lib/unictype/ctype_cntrl.c: New file.
37573         * lib/unictype/ctype_digit.c: New file.
37574         * lib/unictype/ctype_graph.c: New file.
37575         * lib/unictype/ctype_lower.c: New file.
37576         * lib/unictype/ctype_print.c: New file.
37577         * lib/unictype/ctype_punct.c: New file.
37578         * lib/unictype/ctype_space.c: New file.
37579         * lib/unictype/ctype_upper.c: New file.
37580         * lib/unictype/ctype_xdigit.c: New file.
37581         * lib/unictype/decdigit.c: New file.
37582         * lib/unictype/digit.c: New file.
37583         * lib/unictype/identsyntaxmap.h: New file.
37584         * lib/unictype/mirror.c: New file.
37585         * lib/unictype/numeric.c: New file.
37586         * lib/unictype/pr_alphabetic.c: New file.
37587         * lib/unictype/pr_ascii_hex_digit.c: New file.
37588         * lib/unictype/pr_bidi_arabic_digit.c: New file.
37589         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
37590         * lib/unictype/pr_bidi_block_separator.c: New file.
37591         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
37592         * lib/unictype/pr_bidi_common_separator.c: New file.
37593         * lib/unictype/pr_bidi_control.c: New file.
37594         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
37595         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
37596         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
37597         * lib/unictype/pr_bidi_european_digit.c: New file.
37598         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
37599         * lib/unictype/pr_bidi_left_to_right.c: New file.
37600         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
37601         * lib/unictype/pr_bidi_other_neutral.c: New file.
37602         * lib/unictype/pr_bidi_pdf.c: New file.
37603         * lib/unictype/pr_bidi_segment_separator.c: New file.
37604         * lib/unictype/pr_bidi_whitespace.c: New file.
37605         * lib/unictype/pr_byname.c: New file.
37606         * lib/unictype/pr_byname.gperf: New file.
37607         * lib/unictype/pr_combining.c: New file.
37608         * lib/unictype/pr_composite.c: New file.
37609         * lib/unictype/pr_currency_symbol.c: New file.
37610         * lib/unictype/pr_dash.c: New file.
37611         * lib/unictype/pr_decimal_digit.c: New file.
37612         * lib/unictype/pr_default_ignorable_code_point.c: New file.
37613         * lib/unictype/pr_deprecated.c: New file.
37614         * lib/unictype/pr_diacritic.c: New file.
37615         * lib/unictype/pr_extender.c: New file.
37616         * lib/unictype/pr_format_control.c: New file.
37617         * lib/unictype/pr_grapheme_base.c: New file.
37618         * lib/unictype/pr_grapheme_extend.c: New file.
37619         * lib/unictype/pr_grapheme_link.c: New file.
37620         * lib/unictype/pr_hex_digit.c: New file.
37621         * lib/unictype/pr_hyphen.c: New file.
37622         * lib/unictype/pr_id_continue.c: New file.
37623         * lib/unictype/pr_id_start.c: New file.
37624         * lib/unictype/pr_ideographic.c: New file.
37625         * lib/unictype/pr_ids_binary_operator.c: New file.
37626         * lib/unictype/pr_ids_trinary_operator.c: New file.
37627         * lib/unictype/pr_ignorable_control.c: New file.
37628         * lib/unictype/pr_iso_control.c: New file.
37629         * lib/unictype/pr_join_control.c: New file.
37630         * lib/unictype/pr_left_of_pair.c: New file.
37631         * lib/unictype/pr_line_separator.c: New file.
37632         * lib/unictype/pr_logical_order_exception.c: New file.
37633         * lib/unictype/pr_lowercase.c: New file.
37634         * lib/unictype/pr_math.c: New file.
37635         * lib/unictype/pr_non_break.c: New file.
37636         * lib/unictype/pr_not_a_character.c: New file.
37637         * lib/unictype/pr_numeric.c: New file.
37638         * lib/unictype/pr_other_alphabetic.c: New file.
37639         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
37640         * lib/unictype/pr_other_grapheme_extend.c: New file.
37641         * lib/unictype/pr_other_id_continue.c: New file.
37642         * lib/unictype/pr_other_id_start.c: New file.
37643         * lib/unictype/pr_other_lowercase.c: New file.
37644         * lib/unictype/pr_other_math.c: New file.
37645         * lib/unictype/pr_other_uppercase.c: New file.
37646         * lib/unictype/pr_paired_punctuation.c: New file.
37647         * lib/unictype/pr_paragraph_separator.c: New file.
37648         * lib/unictype/pr_pattern_syntax.c: New file.
37649         * lib/unictype/pr_pattern_white_space.c: New file.
37650         * lib/unictype/pr_private_use.c: New file.
37651         * lib/unictype/pr_punctuation.c: New file.
37652         * lib/unictype/pr_quotation_mark.c: New file.
37653         * lib/unictype/pr_radical.c: New file.
37654         * lib/unictype/pr_sentence_terminal.c: New file.
37655         * lib/unictype/pr_soft_dotted.c: New file.
37656         * lib/unictype/pr_space.c: New file.
37657         * lib/unictype/pr_terminal_punctuation.c: New file.
37658         * lib/unictype/pr_test.c: New file.
37659         * lib/unictype/pr_titlecase.c: New file.
37660         * lib/unictype/pr_unassigned_code_value.c: New file.
37661         * lib/unictype/pr_unified_ideograph.c: New file.
37662         * lib/unictype/pr_uppercase.c: New file.
37663         * lib/unictype/pr_variation_selector.c: New file.
37664         * lib/unictype/pr_white_space.c: New file.
37665         * lib/unictype/pr_xid_continue.c: New file.
37666         * lib/unictype/pr_xid_start.c: New file.
37667         * lib/unictype/pr_zero_width.c: New file.
37668         * lib/unictype/scripts.c: New file.
37669         * lib/unictype/sy_c_ident.c: New file.
37670         * lib/unictype/sy_c_whitespace.c: New file.
37671         * lib/unictype/sy_java_ident.c: New file.
37672         * lib/unictype/sy_java_whitespace.c: New file.
37673
37674         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
37675         Unicode 5.0.0.
37676         * lib/unictype/blocks.h: Likewise.
37677         * lib/unictype/categ_C.h: Likewise.
37678         * lib/unictype/categ_Cc.h: Likewise.
37679         * lib/unictype/categ_Cf.h: Likewise.
37680         * lib/unictype/categ_Cn.h: Likewise.
37681         * lib/unictype/categ_Co.h: Likewise.
37682         * lib/unictype/categ_Cs.h: Likewise.
37683         * lib/unictype/categ_L.h: Likewise.
37684         * lib/unictype/categ_Ll.h: Likewise.
37685         * lib/unictype/categ_Lm.h: Likewise.
37686         * lib/unictype/categ_Lo.h: Likewise.
37687         * lib/unictype/categ_Lt.h: Likewise.
37688         * lib/unictype/categ_Lu.h: Likewise.
37689         * lib/unictype/categ_M.h: Likewise.
37690         * lib/unictype/categ_Mc.h: Likewise.
37691         * lib/unictype/categ_Me.h: Likewise.
37692         * lib/unictype/categ_Mn.h: Likewise.
37693         * lib/unictype/categ_N.h: Likewise.
37694         * lib/unictype/categ_Nd.h: Likewise.
37695         * lib/unictype/categ_Nl.h: Likewise.
37696         * lib/unictype/categ_No.h: Likewise.
37697         * lib/unictype/categ_P.h: Likewise.
37698         * lib/unictype/categ_Pc.h: Likewise.
37699         * lib/unictype/categ_Pd.h: Likewise.
37700         * lib/unictype/categ_Pe.h: Likewise.
37701         * lib/unictype/categ_Pf.h: Likewise.
37702         * lib/unictype/categ_Pi.h: Likewise.
37703         * lib/unictype/categ_Po.h: Likewise.
37704         * lib/unictype/categ_Ps.h: Likewise.
37705         * lib/unictype/categ_S.h: Likewise.
37706         * lib/unictype/categ_Sc.h: Likewise.
37707         * lib/unictype/categ_Sk.h: Likewise.
37708         * lib/unictype/categ_Sm.h: Likewise.
37709         * lib/unictype/categ_So.h: Likewise.
37710         * lib/unictype/categ_Z.h: Likewise.
37711         * lib/unictype/categ_Zl.h: Likewise.
37712         * lib/unictype/categ_Zp.h: Likewise.
37713         * lib/unictype/categ_Zs.h: Likewise.
37714         * lib/unictype/categ_of.h: Likewise.
37715         * lib/unictype/combining.h: Likewise.
37716         * lib/unictype/ctype_alnum.h: Likewise.
37717         * lib/unictype/ctype_alpha.h: Likewise.
37718         * lib/unictype/ctype_blank.h: Likewise.
37719         * lib/unictype/ctype_cntrl.h: Likewise.
37720         * lib/unictype/ctype_digit.h: Likewise.
37721         * lib/unictype/ctype_graph.h: Likewise.
37722         * lib/unictype/ctype_lower.h: Likewise.
37723         * lib/unictype/ctype_print.h: Likewise.
37724         * lib/unictype/ctype_punct.h: Likewise.
37725         * lib/unictype/ctype_space.h: Likewise.
37726         * lib/unictype/ctype_upper.h: Likewise.
37727         * lib/unictype/ctype_xdigit.h: Likewise.
37728         * lib/unictype/decdigit.h: Likewise.
37729         * lib/unictype/digit.h: Likewise.
37730         * lib/unictype/mirror.h: Likewise.
37731         * lib/unictype/numeric.h: Likewise.
37732         * lib/unictype/pr_alphabetic.h: Likewise.
37733         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
37734         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
37735         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
37736         * lib/unictype/pr_bidi_block_separator.h: Likewise.
37737         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
37738         * lib/unictype/pr_bidi_common_separator.h: Likewise.
37739         * lib/unictype/pr_bidi_control.h: Likewise.
37740         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
37741         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
37742         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
37743         * lib/unictype/pr_bidi_european_digit.h: Likewise.
37744         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
37745         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
37746         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
37747         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
37748         * lib/unictype/pr_bidi_pdf.h: Likewise.
37749         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
37750         * lib/unictype/pr_bidi_whitespace.h: Likewise.
37751         * lib/unictype/pr_combining.h: Likewise.
37752         * lib/unictype/pr_composite.h: Likewise.
37753         * lib/unictype/pr_currency_symbol.h: Likewise.
37754         * lib/unictype/pr_dash.h: Likewise.
37755         * lib/unictype/pr_decimal_digit.h: Likewise.
37756         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
37757         * lib/unictype/pr_deprecated.h: Likewise.
37758         * lib/unictype/pr_diacritic.h: Likewise.
37759         * lib/unictype/pr_extender.h: Likewise.
37760         * lib/unictype/pr_format_control.h: Likewise.
37761         * lib/unictype/pr_grapheme_base.h: Likewise.
37762         * lib/unictype/pr_grapheme_extend.h: Likewise.
37763         * lib/unictype/pr_grapheme_link.h: Likewise.
37764         * lib/unictype/pr_hex_digit.h: Likewise.
37765         * lib/unictype/pr_hyphen.h: Likewise.
37766         * lib/unictype/pr_id_continue.h: Likewise.
37767         * lib/unictype/pr_id_start.h: Likewise.
37768         * lib/unictype/pr_ideographic.h: Likewise.
37769         * lib/unictype/pr_ids_binary_operator.h: Likewise.
37770         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
37771         * lib/unictype/pr_ignorable_control.h: Likewise.
37772         * lib/unictype/pr_iso_control.h: Likewise.
37773         * lib/unictype/pr_join_control.h: Likewise.
37774         * lib/unictype/pr_left_of_pair.h: Likewise.
37775         * lib/unictype/pr_line_separator.h: Likewise.
37776         * lib/unictype/pr_logical_order_exception.h: Likewise.
37777         * lib/unictype/pr_lowercase.h: Likewise.
37778         * lib/unictype/pr_math.h: Likewise.
37779         * lib/unictype/pr_non_break.h: Likewise.
37780         * lib/unictype/pr_not_a_character.h: Likewise.
37781         * lib/unictype/pr_numeric.h: Likewise.
37782         * lib/unictype/pr_other_alphabetic.h: Likewise.
37783         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
37784         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
37785         * lib/unictype/pr_other_id_continue.h: Likewise.
37786         * lib/unictype/pr_other_id_start.h: Likewise.
37787         * lib/unictype/pr_other_lowercase.h: Likewise.
37788         * lib/unictype/pr_other_math.h: Likewise.
37789         * lib/unictype/pr_other_uppercase.h: Likewise.
37790         * lib/unictype/pr_paired_punctuation.h: Likewise.
37791         * lib/unictype/pr_paragraph_separator.h: Likewise.
37792         * lib/unictype/pr_pattern_syntax.h: Likewise.
37793         * lib/unictype/pr_pattern_white_space.h: Likewise.
37794         * lib/unictype/pr_private_use.h: Likewise.
37795         * lib/unictype/pr_punctuation.h: Likewise.
37796         * lib/unictype/pr_quotation_mark.h: Likewise.
37797         * lib/unictype/pr_radical.h: Likewise.
37798         * lib/unictype/pr_sentence_terminal.h: Likewise.
37799         * lib/unictype/pr_soft_dotted.h: Likewise.
37800         * lib/unictype/pr_space.h: Likewise.
37801         * lib/unictype/pr_terminal_punctuation.h: Likewise.
37802         * lib/unictype/pr_titlecase.h: Likewise.
37803         * lib/unictype/pr_unassigned_code_value.h: Likewise.
37804         * lib/unictype/pr_unified_ideograph.h: Likewise.
37805         * lib/unictype/pr_uppercase.h: Likewise.
37806         * lib/unictype/pr_variation_selector.h: Likewise.
37807         * lib/unictype/pr_white_space.h: Likewise.
37808         * lib/unictype/pr_xid_continue.h: Likewise.
37809         * lib/unictype/pr_xid_start.h: Likewise.
37810         * lib/unictype/pr_zero_width.h: Likewise.
37811         * lib/unictype/scripts.h: Likewise.
37812         * lib/unictype/scripts_byname.gperf: Likewise.
37813         * lib/unictype/sy_c_ident.h: Likewise.
37814         * lib/unictype/sy_c_whitespace.h: Likewise.
37815         * lib/unictype/sy_java_ident.h: Likewise.
37816         * lib/unictype/sy_java_whitespace.h: Likewise.
37817
37818         * lib/unictype/Makefile: New file.
37819         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
37820         glibc.
37821         * lib/unictype/3level.h: New file, copied from glibc.
37822         * lib/unictype/3levelbit.h: New file.
37823
37824 2007-11-11  Bruno Haible  <bruno@clisp.org>
37825
37826         * modules/gperf: New file.
37827         * modules/iconv_open (Depends-on): Add it.
37828         (Makefile.am): Remove the GPERF definition.
37829
37830 2007-11-11  Bruno Haible  <bruno@clisp.org>
37831
37832         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
37833         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
37834
37835 2007-11-11  Bruno Haible  <bruno@clisp.org>
37836
37837         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
37838         (usage): Remove function.
37839
37840 2007-11-11  Bruno Haible  <bruno@clisp.org>
37841
37842         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
37843         gl_FUNC_CEILF_LIBS.
37844         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
37845         gl_FUNC_CEIL_LIBS.
37846         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
37847         gl_FUNC_CEILL_LIBS.
37848         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
37849         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
37850         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
37851
37852 2007-11-11  Bruno Haible  <bruno@clisp.org>
37853
37854         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
37855         roundf were declared but do not exist on functions.
37856         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
37857         roundl were declared but do not exist on functions.
37858         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
37859         HAVE_FLOORL_AND_CEILL, respectively.
37860         Needed for Sun C on Solaris 10.
37861
37862 2007-11-11  Bruno Haible  <bruno@clisp.org>
37863
37864         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
37865         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
37866         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
37867         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
37868         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
37869         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
37870         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
37871         HAVE_DECL_ROUNDF.
37872         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
37873         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
37874         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
37875         of HAVE_DECL_ROUND*.
37876         * modules/math (Makefile.am): Update.
37877
37878 2007-11-10  Bruno Haible  <bruno@clisp.org>
37879
37880         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
37881         ptrdiff_t as m4/intl.m4.
37882
37883 2007-11-10  Jim Meyering  <meyering@redhat.com>
37884
37885         Avoid link failure for the argmatch test.
37886         * tests/test-argmatch.c (usage): Define function to avoid a link
37887         failure: argmatch_die requires a usage function.
37888
37889 2007-11-09  Bruno Haible  <bruno@clisp.org>
37890
37891         * doc/functions/snprintf.texi: Mention BeOS deficiency.
37892         * doc/functions/vsnprintf.texi: Likewise.
37893         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
37894         with a size argument < 2.
37895
37896 2007-11-09  Bruno Haible  <bruno@clisp.org>
37897
37898         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
37899         buffer. Fixes an inefficiency introduced on 2007-11-03.
37900
37901 2007-11-09  Bruno Haible  <bruno@clisp.org>
37902
37903         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
37904         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
37905
37906 2007-11-08  Jim Meyering  <meyering@redhat.com>
37907
37908         Change cache variable name prefix "jm_" to "gl_" everywhere.
37909         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
37910         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
37911         * m4/uptime.m4: s/gl_/jm_/
37912
37913 2007-11-07  Bruno Haible  <bruno@clisp.org>
37914
37915         Update to GNU gettext 0.17.
37916         * m4/intl.m4: Update to GNU gettext 0.17.
37917         * m4/po.m4: Likewise.
37918         * modules/gettext (Files): Remove m4/ulonglong.m4.
37919         (configure.ac): Require gettext infrastructure from version 0.17.
37920
37921 2007-11-06  Bruno Haible  <bruno@clisp.org>
37922
37923         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
37924         symbolic values are not defined in a public header.
37925         * lib/freadable.c (freadable) [QNX]: Likewise.
37926         * lib/freadahead.c (freadahead) [QNX]: Likewise.
37927         * lib/freading.c (freading) [QNX]: Likewise.
37928         * lib/fseterr.c (fseterr) [QNX]: Likewise.
37929         * lib/fwritable.c (fwritable) [QNX]: Likewise.
37930         * lib/fwriting.c (fwriting) [QNX]: Likewise.
37931         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
37932         Reported by Alain Magloire.
37933
37934         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
37935
37936 2007-11-05  Bruno Haible  <bruno@clisp.org>
37937
37938         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
37939         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
37940         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
37941         Reported by Eric Blake.
37942
37943 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37944             Bruno Haible  <bruno@clisp.org>
37945
37946         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
37947         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
37948         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
37949         (malloc): Undefine also before including <stdlib.h>.
37950         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
37951         Needed on OSF/1 4.0.
37952
37953 2007-11-05  Jim Meyering  <meyering@redhat.com>
37954
37955         git-version-gen: sync from coreutils.
37956         * build-aux/git-version-gen: Add comments.
37957         Change the first '-' to '.' in the snapshot version string,
37958         e.g., 6.9-377-08144 -> 6.9.377-08144
37959         Remove first parameter.
37960         Don't declare a version "-dirty" merely because a time
37961         stamp has changed.
37962
37963 2007-11-04  Bruno Haible  <bruno@clisp.org>
37964
37965         * lib/lock.h: Protect all macro definitions containing an 'if'
37966         statement through a "do { ... } while (0)".
37967         * lib/tls.h: Likewise.
37968
37969 2007-11-04  Bruno Haible  <bruno@clisp.org>
37970
37971         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
37972
37973 2007-11-04  Bruno Haible  <bruno@clisp.org>
37974
37975         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
37976         * modules/fprintf-posix (Depends-on): Add nocrash.
37977         * modules/snprintf-posix (Depends-on): Likewise.
37978         * modules/sprintf-posix (Depends-on): Likewise.
37979         * modules/vasnprintf-posix (Depends-on): Likewise.
37980         * modules/vasprintf-posix (Depends-on): Likewise.
37981         * modules/vfprintf-posix (Depends-on): Likewise.
37982         * modules/vsnprintf-posix (Depends-on): Likewise.
37983         * modules/vsprintf-posix (Depends-on): Likewise.
37984         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
37985         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
37986         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
37987         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
37988         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
37989         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
37990         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
37991
37992 2007-11-04  Bruno Haible  <bruno@clisp.org>
37993
37994         * modules/nocrash: New file.
37995         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
37996         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
37997
37998 2007-11-04  Bruno Haible  <bruno@clisp.org>
37999
38000         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
38001         precision handling.
38002         * tests/test-vasprintf-posix.c (test_function): Likewise.
38003         * tests/test-snprintf-posix.h (test_function): Likewise.
38004         * tests/test-sprintf-posix.h (test_function): Likewise.
38005
38006         Fix *printf behaviour for large precisions on mingw and BeOS.
38007         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
38008         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
38009         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
38010         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
38011         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38012         gl_PRINTF_PRECISION and test its result. Invoke
38013         gl_PREREQ_VASNPRINTF_PRECISION.
38014         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38015         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38016         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38017         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38018         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38019         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38020         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38021         * doc/functions/fprintf.texi: Update.
38022         * doc/functions/printf.texi: Update.
38023         * doc/functions/snprintf.texi: Update.
38024         * doc/functions/sprintf.texi: Update.
38025         * doc/functions/vfprintf.texi: Update.
38026         * doc/functions/vprintf.texi: Update.
38027         * doc/functions/vsnprintf.texi: Update.
38028         * doc/functions/vsprintf.texi: Update.
38029
38030 2007-11-04  Bruno Haible  <bruno@clisp.org>
38031
38032         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
38033
38034 2007-11-04  Bruno Haible  <bruno@clisp.org>
38035
38036         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
38037         Reported by Sylvain Beucler <beuc@gnu.org>.
38038
38039 2007-11-03  Bruno Haible  <bruno@clisp.org>
38040
38041         * tests/test-fprintf-posix2.sh: New file.
38042         * tests/test-fprintf-posix2.c: New file.
38043         * modules/fprintf-posix-tests (Files): Add them.
38044         (TESTS): Add test-fprintf-posix2.sh.
38045         (configure.ac): Check for getrlimit and setrlimit.
38046         (check_PROGRAMS): Add test-fprintf-posix2.
38047
38048         * tests/test-printf-posix2.sh: New file.
38049         * tests/test-printf-posix2.c: New file.
38050         * modules/printf-posix-tests (Files): Add them.
38051         (TESTS): Add test-printf-posix2.sh.
38052         (configure.ac): Check for getrlimit and setrlimit.
38053         (check_PROGRAMS): Add test-printf-posix2.
38054
38055         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
38056         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
38057         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
38058         (decode_double): New function, copied from decode_long_double.
38059         (scale10_round_decimal_decoded): New function, extracted from
38060         scale10_round_decimal_long_double.
38061         (scale10_round_decimal_long_double): Use it.
38062         (scale10_round_decimal_double): New function.
38063         (floorlog10): New function.
38064         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
38065         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
38066         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
38067         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
38068         gl_PRINTF_ENOMEM and test its result. Invoke
38069         gl_PREREQ_VASNPRINTF_ENOMEM.
38070         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
38071         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
38072         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
38073         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
38074         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
38075         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
38076         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
38077         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
38078         * modules/snprintf-posix (Depends-on): Likewise.
38079         * modules/sprintf-posix (Depends-on): Likewise.
38080         * modules/vasnprintf-posix (Depends-on): Likewise.
38081         * modules/vasprintf-posix (Depends-on): Likewise.
38082         * modules/vfprintf-posix (Depends-on): Likewise.
38083         * modules/vsnprintf-posix (Depends-on): Likewise.
38084         * modules/vsprintf-posix (Depends-on): Likewise.
38085         * doc/functions/fprintf.texi: Update.
38086         * doc/functions/printf.texi: Update.
38087         * doc/functions/snprintf.texi: Update.
38088         * doc/functions/sprintf.texi: Update.
38089         * doc/functions/vfprintf.texi: Update.
38090         * doc/functions/vprintf.texi: Update.
38091         * doc/functions/vsnprintf.texi: Update.
38092         * doc/functions/vsprintf.texi: Update.
38093
38094 2007-11-03  Bruno Haible  <bruno@clisp.org>
38095
38096         * modules/frexp-nolibm-tests: New file.
38097
38098         * modules/frexp-nolibm: New file.
38099         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
38100
38101 2007-11-03  Bruno Haible  <bruno@clisp.org>
38102
38103         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
38104         value is C99 compliant.
38105         Needed for OSF/1 5.1.
38106
38107 2007-11-03  Bruno Haible  <bruno@clisp.org>
38108
38109         Fix out-of-memory handling of vasnprintf.
38110         * lib/printf-parse.c: Include <errno.h>.
38111         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
38112         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
38113         is already set.
38114
38115 2007-11-02  Eric Blake  <ebb9@byu.net>
38116
38117         Fix tests on cygwin.
38118         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
38119
38120 2007-11-01  Bruno Haible  <bruno@clisp.org>
38121
38122         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
38123         warning.
38124         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
38125         needed for POSIX compatibility.
38126
38127 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
38128
38129         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
38130         for compatibility with GNU.
38131
38132 2007-11-01  Bruno Haible  <bruno@clisp.org>
38133
38134         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
38135         (putenv): Renamed from rpl_putenv. Change argument type from
38136         'const char *' to 'char *'.
38137         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
38138         of defining putenv in config.h, just set REPLACE_PUTENV.
38139         * modules/putenv (Depends-on): Add stdlib.
38140         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
38141         (Include): Use <stdlib.h>.
38142         * lib/stdlib.in.h (putenv): New declaration.
38143         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
38144         REPLACE_PUTENV.
38145         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
38146         REPLACE_PUTENV.
38147         Needed for MacOS X 10.5.0.
38148         Reported by Peter O'Gorman <peter@pogma.com>.
38149
38150 2007-11-01  Jim Meyering  <meyering@redhat.com>
38151
38152         Treat an empty date string exactly like "0".
38153         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
38154         if the remaining date string (to be parsed) is empty, use "0".
38155         Reported by Mischa Molhoek and discussed in this thread:
38156         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
38157
38158 2007-10-31  Bruno Haible  <bruno@clisp.org>
38159
38160         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
38161         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
38162         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
38163         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
38164         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
38165         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
38166
38167 2007-10-31  Bruno Haible  <bruno@clisp.org>
38168
38169         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
38170         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
38171         (AC_TYPE_LONG_LONG_INT): Use it.
38172         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
38173         it as well.
38174         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
38175         to m4/longlong.m4.
38176         * modules/stdint (Files): Remove m4/ulonglong.m4.
38177         * modules/strtoull (Files): Use m4/longlong.m4 instead of
38178         m4/ulonglong.m4.
38179         * modules/strtoumax (Files): Likewise.
38180
38181 2007-10-30  Bruno Haible  <bruno@clisp.org>
38182
38183         * modules/xvasprintf-posix: New file.
38184         Suggested by Eric Blake.
38185
38186 2007-10-30  Bruno Haible  <bruno@clisp.org>
38187
38188         * modules/xprintf-posix-tests: New file.
38189         * tests/test-xprintf-posix.sh: New file.
38190         * tests/test-xprintf-posix.c: New file.
38191         * tests/test-xfprintf-posix.c: New file.
38192
38193         * modules/xprintf-posix: New file.
38194
38195 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38196
38197         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
38198         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
38199         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
38200
38201 2007-10-29  Bruno Haible  <bruno@clisp.org>
38202
38203         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
38204         contain the special marker '_cv_'.
38205         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
38206         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
38207         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
38208         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
38209         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
38210         Reported by Ralf Wildenhues.
38211
38212 2007-10-29  Bruno Haible  <bruno@clisp.org>
38213
38214         * gnulib-tool (func_import): When --lgpl is not specified, set
38215         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
38216         GPLv3.
38217         Reported by Simon Josefsson.
38218
38219 2007-10-28  Bruno Haible  <bruno@clisp.org>
38220
38221         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
38222         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
38223         HAVE_DECL_ISFINITE.
38224         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
38225         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
38226         HAVE_DECL_ISFINITE.
38227
38228 2007-10-28  Bruno Haible  <bruno@clisp.org>
38229
38230         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
38231         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
38232
38233 2007-10-28  Bruno Haible  <bruno@clisp.org>
38234
38235         Fix link errors with Sun C 5.0 on Solaris 10.
38236         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
38237         function is declared but not present in the compiler's libm.
38238         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
38239         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
38240         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
38241         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
38242         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
38243         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
38244         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
38245         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
38246         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
38247         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
38248         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
38249         HAVE_DECL_FLOORL.
38250
38251 2007-10-28  Bruno Haible  <bruno@clisp.org>
38252
38253         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
38254         gl_FUNC_FLOORL. Cache the result.
38255         (gl_FUNC_FLOORL): Use it.
38256         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
38257         gl_FUNC_CEILL. Cache the result.
38258         (gl_FUNC_CEILL): Use it.
38259
38260         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
38261         gl_FUNC_FLOOR. Cache the result.
38262         (gl_FUNC_FLOOR): Use it.
38263         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
38264         gl_FUNC_CEIL. Cache the result.
38265         (gl_FUNC_CEIL): Use it.
38266
38267         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
38268         gl_FUNC_FLOORF. Cache the result.
38269         (gl_FUNC_FLOORF): Use it.
38270         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
38271         gl_FUNC_CEILF. Cache the result.
38272         (gl_FUNC_CEILF): Use it.
38273
38274 2007-10-28  Bruno Haible  <bruno@clisp.org>
38275
38276         * gnulib-tool: Allow specifying the LGPL version number through
38277         --lgpl=2 or --lgpl=3.
38278         (func_usage): Document --lgpl with argument.
38279         Handle --lgpl=... arguments.
38280         (func_import): Recognize also gl_LGPL calls with an argument. When
38281         --lgpl=2 is used and the module's license is just LGPL, report an
38282         error. Set sed_transform_lib_file according to the lgpl variable. In
38283         the generated files, use --lgpl or gl_LGPL invocations with argument,
38284         if necessary.
38285         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
38286         an LGPv2+ license.
38287         * doc/gnulib-tool.texi (Modified imports): Update explanation of
38288         gl_LGPL macro.
38289
38290 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38291             Bruno Haible  <bruno@clisp.org>
38292
38293         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
38294         (u16_uctomb_aux): Likewise.
38295         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
38296         !HAVE_INLINE.
38297         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
38298
38299 2007-10-28  Bruno Haible  <bruno@clisp.org>
38300
38301         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
38302         Invoke AM_GETTEXT_OPTION if it exists.
38303         * modules/vasprintf: Likewise.
38304         * modules/verror: Likewise.
38305         * modules/xprintf: Likewise.
38306         * modules/xvasprintf: Likewise.
38307
38308 2007-10-27  Ben Pfaff  <blp@gnu.org>
38309
38310         * lib/math.in.h: Define isfinite macro and prototypes for
38311         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
38312         implementations.
38313         * m4/math_h.m4: New substitutions for isfinite module.
38314         * lib/isfinite.c: New file.
38315         * m4/isfinite.m4: New file.
38316         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
38317         * modules/isfinite: New file.
38318         * modules/isfinite-tests: New file.
38319         * tests/tests-isfinite.c: New file.
38320         * doc/functions/isfinite.texi: Mention isfinite module.
38321         * MODULES.html.sh: Mention new module.
38322
38323 2007-10-27  Ben Pfaff  <blp@gnu.org>
38324
38325         Ralf Wildenhues reported that Tru64 4.0D declares the round
38326         functions but does not have definitions.
38327         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
38328         cannot be found in any library, set the output variable to
38329         "missing" instead of "".
38330         * m4/round.m4: Also use our substitute if we cannot find round in
38331         any library, even if it is declared.
38332         * m4/roundf.m4: Likewise for roundf.
38333         * m4/roundl.m4: Likewise for roundl.
38334         * lib/math.in.h: Undefine roundf, round, roundl before defining
38335         their replacements, to allow for hypothetical systems where these
38336         may be defined as macros but not available in libraries.
38337
38338 2007-10-27  Bruno Haible  <bruno@clisp.org>
38339
38340         * doc/gnulib.texi: Invoke @firstparagraphindent.
38341         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
38342         changes in gnulib.
38343         (Source changes): New section.
38344
38345 2007-10-26  Bruno Haible  <bruno@clisp.org>
38346
38347         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
38348         borrowed from autoconf.
38349
38350 2007-10-26  Bruno Haible  <bruno@clisp.org>
38351
38352         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
38353         strerror returned the empty string. Needed on HP-UX 11.00.
38354
38355 2007-10-24  Micah Cowan  <micah@cowan.name>
38356
38357         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
38358         * build-aux/bootstrap: Remove support for now-unnecessary option,
38359         --cvs-user, and envvars CVS_USER, CVS_RSH.
38360
38361 2007-10-24  Jim Meyering  <meyering@redhat.com>
38362
38363         Avoid diagnostics from sha1sum when there is no cached checksum.
38364         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
38365         if the po.s1 file hasn't been created yet.
38366
38367         * build-aux/bootstrap: Sync from coreutils:
38368         2007-10-24  Jim Meyering  <meyering@redhat.com>
38369         Get gnulib from the git repository, not from an obsolete cvs one.
38370         * build-aux/bootstrap: Suggestion from Micah Cowan.
38371         2007-10-04  Jim Meyering  <jim@meyering.net>
38372         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
38373         (update_po_files): Work also when there are no .po files in po/.
38374
38375 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
38376
38377         * README: Append ".git" to git and cg examples.
38378         Problem reported by Benoit Sigoure.
38379
38380 2007-10-23  Micah Cowan  <micah@cowan.name>
38381
38382         * users.txt: Add wget.
38383
38384 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38385
38386         Fix linking of some unistdio tests on FreeBSD.
38387         * modules/unistdio/u16-vsnprintf-tests
38388         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
38389         * modules/unistdio/u16-vsprintf-tests
38390         (test_u16_vsnprintf1_LDADD): Likewise.
38391         * modules/unistdio/u32-vsnprintf-tests
38392         (test_u32_vsnprintf1_LDADD): Likewise.
38393         * modules/unistdio/u32-vsprintf-tests
38394         (test_u32_vsprintf1_LDADD): Likewise.
38395         * modules/unistdio/u8-vsnprintf-tests
38396         (test_u8_vsnprintf1_LDADD): Likewise.
38397         * modules/unistdio/u8-vsprintf-tests
38398         (test_u8_vsprintf1_LDADD): Likewise.
38399         * modules/unistdio/ulc-vsnprintf-tests
38400         (test_ulc_vsnprintf1_LDADD): Likewise.
38401         * modules/unistdio/ulc-vsprintf-tests
38402         (test_ulc_vsprintf1_LDADD): Likewise.
38403
38404         Fix linking of some uniconv tests on FreeBSD.
38405         * modules/uniconv/u16-conv-from-enc-tests
38406         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
38407         * modules/uniconv/u16-conv-to-enc-tests
38408         (test_u16_conv_to_enc_LDADD): Likewise.
38409         * modules/uniconv/u16-strconv-from-enc-tests
38410         (test_u16_strconv_from_enc_LDADD): Likewise.
38411         * modules/uniconv/u16-strconv-to-enc-tests
38412         (test_u16_strconv_to_enc_LDADD): Likewise.
38413         * modules/uniconv/u32-conv-from-enc-tests
38414         (test_u32_conv_from_enc_LDADD): Likewise.
38415         * modules/uniconv/u32-conv-to-enc-tests
38416         (test_u32_conv_to_enc_LDADD): Likewise.
38417         * modules/uniconv/u32-strconv-from-enc-tests
38418         (test_u32_strconv_from_enc_LDADD): Likewise.
38419         * modules/uniconv/u32-strconv-to-enc-tests
38420         (test_u32_strconv_to_enc_LDADD): Likewise.
38421         * modules/uniconv/u8-conv-from-enc-tests
38422         (test_u8_conv_from_enc_LDADD): Likewise.
38423         * modules/uniconv/u8-conv-to-enc-tests
38424         (test_u8_conv_to_enc_LDADD): Likewise.
38425         * modules/uniconv/u8-strconv-from-enc-tests
38426         (test_u8_strconv_from_enc_LDADD): Likewise.
38427         * modules/uniconv/u8-strconv-to-enc-tests
38428         (test_u8_strconv_to_enc_LDADD): Likewise.
38429
38430 2007-10-22  Bruno Haible  <bruno@clisp.org>
38431
38432         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
38433         size.
38434
38435 2007-10-22  Eric Blake  <ebb9@byu.net>
38436
38437         Tweak x*printf documentation.
38438         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
38439         variable name and comments.
38440         Suggested by Bruno Haible.
38441
38442 2007-10-22  Bruno Haible  <bruno@clisp.org>
38443
38444         * lib/acl.c (copy_acl): Fix file name in comment.
38445
38446 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
38447
38448         Fix Tru64 problem with stdbool.h.
38449         * lib/stdbool.in.h (false, true):
38450         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
38451         Don't declare as an enum in this situation; it runs afoul of Tru64.
38452         Problem reported by Steven M. Schweda in
38453         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
38454
38455 2007-10-22  Eric Blake  <ebb9@byu.net>
38456
38457         Also wrap vf?printf.
38458         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
38459         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
38460         (xvprintf, xvfprintf): New functions.
38461
38462 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38463
38464         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
38465         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
38466
38467         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
38468         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
38469
38470 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
38471
38472         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
38473         by Bruno Haible.
38474
38475 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38476
38477         * lib/getloadavg.c
38478         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
38479         Undef `sys' after including sys/table.h, for Tru64 4.0D.
38480
38481         * tests/test-i-ring.c: Work for C89.
38482
38483 2007-10-22  Bruno Haible  <bruno@clisp.org>
38484
38485         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
38486         -1u, in preprocessor expression, so that we don't test for the bug
38487         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
38488         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
38489
38490 2007-10-22  Eric Blake  <ebb9@byu.net>
38491
38492         * tests/test-yesno.sh: Silence stderr during test.
38493
38494 2007-10-22  Simon Josefsson  <simon@josefsson.org>
38495
38496         * modules/crypto/gc-camellia: New file.
38497
38498         * m4/gc-camellia.m4: New file.
38499
38500         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
38501
38502         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
38503
38504 2007-10-22  Simon Josefsson  <simon@josefsson.org>
38505
38506         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
38507         --help to stdout.  Reported by sms@antinode.org (Steven
38508         M. Schweda).
38509
38510 2007-10-22  Simon Josefsson  <simon@josefsson.org>
38511
38512         * users.txt: Fix link to libksba.
38513
38514 2007-10-21  Ben Pfaff  <blp@gnu.org>
38515
38516         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
38517         round.c roundf implementation that depends on floorf and ceilf to
38518         be tested unconditionally.
38519
38520 2007-10-21  Ben Pfaff  <blp@gnu.org>
38521
38522         * m4/check-libm-func.m4: Removed.
38523         * m4/check-math-lib.m4: New file.
38524         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
38525         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
38526         definition and lack of AC_LIBOBJ([roundf]).
38527         * m4/roundl.m4: Ditto, and similarly for roundl.
38528         * modules/round: Reference new m4 file.
38529         * modules/roundf: Ditto.
38530         * modules/roundl: Ditto.
38531         * tests/test-round2.c (main): Use ROUND instead of round.
38532         Bug report from Bruno Haible.
38533
38534 2007-10-21  Bruno Haible  <bruno@clisp.org>
38535
38536         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
38537         context.
38538
38539 2007-10-21  Bruno Haible  <bruno@clisp.org>
38540
38541         * tests/test-wcwidth.c (main): Allow negative result for some control
38542         characters.
38543
38544         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
38545         Needed on OSF/1 5.1.
38546
38547 2007-10-21  Bruno Haible  <bruno@clisp.org>
38548
38549         * tests/test-floorf1.c: Include isnanf.h.
38550         (main): Use isnanf() instead of isnan().
38551         * tests/test-ceilf1.c: Include isnanf.h.
38552         (main): Use isnanf() instead of isnan().
38553         * tests/test-truncf1.c: Include isnanf.h.
38554         (main): Use isnanf() instead of isnan().
38555         * tests/test-roundf1.c: Include isnanf.h.
38556         (main): Use isnanf() instead of isnan().
38557
38558 2007-10-21  Eric Blake  <ebb9@byu.net>
38559
38560         * users.txt: Update URL for m4.
38561
38562 2007-10-21  Bruno Haible  <bruno@clisp.org>
38563
38564         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
38565
38566 2007-10-21  Bruno Haible  <bruno@clisp.org>
38567
38568         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
38569         Git's management files if the CVS files are not present.
38570
38571 2007-10-20  Bruno Haible  <bruno@clisp.org>
38572
38573         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
38574         gcc-3.4.x.
38575
38576 2007-10-20  Ben Pfaff  <blp@gnu.org>
38577
38578         * lib/math.in.h: Declare round, roundf, roundl if we are providing
38579         implementations.
38580         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
38581         * lib/round.c: New file.
38582         * lib/roundf.c: New file.
38583         * lib/roundl.c: New file.
38584         * m4/round.m4: New file.
38585         * m4/roundf.m4: New file.
38586         * m4/roundl.m4: New file.
38587         * m4/check-libm-func-m4: New file.
38588         * modules/math: Replace round, roundf, roundl related @VARS@ in
38589         math.in.h.
38590         * modules/round: New file.
38591         * modules/round-tests: New file.
38592         * modules/roundf: New file.
38593         * modules/roundf-tests: New file.
38594         * modules/roundl: New file.
38595         * modules/roundl-tests: New file.
38596         * tests/test-round1.c: New file.
38597         * tests/test-round2.c: New file.
38598         * tests/test-roundf1.c: New file.
38599         * tests/test-roundf2.c: New file.
38600         * tests/test-roundl.c: New file.
38601         * doc/functions/round.texi: Mention round module.
38602         * doc/functions/roundf.texi: Mention roundf module.
38603         * doc/functions/roundl.texi: Mention roundl module.
38604         * MODULES.html.sh: Mention new modules.
38605         Thanks to Bruno Haible for suggestions.
38606
38607 2007-10-20  Jim Meyering  <meyering@redhat.com>
38608
38609         * lib/xprintf.c: Include <config.h> unconditionally.
38610
38611         Change xprintf's license to GPL.
38612         * modules/xprintf (License): s/LGPL/GPL/, since this module
38613         depends on modules (exit and exitfail) which are GPL.
38614         Suggestion from Bruno Haible.
38615
38616         xprintf fixes.
38617         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
38618         Use a clearer diagnostic.
38619         Patch from Bruno Haible.
38620
38621 2007-10-20  Bruno Haible  <bruno@clisp.org>
38622
38623         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
38624         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
38625         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38626
38627 2007-10-20  Bruno Haible  <bruno@clisp.org>
38628
38629         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
38630         precision in the comparison result > x - 1 or similar.
38631         * tests/test-ceilf2.c (correct_result_p): Likewise.
38632         * tests/test-truncf2.c (correct_result_p): Likewise.
38633         * tests/test-trunc2.c (correct_result_p): Likewise.
38634         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38635
38636 2007-10-20  Bruno Haible  <bruno@clisp.org>
38637
38638         * modules/ceil: New file.
38639         * m4/ceil.m4: New file.
38640         * doc/functions/ceil.texi: Mention the 'ceil' module.
38641
38642 2007-10-20  Bruno Haible  <bruno@clisp.org>
38643
38644         * modules/floor: New file.
38645         * m4/floor.m4: New file.
38646         * doc/functions/floor.texi: Mention the 'floor' module.
38647
38648 2007-10-20  Bruno Haible  <bruno@clisp.org>
38649
38650         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
38651         of %a.
38652         * modules/floorf-tests (Depends-on): Likewise.
38653         * modules/truncf-tests (Depends-on): Likewise.
38654         * modules/trunc-tests (Depends-on): Likewise.
38655         Reported by Ben Pfaff.
38656
38657 2007-10-19  Jim Meyering  <meyering@redhat.com>
38658
38659         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
38660         Don't bother testing specific errno values.  Just test ferror.
38661
38662         New module: xprintf
38663         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
38664
38665 2007-10-19  Bruno Haible  <bruno@clisp.org>
38666
38667         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
38668         syntax.
38669         * modules/javaexec (Makefile.am): Likewise.
38670         * modules/relocatable-prog (Makefile.am): Likewise.
38671         Suggested by Jim Meyering.
38672
38673 2007-10-18  Bruno Haible  <bruno@clisp.org>
38674
38675         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
38676         Reported by Jim Meyering.
38677
38678 2007-10-18  Eric Blake  <ebb9@byu.net>
38679
38680         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
38681
38682 2007-10-18  Bruno Haible  <bruno@clisp.org>
38683
38684         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
38685         the format string into writable memory. Needed in Fortify conditions.
38686
38687 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
38688             Bruno Haible  <bruno@clisp.org>
38689
38690         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
38691         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
38692         * modules/trim (Depends-on): Add mbchar.
38693         (configure.ac): Add gl_FUNC_MBRTOWC.
38694         (Makefile.am): Augment lib_SOURCES.
38695
38696 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
38697
38698         Modify glob.c to use fstatat and dirfd, to simplify it.
38699         Suggested by Eric Blake.
38700         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
38701         Don't include <stdbool.h>; not used.
38702         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
38703         (link_exists_p): Simplify implementation, since we can now assume
38704         dirfd and fstatat.
38705         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
38706
38707 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38708
38709         * gnulib-tool (func_get_dependencies): Fix sed script to
38710         match only tests.
38711
38712 2007-10-17  Bruno Haible  <bruno@clisp.org>
38713
38714         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
38715         allow locale names without encoding suffix.
38716         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
38717         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
38718
38719 2007-10-16  Bruno Haible  <bruno@clisp.org>
38720
38721         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
38722         * lib/getgroups.c (getgroups): Likewise.
38723         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
38724
38725 2007-10-16  Bruno Haible  <bruno@clisp.org>
38726
38727         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
38728         * modules/malloc-posix (License): Likewise.
38729         * modules/realloc-posix (License): Likewise.
38730         * modules/calloc-posix (License): Likewise.
38731         * modules/intprops (License): Change from GPL to LGPL, with
38732         Paul Eggert's approval.
38733
38734 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
38735
38736         Merge glibc changes into lib/glob.c.
38737
38738         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
38739         2007-10-15 04:59:03 UTC.  Here are the changes:
38740
38741         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
38742
38743         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
38744
38745         * lib/glob.c: Add some branch prediction throughout.
38746
38747         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
38748
38749         [BZ #5103]
38750         * lib/glob.c (glob): Recognize patterns starting \/.
38751
38752         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
38753
38754         [BZ #3996]
38755         * lib/glob.c (attribute_hidden): Define if not defined.
38756         (glob): Unescape dirname, filename or username when needed and not
38757         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
38758         is NULL.  Handle unescaped [ in pattern without closing ].
38759         Don't pass GLOB_CHECK down to recursive glob for directories.
38760         (__glob_pattern_type): New function.
38761         (__glob_pattern_p): Implement using __glob_pattern_type.
38762         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
38763         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
38764         Remove unreachable code.
38765
38766         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
38767
38768         * lib/glob.c (glob_in_dir): Add some comments and asserts to
38769         explain why there are no leaks.
38770
38771         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
38772
38773         [BZ #3253]
38774         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
38775         time, rather allocate increasingly bigger arrays of pointers, if
38776         possible with alloca, if too large with malloc.
38777
38778 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
38779
38780         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
38781         Problem reported by H.Merijn Brand in
38782         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
38783         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
38784         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
38785
38786 2007-10-15  Bruno Haible  <bruno@clisp.org>
38787
38788         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
38789         with explicit rpl_ prefix.
38790         * lib/fopen.c (fopen): Likewise.
38791         * lib/freopen.c (freopen): Likewise.
38792         * lib/iconv.c (iconv): Likewise.
38793         * lib/iconv_close.c (iconv_close): Likewise.
38794
38795 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38796
38797         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
38798
38799 2007-10-15  Bruno Haible  <bruno@clisp.org>
38800
38801         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
38802         <stddef.h> instead of <stdlib.h> since we only need NULL.
38803         Reported by Ben Pfaff <blp@cs.stanford.edu>.
38804
38805 2007-10-15  Bruno Haible  <bruno@clisp.org>
38806
38807         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
38808         Replace paragraph talking about LIBOBJS.
38809         Reported by Colin Watson <cjwatson@debian.org>.
38810
38811 2007-10-15  Bruno Haible  <bruno@clisp.org>
38812
38813         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
38814         <stdlib.h> before using NULL.
38815
38816 2007-10-15  Simon Josefsson  <simon@josefsson.org>
38817
38818         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
38819         Reported by Albert Chin <china@thewrittenword.com>.
38820
38821 2007-10-14  Bruno Haible  <bruno@clisp.org>
38822
38823         * modules/iconv_open-utf-tests: New file.
38824         * tests/test-iconv-utf.c: New file.
38825
38826         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
38827         * modules/iconv_open-utf: New file.
38828         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
38829         (iconv, iconv_close): New declarations.
38830         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
38831         be defined.
38832         (iconv_open): Add special handling of conversion between UTF-8 and
38833         UTF-{16,32}{BE,LE}.
38834         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
38835         * lib/iconv_close.c: New file.
38836         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
38837         gl_FUNC_ICONV_OPEN.
38838         (gl_FUNC_ICONV_OPEN): Use it.
38839         (gl_FUNC_ICONV_OPEN_UTF): New macro.
38840         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
38841         and REPLACE_ICONV_UTF.
38842         * modules/iconv_open (Depends-on): Add c-strcase.
38843         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
38844         ICONV_CONST.
38845         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
38846
38847 2007-10-13  Albert Chin  <china@thewrittenword.com>
38848             Bruno Haible  <bruno@clisp.org>
38849
38850         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
38851         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
38852
38853 2007-10-13  Bruno Haible  <bruno@clisp.org>
38854
38855         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
38856         defined, use the ISO C99 inline semantics.
38857         * lib/argp.h (ARGP_EI): Likewise.
38858
38859 2007-10-13  Bruno Haible  <bruno@clisp.org>
38860
38861         Handle 'inline' change in gcc 4.3.0.
38862         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
38863         argp_fmtstream_write, argp_fmtstream_set_lmargin,
38864         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
38865         argp_fmtstream_point): Disable 'extern' declaration if the function
38866         definition is going to be provided inline.
38867         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
38868         semantics, not the ISO C99 inline semantics.
38869         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
38870         'extern' declaration if the function definition is going to be provided
38871         inline.
38872         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
38873         the GNU C inline semantics, not the ISO C99 inline semantics. With
38874         GCC 4.2, avoid a warning.
38875
38876 2007-10-13  Bruno Haible  <bruno@clisp.org>
38877
38878         * lib/freading.h (freading): Enable the use of __freading for
38879         glibc >= 2.7.
38880         * lib/freading.c (freading): Likewise.
38881
38882 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
38883
38884         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
38885         "warning: C99 inline functions are not supported; using GNU89".
38886
38887 2007-10-12  Bruno Haible  <bruno@clisp.org>
38888
38889         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
38890         of 2.
38891         * tests/test-ceilf2.c: New file.
38892         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
38893
38894         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
38895         * modules/ceilf-tests: Update.
38896
38897 2007-10-12  Bruno Haible  <bruno@clisp.org>
38898
38899         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
38900         of 2.
38901         * tests/test-floorf2.c: New file.
38902         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
38903
38904         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
38905         * modules/floorf-tests: Update.
38906
38907 2007-10-12  Bruno Haible  <bruno@clisp.org>
38908
38909         * tests/test-trunc2.c: New file.
38910         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
38911
38912         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
38913         * modules/trunc-tests: Update.
38914
38915 2007-10-12  Bruno Haible  <bruno@clisp.org>
38916
38917         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
38918         of 2.
38919         * tests/test-truncf2.c: New file.
38920         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
38921
38922         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
38923         * modules/truncf-tests: Update.
38924
38925 2007-10-11  Eric Blake  <ebb9@byu.net>
38926
38927         Don't claim strerror is broken on Interix.
38928         * doc/functions/strerror.texi (strerror): Known broken systems are
38929         now Solaris 8, and not Interix.
38930         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
38931         Interix on cross-compile.
38932         Reported by Martin Koeppe in
38933         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
38934
38935 2007-10-11  Bruno Haible  <bruno@clisp.org>
38936
38937         * modules/i-ring-tests: New file.
38938         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
38939         instead of assert.
38940
38941 2007-10-11  Bruno Haible  <bruno@clisp.org>
38942
38943         * modules/filenamecat-tests: New file.
38944         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
38945         * lib/filenamecat.c: Remove test code.
38946
38947 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
38948
38949         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
38950
38951         * lib/strerror.c: Include <string.h> always, to test interface,
38952         and to remove the need for the dummy.
38953         Include intprops.h to compute width instead of doing it ourselves
38954         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
38955         (strerror): Define it to return NULL if there's no system strerror.
38956         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
38957         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
38958         ancient pre-strerror Unix systems well any more.  Saying "unknown
38959         system error" is enough.
38960         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
38961         simpler strerror.c implementation.
38962         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
38963         Simplify the tests to reflect the simpler strerror implementation.
38964         * modules/strerror (Depends-on): Add intprops.
38965
38966 2007-10-09  Eric Blake  <ebb9@byu.net>
38967
38968         Silence test-fpending.
38969         * modules/fpending-tests (Files): Add wrapper script.
38970         * tests/test-fpending.sh: New file.
38971
38972 2007-10-09  Bruno Haible  <bruno@clisp.org>
38973
38974         * MODULES.html.sh (func_module): Don't create a hyperlink for
38975         function names like 'printf_frexp'.
38976         (Misc): Add crc, memxor.
38977         (Characteristics of floating types): New section.
38978         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
38979         isnanf-nolibm, signbit, trunc, truncf, truncl.
38980         (Enhancements for ISO C 99 functions): New subsection Input/output.
38981         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
38982         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
38983         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
38984         (Compatibility checks for POSIX:2001 functions): Add clock-time.
38985         (Enhancements for POSIX:2001 functions): Add chdir-long.
38986         (File system functions): Add areadlink, chdir-safer, read-file.
38987         Remove cycle-check.
38988         (File system as inode set): New section.
38989         (Date and time): Add gethrxtime.
38990         (Multithreading): Add openmp.
38991         (Internationalization functions): Add localename.
38992         (Unicode string functions): Add unistr/u*-mbsnlen.
38993         (Support for maintaining and releasing projects): Add git-version-gen.
38994         (Lone files): Remove directories.
38995
38996 2007-10-08  Ben Pfaff  <blp@gnu.org>
38997
38998         * lib/xmalloca.h: Fix typo in comment.
38999
39000 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
39001
39002         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
39003         when avoiding problems with integer overflow.  Use a portable test
39004         instead.
39005
39006 2007-10-08  Simon Josefsson  <simon@josefsson.org>
39007
39008         * modules/dummy (License): Change to LGPLv2+.
39009         * modules/float (License): Likewise
39010         * modules/realloc (License): Likewise
39011         * modules/stdlib (License): Likewise
39012
39013 2007-10-07  Bruno Haible  <bruno@clisp.org>
39014
39015         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
39016         * floor.c (TWO_MANT_DIG): Likewise.
39017         * ceil.c (TWO_MANT_DIG): Likewise.
39018         Reported by Ben Pfaff.
39019
39020 2007-10-07  Bruno Haible  <bruno@clisp.org>
39021
39022         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
39023         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
39024         * lib/frexp.c (FUNC): Likewise.
39025         * lib/printf-frexp.h (printf_frexp): Likewise.
39026         * lib/printf-frexpl.h (printf_frexpl): Likewise.
39027         * lib/printf-frexp.c (FUNC): Likewise.
39028         Suggested by Jim Meyering.
39029
39030 2007-10-07  Jim Meyering  <meyering@redhat.com>
39031
39032         Make xnanosleep's integer overflow test more robust.
39033         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
39034         so that gcc-4.3.0 doesn't optimize away this test for overflow.
39035
39036 2007-10-07  Bruno Haible  <bruno@clisp.org>
39037
39038         * NEWS: Mention the license change.
39039
39040         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
39041         abbreviations in the modules files.
39042
39043         Change copyright notice from GPLv2+ to GPLv3+.
39044         * README: Change copyright notice.
39045         * MODULES.html.sh: Likewise.
39046         * build-aux/bootstrap.conf: Likewise.
39047         * build-aux/config.libpath: Likewise.
39048         * build-aux/csharpcomp.sh.in: Likewise.
39049         * build-aux/csharpexec.sh.in: Likewise.
39050         * build-aux/install-reloc: Likewise.
39051         * build-aux/javacomp.sh.in: Likewise.
39052         * build-aux/javaexec.sh.in: Likewise.
39053         * build-aux/ldd.sh.in: Likewise.
39054         * build-aux/reloc-ldflags: Likewise.
39055         * build-aux/relocatable.sh.in: Likewise.
39056         * build-aux/x-to-1.in: Likewise.
39057         * check-module: Likewise.
39058         * config/srclistvars.sh: Likewise.
39059         * gnulib-tool: Likewise.
39060         * lib/acl-internal.h: Likewise.
39061         * lib/acl.c: Likewise.
39062         * lib/acl.h: Likewise.
39063         * lib/acl_entries.c: Likewise.
39064         * lib/areadlink-with-size.c: Likewise.
39065         * lib/areadlink.c: Likewise.
39066         * lib/areadlink.h: Likewise.
39067         * lib/argmatch.c: Likewise.
39068         * lib/argmatch.h: Likewise.
39069         * lib/argp-ba.c: Likewise.
39070         * lib/argp-eexst.c: Likewise.
39071         * lib/argp-fmtstream.c: Likewise.
39072         * lib/argp-fmtstream.h: Likewise.
39073         * lib/argp-fs-xinl.c: Likewise.
39074         * lib/argp-help.c: Likewise.
39075         * lib/argp-namefrob.h: Likewise.
39076         * lib/argp-parse.c: Likewise.
39077         * lib/argp-pin.c: Likewise.
39078         * lib/argp-pv.c: Likewise.
39079         * lib/argp-pvh.c: Likewise.
39080         * lib/argp-xinl.c: Likewise.
39081         * lib/argp.h: Likewise.
39082         * lib/at-func.c: Likewise.
39083         * lib/atanl.c: Likewise.
39084         * lib/backupfile.c: Likewise.
39085         * lib/backupfile.h: Likewise.
39086         * lib/basename.c: Likewise.
39087         * lib/binary-io.h: Likewise.
39088         * lib/byteswap.in.h: Likewise.
39089         * lib/c-stack.c: Likewise.
39090         * lib/c-stack.h: Likewise.
39091         * lib/c-strcasestr.c: Likewise.
39092         * lib/c-strcasestr.h: Likewise.
39093         * lib/c-strstr.c: Likewise.
39094         * lib/c-strstr.h: Likewise.
39095         * lib/c-strtod.c: Likewise.
39096         * lib/calloc.c: Likewise.
39097         * lib/canon-host.c: Likewise.
39098         * lib/canon-host.h: Likewise.
39099         * lib/canonicalize-lgpl.c: Likewise.
39100         * lib/canonicalize.c: Likewise.
39101         * lib/canonicalize.h: Likewise.
39102         * lib/ceil.c: Likewise.
39103         * lib/ceilf.c: Likewise.
39104         * lib/ceill.c: Likewise.
39105         * lib/chdir-long.c: Likewise.
39106         * lib/chdir-long.h: Likewise.
39107         * lib/chdir-safer.c: Likewise.
39108         * lib/chdir-safer.h: Likewise.
39109         * lib/chown.c: Likewise.
39110         * lib/classpath.c: Likewise.
39111         * lib/classpath.h: Likewise.
39112         * lib/clean-temp.c: Likewise.
39113         * lib/clean-temp.h: Likewise.
39114         * lib/cloexec.c: Likewise.
39115         * lib/close-stream.c: Likewise.
39116         * lib/closein.c: Likewise.
39117         * lib/closein.h: Likewise.
39118         * lib/closeout.c: Likewise.
39119         * lib/closeout.h: Likewise.
39120         * lib/concat-filename.c: Likewise.
39121         * lib/copy-file.c: Likewise.
39122         * lib/copy-file.h: Likewise.
39123         * lib/count-one-bits.h: Likewise.
39124         * lib/crc.c: Likewise.
39125         * lib/crc.h: Likewise.
39126         * lib/creat-safer.c: Likewise.
39127         * lib/csharpcomp.c: Likewise.
39128         * lib/csharpcomp.h: Likewise.
39129         * lib/csharpexec.c: Likewise.
39130         * lib/csharpexec.h: Likewise.
39131         * lib/cycle-check.c: Likewise.
39132         * lib/cycle-check.h: Likewise.
39133         * lib/diacrit.c: Likewise.
39134         * lib/diacrit.h: Likewise.
39135         * lib/diffseq.h: Likewise.
39136         * lib/dirchownmod.c: Likewise.
39137         * lib/dirent.in.h: Likewise.
39138         * lib/dirfd.c: Likewise.
39139         * lib/dirfd.h: Likewise.
39140         * lib/dirname.c: Likewise.
39141         * lib/dirname.h: Likewise.
39142         * lib/dummy.c: Likewise.
39143         * lib/dup-safer.c: Likewise.
39144         * lib/dup2.c: Likewise.
39145         * lib/eealloc.h: Likewise.
39146         * lib/error.c: Likewise.
39147         * lib/error.h: Likewise.
39148         * lib/euidaccess.c: Likewise.
39149         * lib/exclude.c: Likewise.
39150         * lib/exclude.h: Likewise.
39151         * lib/execute.c: Likewise.
39152         * lib/execute.h: Likewise.
39153         * lib/exitfail.c: Likewise.
39154         * lib/exitfail.h: Likewise.
39155         * lib/expl.c: Likewise.
39156         * lib/fatal-signal.c: Likewise.
39157         * lib/fatal-signal.h: Likewise.
39158         * lib/fbufmode.c: Likewise.
39159         * lib/fbufmode.h: Likewise.
39160         * lib/fchdir.c: Likewise.
39161         * lib/fchmodat.c: Likewise.
39162         * lib/fchownat.c: Likewise.
39163         * lib/fcntl--.h: Likewise.
39164         * lib/fcntl-safer.h: Likewise.
39165         * lib/fcntl.in.h: Likewise.
39166         * lib/fd-safer.c: Likewise.
39167         * lib/fflush.c: Likewise.
39168         * lib/file-has-acl.c: Likewise.
39169         * lib/file-set.c: Likewise.
39170         * lib/file-type.c: Likewise.
39171         * lib/file-type.h: Likewise.
39172         * lib/fileblocks.c: Likewise.
39173         * lib/filemode.c: Likewise.
39174         * lib/filemode.h: Likewise.
39175         * lib/filename.h: Likewise.
39176         * lib/filenamecat.c: Likewise.
39177         * lib/filenamecat.h: Likewise.
39178         * lib/findprog.c: Likewise.
39179         * lib/findprog.h: Likewise.
39180         * lib/float.in.h: Likewise.
39181         * lib/floor.c: Likewise.
39182         * lib/floorf.c: Likewise.
39183         * lib/floorl.c: Likewise.
39184         * lib/fopen-safer.c: Likewise.
39185         * lib/fopen.c: Likewise.
39186         * lib/fpending.c: Likewise.
39187         * lib/fpending.h: Likewise.
39188         * lib/fprintf.c: Likewise.
39189         * lib/fprintftime.h: Likewise.
39190         * lib/fpucw.h: Likewise.
39191         * lib/fpurge.c: Likewise.
39192         * lib/fpurge.h: Likewise.
39193         * lib/freadable.c: Likewise.
39194         * lib/freadable.h: Likewise.
39195         * lib/freadahead.c: Likewise.
39196         * lib/freadahead.h: Likewise.
39197         * lib/freading.c: Likewise.
39198         * lib/freading.h: Likewise.
39199         * lib/free.c: Likewise.
39200         * lib/freopen.c: Likewise.
39201         * lib/frexp.c: Likewise.
39202         * lib/frexpl.c: Likewise.
39203         * lib/fseek.c: Likewise.
39204         * lib/fseterr.c: Likewise.
39205         * lib/fseterr.h: Likewise.
39206         * lib/fstatat.c: Likewise.
39207         * lib/fstrcmp.c: Likewise.
39208         * lib/fstrcmp.h: Likewise.
39209         * lib/fsusage.c: Likewise.
39210         * lib/fsusage.h: Likewise.
39211         * lib/ftell.c: Likewise.
39212         * lib/ftello.c: Likewise.
39213         * lib/fts-cycle.c: Likewise.
39214         * lib/fts.c: Likewise.
39215         * lib/fts_.h: Likewise.
39216         * lib/full-read.c: Likewise.
39217         * lib/full-read.h: Likewise.
39218         * lib/full-write.c: Likewise.
39219         * lib/full-write.h: Likewise.
39220         * lib/fwritable.c: Likewise.
39221         * lib/fwritable.h: Likewise.
39222         * lib/fwriteerror.c: Likewise.
39223         * lib/fwriteerror.h: Likewise.
39224         * lib/fwriting.c: Likewise.
39225         * lib/fwriting.h: Likewise.
39226         * lib/gcd.c: Likewise.
39227         * lib/gcd.h: Likewise.
39228         * lib/getcwd.c: Likewise.
39229         * lib/getdate.h: Likewise.
39230         * lib/getdate.y: Likewise.
39231         * lib/getdomainname.c: Likewise.
39232         * lib/getdomainname.h: Likewise.
39233         * lib/getgroups.c: Likewise.
39234         * lib/gethostname.c: Likewise.
39235         * lib/gethrxtime.c: Likewise.
39236         * lib/gethrxtime.h: Likewise.
39237         * lib/getloadavg.c: Likewise.
39238         * lib/getndelim2.c: Likewise.
39239         * lib/getndelim2.h: Likewise.
39240         * lib/getnline.c: Likewise.
39241         * lib/getnline.h: Likewise.
39242         * lib/getopt.c: Likewise.
39243         * lib/getopt.in.h: Likewise.
39244         * lib/getopt1.c: Likewise.
39245         * lib/getopt_int.h: Likewise.
39246         * lib/getpagesize.h: Likewise.
39247         * lib/getsubopt.c: Likewise.
39248         * lib/gettime.c: Likewise.
39249         * lib/getugroups.c: Likewise.
39250         * lib/getugroups.h: Likewise.
39251         * lib/getusershell.c: Likewise.
39252         * lib/gl_anyavltree_list1.h: Likewise.
39253         * lib/gl_anyavltree_list2.h: Likewise.
39254         * lib/gl_anyhash_list1.h: Likewise.
39255         * lib/gl_anyhash_list2.h: Likewise.
39256         * lib/gl_anylinked_list1.h: Likewise.
39257         * lib/gl_anylinked_list2.h: Likewise.
39258         * lib/gl_anyrbtree_list1.h: Likewise.
39259         * lib/gl_anyrbtree_list2.h: Likewise.
39260         * lib/gl_anytree_list1.h: Likewise.
39261         * lib/gl_anytree_list2.h: Likewise.
39262         * lib/gl_anytree_oset.h: Likewise.
39263         * lib/gl_anytreehash_list1.h: Likewise.
39264         * lib/gl_anytreehash_list2.h: Likewise.
39265         * lib/gl_array_list.c: Likewise.
39266         * lib/gl_array_list.h: Likewise.
39267         * lib/gl_array_oset.c: Likewise.
39268         * lib/gl_array_oset.h: Likewise.
39269         * lib/gl_avltree_list.c: Likewise.
39270         * lib/gl_avltree_list.h: Likewise.
39271         * lib/gl_avltree_oset.c: Likewise.
39272         * lib/gl_avltree_oset.h: Likewise.
39273         * lib/gl_avltreehash_list.c: Likewise.
39274         * lib/gl_avltreehash_list.h: Likewise.
39275         * lib/gl_carray_list.c: Likewise.
39276         * lib/gl_carray_list.h: Likewise.
39277         * lib/gl_linked_list.c: Likewise.
39278         * lib/gl_linked_list.h: Likewise.
39279         * lib/gl_linkedhash_list.c: Likewise.
39280         * lib/gl_linkedhash_list.h: Likewise.
39281         * lib/gl_list.c: Likewise.
39282         * lib/gl_list.h: Likewise.
39283         * lib/gl_oset.c: Likewise.
39284         * lib/gl_oset.h: Likewise.
39285         * lib/gl_rbtree_list.c: Likewise.
39286         * lib/gl_rbtree_list.h: Likewise.
39287         * lib/gl_rbtree_oset.c: Likewise.
39288         * lib/gl_rbtree_oset.h: Likewise.
39289         * lib/gl_rbtreehash_list.c: Likewise.
39290         * lib/gl_rbtreehash_list.h: Likewise.
39291         * lib/gl_sublist.c: Likewise.
39292         * lib/gl_sublist.h: Likewise.
39293         * lib/group-member.c: Likewise.
39294         * lib/group-member.h: Likewise.
39295         * lib/hard-locale.c: Likewise.
39296         * lib/hard-locale.h: Likewise.
39297         * lib/hash-pjw.c: Likewise.
39298         * lib/hash-pjw.h: Likewise.
39299         * lib/hash-triple.c: Likewise.
39300         * lib/hash.c: Likewise.
39301         * lib/hash.h: Likewise.
39302         * lib/human.c: Likewise.
39303         * lib/human.h: Likewise.
39304         * lib/i-ring.c: Likewise.
39305         * lib/i-ring.h: Likewise.
39306         * lib/idcache.c: Likewise.
39307         * lib/imaxabs.c: Likewise.
39308         * lib/imaxdiv.c: Likewise.
39309         * lib/inet_pton.c: Likewise.
39310         * lib/inet_pton.h: Likewise.
39311         * lib/intprops.h: Likewise.
39312         * lib/inttostr.c: Likewise.
39313         * lib/inttostr.h: Likewise.
39314         * lib/inttypes.in.h: Likewise.
39315         * lib/isapipe.c: Likewise.
39316         * lib/isdir.c: Likewise.
39317         * lib/isnan.c: Likewise.
39318         * lib/isnan.h: Likewise.
39319         * lib/isnanf.c: Likewise.
39320         * lib/isnanf.h: Likewise.
39321         * lib/isnanl-nolibm.h: Likewise.
39322         * lib/isnanl.c: Likewise.
39323         * lib/isnanl.h: Likewise.
39324         * lib/javacomp.c: Likewise.
39325         * lib/javacomp.h: Likewise.
39326         * lib/javaexec.c: Likewise.
39327         * lib/javaexec.h: Likewise.
39328         * lib/javaversion.c: Likewise.
39329         * lib/javaversion.h: Likewise.
39330         * lib/javaversion.java: Likewise.
39331         * lib/lbrkprop.h: Likewise.
39332         * lib/lchmod.h: Likewise.
39333         * lib/lchown.c: Likewise.
39334         * lib/ldexpl.c: Likewise.
39335         * lib/linebreak.c: Likewise.
39336         * lib/linebreak.h: Likewise.
39337         * lib/linebuffer.c: Likewise.
39338         * lib/linebuffer.h: Likewise.
39339         * lib/locale.in.h: Likewise.
39340         * lib/logl.c: Likewise.
39341         * lib/long-options.c: Likewise.
39342         * lib/long-options.h: Likewise.
39343         * lib/lstat.c: Likewise.
39344         * lib/lstat.h: Likewise.
39345         * lib/math.in.h: Likewise.
39346         * lib/mbchar.c: Likewise.
39347         * lib/mbchar.h: Likewise.
39348         * lib/mbfile.h: Likewise.
39349         * lib/mbiter.h: Likewise.
39350         * lib/mbscasecmp.c: Likewise.
39351         * lib/mbscasestr.c: Likewise.
39352         * lib/mbschr.c: Likewise.
39353         * lib/mbscspn.c: Likewise.
39354         * lib/mbslen.c: Likewise.
39355         * lib/mbsncasecmp.c: Likewise.
39356         * lib/mbsnlen.c: Likewise.
39357         * lib/mbspbrk.c: Likewise.
39358         * lib/mbspcasecmp.c: Likewise.
39359         * lib/mbsrchr.c: Likewise.
39360         * lib/mbssep.c: Likewise.
39361         * lib/mbsspn.c: Likewise.
39362         * lib/mbsstr.c: Likewise.
39363         * lib/mbstok_r.c: Likewise.
39364         * lib/mbswidth.c: Likewise.
39365         * lib/mbswidth.h: Likewise.
39366         * lib/mbuiter.h: Likewise.
39367         * lib/memcasecmp.c: Likewise.
39368         * lib/memcasecmp.h: Likewise.
39369         * lib/memchr.c: Likewise.
39370         * lib/memcmp.c: Likewise.
39371         * lib/memcoll.c: Likewise.
39372         * lib/memcoll.h: Likewise.
39373         * lib/memcpy.c: Likewise.
39374         * lib/memrchr.c: Likewise.
39375         * lib/mkancesdirs.c: Likewise.
39376         * lib/mkdir-p.c: Likewise.
39377         * lib/mkdir-p.h: Likewise.
39378         * lib/mkdir.c: Likewise.
39379         * lib/mkdirat.c: Likewise.
39380         * lib/mkdtemp.c: Likewise.
39381         * lib/mkstemp-safer.c: Likewise.
39382         * lib/mkstemp.c: Likewise.
39383         * lib/modechange.c: Likewise.
39384         * lib/modechange.h: Likewise.
39385         * lib/mountlist.c: Likewise.
39386         * lib/mountlist.h: Likewise.
39387         * lib/mpsort.c: Likewise.
39388         * lib/nanosleep.c: Likewise.
39389         * lib/obstack.c: Likewise.
39390         * lib/obstack.h: Likewise.
39391         * lib/open-safer.c: Likewise.
39392         * lib/open.c: Likewise.
39393         * lib/openat-die.c: Likewise.
39394         * lib/openat-priv.h: Likewise.
39395         * lib/openat-proc.c: Likewise.
39396         * lib/openat.c: Likewise.
39397         * lib/openat.h: Likewise.
39398         * lib/pagealign_alloc.c: Likewise.
39399         * lib/pagealign_alloc.h: Likewise.
39400         * lib/physmem.c: Likewise.
39401         * lib/physmem.h: Likewise.
39402         * lib/pipe-safer.c: Likewise.
39403         * lib/pipe.c: Likewise.
39404         * lib/pipe.h: Likewise.
39405         * lib/posixtm.c: Likewise.
39406         * lib/posixtm.h: Likewise.
39407         * lib/posixver.c: Likewise.
39408         * lib/printf-frexp.c: Likewise.
39409         * lib/printf-frexp.h: Likewise.
39410         * lib/printf-frexpl.c: Likewise.
39411         * lib/printf-frexpl.h: Likewise.
39412         * lib/printf.c: Likewise.
39413         * lib/progname.c: Likewise.
39414         * lib/progname.h: Likewise.
39415         * lib/progreloc.c: Likewise.
39416         * lib/putenv.c: Likewise.
39417         * lib/quote.c: Likewise.
39418         * lib/quote.h: Likewise.
39419         * lib/quotearg.c: Likewise.
39420         * lib/quotearg.h: Likewise.
39421         * lib/raise.c: Likewise.
39422         * lib/readline.c: Likewise.
39423         * lib/readline.h: Likewise.
39424         * lib/readlink.c: Likewise.
39425         * lib/readtokens.c: Likewise.
39426         * lib/readtokens.h: Likewise.
39427         * lib/readtokens0.c: Likewise.
39428         * lib/readtokens0.h: Likewise.
39429         * lib/readutmp.c: Likewise.
39430         * lib/readutmp.h: Likewise.
39431         * lib/realloc.c: Likewise.
39432         * lib/relocwrapper.c: Likewise.
39433         * lib/rename-dest-slash.c: Likewise.
39434         * lib/rename.c: Likewise.
39435         * lib/rmdir.c: Likewise.
39436         * lib/rpmatch.c: Likewise.
39437         * lib/safe-read.c: Likewise.
39438         * lib/safe-read.h: Likewise.
39439         * lib/safe-write.c: Likewise.
39440         * lib/safe-write.h: Likewise.
39441         * lib/same-inode.h: Likewise.
39442         * lib/same.c: Likewise.
39443         * lib/same.h: Likewise.
39444         * lib/save-cwd.c: Likewise.
39445         * lib/save-cwd.h: Likewise.
39446         * lib/savedir.c: Likewise.
39447         * lib/savedir.h: Likewise.
39448         * lib/savewd.c: Likewise.
39449         * lib/savewd.h: Likewise.
39450         * lib/search.in.h: Likewise.
39451         * lib/setenv.c: Likewise.
39452         * lib/setenv.h: Likewise.
39453         * lib/settime.c: Likewise.
39454         * lib/sh-quote.c: Likewise.
39455         * lib/sh-quote.h: Likewise.
39456         * lib/sig2str.c: Likewise.
39457         * lib/sig2str.h: Likewise.
39458         * lib/signal.in.h: Likewise.
39459         * lib/signbitd.c: Likewise.
39460         * lib/signbitf.c: Likewise.
39461         * lib/signbitl.c: Likewise.
39462         * lib/sigprocmask.c: Likewise.
39463         * lib/sincosl.c: Likewise.
39464         * lib/sleep.c: Likewise.
39465         * lib/sprintf.c: Likewise.
39466         * lib/sqrtl.c: Likewise.
39467         * lib/stat-time.h: Likewise.
39468         * lib/stdio--.h: Likewise.
39469         * lib/stdio-safer.h: Likewise.
39470         * lib/stdlib--.h: Likewise.
39471         * lib/stdlib-safer.h: Likewise.
39472         * lib/stdlib.in.h: Likewise.
39473         * lib/stpcpy.c: Likewise.
39474         * lib/stpncpy.c: Likewise.
39475         * lib/strchrnul.c: Likewise.
39476         * lib/strcspn.c: Likewise.
39477         * lib/strerror.c: Likewise.
39478         * lib/strftime.c: Likewise.
39479         * lib/strftime.h: Likewise.
39480         * lib/striconveh.c: Likewise.
39481         * lib/striconveh.h: Likewise.
39482         * lib/striconveha.c: Likewise.
39483         * lib/striconveha.h: Likewise.
39484         * lib/stripslash.c: Likewise.
39485         * lib/strnlen1.c: Likewise.
39486         * lib/strnlen1.h: Likewise.
39487         * lib/strtod.c: Likewise.
39488         * lib/strtoimax.c: Likewise.
39489         * lib/strtok_r.c: Likewise.
39490         * lib/strtol.c: Likewise.
39491         * lib/strtoll.c: Likewise.
39492         * lib/strtoul.c: Likewise.
39493         * lib/strtoull.c: Likewise.
39494         * lib/sysexits.in.h: Likewise.
39495         * lib/tempname.c: Likewise.
39496         * lib/tempname.h: Likewise.
39497         * lib/timespec.h: Likewise.
39498         * lib/tls.c: Likewise.
39499         * lib/tls.h: Likewise.
39500         * lib/tmpdir.c: Likewise.
39501         * lib/tmpdir.h: Likewise.
39502         * lib/tmpfile-safer.c: Likewise.
39503         * lib/tmpfile.c: Likewise.
39504         * lib/trigl.c: Likewise.
39505         * lib/trigl.h: Likewise.
39506         * lib/trim.c: Likewise.
39507         * lib/trim.h: Likewise.
39508         * lib/trunc.c: Likewise.
39509         * lib/truncf.c: Likewise.
39510         * lib/truncl.c: Likewise.
39511         * lib/tsearch.c: Likewise.
39512         * lib/unicodeio.c: Likewise.
39513         * lib/unicodeio.h: Likewise.
39514         * lib/unistd--.h: Likewise.
39515         * lib/unistd-safer.h: Likewise.
39516         * lib/unistdio/ulc-fprintf.c: Likewise.
39517         * lib/unistdio/ulc-vfprintf.c: Likewise.
39518         * lib/unlinkdir.c: Likewise.
39519         * lib/unlinkdir.h: Likewise.
39520         * lib/unlocked-io.h: Likewise.
39521         * lib/unsetenv.c: Likewise.
39522         * lib/userspec.c: Likewise.
39523         * lib/utime.c: Likewise.
39524         * lib/utimecmp.c: Likewise.
39525         * lib/utimecmp.h: Likewise.
39526         * lib/utimens.c: Likewise.
39527         * lib/verify.h: Likewise.
39528         * lib/verror.c: Likewise.
39529         * lib/verror.h: Likewise.
39530         * lib/version-etc-fsf.c: Likewise.
39531         * lib/version-etc.c: Likewise.
39532         * lib/version-etc.h: Likewise.
39533         * lib/vfprintf.c: Likewise.
39534         * lib/vprintf.c: Likewise.
39535         * lib/vsprintf.c: Likewise.
39536         * lib/w32spawn.h: Likewise.
39537         * lib/wait-process.c: Likewise.
39538         * lib/wait-process.h: Likewise.
39539         * lib/wcwidth.c: Likewise.
39540         * lib/write-any-file.c: Likewise.
39541         * lib/xalloc-die.c: Likewise.
39542         * lib/xalloc.h: Likewise.
39543         * lib/xasprintf.c: Likewise.
39544         * lib/xgetcwd.c: Likewise.
39545         * lib/xgetcwd.h: Likewise.
39546         * lib/xgetdomainname.c: Likewise.
39547         * lib/xgetdomainname.h: Likewise.
39548         * lib/xgethostname.c: Likewise.
39549         * lib/xmalloc.c: Likewise.
39550         * lib/xmalloca.c: Likewise.
39551         * lib/xmalloca.h: Likewise.
39552         * lib/xmemcoll.c: Likewise.
39553         * lib/xnanosleep.c: Likewise.
39554         * lib/xreadlink.c: Likewise.
39555         * lib/xreadlink.h: Likewise.
39556         * lib/xsetenv.c: Likewise.
39557         * lib/xsetenv.h: Likewise.
39558         * lib/xstriconv.c: Likewise.
39559         * lib/xstriconv.h: Likewise.
39560         * lib/xstrndup.c: Likewise.
39561         * lib/xstrndup.h: Likewise.
39562         * lib/xstrtod.c: Likewise.
39563         * lib/xstrtod.h: Likewise.
39564         * lib/xstrtol-error.c: Likewise.
39565         * lib/xstrtol.c: Likewise.
39566         * lib/xstrtol.h: Likewise.
39567         * lib/xtime.h: Likewise.
39568         * lib/xvasprintf.c: Likewise.
39569         * lib/xvasprintf.h: Likewise.
39570         * lib/yesno.c: Likewise.
39571         * lib/yesno.h: Likewise.
39572         * posix-modules: Likewise.
39573         * tests/test-alloca-opt.c: Likewise.
39574         * tests/test-arcfour.c: Likewise.
39575         * tests/test-arctwo.c: Likewise.
39576         * tests/test-argmatch.c: Likewise.
39577         * tests/test-argp-2.sh: Likewise.
39578         * tests/test-argp.c: Likewise.
39579         * tests/test-arpa_inet.c: Likewise.
39580         * tests/test-array_list.c: Likewise.
39581         * tests/test-array_oset.c: Likewise.
39582         * tests/test-atexit.c: Likewise.
39583         * tests/test-avltree_list.c: Likewise.
39584         * tests/test-avltree_oset.c: Likewise.
39585         * tests/test-avltreehash_list.c: Likewise.
39586         * tests/test-base64.c: Likewise.
39587         * tests/test-binary-io.c: Likewise.
39588         * tests/test-byteswap.c: Likewise.
39589         * tests/test-c-ctype.c: Likewise.
39590         * tests/test-c-strcasecmp.c: Likewise.
39591         * tests/test-c-strcasestr.c: Likewise.
39592         * tests/test-c-strncasecmp.c: Likewise.
39593         * tests/test-c-strstr.c: Likewise.
39594         * tests/test-canonicalize-lgpl.c: Likewise.
39595         * tests/test-canonicalize.c: Likewise.
39596         * tests/test-carray_list.c: Likewise.
39597         * tests/test-ceilf.c: Likewise.
39598         * tests/test-ceill.c: Likewise.
39599         * tests/test-count-one-bits.c: Likewise.
39600         * tests/test-crc.c: Likewise.
39601         * tests/test-dirname.c: Likewise.
39602         * tests/test-fbufmode.c: Likewise.
39603         * tests/test-fcntl.c: Likewise.
39604         * tests/test-fflush.c: Likewise.
39605         * tests/test-floorf.c: Likewise.
39606         * tests/test-floorl.c: Likewise.
39607         * tests/test-fopen.c: Likewise.
39608         * tests/test-fprintf-posix.c: Likewise.
39609         * tests/test-fprintf-posix.h: Likewise.
39610         * tests/test-fpurge.c: Likewise.
39611         * tests/test-freadable.c: Likewise.
39612         * tests/test-freadahead.c: Likewise.
39613         * tests/test-freading.c: Likewise.
39614         * tests/test-freopen.c: Likewise.
39615         * tests/test-frexp.c: Likewise.
39616         * tests/test-frexpl.c: Likewise.
39617         * tests/test-fseek.c: Likewise.
39618         * tests/test-fseeko.c: Likewise.
39619         * tests/test-fseterr.c: Likewise.
39620         * tests/test-fstrcmp.c: Likewise.
39621         * tests/test-ftell.c: Likewise.
39622         * tests/test-ftello.c: Likewise.
39623         * tests/test-fwritable.c: Likewise.
39624         * tests/test-fwriting.c: Likewise.
39625         * tests/test-getaddrinfo.c: Likewise.
39626         * tests/test-getpass.c: Likewise.
39627         * tests/test-gettimeofday.c: Likewise.
39628         * tests/test-hmac-md5.c: Likewise.
39629         * tests/test-hmac-sha1.c: Likewise.
39630         * tests/test-iconv.c: Likewise.
39631         * tests/test-iconvme.c: Likewise.
39632         * tests/test-inttypes.c: Likewise.
39633         * tests/test-isnan.c: Likewise.
39634         * tests/test-isnanf.c: Likewise.
39635         * tests/test-isnanl-nolibm.c: Likewise.
39636         * tests/test-isnanl.c: Likewise.
39637         * tests/test-isnanl.h: Likewise.
39638         * tests/test-ldexpl.c: Likewise.
39639         * tests/test-linked_list.c: Likewise.
39640         * tests/test-linkedhash_list.c: Likewise.
39641         * tests/test-locale.c: Likewise.
39642         * tests/test-localename.c: Likewise.
39643         * tests/test-lock.c: Likewise.
39644         * tests/test-lseek.c: Likewise.
39645         * tests/test-malloca.c: Likewise.
39646         * tests/test-math.c: Likewise.
39647         * tests/test-mbscasecmp.c: Likewise.
39648         * tests/test-mbscasestr1.c: Likewise.
39649         * tests/test-mbscasestr2.c: Likewise.
39650         * tests/test-mbscasestr3.c: Likewise.
39651         * tests/test-mbscasestr4.c: Likewise.
39652         * tests/test-mbschr.c: Likewise.
39653         * tests/test-mbscspn.c: Likewise.
39654         * tests/test-mbsncasecmp.c: Likewise.
39655         * tests/test-mbspbrk.c: Likewise.
39656         * tests/test-mbspcasecmp.c: Likewise.
39657         * tests/test-mbsrchr.c: Likewise.
39658         * tests/test-mbsspn.c: Likewise.
39659         * tests/test-mbsstr1.c: Likewise.
39660         * tests/test-mbsstr2.c: Likewise.
39661         * tests/test-mbsstr3.c: Likewise.
39662         * tests/test-md5.c: Likewise.
39663         * tests/test-memmem.c: Likewise.
39664         * tests/test-netinet_in.c: Likewise.
39665         * tests/test-open.c: Likewise.
39666         * tests/test-printf-frexp.c: Likewise.
39667         * tests/test-printf-frexpl.c: Likewise.
39668         * tests/test-printf-posix.c: Likewise.
39669         * tests/test-printf-posix.h: Likewise.
39670         * tests/test-rbtree_list.c: Likewise.
39671         * tests/test-rbtree_oset.c: Likewise.
39672         * tests/test-rbtreehash_list.c: Likewise.
39673         * tests/test-read-file.c: Likewise.
39674         * tests/test-rijndael.c: Likewise.
39675         * tests/test-search.c: Likewise.
39676         * tests/test-signbit.c: Likewise.
39677         * tests/test-sleep.c: Likewise.
39678         * tests/test-snprintf-posix.c: Likewise.
39679         * tests/test-snprintf-posix.h: Likewise.
39680         * tests/test-snprintf.c: Likewise.
39681         * tests/test-sprintf-posix.c: Likewise.
39682         * tests/test-sprintf-posix.h: Likewise.
39683         * tests/test-stat-time.c: Likewise.
39684         * tests/test-stdbool.c: Likewise.
39685         * tests/test-stdint.c: Likewise.
39686         * tests/test-stdio.c: Likewise.
39687         * tests/test-stdlib.c: Likewise.
39688         * tests/test-stpncpy.c: Likewise.
39689         * tests/test-strcasestr.c: Likewise.
39690         * tests/test-striconv.c: Likewise.
39691         * tests/test-striconveh.c: Likewise.
39692         * tests/test-striconveha.c: Likewise.
39693         * tests/test-string.c: Likewise.
39694         * tests/test-sys_select.c: Likewise.
39695         * tests/test-sys_socket.c: Likewise.
39696         * tests/test-sys_stat.c: Likewise.
39697         * tests/test-sys_time.c: Likewise.
39698         * tests/test-sysexits.c: Likewise.
39699         * tests/test-time.c: Likewise.
39700         * tests/test-tls.c: Likewise.
39701         * tests/test-trunc.c: Likewise.
39702         * tests/test-truncf.c: Likewise.
39703         * tests/test-truncl.c: Likewise.
39704         * tests/test-unistd.c: Likewise.
39705         * tests/test-vasnprintf-posix.c: Likewise.
39706         * tests/test-vasnprintf-posix2.c: Likewise.
39707         * tests/test-vasnprintf.c: Likewise.
39708         * tests/test-vasprintf-posix.c: Likewise.
39709         * tests/test-vasprintf.c: Likewise.
39710         * tests/test-verify.c: Likewise.
39711         * tests/test-vfprintf-posix.c: Likewise.
39712         * tests/test-vprintf-posix.c: Likewise.
39713         * tests/test-vsnprintf-posix.c: Likewise.
39714         * tests/test-vsnprintf.c: Likewise.
39715         * tests/test-vsprintf-posix.c: Likewise.
39716         * tests/test-wchar.c: Likewise.
39717         * tests/test-wctype.c: Likewise.
39718         * tests/test-wcwidth.c: Likewise.
39719         * tests/test-xstrtol.c: Likewise.
39720         * tests/test-xvasprintf.c: Likewise.
39721         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
39722         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
39723         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
39724         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
39725         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
39726         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
39727         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
39728         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
39729         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
39730         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
39731         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
39732         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
39733         * tests/uniname/test-uninames.c: Likewise.
39734         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
39735         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
39736         * tests/unistdio/test-u16-printf1.h: Likewise.
39737         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
39738         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
39739         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
39740         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
39741         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
39742         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
39743         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
39744         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
39745         * tests/unistdio/test-u32-printf1.h: Likewise.
39746         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
39747         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
39748         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
39749         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
39750         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
39751         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
39752         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
39753         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
39754         * tests/unistdio/test-u8-printf1.h: Likewise.
39755         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
39756         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
39757         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
39758         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
39759         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
39760         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
39761         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
39762         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
39763         * tests/unistdio/test-ulc-printf1.h: Likewise.
39764         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
39765         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
39766         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
39767         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
39768         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
39769         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
39770         * tests/uniwidth/test-u16-strwidth.c: Likewise.
39771         * tests/uniwidth/test-u16-width.c: Likewise.
39772         * tests/uniwidth/test-u32-strwidth.c: Likewise.
39773         * tests/uniwidth/test-u32-width.c: Likewise.
39774         * tests/uniwidth/test-u8-strwidth.c: Likewise.
39775         * tests/uniwidth/test-u8-width.c: Likewise.
39776         * tests/uniwidth/test-uc_width.c: Likewise.
39777         * config/srclist-update: Likewise.
39778         (fixlicense): Update to GPLv3+.
39779
39780         Change copyright notice from LGPLv2.1+ to LGPLv3+.
39781         * tests/test-tsearch.c: Change copyright notice.
39782
39783         Change copyright notice from LGPLv2.0+ to LGPLv3+.
39784         * lib/c-strcaseeq.h: Change copyright notice.
39785         * lib/streq.h: Likewise.
39786         * lib/uniconv.h: Likewise.
39787         * lib/uniconv/u-conv-from-enc.h: Likewise.
39788         * lib/uniconv/u-conv-to-enc.h: Likewise.
39789         * lib/uniconv/u-strconv-from-enc.h: Likewise.
39790         * lib/uniconv/u-strconv-to-enc.h: Likewise.
39791         * lib/uniconv/u16-conv-from-enc.c: Likewise.
39792         * lib/uniconv/u16-conv-to-enc.c: Likewise.
39793         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
39794         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
39795         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
39796         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
39797         * lib/uniconv/u32-conv-from-enc.c: Likewise.
39798         * lib/uniconv/u32-conv-to-enc.c: Likewise.
39799         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
39800         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
39801         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
39802         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
39803         * lib/uniconv/u8-conv-from-enc.c: Likewise.
39804         * lib/uniconv/u8-conv-to-enc.c: Likewise.
39805         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
39806         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
39807         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
39808         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
39809         * lib/uniname.h: Likewise.
39810         * lib/uniname/uniname.c: Likewise.
39811         * lib/unistdio.h: Likewise.
39812         * lib/unistdio/u-asnprintf.h: Likewise.
39813         * lib/unistdio/u-asprintf.h: Likewise.
39814         * lib/unistdio/u-printf-args.c: Likewise.
39815         * lib/unistdio/u-printf-args.h: Likewise.
39816         * lib/unistdio/u-printf-parse.h: Likewise.
39817         * lib/unistdio/u-snprintf.h: Likewise.
39818         * lib/unistdio/u-sprintf.h: Likewise.
39819         * lib/unistdio/u-vasprintf.h: Likewise.
39820         * lib/unistdio/u-vsnprintf.h: Likewise.
39821         * lib/unistdio/u-vsprintf.h: Likewise.
39822         * lib/unistdio/u16-asnprintf.c: Likewise.
39823         * lib/unistdio/u16-asprintf.c: Likewise.
39824         * lib/unistdio/u16-printf-parse.c: Likewise.
39825         * lib/unistdio/u16-snprintf.c: Likewise.
39826         * lib/unistdio/u16-sprintf.c: Likewise.
39827         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
39828         * lib/unistdio/u16-u16-asprintf.c: Likewise.
39829         * lib/unistdio/u16-u16-snprintf.c: Likewise.
39830         * lib/unistdio/u16-u16-sprintf.c: Likewise.
39831         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
39832         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
39833         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
39834         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
39835         * lib/unistdio/u16-vasnprintf.c: Likewise.
39836         * lib/unistdio/u16-vasprintf.c: Likewise.
39837         * lib/unistdio/u16-vsnprintf.c: Likewise.
39838         * lib/unistdio/u16-vsprintf.c: Likewise.
39839         * lib/unistdio/u32-asnprintf.c: Likewise.
39840         * lib/unistdio/u32-asprintf.c: Likewise.
39841         * lib/unistdio/u32-printf-parse.c: Likewise.
39842         * lib/unistdio/u32-snprintf.c: Likewise.
39843         * lib/unistdio/u32-sprintf.c: Likewise.
39844         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
39845         * lib/unistdio/u32-u32-asprintf.c: Likewise.
39846         * lib/unistdio/u32-u32-snprintf.c: Likewise.
39847         * lib/unistdio/u32-u32-sprintf.c: Likewise.
39848         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
39849         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
39850         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
39851         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
39852         * lib/unistdio/u32-vasnprintf.c: Likewise.
39853         * lib/unistdio/u32-vasprintf.c: Likewise.
39854         * lib/unistdio/u32-vsnprintf.c: Likewise.
39855         * lib/unistdio/u32-vsprintf.c: Likewise.
39856         * lib/unistdio/u8-asnprintf.c: Likewise.
39857         * lib/unistdio/u8-asprintf.c: Likewise.
39858         * lib/unistdio/u8-printf-parse.c: Likewise.
39859         * lib/unistdio/u8-snprintf.c: Likewise.
39860         * lib/unistdio/u8-sprintf.c: Likewise.
39861         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
39862         * lib/unistdio/u8-u8-asprintf.c: Likewise.
39863         * lib/unistdio/u8-u8-snprintf.c: Likewise.
39864         * lib/unistdio/u8-u8-sprintf.c: Likewise.
39865         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
39866         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
39867         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
39868         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
39869         * lib/unistdio/u8-vasnprintf.c: Likewise.
39870         * lib/unistdio/u8-vasprintf.c: Likewise.
39871         * lib/unistdio/u8-vsnprintf.c: Likewise.
39872         * lib/unistdio/u8-vsprintf.c: Likewise.
39873         * lib/unistdio/ulc-asnprintf.c: Likewise.
39874         * lib/unistdio/ulc-asprintf.c: Likewise.
39875         * lib/unistdio/ulc-printf-parse.c: Likewise.
39876         * lib/unistdio/ulc-snprintf.c: Likewise.
39877         * lib/unistdio/ulc-sprintf.c: Likewise.
39878         * lib/unistdio/ulc-vasnprintf.c: Likewise.
39879         * lib/unistdio/ulc-vasprintf.c: Likewise.
39880         * lib/unistdio/ulc-vsnprintf.c: Likewise.
39881         * lib/unistdio/ulc-vsprintf.c: Likewise.
39882         * lib/unistr.h: Likewise.
39883         * lib/unistr/u-cpy-alloc.h: Likewise.
39884         * lib/unistr/u-cpy.h: Likewise.
39885         * lib/unistr/u-endswith.h: Likewise.
39886         * lib/unistr/u-move.h: Likewise.
39887         * lib/unistr/u-set.h: Likewise.
39888         * lib/unistr/u-startswith.h: Likewise.
39889         * lib/unistr/u-stpcpy.h: Likewise.
39890         * lib/unistr/u-stpncpy.h: Likewise.
39891         * lib/unistr/u-strcat.h: Likewise.
39892         * lib/unistr/u-strcpy.h: Likewise.
39893         * lib/unistr/u-strcspn.h: Likewise.
39894         * lib/unistr/u-strdup.h: Likewise.
39895         * lib/unistr/u-strlen.h: Likewise.
39896         * lib/unistr/u-strncat.h: Likewise.
39897         * lib/unistr/u-strncpy.h: Likewise.
39898         * lib/unistr/u-strnlen.h: Likewise.
39899         * lib/unistr/u-strpbrk.h: Likewise.
39900         * lib/unistr/u-strspn.h: Likewise.
39901         * lib/unistr/u-strstr.h: Likewise.
39902         * lib/unistr/u-strtok.h: Likewise.
39903         * lib/unistr/u16-check.c: Likewise.
39904         * lib/unistr/u16-chr.c: Likewise.
39905         * lib/unistr/u16-cmp.c: Likewise.
39906         * lib/unistr/u16-cpy-alloc.c: Likewise.
39907         * lib/unistr/u16-cpy.c: Likewise.
39908         * lib/unistr/u16-endswith.c: Likewise.
39909         * lib/unistr/u16-mblen.c: Likewise.
39910         * lib/unistr/u16-mbsnlen.c: Likewise.
39911         * lib/unistr/u16-mbtouc-aux.c: Likewise.
39912         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
39913         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
39914         * lib/unistr/u16-mbtouc.c: Likewise.
39915         * lib/unistr/u16-mbtoucr.c: Likewise.
39916         * lib/unistr/u16-move.c: Likewise.
39917         * lib/unistr/u16-next.c: Likewise.
39918         * lib/unistr/u16-prev.c: Likewise.
39919         * lib/unistr/u16-set.c: Likewise.
39920         * lib/unistr/u16-startswith.c: Likewise.
39921         * lib/unistr/u16-stpcpy.c: Likewise.
39922         * lib/unistr/u16-stpncpy.c: Likewise.
39923         * lib/unistr/u16-strcat.c: Likewise.
39924         * lib/unistr/u16-strchr.c: Likewise.
39925         * lib/unistr/u16-strcmp.c: Likewise.
39926         * lib/unistr/u16-strcpy.c: Likewise.
39927         * lib/unistr/u16-strcspn.c: Likewise.
39928         * lib/unistr/u16-strdup.c: Likewise.
39929         * lib/unistr/u16-strlen.c: Likewise.
39930         * lib/unistr/u16-strmblen.c: Likewise.
39931         * lib/unistr/u16-strmbtouc.c: Likewise.
39932         * lib/unistr/u16-strncat.c: Likewise.
39933         * lib/unistr/u16-strncmp.c: Likewise.
39934         * lib/unistr/u16-strncpy.c: Likewise.
39935         * lib/unistr/u16-strnlen.c: Likewise.
39936         * lib/unistr/u16-strpbrk.c: Likewise.
39937         * lib/unistr/u16-strrchr.c: Likewise.
39938         * lib/unistr/u16-strspn.c: Likewise.
39939         * lib/unistr/u16-strstr.c: Likewise.
39940         * lib/unistr/u16-strtok.c: Likewise.
39941         * lib/unistr/u16-to-u32.c: Likewise.
39942         * lib/unistr/u16-to-u8.c: Likewise.
39943         * lib/unistr/u16-uctomb-aux.c: Likewise.
39944         * lib/unistr/u16-uctomb.c: Likewise.
39945         * lib/unistr/u32-check.c: Likewise.
39946         * lib/unistr/u32-chr.c: Likewise.
39947         * lib/unistr/u32-cmp.c: Likewise.
39948         * lib/unistr/u32-cpy-alloc.c: Likewise.
39949         * lib/unistr/u32-cpy.c: Likewise.
39950         * lib/unistr/u32-endswith.c: Likewise.
39951         * lib/unistr/u32-mblen.c: Likewise.
39952         * lib/unistr/u32-mbsnlen.c: Likewise.
39953         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
39954         * lib/unistr/u32-mbtouc.c: Likewise.
39955         * lib/unistr/u32-mbtoucr.c: Likewise.
39956         * lib/unistr/u32-move.c: Likewise.
39957         * lib/unistr/u32-next.c: Likewise.
39958         * lib/unistr/u32-prev.c: Likewise.
39959         * lib/unistr/u32-set.c: Likewise.
39960         * lib/unistr/u32-startswith.c: Likewise.
39961         * lib/unistr/u32-stpcpy.c: Likewise.
39962         * lib/unistr/u32-stpncpy.c: Likewise.
39963         * lib/unistr/u32-strcat.c: Likewise.
39964         * lib/unistr/u32-strchr.c: Likewise.
39965         * lib/unistr/u32-strcmp.c: Likewise.
39966         * lib/unistr/u32-strcpy.c: Likewise.
39967         * lib/unistr/u32-strcspn.c: Likewise.
39968         * lib/unistr/u32-strdup.c: Likewise.
39969         * lib/unistr/u32-strlen.c: Likewise.
39970         * lib/unistr/u32-strmblen.c: Likewise.
39971         * lib/unistr/u32-strmbtouc.c: Likewise.
39972         * lib/unistr/u32-strncat.c: Likewise.
39973         * lib/unistr/u32-strncmp.c: Likewise.
39974         * lib/unistr/u32-strncpy.c: Likewise.
39975         * lib/unistr/u32-strnlen.c: Likewise.
39976         * lib/unistr/u32-strpbrk.c: Likewise.
39977         * lib/unistr/u32-strrchr.c: Likewise.
39978         * lib/unistr/u32-strspn.c: Likewise.
39979         * lib/unistr/u32-strstr.c: Likewise.
39980         * lib/unistr/u32-strtok.c: Likewise.
39981         * lib/unistr/u32-to-u16.c: Likewise.
39982         * lib/unistr/u32-to-u8.c: Likewise.
39983         * lib/unistr/u32-uctomb.c: Likewise.
39984         * lib/unistr/u8-check.c: Likewise.
39985         * lib/unistr/u8-chr.c: Likewise.
39986         * lib/unistr/u8-cmp.c: Likewise.
39987         * lib/unistr/u8-cpy-alloc.c: Likewise.
39988         * lib/unistr/u8-cpy.c: Likewise.
39989         * lib/unistr/u8-endswith.c: Likewise.
39990         * lib/unistr/u8-mblen.c: Likewise.
39991         * lib/unistr/u8-mbsnlen.c: Likewise.
39992         * lib/unistr/u8-mbtouc-aux.c: Likewise.
39993         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
39994         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
39995         * lib/unistr/u8-mbtouc.c: Likewise.
39996         * lib/unistr/u8-mbtoucr.c: Likewise.
39997         * lib/unistr/u8-move.c: Likewise.
39998         * lib/unistr/u8-next.c: Likewise.
39999         * lib/unistr/u8-prev.c: Likewise.
40000         * lib/unistr/u8-set.c: Likewise.
40001         * lib/unistr/u8-startswith.c: Likewise.
40002         * lib/unistr/u8-stpcpy.c: Likewise.
40003         * lib/unistr/u8-stpncpy.c: Likewise.
40004         * lib/unistr/u8-strcat.c: Likewise.
40005         * lib/unistr/u8-strchr.c: Likewise.
40006         * lib/unistr/u8-strcmp.c: Likewise.
40007         * lib/unistr/u8-strcpy.c: Likewise.
40008         * lib/unistr/u8-strcspn.c: Likewise.
40009         * lib/unistr/u8-strdup.c: Likewise.
40010         * lib/unistr/u8-strlen.c: Likewise.
40011         * lib/unistr/u8-strmblen.c: Likewise.
40012         * lib/unistr/u8-strmbtouc.c: Likewise.
40013         * lib/unistr/u8-strncat.c: Likewise.
40014         * lib/unistr/u8-strncmp.c: Likewise.
40015         * lib/unistr/u8-strncpy.c: Likewise.
40016         * lib/unistr/u8-strnlen.c: Likewise.
40017         * lib/unistr/u8-strpbrk.c: Likewise.
40018         * lib/unistr/u8-strrchr.c: Likewise.
40019         * lib/unistr/u8-strspn.c: Likewise.
40020         * lib/unistr/u8-strstr.c: Likewise.
40021         * lib/unistr/u8-strtok.c: Likewise.
40022         * lib/unistr/u8-to-u16.c: Likewise.
40023         * lib/unistr/u8-to-u32.c: Likewise.
40024         * lib/unistr/u8-uctomb-aux.c: Likewise.
40025         * lib/unistr/u8-uctomb.c: Likewise.
40026         * lib/unitypes.h: Likewise.
40027         * lib/uniwidth.h: Likewise.
40028         * lib/uniwidth/cjk.h: Likewise.
40029         * lib/uniwidth/u16-strwidth.c: Likewise.
40030         * lib/uniwidth/u16-width.c: Likewise.
40031         * lib/uniwidth/u32-strwidth.c: Likewise.
40032         * lib/uniwidth/u32-width.c: Likewise.
40033         * lib/uniwidth/u8-strwidth.c: Likewise.
40034         * lib/uniwidth/u8-width.c: Likewise.
40035         * lib/uniwidth/width.c: Likewise.
40036
40037 2007-10-07  Bruno Haible  <bruno@clisp.org>
40038
40039         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
40040         The file is still under LGPL (see modules/inttypes).
40041
40042 2007-10-06  Bruno Haible  <bruno@clisp.org>
40043
40044         * modules/trunc (Dependencies): Add 'extensions'.
40045         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
40046         Reported by Ben Pfaff <blp@gnu.org>.
40047
40048 2007-10-06  Bruno Haible  <bruno@clisp.org>
40049
40050         * modules/freopen-tests: New file.
40051         * tests/test-freopen.c: New file.
40052
40053         * modules/fopen-tests: New file.
40054         * tests/test-fopen.c: New file.
40055
40056         * modules/fopen: New file.
40057         * lib/fopen.c: New file.
40058         * m4/fopen.m4: New file.
40059         * modules/freopen: New file.
40060         * lib/freopen.c: New file.
40061         * m4/freopen.m4: New file.
40062         * lib/stdio.in.h (fopen, freopen): New declarations.
40063         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
40064         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
40065         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
40066         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
40067         * doc/functions/fopen.texi: Mention the 'fopen' module.
40068         * doc/functions/freopen.texi: Mention the 'freopen' module.
40069
40070 2007-10-06  Bruno Haible  <bruno@clisp.org>
40071
40072         * modules/open-tests: New file.
40073         * tests/test-open.c: New file.
40074
40075         * modules/open: New file.
40076         * lib/open.c: New file.
40077         * m4/open.m4: New file.
40078         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
40079         lib/open.c does.
40080         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
40081         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
40082         macros.
40083         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
40084         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
40085         REPLACE_OPEN.
40086         * doc/functions/open.texi: Mention the 'open' module.
40087
40088 2007-10-04  Bruno Haible  <bruno@clisp.org>
40089
40090         * modules/ceill-tests: New file.
40091         * tests/test-ceill.c: New file.
40092
40093         * modules/ceill: New file.
40094         * lib/ceill.c: Replace entire file.
40095         * m4/ceill.m4: New file.
40096         * lib/math.in.h (ceill): Replace declaration.
40097         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
40098         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
40099         * doc/functions/ceill.texi: Mention the 'ceill' module.
40100         * modules/mathl (Files): Remove lib/ceill.c.
40101         (Depends-on): Add ceill.
40102
40103 2007-10-04  Bruno Haible  <bruno@clisp.org>
40104
40105         * modules/ceilf-tests: New file.
40106         * tests/test-ceilf.c: New file.
40107
40108         * modules/ceilf: New file.
40109         * lib/ceil.c: New file.
40110         * lib/ceilf.c: New file.
40111         * m4/ceilf.m4: New file.
40112         * lib/math.in.h (ceilf): New declaration.
40113         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
40114         HAVE_DECL_CEILF.
40115         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
40116         HAVE_DECL_CEILF.
40117         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
40118
40119 2007-10-04  Bruno Haible  <bruno@clisp.org>
40120
40121         * modules/floorl-tests: New file.
40122         * tests/test-floorl.c: New file.
40123
40124         * modules/floorl: New file.
40125         * lib/floorl.c: Replace entire file.
40126         * m4/floorl.m4: New file.
40127         * lib/math.in.h (floorl): Replace declaration.
40128         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
40129         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
40130         * doc/functions/floorl.texi: Mention the 'floorl' module.
40131         * modules/mathl (Files): Remove lib/floorl.c.
40132         (Depends-on): Add floorl.
40133
40134 2007-10-04  Bruno Haible  <bruno@clisp.org>
40135
40136         * modules/floorf-tests: New file.
40137         * tests/test-floorf.c: New file.
40138
40139         * modules/floorf: New file.
40140         * lib/floor.c: New file.
40141         * lib/floorf.c: New file.
40142         * m4/floorf.m4: New file.
40143         * lib/math.in.h (floorf): New declaration.
40144         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
40145         HAVE_DECL_FLOORF.
40146         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
40147         HAVE_DECL_FLOORF.
40148         * doc/functions/floorf.texi: Mention the 'floorf' module.
40149
40150 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
40151             Bruno Haible  <bruno@clisp.org>
40152
40153         Advertise for the Git server instead of the CVS server.
40154         * doc/gnulib-intro.texi (Steady Development): Mention the Git
40155         repository instead of the CVS one.
40156         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
40157         about all VCS systems generically.
40158         * doc/gnulib.texi (Introduction): Capitalize `Git'.
40159
40160 2007-10-04  Bruno Haible  <bruno@clisp.org>
40161
40162         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
40163         means.
40164         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
40165
40166 2007-10-04  Bruno Haible  <bruno@clisp.org>
40167
40168         * modules/truncl-tests: New file.
40169         * tests/test-truncl.c: New file.
40170
40171         * modules/truncl: New file.
40172         * lib/truncl.c: New file.
40173         * m4/truncl.m4: New file.
40174         * lib/math.in.h (truncl): New declaration.
40175         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
40176         HAVE_DECL_TRUNCL.
40177         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
40178         HAVE_DECL_TRUNCL.
40179         * doc/functions/truncl.texi: Mention the 'truncl' module.
40180
40181 2007-10-04  Bruno Haible  <bruno@clisp.org>
40182
40183         * modules/truncf-tests: New file.
40184         * tests/test-truncf.c: New file.
40185
40186         * modules/truncf: New file.
40187         * lib/trunc.c: Make paramerizable through USE_* macros.
40188         * lib/truncf.c: New file.
40189         * m4/truncf.m4: New file.
40190         * lib/math.in.h (truncf): New declaration.
40191         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
40192         HAVE_DECL_TRUNCF.
40193         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
40194         HAVE_DECL_TRUNCF.
40195         * doc/functions/truncf.texi: Mention the 'truncf' module.
40196
40197 2007-10-03  Bruno Haible  <bruno@clisp.org>
40198
40199         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
40200         augmentation also for tests modules.
40201         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
40202         * modules/atexit-tests (Makefile.am): Likewise.
40203         * modules/binary-io-tests (Makefile.am): Likewise.
40204         * modules/c-strcase-tests (Makefile.am): Likewise.
40205         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
40206         * modules/canonicalize-tests (Makefile.am): Likewise.
40207         * modules/closein-tests (Makefile.am): Likewise.
40208         * modules/fprintf-posix-tests (Makefile.am): Likewise.
40209         * modules/freadahead-tests (Makefile.am): Likewise.
40210         * modules/fseek-tests (Makefile.am): Likewise.
40211         * modules/fseeko-tests (Makefile.am): Likewise.
40212         * modules/ftell-tests (Makefile.am): Likewise.
40213         * modules/ftello-tests (Makefile.am): Likewise.
40214         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
40215         * modules/isnanl-tests (Makefile.am): Likewise.
40216         * modules/lseek-tests (Makefile.am): Likewise.
40217         * modules/mbscasecmp-tests (Makefile.am): Likewise.
40218         * modules/mbscasestr-tests (Makefile.am): Likewise.
40219         * modules/mbschr-tests (Makefile.am): Likewise.
40220         * modules/mbscspn-tests (Makefile.am): Likewise.
40221         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
40222         * modules/mbspbrk-tests (Makefile.am): Likewise.
40223         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
40224         * modules/mbsrchr-tests (Makefile.am): Likewise.
40225         * modules/mbsspn-tests (Makefile.am): Likewise.
40226         * modules/mbsstr-tests (Makefile.am): Likewise.
40227         * modules/printf-posix-tests (Makefile.am): Likewise.
40228         * modules/snprintf-posix-tests (Makefile.am): Likewise.
40229         * modules/sprintf-posix-tests (Makefile.am): Likewise.
40230         * modules/tsearch-tests (Makefile.am): Likewise.
40231         * modules/uniname/uniname-tests (Makefile.am): Likewise.
40232         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
40233         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
40234         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
40235         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
40236         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
40237         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
40238         * modules/vprintf-posix-tests (Makefile.am): Likewise.
40239         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
40240         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
40241         * modules/xstrtoimax-tests (Makefile.am): Likewise.
40242         * modules/xstrtol-tests (Makefile.am): Likewise.
40243         * modules/xstrtoumax-tests (Makefile.am): Likewise.
40244         * modules/yesno-tests (Makefile.am): Likewise.
40245
40246 2007-10-03  Bruno Haible  <bruno@clisp.org>
40247
40248         * modules/trunc-tests: New file.
40249         * tests/test-trunc.c: New file.
40250
40251         * modules/trunc: New file.
40252         * lib/trunc.c: New file.
40253         * m4/trunc.m4: New file.
40254         * lib/math.in.h (trunc): New declaration.
40255         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
40256         HAVE_DECL_TRUNC.
40257         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
40258         HAVE_DECL_TRUNC.
40259         * doc/functions/trunc.texi: Mention the 'trunc' module.
40260
40261 2007-10-03  Bruno Haible  <bruno@clisp.org>
40262
40263         * tests/test-fpending.c: New file, mostly copied
40264         from coreutils/lib/t-fpending.c.
40265         * modules/fpending-tests: New file.
40266
40267 2007-10-03  Bruno Haible  <bruno@clisp.org>
40268
40269         Port the stdio extensions to QNX (untested).
40270         * lib/fseterr.c (fseterr): Add support for QNX.
40271         * lib/fbufmode.c (fbufmode): Likewise.
40272         * lib/freadable.c (freadable): Likewise.
40273         * lib/fwritable.c (fwritable): Likewise.
40274         * lib/freading.c (freading): Likewise.
40275         * lib/fwriting.c (fwriting): Likewise.
40276         * lib/freadahead.c (freadahed): Likewise.
40277         * lib/fpurge.c (fpurge): Likewise.
40278         * lib/fseeko.c (rpl_fseeko): Likewise.
40279
40280 2007-10-03  Bruno Haible  <bruno@clisp.org>
40281             Jim Meyering  <jim@meyering.net>
40282             Eric Blake  <ebb9@byu.net>
40283
40284         * doc/relocatable.texi: Use @command instead of @program.
40285
40286 2007-10-02  Jim Meyering  <jim@meyering.net>
40287
40288         Perform one more "_.h" -> ".in.h" substitution.
40289         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
40290         instead of unistd_.h here, too.
40291
40292 2007-10-01  Bruno Haible  <bruno@clisp.org>
40293
40294         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
40295         Needed for the alloca-opt module.
40296
40297 2007-09-30  Bruno Haible  <bruno@clisp.org>
40298
40299         * lib/alloca.in.h: Renamed from lib/alloca_.h.
40300         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
40301         alloca_.h.
40302         * lib/argz.in.h: Renamed from lib/argz_.h.
40303         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
40304         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
40305         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
40306         byteswap_.h.
40307         * lib/dirent.in.h: Renamed from lib/dirent_.h.
40308         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
40309         dirent_.h.
40310         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
40311         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
40312         fcntl_.h.
40313         * lib/float.in.h: Renamed from lib/float_.h.
40314         * modules/float (Files, Makefile.am): Use float.in.h instead of
40315         float_.h.
40316         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
40317         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
40318         fnmatch_.h.
40319         * lib/getopt.in.h: Renamed from lib/getopt_.h.
40320         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
40321         getopt_.h.
40322         * lib/glob.in.h: Renamed from lib/glob_.h.
40323         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
40324         * lib/iconv.in.h: Renamed from lib/iconv_.h.
40325         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
40326         iconv_.h.
40327         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
40328         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
40329         inttypes_.h.
40330         * lib/locale.in.h: Renamed from lib/locale_.h.
40331         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
40332         locale_.h.
40333         * lib/math.in.h: Renamed from lib/math_.h.
40334         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
40335         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
40336         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
40337         of netinet_in_.h. Add dependency.
40338         * lib/poll.in.h: Renamed from lib/poll_.h.
40339         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
40340         * lib/search.in.h: Renamed from lib/search_.h.
40341         * modules/search (Files, Makefile.am): Use search.in.h instead of
40342         search_.h.
40343         * lib/signal.in.h: Renamed from lib/signal_.h.
40344         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
40345         _signal.h.
40346         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
40347         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
40348         stdbool_.h.
40349         * lib/stdint.in.h: Renamed from lib/stdint_.h.
40350         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
40351         stdint_.h.
40352         * lib/stdio.in.h: Renamed from lib/stdio_.h.
40353         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
40354         stdio_.h.
40355         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
40356         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
40357         stdlib_.h.
40358         * lib/string.in.h: Renamed from lib/string_.h.
40359         * modules/string (Files, Makefile.am): Use string.in.h instead of
40360         string_.h.
40361         * doc/gnulib-tool.texi (Initial import): Update.
40362         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
40363         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
40364         of sys_select_.h. Add dependency.
40365         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
40366         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
40367         of sys_socket_.h.
40368         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
40369         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
40370         sys_stat_.h.
40371         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
40372         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
40373         sys_time_.h.
40374         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
40375         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
40376         sysexits_.h.
40377         * lib/time.in.h: Renamed from lib/time_.h.
40378         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
40379         * lib/unistd.in.h: Renamed from lib/unistd_.h.
40380         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
40381         unistd_.h.
40382         * lib/wchar.in.h: Renamed from lib/wchar_.h.
40383         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
40384         wchar_.h.
40385         * lib/wctype.in.h: Renamed from lib/wctype_.h.
40386         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
40387         wctype_.h.
40388         * build-aux/bootstrap (slurp): Update.
40389         * lib/.cppi-disable: Update.
40390
40391 2007-09-30  Bruno Haible  <bruno@clisp.org>
40392
40393         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
40394         Needed on BeOS.
40395
40396 2007-09-30  Bruno Haible  <bruno@clisp.org>
40397
40398         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
40399
40400 2007-09-29  Bruno Haible  <bruno@clisp.org>
40401
40402         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
40403
40404 2007-09-29  Bruno Haible  <bruno@clisp.org>
40405
40406         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
40407         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
40408         * build-aux/install-reloc: Compile also areadlink.c.
40409         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
40410
40411 2007-09-29  Bruno Haible  <bruno@clisp.org>
40412
40413         * gnulib-tool (func_emit_initmacro_done): Indentation.
40414
40415 2007-09-29  Bruno Haible  <bruno@clisp.org>
40416
40417         * README: Add CVS checkout update instructions.
40418         Info from Bob Proulx <bob@proulx.com>.
40419
40420 2007-09-28  Eric Blake  <ebb9@byu.net>
40421
40422         Provide move-if-change.
40423         * build-aux/move-if-change: New file, based on best practice
40424         rather than any canonical upstream location.
40425
40426 2007-09-28  Jim Meyering  <jim@meyering.net>
40427
40428         Fix canonicalize loop-detection corner case.
40429         Do not attempt to stat the symlink values stored via seen_triple.
40430         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
40431         on linux-2.6.18, (but not 2.6.22).
40432         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
40433         triple_compare.  The former compares dev,ino,filename, while the latter
40434         would actually stat dirname(filename) when dev and ino were equal.
40435         * lib/hash-triple.c: Install <string.h>.
40436         (STREQ): Define.
40437         (triple_compare_ino_str): New function.
40438         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
40439
40440 2007-09-28  Eric Blake  <ebb9@byu.net>
40441
40442         Enforce that AC_REPLACE_FUNCS files exist.
40443         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
40444         override check for typos.
40445
40446         Fix test-closein on Solaris 10.
40447         * tests/test-closein.c (main): Don't assume stdin can be inherited
40448         closed on all systems.
40449         * tests/test-closein.sh: Likewise.
40450         Reported by Piotr Tarnowski.
40451
40452 2007-09-28  Jim Meyering  <jim@meyering.net>
40453
40454         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
40455
40456 2007-09-27  Jim Meyering  <jim@meyering.net>
40457
40458         canonicalize: Avoid a false-positive cycle failure.
40459         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
40460         Sort.  Remove cycle-check.
40461         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
40462         not cycle-check.h.
40463         (seen_triple): New function.
40464         (canonicalize_filename_mode): Use it instead of cycle-check.
40465         * tests/test-canonicalize.c: Add a test for this bug.
40466         * tests/test-canonicalize.sh: Set up and run the test.
40467
40468         New module, file-set, from coreutils.
40469         * modules/file-set: Define it.
40470         * lib/file-set.c, lib/file-set.h: Implement.
40471
40472         New module, hash-triple, from coreutils.
40473         * modules/hash-triple: Define it.
40474         * lib/hash-triple.c, lib/hash-triple.h: Implement.
40475
40476 2007-09-25  Eric Blake  <ebb9@byu.net>
40477
40478         Fix strerror on Interix.
40479         * lib/string_.h (strerror): Declare replacement.
40480         * doc/functions/strerror.texi (strerror): Document the Interix
40481         shortcoming.
40482         * modules/string (Makefile.am): Support new hooks.
40483         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
40484         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
40485         gl_FUNC_STRERROR_SEPARATE.
40486         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
40487         * lib/strerror.c (rpl_strerror): Provide replacement.
40488         * modules/strerror (Depends-on): Add string.
40489         (configure.ac): Detect use of module.
40490         * tests/test-strerror.c: New file.
40491         * modules/strerror-tests: New test module.
40492         * modules/argp (Depends-on): Add strerror.
40493         * modules/error (Depends-on): Likewise.
40494         Reported by Martin Koeppe.
40495
40496 2007-09-24  Bruno Haible  <bruno@clisp.org>
40497
40498         * README: Update git instructions.
40499
40500 2007-09-24  Eric Blake  <ebb9@byu.net>
40501
40502         Revert fpending breakage from 2007-09-08.
40503         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
40504         __fpending.c.
40505
40506 2007-09-24  Jim Meyering  <jim@meyering.net>
40507
40508         filenamecat.c: Add a test.
40509         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
40510         showing how the function works when DIR is the empty string.
40511
40512 2007-09-21  Simon Josefsson  <simon@josefsson.org>
40513
40514         * tests/test-canonicalize.sh: Turn on executable bit.
40515
40516 2007-09-19  Eric Blake  <ebb9@byu.net>
40517
40518         * README: Update CVS instructions.
40519
40520 2007-09-18  Bruno Haible  <bruno@clisp.org>
40521
40522         * modules/areadlink: New file.
40523         * lib/areadlink.h (areadlink): New declaration.
40524         * lib/areadlink.c: New file, based on lib/xreadlink.c.
40525
40526 2007-09-17  Jim Meyering  <jim@meyering.net>
40527
40528         * lib/savewd.c (ESTALE) [!defined]: Define.
40529         Reported to be required on Interix by Martin Koeppe.
40530
40531 2007-09-17  Bruno Haible  <bruno@clisp.org>
40532
40533         * gnulib-tool (func_version): Use $version.
40534
40535 2007-09-16  Bruno Haible  <bruno@clisp.org>
40536
40537         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
40538         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
40539         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
40540         Reported by Greg Schafer <gschafer@zip.com.au>.
40541
40542 2007-09-15  Bruno Haible  <bruno@clisp.org>
40543
40544         * gnulib-tool (sed): Try a little harder to make bash understand the
40545         alias.
40546         Reported by Bruce Korb <bruce.korb@gmail.com>.
40547
40548 2007-09-13  Eric Blake  <ebb9@byu.net>
40549
40550         * ChangeLog: Remove conflict markers.
40551
40552 2007-09-13  Simon Josefsson  <simon@josefsson.org>
40553
40554         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
40555         Reported by Bruno Haible <bruno@clisp.org>.
40556
40557 2007-09-12  Bruno Haible  <bruno@clisp.org>
40558
40559         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
40560         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
40561         is not defined.
40562
40563 2007-09-12  Eric Blake  <ebb9@byu.net>
40564
40565         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
40566         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
40567         Autoconf definition.
40568         * modules/euidaccess (Depends-on): Add extensions, for
40569         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
40570         * modules/fnmatch (Depends-on): Likewise.
40571         * modules/getaddrinfo (Depends-on): Likewise.
40572         * modules/getdelim (Depends-on): Likewise.
40573         * modules/getline (Depends-on): Likewise.
40574         * modules/getsubopt (Depends-on): Likewise.
40575         * modules/gettext (Depends-on): Likewise.
40576         * modules/group-member (Depends-on): Likewise.
40577         * modules/mbchar (Depends-on): Likewise.
40578         * modules/memmem (Depends-on): Likewise.
40579         * modules/mempcpy (Depends-on): Likewise.
40580         * modules/memrchr (Depends-on): Likewise.
40581         * modules/pagealign_alloc (Depends-on): Likewise.
40582         * modules/readutmp (Depends-on): Likewise.
40583         * modules/stpcpy (Depends-on): Likewise.
40584         * modules/stpncpy (Depends-on): Likewise.
40585         * modules/strchrnul (Depends-on): Likewise.
40586         * modules/strndup (Depends-on): Likewise.
40587         * modules/strsep (Depends-on): Likewise.
40588         * modules/strverscmp (Depends-on): Likewise.
40589         * modules/vasprintf (Depends-on): Likewise.
40590         * modules/wcwidth (Depends-on): Likewise.
40591         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
40592         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
40593         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
40594         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
40595         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
40596         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
40597         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
40598         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
40599         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
40600         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
40601         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
40602         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
40603         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
40604         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
40605         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
40606         * m4/readutmp.m4 (gl_READUTMP): Likewise.
40607         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
40608         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
40609         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
40610         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
40611         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
40612         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
40613         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
40614         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
40615         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
40616         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
40617         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
40618         so that lock.m4 can be used in gettext without extensions module.
40619
40620 2007-09-11  Bruno Haible  <bruno@clisp.org>
40621
40622         * m4/isc-posix.m4: Remove file.
40623         Suggested by Eric Blake.
40624
40625 2007-09-11  Eric Blake  <ebb9@byu.net>
40626
40627         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
40628
40629 2007-09-10  Bruno Haible  <bruno@clisp.org>
40630
40631         * posix-modules: Fix typo in error message.
40632         Reported by Matt <mkraai@beckman.com>.
40633
40634 2007-09-09  Bruno Haible  <bruno@clisp.org>
40635
40636         * doc/functions/getdelim.texi: Update list of platforms lacking the
40637         function.
40638         * doc/functions/getline.texi: Likewise.
40639
40640 2007-09-09  Jim Meyering  <jim@meyering.net>
40641
40642         * lib/hash.c (hash_initialize): Detect calloc failure.
40643         Reported by Bruno Haible.
40644
40645 2007-09-09  Bruno Haible  <bruno@clisp.org>
40646
40647         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
40648         malloc or realloc fails.
40649
40650 2007-09-09  Bruno Haible  <bruno@clisp.org>
40651
40652         * modules/getcwd (Depends-on): Add malloc-posix.
40653         * modules/glob (Depends-on): Likewise.
40654         * modules/putenv (Depends-on): Likewise.
40655         * modules/strdup (Depends-on): Likewise.
40656         * modules/getdelim (Depends-on): Add realloc-posix.
40657         * modules/read-file (Depends-on): Likewise.
40658
40659 2007-09-09  Bruno Haible  <bruno@clisp.org>
40660
40661         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
40662         (gl_FUNC_MALLOC_POSIX): Require it.
40663         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
40664         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
40665         * modules/realloc (Files): Add m4/malloc.m4.
40666         * modules/calloc (Files): Likewise.
40667
40668 2007-09-09  Bruno Haible  <bruno@clisp.org>
40669
40670         * modules/malloc-posix: New file.
40671         * modules/malloc (Depends-on): Add malloc-posix.
40672         * lib/malloc.c: Include errno.h.
40673         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
40674         and a POSIX-compatible malloc into a single function. Set ENOMEM
40675         when returning NULL.
40676         * m4/malloc.m4: New file.
40677         * doc/functions/malloc.texi: Mention the malloc-posix module.
40678         * lib/stdlib_.h (malloc): New declaration.
40679         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
40680         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
40681         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
40682         and HAVE_MALLOC_POSIX.
40683
40684 2007-09-09  Bruno Haible  <bruno@clisp.org>
40685
40686         * modules/realloc-posix: New file.
40687         * modules/realloc (Depends-on): Add realloc-posix.
40688         * lib/realloc.c: Include errno.h.
40689         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
40690         and a POSIX-compatible realloc into a single function. Set ENOMEM
40691         when returning NULL.
40692         * m4/realloc.m4: New file.
40693         * doc/functions/realloc.texi: Mention the realloc-posix module.
40694         * lib/stdlib_.h (realloc): New declaration.
40695         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
40696         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
40697         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
40698         and HAVE_REALLOC_POSIX.
40699
40700 2007-09-09  Bruno Haible  <bruno@clisp.org>
40701
40702         * modules/calloc-posix: New file.
40703         * modules/calloc (Depends-on): Add calloc-posix.
40704         * lib/calloc.c: Include errno.h.
40705         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
40706         and a POSIX-compatible calloc into a single function. Set ENOMEM
40707         when returning NULL.
40708         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
40709         * doc/functions/calloc.texi: Mention the calloc-posix module.
40710         * lib/stdlib_.h (calloc): New declaration.
40711         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
40712         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
40713         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
40714         and HAVE_CALLOC_POSIX.
40715
40716 2007-09-09  Bruno Haible  <bruno@clisp.org>
40717
40718         Allow for modules to show an arbitrary notice.
40719         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
40720         * gnulib-tool: New option --extract-notice.
40721         (func_usage): Document it.
40722         (sed_extract_prog): Update.
40723         (func_get_notice): New function.
40724         (func_modules_notice): New function.
40725         (func_import, func_create_testdir): Invoke it.
40726         Suggested by Jim Meyering.
40727
40728 2007-09-09  Bruno Haible  <bruno@clisp.org>
40729
40730         * gnulib-tool: New options --verbose, --quiet.
40731         (func_usage): Document them.
40732         (verbose): New variable.
40733         (func_execute_command): New function.
40734         (func_import): Don't show the module list and the file list if
40735         $verbose < 0.
40736         (func_create_testdir): Likewise. Use func_execute_command.
40737         (func_create_megatestdir): Use func_execute_command.
40738
40739 2007-09-08  Bruno Haible  <bruno@clisp.org>
40740
40741         * gnulib-tool (func_import): Prefer rsync over wget when available,
40742         for fetching the PO files.
40743
40744 2007-09-08  Bruno Haible  <bruno@clisp.org>
40745
40746         * posix-modules: New file. Portions copied from gnulib-tool.
40747         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
40748
40749 2007-09-08  Jim Meyering  <jim@meyering.net>
40750
40751         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
40752         * lib/fpending.h: Rename from __fpending.h.
40753         * lib/fpending.c: Rename from __fpending.c.
40754         Include "fpending.h", not "__fpending.h".
40755         * lib/__fpending.h, lib/__fpending.c: Remove files.
40756         * modules/fpending (Files): Reflect new file names.
40757         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
40758
40759 2007-09-08  Bruno Haible  <bruno@clisp.org>
40760
40761         * m4/inttypes-h.m4: Remove stub file.
40762
40763 2007-09-07  Simon Josefsson  <simon@josefsson.org>
40764
40765         * doc/headers/stdint.texi: Discuss #include_next issue.
40766
40767 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
40768
40769         * build-aux/bootstrap: Remove obsolete comment about wget --help.
40770
40771 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
40772
40773         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
40774         in variable name.
40775
40776 2007-09-03  Jim Meyering  <jim@meyering.net>
40777
40778         New module: git-version-gen.
40779         * modules/git-version-gen: New file.
40780
40781         Import changes from coreutils for bootstrap script.
40782
40783         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
40784
40785         bootstrap: uses rsync to download the .po files
40786         * build-aux/bootstrap (po_download_command_format): New global.
40787         (download_po_files): Use rsync.
40788         (update_po_files): Don't remove .po files after download,
40789         so future rsync runs can take advantage of the copies.
40790
40791         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
40792
40793         Solve the unnecessary-.po-file-regeneration problem once and for all.
40794         * build-aux/bootstrap (download_po_files): New function, renamed from
40795         get_translations.  Now, downloads, but doesn't update LINGUAS.
40796         (update_po_files): New function.
40797
40798         bootstrap: Ignore more.
40799         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
40800         uniwidth to e.g., lib/.gitignore.
40801         (slurp): Handle the sys_stat_.h -> sys mapping, too.
40802
40803         * build-aux/bootstrap: New setting: vc_ignore.
40804         (insert_sorted_if_absent): Create $file if absent.
40805         Adapt to new, possibly empty, list: $vc_ignore.
40806
40807         bootstrap: generate more ignorable names
40808         * build-aux/bootstrap (slurp): When generating ignorable names,
40809         also map .sin to .sed, .gperf to .c, and .y to .c.
40810
40811 2007-09-03  Jim Meyering  <jim@meyering.net>
40812
40813         * build-aux/git-version-gen: New file, from coreutils.  For details, see
40814         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
40815
40816 2007-09-02  Bruno Haible  <bruno@clisp.org>
40817
40818         Fix mis-recognition of 'mcs' on QNX 6.
40819         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
40820         output contains the string "Mono".
40821         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
40822         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
40823
40824 2007-09-01  Bruno Haible  <bruno@clisp.org>
40825
40826         Fix collision between uniwidth/* and linebreak modules.
40827         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
40828         u32_width): Remove declarations.
40829         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
40830         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
40831         streq3, streq2, streq1, streq0): Remove functions.
40832         (STREQ): Remove macro.
40833         (is_cjk_encoding): Remove function.
40834         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
40835         (uc_width, u8_width, u16_width, u32_width): Remove functions.
40836         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
40837         * NEWS: Document the change.
40838
40839 2007-09-01  Bruno Haible  <bruno@clisp.org>
40840
40841         * lib/streq.h: Add double-inclusion guard.
40842
40843 2007-09-01  Karl Berry  <karl@gnu.org>
40844
40845         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
40846
40847 2007-08-28  Jim Meyering  <jim@meyering.net>
40848
40849         Rename mreadlink_with_size to areadlink_with_size.
40850         * NEWS: Document the change.
40851         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
40852         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
40853         * lib/mreadlink.h: Rename this to...
40854         * lib/areadlink.h: ...this.
40855         * modules/mreadlink-with-size: Rename this to...
40856         * modules/areadlink-with-size: ...this.
40857         * lib/canonicalize.c: Reflect the renaming.
40858         * modules/canonicalize: Likewise.
40859
40860 2007-08-26  Bruno Haible  <bruno@clisp.org>
40861
40862         * gnulib-tool (func_import): When deciding which files to remove,
40863         consider also dangling symbolic links.
40864         Reported by Eric Blake.
40865
40866 2007-08-26  Bruno Haible  <bruno@clisp.org>
40867
40868         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
40869
40870 2007-08-23  Simon Josefsson  <simon@josefsson.org>
40871
40872         * lib/readline.c: Don't include getline.h, the prototype is now
40873         found in stdio.h.
40874
40875 2007-08-23  Jim Meyering  <jim@meyering.net>
40876
40877         Getdelim touchup.
40878         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
40879         around the funlockfile call, since funlockfile never sets errno.
40880         Don't set errno upon failed realloc.
40881
40882 2007-08-22  Eric Blake  <ebb9@byu.net>
40883
40884         Getline touchups.
40885         * lib/getdelim.c (getdelim): Revert regression that required *n to
40886         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
40887         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
40888         getdelim, rather than whether implementation is missing.
40889         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
40890         * lib/stdio_.h (getline): Also declare if replacement is
40891         required.
40892         * doc/functions/getdelim.texi: New file.
40893         * doc/functions/getline.texi: Likewise.
40894         * doc/gnulib.texi (Function Substitutes): Add new files.
40895         Reported by Bruno Haible.
40896
40897 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
40898
40899         * users.txt: Add Guile.
40900
40901 2007-08-22  Eric Blake  <ebb9@byu.net>
40902
40903         * tests/test-getdelim.c (main): Use remove, not unlink.
40904         * tests/test-getline.c (main): Likewise.
40905
40906         Move getline and getdelim into stdio.h, per POSIX 200x.
40907         * modules/getline (Files): Remove getline.h.
40908         (Depends-on): Add stdio.
40909         (configure.ac): Add module indicator.
40910         * modules/getdelim (Files): Remove getdelim.h.
40911         (Depends-on): Add stdio.
40912         (configure.ac): Add module indicator.
40913         * modules/stdio (Makefile.am): Work with new indicators.
40914         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
40915         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
40916         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
40917         * lib/getdelim.h: Delete.
40918         * lib/getline.h: Delete.
40919         * lib/stdio_.h (getdelim, getline): Declare.
40920         * modules/getdelim-tests: New module.
40921         * modules/getline-tests: Likewise.
40922         * tests/test-getdelim.c: New file.
40923         * tests/test-getline.c: Likewise.
40924         * NEWS: Document the change.
40925         * lib/getline.c: Update choice of header.
40926         * lib/csharpcomp.c: Likewise.
40927         * lib/getpass.c: Likewise.
40928         * lib/javacomp.c: Likewise.
40929         * lib/javaversion.c: Likewise.
40930         * lib/yesno.c: Likewise.
40931         * lib/getdelim.c: Likewise.
40932         (getdelim): Set errno on failure, and avoid memory leak.
40933
40934 2007-08-19  Bruno Haible  <bruno@clisp.org>
40935
40936         * modules/closein (Depends-on): Add freadahead.
40937         * lib/closein.c: Include freadahead.h.
40938         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
40939         is zero.
40940
40941 2007-08-19  Bruno Haible  <bruno@clisp.org>
40942
40943         * modules/freadahead-tests: New file.
40944         * tests/test-freadahead.sh: New file.
40945         * tests/test-freadahead.c: New file.
40946
40947         * modules/freadahead: New file.
40948         * lib/freadahead.h: New file.
40949         * lib/freadahead.c: New file.
40950         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
40951         fbufmode, fpurge, freadable, fwritable.
40952
40953 2007-08-19  Eric Blake  <ebb9@byu.net>
40954
40955         Test yesno in combination with closein.
40956         * lib/yesno.c (yesno): Document use of stdin.
40957         * modules/yesno-tests (Files): New module.
40958         * tests/test-yesno.c (main): New file.
40959         * tests/test-yesno.sh: Likewise.
40960
40961 2007-08-19  Bruno Haible  <bruno@clisp.org>
40962
40963         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
40964         * lib/fseeko.c (rpl_fseeko): Likewise.
40965         * lib/fseterr.c (fseterr): Likewise.
40966
40967 2007-08-19  Bruno Haible  <bruno@clisp.org>
40968
40969         * tests/test-lseek.c (main): Disable a test for BeOS.
40970         * doc/functions/lseek.texi: Document the BeOS bug.
40971
40972 2007-08-19  Bruno Haible  <bruno@clisp.org>
40973             Eric Blake  <ebb9@byu.net>
40974
40975         * lib/lseek.c: Include <sys/stat.h>.
40976         (rpl_lseek): Add workaround code also for Unix platforms.
40977         Needed for BeOS.
40978         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
40979         * doc/functions/lseek.texi: Document BeOS definiency.
40980
40981 2007-08-18  Bruno Haible  <bruno@clisp.org>
40982
40983         * modules/fstrcmp-tests: New file.
40984         * tests/test-fstrcmp.c: New file.
40985
40986 2007-08-18  Bruno Haible  <bruno@clisp.org>
40987
40988         * modules/fstrcmp: New file, from GNU gettext with modifications.
40989         * lib/fstrcmp.h: New file, from GNU gettext.
40990         * lib/fstrcmp.c: New file, from GNU gettext.
40991         * MODULES.html.sh (String handling): Add fstrcmp.
40992
40993 2007-08-18  Bruno Haible  <bruno@clisp.org>
40994
40995         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
40996         'bool'.
40997         (diag, compareseq): Remove const from the ctxt argument.
40998         (USE_HEURISTIC): Undefine at the end.
40999
41000 2007-08-18  Jim Meyering  <jim@meyering.net>
41001
41002         New file: lib/idcache.h
41003         * NEWS: Mention the addition.
41004         * modules/idcache (Files): Add lib/idcache.h
41005         * lib/idcache.c: Include "idcache.h".
41006         Don't include <sys/types.h>.
41007         Add a FIXME comment.
41008         Move file-scoped "static" declarations to the top.
41009         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
41010
41011 2007-08-17  Bruno Haible  <bruno@clisp.org>
41012         and Paul Eggert  <eggert@cs.ucla.edu>
41013
41014         * MODULES.html.sh: Add diffseq.
41015         * modules/diffseq: New file.
41016         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
41017         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
41018
41019 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
41020
41021         Import changes from coreutils for bootstrap script.
41022
41023         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
41024
41025         * build-aux/bootstrap (slurp): Work even in environments where
41026         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
41027         current code does not slurp files whose names start with ".", and
41028         this looks like it might be a troublesome area.
41029
41030         2007-07-11  Jim Meyering  <jim@meyering.net>
41031
41032         If there's a GPL vN copyright comment, require that N == 3.
41033
41034         2007-07-08  Jim Meyering  <jim@meyering.net>
41035
41036         Run the coreutils-specific code only if tests/Makefile.am.in exists.
41037         * build-aux/bootstrap (mam_template): Move definition out of loop.
41038
41039         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
41040
41041         * build-aux/bootstrap (symlink_to_dir): Rename function from
41042         symlink_to_gnulib.  Add a directory parameter.  Update all
41043         callers.
41044         (cp_mark_as_generated): Also check for -- and link to -- files in
41045         gl/.
41046
41047         2007-07-08  Jim Meyering  <jim@meyering.net>
41048
41049         Adapt to deeper hierarchy in gnulib.
41050         * build-aux/bootstrap (symlink_to_dir): If the destination
41051         directory doesn't exist, create it. This is required at least for
41052         "lib/uniwidth/cjk.h".
41053
41054         2007-05-15  Jim Meyering  <jim@meyering.net>
41055
41056         * build-aux/bootstrap: Now that generated Makefile.am files
41057         are no longer under version control, they must be created at
41058         bootstrap time.
41059
41060 2007-08-14  Ben Pfaff  <blp@gnu.org>
41061
41062         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
41063
41064 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
41065
41066         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
41067         given the changes below.
41068         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
41069         even on hosts that have padding bits beyond the supported 64.
41070
41071 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
41072
41073         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
41074         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
41075         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
41076         depends on it.
41077         (xstrtol_error): Remove.
41078         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
41079         but with a different signature.
41080         (ATTRIBUTE_NORETURN, __attribute__): New macros.
41081         * lib/xstrtol-error.c: Include exitfail.h.
41082         (xstrtol_fatal): New function, with a different signature from the
41083         old xstrtol_error, so that the caller need not worry about passing
41084         in an exit status, or about storage management of the option argument.
41085         (xstrtol_error): Now a static function.  Redo signature to
41086         implement xstrtol_fatal.  Output the correct number of hyphens in
41087         front of the option so that the caller need not worry about
41088         storage management.
41089         (N_): New macro.
41090         (_): Remove; not used now.
41091         * modules/xstrtol: Depend on getopt.
41092         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
41093         of old STRTOL_FATAL_ERROR macro.
41094         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
41095         of test program.
41096         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
41097         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
41098
41099 2007-08-08  Eric Blake  <ebb9@byu.net>
41100
41101         * lib/xstrtol-error.c: Add missing include.
41102
41103         Move xstrtol messages into gnulib domain, when --pobase is used.
41104         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
41105         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
41106         * modules/xstrtol (Files): Distribute new file.
41107         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
41108         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
41109         * tests/test-xstrtol.c: ...into new file.
41110         * tests/test-xstrtoul.c: Also test xstrtoul.
41111         * tests/test-xstrtoimax.c: Also test xstrtoimax.
41112         * tests/test-xstrtoumax.c: Also test xstrtoumax.
41113         * tests/test-xstrtol.sh: Drive the tests.
41114         * tests/test-xstrtoimax.sh: Likewise.
41115         * tests/test-xstrtoumax.sh: Likewise.
41116         * modules/xstrtol-tests: New module.
41117         * modules/xstrtoimax-tests: Likewise.
41118         * modules/xstrtoumax-tests: Likewise.
41119
41120 2007-08-08  Jim Meyering  <jim@meyering.net>
41121
41122         New function: mfile_name_concat.
41123         * lib/filenamecat.c (mfile_name_concat): New function, just like
41124         file_name_concat, but return NULL upon failure rather than exiting
41125         with a diagnostic.
41126         * lib/filenamecat.h: Declare it.
41127
41128 2007-08-07  Bruno Haible  <bruno@clisp.org>
41129
41130         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
41131         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
41132         warning from gcc.
41133         Reported by Eric Blake.
41134
41135 2007-08-07  Simon Josefsson  <simon@josefsson.org>
41136
41137         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
41138         * modules/crypto/arcfour (License): Likewise.
41139         * modules/crypto/des-tests (License): Likewise.
41140         * modules/crypto/gc-arctwo-tests (License): Likewise.
41141         * modules/crypto/gc-des-tests (License): Likewise.
41142         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
41143         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
41144         * modules/crypto/gc-md2-tests (License): Likewise.
41145         * modules/crypto/gc-md4-tests (License): Likewise.
41146         * modules/crypto/gc-md5-tests (License): Likewise.
41147         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
41148         * modules/crypto/gc-rijndael-tests (License): Likewise.
41149         * modules/crypto/gc-sha1-tests (License): Likewise.
41150         * modules/crypto/gc-tests (License): Likewise.
41151         * modules/crypto/hmac-md5 (License): Likewise.
41152         * modules/crypto/hmac-sha1 (License): Likewise.
41153         * modules/crypto/md2-tests (License): Likewise.
41154         * modules/crypto/md4-tests (License): Likewise.
41155         * modules/crypto/md5 (License): Likewise.
41156         * modules/crypto/rijndael (License): Likewise.
41157         * modules/crypto/sha1 (License): Likewise.
41158         * modules/memxor (License): Likewise.
41159
41160 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
41161         and Bruno Haible  <bruno@clisp.org>
41162
41163         * NEWS: Describe interface changes to human, xstrtol.
41164         * lib/human.h: Include <xstrtol.h>.
41165         (human_options): Return enum strtol_error, not int.  Remove
41166         bool arg; take int * instead.
41167         * lib/human.c: Don't include "gettext.h".
41168         (_): Remove; no longer used.
41169         Don't include <xstrtol.h>, since human.h does it.
41170         (human_options): Adjust to abovementioned interface changes.
41171         Do not report error to stderr; that's now the caller's
41172         responsibility.
41173         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
41174         interface change.
41175         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
41176         Str, Argument_type_string.  All uses changed.  Put " argument"
41177         in diagnostics to make them clearer.  Change wording of suffix
41178         message for clarity.
41179         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
41180         Argument_type_string.
41181         (STRTOL_FATAL_WARN): Remove; no longer used.
41182         * modules/human (Depends-on): Remove gettext-h.
41183
41184 2007-08-06  Simon Josefsson  <simon@josefsson.org>
41185
41186         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
41187
41188 2007-07-31  Bruno Haible  <bruno@clisp.org>
41189
41190         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
41191         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
41192         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
41193
41194 2007-07-31  Bruno Haible  <bruno@clisp.org>
41195
41196         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
41197         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
41198
41199 2007-07-30  Bruno Haible  <bruno@clisp.org>
41200
41201         * modules/base64 (License): Use the synonymous term "LGPLv2+".
41202         * modules/c-ctype (License): Likewise.
41203         * modules/c-strcase (License): Likewise.
41204         * modules/check-version (License): Likewise.
41205         * modules/iconv (License): Likewise.
41206         * modules/iconv_open (License): Likewise.
41207         * modules/read-file (License): Likewise.
41208         * modules/striconv (License): Likewise.
41209         * modules/strverscmp (License): Likewise.
41210         * modules/vasprintf (License): Likewise.
41211         * modules/crypto/des (License): Likewise.
41212         * modules/crypto/gc (License): Likewise.
41213         * modules/crypto/gc-arcfour (License): Likewise.
41214         * modules/crypto/gc-arctwo (License): Likewise.
41215         * modules/crypto/gc-des (License): Likewise.
41216         * modules/crypto/gc-hmac-md5 (License): Likewise.
41217         * modules/crypto/gc-hmac-sha1 (License): Likewise.
41218         * modules/crypto/gc-md2 (License): Likewise.
41219         * modules/crypto/gc-md4 (License): Likewise.
41220         * modules/crypto/gc-md5 (License): Likewise.
41221         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
41222         * modules/crypto/gc-random (License): Likewise.
41223         * modules/crypto/gc-rijndael (License): Likewise.
41224         * modules/crypto/gc-sha1 (License): Likewise.
41225         * modules/crypto/md2 (License): Likewise.
41226         * modules/crypto/md4 (License): Likewise.
41227
41228 2007-07-30  Jim Meyering  <jim@meyering.net>
41229
41230         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
41231         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
41232         it has valid stat data.  This bug would cause du not to count the
41233         sizes of inaccessible directories.
41234         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
41235         in <http://bugzilla.redhat.com/250077>.
41236
41237 2007-07-25  Peter O'Gorman  <peter@pogma.com>
41238             Bruno Haible  <bruno@clisp.org>
41239
41240         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
41241         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
41242         #include_next, gives a diagnostic about it, but reports no error in
41243         the exit code.
41244         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
41245
41246 2007-07-24  Ben Pfaff  <blp@gnu.org>
41247
41248         Improve name: "count-one-bits" is better than "popcount".
41249         * MODULES.html.sh: Update name.
41250         * lib/popcount.h: Renamed lib/count-one-bits.h.
41251         (popcount): Renamed count_one_bits.
41252         (popcountl): Renamed count_one_bits_l.
41253         (popcountll): Renamed count_one_bits_ll.
41254         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
41255         * modules/popcount: Renamed module/count-one-bits.
41256         * modules/popcount-tests: Renamed module/count-one-bits-tests.
41257         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
41258
41259 2007-07-23  Ben Pfaff  <blp@gnu.org>
41260
41261         * lib/popcount.h (popcount32): Reduce size of constants, to allow
41262         better code generation, and add U to large constants to avoid
41263         warnings, in non-GCC case.
41264         Suggested by Bruno Haible.
41265
41266 2007-07-23  Ben Pfaff  <blp@gnu.org>
41267
41268         * lib/popcount.h: Use verify_true instead of if...abort.
41269         * modules/popcount: Depend on verify module.
41270         Suggested by Jim Meyering.
41271
41272 2007-07-23  Bruno Haible  <bruno@clisp.org>
41273
41274         * gnulib-tool (func_import): Create a .cvsignore file also when the
41275         directory is not yet in CVS but the toplevel directory is. When
41276         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
41277         Reported by Karl Berry.
41278
41279 2007-07-22  Ben Pfaff  <blp@gnu.org>
41280
41281         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
41282         case.
41283         Suggested by Eric Blake.
41284
41285 2007-07-22  Ben Pfaff  <blp@gnu.org>
41286
41287         New module: popcount.
41288         * MODULES.html.sh: Add popcount.
41289         * modules/popcount: New file.
41290         * modules/popcount-tests: New file.
41291         * tests/test-popcount.c: New file.
41292         * lib/popcount.h: New file.
41293         * m4/popcount.m4: New file.
41294
41295 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
41296
41297         * build-aux/announce-gen: Update to GPLv3.
41298
41299         * build-aux/config.guess: Update from config.
41300
41301 2007-07-21  Bruno Haible  <bruno@clisp.org>
41302
41303         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
41304         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
41305
41306 2007-07-20  Jim Meyering  <jim@meyering.net>
41307
41308         * check-module: Diagnose a self-dependency.
41309
41310 2007-07-19  Bruno Haible  <bruno@clisp.org>
41311
41312         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
41313         empty.
41314         Reported by Eric Blake.
41315
41316 2007-07-18  Bruno Haible  <bruno@clisp.org>
41317
41318         * gnulib-tool: New options --po-base, --po-domain.
41319         (func_usage): Document them.
41320         (pobase, po_domain): New variables.
41321         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
41322         DEFAULT_TEXT_DOMAIN.
41323         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
41324         (func_import): Consider pobase and po_domain. Create a po/ directory.
41325         (func_create_testdir): Set pobase and po_domain to empty.
41326         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
41327         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
41328
41329 2007-07-18  Bruno Haible  <bruno@clisp.org>
41330
41331         * gnulib-tool (func_get_automake_snippet): Synthesize also an
41332         EXTRA_DIST augmentation for files in build-aux/.
41333
41334 2007-07-16  Bruno Haible  <bruno@clisp.org>
41335
41336         * modules/lseek (License): Use the synonymous term "LGPLv2+".
41337         * modules/getdelim (License): Likewise.
41338
41339 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
41340
41341         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
41342         * modules/d-type (License): Likewise.
41343         * modules/extensions (License): Likewise.
41344         * modules/fnmatch (License): Likewise.
41345         * modules/fseeko (License): Likewise.
41346         * modules/getaddrinfo (License): Likewise.
41347         * modules/getline (License): Likewise.
41348         * modules/getlogin_r (License): Likewise.
41349         * modules/getpass (License): Likewise.
41350         * modules/gettimeofday (License): Likewise.
41351         * modules/glob (License): Likewise.
41352         * modules/inet_ntop (License): Likewise.
41353         * modules/malloc (License): Likewise.
41354         * modules/malloca (License): Likewise.
41355         * modules/memmem (License): Likewise.
41356         * modules/mempcpy (License): Likewise.
41357         * modules/memset (License): Likewise.
41358         * modules/minmax (License): Likewise.
41359         * modules/mktime (License): Likewise.
41360         * modules/netinet_in (License): Likewise.
41361         * modules/pathmax (License): Likewise.
41362         * modules/poll (License): Likewise.
41363         * modules/regex (License): Likewise.
41364         * modules/snprintf (License): Likewise.
41365         * modules/stdbool (License): Likewise.
41366         * modules/stdint (License): Likewise.
41367         * modules/stdio (License): Likewise.
41368         * modules/strcase (License): Likewise.
41369         * modules/strcasestr (License): Likewise.
41370         * modules/strdup (License): Likewise.
41371         * modules/string (License): Likewise.
41372         * modules/strndup (License): Likewise.
41373         * modules/strnlen (License): Likewise.
41374         * modules/strpbrk (License): Likewise.
41375         * modules/strptime (License): Likewise.
41376         * modules/strsep (License): Likewise.
41377         * modules/sys_select (License): Likewise.
41378         * modules/sys_socket (License): Likewise.
41379         * modules/sys_stat (License): Likewise.
41380         * modules/sys_time (License): Likewise.
41381         * modules/time (License): Likewise.
41382         * modules/time_r (License): Likewise.
41383         * modules/timegm (License): Likewise.
41384         * modules/unistd (License): Likewise.
41385         * modules/vsnprintf (License): Likewise.
41386         * modules/wctype (License): Likewise.
41387
41388 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41389
41390         * modules/argz (License): LGPLv2+.
41391
41392 2007-07-15  Karl Berry  <karl@gnu.org>
41393
41394         * doc/gnulib.texi: revise node structure per new fdl.texi.
41395
41396 2007-07-14  Bruno Haible  <bruno@clisp.org>
41397
41398         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
41399         the output file.
41400         * lib/uniname/uninames.h: Regenerated.
41401
41402 2007-07-14  Karl Berry  <karl@gnu.org>
41403
41404         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
41405         omitting sectioning and index commands.
41406
41407 2007-07-13  Bruno Haible  <bruno@clisp.org>
41408
41409         New gnulib-tool option --more-symlinks.
41410         * gnulib-tool (func_usage): Document --more-symlinks.
41411         (do_copyrights): New variable.
41412         Recognize option --more-symlinks.
41413         (func_import): Don't add a copyright notice transform to
41414         sed_transform_lib_file if do_copyrights is empty.
41415
41416 2007-07-13  Bruno Haible  <bruno@clisp.org>
41417
41418         * lib/vasnprintf.c (decimal_point_char): Define also if
41419         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
41420         && !NEED_PRINTF_DIRECTIVE_A.
41421         Reported by Clemens Koller <clemens.koller@anagramm.de> via
41422         Gary V. Vaughan <gary@gnu.org>.
41423
41424 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
41425
41426         * lib/inttypes_.h: Undo previous change, since it was fixed
41427         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
41428
41429 2007-07-13  Bruno Haible  <bruno@clisp.org>
41430
41431         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
41432         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
41433
41434 2007-07-13  Jim Meyering  <jim@meyering.net>
41435
41436         df: Don't fail for Tru64's "file-on-file mount".
41437         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
41438         so we fall through and use statfs instead.  Details here:
41439         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
41440         Reported by Albert Chin.
41441
41442 2007-07-13  Bruno Haible  <bruno@clisp.org>
41443
41444         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
41445         * modules/configmake (License): Likewise.
41446         * modules/gettext (License): Likewise.
41447         * modules/gettext-h (License): Likewise.
41448         * modules/include_next (License): Likewise.
41449         * modules/link-warning (License): Likewise.
41450         * modules/localcharset (License): Likewise.
41451         * modules/localename (License): Likewise.
41452         * modules/lock (License): Likewise.
41453         * modules/relocatable-lib-lgpl (License): Likewise.
41454         * modules/size_max (License): Likewise.
41455         * modules/vasnprintf (License): Likewise.
41456         * modules/wchar (License): Likewise.
41457         * modules/xsize (License): Likewise.
41458
41459 2007-07-13  Bruno Haible  <bruno@clisp.org>
41460
41461         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
41462         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
41463
41464 2007-07-12  Bruno Haible  <bruno@clisp.org>
41465
41466         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
41467         in the modules files.
41468
41469 2007-07-11  Karl Berry  <karl@gnu.org>
41470
41471         * MODULES.html.sh (func_module): use
41472          sed -e '\|^'"${includefile}"'$|d'
41473          instead of /.../d, to avoid errors on $includefile's containing /.
41474
41475 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
41476
41477         * gnulib-tool (func_import): Avoid duplication of --avoid
41478         statements
41479         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
41480         names to `_' in variable names.
41481
41482 2007-07-10  Eric Blake  <ebb9@byu.net>
41483
41484         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
41485         * NEWS: Document this change.
41486
41487 2007-07-08  Bruno Haible  <bruno@clisp.org>
41488
41489         Update to Unicode 5.0.
41490         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
41491         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
41492         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
41493         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
41494         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
41495         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
41496         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
41497         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
41498         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
41499         U+10A3F, U+1D242..U+1D244.
41500         (nonspacing_table_ind): Update.
41501         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
41502         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
41503
41504 2007-07-08  Bruno Haible  <bruno@clisp.org>
41505
41506         Update to Unicode 5.0.
41507         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
41508         code transform. Extend the name index field of unicode_name_to_code and
41509         unicode_code_to_name from 16 to 24 bits.
41510         * lib/uniname/uniname.c (unicode_character_name,
41511         unicode_name_character): Add the range 0x12xxx to the code transform.
41512         * lib/uniname/uninames.h: Regenerated.
41513         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
41514
41515 2007-07-07  Bruno Haible  <bruno@clisp.org>
41516
41517         * modules/wcwidth-tests: New file.
41518         * tests/test-wcwidth.c: New file.
41519
41520         Work around MacOS X wcwidth() bug.
41521         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
41522         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
41523         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
41524         original wcwidth in non-UTF-8 locales.
41525         * modules/wcwidth (Depends-on): Add localcharset, streq,
41526         uniwidth/width.
41527         * doc/functions/wcwidth.texi: Update.
41528
41529 2007-07-07  Bruno Haible  <bruno@clisp.org>
41530
41531         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
41532         (wcwidth): New declaration.
41533         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
41534         macros.
41535         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
41536         here. Prepare for creating <wchar.h> unconditionally.
41537         * modules/wchar (Depends-on): Add link-warning.
41538         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
41539         REPLACE_WCWIDTH, and GL_LINK_WARNING.
41540         * lib/wcwidth.h: Remove file.
41541         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
41542         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
41543         * modules/wcwidth (Files): Remove lib/wcwidth.h.
41544         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
41545         (Include): Replace wcwidth.h with <wchar.h>.
41546         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
41547         * lib/mbchar.h: Don't include wcwidth.h.
41548         * lib/mbswidth.c: Likewise.
41549         * NEWS: Mention the change.
41550
41551 2007-07-07  Bruno Haible  <bruno@clisp.org>
41552
41553         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
41554         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
41555         definition with an external declaration.
41556         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
41557         defined as a function. Remove AC_C_INLINE requirement.
41558         * modules/wcwidth (Files): Add lib/wcwidth.c.
41559         (Makefile.am): Remove redundant statement.
41560
41561 2007-07-07  Bruno Haible  <bruno@clisp.org>
41562
41563         * MODULES.html.sh (Unicode string functions): Add the new modules.
41564
41565         * tests/uniwidth/test-u32-strwidth.c: New file.
41566         * modules/uniwidth/u32-strwidth-tests: New file.
41567
41568         * lib/uniwidth/u32-strwidth.c: New file.
41569         * modules/uniwidth/u32-strwidth: New file.
41570
41571         * tests/uniwidth/test-u16-strwidth.c: New file.
41572         * modules/uniwidth/u16-strwidth-tests: New file.
41573
41574         * lib/uniwidth/u16-strwidth.c: New file.
41575         * modules/uniwidth/u16-strwidth: New file.
41576
41577         * tests/uniwidth/test-u8-strwidth.c: New file.
41578         * modules/uniwidth/u8-strwidth-tests: New file.
41579
41580         * lib/uniwidth/u8-strwidth.c: New file.
41581         * modules/uniwidth/u8-strwidth: New file.
41582
41583         * tests/uniwidth/test-u32-width.c: New file.
41584         * modules/uniwidth/u32-width-tests: New file.
41585
41586         * lib/uniwidth/u32-width.c: New file.
41587         * modules/uniwidth/u32-width: New file.
41588
41589         * tests/uniwidth/test-u16-width.c: New file.
41590         * modules/uniwidth/u16-width-tests: New file.
41591
41592         * lib/uniwidth/u16-width.c: New file.
41593         * modules/uniwidth/u16-width: New file.
41594
41595         * tests/uniwidth/test-u8-width.c: New file.
41596         * modules/uniwidth/u8-width-tests: New file.
41597
41598         * lib/uniwidth/u8-width.c: New file.
41599         * modules/uniwidth/u8-width: New file.
41600
41601         * tests/uniwidth/test-uc_width.c: New file.
41602         * modules/uniwidth/width-tests: New file.
41603
41604         * lib/uniwidth/width.c: New file, from GNU libiconv.
41605         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
41606         * modules/uniwidth/width: New file.
41607
41608         * lib/uniwidth.h: New file, from GNU libiconv.
41609         * modules/uniwidth/base: New file.
41610
41611 2007-07-07  Bruno Haible  <bruno@clisp.org>
41612
41613         * lib/uniname.h: New file, from GNU gettext.
41614         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
41615         * lib/uniname/uninames.h: New file, from GNU gettext.
41616         * lib/uniname/uniname.c: New file, from GNU gettext.
41617         * tests/uniname/test-uninames.sh: New file.
41618         * tests/uniname/test-uninames.c: New file, from GNU gettext.
41619         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
41620         * modules/uniname/base: New file.
41621         * modules/uniname/uniname: New file.
41622         * modules/uniname/uniname-tests: New file.
41623         * MODULES.html.sh (Unicode string functions): Add the new modules.
41624
41625 2007-07-06  Bruno Haible  <bruno@clisp.org>
41626
41627         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
41628
41629 2007-07-06  Bruno Haible  <bruno@clisp.org>
41630
41631         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
41632         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
41633         includes <cygwin/sys_time.h> which includes <sys/select.h> which
41634         include <sys/time.h>.
41635         Reported by Eric Blake.
41636
41637 2007-07-06  Eric Blake  <ebb9@byu.net>
41638
41639         Fix testing canonicalize on cygwin.
41640         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
41641         Revert patch from 2007-06-19.
41642         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
41643         canonicalize module is also in use.
41644         * tests/test-canonicalize.c: New file.
41645         * tests/test-canonicalize.sh: Likewise.
41646         * modules/canonicalize-tests: Likewise.
41647
41648 2007-07-06  Jim Meyering  <jim@meyering.net>
41649
41650         * lib/getugroups.c (getugroups): Detect getgrent failure.
41651         Adjust comment to reflect reality: this function may return -1.
41652
41653 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
41654
41655         * build-aux/bootstrap (TP_URL,get_translations): Update to use
41656         the new TP address.
41657         (usage): Fix typo
41658         (gnulib_mk): New variable.
41659
41660 2007-07-05  Jim Meyering  <jim@meyering.net>
41661
41662         Don't let endgrent clobber errno, no matter how improbable.
41663         * lib/getugroups.c (getugroups): Save and restore errno around
41664         endgrent call.
41665
41666         Close the group DB even when failing with 2^31 or more members.
41667         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
41668
41669 2007-07-04  Jim Meyering  <jim@meyering.net>
41670
41671         * lib/getugroups.h: New file.
41672         * lib/getugroups.c: Include "getugroups.h".
41673         Remove uses of "register" keyword.
41674         Move local variable, "cp", down into scope where used.
41675         Give "username" parameter the "const" attribute.
41676         * modules/getugroups (Files): Add lib/getugroups.h
41677
41678 2007-07-04  Karl Berry  <karl@gnu.org>
41679
41680         * MODULES.html.sh (func_all_modules): Complete rename of
41681         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
41682
41683 2007-07-02  Bruno Haible  <bruno@clisp.org>
41684
41685         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
41686         mode, when inttypes.h comes from gnulib.
41687         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
41688
41689 2007-07-02  Simon Josefsson  <simon@josefsson.org>
41690
41691         * NEWS: Mention lgpl module name change.
41692
41693         * modules/lgpl-2.1: Renamed from lgpl.
41694
41695         * NEWS: Mention gpl module name change.
41696
41697         * modules/gpl-3.0: New file, based on gpl-2.0.
41698
41699         * modules/gpl-2.0: Renamed from gpl.
41700
41701         * modules/gpl: Fix filename, doc/gpl.texi is now found at
41702         doc/gpl-2.0.texi.
41703
41704 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
41705
41706         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
41707         #define __STDC_LIMIT_MACROS temporarily while including
41708         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
41709         Problem reported by Joel E. Denny in
41710         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
41711
41712 2007-07-01  Bruno Haible  <bruno@clisp.org>
41713
41714         * lib/unistdio.h: New file.
41715         * lib/unistdio/u-asnprintf.h: New file.
41716         * lib/unistdio/u-asprintf.h: New file.
41717         * lib/unistdio/u-printf-args.c: New file.
41718         * lib/unistdio/u-printf-args.h: New file.
41719         * lib/unistdio/u-printf-parse.h: New file.
41720         * lib/unistdio/u-snprintf.h: New file.
41721         * lib/unistdio/u-sprintf.h: New file.
41722         * lib/unistdio/u-vasprintf.h: New file.
41723         * lib/unistdio/u-vsnprintf.h: New file.
41724         * lib/unistdio/u-vsprintf.h: New file.
41725         * lib/unistdio/ulc-asnprintf.c: New file.
41726         * lib/unistdio/ulc-asprintf.c: New file.
41727         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
41728         * lib/unistdio/ulc-printf-parse.c: New file.
41729         * lib/unistdio/ulc-snprintf.c: New file.
41730         * lib/unistdio/ulc-sprintf.c: New file.
41731         * lib/unistdio/ulc-vasnprintf.c: New file.
41732         * lib/unistdio/ulc-vasprintf.c: New file.
41733         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
41734         * lib/unistdio/ulc-vsnprintf.c: New file.
41735         * lib/unistdio/ulc-vsprintf.c: New file.
41736         * lib/unistdio/u8-asnprintf.c: New file.
41737         * lib/unistdio/u8-asprintf.c: New file.
41738         * lib/unistdio/u8-printf-parse.c: New file.
41739         * lib/unistdio/u8-snprintf.c: New file.
41740         * lib/unistdio/u8-sprintf.c: New file.
41741         * lib/unistdio/u8-vasnprintf.c: New file.
41742         * lib/unistdio/u8-vasprintf.c: New file.
41743         * lib/unistdio/u8-vsnprintf.c: New file.
41744         * lib/unistdio/u8-vsprintf.c: New file.
41745         * lib/unistdio/u8-u8-asnprintf.c: New file.
41746         * lib/unistdio/u8-u8-asprintf.c: New file.
41747         * lib/unistdio/u8-u8-snprintf.c: New file.
41748         * lib/unistdio/u8-u8-sprintf.c: New file.
41749         * lib/unistdio/u8-u8-vasnprintf.c: New file.
41750         * lib/unistdio/u8-u8-vasprintf.c: New file.
41751         * lib/unistdio/u8-u8-vsnprintf.c: New file.
41752         * lib/unistdio/u8-u8-vsprintf.c: New file.
41753         * lib/unistdio/u16-asnprintf.c: New file.
41754         * lib/unistdio/u16-asprintf.c: New file.
41755         * lib/unistdio/u16-printf-parse.c: New file.
41756         * lib/unistdio/u16-snprintf.c: New file.
41757         * lib/unistdio/u16-sprintf.c: New file.
41758         * lib/unistdio/u16-vasnprintf.c: New file.
41759         * lib/unistdio/u16-vasprintf.c: New file.
41760         * lib/unistdio/u16-vsnprintf.c: New file.
41761         * lib/unistdio/u16-vsprintf.c: New file.
41762         * lib/unistdio/u16-u16-asnprintf.c: New file.
41763         * lib/unistdio/u16-u16-asprintf.c: New file.
41764         * lib/unistdio/u16-u16-snprintf.c: New file.
41765         * lib/unistdio/u16-u16-sprintf.c: New file.
41766         * lib/unistdio/u16-u16-vasnprintf.c: New file.
41767         * lib/unistdio/u16-u16-vasprintf.c: New file.
41768         * lib/unistdio/u16-u16-vsnprintf.c: New file.
41769         * lib/unistdio/u16-u16-vsprintf.c: New file.
41770         * lib/unistdio/u32-asnprintf.c: New file.
41771         * lib/unistdio/u32-asprintf.c: New file.
41772         * lib/unistdio/u32-printf-parse.c: New file.
41773         * lib/unistdio/u32-snprintf.c: New file.
41774         * lib/unistdio/u32-sprintf.c: New file.
41775         * lib/unistdio/u32-vasnprintf.c: New file.
41776         * lib/unistdio/u32-vasprintf.c: New file.
41777         * lib/unistdio/u32-vsnprintf.c: New file.
41778         * lib/unistdio/u32-vsprintf.c: New file.
41779         * lib/unistdio/u32-u32-asnprintf.c: New file.
41780         * lib/unistdio/u32-u32-asprintf.c: New file.
41781         * lib/unistdio/u32-u32-snprintf.c: New file.
41782         * lib/unistdio/u32-u32-sprintf.c: New file.
41783         * lib/unistdio/u32-u32-vasnprintf.c: New file.
41784         * lib/unistdio/u32-u32-vasprintf.c: New file.
41785         * lib/unistdio/u32-u32-vsnprintf.c: New file.
41786         * lib/unistdio/u32-u32-vsprintf.c: New file.
41787         * tests/unistdio/test-ulc-asnprintf1.c: New file.
41788         * tests/unistdio/test-ulc-asnprintf1.h: New file.
41789         * tests/unistdio/test-ulc-printf1.h: New file.
41790         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
41791         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
41792         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
41793         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
41794         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
41795         * tests/unistdio/test-ulc-vasprintf1.c: New file.
41796         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
41797         * tests/unistdio/test-ulc-vsprintf1.c: New file.
41798         * tests/unistdio/test-u8-asnprintf1.c: New file.
41799         * tests/unistdio/test-u8-asnprintf1.h: New file.
41800         * tests/unistdio/test-u8-printf1.h: New file.
41801         * tests/unistdio/test-u8-vasnprintf1.c: New file.
41802         * tests/unistdio/test-u8-vasnprintf2.c: New file.
41803         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
41804         * tests/unistdio/test-u8-vasnprintf3.c: New file.
41805         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
41806         * tests/unistdio/test-u8-vasprintf1.c: New file.
41807         * tests/unistdio/test-u8-vsnprintf1.c: New file.
41808         * tests/unistdio/test-u8-vsprintf1.c: New file.
41809         * tests/unistdio/test-u16-asnprintf1.c: New file.
41810         * tests/unistdio/test-u16-asnprintf1.h: New file.
41811         * tests/unistdio/test-u16-printf1.h: New file.
41812         * tests/unistdio/test-u16-vasnprintf1.c: New file.
41813         * tests/unistdio/test-u16-vasnprintf2.c: New file.
41814         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
41815         * tests/unistdio/test-u16-vasnprintf3.c: New file.
41816         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
41817         * tests/unistdio/test-u16-vasprintf1.c: New file.
41818         * tests/unistdio/test-u16-vsnprintf1.c: New file.
41819         * tests/unistdio/test-u16-vsprintf1.c: New file.
41820         * tests/unistdio/test-u32-asnprintf1.c: New file.
41821         * tests/unistdio/test-u32-asnprintf1.h: New file.
41822         * tests/unistdio/test-u32-printf1.h: New file.
41823         * tests/unistdio/test-u32-vasnprintf1.c: New file.
41824         * tests/unistdio/test-u32-vasnprintf2.c: New file.
41825         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
41826         * tests/unistdio/test-u32-vasnprintf3.c: New file.
41827         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
41828         * tests/unistdio/test-u32-vasprintf1.c: New file.
41829         * tests/unistdio/test-u32-vsnprintf1.c: New file.
41830         * tests/unistdio/test-u32-vsprintf1.c: New file.
41831         * modules/unistdio/base: New file.
41832         * modules/unistdio/u-printf-args: New file.
41833         * modules/unistdio/ulc-asnprintf: New file.
41834         * modules/unistdio/ulc-asprintf: New file.
41835         * modules/unistdio/ulc-fprintf: New file.
41836         * modules/unistdio/ulc-printf-parse: New file.
41837         * modules/unistdio/ulc-snprintf: New file.
41838         * modules/unistdio/ulc-sprintf: New file.
41839         * modules/unistdio/ulc-vasnprintf: New file.
41840         * modules/unistdio/ulc-vasprintf: New file.
41841         * modules/unistdio/ulc-vfprintf: New file.
41842         * modules/unistdio/ulc-vsnprintf: New file.
41843         * modules/unistdio/ulc-vsprintf: New file.
41844         * modules/unistdio/u8-asnprintf: New file.
41845         * modules/unistdio/u8-asprintf: New file.
41846         * modules/unistdio/u8-printf-parse: New file.
41847         * modules/unistdio/u8-snprintf: New file.
41848         * modules/unistdio/u8-sprintf: New file.
41849         * modules/unistdio/u8-vasnprintf: New file.
41850         * modules/unistdio/u8-vasprintf: New file.
41851         * modules/unistdio/u8-vsnprintf: New file.
41852         * modules/unistdio/u8-vsprintf: New file.
41853         * modules/unistdio/u8-u8-asnprintf: New file.
41854         * modules/unistdio/u8-u8-asprintf: New file.
41855         * modules/unistdio/u8-u8-snprintf: New file.
41856         * modules/unistdio/u8-u8-sprintf: New file.
41857         * modules/unistdio/u8-u8-vasnprintf: New file.
41858         * modules/unistdio/u8-u8-vasprintf: New file.
41859         * modules/unistdio/u8-u8-vsnprintf: New file.
41860         * modules/unistdio/u8-u8-vsprintf: New file.
41861         * modules/unistdio/u16-asnprintf: New file.
41862         * modules/unistdio/u16-asprintf: New file.
41863         * modules/unistdio/u16-printf-parse: New file.
41864         * modules/unistdio/u16-snprintf: New file.
41865         * modules/unistdio/u16-sprintf: New file.
41866         * modules/unistdio/u16-vasnprintf: New file.
41867         * modules/unistdio/u16-vasprintf: New file.
41868         * modules/unistdio/u16-vsnprintf: New file.
41869         * modules/unistdio/u16-vsprintf: New file.
41870         * modules/unistdio/u16-u16-asnprintf: New file.
41871         * modules/unistdio/u16-u16-asprintf: New file.
41872         * modules/unistdio/u16-u16-snprintf: New file.
41873         * modules/unistdio/u16-u16-sprintf: New file.
41874         * modules/unistdio/u16-u16-vasnprintf: New file.
41875         * modules/unistdio/u16-u16-vasprintf: New file.
41876         * modules/unistdio/u16-u16-vsnprintf: New file.
41877         * modules/unistdio/u16-u16-vsprintf: New file.
41878         * modules/unistdio/u32-asnprintf: New file.
41879         * modules/unistdio/u32-asprintf: New file.
41880         * modules/unistdio/u32-printf-parse: New file.
41881         * modules/unistdio/u32-snprintf: New file.
41882         * modules/unistdio/u32-sprintf: New file.
41883         * modules/unistdio/u32-vasnprintf: New file.
41884         * modules/unistdio/u32-vasprintf: New file.
41885         * modules/unistdio/u32-vsnprintf: New file.
41886         * modules/unistdio/u32-vsprintf: New file.
41887         * modules/unistdio/u32-u32-asnprintf: New file.
41888         * modules/unistdio/u32-u32-asprintf: New file.
41889         * modules/unistdio/u32-u32-snprintf: New file.
41890         * modules/unistdio/u32-u32-sprintf: New file.
41891         * modules/unistdio/u32-u32-vasnprintf: New file.
41892         * modules/unistdio/u32-u32-vasprintf: New file.
41893         * modules/unistdio/u32-u32-vsnprintf: New file.
41894         * modules/unistdio/u32-u32-vsprintf: New file.
41895         * modules/unistdio/ulc-asnprintf-tests: New file.
41896         * modules/unistdio/ulc-vasnprintf-tests: New file.
41897         * modules/unistdio/ulc-vasprintf-tests: New file.
41898         * modules/unistdio/ulc-vsnprintf-tests: New file.
41899         * modules/unistdio/ulc-vsprintf-tests: New file.
41900         * modules/unistdio/u8-asnprintf-tests: New file.
41901         * modules/unistdio/u8-vasnprintf-tests: New file.
41902         * modules/unistdio/u8-vasprintf-tests: New file.
41903         * modules/unistdio/u8-vsnprintf-tests: New file.
41904         * modules/unistdio/u8-vsprintf-tests: New file.
41905         * modules/unistdio/u16-asnprintf-tests: New file.
41906         * modules/unistdio/u16-vasnprintf-tests: New file.
41907         * modules/unistdio/u16-vasprintf-tests: New file.
41908         * modules/unistdio/u16-vsnprintf-tests: New file.
41909         * modules/unistdio/u16-vsprintf-tests: New file.
41910         * modules/unistdio/u32-asnprintf-tests: New file.
41911         * modules/unistdio/u32-vasnprintf-tests: New file.
41912         * modules/unistdio/u32-vasprintf-tests: New file.
41913         * modules/unistdio/u32-vsnprintf-tests: New file.
41914         * modules/unistdio/u32-vsprintf-tests: New file.
41915         * MODULES.html.sh (Unicode string functions): Add the new modules.
41916
41917 2007-07-01  Bruno Haible  <bruno@clisp.org>
41918
41919         * lib/sprintf.c (sprintf): Limit the available length estimation,
41920         to avoid address wraparound.
41921         * lib/vsprintf.c (vsprintf): Likewise.
41922         * modules/sprintf-posix (Dependencies): Add stdint.
41923         * modules/vsprintf-posix (Dependencies): Likewise.
41924
41925 2007-07-01  Bruno Haible  <bruno@clisp.org>
41926
41927         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
41928         Windows PATH as well. Conservative double-quoting. Comments.
41929
41930 2007-07-01  Bruno Haible  <bruno@clisp.org>
41931             Eric Blake  <ebb9@byu.net>
41932             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41933
41934         * gnulib-tool (self_abspathname): Fix algorithm to cope with
41935         empty components in $PATH, denoting '.'.
41936
41937 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41938
41939         * gnulib-tool: Fix indentation.
41940         (func_create_megatestdir): Likewise.
41941         Report by Bruno Haible.
41942
41943 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41944
41945         Sync from Automake.
41946         * build-aux/gnupload: Fix shell portability issues with for loops.
41947         Report by Karl Berry.
41948
41949 2007-06-29  Simon Josefsson  <simon@josefsson.org>
41950
41951         * build-aux/maint.mk (POURL): Use translationproject.org.
41952
41953 2007-06-27  Simon Josefsson  <simon@josefsson.org>
41954             Bruno Haible  <bruno@clisp.org>
41955
41956         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
41957         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
41958         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
41959         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
41960         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
41961
41962 2007-06-27  Bruno Haible  <bruno@clisp.org>
41963
41964         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
41965         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
41966
41967 2007-06-26  Karl Berry  <karl@gnu.org>
41968
41969         * MODULES.html.sh: remove xreadlink-with-size.
41970
41971 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
41972
41973         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
41974         method that I hope also handles the double-include problem noted
41975         by Bruno Haible in
41976         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
41977
41978 2007-06-23  Bruno Haible  <bruno@clisp.org>
41979
41980         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
41981         Don't let the 'mostlyclean' target fail if the last subdirectory could
41982         not be removed.
41983         Reported by Karl Berry.
41984
41985 2007-06-23  Bruno Haible  <bruno@clisp.org>
41986
41987         * gnulib-tool (echo): Add a speedier workaround for ksh.
41988         * tests/test-echo.sh: Likewise.
41989
41990 2007-06-23  Bruno Haible  <bruno@clisp.org>
41991
41992         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
41993         * tests/test-echo.sh: Likewise.
41994
41995 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41996
41997         * gnulib-tool (IFS): Initialize early, so we don't set it to
41998         empty later.
41999         (self_abspathname): Rewrite algorithm to set it, reindent.
42000         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
42001         (func_create_megatestdir): Merge some sed scripts.
42002
42003 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
42004
42005         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
42006         exposed by Sun Studio 11 cc on Solaris 8.
42007
42008 2007-06-22  Bruno Haible  <bruno@clisp.org>
42009
42010         * gnulib-tool (echo): Ensure the echo primitive does not interpret
42011         backslashes.
42012         * tests/test-echo.sh: New file.
42013
42014 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42015
42016         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
42017         simplify `sed_replace_build_aux' scripts, they are portable but
42018         echoing them with `echo' is not.
42019         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
42020
42021 2007-06-21  Karl Berry  <karl@gnu.org>
42022
42023         * config/srclist.txt: guess we can't handle the licenses via
42024         srclist at the moment.
42025
42026 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
42027
42028         * MODULES.html.sh: Add include_next.
42029         * modules/include_next: New file.
42030
42031 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
42032
42033         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
42034         INCLUDE_NEXT.
42035         (gl_CHECK_NEXT_HEADERS): New macro.
42036         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
42037         the obsolescent gl_ABSOLUTE_HEADER.
42038         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
42039         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
42040         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42041         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
42042         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
42043         * m4/math_h.m4 (gl_MATH_H): Likewise.
42044         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
42045         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
42046         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
42047         * m4/stdint.m4 (gl_STDINT_H): Likewise.
42048         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
42049         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
42050         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
42051         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
42052         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
42053         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
42054         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
42055         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
42056         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
42057         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
42058         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42059         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
42060         * m4/inttypes.m4 (gl_INTTYPES_H): Define
42061         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
42062         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
42063         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
42064         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
42065         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
42066         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
42067         * lib/float_.h: Likewise.
42068         * lib/inttypes_.h: Likewise.
42069         * lib/math_.h: Likewise.
42070         * lib/search_.h: Likewise.
42071         * lib/signal_.h: Likewise.
42072         * lib/stdint_.h: Likewise.
42073         * lib/stdio_.h: Likewise.
42074         * lib/stdlib_.h: Likewise.
42075         * lib/string_.h: Likewise.
42076         * lib/sys_stat_.h: Likewise.
42077         * lib/sys_time_.h: Likewise.
42078         * lib/time_.h: Likewise.
42079         * lib/unistd_.h: Likewise.
42080         * lib/wchar_.h: Likewise.
42081         * lib/wctype_.h: Likewise.
42082         * lib/dirent_.h: Likewise.
42083         * lib/iconv_.h: Likewise.
42084         * lib/locale_.h: Likewise.
42085         * lib/netinet_in_.h: Likewise.
42086         * lib/sys_select_.h: Likewise.
42087         * lib/sys_socket_.h: Likewise.
42088         * lib/sysexits_.h: Likewise.
42089         * modules/fcntl (Depends-on): Depend on include_next, not
42090         absolute_header.
42091         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
42092         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
42093         * modules/fchdir: Likewise.
42094         * modules/float: Likewise.
42095         * modules/iconv_open: Likewise.
42096         * modules/inttypes: Likewise.
42097         * modules/locale: Likewise.
42098         * modules/math: Likewise.
42099         * modules/netinet_in: Likewise.
42100         * modules/search: Likewise.
42101         * modules/signal: Likewise.
42102         * modules/stdint: Likewise.
42103         * modules/stdio: Likewise.
42104         * modules/stdlib: Likewise.
42105         * modules/string: Likewise.
42106         * modules/sys_select: Likewise.
42107         * modules/sys_socket: Likewise.
42108         * modules/sys_stat: Likewise.
42109         * modules/sys_time: Likewise.
42110         * modules/sysexits: Likewise.
42111         * modules/time: Likewise.
42112         * modules/unistd: Likewise.
42113         * modules/wchar: Likewise.
42114         * modules/wctype: Likewise.
42115         * modules/sys_stat: Change maintainer to "all".
42116         * modules/unistd: Likewise.
42117
42118 2007-06-20  Karl Berry  <karl@gnu.org>
42119
42120         * config/srclist.txt: track www changes in license files.
42121
42122 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
42123
42124         * build-aux/bootstrap: Remove stray dot.
42125         Make sure build_aux settings are honored when linking
42126         gnulib_extra_files.
42127
42128 2007-06-19  Eric Blake  <ebb9@byu.net>
42129
42130         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
42131         Allow compilation on cygwin.
42132
42133 2007-06-19  Jim Meyering  <jim@meyering.net>
42134
42135         xreadlink-with-size: Remove module.  No longer used.
42136         Ex-callers now use xreadlink or mreadlink-with-size.
42137         * modules/xreadlink-with-size: Remove module.
42138         * lib/xreadlink-with-size.c: Remove file.
42139         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
42140         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
42141         just before the function definition *is* accurate.
42142
42143         Eliminate one way canonicalize_filename_mode could exit.
42144         * lib/canonicalize.c (canonicalize_filename_mode):
42145         Use mreadlink_with_size, not xreadlink_with_size.
42146
42147 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
42148
42149         Detect porting problems to FreeBSD/arm, which has time_t wider than
42150         long int.  Original problem reported for GNU diff by Xin Li in
42151         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
42152         * modules/getdate (Depends-on): Add intprops, verify.
42153         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
42154         is an integer type no wider than long int.
42155
42156 2007-06-18  Jim Meyering  <jim@meyering.net>
42157
42158         New module: mreadlink-with-size.
42159         * MODULES.html.sh: Add mreadlink-with-size.
42160         * modules/mreadlink-with-size: New module
42161         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
42162         not xreadlink-with-size.
42163         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
42164
42165 2007-06-16  Bruno Haible  <bruno@clisp.org>
42166
42167         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
42168         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
42169         Reported by Gary V. Vaughan <gary@gnu.org>.
42170
42171 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
42172
42173         Revamp lchown so that it lives in unistd.h where it belongs.
42174         * lib/lchown.h: Remove.
42175         * lib/dirchownmod.c: Don't include lib/lchown.h.
42176         * lib/fchownat.c: Likewise.
42177         * lib/openat.c: Likewise.
42178         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
42179         does not follow symlinks.
42180         (EOPNOTSUPP): Define if not defined.
42181         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
42182         is defined to 0.
42183         (lchown): New decl.
42184         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
42185         Do not check for lchown decl.
42186         Set REPLACE_LCHOWN.
42187         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
42188         REPLACE_LCHOWN.
42189         * modules/chown: Make it clear it follows symlinks.
42190         * modules/lchown: Make it clear it doesn't follow symlinks.
42191         (Files): Remove lib/lchown.h
42192         (Depends-on): Add unistd.
42193         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
42194         (Include): Include <unistd.h>, not "lchown.h".
42195         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
42196         REPLACE_LCHOWN.
42197
42198 2007-06-15  Jim Meyering  <jim@meyering.net>
42199
42200         Change license (GPL to LGPL) of fsusage and dependents.
42201         * modules/fsusage (License): Change to LGPL.
42202         * modules/full-read (License): Likewise.
42203         * modules/full-write (License): Likewise.
42204         * modules/safe-read (License): Likewise.
42205         * modules/safe-write (License): Likewise.
42206
42207 2007-06-14  Ben Pfaff  <blp@gnu.org>
42208
42209         Missing part of allocsa -> malloca transition.
42210         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
42211         gl_MALLOCA.
42212
42213 2007-06-12  Bruno Haible  <bruno@clisp.org>
42214
42215         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
42216         to ia64, x86_64, i386.
42217         Reported by Eric Blake.
42218
42219 2007-06-12  Bruno Haible  <bruno@clisp.org>
42220
42221         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
42222         cross-compiling to x86_64.
42223
42224 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
42225
42226         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
42227         glitch reported by Ralf Wildenhues in
42228         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
42229
42230         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
42231         Vin Shelton.
42232
42233 2007-06-11  Bruno Haible  <bruno@clisp.org>
42234
42235         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
42236         replacement string.
42237         Reported by Eric Blake.
42238
42239 2007-06-10  Bruno Haible  <bruno@clisp.org>
42240
42241         Prepare vasnprintf code for use with Unicode strings.
42242         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
42243         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
42244         TYPE_U32_STRING.
42245         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
42246         a_u32_string variants.
42247         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
42248         * lib/printf-args.c: Don't include config.h and the specification
42249         header if PRINTF_FETCHARGS is already defined.
42250         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
42251         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
42252         TYPE_U16_STRING, TYPE_U32_STRING.
42253         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
42254         u16_directive, u16_directives, u32_directive, u32_directives): New
42255         types.
42256         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
42257         New declarations.
42258         * lib/printf-parse.c: Don't include config.h and the specification
42259         header if PRINTF_PARSE is already defined. Eliminate the set of
42260         parameters for WIDE_CHAR_VERSION; the user of this file must provide
42261         them now. Include c-ctype.h.
42262         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
42263         directive and CHAR_T_ONLY_ASCII.
42264         * lib/vasnprintf.c: Don't include config.h and the specification header
42265         if VASNPRINTF is already defined.
42266         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
42267         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
42268         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
42269         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
42270         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
42271         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
42272         code accordingly.
42273         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
42274         pad_ourselves also in this case, with the 'c' and 's' directives, and
42275         with a different notion of "width".
42276         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
42277
42278 2007-06-10  Bruno Haible  <bruno@clisp.org>
42279
42280         * modules/unistr/u32-mbsnlen: New file.
42281         * lib/unistr/u32-mbsnlen.c: New file.
42282
42283         * modules/unistr/u16-mbsnlen: New file.
42284         * lib/unistr/u16-mbsnlen.c: New file.
42285
42286         * modules/unistr/u8-mbsnlen: New file.
42287         * lib/unistr/u8-mbsnlen.c: New file.
42288
42289         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
42290         declarations.
42291
42292 2007-06-10  Bruno Haible  <bruno@clisp.org>
42293
42294         * lib/string_.h (mbsnlen): New declaration.
42295         * lib/mbsnlen.c: New file.
42296         * m4/mbsnlen.m4: New file.
42297         * modules/mbsnlen: New file.
42298         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
42299         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
42300         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
42301
42302 2007-06-10  Bruno Haible  <bruno@clisp.org>
42303
42304         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
42305
42306 2007-06-10  Bruno Haible  <bruno@clisp.org>
42307
42308         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
42309         * lib/mbuiter.h: Likewise.
42310
42311 2007-06-10  Bruno Haible  <bruno@clisp.org>
42312
42313         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
42314         declaration.
42315
42316 2007-06-10  Karl Berry  <karl@gnu.org>
42317
42318         * config/srclist.txt: remove gettext entries, Bruno prefers
42319         to update individually.
42320
42321 2007-06-10  Bruno Haible  <bruno@clisp.org>
42322
42323         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
42324         'maxlen'. Ensure only length + width bytes are allocated, not
42325         length + 1 + width.
42326
42327 2007-06-09  Bruno Haible  <bruno@clisp.org>
42328
42329         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
42330         (CHAR_T): Remove macro.
42331         (VASNPRINTF): Update.
42332
42333 2007-06-09  Bruno Haible  <bruno@clisp.org>
42334
42335         * MODULES.html.sh (Unicode string functions): Add the new modules.
42336
42337         * modules/uniconv/u32-conv-to-enc: New file.
42338         * lib/uniconv/u32-conv-to-enc.c: New file.
42339         * modules/uniconv/u32-conv-to-enc-tests: New file.
42340         * tests/uniconv/test-u32-conv-to-enc.c: New file.
42341
42342         * modules/uniconv/u16-conv-to-enc: New file.
42343         * lib/uniconv/u16-conv-to-enc.c: New file.
42344         * lib/uniconv/u-conv-to-enc.h: New file.
42345         * modules/uniconv/u16-conv-to-enc-tests: New file.
42346         * tests/uniconv/test-u16-conv-to-enc.c: New file.
42347
42348         * modules/uniconv/u8-conv-to-enc: New file.
42349         * lib/uniconv/u8-conv-to-enc.c: New file.
42350         * modules/uniconv/u8-conv-to-enc-tests: New file.
42351         * tests/uniconv/test-u8-conv-to-enc.c: New file.
42352
42353         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
42354         u32_conv_to_encoding): New declarations.
42355
42356 2007-06-09  Bruno Haible  <bruno@clisp.org>
42357
42358         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
42359
42360 2007-06-09  Bruno Haible  <bruno@clisp.org>
42361
42362         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
42363         * modules/malloca: Renamed from modules/allocsa, updated.
42364         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
42365         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
42366         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
42367         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
42368         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
42369         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
42370         * modules/xmalloca: Renamed from modules/xallocsa, updated.
42371         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
42372         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
42373         * modules/c-strcasestr (Depends-on): Update.
42374         * lib/c-strcasestr.c: Update.
42375         * modules/c-strstr (Depends-on): Update.
42376         * lib/c-strstr.c: Update.
42377         * modules/canonicalize-lgpl (Depends-on): Update.
42378         * lib/canonicalize-lgpl.c: Update.
42379         * modules/clean-temp (Depends-on): Update.
42380         * lib/clean-temp.c: Update.
42381         * modules/csharpcomp (Depends-on): Update.
42382         * lib/csharpcomp.c: Update.
42383         * modules/csharpexec (Depends-on): Update.
42384         * lib/csharpexec.c: Update.
42385         * modules/javacomp (Depends-on): Update.
42386         * lib/javacomp.c: Update.
42387         * modules/javaexec (Depends-on): Update.
42388         * lib/javaexec.c: Update.
42389         * modules/mbscasestr (Depends-on): Update.
42390         * lib/mbscasestr.c: Update.
42391         * modules/mbsstr (Depends-on): Update.
42392         * lib/mbsstr.c: Update.
42393         * modules/setenv (Depends-on): Update.
42394         * lib/setenv.c: Update.
42395         * modules/strcasestr (Depends-on): Update.
42396         * lib/strcasestr.c: Update.
42397         * modules/striconveha (Depends-on): Update.
42398         * lib/striconveha.c: Update.
42399         * modules/relocatable-prog-wrapper (Files): Update.
42400         * lib/relocwrapper.c: Update.
42401         * build-aux/install-reloc: Update.
42402         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
42403
42404 2007-06-08  Bruno Haible  <bruno@clisp.org>
42405
42406         Port to uClibc.
42407         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
42408         * lib/fpurge.c (fpurge): Likewise.
42409         * lib/freading.c (freading): Likewise.
42410         * lib/fseeko.c (rpl_fseeko): Likewise.
42411         * lib/fseterr.c (fseterr): Likewise.
42412         * lib/fwriting.c (fwriting): Likewise.
42413         * tests/test-fflush.c (main): Avoid a failure on uClibc.
42414
42415 2007-06-08  Bruno Haible  <bruno@clisp.org>
42416
42417         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
42418         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
42419         * modules/gettext (Files): Add m4/intlmacosx.m4.
42420
42421 2007-06-07  Bruno Haible  <bruno@clisp.org>
42422
42423         * modules/localename-tests: New file.
42424         * tests/test-localename.c: New file.
42425
42426         New module 'localename'.
42427         * lib/localename.h: New file.
42428         * lib/localename.c: New file, from GNU gettext.
42429         * m4/localename.m4: New file.
42430         * modules/localename: New file.
42431
42432 2007-06-07  Bruno Haible  <bruno@clisp.org>
42433
42434         Work around the lack of <wchar.h> on some builds of uClibc.
42435         * doc/headers/wchar.texi: Update.
42436         * lib/wchar_.h: Include <wchar.h> only if it exists.
42437         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
42438         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
42439         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
42440         doesn't exist.
42441         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
42442         * modules/mbfile (Depends-on): Add wchar.
42443         * modules/mbiter (Depends-on): Likewise.
42444         * modules/mbuiter (Depends-on): Likewise.
42445         Reported by Simon Josefsson.
42446
42447 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
42448
42449         Work around problem reported by Steven M. Schweda in
42450         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
42451         Tru64 5.1B with the Compaq compiler environment installed declares
42452         an 'isblank' function but does not define it in the C library.
42453         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
42454         * lib/regex_internal.h (isblank): Likewise.
42455         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
42456         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
42457
42458 2007-06-05  Bruno Haible  <bruno@clisp.org>
42459
42460         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
42461         ia64.
42462         * modules/printf-safe: New file.
42463         * modules/fprintf-posix (Depends-on): Add printf-safe.
42464         * modules/printf-posix (Depends-on): Likewise.
42465         * modules/snprintf-posix (Depends-on): Likewise.
42466         * modules/sprintf-posix (Depends-on): Likewise.
42467         * modules/vasnprintf-posix (Depends-on): Likewise.
42468         * modules/vasprintf-posix (Depends-on): Likewise.
42469         * modules/vfprintf-posix (Depends-on): Likewise.
42470         * modules/vprintf-posix (Depends-on): Likewise.
42471         * modules/vsnprintf-posix (Depends-on): Likewise.
42472         * modules/vsprintf-posix (Depends-on): Likewise.
42473         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
42474         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
42475         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
42476         "no" on i386, x86_64, ia64.
42477         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
42478         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
42479         on i386, x86_64, ia64.
42480         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
42481         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
42482         on i386, x86_64, ia64.
42483         * tests/test-vasnprintf-posix.c: Include float.h.
42484         (LDBL80_WORDS): New macro.
42485         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
42486         on i386, x86_64, ia64.
42487         * tests/test-vasprintf-posix.c: Include float.h.
42488         (LDBL80_WORDS): New macro.
42489         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
42490         on i386, x86_64, ia64.
42491         * tests/test-snprintf-posix.c: Include float.h.
42492         * tests/test-sprintf-posix.c: Likewise.
42493         * tests/test-vsnprintf-posix.c: Likewise.
42494         * tests/test-vsprintf-posix.c: Likewise.
42495
42496 2007-06-05  Bruno Haible  <bruno@clisp.org>
42497
42498         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
42499         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
42500         non-IEEE numbers on i386, x86_64, ia64.
42501         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
42502         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
42503         * tests/test-isnanl.h: Include float.h.
42504         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
42505
42506 2007-06-05  Bruno Haible  <bruno@clisp.org>
42507
42508         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
42509         also the %a / %A. Handle the %a / %A code before this extra handling.
42510
42511 2007-06-05  Bruno Haible  <bruno@clisp.org>
42512
42513         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
42514         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
42515
42516 2007-06-05  Bruno Haible  <bruno@clisp.org>
42517
42518         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
42519         typo in variable name.
42520
42521 2007-06-05  Eric Blake  <ebb9@byu.net>
42522
42523         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
42524         Reported by Simon Josefsson.
42525
42526 2007-06-04  Bruno Haible  <bruno@clisp.org>
42527
42528         Avoid test failures on some PowerPC platforms.
42529         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
42530         Define differently for PowerPC.
42531         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
42532         Reported by Gary V. Vaughan <gary@gnu.org>.
42533
42534 2007-06-02  Bruno Haible  <bruno@clisp.org>
42535
42536         Fix test-stdint failure on FreeBSD/ia64.
42537         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
42538         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
42539         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
42540         * doc/headers/stdint.texi: Update.
42541
42542 2007-06-01  Bruno Haible  <bruno@clisp.org>
42543
42544         * tests/test-binary-io.c (main): Pass a third argument to open().
42545         Reported by Gary V. Vaughan <gary@gnu.org>.
42546
42547 2007-06-01  Bruno Haible  <bruno@clisp.org>
42548
42549         * doc/functions/frexpl.texi: Update for mingw.
42550
42551 2007-06-01  Bruno Haible  <bruno@clisp.org>
42552
42553         * tests/test-lseek.c (main): Disable test of errno for invalid third
42554         argument.
42555         * doc/functions/lseek.texi: Update.
42556         Reported by Gary V. Vaughan <gary@gnu.org>.
42557
42558 2007-05-28  Bruno Haible  <bruno@clisp.org>
42559
42560         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
42561
42562 2007-05-31  Eric Blake  <ebb9@byu.net>
42563
42564         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
42565         cross compiling.
42566
42567 2007-05-30  Eric Blake  <ebb9@byu.net>
42568         and Bruno Haible  <bruno@clisp.org>
42569
42570         Work around mingw test failures exposed by m4-1.4.9b.
42571         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
42572         * tests/test-unistd.c: Disable uid_t and git_t tests for the
42573         moment.
42574
42575 2007-05-30  Bruno Haible  <bruno@clisp.org>
42576
42577         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
42578         assuming that they are closed. Needed on HP-UX 11.
42579
42580 2007-05-29  Bruno Haible  <bruno@clisp.org>
42581
42582         Fix a problem with #include_next.
42583         * lib/dirent_.h: Split the double-inclusion guard.
42584         * lib/fcntl_.h: Likewise.
42585         * lib/float_.h: Likewise.
42586         * lib/iconv_.h: Likewise.
42587         * lib/inttypes_.h: Likewise.
42588         * lib/locale_.h: Likewise.
42589         * lib/math_.h: Likewise.
42590         * lib/netinet_in_.h: Likewise.
42591         * lib/search_.h: Likewise.
42592         * lib/signal_.h: Likewise.
42593         * lib/stdint_.h: Likewise.
42594         * lib/stdio_.h: Likewise.
42595         * lib/stdlib_.h: Likewise.
42596         * lib/string_.h: Likewise.
42597         * lib/sys_select_.h: Likewise.
42598         * lib/sys_socket_.h: Likewise.
42599         * lib/sys_stat_.h: Likewise.
42600         * lib/sys_time_.h: Likewise.
42601         * lib/sysexits_.h: Likewise.
42602         * lib/time_.h: Likewise.
42603         * lib/unistd_.h: Likewise.
42604         * lib/wchar_.h: Likewise.
42605         * lib/wctype_.h: Likewise.
42606
42607 2007-05-29  Bruno Haible  <bruno@clisp.org>
42608
42609         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
42610         for the moment.
42611
42612 2007-05-29  Bruno Haible  <bruno@clisp.org>
42613
42614         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
42615         invocation.
42616         Reported by Eric Blake.
42617
42618 2007-05-29  Bruno Haible  <bruno@clisp.org>
42619
42620         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
42621         compiling case.
42622
42623 2007-05-29  Eric Blake  <ebb9@byu.net>
42624             Bruno Haible  <bruno@clisp.org>
42625
42626         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
42627         cross compiles.
42628
42629 2007-05-28  Eric Blake  <ebb9@byu.net>
42630
42631         * modules/closein-tests (test_closein_LDADD): Support test on
42632         cygwin with libtool.
42633
42634 2007-05-28  Bruno Haible  <bruno@clisp.org>
42635
42636         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
42637         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
42638         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
42639         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
42640         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
42641         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
42642         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
42643         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
42644         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
42645
42646 2007-05-28  Eric Blake  <ebb9@byu.net>
42647
42648         Unconditionally include <config.h> in unit tests.
42649         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
42650         * tests/test-allocsa.c, tests/test-arcfour.c,
42651         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
42652         tests/test-array_list.c, tests/test-array_oset.c,
42653         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
42654         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
42655         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
42656         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
42657         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
42658         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
42659         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
42660         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
42661         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
42662         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
42663         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
42664         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
42665         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
42666         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
42667         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
42668         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
42669         test-md5.c, test-memmem.c, test-printf-posix.c,
42670         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
42671         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
42672         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
42673         test-strcasestr.c, test-striconv.c, test-striconveh.c,
42674         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
42675         test-vasnprintf-posix2.c, test-vasnprintf.c,
42676         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
42677         test-vfprintf-posix.c, test-vprintf-posix.c,
42678         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
42679         test-xvasprintf.c: Likewise.
42680
42681 2007-05-28  Bruno Haible  <bruno@clisp.org>
42682
42683         * gnulib-tool (func_import): Remember the --with-tests command-line
42684         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
42685         Reported by Eric Blake.
42686
42687 2007-05-28  Bruno Haible  <bruno@clisp.org>
42688
42689         * modules/ftell-tests: New file.
42690         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
42691         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
42692
42693         * lib/ftell.c: New file.
42694         * modules/ftell: New file.
42695         * m4/ftell.m4: New file.
42696         * doc/functions/ftell.texi: Update.
42697         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
42698         REPLACE_FTELL.
42699         * lib/stdio_.h (rpl_ftell): New declaration.
42700         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
42701         REPLACE_FTELL.
42702
42703 2007-05-28  Eric Blake  <ebb9@byu.net>
42704
42705         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
42706
42707 2007-05-28  Bruno Haible  <bruno@clisp.org>
42708
42709         * modules/fseek-tests: New file.
42710         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
42711         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
42712
42713         * lib/fseek.c: New file.
42714         * modules/fseek: New file.
42715         * m4/fseek.m4: New file.
42716         * doc/functions/fseek.texi: Update.
42717         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
42718         REPLACE_FSEEK.
42719         * lib/stdio_.h (rpl_fseek): New declaration.
42720         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
42721         REPLACE_FSEEK.
42722
42723 2007-05-28  Bruno Haible  <bruno@clisp.org>
42724
42725         * lib/stdio_.h (fflush): More comments.
42726
42727 2007-05-28  Bruno Haible  <bruno@clisp.org>
42728
42729         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
42730         runtime test.
42731
42732 2007-05-28  Eric Blake  <ebb9@byu.net>
42733
42734         Improve lseek module.
42735         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
42736         * lib/unistd_.h (lseek): Scale back link warning message.
42737         * tests/test-lseek.c: Beef up test.
42738         * tests/test-lseek.sh: Exercise more facets of lseek.
42739         Reported by Bruno Haible.
42740
42741 2007-05-28  Bruno Haible  <bruno@clisp.org>
42742
42743         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
42744         to define.
42745
42746 2007-05-27  Bruno Haible  <bruno@clisp.org>
42747
42748         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
42749
42750 2007-05-27  Bruno Haible  <bruno@clisp.org>
42751
42752         * modules/openmp: New file.
42753         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
42754         Noah Misch.
42755
42756 2007-05-26  Bruno Haible  <bruno@clisp.org>
42757
42758         * modules/chdir-long (Depends-on): Add fchdir.
42759         * modules/chdir-safer (Depends-on): Likewise.
42760         * modules/fts (Depends-on): Likewise.
42761         * modules/fts-lgpl (Depends-on): Likewise.
42762         * modules/openat (Depends-on): Likewise.
42763         * modules/savewd (Depends-on): Likewise.
42764
42765 2007-05-24  Eric Blake  <ebb9@byu.net>
42766
42767         Fix lseek on mingw.
42768         * modules/lseek: New module.
42769         * m4/lseek.m4: New file.
42770         * lib/lseek.c: New file.
42771         * modules/lseek-tests: New file.
42772         * tests/test-lseek.c: New file.
42773         * tests/test-lseek.sh: New file.
42774         * MODULES.html.sh: Document lseek module.
42775         * modules/fflush (Depends-on): Add lseek, fseeko.
42776         * modules/fseeko (Depends-on): Likewise.
42777         * modules/ftello (Depends-on): Likewise.
42778         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
42779         broken.
42780         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
42781         broken.
42782         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
42783         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
42784         * lib/ftello.c (rpl_ftello): Likewise.
42785         * tests/test-fseeko.c (main): Test this.
42786         * tests/test-fseeko.sh: Likewise.
42787         * tests/test-ftello.c (main): Likewise.
42788         * tests/test-ftello.sh: Likewise.
42789         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
42790         implies replacing fseek.
42791         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
42792         HAVE_FTELLO.
42793         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
42794         * modules/unistd (Makefile.am): Likewise.
42795         * lib/unistd_.h (lseek): Declare a replacement.
42796         * doc/functions/lseek.texi (lseek): Document this fix.
42797         * doc/functions/fseek.texi (fseek): Likewise.
42798         * doc/functions/ftell.texi (ftell): Likewise.
42799
42800 2007-05-24  Bruno Haible  <bruno@clisp.org>
42801
42802         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
42803         in the printed representation of a NaN.
42804         * tests/test-vasprintf-posix.c (test_function): Likewise.
42805         * tests/test-snprintf-posix.h (test_function): Likewise.
42806         * tests/test-sprintf-posix.h (test_function): Likewise.
42807         Reported by Eric Blake.
42808
42809 2007-05-23  Eric Blake  <ebb9@byu.net>
42810
42811         Fix fseeko/ftello on cygwin 1.5.24.
42812         * doc/functions/fseeko.texi (fseeko): Document the fix.
42813         * doc/functions/ftello.texi (ftello): Document the fix.
42814         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
42815         * doc/functions/stdout.text (stdout): New file.
42816         * doc/functions/stderr.text (stderr): New file.
42817         * doc/gnulib.texi (Function Substitutes): Use new files.
42818         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
42819         prior to 1.7.0.
42820         * tests/test-ftello.c (main): Likewise for ftello.
42821         * tests/test-fseeko.sh: New file.
42822         * tests/test-ftello.sh: New file.
42823         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
42824         with seekable stdin.
42825         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
42826         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
42827         (gl_REPLACE_FSEEKO): New macro.
42828         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
42829         * modules/fseeko (Files): Distribute fseeko.c.
42830         * modules/ftello (Files): Distribute ftello.c.
42831         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
42832         mode.
42833         * lib/ftello.c (rpl_ftello): New file.
42834         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
42835         fseeko, ftello.
42836         (gl_STDIN_LARGE_OFFSET): New macro.
42837         * modules/stdio (Makefile.am): Perform the replacement.
42838         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
42839
42840 2007-05-23  Bruno Haible  <bruno@clisp.org>
42841
42842         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
42843         GNULIB_POSIXCHECK is defined.
42844
42845 2007-05-21  Bruno Haible  <bruno@clisp.org>
42846
42847         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
42848         Check also the output for NaN arguments. When cross-compiling, guess
42849         no on IRIX.
42850         * lib/vasnprintf.c: Update comments.
42851         * tests/test-vasnprintf-posix.c (strisnan): New function.
42852         (test_function): Use it.
42853         * tests/test-vasprintf-posix.c (strisnan): New function.
42854         (test_function): Use it.
42855         * tests/test-snprintf-posix.h (strisnan): New function.
42856         (test_function): Use it.
42857         * tests/test-sprintf-posix.h (strisnan): New function.
42858         (test_function): Use it.
42859         Reported by Eric Blake.
42860
42861 2007-05-20  Bruno Haible  <bruno@clisp.org>
42862
42863         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
42864         numbers that fails on BeOS.
42865         * doc/functions/frexpl.texi: Update.
42866
42867 2007-05-20  Jim Meyering  <jim@meyering.net>
42868
42869         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
42870         forced upon us by glibc-2.6.
42871
42872 2007-05-20  Bruno Haible  <bruno@clisp.org>
42873
42874         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
42875         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
42876         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
42877         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
42878         NEED_PRINTF_INFINITE.
42879         (is_infinitel): New function.
42880         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
42881         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
42882         gl_PREREQ_VASNPRINTF_INFINITE.
42883         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
42884         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
42885         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
42886         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
42887         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
42888         gl_PREREQ_VASNPRINTF_INFINITE.
42889         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42890         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42891         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42892         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42893         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42894         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
42895         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42896         * doc/functions/fprintf.texi: Update.
42897         * doc/functions/printf.texi: Update.
42898         * doc/functions/snprintf.texi: Update.
42899         * doc/functions/sprintf.texi: Update.
42900         * doc/functions/vfprintf.texi: Update.
42901         * doc/functions/vprintf.texi: Update.
42902         * doc/functions/vsnprintf.texi: Update.
42903         * doc/functions/vsprintf.texi: Update.
42904
42905 2007-05-20  Bruno Haible  <bruno@clisp.org>
42906
42907         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
42908         was not found in libc.
42909         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
42910
42911 2007-05-20  Bruno Haible  <bruno@clisp.org>
42912
42913         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
42914         printed as "-nan" instead of "nan".
42915         * tests/test-vasprintf-posix.c (test_function): Likewise.
42916         * tests/test-snprintf-posix.h (test_function): Likewise.
42917         * tests/test-sprintf-posix.h (test_function): Likewise.
42918         Needed for HP-UX 11.
42919
42920 2007-05-20  Jim Meyering  <jim@meyering.net>
42921
42922         Fix buggy test for the fchownat-deref bug.
42923         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
42924         symlink required for the run-test.  Without it, this test would
42925         always declare that fchownat doesn't work, and client code would
42926         unnecessarily use the replacement function with fixed libc.
42927         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
42928         Reported by Greg Schafer.
42929
42930 2007-05-19  Bruno Haible  <bruno@clisp.org>
42931
42932         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
42933         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
42934         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
42935         Needed for IRIX 6.5 and Solaris 2.5.1.
42936
42937 2007-05-19  Bruno Haible  <bruno@clisp.org>
42938
42939         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
42940         (test_function): Skip tests involving -0.0 on platforms where
42941         -0.0 = 0.0.
42942         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
42943         (test_function): Skip tests involving -0.0 on platforms where
42944         -0.0 = 0.0.
42945         * tests/test-snprintf-posix.h (have_minus_zero): New function.
42946         (test_function): Skip tests involving -0.0 on platforms where
42947         -0.0 = 0.0.
42948         * tests/test-sprintf-posix.h (have_minus_zero): New function.
42949         (test_function): Skip tests involving -0.0 on platforms where
42950         -0.0 = 0.0.
42951         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
42952         tests.
42953         * tests/test-printf-posix.h (test_function): Likewise.
42954         * tests/test-printf-posix.output: Remove all -0.0 related results.
42955         Needed for IRIX 6.5.
42956
42957 2007-05-19  Bruno Haible  <bruno@clisp.org>
42958
42959         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
42960         printed as "nan0x7fffffff" instead of "nan".
42961         * tests/test-vasprintf-posix.c (test_function): Likewise.
42962         * tests/test-snprintf-posix.h (test_function): Likewise.
42963         * tests/test-sprintf-posix.h (test_function): Likewise.
42964         * tests/test-fprintf-posix.h (NaN): Remove macro.
42965         (test_function): Remove all NaN related tests.
42966         * tests/test-printf-posix.h (NaN): Remove macro.
42967         (test_function): Remove all NaN related tests.
42968         * tests/test-printf-posix.output: Remove all NaN related results.
42969         Needed for IRIX 6.5.
42970
42971 2007-05-19  Bruno Haible  <bruno@clisp.org>
42972
42973         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
42974         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
42975
42976 2007-05-19  Bruno Haible  <bruno@clisp.org>
42977
42978         * lib/float_.h: New file.
42979         * m4/float_h.m4: New file.
42980         * modules/float: New file.
42981         * modules/isnanl (Dependencies): Add float.
42982         * modules/isnanl-nolibm (Dependencies): Likewise.
42983         * modules/mathl (Dependencies): Likewise.
42984         * modules/printf-frexpl (Dependencies): Likewise.
42985         * modules/signbit (Dependencies): Likewise.
42986         * modules/vasnprintf (Dependencies): Likewise.
42987         * doc/headers/float.texi: Update.
42988
42989 2007-05-19  Jim Meyering  <jim@meyering.net>
42990
42991         * lib/utimens.c (gl_futimens): Rename from futimens,
42992         now that glibc-2.6 declares futimens.
42993         * lib/utimens.h: Likewise.
42994
42995 2007-05-19  Bruno Haible  <bruno@clisp.org>
42996
42997         Avoid test failures on mingw.
42998         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
42999         * tests/test-printf-posix.sh: Likewise.
43000         * tests/test-vfprintf-posix.sh: Likewise.
43001         * tests/test-vprintf-posix.sh: Likewise.
43002
43003 2007-05-19  Bruno Haible  <bruno@clisp.org>
43004
43005         Fix *printf result for NaN, Inf, -0.0 on mingw.
43006         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
43007         * lib/vasnprintf.c: Include math.h and isnan.h.
43008         (is_infinite_or_zero): New function.
43009         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
43010         values in the %f, %F, %e, %E, %g, %G directives.
43011         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
43012         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43013         gl_PRINTF_INFINITE and test its result. Invoke
43014         gl_PREREQ_VASNPRINTF_INFINITE.
43015         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43016         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43017         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43018         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43019         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43020         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43021         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43022         * doc/functions/fprintf.texi: Update.
43023         * doc/functions/printf.texi: Update.
43024         * doc/functions/snprintf.texi: Update.
43025         * doc/functions/sprintf.texi: Update.
43026         * doc/functions/vfprintf.texi: Update.
43027         * doc/functions/vprintf.texi: Update.
43028         * doc/functions/vsnprintf.texi: Update.
43029         * doc/functions/vsprintf.texi: Update.
43030
43031 2007-05-19  Bruno Haible  <bruno@clisp.org>
43032
43033         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
43034         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
43035         Instead of multiplying with 10^k, set extra_zeroes to k.
43036         (scale10_round_long_double): Remove function.
43037
43038 2007-05-18  Bruno Haible  <bruno@clisp.org>
43039
43040         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
43041         introduced on 2007-05-06.
43042
43043 2007-05-18  Bruno Haible  <bruno@clisp.org>
43044
43045         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
43046         %g directives.
43047         * tests/test-vasprintf-posix.c (test_function): Likewise.
43048         * tests/test-snprintf-posix.h (test_function): Likewise.
43049         * tests/test-sprintf-posix.h (test_function): Likewise.
43050
43051 2007-05-18  Bruno Haible  <bruno@clisp.org>
43052
43053         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
43054         (strmatch): New function.
43055         (test_function): Test the %f directive on numbers of various exponents.
43056         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
43057         (strmatch): New function.
43058         (test_function): Test the %f directive on numbers of various exponents.
43059         * tests/test-snprintf-posix.h (strmatch): New function.
43060         (test_function): Test the %f directive on numbers of various exponents.
43061         * tests/test-sprintf-posix.h (strmatch): New function.
43062         (test_function): Test the %f directive on numbers of various exponents.
43063         * tests/test-snprintf-posix.c (SIZEOF): New macro.
43064         * tests/test-sprintf-posix.c (SIZEOF): New macro.
43065         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
43066         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
43067
43068 2007-05-18  Bruno Haible  <bruno@clisp.org>
43069
43070         Add support for 'long double' number output.
43071         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
43072         * lib/vasnprintf.c: Include math.h and float+.h.
43073         (mp_limb_t): New type.
43074         (GMP_LIMB_BITS): New macro.
43075         (mp_twolimb_t): New type.
43076         (GMP_TWOLIMB_BITS): New macro.
43077         (mpn_t): New type.
43078         (multiply, divide, convert_to_decimal, decode_long_double,
43079         scale10_round_long_double, scale10_round_decimal_long_double,
43080         floorlog10l): New functions.
43081         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
43082         for the %f, %F, %e, %E, %g, %G directives.
43083         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
43084         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43085         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
43086         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
43087         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
43088         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43089         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43090         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43091         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43092         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43093         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43094         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
43095         * modules/snprintf-posix (Depends-on): Likewise.
43096         * modules/sprintf-posix (Depends-on): Likewise.
43097         * modules/vasnprintf-posix (Depends-on): Likewise.
43098         * modules/vasprintf-posix (Depends-on): Likewise.
43099         * modules/vfprintf-posix (Depends-on): Likewise.
43100         * modules/vsnprintf-posix (Depends-on): Likewise.
43101         * modules/vsprintf-posix (Depends-on): Likewise.
43102         * modules/vasnprintf (Files): Add lib/float+.h.
43103         * doc/functions/fprintf.texi: Update.
43104         * doc/functions/printf.texi: Update.
43105         * doc/functions/snprintf.texi: Update.
43106         * doc/functions/sprintf.texi: Update.
43107         * doc/functions/vfprintf.texi: Update.
43108         * doc/functions/vprintf.texi: Update.
43109         * doc/functions/vsnprintf.texi: Update.
43110         * doc/functions/vsprintf.texi: Update.
43111
43112 2007-05-18  Bruno Haible  <bruno@clisp.org>
43113
43114         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
43115
43116 2007-05-18  Bruno Haible  <bruno@clisp.org>
43117
43118         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
43119         for printing 64-bit integers. Needed for mingw.
43120
43121 2007-05-18  Bruno Haible  <bruno@clisp.org>
43122
43123         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
43124         gl_FUNC_FREXPL_WORKS.
43125         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
43126
43127 2007-05-18  Bruno Haible  <bruno@clisp.org>
43128
43129         * modules/frexpl-nolibm-tests: New file.
43130
43131         * modules/frexpl-nolibm: New file.
43132         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
43133
43134 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
43135
43136         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
43137         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
43138         GCC 4.2, which otherwise issues a lot of warnings.
43139         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
43140         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
43141         Likewise.
43142         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
43143         * modules/iconv_open (iconv.h): Likewise.
43144         * modules/locale (locale.h): Likewise.
43145         * modules/netinet_in (netinet/in.h): Likewise.
43146         * modules/sys_select (sys_select.h): Likewise.
43147         * modules/sys_socket (sys/socket.h): Likewise.
43148         * modules/sys_stat (sys/stat.h): Likewise.
43149         * modules/sysexits (sysexits.h): Likewise.
43150         * modules/unistd (unistd.h): Likewise.
43151
43152 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43153
43154         * modules/closein-tests (Makefile.am): Distribute
43155         `test-closein.sh'.
43156
43157 2007-05-17  Bruno Haible  <bruno@clisp.org>
43158
43159         * tests/test-printf-posix.output: Renamed from
43160         tests/test-fprintf-posix.out.
43161         * modules/fprintf-posix-tests: Update.
43162         * modules/printf-posix-tests: Update.
43163         * modules/vfprintf-posix-tests: Update.
43164         * modules/vprintf-posix-tests: Update.
43165         * tests/test-fprintf-posix.sh: Update.
43166         * tests/test-printf-posix.sh: Update.
43167         * tests/test-vfprintf-posix.sh: Update.
43168         * tests/test-vprintf-posix.sh: Update.
43169         Reported by Ralf Wildenhues.
43170
43171 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
43172
43173         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
43174         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
43175         GCC 4.2, which otherwise issues a lot of warnings.
43176         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
43177         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
43178         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
43179         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
43180         it should no longer be needed.
43181         * lib/string_.h: Likewise.
43182         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
43183         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
43184         * modules/inttypes (inttypes.h): Likewise.
43185         * modules/math (math.h): Likewise.
43186         * modules/search (search.h): Likewise.
43187         * modules/signal (signal.h): Likewise.
43188         * modules/stdint (stdint.h): Likewise.
43189         * modules/stdio (stdio.h): Likewise.
43190         * modules/stdlib (stdlib.h): Likewise.
43191         * modules/string (string.h): Likewise.
43192         * modules/sys_time (sys/time.h): Likewise.
43193         * modules/time (time.h): Likewise.
43194         * modules/wchar (wchar.h): Likewise.
43195         * modules/wctype (wtype.h): Likewise.
43196
43197 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
43198
43199         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
43200
43201 2007-05-13  Bruno Haible  <bruno@clisp.org>
43202
43203         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
43204         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
43205         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
43206         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
43207         (gl_PREREQ_STRTOK_R): Don't require it here.
43208
43209 2007-05-13  Bruno Haible  <bruno@clisp.org>
43210
43211         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
43212         when used in C++ mode.
43213
43214 2007-05-12  Bruno Haible  <bruno@clisp.org>
43215
43216         * lib/linebuffer.h: Tweak doc.
43217         * lib/linebuffer.c: Likewise.
43218
43219 2007-05-12  James Youngman  <jay@gnu.org>
43220
43221         * lib/linebuffer.c (readlinebuffer_delim): New function,
43222         like readlinebuffer, but use a caller-specified delimiter.
43223         (readlinebuffer): Just call readlinebuffer_delim with '\n'
43224         as the delimiter.
43225         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
43226
43227 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
43228
43229         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
43230         * modules/openat (Files): Remove openat-die.c.
43231         (Depends-on): Add openat-die.
43232         * modules/openat-die: New module.
43233
43234 2007-05-06  Bruno Haible  <bruno@clisp.org>
43235
43236         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
43237         Update with info about Cygwin.
43238         * doc/functions/fprintf.texi: Update.
43239         * doc/functions/printf.texi: Update.
43240         * doc/functions/snprintf.texi: Update.
43241         * doc/functions/sprintf.texi: Update.
43242         * doc/functions/vfprintf.texi: Update.
43243         * doc/functions/vprintf.texi: Update.
43244         * doc/functions/vsnprintf.texi: Update.
43245         * doc/functions/vsprintf.texi: Update.
43246         Reported by Eric Blake.
43247
43248 2007-05-06  Bruno Haible  <bruno@clisp.org>
43249
43250         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
43251         padding ourselves for the floating-point directives.
43252         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
43253         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
43254         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
43255         gl_PRINTF_FLAG_ZERO and test its result. Invoke
43256         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
43257         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43258         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
43259         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43260         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43261         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43262         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43263         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43264         * tests/test-snprintf-posix.h (test_function): Also check the width
43265         and some flags in the %f directive.
43266         * tests/test-sprintf-posix.h (test_function): Likewise.
43267         * tests/test-vasnprintf-posix.c (test_function): Likewise.
43268         * tests/test-vasprintf-posix.c (test_function): Likewise.
43269         * doc/functions/fprintf.texi: Update.
43270         * doc/functions/printf.texi: Update.
43271         * doc/functions/snprintf.texi: Update.
43272         * doc/functions/sprintf.texi: Update.
43273         * doc/functions/vfprintf.texi: Update.
43274         * doc/functions/vprintf.texi: Update.
43275         * doc/functions/vsnprintf.texi: Update.
43276         * doc/functions/vsprintf.texi: Update.
43277
43278 2007-05-06  Bruno Haible  <bruno@clisp.org>
43279
43280         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
43281         pass the ' flag character to sprintf or snprintf.
43282         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
43283         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
43284         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
43285         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
43286         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
43287         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43288         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
43289         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43290         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43291         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
43292         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43293         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43294         * tests/test-snprintf-posix.h (test_function): Also check the grouping
43295         flag.
43296         * tests/test-sprintf-posix.h (test_function): Likewise.
43297         * tests/test-vasnprintf-posix.c (test_function): Likewise.
43298         * tests/test-vasprintf-posix.c (test_function): Likewise.
43299         * doc/functions/fprintf.texi: Update.
43300         * doc/functions/printf.texi: Update.
43301         * doc/functions/snprintf.texi: Update.
43302         * doc/functions/sprintf.texi: Update.
43303         * doc/functions/vfprintf.texi: Update.
43304         * doc/functions/vprintf.texi: Update.
43305         * doc/functions/vsnprintf.texi: Update.
43306         * doc/functions/vsprintf.texi: Update.
43307
43308 2007-05-01  Bruno Haible  <bruno@clisp.org>
43309
43310         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
43311
43312 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
43313
43314         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
43315         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
43316
43317 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
43318
43319         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
43320         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
43321         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
43322
43323 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
43324
43325         * lib/argp-help.c (struct hol_entry): New member `ord'.
43326         (HOL_ENTRY_PTRCMP): Use ord for comparison
43327         (hol_sort): Initialize ord.
43328
43329 2007-05-01  Bruno Haible  <bruno@clisp.org>
43330
43331         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
43332         Reported by Eric Blake.
43333         * doc/gnulib.texi (Function Substitutes): Update.
43334
43335 2007-05-01  Bruno Haible  <bruno@clisp.org>
43336
43337         * doc/functions.texi: Remove file, now redundant through
43338         doc/functions/*.texi.
43339
43340 2007-05-01  Bruno Haible  <bruno@clisp.org>
43341
43342         * modules/argp (Depends-on): Add sleep.
43343
43344 2007-05-01  Bruno Haible  <bruno@clisp.org>
43345
43346         * modules/sleep-tests: New file.
43347         * tests/test-sleep.c: New file.
43348
43349         * modules/sleep: New file.
43350         * lib/sleep.c: New file.
43351         * m4/sleep.m4: New file.
43352         * lib/unistd_.h (sleep): New declaration.
43353         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
43354         HAVE_SLEEP.
43355         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
43356         * doc/functions/sleep.texi: Document the sleep module.
43357
43358 2007-05-01  Bruno Haible  <bruno@clisp.org>
43359
43360         * lib/sigprocmask.h: Remove file.
43361         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
43362         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
43363         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
43364         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
43365         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
43366         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
43367         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
43368         HAVE_SIGSET_T as a shell variable.
43369         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
43370         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
43371         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
43372         (Depends-on): Add signal. Remove verify.
43373         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
43374         (Include): Mention <signal.h> instead of sigprocmask.h.
43375         * NEWS: Mention the change.
43376         * lib/fatal-signal.c: Don't include sigprocmask.h.
43377
43378 2007-05-01  Bruno Haible  <bruno@clisp.org>
43379
43380         * modules/signal: New file.
43381         * lib/signal_.h: New file.
43382         * m4/signal_h.m4: New file.
43383
43384 2007-05-01  Bruno Haible  <bruno@clisp.org>
43385
43386         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
43387         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
43388         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
43389         HAVE_WCTYPE_CTMP_BUG into wctype.h.
43390
43391 2007-05-01  Bruno Haible  <bruno@clisp.org>
43392
43393         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
43394         configure time.
43395         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
43396         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
43397         * modules/sys_stat (Makefile.am): Substitute their values into
43398         sys/stat.h.
43399
43400 2007-05-01  Bruno Haible  <bruno@clisp.org>
43401
43402         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
43403         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
43404         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
43405
43406 2007-05-01  Bruno Haible  <bruno@clisp.org>
43407
43408         * doc/header/assert.texi: Undo last change: don't mention the gnulib
43409         'assert' module here.
43410
43411 2007-05-01  Bruno Haible  <bruno@clisp.org>
43412
43413         * doc/functions/*.texi: New files.
43414         * doc/functions/google-ranking.txt: New file.
43415         * doc/gnulib.texi (Function Substitutes): New chapter.
43416         (ctime, inet_ntoa): Remove sections.
43417         * doc/ctime.texi: Remove file.
43418         * doc/inet_ntoa.texi: Remove file.
43419         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
43420         dependencies.
43421         (%.info): New rule, specifying a --reference-limit.
43422
43423 2007-05-01  Bruno Haible  <bruno@clisp.org>
43424
43425         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
43426
43427 2007-05-01  Bruno Haible  <bruno@clisp.org>
43428
43429         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
43430         the portability of 'mkdir' to mingw systems.
43431
43432 2007-05-01  Bruno Haible  <bruno@clisp.org>
43433
43434         * doc/headers/google-ranking.txt: New file.
43435
43436 2007-04-30  Eric Blake  <ebb9@byu.net>
43437
43438         Prefer fseeko to fseek.
43439         * modules/getpass (Depends-on): Add fseeko.
43440         * lib/getpass.c (getpass): Use fseeko, not fseek.
43441
43442 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
43443
43444         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
43445         assumes the sorting is stable, while most qsort implementations
43446         are not.  Use argument addresses to ensure they never compare as
43447         equal.
43448
43449         * tests/test-argp-2.sh (usage-indent test): Fix output
43450         (func_compare): Restore diff options
43451         * tests/test-argp.c: Restore #include "progname.h"
43452
43453 2007-04-29  Bruno Haible  <bruno@clisp.org>
43454
43455         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
43456         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
43457         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
43458         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43459         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
43460         (configure.ac): Define CHECK_SNPRINTF_POSIX.
43461         (TESTS, check_PROGRAMS): Add test-snprintf.
43462         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
43463         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
43464         (TESTS, check_PROGRAMS): Add test-vsnprintf.
43465         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
43466         assertions that fail on HP-UX, OSF/1, or IRIX.
43467         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
43468
43469 2007-04-29  Bruno Haible  <bruno@clisp.org>
43470
43471         * MODULES.html.sh (posix_functions): Remove 'contents'.
43472
43473 2007-04-29  Karl Berry  <karl@gnu.org>
43474
43475         * config/srclist.txt (gendocs_template_min): new entry.
43476
43477 2007-04-29  Bruno Haible  <bruno@clisp.org>
43478
43479         Work around fpurge bug on BSD systems.
43480         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
43481         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
43482         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
43483         fpurge to rpl_fpurge if the system already has this function.
43484         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
43485         the case where the system already has this function. Correct invariants
43486         on BSD systems.
43487         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
43488         BSD systems.
43489
43490 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
43491
43492         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
43493         proposed by Sven Verdoolaege.
43494
43495         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
43496         options.
43497         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
43498         (usage and help tests): Update
43499
43500 2007-04-29  Bruno Haible  <bruno@clisp.org>
43501
43502         * tests/test-fflush.c (main): Use a file of size 17, not 10.
43503         Print more information in case of failure. Disable a test on BeOS.
43504
43505 2007-04-29  Bruno Haible  <bruno@clisp.org>
43506
43507         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
43508         This helps debugging on systems on which no gdb is available.
43509
43510 2007-04-29  Bruno Haible  <bruno@clisp.org>
43511
43512         * lib/freading.h: Improve comments.
43513         * lib/fwriting.h: Likewise.
43514         * tests/test-freading.c (main): Don't check freading immediately after
43515         repositioning. Needed for glibc.
43516
43517 2007-04-29  Bruno Haible  <bruno@clisp.org>
43518
43519         * lib/freading.c (freading): Trivial simplification.
43520
43521 2007-04-28  Bruno Haible  <bruno@clisp.org>
43522
43523         * tests/test-fwriting.c (main): Also test the interaction between
43524         fflush and fwriting.
43525         * modules/fwriting-tests (Depends-on): Add fflush.
43526
43527         * tests/test-freading.c (main): Also test the interaction between
43528         fflush and freading.
43529         * modules/freading-tests (Depends-on): Add fflush.
43530
43531 2007-04-28  Bruno Haible  <bruno@clisp.org>
43532
43533         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
43534         fseeko and ftello.
43535         Suggested by Eric Blake.
43536
43537 2007-04-28  Jim Meyering  <jim@meyering.net>
43538
43539         Avoid false-negative in gl_STDINT_H's C99 conformance test.
43540         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
43541         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
43542
43543 2007-04-27  Eric Blake  <ebb9@byu.net>
43544
43545         * doc/headers/assert.texi (assert.h): Document assert module use.
43546
43547 2007-04-27  Bruno Haible  <bruno@clisp.org>
43548
43549         * doc/headers/*.texi: New files.
43550         * doc/gnulib.texi (Header File Substitutes): New chapter.
43551         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
43552         dependencies.
43553         (standards.info ,standards.html, standards.dvi): Update dependencies.
43554         (mostlyclean, clean): New targets.
43555
43556 2007-04-27  Bruno Haible  <bruno@clisp.org>
43557
43558         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
43559         * modules/sysexits (Files, Makefile.am): Update.
43560
43561         * lib/sys_socket_.h: Renamed from lib/socket_.h.
43562         * modules/sys_socket (Files, Makefile.am): Update.
43563
43564         * lib/sys_stat_.h: Renamed from lib/stat_.h.
43565         * modules/sys_stat (Files, Makefile.am): Update.
43566
43567 2007-04-27  Eric Blake  <ebb9@byu.net>
43568
43569         * lib/freading.h: Improve comments.
43570         * lib/fwriting.h: Likewise.
43571         * lib/fflush.c: Likewise.
43572
43573         Fix closein for mingw.
43574         * modules/closein-tests: Add tests for closein.
43575         * tests/test-closein.c: New file.
43576         * tests/test-closein.sh: Likewise.
43577         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
43578         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
43579
43580 2007-04-27  Bruno Haible  <bruno@clisp.org>
43581
43582         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
43583         version is < 6.
43584         * lib/math_.h [__DECC]: Likewise.
43585         * lib/stdio_.h [__DECC]: Likewise.
43586         * lib/stdlib_.h [__DECC]: Likewise.
43587         * lib/string_.h [__DECC]: Likewise.
43588         * lib/time_.h [__DECC]: Likewise.
43589         * lib/wchar_.h [__DECC]: Likewise.
43590         * lib/wctype_.h [__DECC]: Likewise.
43591
43592 2007-04-27  Bruno Haible  <bruno@clisp.org>
43593
43594         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
43595
43596 2007-04-27  Bruno Haible  <bruno@clisp.org>
43597
43598         * lib/fflush.c: Add comments.
43599         * modules/fpurge-tests (Depends-on): Add fflush.
43600         * modules/freadable-tests (Depends-on): Likewise.
43601         * modules/fwritable-tests (Depends-on): Likewise.
43602
43603 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
43604
43605         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
43606         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
43607         Report by Bruno Haible <bruno@clisp.org>.
43608
43609 2007-04-26  Eric Blake  <ebb9@byu.net>
43610
43611         Fix fflush on mingw.
43612         * modules/fflush (Depends-on): Add freading.
43613         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
43614         but unread data.
43615
43616 2007-04-26  Eric Blake  <ebb9@byu.net>
43617         and Bruno Haible  <bruno@clisp.org>
43618
43619         Implement freading and fwriting.
43620         * lib/freading.c: New file.
43621         * lib/freading.h: Likewise.
43622         * m4/freading.m4: Likewise.
43623         * modules/freading: Likewise.
43624         * modules/freading-tests: Likewise.
43625         * tests/test-freading.c: Likewise.
43626         * lib/fwriting.c: New file.
43627         * lib/fwriting.h: Likewise.
43628         * m4/fwriting.m4: Likewise.
43629         * modules/fwriting: Likewise.
43630         * modules/fwriting-tests: Likewise.
43631         * tests/test-fwriting.c: Likewise.
43632         * MODULES.html.sh (File stream based Input/Output): Mention them.
43633
43634 2007-04-26  Bruno Haible  <bruno@clisp.org>
43635
43636         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
43637         'long' when we assume it.
43638         Suggested by Eric Blake.
43639
43640 2007-04-26  Bruno Haible  <bruno@clisp.org>
43641
43642         Ensure fseeko, ftello are declared on glibc systems.
43643         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
43644         * modules/fseeko (configure.ac-early): Likewise.
43645         * modules/ftello (configure.ac-early): Likewise.
43646         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
43647         AC_FUNC_FSEEKO for this.
43648         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
43649         (gl_CHECK_FSEEKO): Remove macro.
43650
43651 2007-04-26  Bruno Haible  <bruno@clisp.org>
43652
43653         * tests/test-fflush.c (main): Also check the ftell result after
43654         fflush and fseek/fseeko.
43655         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
43656         file descriptor position cache in the stream.
43657         * lib/fseeko.c (rpl_fseeko): Likewise.
43658
43659 2007-04-26  Bruno Haible  <bruno@clisp.org>
43660
43661         * modules/fflush-tests (Depends-on): Add fseeko.
43662
43663 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
43664             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43665
43666         * lib/argz_.h: ensure error_t definition is obtained in same
43667         mechanism system argz.h would have.
43668         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
43669         argz facilities are known bad.  Err on the side of caution if
43670         cross-compiling.
43671
43672 2007-04-25  Eric Blake  <ebb9@byu.net>
43673
43674         * lib/fpurge.c (includes): Use stdlib.h for free.
43675         * tests/test-fflush.c (main): Also test fflush-fseeko.
43676
43677 2007-04-25  Bruno Haible  <bruno@clisp.org>
43678
43679         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
43680         * lib/fseeko.c: New file.
43681         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
43682         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
43683         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
43684         gl_FUNC_FSEEKO.
43685         (gl_FUNC_FSEEKO): Invoke it.
43686         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
43687         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
43688         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
43689
43690 2007-04-25  Bruno Haible  <bruno@clisp.org>
43691
43692         * modules/fflush (Depends-on): Add ftello.
43693
43694 2007-04-25  Bruno Haible  <bruno@clisp.org>
43695
43696         * modules/ftello-tests: New file.
43697         * tests/test-ftello.c: New file.
43698
43699         * modules/ftello: New file.
43700         * m4/ftello.m4: New file.
43701         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
43702         HAVE_FTELLO.
43703         * lib/stdio_.h (ftello): New declaration.
43704         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
43705         HAVE_FTELLO.
43706
43707 2007-04-25  Bruno Haible  <bruno@clisp.org>
43708
43709         * modules/fseeko-tests: New file.
43710         * tests/test-fseeko.c: New file.
43711
43712         * modules/fseeko: New file.
43713         * m4/fseeko.m4: New file.
43714         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
43715         HAVE_FSEEKO.
43716         * lib/stdio_.h (fseeko): New declaration.
43717         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
43718         HAVE_FSEEKO.
43719
43720 2007-04-25  Bruno Haible  <bruno@clisp.org>
43721
43722         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
43723
43724 2007-04-25  Bruno Haible  <bruno@clisp.org>
43725
43726         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
43727         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
43728         * tests/test-unistd.c: Likewise.
43729         * tests/test-fcntl.c: Likewise.
43730
43731 2007-04-23  Eric Blake  <ebb9@byu.net>
43732
43733         * lib/fflush.c: Fix missing include.
43734         Reported by Bruno Haible.
43735
43736 2007-04-23  Bruno Haible  <bruno@clisp.org>
43737
43738         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
43739         Reported by Eric Blake.
43740
43741 2007-04-23  Bruno Haible  <bruno@clisp.org>
43742
43743         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
43744
43745 2007-04-23  Bruno Haible  <bruno@clisp.org>
43746
43747         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
43748
43749 2007-04-23  Bruno Haible  <bruno@clisp.org>
43750
43751         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
43752         Needed on HP-UX 11.
43753
43754 2007-04-16  Eric Blake  <ebb9@byu.net>
43755
43756         Make fflush rely on fpurge.
43757         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
43758         open coding all variants.
43759         * modules/fflush (Depends-on): Add fpurge and unistd.
43760         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
43761         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
43762
43763         Fix --with-tests compilation on cygwin.
43764         * modules/argmatch-tests (Makefile.am): List gnulib library first
43765         in LDADD.
43766         * modules/argp-tests (Makefile.am): Likewise.
43767         * modules/array-list-tests (Makefile.am): Likewise.
43768         * modules/array-oset-tests (Makefile.am): Likewise.
43769         * modules/avltree-list-tests (Makefile.am): Likewise.
43770         * modules/avltree-oset-tests (Makefile.am): Likewise.
43771         * modules/avltreehash-list-tests (Makefile.am): Likewise.
43772         * modules/carray-list-tests (Makefile.am): Likewise.
43773         * modules/dirname-tests (Makefile.am): Likewise.
43774         * modules/frexp-tests (Makefile.am): Likewise.
43775         * modules/isnanl-tests (Makefile.am): Likewise.
43776         * modules/linked-list-tests (Makefile.am): Likewise.
43777         * modules/linkedhash-list-tests (Makefile.am): Likewise.
43778         * modules/lock-tests (Makefile.am): Likewise.
43779         * modules/rbtree-list-tests (Makefile.am): Likewise.
43780         * modules/rbtree-oset-tests (Makefile.am): Likewise.
43781         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
43782         * modules/tls-tests (Makefile.am): Likewise.
43783         * modules/tsearch-tests (Makefile.am): Likewise.
43784         * modules/xvasprintf-tests (Makefile.am): Likewise.
43785
43786         Fix fpurge for cygwin.
43787         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
43788         value.
43789         * modules/fpurge-tests (Depends-on): Clean up trash.
43790
43791 2007-04-16  Simon Josefsson  <simon@josefsson.org>
43792
43793         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
43794
43795         * m4/autobuild.m4: Re-indent.
43796
43797 2007-04-13  Bruno Haible  <bruno@clisp.org>
43798
43799         * modules/fpurge-tests: New file.
43800         * tests/test-fpurge.c: New file.
43801
43802         * modules/fpurge: New file.
43803         * lib/fpurge.h: New file.
43804         * lib/fpurge.c: New file.
43805         * m4/fpurge.m4: New file.
43806
43807 2007-04-13  Bruno Haible  <bruno@clisp.org>
43808
43809         * modules/fbufmode-tests: New file.
43810         * tests/test-fbufmode.c: New file.
43811
43812         * modules/fbufmode: New file.
43813         * lib/fbufmode.h: New file.
43814         * lib/fbufmode.c: New file.
43815         * m4/fbufmode.m4: New file.
43816
43817 2007-04-13  Bruno Haible  <bruno@clisp.org>
43818
43819         * modules/fwritable-tests: New file.
43820         * tests/test-fwritable.c: New file.
43821
43822         * modules/fwritable: New file.
43823         * lib/fwritable.h: New file.
43824         * lib/fwritable.c: New file.
43825         * m4/fwritable.m4: New file.
43826
43827 2007-04-13  Bruno Haible  <bruno@clisp.org>
43828
43829         * modules/freadable-tests: New file.
43830         * tests/test-freadable.c: New file.
43831
43832         * modules/freadable: New file.
43833         * lib/freadable.h: New file.
43834         * lib/freadable.c: New file.
43835         * m4/freadable.m4: New file.
43836
43837 2007-04-13  Bruno Haible  <bruno@clisp.org>
43838
43839         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
43840         MOSTLYCLEANFILES.
43841
43842 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
43843
43844         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
43845         gzip bootstrap.conf to avoid dragging in i18n machinery.
43846         (gnulib_tool_option): Use it.
43847
43848 2007-04-13  Bruno Haible  <bruno@clisp.org>
43849
43850         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
43851         %F directives.
43852         * tests/test-vasprintf-posix.c (test_function): Likewise.
43853         * tests/test-snprintf-posix.h (test_function): Likewise.
43854         * tests/test-sprintf-posix.h (test_function): Likewise.
43855         * tests/test-fprintf-posix.h (test_function): Likewise.
43856         * tests/test-printf-posix.h (test_function): Likewise.
43857         * tests/test-fprintf-posix.out: Likewise.
43858
43859 2007-04-13  Bruno Haible  <bruno@clisp.org>
43860
43861         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
43862         * modules/tls-tests (configure.ac): Likewise.
43863         Reported by Arto C. Nirkko <anirkko@insel.ch>.
43864
43865 2007-04-13  Bruno Haible  <bruno@clisp.org>
43866
43867         * lib/tls.c (glthread_tls_get): Fix return type.
43868         Patch by Arto C. Nirkko <anirkko@insel.ch>.
43869
43870 2007-04-12  Eric Blake  <ebb9@byu.net>
43871
43872         * modules/gettime (Depends-on): Remove gettime.
43873         Reported by Dmitry V. Levin.
43874
43875 2007-04-12  Bruno Haible  <bruno@clisp.org>
43876
43877         * modules/fflush (Include): Mention <stdio.h>.
43878         * modules/strtoimax (Include): Mention <inttypes.h>.
43879         * modules/strtoumax (Include): Likewise.
43880
43881 2007-04-12  Eric Blake  <ebb9@byu.net>
43882
43883         * .cvsignore: New file.
43884         * .gitignore: Likewise.
43885
43886 2007-04-12  Bruno Haible  <bruno@clisp.org>
43887
43888         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
43889         not before, since $(LDADD) often contains libgnu.a.
43890         * modules/striconv-tests (test_striconv_LDADD): Likewise.
43891         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
43892         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
43893         Needed on Cygwin.
43894
43895 2007-04-12  Eric Blake  <ebb9@byu.net>
43896
43897         Work around glibc's failure to flush stdin on fclose.
43898         * lib/closein.c (close_stdin): Flush stdin before closing.
43899
43900         Work around glibc's failure to reset seekable stdin on exit.
43901         * modules/closein: New module.
43902         * lib/closein.c: New file.
43903         * lib/closein.h: Likewise.
43904         * m4/closein.m4: Likewise.
43905         * MODULES.html.sh (File stream based Input/Output): Document it.
43906
43907 2007-04-12  Simon Josefsson  <simon@josefsson.org>
43908
43909         * gnulib-tool: Rename generated 'autobuild' script to
43910         'do-autobuild' in --create-megatestdir output.
43911
43912         * doc/gnulib.texi (Build robot for gnulib): Fix.
43913
43914 2007-04-12  Simon Josefsson  <simon@josefsson.org>
43915
43916         * modules/sysexits (Depends-on): Add absolute-header.
43917
43918 2007-04-12  Eric Blake  <ebb9@byu.net>
43919
43920         No need to preserve errno on success.
43921         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
43922         Reported by Bruno Haible.
43923
43924 2007-04-12  Simon Josefsson  <simon@josefsson.org>
43925
43926         * MODULES.html.sh (Support for maintaining and releasing
43927         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
43928
43929 2007-04-12  Simon Josefsson  <simon@josefsson.org>
43930
43931         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
43932
43933 2007-04-12  Simon Josefsson  <simon@josefsson.org>
43934
43935         * modules/autobuild: New module.
43936
43937         * m4/autobuild.m4: New file.
43938
43939 2007-04-11  Bruno Haible  <bruno@clisp.org>
43940
43941         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
43942         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
43943         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
43944         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
43945         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
43946         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43947         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43948         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
43949         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43950         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43951         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
43952         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43953         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43954         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
43955         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43956         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43957         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
43958         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43959         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43960         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
43961         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43962         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43963         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
43964         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43965         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43966         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
43967         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
43968         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
43969         Reported by Eric Blake.
43970
43971 2007-04-11  Bruno Haible  <bruno@clisp.org>
43972
43973         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
43974
43975 2007-04-10  Bruno Haible  <bruno@clisp.org>
43976
43977         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
43978         for NaN and Infinity. Needed on FreeBSD 6.1.
43979         * tests/test-vasnprintf-posix.c (test_function): Undo last change
43980         regarding results for "%010a" of Infinity and NaN.
43981         * tests/test-vasprintf-posix.c (test_function): Likewise.
43982         * tests/test-snprintf-posix.h (test_function): Likewise.
43983         * tests/test-sprintf-posix.h (test_function): Likewise.
43984         * tests/test-fprintf-posix.h (test_function): Likewise.
43985         * tests/test-printf-posix.h (test_function): Likewise.
43986         * tests/test-fprintf-posix.out: Likewise.
43987
43988 2007-04-10  Bruno Haible  <bruno@clisp.org>
43989
43990         * modules/locale-tests: New file.
43991         * tests/test-locale.c: New file.
43992
43993         * modules/locale: New file.
43994         * lib/locale_.h: New file.
43995         * m4/locale_h.m4: New file.
43996
43997 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
43998             Bruno Haible  <bruno@clisp.org>
43999
44000         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
44001         be determined, test for availability of the copysignf, copysign,
44002         copysignl functions.
44003         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
44004         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
44005         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
44006
44007 2007-04-09  Eric Blake  <ebb9@byu.net>
44008
44009         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
44010         * modules/stdio (Makefile.am): Support fflush.
44011         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
44012         * modules/fflush: New file.
44013         * lib/fflush.c: Likewise.
44014         * m4/fflush.m4: Likewise.
44015         * modules/fflush-tests: New test.
44016         * tests/test-fflush.c: Likewise.
44017         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
44018
44019 2007-04-06  Bruno Haible  <bruno@clisp.org>
44020
44021         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
44022         (VASNPRINTF): Use signbit for faster determination whether to print a
44023         minus sign.
44024         * modules/vasnprintf (Files): Remove lib/float+.h.
44025         * modules/fprintf-posix (Depends-on): Add signbit.
44026         * modules/snprintf-posix (Depends-on): Likewise.
44027         * modules/sprintf-posix (Depends-on): Likewise.
44028         * modules/vasnprintf-posix (Depends-on): Likewise.
44029         * modules/vasprintf-posix (Depends-on): Likewise.
44030         * modules/vfprintf-posix (Depends-on): Likewise.
44031         * modules/vsnprintf-posix (Depends-on): Likewise.
44032         * modules/vsprintf-posix (Depends-on): Likewise.
44033
44034 2007-04-06  Bruno Haible  <bruno@clisp.org>
44035
44036         * tests/test-frexp.c (main): Test also the sign bit of zero results.
44037         * tests/test-frexpl.c (main): Likewise.
44038         * tests/test-ldexpl.c (main): Likewise.
44039         * modules/frexp-tests (Depends-on): Add signbit.
44040         * modules/frexpl-tests (Depdends-on): Likewise.
44041         * modules/ldexpl-tests (Depdends-on): Likewise.
44042
44043 2007-04-06  Bruno Haible  <bruno@clisp.org>
44044
44045         * modules/signbit-tests: New file.
44046         * tests/test-signbit.c: New file.
44047
44048         * modules/signbit: New file.
44049         * lib/signbitf.c: New file.
44050         * lib/signbitd.c: New file.
44051         * lib/signbitl.c: New file.
44052         * m4/signbit.m4: New file.
44053         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
44054         (signbit): New macro.
44055         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
44056         REPLACE_SIGNBIT.
44057         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
44058         REPLACE_FREXPL into math.h.
44059
44060 2007-04-06  Bruno Haible  <bruno@clisp.org>
44061
44062         * modules/isnanf-nolibm-tests: New file.
44063         * tests/test-isnanf.c: New file.
44064
44065         * modules/isnanf-nolibm: New file.
44066         * lib/isnanf.h: New file.
44067         * lib/isnanf.c: New file.
44068         * lib/isnan.c: Consider the USE_FLOAT macro.
44069         * m4/isnanf.m4: New file.
44070
44071 2007-04-06  Bruno Haible  <bruno@clisp.org>
44072
44073         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
44074         (Link): New section.
44075
44076         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
44077
44078 2007-04-06  Bruno Haible  <bruno@clisp.org>
44079
44080         Assume the 'long double' type.
44081         * m4/longdouble.m4: Remove file.
44082         * config/srclist.txt: Don't mention longdouble.m4.
44083         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
44084         * lib/float+.h: Likewise.
44085         * lib/frexp.c: Likewise.
44086         * lib/printf-args.h: Likewise.
44087         * lib/printf-args.c: Likewise.
44088         * lib/printf-frexp.c: Likewise.
44089         * lib/printf-parse.c: Likewise.
44090         * lib/vasnprintf.c: Likewise.
44091         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
44092         * m4/intl.m4: Likewise.
44093         * m4/isnanl.m4: Likewise.
44094         * m4/printf.m4: Likewise.
44095         * m4/printf-frexpl.m4: Likewise.
44096         * m4/vasnprintf.m4: Likewise.
44097         * modules/allocsa (Files): Remove m4/longdouble.m4.
44098         * modules/gettext (Files): Likewise.
44099         * modules/relocatable-prog-wrapper (Files): Likewise.
44100         * modules/vasnprintf (Files): Likewise.
44101         * modules/isnanl (Files): Likewise.
44102         (Include): Simplify.
44103         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
44104         (Include): Simplify.
44105         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
44106         (Include): Simplify.
44107         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
44108         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
44109         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
44110         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
44111         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
44112         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
44113         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
44114         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
44115         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
44116         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
44117         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
44118         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
44119         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
44120         * tests/test-isnanl.c: Likewise.
44121         * tests/test-snprintf-posix.h: Likewise.
44122         * tests/test-sprintf-posix.h: Likewise.
44123         * tests/test-vasnprintf-posix.c: Likewise.
44124         * tests/test-vasnprintf-posix2.c: Likewise.
44125         * tests/test-vasprintf-posix.c: Likewise.
44126
44127 2007-04-06  Bruno Haible  <bruno@clisp.org>
44128
44129         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
44130         * lib/math_.h [__DECC]: Include the overridden include file through
44131         #include_next, outside the double-inclusion guard.
44132         * lib/stdio_.h [__DECC]: Likewise.
44133         * lib/stdlib_.h [__DECC]: Likewise.
44134         * lib/string_.h [__DECC]: Likewise.
44135         * lib/time_.h [__DECC]: Likewise.
44136         * lib/wchar_.h [__DECC]: Likewise.
44137         * lib/wctype_.h [__DECC]: Likewise.
44138         * lib/inttypes_.h [__DECC]: Likewise.
44139         Reported by Albert Chin <china@thewrittenword.com> in
44140         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
44141
44142 2007-04-04  Eric Blake  <ebb9@byu.net>
44143
44144         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
44145         1.5.x.
44146
44147 2007-04-04  Bruno Haible  <bruno@clisp.org>
44148
44149         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
44150         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
44151
44152 2007-04-04  Bruno Haible  <bruno@clisp.org>
44153
44154         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
44155         results for "%010a" of Infinity and NaN.
44156         * tests/test-vasprintf-posix.c (test_function): Likewise.
44157         * tests/test-snprintf-posix.h (test_function): Likewise.
44158         * tests/test-sprintf-posix.h (test_function): Likewise.
44159         * tests/test-fprintf-posix.h (test_function): Remove these tests.
44160         * tests/test-printf-posix.h (test_function): Likewise.
44161         * tests/test-fprintf-posix.out: Update.
44162         Needed for FreeBSD 6.1.
44163
44164 2007-04-04  Bruno Haible  <bruno@clisp.org>
44165
44166         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
44167         directly used by the gnulib modules nor by gnulib-tool.
44168
44169 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
44170
44171         * DEPENDENCIES: Give overall description of version dependency
44172         desirability.  Use more-typical names for apps.
44173         Add shell, coreutils, diffutils, grep, tar, gzip.
44174
44175 2007-04-04  Simon Josefsson  <simon@josefsson.org>
44176
44177         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
44178
44179 2007-04-04  Karl Berry  <karl@gnu.org>
44180
44181         * MODULES.html.sh (func_module): missing '.
44182
44183 2007-04-03  Bruno Haible  <bruno@clisp.org>
44184
44185         * modules/argmatch-tests (Makefile.am): New variable
44186         test_argmatch_LDADD.
44187         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
44188         * modules/array-list-tests (Makefile.am): New variable
44189         test_array_list_LDADD.
44190         * modules/array-oset-tests (Makefile.am): New variable
44191         test_array_oset_LDADD.
44192         * modules/avltree-list-tests (Makefile.am): New variable
44193         test_avltree_list_LDADD.
44194         * modules/avltree-oset-tests (Makefile.am): New variable
44195         test_avltree_oset_LDADD.
44196         * modules/avltreehash-list-tests (Makefile.am): New variable
44197         test_avltreehash_list_LDADD.
44198         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
44199         test_canonicalize_lgpl_LDADD.
44200         * modules/carray-list-tests (Makefile.am): New variable
44201         test_carray_list_LDADD.
44202         * modules/dirname-tests (Makefile.am): New variable
44203         test_dirname_LDADD.
44204         * modules/linked-list-tests (Makefile.am): New variable
44205         test_linked_list_LDADD.
44206         * modules/linkedhash-list-tests (Makefile.am): New variable
44207         test_linkedhash_list_LDADD.
44208         * modules/rbtree-list-tests (Makefile.am): New variable
44209         test_rbtree_list_LDADD.
44210         * modules/rbtree-oset-tests (Makefile.am): New variable
44211         test_rbtree_oset_LDADD.
44212         * modules/rbtreehash-list-tests (Makefile.am): New variable
44213         test_rbtreehash_list_LDADD.
44214         * modules/xvasprintf-tests (Makefile.am): New variable
44215         test_xvasprintf_LDADD.
44216         Reported by Eric Blake.
44217
44218 2007-04-03  Eric Blake  <ebb9@byu.net>
44219
44220         * DEPENDENCIES: Weaken m4 requirements.
44221
44222 2007-04-03  Bruno Haible  <bruno@clisp.org>
44223
44224         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
44225         * modules/isnanl-tests (configure.ac): Likewise.
44226
44227 2007-04-03  Ben Pfaff  <blp@gnu.org>
44228
44229         * modules/iconv_open: Add $(srcdir)/ to source directory
44230         references in Makefile fragments that call gperf, to fix VPATH
44231         builds.
44232
44233 2007-04-03  Bruno Haible  <bruno@clisp.org>
44234
44235         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
44236         * lib/ldexpl.c: Undo last change.
44237
44238 2007-04-03  Bruno Haible  <bruno@clisp.org>
44239
44240         * modules/printf-frexpl (Depends-on): Undo last change.
44241         (Files): Add m4/ldexpl.m4.
44242
44243 2007-04-03  Bruno Haible  <bruno@clisp.org>
44244
44245         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
44246         * modules/isnanl (Link): New section.
44247
44248         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
44249         * modules/frexp (Link): New section.
44250
44251         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
44252         * modules/frexpl (Link): New section.
44253
44254         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
44255         * modules/ldexpl (Link): New section.
44256
44257 2007-04-03  Bruno Haible  <bruno@clisp.org>
44258
44259         * modules/TEMPLATE-EXTENDED: New file.
44260         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
44261
44262 2007-04-03  Bruno Haible  <bruno@clisp.org>
44263
44264         * DEPENDENCIES: New file.
44265         Suggested by Simon Josefsson.
44266
44267 2007-04-03  Bruno Haible  <bruno@clisp.org>
44268
44269         * doc/gnulib.texi: Escape @.
44270
44271 2007-04-03  James Youngman  <jay@gnu.org>
44272         and Paul Eggert  <eggert@cs.ucla.edu>
44273
44274         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
44275         birthtime on all systems that have birthtime, not just those which
44276         use st_birthtimensec rather than st_birthtim.  Putting zero in
44277         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
44278         that the birth time is not available for files on an NFS mount.
44279
44280 2007-04-03  Simon Josefsson  <simon@josefsson.org>
44281
44282         * modules/memxor: Move back from crypto/, suggested by Bruno.
44283         * modules/crypto/hmac-sha1: Fix memxor dependency.
44284
44285         * modules/crypto/gc: Moved from ../.
44286
44287 2007-04-02  Eric Blake  <ebb9@byu.net>
44288
44289         * lib/ldexpl.c (includes): Avoid libm.
44290
44291         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
44292
44293 2007-04-02  Bruno Haible  <bruno@clisp.org>
44294
44295         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
44296         on IRIX.
44297
44298 2007-04-02  Bruno Haible  <bruno@clisp.org>
44299
44300         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
44301         x86 or x86_64 platforms running MacOS X.
44302         Reported by Ryan Schmidt <@ryandesign.com>.
44303
44304 2007-04-02  Bruno Haible  <bruno@clisp.org>
44305
44306         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
44307         i386.
44308
44309 2007-04-01  Simon Josefsson  <simon@josefsson.org>
44310
44311         * modules/crypto/arcfour: Moved from ../.
44312         * modules/crypto/arcfour-tests: Moved from ../.
44313         * modules/crypto/arctwo: Moved from ../.
44314         * modules/crypto/arctwo-tests: Moved from ../.
44315         * modules/crypto/des: Moved from ../.
44316         * modules/crypto/des-tests: Moved from ../.
44317         * modules/crypto/gc-arcfour: Moved from ../.
44318         * modules/crypto/gc-arcfour-tests: Moved from ../.
44319         * modules/crypto/gc-arctwo: Moved from ../.
44320         * modules/crypto/gc-arctwo-tests: Moved from ../.
44321         * modules/crypto/gc-des: Moved from ../.
44322         * modules/crypto/gc-des-tests: Moved from ../.
44323         * modules/crypto/gc-hmac-md5: Moved from ../.
44324         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
44325         * modules/crypto/gc-hmac-sha1: Moved from ../.
44326         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
44327         * modules/crypto/gc-md2: Moved from ../.
44328         * modules/crypto/gc-md2-tests: Moved from ../.
44329         * modules/crypto/gc-md4: Moved from ../.
44330         * modules/crypto/gc-md4-tests: Moved from ../.
44331         * modules/crypto/gc-md5: Moved from ../.
44332         * modules/crypto/gc-md5-tests: Moved from ../.
44333         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
44334         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
44335         * modules/crypto/gc-random: Moved from ../.
44336         * modules/crypto/gc-rijndael: Moved from ../.
44337         * modules/crypto/gc-rijndael-tests: Moved from ../.
44338         * modules/crypto/gc-sha1: Moved from ../.
44339         * modules/crypto/gc-sha1-tests: Moved from ../.
44340         * modules/crypto/gc-tests: Moved from ../.
44341         * modules/crypto/hmac-md5: Moved from ../.
44342         * modules/crypto/hmac-md5-tests: Moved from ../.
44343         * modules/crypto/hmac-sha1: Moved from ../.
44344         * modules/crypto/hmac-sha1-tests: Moved from ../.
44345         * modules/crypto/md2: Moved from ../.
44346         * modules/crypto/md2-tests: Moved from ../.
44347         * modules/crypto/md4: Moved from ../.
44348         * modules/crypto/md4-tests: Moved from ../.
44349         * modules/crypto/md5: Moved from ../.
44350         * modules/crypto/md5-tests: Moved from ../.
44351         * modules/crypto/memxor: Moved from ../.
44352         * modules/crypto/rijndael: Moved from ../.
44353         * modules/crypto/rijndael-tests: Moved from ../.
44354         * modules/crypto/sha1: Moved from ../.
44355
44356 2007-03-30  James Youngman  <jay@gnu.org>
44357
44358         * tests/test-stat-time.c (prepare_test): use chmod() rather than
44359         rename() to change the ctime of a file (because ctime is unaffected
44360         by rename on jfs2 on AIX 5.1).
44361         (main): Start by doing cleanup, in case a previous run failed leaving
44362         test files behind.
44363
44364 2007-03-31  Bruno Haible  <bruno@clisp.org>
44365
44366         Support old proprietary implementations of iconv.
44367         * modules/iconv_open: New file.
44368         * lib/iconv_.h: New file.
44369         * m4/iconv_h.m4: New file.
44370         * lib/iconv_open.c: New file.
44371         * lib/iconv_open-aix.gperf: New file.
44372         * lib/iconv_open-hpux.gperf: New file.
44373         * lib/iconv_open-irix.gperf: New file.
44374         * lib/iconv_open-osf.gperf: New file.
44375         * m4/iconv_open.m4: New file.
44376         * modules/linebreak (Depends-on): Add iconv_open.
44377         * modules/striconv (Depends-on): Likewise.
44378         * modules/striconveh (Depends-on): Likewise.
44379         * modules/unicodeio (Depends-on): Likewise.
44380         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
44381         (iconv_t)(-1).
44382         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
44383         conversion if cd is (iconv_t)(-1).
44384         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
44385         is not possible.
44386
44387 2007-03-31  Bruno Haible  <bruno@clisp.org>
44388
44389         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
44390         work on Solaris either. Protect also second use of "autodetect_jp".
44391
44392 2007-03-31  Bruno Haible  <bruno@clisp.org>
44393
44394         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
44395         the function is not present.
44396
44397 2007-03-31  Bruno Haible  <bruno@clisp.org>
44398
44399         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
44400         the function is not present.
44401
44402 2007-03-31  Bruno Haible  <bruno@clisp.org>
44403
44404         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
44405         a bug in HP-UX iconv_open().
44406
44407 2007-03-31  Bruno Haible  <bruno@clisp.org>
44408
44409         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
44410         (Mathematics <math.h>): New section, add fpieee.
44411         (Input/output <stdio.h>): Add fseterr.
44412         (Mathematics <math.h>): New section, add printf-frexp.
44413         (Container data structures): Add sublist.
44414         (Core language properties): Add fpucw, inline.
44415         (Functions for greatest-width integer types <inttypes.h>): Add
44416         imaxabs, imaxdiv, inttypes.
44417         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
44418         isnanl-nolibm, ldexp.
44419         (Mathematics <math.h>): New section, add printf-frexpl.
44420         (Support for systems lacking POSIX:2001): Add fprintf-posix,
44421         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
44422         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
44423         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
44424         (Unicode string functions): Add unistr/u*-mbtoucr.
44425         (Java): Add javacomp-script, javaexec-script.
44426         (C#): Add csharpcomp-script, csharpexec-script.
44427         (Support for building libraries and executables): Add havelib,
44428         relocatable-*.
44429         (Support for maintaining and releasing projects): Renamed from
44430         'Support for maintaining and release projects'. Add announce-gen.
44431
44432 2007-03-31  Bruno Haible  <bruno@clisp.org>
44433
44434         * README: Talk primarily about git.
44435         (git and CVS): Renamed from CVS.
44436         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
44437         gnulib is available through git.
44438         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
44439
44440 2007-03-30  Bruno Haible  <bruno@clisp.org>
44441
44442         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
44443         * lib/poll_.h: Likewise.
44444         * lib/stat_.h: Likewise.
44445         * lib/sys_time_.h: Likewise.
44446         * lib/sysexit_.h: Likewise.
44447         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
44448         * lib/stdbool_.h: Likewise.
44449         * lib/byteswap_.h: Add double-inclusion guard.
44450
44451 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
44452
44453         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
44454
44455 2007-03-30  Karl Berry  <karl@gnu.org>
44456
44457         * config/srclist-update: double space after USA in the license
44458         substitution, since that's how it's usually (?) written.
44459
44460 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
44461
44462         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
44463         reported by Bruno Haible.
44464
44465 2007-03-29  Bruno Haible  <bruno@clisp.org>
44466
44467         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
44468         a bug in AIX iconv().
44469
44470 2007-03-29  Bruno Haible  <bruno@clisp.org>
44471
44472         * modules/ldexpl-tests: New file.
44473         * tests/test-ldexpl.c: New file.
44474
44475 2007-03-29  Bruno Haible  <bruno@clisp.org>
44476
44477         * lib/ldexpl.c: Include fpucw.h.
44478         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
44479         multiplication.
44480         * modules/ldexpl (Depends-on): Add fpucw.
44481
44482 2007-03-29  Bruno Haible  <bruno@clisp.org>
44483
44484         * modules/ldexpl: New file.
44485         * m4/ldexpl.m4: New file.
44486         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
44487         set.
44488         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
44489         REPLACE_LDEXPL.
44490         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
44491         REPLACE_LDEXPL.
44492         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
44493         gl_FUNC_LDEXPL_WORKS.
44494         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
44495         * modules/mathl (Files): Remove lib/ldexpl.c.
44496         (Depends-on): Add ldexpl.
44497
44498 2007-03-29  Bruno Haible  <bruno@clisp.org>
44499
44500         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
44501
44502 2007-03-29  Bruno Haible  <bruno@clisp.org>
44503
44504         * tests/test-striconveh.c (main): Don't assume that a direct conversion
44505         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
44506         and possibly also HP-UX.
44507         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
44508         work on AIX, IRIX, HP-UX, OSF/1.
44509         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
44510         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
44511         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
44512         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
44513         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
44514         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
44515
44516 2007-03-29  Bruno Haible  <bruno@clisp.org>
44517
44518         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
44519
44520 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
44521
44522         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
44523         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
44524
44525 2007-03-29  Eric Blake  <ebb9@byu.net>
44526
44527         * lib/acl-internal.h: Remove redundant include.
44528         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
44529         Cygwin when a file is locked.
44530
44531 2007-03-29  Bruno Haible  <bruno@clisp.org>
44532
44533         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
44534         file.
44535         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
44536
44537 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
44538
44539         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
44540         try to remove a parent directory if the child couldn't be removed
44541         (except for the first rmdir, which could fail because the child
44542         doesn't exist).  Problem reported by Jeff Blaine in
44543         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
44544
44545 2007-03-28  Bruno Haible  <bruno@clisp.org>
44546
44547         * lib/striconveh.c (utf8conv_carefully): New function.
44548         (mem_cd_iconveh_internal): Invoke it.
44549
44550 2007-03-28  Bruno Haible  <bruno@clisp.org>
44551
44552         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
44553         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
44554         input.
44555         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
44556         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
44557         unistr/u8-uctomb.
44558
44559 2007-03-28  Bruno Haible  <bruno@clisp.org>
44560
44561         * modules/unistr/u8-mbtoucr: New file.
44562         * lib/unistr/u8-mbtoucr.c: New file.
44563         * modules/unistr/u16-mbtoucr: New file.
44564         * lib/unistr/u16-mbtoucr.c: New file.
44565         * modules/unistr/u16-mbtoucr: New file.
44566         * lib/unistr/u16-mbtoucr.c: New file.
44567         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
44568
44569 2007-03-27  Simon Josefsson  <simon@josefsson.org>
44570             Bruno Haible  <bruno@clisp.org>
44571
44572         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
44573         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
44574         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
44575
44576         * m4/stdio_h.m4: Add stubs for vasprintf too.
44577
44578         * modules/stdio: Support vasprintf in sed command.
44579
44580         * modules/vasprintf: Depend on stdio for prototypes.  Remove
44581         vasprintf.h.  Add stdio module indicator.
44582
44583         * lib/stdio_.h: Declare asprintf and vasprintf, based on
44584         vasprintf.h.
44585
44586         * lib/vasprintf.h: File removed.
44587
44588         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
44589         * lib/vasprintf.c: Ditto.
44590         * lib/xvasprintf.c: Ditto.
44591         * tests/test-vasprintf-posix.c: Ditto.
44592         * tests/test-vasprintf.c: Ditto.
44593
44594 2007-03-27  Bruno Haible  <bruno@clisp.org>
44595
44596         Make vasnprintf multithread-safe.
44597         * lib/vasnprintf.c (decimal_point_char): New function.
44598         (VASNPRINTF): Use it.
44599         Suggested by Simon Josefsson.
44600
44601 2007-03-27  Eric Blake  <ebb9@byu.net>
44602
44603         Support sub-second birthtime on cygwin.
44604         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
44605         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
44606         (get_stat_birthtime): Also work with st_birthtim.
44607
44608 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
44609
44610         * lib/stat-time.h (USE_BIRTHTIME): Remove.
44611         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
44612         (get_stat_birthtime_ns): Do not try to use "spare" fields.
44613         (get_stat_birthtime_ns): Simplify compile-time tests.
44614         (get_stat_birthtime): Change the API to look like
44615         get_stat_mtime etc., except return a negative tv_nsec on error.
44616         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
44617         Don't check for "spare" fields.
44618         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
44619         or for struct stat.st_birthtime, as these tests aren't used.
44620         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
44621
44622 2007-03-27  Bruno Haible  <bruno@clisp.org>
44623
44624         * lib/stat-time.h: Include <sys/stat.h>.
44625
44626 2007-03-27  James Youngman  <jay@gnu.org>
44627
44628         * lib/stat-time.h (get_stat_birthtime): New function for
44629           retrieving st_birthtime as provided by UFS2 (hence *BSD).
44630         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
44631           and its variants.
44632         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
44633         * modules/stat-time-test: New file.
44634         * tests/test-stat-time.c: New test, devised by Bruno Haible.
44635
44636 2007-03-26  Bruno Haible  <bruno@clisp.org>
44637
44638         Better support of signalling NaNs.
44639         * lib/atanl.c: Include isnanl.h.
44640         (atanl): Perform test for NaN at the beginning of the function and
44641         through a call to isnanl.
44642         * lib/cosl.c: Include isnanl.h.
44643         (cosl): Perform test for NaN at the beginning of the function and
44644         through a call to isnanl.
44645         * lib/ldexpl.c: Include isnanl.h.
44646         (ldexpl): Perform test for NaN through a call to isnanl.
44647         * lib/logl.c: Include isnanl.h.
44648         (logl): Perform test for NaN at the beginning of the function and
44649         through a call to isnanl.
44650         * lib/sinl.c: Include isnanl.h.
44651         (sinl): Perform test for NaN at the beginning of the function and
44652         through a call to isnanl.
44653         * lib/sqrtl.c: Include isnanl.h.
44654         (sqrtl): Perform test for NaN at the beginning of the function and
44655         through a call to isnanl.
44656         * lib/tanl.c: Include isnanl.h.
44657         (tanl): Perform test for NaN at the beginning of the function and
44658         through a call to isnanl.
44659         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
44660         * modules/mathl (Depends-on): Add isnanl.
44661
44662 2007-03-26  Eric Blake  <ebb9@byu.net>
44663
44664         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
44665         regression in logic sense of previous patch.
44666
44667 2007-03-26  Bruno Haible  <bruno@clisp.org>
44668
44669         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
44670         unportable shell command "if ! ...".
44671         Reported by Ralf Wildenhues.
44672
44673 2007-03-25  Bruno Haible  <bruno@clisp.org>
44674
44675         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
44676         <sysexits.h> file, and only add EX_CONFIG.
44677         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
44678         absolute file name and whether it is sufficient. Substitute also
44679         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
44680         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
44681         ABSOLUTE_SYSEXITS_H into sysexits.h.
44682
44683 2007-03-25  Bruno Haible  <bruno@clisp.org>
44684
44685         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
44686         hints is NULL.
44687
44688 2007-03-25  Bruno Haible  <bruno@clisp.org>
44689
44690         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
44691         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
44692
44693 2007-03-25  Bruno Haible  <bruno@clisp.org>
44694
44695         * lib/vasnprintf.c: Include langinfo.h.
44696         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
44697         multithread-safe.
44698         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
44699         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
44700         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44701         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44702         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44703         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44704         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44705         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
44706         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44707         Reported by Simon Josefsson.
44708
44709 2007-03-25  Bruno Haible  <bruno@clisp.org>
44710
44711         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
44712         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
44713         * modules/vasnprintf (Depends-on): Add stdint.
44714
44715 2007-03-25  Bruno Haible  <bruno@clisp.org>
44716
44717         * modules/fpieee: New file.
44718         * m4/fpieee.m4: New file.
44719         * modules/isnan-nolibm (Depends-on): Add fpieee.
44720         * modules/isnanl-nolibm (Depends-on): Add fpieee.
44721         * modules/isnanl (Depends-on): Add fpieee.
44722
44723 2007-03-25  Bruno Haible  <bruno@clisp.org>
44724
44725         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
44726
44727 2007-03-25  Bruno Haible  <bruno@clisp.org>
44728
44729         Avoid test failures on IRIX 6.5.
44730         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
44731         (main): Use it.
44732         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
44733         macros.
44734         (main): Use them.
44735
44736 2007-03-25  Bruno Haible  <bruno@clisp.org>
44737
44738         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
44739         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
44740         exists but doesn't work.
44741         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
44742         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
44743         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
44744         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
44745
44746 2007-03-25  Bruno Haible  <bruno@clisp.org>
44747
44748         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
44749         returns inf. Needed on IRIX 6.5.
44750
44751 2007-03-25  Bruno Haible  <bruno@clisp.org>
44752
44753         * tests/test-frexpl.c: Include isnanl-nolibm.h.
44754         (main): Use isnanl instead of x != x idiom.
44755         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
44756
44757         * tests/test-frexp.c: Include isnan.h.
44758         (main): Use isnan instead of x != x idiom.
44759         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
44760
44761 2007-03-25  Bruno Haible  <bruno@clisp.org>
44762
44763         * tests/test-frexp.c (NaN): New function/macro.
44764         (main): Use it instead of 0.0 / 0.0.
44765         * tests/test-isnan.c (NaN): New function/macro.
44766         (main): Use it instead of 0.0 / 0.0.
44767         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
44768         (test_function): Use it instead of 0.0 / 0.0.
44769         * tests/test-vasprintf-posix.c (NaN): New function/macro.
44770         (test_function): Use it instead of 0.0 / 0.0.
44771         * tests/test-snprintf-posix.h (NaN): New function/macro.
44772         (test_function): Use it instead of 0.0 / 0.0.
44773         * tests/test-sprintf-posix.h (NaN): New function/macro.
44774         (test_function): Use it instead of 0.0 / 0.0.
44775         * tests/test-fprintf-posix.h (NaN): New function/macro.
44776         (test_function): Use it instead of 0.0 / 0.0.
44777         * tests/test-printf-posix.h (NaN): New function/macro.
44778         (test_function): Use it instead of 0.0 / 0.0.
44779
44780         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
44781
44782 2007-03-25  Bruno Haible  <bruno@clisp.org>
44783
44784         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
44785
44786 2007-03-25  Bruno Haible  <bruno@clisp.org>
44787
44788         * lib/regexec.c (merge_state_with_log): Make static.
44789
44790 2007-03-25  Bruno Haible  <bruno@clisp.org>
44791
44792         * lib/trigl.c (kernel_rem_pio2): Make static.
44793
44794 2007-03-25  Bruno Haible  <bruno@clisp.org>
44795
44796         * lib/sincosl.c (sincosl_table): Make static.
44797
44798 2007-03-25  Bruno Haible  <bruno@clisp.org>
44799
44800         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
44801         if the compiler does not support C99.
44802
44803 2007-03-25  Bruno Haible  <bruno@clisp.org>
44804
44805         * modules/time (Makefile.am): Ensure all rule action lines start with a
44806         tab.
44807
44808 2007-03-24  Bruno Haible  <bruno@clisp.org>
44809
44810         * modules/tsearch-tests: New file.
44811         * tests/test-tsearch.sh: New file.
44812         * tests/test-tsearch.c: New file, mostly copied from glibc.
44813
44814         * modules/search-tests: New file.
44815         * tests/test-search.c: New file.
44816
44817         * modules/search: New file.
44818         * lib/search_.h: New file, incorporating lib/tsearch.h.
44819         * m4/search_h.m4: New file.
44820         * lib/tsearch.h: Remove file.
44821         * lib/tsearch.c: Include search.h instead of tsearch.h.
44822         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
44823         HAVE_TSEARCH.
44824         * modules/tsearch (Files): Remove lib/tsearch.h.
44825         (Depends-on): Add search.
44826         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
44827         (Include): Change tsearch.h into search.h.
44828
44829 2007-03-24  Bruno Haible  <bruno@clisp.org>
44830
44831         * modules/fpucw: New file.
44832         * lib/fpucw.h: New file.
44833         * lib/frexp.c: Include fpucw.h.
44834         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
44835         (FUNC): Use them.
44836         * lib/printf-frexp.c: Include fpucw.h.
44837         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
44838         (FUNC): Use them.
44839         * lib/vasnprintf.c: Include fpucw.h.
44840         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
44841         'long double' calculations.
44842         * tests/test-frexpl.c: Include fpucw.h.
44843         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
44844         * tests/test-printf-frexpl.c: Include fpucw.h.
44845         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
44846         * modules/frexpl (Depends-on): Add fpucw.
44847         * modules/printf-frexpl (Depends-on): Likewise.
44848         * modules/fprintf-posix (Depends-on): Likewise.
44849         * modules/snprintf-posix (Depends-on): Likewise.
44850         * modules/sprintf-posix (Depends-on): Likewise.
44851         * modules/vasnprintf-posix (Depends-on): Likewise.
44852         * modules/vasprintf-posix (Depends-on): Likewise.
44853         * modules/vfprintf-posix (Depends-on): Likewise.
44854         * modules/vsnprintf-posix (Depends-on): Likewise.
44855         * modules/vsprintf-posix (Depends-on): Likewise.
44856         * modules/frexpl-tests (Depends-on): Likewise.
44857         * modules/printf-frexpl-tests (Depends-on): Likewise.
44858
44859 2007-03-24  Bruno Haible  <bruno@clisp.org>
44860
44861         * lib/float+.h: New file.
44862         * lib/isnan.c: Include float+.h.
44863         (SIZE): New macro.
44864         (FUNC): Compare only SIZE bytes of the value.
44865         * lib/vasnprintf.c: Include float+.h.
44866         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
44867         SIZEOF_LDBL or SIZEOF_DBL bytes.
44868         * modules/isnan-nolibm (Files): Add lib/float+.h.
44869         * modules/isnanl-nolibm (Files): Add lib/float+.h.
44870         * modules/isnanl (Files): Add lib/float+.h.
44871         * modules/vasnprintf (Files): Add lib/float+.h.
44872
44873 2007-03-24  Bruno Haible  <bruno@clisp.org>
44874
44875         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
44876         include isnanl-nolibm.h.
44877
44878 2007-03-24  Bruno Haible  <bruno@clisp.org>
44879
44880         * tests/test-read-file.c (main): Don't produce spurious output for
44881         expected situations. Make the test fail if it encountered unexpected
44882         results.
44883
44884 2007-03-24  Bruno Haible  <bruno@clisp.org>
44885
44886         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
44887         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
44888
44889 2007-03-24  Bruno Haible  <bruno@clisp.org>
44890
44891         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
44892
44893 2007-03-24  Bruno Haible  <bruno@clisp.org>
44894
44895         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
44896         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
44897
44898         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
44899         * modules/utf8-ucs4: Turn into a symbolic link to module
44900         unistr/u8-mbtouc.
44901
44902         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
44903         utf8-ucs4-unsafe.
44904         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
44905         unistr/u8-mbtouc-unsafe.
44906
44907         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
44908         * modules/utf16-ucs4: Turn into a symbolic link to module
44909         unistr/u16-mbtouc.
44910
44911         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
44912         utf16-ucs4-unsafe.
44913         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
44914         unistr/u16-mbtouc-unsafe.
44915
44916         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
44917         * modules/ucs4-utf8: Turn into a symbolic link to module
44918         unistr/u8-ubtomb.
44919
44920         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
44921         * modules/ucs4-utf16: Turn into a symbolic link to module
44922         unistr/u16-ubtomb.
44923
44924 2007-03-24  Bruno Haible  <bruno@clisp.org>
44925
44926         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
44927         Enable the function only if HAVE_INLINE.
44928         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
44929         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
44930         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
44931         Enable the function only if HAVE_INLINE.
44932         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
44933         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
44934         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
44935         Enable the function only if HAVE_INLINE.
44936         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
44937         Enable the function only if HAVE_INLINE.
44938         * modules/utf8-ucs4: Update.
44939         * modules/utf8-ucs4-unsafe: Update.
44940         * modules/utf16-ucs4: Update.
44941         * modules/utf16-ucs4-unsafe: Update.
44942         * modules/ucs4-utf8: Update.
44943         * modules/ucs4-utf16: Update.
44944
44945 2007-03-24  Bruno Haible  <bruno@clisp.org>
44946
44947         * lib/utf8-ucs4.h: Remove file.
44948         * lib/utf8-ucs4-unsafe.h: Remove file.
44949         * lib/utf16-ucs4.h: Remove file.
44950         * lib/utf16-ucs4-unsafe.h: Remove file.
44951         * lib/ucs4-utf8.h: Remove file.
44952         * lib/ucs4-utf16.h: Remove file.
44953         * lib/unistr.h: Include their previous contents.
44954         * m4/utf-ucs4.m4: Remove file.
44955         * m4/ucs4-utf.m4: Remove file.
44956         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
44957         (Depends-on): Add unistr/base.
44958         (configure.ac): Remove gl_UTF_UCS4.
44959         (Makefile.am): Update.
44960         (Include): Change to unistr.h.
44961         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
44962         (Depends-on): Add unistr/base.
44963         (configure.ac): Remove gl_UTF_UCS4.
44964         (Makefile.am): Update.
44965         (Include): Change to unistr.h.
44966         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
44967         (Depends-on): Add unistr/base.
44968         (configure.ac): Remove gl_UTF_UCS4.
44969         (Makefile.am): Update.
44970         (Include): Change to unistr.h.
44971         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
44972         (Depends-on): Add unistr/base.
44973         (configure.ac): Remove gl_UTF_UCS4.
44974         (Makefile.am): Update.
44975         (Include): Change to unistr.h.
44976         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
44977         (Depends-on): Add unistr/base.
44978         (configure.ac): Remove gl_UCS4_UTF.
44979         (Makefile.am): Update.
44980         (Include): Change to unistr.h.
44981         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
44982         (Depends-on): Add unistr/base.
44983         (configure.ac): Remove gl_UCS4_UTF.
44984         (Makefile.am): Update.
44985         (Include): Change to unistr.h.
44986         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
44987         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
44988         utf8-ucs4-unsafe.h.
44989         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
44990         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
44991         utf16-ucs4-unsafe.h.
44992         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
44993         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
44994         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
44995         * lib/unistr/u8-strchr.c: Likewise.
44996         * lib/unistr/u8-strrchr.c: Likewise.
44997         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
44998         * lib/unistr/u16-strchr.c: Likewise.
44999         * lib/unistr/u16-strrchr.c: Likewise.
45000         * lib/striconveh.c: Update.
45001         * lib/linebreak.c: Update.
45002
45003 2007-03-24  Bruno Haible  <bruno@clisp.org>
45004
45005         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
45006         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
45007
45008 2007-03-22  Bruno Haible  <bruno@clisp.org>
45009
45010         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
45011
45012 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
45013
45014         * MODULES.html.sh (File system functions): New module write-any-file.
45015         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
45016         * m4/write-any-file.m4: New files.
45017
45018 2007-03-23  Eric Blake  <ebb9@byu.net>
45019
45020         * gnulib-tool: Rearrange space-tab sequences, since some editors
45021         like to eat them.
45022
45023 2007-03-23  Eric Blake  <ebb9@byu.net>
45024
45025         * lib/version-etc.c (version_etc_va): Update license wording to
45026         be more concise.  Recommended by Richard Stallman.
45027
45028 2007-03-22  Bruno Haible  <bruno@clisp.org>
45029
45030         * lib/poll.c (MSG_PEEK): New fallback definition.
45031
45032 2007-03-22  Bruno Haible  <bruno@clisp.org>
45033
45034         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
45035         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
45036         (main): Update.
45037         Fixes a compilation error on BeOS.
45038
45039 2007-03-22  Bruno Haible  <bruno@clisp.org>
45040
45041         * modules/frexpl-tests: New file.
45042         * tests/test-frexpl.c: New file.
45043
45044         * modules/frexpl: New file.
45045         * m4/frexpl.m4: New file.
45046         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
45047         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
45048         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
45049         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
45050         (Depends-on): Add frexpl. Remove isnanl-nolibm.
45051         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
45052
45053 2007-03-22  Bruno Haible  <bruno@clisp.org>
45054
45055         * lib/frexpl.c: Share code with lib/frexp.c.
45056         * modules/mathl (Files): Add lib/frexp.c.
45057         (Depends-on): Add isnanl-nolibm.
45058
45059 2007-03-22  Bruno Haible  <bruno@clisp.org>
45060
45061         * modules/printf-frexp (Files): Add m4/frexp.m4.
45062         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
45063         only if the found frexp function actually works.
45064
45065 2007-03-22  Bruno Haible  <bruno@clisp.org>
45066
45067         * lib/frexp.c: Remove older implementation that uses divisions.
45068
45069 2007-03-21  Bruno Haible  <bruno@clisp.org>
45070
45071         * modules/frexp-tests: New file.
45072         * tests/test-frexp.c: New file.
45073
45074         * modules/frexp: New file.
45075         * lib/frexp.c: New file.
45076         * m4/frexp.m4: New file.
45077         * lib/math_.h (frexp): New declaration.
45078         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
45079         REPLACE_FREXP.
45080         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
45081
45082 2007-03-21  Bruno Haible  <bruno@clisp.org>
45083
45084         * modules/isnanl-tests: New file.
45085         * tests/test-isnanl.c: New file.
45086
45087         * modules/isnanl: New file.
45088         * lib/isnanl.h: New file.
45089         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
45090         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
45091         gl_FUNC_ISNANL_WORKS.
45092         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
45093         New macros.
45094
45095 2007-03-21  Bruno Haible  <bruno@clisp.org>
45096
45097         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
45098         lib/isnanl.h.
45099         (Include): Update.
45100         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
45101         * lib/vasnprintf.c: Update.
45102         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
45103         tests/test-isnanl.h, remove tests/test-isnanl.c.
45104         (Makefile.am): Update.
45105         * tests/test-isnanl-nolibm.c: New file.
45106         * tests/test-isnanl.h: New file.
45107         * tests/test-isnanl.c: Remove file.
45108
45109 2007-03-21  Jim Meyering  <jim@meyering.net>
45110
45111         When trying to open ".", treat ESTALE like EACCES.
45112         * lib/savewd.c (savewd_save): Resort to forking not just upon
45113         failure with EACCES, but also when errno is ESTALE.
45114
45115 2007-03-20  Bruno Haible  <bruno@clisp.org>
45116
45117         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
45118         Needed on AIX 5.1. Reported by Matthew Woehlke.
45119
45120 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
45121
45122         Suggestions by Bruno Haible:
45123         * lib/acl-internal.h: Include "gettext.h" rather than rolling
45124         our own.
45125         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
45126         * modules/acl (Depends-on): Add gettext.
45127
45128 2007-03-19  Bruno Haible  <bruno@clisp.org>
45129
45130         * modules/iconvme: Remove file.
45131         * lib/iconvme.h: Remove file.
45132         * lib/iconvme.c: Remove file.
45133         * m4/iconvme.m4: Remove file.
45134
45135 2007-03-19  Bruno Haible  <bruno@clisp.org>
45136
45137         * doc/relocatable-maint.texi: Break long shell script line.
45138         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
45139
45140 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
45141
45142         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
45143         handle file_has_acl.
45144         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
45145         * lib/acl.c: Move header inclusions and related macro defns into
45146         lib/acl-internal.h.
45147         (S_ISLNK): Remove defn, since that's now done for us.
45148         (file_has_acl): Move to lib/file-has-acl.c.
45149         Call acl_trivial if available.  This is the crucial part of the fix.
45150         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
45151         shared within the library.  Rewrite a bit, partly to make it compatible
45152         with the GNU coding style.
45153         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
45154         Remove unnecessary double-quotes.
45155         Don't test for acl_to_text; the build will catch that.
45156         Replace acl_entries if it doesn't exist and it is needed.
45157         Check for -lsec and acl_trivial (as used on Solaris 10).
45158         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
45159         lib/file-has-acl.c.
45160         (Depends-on): Add sys_stat, for S_ISLNK.
45161
45162 2007-03-19  Ben Pfaff  <blp@gnu.org>
45163
45164         * doc/gnulib.texi: Fix typos.
45165         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
45166
45167 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
45168
45169         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
45170         If size is zero here, buf must be zero.
45171
45172 2007-03-19  Simon Josefsson  <simon@josefsson.org>
45173
45174         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
45175         <bruno@clisp.org>.
45176
45177 2007-03-18  Bruno Haible  <bruno@clisp.org>
45178
45179         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
45180         Suggested by Eric Blake.
45181
45182 2007-03-18  Ben Pfaff  <blp@gnu.org>
45183
45184         * doc/relocatable.texi: Recommend using as prefix a directory
45185         that does not exist and will never be created.  Based on
45186         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
45187         and others.
45188
45189 2007-03-17  Bruno Haible  <bruno@clisp.org>
45190
45191         * lib/fchownat.c: Include lchown.h.
45192
45193 2007-03-17  Bruno Haible  <bruno@clisp.org>
45194
45195         Fix endless loop when the given allocated size was > INT_MAX.
45196         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
45197         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
45198         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
45199         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
45200         * lib/sprintf.c (sprintf): Likewise.
45201
45202 2007-03-17  Bruno Haible  <bruno@clisp.org>
45203
45204         * tests/test-argp-2.sh (func_compare): Output a context diff.
45205
45206 2007-03-17  Bruno Haible  <bruno@clisp.org>
45207
45208         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
45209         locale's decimal-point character.
45210
45211 2007-03-17  Bruno Haible  <bruno@clisp.org>
45212
45213         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
45214         before comparing it. Needed because on some platforms (e.g. x86) a
45215         'long double' occupies less bytes than sizeof (long double).
45216
45217 2007-03-17  Bruno Haible  <bruno@clisp.org>
45218
45219         * tests/test-crc.c (main): Make printf statements 64-bit clean.
45220         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
45221         * tests/test-getaddrinfo.c (simple): Likewise.
45222         * tests/test-read-file.c (main): Likewise.
45223
45224 2007-03-17  Bruno Haible  <bruno@clisp.org>
45225
45226         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
45227
45228 2007-03-17  Bruno Haible  <bruno@clisp.org>
45229
45230         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
45231         unused variable.
45232
45233 2007-03-17  Bruno Haible  <bruno@clisp.org>
45234
45235         * tests/test-c-strcasecmp.c: Include c-strcase.h.
45236         * tests/test-c-strncasecmp.c: Likewise.
45237
45238 2007-03-17  Bruno Haible  <bruno@clisp.org>
45239
45240         * modules/stdlib (Depends-on): Add unistd.
45241         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
45242         Needed for MacOS X 10.3.
45243
45244 2007-03-17  Bruno Haible  <bruno@clisp.org>
45245
45246         * lib/unistr/u-strdup.h: Include <stdlib.h>.
45247
45248 2007-03-17  Bruno Haible  <bruno@clisp.org>
45249
45250         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
45251
45252 2007-03-17  Bruno Haible  <bruno@clisp.org>
45253
45254         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
45255         to reflect files copied from gnulib (with or without modifications).
45256         Suggested by Jim Meyering.
45257
45258 2007-03-17  Eric Blake  <ebb9@byu.net>
45259
45260         * NEWS: Document stdlib change from 2007-02-18.
45261
45262 2007-03-17  Jim Meyering  <jim@meyering.net>
45263
45264         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
45265         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
45266         someone uses a name containing shell meta-characters.
45267         Reported by Alfred M. Szmidt.
45268
45269         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
45270
45271 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
45272
45273         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
45274         and copy gettext configuration files only if configure.ac contains
45275         a use of AM_GNU_GETTEXT_VERSION.
45276
45277 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
45278
45279         * build-aux/bootstrap (gnulib_name): New variable.
45280         (gnulib_tool_options): Use it.
45281
45282 2007-03-13  Simon Josefsson  <simon@josefsson.org>
45283
45284         * tests/test-des.c: Use new namespace.
45285
45286 2007-03-15  Bruno Haible  <bruno@clisp.org>
45287
45288         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
45289         Reported by James Youngman <jay@gnu.org>.
45290
45291 2007-03-15  Bruno Haible  <bruno@clisp.org>
45292
45293         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
45294         declared prototype. Needed with cc on OSF/1 5.1.
45295
45296 2007-03-15  Bruno Haible  <bruno@clisp.org>
45297
45298         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
45299         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
45300         (struct gl_list_implementation): Add dispose_fn argument to the
45301         'create_empty', 'create' methods.
45302         (struct gl_list_impl_base): Add field 'dispose_fn'.
45303         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
45304         argument.
45305         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
45306         dispose_fn argument.
45307         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
45308         dispose_fn on the dropped values.
45309         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
45310         dispose_fn argument.
45311         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
45312         dropped values.
45313         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
45314         (gl_tree_remove_node): Call dispose_fn on the dropped value.
45315         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
45316         (gl_tree_remove_node): Call dispose_fn on the dropped value.
45317         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
45318         argument.
45319         (gl_tree_list_free): Call dispose_fn on the dropped values.
45320         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
45321         the dropped values.
45322         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
45323         Add dispose_fn argument.
45324         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
45325         Call dispose_fn on the dropped values.
45326         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
45327         Add dispose_fn argument.
45328         (gl_sublist_create): Initialize the 'dispose_fn' field.
45329         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
45330         * tests/test-array_list.c (main): Update.
45331         * tests/test-carray_list.c (main): Update.
45332         * tests/test-avltree_list.c (main): Update.
45333         * tests/test-rbtree_list.c (main): Update.
45334         * tests/test-avltreehash_list.c (main): Update.
45335         * tests/test-rbtreehash_list.c (main): Update.
45336         * tests/test-linked_list.c (main): Update.
45337         * tests/test-linkedhash_list.c (main): Update.
45338         * tests/test-array_oset.c (main): Update.
45339
45340 2007-03-15  Bruno Haible  <bruno@clisp.org>
45341
45342         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
45343         (gl_oset_create_empty): Add dispose_fn argument.
45344         (struct gl_oset_implementation): Add dispose_fn argument to
45345         'create_empty' method.
45346         (struct gl_oset_impl_base): Add dispose_fn field.
45347         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
45348         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
45349         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
45350         values.
45351         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
45352         (gl_tree_oset_free): Call dispose_fn on the dropped values.
45353         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
45354         dropped value.
45355         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
45356         dropped value.
45357         * tests/test-array_oset.c (main): Update.
45358         * tests/test-avltree_oset.c (main): Update.
45359         * tests/test-rbtree_oset.c (main): Update.
45360         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
45361
45362 2007-03-13  Bruno Haible  <bruno@clisp.org>
45363
45364         * tests/test-stdbool.c (i): Update after last patch.
45365
45366 2007-03-12  Bruno Haible  <bruno@clisp.org>
45367
45368         * lib/quotearg.c: Include <wctype.h> early, before the definition of
45369         the iswprint macro. Needed on Solaris 2.5.1.
45370
45371 2007-03-12  Bruno Haible  <bruno@clisp.org>
45372
45373         * tests/test-printf-frexp.c (main): Declare x as volatile.
45374
45375 2007-03-12  Simon Josefsson  <simon@josefsson.org>
45376
45377         * doc/gnulib.texi (Build robot for gnulib): New section.
45378
45379 2007-03-12  Jim Meyering  <jim@meyering.net>
45380
45381         * build-aux/bootstrap: New file.
45382         * build-aux/bootstrap.conf: New file, from coreutils.
45383
45384 2007-03-11  Bruno Haible  <bruno@clisp.org>
45385
45386         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
45387
45388 2007-03-12  Simon Josefsson  <simon@josefsson.org>
45389
45390         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
45391         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
45392         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
45393
45394 2007-03-11  Bruno Haible  <bruno@clisp.org>
45395
45396         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
45397         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
45398
45399 2007-03-11  Bruno Haible  <bruno@clisp.org>
45400
45401         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
45402         formula. Needed for SunPRO C 5.0.
45403
45404 2007-03-11  Bruno Haible  <bruno@clisp.org>
45405
45406         * modules/long-options (Depends-on): Add getopt.
45407
45408 2007-03-11  Bruno Haible  <bruno@clisp.org>
45409
45410         * modules/modechange (Depends-on): Add stdbool.
45411
45412 2007-03-11  Bruno Haible  <bruno@clisp.org>
45413
45414         * modules/i-ring (Depends-on): Add stdbool.
45415
45416 2007-03-11  Bruno Haible  <bruno@clisp.org>
45417
45418         * modules/gc-des (Depends-on): Add stdbool.
45419
45420 2007-03-11  Bruno Haible  <bruno@clisp.org>
45421
45422         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
45423
45424 2007-03-11  Bruno Haible  <bruno@clisp.org>
45425
45426         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
45427
45428 2007-03-11  Bruno Haible  <bruno@clisp.org>
45429
45430         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
45431
45432 2007-03-11  Bruno Haible  <bruno@clisp.org>
45433
45434         * lib/vasnprintf.c (sprintf): Undefine.
45435
45436 2007-03-11  Bruno Haible  <bruno@clisp.org>
45437
45438         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
45439         initializers in SunPRO C and Compaq C compilers.
45440
45441 2007-03-11  Bruno Haible  <bruno@clisp.org>
45442
45443         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
45444         decrementing code ANSI C compliant.
45445
45446 2007-03-11  Bruno Haible  <bruno@clisp.org>
45447
45448         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
45449         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
45450
45451 2007-03-11  Bruno Haible  <bruno@clisp.org>
45452
45453         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
45454         <stdbool.h> substitute doesn't pass.
45455
45456 2007-03-11  Bruno Haible  <bruno@clisp.org>
45457
45458         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
45459
45460 2007-03-11  Bruno Haible  <bruno@clisp.org>
45461
45462         * gnulib-tool (func_create_megatestdir): Create also an autobuild
45463         script, for submission to autobuild.josefsson.org.
45464
45465 2007-03-10  Bruno Haible  <bruno@clisp.org>
45466
45467         * modules/canonicalize-lgpl-tests: New file.
45468         * tests/test-canonicalize-lgpl.sh: New file.
45469         * tests/test-canonicalize-lgpl.c: New file.
45470
45471         * modules/c-strcase-tests: New file.
45472         * tests/test-c-strcase.sh: New file.
45473         * tests/test-c-strcasecmp.c: New file.
45474         * tests/test-c-strncasecmp.c: New file.
45475
45476         * modules/atexit-tests: New file.
45477         * tests/test-atexit.sh: New file.
45478         * tests/test-atexit.c: New file.
45479
45480 2007-03-10  Bruno Haible  <bruno@clisp.org>
45481
45482         * tests/test-binary-io.sh: Use temporary filenames that are not so
45483         likely to clash with those of other tests (in a parallel make).
45484         * tests/test-binary-io.c: Likewise.
45485
45486 2007-03-10  Bruno Haible  <bruno@clisp.org>
45487
45488         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
45489         fallback; use #error instead.
45490         Suggested by Simon Josefsson.
45491
45492 2007-03-10  Bruno Haible  <bruno@clisp.org>
45493
45494         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
45495         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
45496         first and the last.
45497
45498 2007-03-10  Bruno Haible  <bruno@clisp.org>
45499
45500         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
45501
45502 2007-03-10  Bruno Haible  <bruno@clisp.org>
45503
45504         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
45505         "make distcheck".
45506         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
45507         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
45508         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
45509
45510 2007-03-10  Bruno Haible  <bruno@clisp.org>
45511
45512         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
45513         variable.
45514         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
45515         variable.
45516
45517 2007-03-09  Eric Blake  <ebb9@byu.net>
45518         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
45519
45520         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
45521         types are not being provided by gnulib.
45522         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
45523         types are supported.
45524
45525 2007-03-10  Bruno Haible  <bruno@clisp.org>
45526
45527         * lib/stdio_.h (__attribute__): New macro.
45528         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
45529         vsprintf): Specify __attribute__ __format__ for GCC.
45530         Suggested by Eric Blake.
45531
45532 2007-03-09  Bruno Haible  <bruno@clisp.org>
45533
45534         * modules/printf-posix-tests: New file.
45535         * tests/test-printf-posix.sh: New file.
45536         * tests/test-printf-posix.c: New file.
45537
45538         * modules/printf-posix: New file.
45539         * lib/printf.c: New file.
45540         * m4/printf-posix-rpl.m4: New file.
45541         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
45542         REPLACE_PRINTF.
45543         * lib/stdio_.h (printf): New declaration.
45544         (format, __format__, ____printf____, ____scanf____, ____strftime____,
45545         ____strfmon____): New macros.
45546         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
45547         REPLACE_PRINTF.
45548
45549 2007-03-09  Bruno Haible  <bruno@clisp.org>
45550
45551         * tests/test-vasnprintf-posix2.sh: New file.
45552         * tests/test-vasnprintf-posix2.c: New file.
45553         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
45554         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
45555         (Makefile.am): Activate test-vasnprintf-posix2.sh.
45556
45557         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
45558         a locale dependent decimal point, rather than always '.'.
45559
45560 2007-03-09  Eric Blake  <ebb9@byu.net>
45561
45562         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
45563         spite of platforms like Tandem/NSK that define it to -1.
45564
45565 2007-03-08  Bruno Haible  <bruno@clisp.org>
45566
45567         * modules/vprintf-posix-tests: New file.
45568         * tests/test-vprintf-posix.sh: New file.
45569         * tests/test-vprintf-posix.c: New file.
45570         * tests/test-printf-posix.h: New file.
45571
45572         * modules/vprintf-posix: New file.
45573         * lib/vprintf.c: New file.
45574         * m4/vprintf-posix.m4: New file.
45575         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
45576         REPLACE_VPRINTF.
45577         * lib/stdio_.h (vprintf): New declaration.
45578         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
45579         REPLACE_VPRINTF.
45580
45581 2007-03-08  Bruno Haible  <bruno@clisp.org>
45582
45583         * modules/fprintf-posix-tests: New file.
45584         * tests/test-fprintf-posix.sh: New file.
45585         * tests/test-fprintf-posix.c: New file.
45586
45587         * modules/fprintf-posix: New file.
45588         * lib/fprintf.c: New file.
45589         * m4/fprintf-posix.m4: New file.
45590         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
45591         REPLACE_FPRINTF.
45592         * lib/stdio_.h (fprintf): New declaration.
45593         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
45594         REPLACE_FPRINTF.
45595
45596 2007-03-08  Bruno Haible  <bruno@clisp.org>
45597
45598         * modules/vfprintf-posix-tests: New file.
45599         * tests/test-vfprintf-posix.sh: New file.
45600         * tests/test-vfprintf-posix.c: New file.
45601         * tests/test-fprintf-posix.h: New file.
45602         * tests/test-fprintf-posix.out: New file.
45603
45604         * modules/vfprintf-posix: New file.
45605         * lib/vfprintf.c: New file.
45606         * m4/vfprintf-posix.m4: New file.
45607         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
45608         REPLACE_VFPRINTF.
45609         * lib/stdio_.h (vfprintf): New declaration.
45610         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
45611         REPLACE_VFPRINTF.
45612
45613 2007-03-08  Bruno Haible  <bruno@clisp.org>
45614
45615         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
45616
45617 2007-03-08  Bruno Haible  <bruno@clisp.org>
45618
45619         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
45620         instead of 'expr' invocations.
45621         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
45622         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
45623         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
45624         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
45625         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
45626         Suggested by Paul Eggert.
45627
45628 2007-03-08  Bruno Haible  <bruno@clisp.org>
45629
45630         * modules/fseterr-tests: New file.
45631         * tests/test-fseterr.c: New file.
45632
45633         * modules/fseterr: New file.
45634         * lib/fseterr.h: New file.
45635         * lib/fseterr.c: New file.
45636
45637 2007-03-08  Bruno Haible  <bruno@clisp.org>
45638
45639         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
45640         * lib/getopt_.h: Likewise.
45641         * lib/mbswidth.h: Likewise.
45642         * lib/setenv.h: Likewise.
45643         * lib/vasnprintf.h: Likewise.
45644         * lib/vasprintf.h: Likewise.
45645         * lib/verror.h: Likewise.
45646         * lib/xsetenv.h: Likewise.
45647         * lib/xvasprintf.h: Likewise.
45648
45649 2007-03-08  Jim Meyering  <jim@meyering.net>
45650
45651         * users.txt: Add parted.
45652
45653         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
45654
45655 2007-03-07  Bruno Haible  <bruno@clisp.org>
45656
45657         * m4/printf.m4: Make the shell script snippets copy&pastable.
45658
45659 2007-03-02  Bruno Haible  <bruno@clisp.org>
45660
45661         * lib/netinet_in_.h: New file.
45662         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
45663         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
45664         * modules/netinet_in (Files): Add lib/netinet_in_.h.
45665         (Depends-on): Add absolute-header.
45666         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
45667         into netinet/in.h.
45668
45669 2007-03-03  Bruno Haible  <bruno@clisp.org>
45670
45671         * lib/sys_select_.h: New file.
45672         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
45673         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
45674         * modules/sys_select (Files): Add lib/sys_select_.h.
45675         (Depends-on): Add absolute-header.
45676         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
45677         into sys/select.h.
45678
45679 2007-03-02  Bruno Haible  <bruno@clisp.org>
45680
45681         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
45682         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
45683         values.
45684         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
45685         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
45686         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
45687         * modules/sys_socket (Depends-on): Add absolute-header.
45688         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
45689         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
45690         (Include): Remove requirement of inclusion of <sys/types.h>.
45691
45692 2007-03-02  Bruno Haible  <bruno@clisp.org>
45693
45694         * lib/byteswap_.h (bswap_32): Fix formula.
45695
45696 2007-03-06  Bruno Haible  <bruno@clisp.org>
45697
45698         * modules/sprintf-posix-tests: New file.
45699         * tests/test-sprintf-posix.c: New file.
45700
45701         * modules/sprintf-posix: New file.
45702         * lib/sprintf.c: New file.
45703         * m4/sprintf-posix.m4: New file.
45704         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
45705         REPLACE_SPRINTF.
45706         * lib/stdio_.h (sprintf): New declaration.
45707         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
45708         REPLACE_SPRINTF.
45709
45710 2007-03-06  Bruno Haible  <bruno@clisp.org>
45711
45712         * modules/vsprintf-posix-tests: New file.
45713         * tests/test-vsprintf-posix.c: New file.
45714         * tests/test-sprintf-posix.h: New file.
45715
45716         * modules/vsprintf-posix: New file.
45717         * lib/vsprintf.c: New file.
45718         * m4/vsprintf-posix.m4: New file.
45719         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
45720         REPLACE_VSPRINTF.
45721         * lib/stdio_.h (vsprintf): New declaration.
45722         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
45723         REPLACE_VSPRINTF.
45724
45725 2007-03-06  Bruno Haible  <bruno@clisp.org>
45726
45727         * modules/vsnprintf (Depend-on): Remove minmax.
45728
45729 2007-03-06  Bruno Haible  <bruno@clisp.org>
45730
45731         * modules/snprintf-posix-tests: New file.
45732         * tests/test-snprintf-posix.c: New file.
45733
45734         * modules/snprintf-posix: New file.
45735         * m4/snprintf-posix.m4: New file.
45736         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
45737         gl_FUNC_SNPRINTF.
45738         (gl_FUNC_SNPRINTF): Invoke it.
45739         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
45740         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
45741         is set.
45742         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
45743
45744 2007-03-06  Bruno Haible  <bruno@clisp.org>
45745
45746         * modules/vsnprintf-posix-tests: New file.
45747         * tests/test-vsnprintf-posix.c: New file.
45748         * tests/test-snprintf-posix.h: New file.
45749
45750         * modules/vsnprintf-posix: New file.
45751         * m4/vsnprintf-posix.m4: New file.
45752         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
45753         gl_FUNC_VSNPRINTF.
45754         (gl_FUNC_VSNPRINTF): Invoke it.
45755         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
45756         * lib/stdio_.h (vsnprintf): Define as a replacement if
45757         REPLACE_VSNPRINTF is set.
45758         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
45759
45760 2007-03-06  Bruno Haible  <bruno@clisp.org>
45761
45762         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
45763         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
45764
45765 2007-03-06  Bruno Haible  <bruno@clisp.org>
45766
45767         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
45768         (asinl): Declare also if HAVE_DECL_ASINL is set.
45769         (atanl): Declare also if HAVE_DECL_ATANL is set.
45770         (ceill): Declare also if HAVE_DECL_CEILL is set.
45771         (cosl): Declare also if HAVE_DECL_COSL is set.
45772         (expl): Declare also if HAVE_DECL_EXPL is set.
45773         (floorl): Declare also if HAVE_DECL_FLOORL is set.
45774         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
45775         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
45776         (logl): Declare also if HAVE_DECL_LOGL is set.
45777         (sinl): Declare also if HAVE_DECL_SINL is set.
45778         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
45779         (tanl): Declare also if HAVE_DECL_TANL is set.
45780         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
45781         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
45782         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
45783         declaration of frexpl, ldexpl.
45784         * modules/printf-frexpl (Depends-on): Add math.
45785         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
45786
45787 2007-03-05  Bruno Haible  <bruno@clisp.org>
45788
45789         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
45790         frexpl and ldexpl are declared.
45791         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
45792
45793 2007-03-05  Bruno Haible  <bruno@clisp.org>
45794
45795         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
45796         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
45797
45798 2007-03-05  Bruno Haible  <bruno@clisp.org>
45799
45800         * lib/stdio_.h: Include <stddef.h>.
45801
45802 2007-03-05  Bruno Haible  <bruno@clisp.org>
45803
45804         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
45805
45806 2007-03-05  Bruno Haible  <bruno@clisp.org>
45807
45808         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
45809         NetBSD 4, from Ralf Wildenhues.
45810
45811 2007-03-04  Bruno Haible  <bruno@clisp.org>
45812
45813         * lib/vasprintf.h: Update #if logic for the case when the functions
45814         exist but are overridden.
45815
45816 2007-03-04  Bruno Haible  <bruno@clisp.org>
45817
45818         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
45819         implementations: glibc-2.4 and MacOS X 10.3.
45820         * tests/test-vasnprintf-posix.c (test_function): Test also the case
45821         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
45822         * tests/test-vasprintf-posix.c (test_function): Likewise.
45823
45824 2007-03-04  Bruno Haible  <bruno@clisp.org>
45825
45826         * modules/vasprintf-posix-tests: New file.
45827         * tests/test-vasprintf-posix.c: New file.
45828
45829         * modules/vasprintf-posix: New file.
45830         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
45831         defined.
45832         * m4/vasprintf-posix.m4: New file.
45833         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
45834         gl_FUNC_VASPRINTF.
45835         (gl_FUNC_VASPRINTF): Invoke it.
45836         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
45837         here.
45838         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
45839
45840 2007-03-04  Bruno Haible  <bruno@clisp.org>
45841
45842         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
45843         REPLACE_GETTIMEOFDAY.
45844         * modules/sys_time (Makefile.am): Likewise.
45845         * m4/sys_time_h.m4: Likewise.
45846         * m4/gettimeofday.m4: Likewise.
45847
45848 2007-03-04  Bruno Haible  <bruno@clisp.org>
45849
45850         * modules/vasnprintf-posix-tests: New file.
45851         * tests/test-vasnprintf-posix.c: New file.
45852
45853         * modules/vasnprintf-posix: New file.
45854         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
45855         printf-frexpl.h.
45856         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
45857         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
45858         REPLACE_VASNPRINTF is defined.
45859         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
45860         gl_FUNC_VASNPRINTF.
45861         (gl_FUNC_VASNPRINTF): Invoke it.
45862         * m4/vasnprintf-posix.m4: New file.
45863         * m4/printf.m4: New file.
45864
45865 2007-03-04  Bruno Haible  <bruno@clisp.org>
45866
45867         Compile progreloc.c only if --enable-relocatable is specified.
45868         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
45869         if --enable-relocatable was specified.
45870         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
45871         lib_SOURCES.
45872
45873 2007-03-04  Jim Meyering  <jim@meyering.net>
45874
45875         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
45876         Use it consistently, rather than enumerating errno constants.
45877
45878 2007-03-04  Bruno Haible  <bruno@clisp.org>
45879
45880         * modules/xvasprintf-tests: New file.
45881         * tests/test-xvasprintf.c: New file.
45882
45883         * modules/vasprintf-tests: New file.
45884         * tests/test-vasprintf.c: New file.
45885
45886         * modules/vasnprintf-tests: New file.
45887         * tests/test-vasnprintf.c: New file.
45888
45889         * modules/vsnprintf-tests: New file.
45890         * tests/test-vsnprintf.c: New file.
45891
45892         * modules/snprintf-tests: New file.
45893         * tests/test-snprintf.c: New file.
45894
45895 2007-03-04  Bruno Haible  <bruno@clisp.org>
45896
45897         Compile relocatable.c only if --enable-relocatable is specified.
45898         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
45899         gl_RELOCATABLE_LIBRARY.
45900         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
45901         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
45902         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
45903         gl_RELOCATABLE_LIBRARY.
45904         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
45905         (Makefile.am): Remove lib_SOURCES.
45906         * modules/relocatable-lib-lgpl (configure.ac): Invoke
45907         gl_RELOCATABLE_LIBRARY.
45908         (Makefile.am): Remove lib_SOURCES.
45909         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
45910         always.
45911         * modules/relocatable-prog-wrapper (configure.ac): Invoke
45912         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
45913
45914 2007-03-04  Bruno Haible  <bruno@clisp.org>
45915
45916         * modules/argmatch-tests: New file.
45917         * tests/test-argmatch.c: New file.
45918
45919         * tests/test-allocsa.c (main): Halve the number of loop runs.
45920
45921         * modules/alloca-opt-tests: New file.
45922         * tests/test-alloca-opt.c: New file.
45923
45924 2007-03-04  Jim Meyering  <jim@meyering.net>
45925
45926         Work around difference between Linux ACLs and Solaris 10 ZFS.
45927         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
45928         for EINVAL.
45929
45930 2007-03-03  Bruno Haible  <bruno@clisp.org>
45931
45932         * modules/relocatable-prog (Depends-on): Add back progreloc's
45933         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
45934
45935 2007-03-03  Bruno Haible  <bruno@clisp.org>
45936
45937         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
45938         * modules/relocatable-lib: New file.
45939
45940 2007-03-03  Bruno Haible  <bruno@clisp.org>
45941
45942         * modules/relocatable-prog: Renamed from modules/relocatable.
45943         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
45944
45945 2007-03-03  Bruno Haible  <bruno@clisp.org>
45946
45947         * modules/relocatable-script (Files): Add doc/relocatable.texi,
45948         m4/relocatable-lib.m4.
45949         (Depends-on): Remove 'relocatable'.
45950         (configure.ac): Add gl_RELOCATABLE_NOP.
45951
45952 2007-03-03  Bruno Haible  <bruno@clisp.org>
45953
45954         * modules/relocatable-prog-wrapper: New file.
45955         * modules/relocatable (Depends-on): Add it. Remove all other
45956         dependencies except progname.
45957         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
45958
45959         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
45960         (gl_FUNC_STRERROR): Nop.
45961         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
45962
45963         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
45964         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
45965
45966         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
45967         (gl_FUNC_READLINK): Update.
45968
45969         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
45970
45971 2007-03-03  Bruno Haible  <bruno@clisp.org>
45972
45973         * lib/xreadlink.c: Include <unistd.h> unconditionally.
45974         * modules/xreadlink (Depends-on): Add unistd.
45975         * modules/xreadlink-with-size (Depends-on): Likewise.
45976
45977 2007-03-03  Bruno Haible  <bruno@clisp.org>
45978
45979         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
45980         extracted from gt_FUNC_SETENV.
45981         (gt_FUNC_SETENV): Remove macro.
45982         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
45983         remove gt_FUNC_SETENV.
45984
45985 2007-03-03  Bruno Haible  <bruno@clisp.org>
45986
45987         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
45988         ENABLE_RELOCATABLE here.
45989         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
45990
45991 2007-03-03  Bruno Haible  <bruno@clisp.org>
45992
45993         * modules/rbtreehash-list-tests (Depends-on): Add progname.
45994         * tests/test-rbtreehash_list.c: Include progname.h.
45995         (main): Call set_program_name.
45996
45997         * modules/rbtree-oset-tests (Depends-on): Add progname.
45998         * tests/test-rbtree_oset.c: Include progname.h.
45999         (main): Call set_program_name.
46000
46001         * modules/rbtree-list-tests (Depends-on): Add progname.
46002         * tests/test-rbtree_list.c: Include progname.h.
46003         (main): Call set_program_name.
46004
46005         * modules/linked-list-tests (Depends-on): Add progname.
46006         * tests/test-linked_list.c: Include progname.h.
46007         (main): Call set_program_name.
46008
46009 2007-03-03  Bruno Haible  <bruno@clisp.org>
46010
46011         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
46012         All uses of __restrict changed to _Restrict_.
46013         * lib/glob_.h (__restrict): Remove macro.
46014
46015 2007-03-02  Bruno Haible  <bruno@clisp.org>
46016
46017         * modules/gettext (configure.ac): Require gettext infrastructure
46018         from version 0.16.1.
46019
46020 2007-03-02  Bruno Haible  <bruno@clisp.org>
46021
46022         * modules/linkedhash-list-tests (Depends-on): Add progname.
46023         * tests/test-linkedhash_list.c: Include progname.h.
46024         (main): Call set_program_name.
46025
46026         * modules/carray-list-tests (Depends-on): Add progname.
46027         * tests/test-carray_list.c: Include progname.h.
46028         (main): Call set_program_name.
46029
46030         * modules/avltreehash-list-tests (Depends-on): Add progname.
46031         * tests/test-avltreehash_list.c: Include progname.h.
46032         (main): Call set_program_name.
46033
46034         * modules/avltree-oset-tests (Depends-on): Add progname.
46035         * tests/test-avltree_oset.c: Include progname.h.
46036         (main): Call set_program_name.
46037
46038         * modules/avltree-list-tests (Depends-on): Add progname.
46039         * tests/test-avltree_list.c: Include progname.h.
46040         (main): Call set_program_name.
46041
46042         * modules/array-oset-tests (Depends-on): Add progname.
46043         * tests/test-array_oset.c: Include progname.h.
46044         (main): Call set_program_name.
46045
46046         * modules/array-list-tests (Depends-on): Add progname.
46047         * tests/test-array_list.c: Include progname.h.
46048         (main): Call set_program_name.
46049
46050         * modules/argp-tests (Depends-on): Add progname.
46051         * tests/test-argp.c: Include argp.h first. Include progname.h.
46052         (main): Call set_program_name.
46053
46054 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
46055
46056         * doc/gnulib-tool.texi (Initial import): Reword description of
46057         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
46058         limited effect even if defined after the first system include.
46059
46060 2007-03-01  Bruno Haible  <bruno@clisp.org>
46061
46062         * build-aux/config.libpath: Update to libtool-1.5.22.
46063         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46064
46065 2007-03-01  Bruno Haible  <bruno@clisp.org>
46066
46067         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
46068         foo_CFLAGS.
46069         Reported by Ralf Wildenhues.
46070
46071 2007-03-01  Bruno Haible  <bruno@clisp.org>
46072
46073         * build-aux/install-reloc: Remove object files left over by some
46074         compilers.
46075         Reported by Ralf Wildenhues.
46076
46077 2007-03-01  Bruno Haible  <bruno@clisp.org>
46078
46079         * build-aux/install-reloc: Break long lines.
46080
46081 2007-03-01  Bruno Haible  <bruno@clisp.org>
46082
46083         * doc/relocatable.texi: Document that it may not work on OpenBSD.
46084         Reported by Ralf Wildenhues.
46085
46086 2007-03-01  Bruno Haible  <bruno@clisp.org>
46087
46088         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
46089         include ordering constraints.
46090
46091 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
46092
46093         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
46094         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
46095         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
46096         as another example.
46097         * lib/time_.h: Fix misspelling.
46098         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
46099         Require gl_HEADER_TIME_H_DEFAULTS.
46100         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
46101         * m4/time_r.m4 (gl_TIME_R): Likewise.
46102         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
46103
46104 2007-03-01  Bruno Haible  <bruno@clisp.org>
46105
46106         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
46107         * m4/utimens.m4 (gl_UTIMENS): Likewise.
46108
46109 2007-03-01  Jim Meyering  <jim@meyering.net>
46110
46111         * modules/xreadlink (Maintainer): Add my name.
46112         * modules/xreadlink-with-size (Depends-on): Alphabetize.
46113
46114 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
46115             Bruno Haible  <bruno@clisp.org>
46116
46117         * build-aux/install-reloc: Compile also c-ctype.c.
46118         * build-aux/relocatable.sh.in: New file.
46119         * doc/relocatable.texi: New file.
46120         * doc/relocatable-maint.texi: New file.
46121         * doc/gnulib.texi: Include relocatable-maint.texi.
46122         * lib/progreloc.c: Include unistd.h unconditionally.
46123         * lib/relocwrapper.c: Include unistd.h unconditionally.
46124         Include c-ctype.h.
46125         (add_dotbin): Use c_tolower.
46126         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
46127         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
46128         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
46129         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
46130         to m4/relocatable-lib.m4.
46131         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
46132         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
46133         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
46134         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
46135         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
46136         * modules/relocatable: New file.
46137         * modules/relocatable-lib: New file.
46138         * modules/relocatable-script: New file.
46139
46140 2007-02-28  Bruno Haible  <bruno@clisp.org>
46141
46142         Import --enable-relocatable infrastructure.
46143         * build-aux/config.libpath: New file, from GNU gettext.
46144         * build-aux/install-reloc: New file, from GNU gettext.
46145         * build-aux/reloc-ldflags: New file, from GNU gettext.
46146         * lib/relocatable.h: New file, from GNU gettext.
46147         * lib/relocatable.c: New file, from GNU gettext.
46148         * lib/relocwrapper.c: New file, from GNU gettext.
46149         * m4/relocatable.m4: New file, from GNU gettext.
46150
46151 2007-02-28  Bruno Haible  <bruno@clisp.org>
46152
46153         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
46154
46155         * modules/xreadlink: New file, from GNU gettext with modifications.
46156         * lib/xreadlink.c: New file, from GNU gettext.
46157         * lib/xreadlink.h: Add comments.
46158         (xreadlink): New declaration.
46159
46160         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
46161         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
46162         lib/xreadlink-with-size.c.
46163         (configure.ac): Remove gl_XREADLINK invocation.
46164         (Makefile.am): Augment lib_SOURCES.
46165         * m4/xreadlink.m4: Remove file.
46166         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
46167         (xreadlink_with_size): Renamed from xreadink.
46168         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
46169         * modules/canonicalize (Depends-on): Replace xreadlink with
46170         xreadlink-with-size.
46171         * lib/canonicalize.c (canonicalize_filename_mode): Update.
46172
46173 2007-02-25  Jim Meyering  <jim@meyering.net>
46174
46175         * build-aux/announce-gen: When complaining about excess arguments,
46176         list them.
46177
46178 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
46179
46180         * README: Document signed integer overflow situation more
46181         accurately.
46182
46183 2007-02-25  Bruno Haible  <bruno@clisp.org>
46184
46185         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
46186         'a' or 'A' conversion.
46187
46188 2007-02-25  Bruno Haible  <bruno@clisp.org>
46189
46190         * modules/filename: Renamed from modules/pathname.
46191         (Files): Replace lib/pathname.h with lib/filename.h. Replace
46192         lib/concatpath.c with lib/concat-filename.c.
46193         (Makefile.am): Update.
46194         (Include): Replace pathname.h with filename.h.
46195         * lib/filename.h: Renamed from lib/pathname.h.
46196         (concatenated_filename): Renamed from concatenated_pathname.
46197         * lib/concat-filename.c: Renamed from lib/concatpath.c.
46198         (concatenated_filename): Renamed from concatenated_pathname.
46199         * lib/findprog.c: Include filename.h instead of pathname.h.
46200         (find_in_path): Update.
46201         * lib/javacomp.c: Include filename.h instead of pathname.h.
46202         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
46203         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
46204         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
46205         is_oldgcj_14_13_usable, is_javac_usable): Update.
46206         * lib/javaexec.c: Include filename.h instead of pathname.h.
46207         (execute_java_class): Update.
46208         * modules/findprog: Update.
46209         * modules/javacomp: Update.
46210         * modules/javaexec: Update.
46211         * MODULES.html.sh (File system functions): Add 'filename', remove
46212         'pathname'.
46213
46214 2007-02-25  Bruno Haible  <bruno@clisp.org>
46215
46216         * modules/printf-frexpl-tests: New file.
46217         * tests/test-printf-frexpl.c: New file.
46218
46219         * modules/printf-frexpl: New file.
46220         * lib/printf-frexpl.h: New file.
46221         * lib/printf-frexpl.c: New file.
46222         * m4/printf-frexpl.m4: New file.
46223
46224 2007-02-25  Bruno Haible  <bruno@clisp.org>
46225
46226         * modules/printf-frexp-tests: New file.
46227         * tests/test-printf-frexp.c: New file.
46228
46229         * modules/printf-frexp: New file.
46230         * lib/printf-frexp.h: New file.
46231         * lib/printf-frexp.c: New file.
46232         * m4/printf-frexp.m4: New file.
46233
46234 2007-02-25  Bruno Haible  <bruno@clisp.org>
46235
46236         Assume automake >= 1.10 for the tests.
46237         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
46238         * modules/arctwo-tests: Likewise.
46239         * modules/argp-tests: Likewise.
46240         * modules/avltree-list-tests: Likewise.
46241         * modules/avltree-oset-tests: Likewise.
46242         * modules/avltreehash-list-tests: Likewise.
46243         * modules/carray-list-tests: Likewise.
46244         * modules/crc-tests: Likewise.
46245         * modules/des-tests: Likewise.
46246         * modules/gc-arcfour-tests: Likewise.
46247         * modules/gc-arctwo-tests: Likewise.
46248         * modules/gc-des-tests: Likewise.
46249         * modules/gc-hmac-md5-tests: Likewise.
46250         * modules/gc-hmac-sha1-tests: Likewise.
46251         * modules/gc-md2-tests: Likewise.
46252         * modules/gc-md4-tests: Likewise.
46253         * modules/gc-md5-tests: Likewise.
46254         * modules/gc-pbkdf2-sha1-tests: Likewise.
46255         * modules/gc-rijndael-tests: Likewise.
46256         * modules/gc-sha1-tests: Likewise.
46257         * modules/gc-tests: Likewise.
46258         * modules/getaddrinfo-tests: Likewise.
46259         * modules/hmac-md5-tests: Likewise.
46260         * modules/hmac-sha1-tests: Likewise.
46261         * modules/linked-list-tests: Likewise.
46262         * modules/linkedhash-list-tests: Likewise.
46263         * modules/lock-tests: Likewise.
46264         * modules/md2-tests: Likewise.
46265         * modules/md4-tests: Likewise.
46266         * modules/md5-tests: Likewise.
46267         * modules/rbtree-list-tests: Likewise.
46268         * modules/rbtree-oset-tests: Likewise.
46269         * modules/rbtreehash-list-tests: Likewise.
46270         * modules/read-file-tests: Likewise.
46271         * modules/rijndael-tests: Likewise.
46272         * modules/stdint-tests: Likewise.
46273         * modules/tls-tests: Likewise.
46274
46275 2007-02-24  Bruno Haible  <bruno@clisp.org>
46276
46277         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
46278         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
46279         function; instead check whether isnan with a double argument links.
46280         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
46281         function; instead check whether isnan with a 'long double' argument
46282         links.
46283         Reported by Eric Blake <ebb9@byu.net>.
46284
46285 2007-02-24  Bruno Haible  <bruno@clisp.org>
46286
46287         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
46288         defined.
46289         * lib/isnanl.c: Remove all code. Just include isnan.c.
46290         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
46291
46292 2007-02-25  Jim Meyering  <jim@meyering.net>
46293
46294         Avoid conflicting types for 'unsetenv' on FreeBSD.
46295         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
46296         conflicting with FreeBSD's (5.0 and 6.1) function declaration
46297         in stdlib.h.
46298
46299 2007-02-24  Bruno Haible  <bruno@clisp.org>
46300
46301         * modules/isnanl-nolibm-tests: New file.
46302         * tests/test-isnanl.c: New file.
46303
46304         * modules/isnanl-nolibm: New file.
46305         * lib/isnanl.h: New file.
46306         * lib/isnanl.c: New file.
46307         * m4/isnanl.m4: New file.
46308
46309 2007-02-24  Bruno Haible  <bruno@clisp.org>
46310
46311         * modules/isnan-nolibm-tests: New file.
46312         * tests/test-isnan.c: New file.
46313
46314         * modules/isnan-nolibm: New file.
46315         * lib/isnan.h: New file.
46316         * lib/isnan.c: New file.
46317         * m4/isnan.m4: New file.
46318
46319 2007-02-24  Bruno Haible  <bruno@clisp.org>
46320
46321         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
46322         assume that an exponent fits in 20 bits.
46323
46324 2007-02-24  Jim Meyering  <jim@meyering.net>
46325
46326         * m4/regex.m4: Update the description of the configure-time option,
46327         --without-included-regex, to state accurately what the defaults are,
46328         and perhaps to give people an idea why using this option is risky.
46329
46330 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
46331
46332         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
46333         loops on small arguments.  This attempts to avoid the problem
46334         Bruno Haible reported for AIX 4.3.2 in
46335         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
46336
46337 2007-02-23  Bruno Haible  <bruno@clisp.org>
46338
46339         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
46340         Needed for help2man.
46341
46342 2007-02-23  Karl Berry  <karl@gnu.org>
46343
46344         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
46345         exists, foo.h should be cvs-ignored, not committed.
46346
46347 2007-02-23  Eric Blake  <ebb9@byu.net>
46348
46349         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
46350         * lib/stat-time.h (includes): Likewise.
46351         * lib/utimecmp.c (includes): Likewise.
46352         * lib/utimens.h (includes): Likewise.
46353         * lib/getdate.y (includes): Also include "timespec.h" for use
46354         internal to the module.
46355         * modules/utimens (Depends-on): Revert yesterday's patch.
46356         * modules/nanosleep (Depends-on): Add missing dependency.
46357
46358 2007-02-22  Bruno Haible  <bruno@clisp.org>
46359
46360         * lib/glob.c: Don't include getlogin_r.h.
46361
46362 2007-02-22  Jim Meyering  <jim@meyering.net>
46363
46364         * modules/utimens (Depends-on): Add timespec, required for
46365         utimens.h's inclusion of timespec.h.
46366
46367 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
46368
46369         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
46370         long unreadable paths in GNU/Linux.  Problem reported by Andreas
46371         Schwab in
46372         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
46373         I'll try to think of a better way to fix the Solaris problem.
46374
46375         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
46376         like glibc; on Solaris 10, it fails with errno == EINVAL.
46377         POSIX says the behavior is unspecified if the first argument is NULL,
46378         so play it safe and never pass NULL to the system getcwd.
46379
46380 2007-02-21  Jim Meyering  <jim@meyering.net>
46381
46382         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
46383         of gettimeofday.  It would conflict with the one now always
46384         provided via sys_time_.h.  Reported by Matthew Woehlke, as
46385         an IRIX 6.5 build failure.
46386
46387 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
46388
46389         Minor fixups to port to Solaris 10 with Sun C 5.8.
46390         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
46391         * modules/getcwd (Depends-on): Add dirfd.
46392         * lib/putenv.c (putenv): #undef it.
46393         (rpl_putenv): New decl.
46394         (malloc, free): Include <stdlib.h> rather than prototyping separately.
46395
46396 2007-02-20  Bruno Haible  <bruno@clisp.org>
46397
46398         * modules/stdio-tests: New file.
46399         * tests/test-stdio.c: New file.
46400
46401         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
46402         (Depends-on): Add stdio.
46403         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
46404         (Include): Use <stdio.h> instead of vsnprintf.h.
46405         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
46406         HAVE_DECL_VSNPRINTF.
46407         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
46408
46409         * modules/snprintf (Files): Remove lib/snprintf.h.
46410         (Depends-on): Add stdio.
46411         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
46412         (Include): Use <stdio.h> instead of snprintf.h.
46413         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
46414         HAVE_DECL_SNPRINTF.
46415         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
46416         * lib/getaddrinfo.c: Likewise.
46417
46418         * modules/stdio: New file.
46419         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
46420         * lib/snprintf.h: Remove file.
46421         * lib/vsnprintf.h: Remove file.
46422         * lib/.cppi-disable: Remove snprintf.h.
46423         * m4/stdio_h.m4: New file.
46424         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
46425
46426 2007-02-20  Jim Meyering  <jim@meyering.net>
46427
46428         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
46429         used by e.g., mingw.  From Bruno Haible.
46430
46431 2007-02-19  Bruno Haible  <bruno@clisp.org>
46432
46433         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
46434         warnings.
46435         Reported by Ben Pfaff <blp@cs.stanford.edu>.
46436
46437 2007-02-19  Bruno Haible  <bruno@clisp.org>
46438
46439         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
46440         from mingw users.
46441
46442 2007-02-19  Bruno Haible  <bruno@clisp.org>
46443
46444         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
46445         warnings.
46446         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
46447
46448 2007-02-19  Jim Meyering  <jim@meyering.net>
46449
46450         Don't use FD after a successful "fdopendir (fd)".
46451         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
46452         Reset it by calling dirfd on the just-obtained DIR*.
46453
46454         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
46455         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
46456
46457 2007-02-18  Bruno Haible  <bruno@clisp.org>
46458
46459         * lib/readlink.c: Include <unistd.h>.
46460         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
46461         HAVE_READLINK.
46462         * modules/readlink (Depends-on): Add unistd.
46463         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46464         (Include): Add <unistd.h>.
46465
46466         * lib/getlogin_r.h: Remove file.
46467         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
46468         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
46469         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
46470         HAVE_DECL_GETLOGIN_R.
46471         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
46472         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46473         (Include): Use <unistd.h> instead of getlogin_r.h.
46474
46475         * lib/getcwd.h: Remove file.
46476         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
46477         * lib/xgetcwd.c: Likewise.
46478         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
46479         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
46480         * modules/getcwd (Files): Remove lib/getcwd.h.
46481         (Depends-on): Add unistd.
46482         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46483         (Include): Use <unistd.h> instad of getcwd.h.
46484
46485         * lib/ftruncate.c: Include <unistd.h> first.
46486         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
46487         Set HAVE_FTRUNCATE.
46488         * modules/ftruncate (Depends-on): Add unistd.
46489         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46490
46491         * lib/fchdir.c: Include <unistd.h> first.
46492         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
46493         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
46494         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
46495         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46496         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
46497
46498         * lib/dup2.c: Include <unistd.h> first.
46499         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
46500         HAVE_DUP2.
46501         * modules/dup2 (Depends-on): Add unistd.
46502         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46503
46504         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
46505         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
46506         REPLACE_CHOWN. Don't define chown as a macro here.
46507         * modules/chown (Depends-on): Add unistd.
46508         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
46509
46510         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
46511         Add definition for GL_LINK_WARNING.
46512         (chown, dup2): New declarations.
46513         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
46514         link warning.
46515         (ftruncate): New declaration.
46516         (getcwd): New declaration, taken from old getcwd.h.
46517         (getlogin_r): New declaration, taken from old getlogin_r.h.
46518         (readlink): New declaration.
46519         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
46520         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
46521         (gl_PREREQ_UNISTD): Remove macro.
46522         (gl_UNISTD_MODULE_INDICATOR): New macro.
46523         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
46524         many new variables. Don't set UNISTD_H.
46525         * modules/unistd (Description): Change.
46526         (Depends-on): Add link-warning.
46527         (configure.ac): Update.
46528         (Makefile.am): Create unistd.h always. Substitute many new variables
46529         into it.
46530
46531 2007-02-18  Bruno Haible  <bruno@clisp.org>
46532
46533         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
46534         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
46535         HAVE_GETSUBOPT.
46536         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
46537         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
46538         * lib/getsubopt.h: Remove file.
46539         * modules/getsubopt (Files): Remove lib/getsubopt.h.
46540         (Depends-on): Add stdlib.
46541         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46542         (Includes): Use <stdlib.h> instead of getsubopt.h.
46543         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
46544         Set HAVE_GETSUBOPT.
46545         * lib/getsubopt.c: Don't include getsubopt.h.
46546
46547 2007-02-18  Bruno Haible  <bruno@clisp.org>
46548
46549         * modules/fchdir (Depends-on): Add dup2.
46550
46551 2007-02-18  Bruno Haible  <bruno@clisp.org>
46552
46553         * lib/stdlib_.h: Handle glibc's special invocation convention
46554         specially.
46555
46556 2007-02-18  Bruno Haible  <bruno@clisp.org>
46557
46558         * modules/stdlib-tests: New file.
46559         * tests/test-stdlib.c: New file.
46560
46561         * modules/mkstemp (Files): Remove lib/mkstemp.h.
46562         (Depends-on): Add stdlib.
46563         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46564         (Includes): Use <stdlib.h> instead of mkstemp.h.
46565         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
46566         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
46567         * lib/mkstemp.c: Don't include mkstemp.h.
46568         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
46569         * lib/stdlib--.h: Don't include mkstemp.h.
46570
46571         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
46572         (Depends-on): Add stdlib.
46573         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
46574         (Includes): Use <stdlib.h> instead of mkdtemp.h.
46575         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
46576         HAVE_MKDTEMP.
46577         * lib/mkdtemp.c: Don't include mkdtemp.h.
46578         * lib/clean-temp.c: Don't include mkdtemp.h.
46579
46580         * modules/exit (Files): Remove lib/exit.h.
46581         (Depends-on): Add stdlib.
46582         (Makefile.am): Remove lib_SOURCES.
46583         (Include): Use <stdlib.h> instead of exit.h.
46584         * lib/argmatch.c: Don't include exit.h.
46585         * lib/execute.c: Likewise.
46586         * lib/pagealign_alloc.c: Likewise.
46587         * lib/pipe.c: Likewise.
46588         * lib/wait-process.c: Likewise.
46589         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
46590         * lib/exitfail.c: Likewise.
46591         * lib/savewd.c: Likewise.
46592         * lib/xsetenv.c: Likewise.
46593
46594         * modules/stdlib: New file.
46595         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
46596         and extra comments about mkstemp().
46597         * lib/exit.h: Remove file.
46598         * lib/mkdtemp.h: Remove file.
46599         * lib/mkstemp.h: Remove file.
46600         * m4/stdlib_h.m4: New file.
46601         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
46602
46603 2007-02-18  Bruno Haible  <bruno@clisp.org>
46604
46605         * modules/math-tests: New file.
46606         * tests/test-math.c: New file.
46607
46608         * modules/math: New file.
46609         * modules/mathl (Files): Remove lib/mathl.h.
46610         (Depends-on): Add math.
46611         (Makefile.am): Don't mention mathl.h.
46612         (Include): Use <math.h> instead of mathl.h.
46613         * lib/math_.h: New file.
46614         * lib/mathl.h: Remove file.
46615         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
46616         mathl.h.
46617         * lib/asinl.c: Likewise.
46618         * lib/atanl.c: Likewise.
46619         * lib/ceill.c: Likewise.
46620         * lib/cosl.c: Likewise.
46621         * lib/expl.c: Likewise.
46622         * lib/floorl.c: Likewise.
46623         * lib/frexpl.c: Likewise.
46624         * lib/ldexpl.c: Likewise.
46625         * lib/logl.c: Likewise.
46626         * lib/sincosl.c: Likewise.
46627         * lib/sinl.c: Likewise.
46628         * lib/sqrtl.c: Likewise.
46629         * lib/tanl.c: Likewise.
46630         * lib/trigl.c: Likewise.
46631         * m4/math_h.m4: New file.
46632         * MODULES.html.sh (Mathematics): Add math.
46633
46634 2007-02-17  Bruno Haible  <bruno@clisp.org>
46635
46636         * modules/wctype-tests: New file.
46637         * tests/test-wctype.c: New file.
46638
46639         * modules/wchar-tests: New file.
46640         * tests/test-wchar.c: New file.
46641
46642         * modules/unistd-tests: New file.
46643         * tests/test-unistd.c: New file.
46644
46645         * modules/time-tests: New file.
46646         * tests/test-time.c: New file.
46647
46648         * modules/sysexits-tests: New file.
46649         * tests/test-sysexits.c: New file.
46650
46651         * modules/sys_time-tests: New file.
46652         * tests/test-sys_time.c: New file.
46653
46654         * modules/sys_stat-tests: New file.
46655         * tests/test-sys_stat.c: New file.
46656
46657         * modules/sys_socket-tests: New file.
46658         * tests/test-sys_socket.c: New file.
46659
46660         * modules/sys_select-tests: New file.
46661         * tests/test-sys_select.c: New file.
46662
46663         * modules/string-tests: New file.
46664         * tests/test-string.c: New file.
46665
46666         * modules/stdbool-tests: New file.
46667         * tests/test-stdbool.c: New file.
46668
46669         * modules/netinet_in-tests: New file.
46670         * tests/test-netinet_in.c: New file.
46671
46672         * modules/inttypes-tests: New file.
46673         * tests/test-inttypes.c: New file.
46674
46675         * modules/fcntl-tests: New file.
46676         * tests/test-fcntl.c: New file.
46677
46678         * modules/byteswap-tests: New file.
46679         * tests/test-byteswap.c: New file.
46680
46681         * modules/arpa_inet-tests: New file.
46682         * tests/test-arpa_inet.c: New file.
46683
46684 2007-02-17  Bruno Haible  <bruno@clisp.org>
46685
46686         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
46687         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
46688         if the corresponding module is not enabled. Emit link warnings if
46689         the function is used nevertheless.
46690         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
46691         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
46692         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
46693         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
46694         * modules/inttypes (Depends-on): Add link-warning.
46695         (Makefile.am): Copy the contents of build-aux/link-warning.h into
46696         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
46697         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
46698         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
46699         * modules/imaxdiv (configure.ac): Likewise.
46700         * modules/strtoimax (configure.ac): Likewise.
46701         * modules/strtoumax (configure.ac): Likewise.
46702
46703 2007-02-17  Bruno Haible  <bruno@clisp.org>
46704
46705         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
46706         gl_STRING_MODULE_INDICATOR_DEFAULTS.
46707         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
46708         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
46709
46710 2007-02-17  Bruno Haible  <bruno@clisp.org>
46711
46712         * modules/link-warning: New file.
46713         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
46714         * lib/string_.h (GL_LINK_WARNING): Remove definition.
46715         * modules/string (Depends-on): Add link-warning.
46716         (Makefile.am): Copy the contents of build-aux/link-warning.h into
46717         string.h.
46718         * MODULES.html.sh (Support for building libraries and executables): Add
46719         link-warning.
46720
46721 2007-02-17  Bruno Haible  <bruno@clisp.org>
46722
46723         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
46724         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
46725         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
46726         long lines.
46727
46728 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
46729             Bruno Haible  <bruno@clisp.org>
46730
46731         * modules/tmpfile: New file.
46732         * lib/tmpfile.c: New file.
46733         * m4/tmpfile.m4: New file.
46734         * MODULES.html.sh (func_all_modules): New section "Input/output".
46735
46736 2007-02-15  Bruno Haible  <bruno@clisp.org>
46737
46738         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
46739         (supports_delete_on_close): New function.
46740         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
46741
46742 2007-02-14  Bruno Haible  <bruno@clisp.org>
46743
46744         * modules/mbspcasecmp-tests: New file.
46745         * tests/test-mbspcasecmp.sh: New file.
46746         * tests/test-mbspcasecmp.c: New file.
46747
46748         New module mbspcasecmp.
46749         * modules/mbspcasecmp: New file.
46750         * lib/mbspcasecmp.c: New file.
46751         * lib/string_.h (strncasecmp): Change warning message.
46752         (mbspcasecmp): New declaration.
46753         * m4/mbspcasecmp.m4: New file.
46754         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46755         GNULIB_MBSPCASECMP.
46756         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
46757         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
46758
46759 2007-02-14  Bruno Haible  <bruno@clisp.org>
46760
46761         * modules/mbsncasecmp-tests: New file.
46762         * tests/test-mbsncasecmp.sh: New file.
46763         * tests/test-mbsncasecmp.c: New file.
46764
46765         New module mbsncasecmp.
46766         * modules/mbsncasecmp: New file.
46767         * lib/mbsncasecmp.c: New file.
46768         * lib/string_.h (mbsncasecmp): New declaration.
46769         * m4/mbsncasecmp.m4: New file.
46770         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
46771         GNULIB_MBSNCASECMP.
46772         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
46773         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
46774
46775 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
46776
46777         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
46778         Verify that it doesn't overlap with our flags.
46779         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
46780         do not have the desired effect in multibyte locales; instead, use
46781         mbscasecmp.
46782         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
46783         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
46784         we don't require GNU fnmatch ourselves (if our users require it, they
46785         should do so explicitly).
46786
46787         Fix regex code so it doesn't rely on strcasecmp.
46788         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
46789         Otherwise, include gnulib's langinfo.h.
46790         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
46791         undesirable behavior in non-C locales.  Instead, rely on localecharset.
46792         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
46793         * modules/regex (FILES): Remove m4/codeset.m4.
46794         (Depends-on): Add localcharset.  Remove strcase.
46795
46796 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46797
46798         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
46799         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
46800
46801 2007-02-13  Bruno Haible  <bruno@clisp.org>
46802
46803         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
46804         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46805
46806 2007-02-12  Bruno Haible  <bruno@clisp.org>
46807
46808         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
46809         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
46810         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
46811         time warning rather than a link error.
46812
46813 2007-02-12  Bruno Haible  <bruno@clisp.org>
46814
46815         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
46816         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
46817         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
46818
46819 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
46820
46821         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
46822         args, not 2.
46823
46824 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
46825
46826         New module 'time', so that apps can include <time.h> as per
46827         POSIX and GNU instead of separate include files like time_r.h
46828         and timegm.h.  This implementation tries out a simpler approach
46829         for replacing decls in standard include files (as compared to
46830         the string module), somewhat as an experiment.
46831
46832         * config/srclist.txt: Comment out mktime.c for now.
46833         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
46834         since it doesn't apply any more.  Use generic wording instead.
46835         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
46836         'time'.
46837         * lib/time_.h, m4/time_h.m4, modules/time: New files.
46838         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
46839         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
46840         Don't include <sys/types.h>; no longer needed since we assume C89.
46841         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
46842         * lib/strftime.c: Likewise.
46843         * lib/time_r.c: Likewise.
46844         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
46845         * lib/nanosleep.c: Include <time.h> first, to check interface.
46846         * lib/strptime.c: Likewise.
46847         * lib/time_r.c: Likewise.
46848         * lib/timegm.c: Likewise.
46849         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
46850         needed.
46851         * lib/timegm.c: Don't include timegm.h; no longer needed.
46852         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
46853         time.h now handles any problems in that area.
46854         (struct timespec, nanosleep): Remove; time.h now arranges for these.
46855         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
46856         that time.h defines struct timespec.
46857         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
46858         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
46859         handles that.
46860         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
46861         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
46862         needed.  Set REPLACE_LOCALTIME.
46863         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
46864         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
46865         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
46866         nanosleep; time_h.m4 now does that.  Don't require
46867         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
46868         module handles this now.
46869         * modules/getdate (Depends-on): Remove timespec.  Add time.
46870         * modules/nanosleep (Depends-on): Likewise.
46871         * modules/stat-time (Depends-on): Likewise.
46872         * modules/nanosleep (Include): Include time.h, not timespec.h.
46873         * modules/strptime (Files): Remove lib/strptime.h.
46874         (Depends-on): Add extensions, time.
46875         (Include): Include time.h, not strptime.h.
46876         * modules/time_r (Files): Remove lib/time_r.h.
46877         (Depends-on): Add time.
46878         (Include): Include time.h, not time_r.h.
46879         * modules/timegm: Likewise.
46880         * modules/timespec (Description): Now does timespec-related decls
46881         of our own, instead of struct timespec itself.
46882         (Depends-on): Add time; remove extensions.
46883         (Maintainer): Add self.
46884         * modules/utimecmp (Depends-on): Add time; remove timespec.
46885         * modules/utimens (Depends-on): Likewise.
46886         * modules/xnanosleep (Depends-on): Likewise.
46887
46888 2007-02-11  Bruno Haible  <bruno@clisp.org>
46889
46890         * lib/c-strstr.c: Include allocsa.h.
46891         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
46892         * lib/c-strcasestr.c: Include allocsa.h.
46893         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
46894         * lib/strcasestr.c: Include allocsa.h.
46895         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
46896         * lib/mbsstr.c: Include allocsa.h.
46897         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
46898         allocsa/freesa instead of malloc/free.
46899         * lib/mbscasestr.c: Include allocsa.h.
46900         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
46901         allocsa/freesa instead of malloc/free.
46902         * modules/c-strstr (Depends-on): Add allocsa.
46903         * modules/c-strcasestr (Depends-on): Likewise.
46904         * modules/strcasestr (Depends-on): Likewise.
46905         * modules/mbsstr (Depends-on): Likewise.
46906         * modules/mbscasestr (Depends-on): Likewise.
46907
46908 2007-02-11  Bruno Haible  <bruno@clisp.org>
46909
46910         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
46911
46912         * modules/mbsspn-tests: New file.
46913         * tests/test-mbsspn.sh: New file.
46914         * tests/test-mbsspn.c: New file.
46915
46916 2007-02-11  Bruno Haible  <bruno@clisp.org>
46917
46918         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
46919
46920         * modules/mbspbrk-tests: New file.
46921         * tests/test-mbspbrk.sh: New file.
46922         * tests/test-mbspbrk.c: New file.
46923
46924 2007-02-11  Bruno Haible  <bruno@clisp.org>
46925
46926         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
46927         unneeded cast.
46928
46929         * modules/mbscspn-tests: New file.
46930         * tests/test-mbscspn.sh: New file.
46931         * tests/test-mbscspn.c: New file.
46932
46933 2007-02-11  Bruno Haible  <bruno@clisp.org>
46934
46935         * modules/mbscasecmp-tests: New file.
46936         * tests/test-mbscasecmp.sh: New file.
46937         * tests/test-mbscasecmp.c: New file.
46938
46939 2007-02-11  Bruno Haible  <bruno@clisp.org>
46940
46941         Ensure O(n) worst-case complexity of mbscasestr.
46942         * lib/mbscasestr.c: Include stdbool.h.
46943         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
46944         functions.
46945         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
46946         the bookkeeping indicates that it's worth it.
46947         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
46948
46949         * modules/mbscasestr-tests: New file.
46950         * tests/test-mbscasestr1.c: New file.
46951         * tests/test-mbscasestr2.sh: New file.
46952         * tests/test-mbscasestr2.c: New file.
46953         * tests/test-mbscasestr3.sh: New file.
46954         * tests/test-mbscasestr3.c: New file.
46955         * tests/test-mbscasestr4.sh: New file.
46956         * tests/test-mbscasestr4.c: New file.
46957         * m4/locale-tr.m4: New file.
46958
46959 2007-02-11  Bruno Haible  <bruno@clisp.org>
46960
46961         Ensure O(n) worst-case complexity of mbsstr.
46962         * lib/mbsstr.c: Include stdbool.h.
46963         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
46964         functions.
46965         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
46966         bookkeeping indicates that it's worth it.
46967         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
46968
46969         * modules/mbsstr-tests: New file.
46970         * tests/test-mbsstr1.c: New file.
46971         * tests/test-mbsstr2.sh: New file.
46972         * tests/test-mbsstr2.c: New file.
46973         * tests/test-mbsstr3.sh: New file.
46974         * tests/test-mbsstr3.c: New file.
46975         * m4/locale-fr.m4: New file.
46976
46977 2007-02-11  Bruno Haible  <bruno@clisp.org>
46978
46979         * lib/mbsrchr.c (mbsrchr): Fix bug.
46980
46981         * modules/mbsrchr-tests: New file.
46982         * tests/test-mbsrchr.sh: New file.
46983         * tests/test-mbsrchr.c: New file.
46984
46985 2007-02-11  Bruno Haible  <bruno@clisp.org>
46986
46987         * lib/mbschr.c (mbschr): Fix bug.
46988
46989         * modules/mbschr-tests: New file.
46990         * tests/test-mbschr.sh: New file.
46991         * tests/test-mbschr.c: New file.
46992         * m4/locale-zh.m4: New file.
46993
46994 2007-02-11  Bruno Haible  <bruno@clisp.org>
46995
46996         Support for copying multibyte string iterators.
46997         * lib/mbiter.h: Include <string.h>.
46998         (mbiter_multi_copy): New function.
46999         (mbi_copy): New macro.
47000         * lib/mbuiter.h: Include <string.h>.
47001         (mbuiter_multi_copy): New function.
47002         (mbui_copy): New macro.
47003
47004 2007-02-11  Bruno Haible  <bruno@clisp.org>
47005
47006         New module mbslen.
47007         * modules/mbslen: New file.
47008         * lib/mbslen.c: New file.
47009         * lib/string_.h (mbslen): New declaration.
47010         * m4/mbslen.m4: New file.
47011         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
47012         GNULIB_MBSLEN.
47013         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
47014         * MODULES.html.sh (Internationalization functions): Add mbslen.
47015
47016 2007-02-11  Bruno Haible  <bruno@clisp.org>
47017
47018         Ensure O(n) worst-case complexity of strcasestr substitute.
47019         * lib/strcasestr.c: Include stdbool.h.
47020         (knuth_morris_pratt): New function.
47021         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
47022         bookkeeping indicates that it's worth it.
47023         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
47024
47025         * modules/strcasestr-tests: New file.
47026         * tests/test-strcasestr.c: New file.
47027
47028 2007-02-11  Bruno Haible  <bruno@clisp.org>
47029
47030         Ensure O(n) worst-case complexity of c_strcasestr.
47031         * lib/c-strcasestr.c: Include stdbool.h, string.h.
47032         (knuth_morris_pratt): New function.
47033         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
47034         the bookkeeping indicates that it's worth it.
47035         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
47036
47037         * modules/c-strcasestr-tests: New file.
47038         * tests/test-c-strcasestr.c: New file.
47039
47040 2007-02-11  Bruno Haible  <bruno@clisp.org>
47041
47042         Ensure O(n) worst-case complexity of c_strstr.
47043         * lib/c-strstr.c: Include stdbool.h, string.h.
47044         (knuth_morris_pratt): New function.
47045         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
47046         bookkeeping indicates that it's worth it.
47047         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
47048
47049         * lib/c-strstr.c: Complete rewrite for maintainability.
47050
47051         * modules/c-strstr-tests: New file.
47052         * tests/test-c-strstr.c: New file.
47053
47054 2007-02-11  Bruno Haible  <bruno@clisp.org>
47055
47056         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
47057         5.2.1 and earlier, whereby \055 was treated just like the range
47058         delimiter '-'.
47059         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
47060
47061 2007-02-08  Bruno Haible  <bruno@clisp.org>
47062
47063         * modules/regex (Depends-on): Add stdbool.
47064         Reported by Dalibor Topic <robilad@kaffe.org>.
47065
47066 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
47067
47068         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
47069         Prefer returning from main to exiting from it.
47070         Remove unnecessary parens after sizeof.
47071
47072 2007-02-05  Bruno Haible  <bruno@clisp.org>
47073
47074         New module mbssep.
47075         * modules/mbssep: New file.
47076         * lib/mbssep.c: New file.
47077         * lib/string_.h (strsep): Add a conditional link warning.
47078         (mbssep): New declaration.
47079         * m4/mbssep.m4: New file.
47080         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
47081         GNULIB_MBSSEP.
47082         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
47083         * MODULES.html.sh (Internationalization functions): Add mbssep.
47084
47085 2007-02-05  Bruno Haible  <bruno@clisp.org>
47086
47087         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
47088         Optimize search in case of 1 delimiter.
47089
47090 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
47091
47092         * lib/acl.h: Include sys/types.h before sys/acl.h.
47093
47094 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
47095
47096         Merge upstream fix for glibc bugzilla #3957:
47097
47098         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
47099
47100         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
47101         bit for RE_HAT_LISTS_NOT_NEWLINE.
47102         (build_charclass_op): Remove bogus comment.
47103
47104 2007-02-05  Simon Josefsson  <simon@josefsson.org>
47105
47106         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
47107
47108 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
47109
47110         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
47111         * lib/memmem.c [!defined _LIBC]: Include config.h.
47112
47113 2007-02-04  Bruno Haible  <bruno@clisp.org>
47114
47115         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
47116         warning message.
47117
47118 2007-02-04  Bruno Haible  <bruno@clisp.org>
47119
47120         New module mbstok_r.
47121         * modules/mbstok_r: New file.
47122         * lib/mbstok_r.c: New file.
47123         * lib/string_.h (strtok_r): Change argument names to match the
47124         comments. Add a conditional link warning.
47125         (mbstok_r): New declaration.
47126         * m4/mbstok_r.m4: New file.
47127         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
47128         GNULIB_MBSTOK_R.
47129         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
47130         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
47131
47132 2007-02-04  Bruno Haible  <bruno@clisp.org>
47133
47134         New module mbsspn.
47135         * modules/mbsspn: New file.
47136         * lib/mbsspn.c: New file.
47137         * lib/string_.h (strspn): Add a conditional link warning.
47138         (mbsspn): New declaration.
47139         * m4/mbsspn.m4: New file.
47140         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
47141         GNULIB_MBSSPN.
47142         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
47143         * MODULES.html.sh (Internationalization functions): Add mbsspn.
47144
47145 2007-02-04  Bruno Haible  <bruno@clisp.org>
47146
47147         New module mbspbrk.
47148         * modules/mbspbrk: New file.
47149         * lib/mbspbrk.c: New file.
47150         * lib/string_.h (strpbrk): Add a conditional link warning.
47151         (mbspbrk): New declaration.
47152         * m4/mbspbrk.m4: New file.
47153         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
47154         GNULIB_MBSPBRK.
47155         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
47156         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
47157
47158 2007-02-04  Bruno Haible  <bruno@clisp.org>
47159
47160         New module mbscspn.
47161         * modules/mbscspn: New file.
47162         * lib/mbscspn.c: New file.
47163         * lib/string_.h (strcspn): Add a conditional link warning.
47164         (mbscspn): New declaration.
47165         * m4/mbscspn.m4: New file.
47166         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
47167         GNULIB_MBSCSPN.
47168         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
47169         * MODULES.html.sh (Internationalization functions): Add mbscspn.
47170
47171 2007-02-04  Bruno Haible  <bruno@clisp.org>
47172
47173         New module mbscasestr, reduced goal of strcasestr.
47174         * modules/mbscasestr: New file.
47175         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
47176         (mbscasestr): Renamed from strcasestr.
47177         * lib/strcasestr.c: Don't include mbuiter.h.
47178         (strcasestr): Remove support for multibyte locales.
47179         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
47180         Change the conditional link warning.
47181         (mbscasestr): New declaration.
47182         * m4/mbscasestr.m4: New file.
47183         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
47184         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
47185         REPLACE_STRCASESTR.
47186         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
47187         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47188         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
47189         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
47190         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
47191         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
47192         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
47193         (Depends-on): Remove mbuiter.
47194         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
47195
47196 2007-02-04  Bruno Haible  <bruno@clisp.org>
47197
47198         Simplify handling of strncasecmp.
47199         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
47200         the conditional link warning.
47201         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
47202         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
47203         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
47204         * modules/strcase (configure.ac): Don't invoke
47205         gl_STRING_MODULE_INDICATOR.
47206         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
47207
47208 2007-02-04  Bruno Haible  <bruno@clisp.org>
47209
47210         New module mbscasecmp, reduced goal of strcasecmp.
47211         * modules/mbscasecmp: New file.
47212         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
47213         (mbscasecmp): Renamed from strcasecmp.
47214         * lib/strcasecmp.c: Don't include mbuiter.h.
47215         (strcasecmp): Remove support for multibyte locales.
47216         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
47217         Change the conditional link warning.
47218         (mbscasecmp): New declaration.
47219         * m4/mbscasecmp.m4: New file.
47220         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
47221         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
47222         REPLACE_STRCASECMP.
47223         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
47224         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
47225         GNULIB_MBSCASECMP.
47226         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
47227         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
47228         * modules/strcase (Files): Remove m4/mbrtowc.m4.
47229         (Depends-on): Remove mbuiter.
47230         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
47231
47232 2007-02-04  Bruno Haible  <bruno@clisp.org>
47233
47234         New module mbsstr. Remove module strstr.
47235         * modules/mbsstr: New file.
47236         * modules/strstr: Remove file.
47237         * lib/mbsstr.c: Renamed from lib/strstr.c.
47238         (mbsstr): Renamed from strstr.
47239         * lib/string_.h (strstr): Remove declaration. Change the conditional
47240         link warning.
47241         (mbsstr): New declaration.
47242         * m4/mbsstr.m4: New file.
47243         * m4/strstr.m4: Remove file.
47244         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
47245         REPLACE_STRSTR.
47246         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
47247         Don't initialize GNULIB_STRSTR.
47248         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
47249         substitute GNULIB_STRSTR and REPLACE_STRSTR.
47250         * MODULES.html.sh (Internationalization functions): Add mbsstr.
47251         (Support for systems lacking ANSI C 89): Remove strstr.
47252
47253 2007-02-04  Bruno Haible  <bruno@clisp.org>
47254
47255         New module mbsrchr.
47256         * modules/mbsrchr: New file.
47257         * lib/mbsrchr.c: New file.
47258         * lib/string_.h (strrchr): Add a conditional link warning.
47259         (mbsrchr): New declaration.
47260         * m4/mbsrchr.m4: New file.
47261         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
47262         GNULIB_MBSRCHR.
47263         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
47264         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
47265
47266 2007-02-04  Bruno Haible  <bruno@clisp.org>
47267
47268         New module mbschr.
47269         * modules/mbschr: New file.
47270         * lib/mbschr.c: New file.
47271         * lib/string_.h (strchr): Add a conditional link warning.
47272         (mbschr): New declaration.
47273         * m4/mbschr.m4: New file.
47274         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
47275         GNULIB_MBSCHR.
47276         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
47277         * MODULES.html.sh (Internationalization functions): Add mbschr.
47278
47279 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
47280
47281         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
47282
47283         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
47284
47285 2007-02-04  Bruno Haible  <bruno@clisp.org>
47286
47287         New module description section 'configure.ac-early'.
47288         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
47289         (func_get_autoconf_early_snippet): New function.
47290         (func_import, func_create_testdir): Use it. Remove special cases for
47291         modules 'extensions' and 'lock'.
47292         * modules/extensions (configure.ac-early): Require
47293         gl_USE_SYSTEM_EXTENSIONS.
47294         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
47295
47296 2007-02-04  Bruno Haible  <bruno@clisp.org>
47297
47298         Make use of gcj-4.3's -fsource and -ftarget option.
47299         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
47300         and if so try the options -fsource and -ftarget.
47301         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
47302         source_version, ftarget_option, target_version arguments.
47303         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
47304         (is_envjavac_oldgcj_14_14_usable): Renamed from
47305         is_envjavac_gcj_14_14_usable.
47306         (is_envjavac_oldgcj_14_13_usable): Renamed from
47307         is_envjavac_gcj_14_13_usable.
47308         (is_gcj_present): Update.
47309         (is_gcj_43, is_gcj43_usable): New functions.
47310         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
47311         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
47312         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
47313         try the options -fsource and -ftarget.
47314
47315 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
47316
47317         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
47318         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
47319         larger value.
47320
47321 2007-02-03  Jim Meyering  <jim@meyering.net>
47322
47323         Give tools a better chance to allocate space for very large buffers.
47324         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
47325
47326         Make pwd and readlink work also when run with an unreadable parent dir
47327         on systems with openat support.
47328         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
47329         provided getcwd function, even when we have openat support.
47330         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
47331
47332 2007-02-02  Bruno Haible  <bruno@clisp.org>
47333
47334         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
47335         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
47336         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
47337         portability problems if one of these functions is only used on specific
47338         platforms.
47339         Reported by Paul Eggert.
47340
47341 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
47342
47343         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
47344         is causing more trouble than it's curing.
47345         * lib/regex_internal.h (__mempcpy): Remove.
47346         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
47347         (and make the code a tad smaller to boot).
47348         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
47349
47350 2007-02-02  Jim Meyering  <jim@meyering.net>
47351
47352         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
47353         section, not in the Makefile.am: one.
47354
47355 2007-02-02  Eric Blake  <ebb9@byu.net>
47356
47357         * lib/strchrnul.c: Always include config.h first.
47358
47359         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
47360         gnulib strstr is not necessary here.
47361
47362 2007-02-02  Simon Josefsson  <simon@josefsson.org>
47363
47364         * m4/socklen.m4: Fix typo.
47365
47366 2007-02-02  Eric Blake  <ebb9@byu.net>
47367
47368         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
47369         * modules/netinet_in (Makefile.am): Likewise.
47370
47371 2007-02-01  Bruno Haible  <bruno@clisp.org>
47372
47373         * lib/string_.h (GL_LINK_WARNING): New macro.
47374         (strcasecmp, strstr, strcasestr): If provided by the system,
47375         conditionally define as a macro that leads to a warning instead of to
47376         an error.
47377         (strncasecmp): Conditionally define as a macro that leads to a warning.
47378
47379 2007-02-01  Karl Berry  <karl@gnu.org>
47380
47381         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
47382
47383 2007-02-01  Bruno Haible  <bruno@clisp.org>
47384
47385         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
47386         renamings.
47387
47388 2007-02-01  Eric Blake  <ebb9@byu.net>
47389
47390         * modules/regex (Depends-on): Revert dependence on mempcpy.
47391         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
47392         module's definition of mempcpy.
47393         Reported by Paul Eggert.
47394
47395 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
47396
47397         * lib/string_.h: If the gnulib module XYZ is not present, undefine
47398         the symbol XYZ before redefining it.  This fixes a problem with
47399         programs that don't use XYZ, when compiled on systems that define
47400         XYZ to something else.
47401
47402 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
47403
47404         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
47405         occurs when "mkdir -m foo" creates a setgid directory that is (1)
47406         writeable to group or other and (2) is intended to have a special
47407         mode bit that is set or cleared.  In such a case, the directory
47408         should be neither group- nor other-writeable until the special
47409         mode bits are right.
47410
47411 2007-01-31  Eric Blake  <ebb9@byu.net>
47412
47413         * modules/mountlist (Depends-on): Add strstr.
47414
47415         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
47416         bug.
47417         * modules/string (Makefile.am): Remove redundant replacement.
47418         * modules/regex (Depends-on): Add mempcpy.
47419
47420 2007-01-31  Bruno Haible  <bruno@clisp.org>
47421
47422         New module description field 'Link'.
47423         * gnulib-tool (func_usage): Document --extract-link-directive.
47424         (sed_extract_prog): Recognize 'Link' directive.
47425         (func_get_link_directive): New function.
47426         (func_import): Show summary of link directives.
47427         Handle --extract-link-directive option.
47428         * modules/acl (Link): New section.
47429         * modules/clock-time (Link): New section.
47430         * modules/euidaccess (Link): New section.
47431         * modules/gettext (Link): New section.
47432         * modules/iconv (Link): New section.
47433         * modules/lock (Link): New section.
47434         * modules/nanosleep (Link): New section.
47435         * modules/readline (Link): New section.
47436
47437 2007-01-27  Bruno Haible  <bruno@clisp.org>
47438
47439         Enforce the use of gnulib modules for unportable <string.h> functions.
47440         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
47441         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
47442         (gl_HEADER_STRING_H_BODY): Require it.
47443         * lib/string_.h: If the gnulib module XYZ is not present, redefine
47444         the symbol XYZ to one that gives a link error.
47445         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
47446         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
47447         * modules/mempcpy (configure.ac): Likewise.
47448         * modules/memrchr (configure.ac): Likewise.
47449         * modules/stpcpy (configure.ac): Likewise.
47450         * modules/stpncpy (configure.ac): Likewise.
47451         * modules/strcase (configure.ac): Likewise.
47452         * modules/strcasestr (configure.ac): Likewise.
47453         * modules/strchrnul (configure.ac): Likewise.
47454         * modules/strdup (configure.ac): Likewise.
47455         * modules/strndup (configure.ac): Likewise.
47456         * modules/strnlen (configure.ac): Likewise.
47457         * modules/strpbrk (configure.ac): Likewise.
47458         * modules/strsep (configure.ac): Likewise.
47459         * modules/strstr (configure.ac): Likewise.
47460         * modules/strtok_r (configure.ac): Likewise.
47461
47462 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
47463
47464         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
47465
47466 2007-01-30  Jim Meyering  <jim@meyering.net>
47467
47468         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
47469
47470 2007-01-29  Bruno Haible  <bruno@clisp.org>
47471
47472         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
47473         * lib/execute.c: Likewise.
47474         * lib/pipe.c: Likewise.
47475         * lib/printf-args.h: Likewise.
47476         * lib/printf-args.c: Likewise.
47477         * lib/printf-parse.c: Likewise.
47478         * lib/vasnprintf.c: Likewise.
47479
47480 2007-01-29  Eric Blake  <ebb9@byu.net>
47481
47482         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
47483         declaration.
47484
47485 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
47486
47487         * lib/strptime.h (strptime): Use 'restrict' for args where
47488         POSIX requires this.
47489         * lib/strptime.c (strptime): Likewise.
47490         Change license notice from LGPL to GPL, since gnulib-tool will
47491         change this as needed.
47492         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
47493         defined.
47494         Include "strptime.h" first, to check interface.
47495         Do not #undef _LIBC and _NL_CURRENT.
47496         Do not include <stdlib.h>; no longer needed.
47497         Include "time_r.h" and declare ptime_locale_status
47498         only if _LIBC is not defined.
47499         (__P): Remove unused macro.
47500         (match_string): Bring back glibc version, but use it only if _LIBC
47501         is defined.
47502         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
47503         Remove unnecessary assertion and abort() call.
47504         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
47505         * m4/strptime.m4: Fix serial number comment.
47506         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
47507         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
47508         (Depends-on): Add time_r.
47509
47510 2007-01-29  Bruno Haible  <bruno@clisp.org>
47511
47512         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47513         strptime.
47514         * modules/strptime (Depends-on): Add stdbool.
47515         * lib/strptime.h: Include <time.h> always. Add comments.
47516
47517 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
47518
47519         * modules/strptime: New file.
47520         * lib/strptime.h: New file.
47521         * lib/strptime.c: New file.
47522         * m4/strptime.m4: New file.
47523
47524 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
47525
47526         * MODULES.html.sh: New module mpsort.
47527         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
47528
47529         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
47530         a circularity problem with HP-UX ia64 reported by Bob Proulx in
47531         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
47532         All uses changed.
47533         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
47534         All uses changed.
47535         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
47536         to _Restrict_.
47537         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
47538         the parameter matches the prototype.
47539
47540 2007-01-28  Jim Meyering  <jim@meyering.net>
47541
47542         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
47543         sys/time.h here, reverting that part of the previous patch:
47544         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
47545
47546 2007-01-28  Bruno Haible  <bruno@clisp.org>
47547
47548         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
47549         value of $(SYS_TIME_H).
47550         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
47551         remove it conditionally, too. [added by Jim Meyering]
47552         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
47553         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
47554         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
47555         GETTIMEOFDAY_REPLACEMENT to 1.
47556
47557 2007-01-28  Bruno Haible  <bruno@clisp.org>
47558
47559         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
47560         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
47561         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
47562         Set UNISTD_H instead of UNISTD_H2.
47563         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
47564
47565 2007-01-28  Bruno Haible  <bruno@clisp.org>
47566
47567         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
47568         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
47569
47570 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47571
47572         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
47573         (func_create_testdir): Ensure C locale for `grep' and `tr'
47574         character ranges.
47575         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
47576         ACLOCAL_AMFLAGS parsing state machine.
47577
47578 2007-01-27  Bruno Haible  <bruno@clisp.org>
47579
47580         * modules/unistr/base: Update.
47581
47582 2007-01-27  Bruno Haible  <bruno@clisp.org>
47583
47584         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
47585         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
47586         * modules/unistr/u32-mbtouc-unsafe: Renamed from
47587         modules/unistr/u32-mbtouc.
47588         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
47589         * lib/unistr.h: Update.
47590         * lib/linebreak.c: Update.
47591         * modules/unistr/u32-mbtouc: Renamed from
47592         modules/unistr/u32-mbtouc-safe.
47593         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
47594         * lib/unistr.h: Update.
47595         * lib/unistr/u32-to-u8.c: Update.
47596         * lib/unistr/u32-to-u16.c: Update.
47597
47598 2007-01-27  Bruno Haible  <bruno@clisp.org>
47599
47600         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
47601         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
47602         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
47603         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
47604         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
47605         * modules/unistr/u16-mbtouc-unsafe: Renamed from
47606         modules/unistr/u16-mbtouc.
47607         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
47608         * lib/unistr.h: Update.
47609         * lib/linebreak.c: Update.
47610         * modules/linebreak: Update.
47611         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
47612         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
47613         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
47614         * modules/unistr/u16-mbtouc: Renamed from
47615         modules/unistr/u16-mbtouc-safe.
47616         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
47617         * lib/unistr.h: Update.
47618         * lib/unistr/u16-to-u8.c: Update.
47619         * modules/unistr/u16-to-u8: Update.
47620         * lib/unistr/u16-to-u32.c: Update.
47621         * modules/unistr/u16-to-u32: Update.
47622
47623 2007-01-27  Bruno Haible  <bruno@clisp.org>
47624
47625         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
47626         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
47627         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
47628         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
47629         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
47630         * modules/unistr/u8-mbtouc-unsafe: Renamed from
47631         modules/unistr/u8-mbtouc.
47632         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
47633         * lib/unistr.h: Update.
47634         * lib/striconveh.c: Update.
47635         * modules/striconveh: Update.
47636         * lib/linebreak.c: Update.
47637         * modules/linebreak: Update.
47638         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
47639         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
47640         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
47641         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
47642         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
47643         * lib/unistr.h: Update.
47644         * lib/striconveh.c: Update.
47645         * modules/striconveh: Update.
47646         * lib/unistr/u8-to-u16.c: Update.
47647         * modules/unistr/u8-to-u16: Update.
47648         * lib/unistr/u8-to-u32.c: Update.
47649         * modules/unistr/u8-to-u32: Update.
47650
47651 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47652
47653         Sync from Libtool.
47654         * lib/argz.c: Do not include strings.h nor memory.h, include
47655         string.h unconditionally.  Patch by Simon Josefsson.
47656
47657 2007-01-27  Bruno Haible  <bruno@clisp.org>
47658
47659         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
47660         from gl_HEADER_STRING_H_BODY.
47661         (gl_HEADER_STRING_H_BODY): Require it.
47662         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
47663         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
47664         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
47665         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
47666         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
47667         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
47668         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
47669         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
47670         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
47671         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
47672         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
47673         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
47674         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
47675         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
47676         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
47677
47678 2007-01-27  Bruno Haible  <bruno@clisp.org>
47679
47680         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
47681         check_PROGRAMS into noinst_PROGRAMS.
47682         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
47683         check_PROGRAMS in this case.
47684         (func_import): Set for_test to false.
47685         (func_create_testdir): Set for_test to true.
47686
47687 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
47688             Bruno Haible  <bruno@clisp.org>
47689
47690         * modules/strcasestr (Files): Remove lib/strcasestr.h.
47691         (Depends-on): Add string.
47692         (Includes): Use <string.h> instead of strcasestr.h.
47693         * modules/string (Makefile.am): Also substitute the value of
47694         REPLACE_STRCASESTR.
47695         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
47696         assume strcasestr is declared in <string.h> not <strings.h>. Also
47697         set REPLACE_STRCASESTR.
47698         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
47699         REPLACE_STRCASESTR.
47700         * lib/strcasestr.h: Remove file.
47701         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
47702         * lib/string_.h (strcasestr): New declaration.
47703
47704 2007-01-27  Bruno Haible  <bruno@clisp.org>
47705
47706         * lib/string_.h: Use 'extern'.
47707
47708 2007-01-27  Jim Meyering  <jim@meyering.net>
47709
47710         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
47711         of set-but-not-used local, "q".
47712
47713         * lib/mempcpy.c: Include <config.h> before <string.h>.
47714         This fixes a compilation error on HP-UX, due to the system's
47715         "restrict"-using mempcpy prototype.
47716
47717 2007-01-26  Bruno Haible  <bruno@clisp.org>
47718
47719         Small optimization.
47720         * lib/javacomp.c: Include c-strstr.h.
47721          (is_envjavac_gcj): Use c_strstr instead of strstr.
47722         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
47723
47724 2007-01-26  Bruno Haible  <bruno@clisp.org>
47725
47726         * MODULES.html.sh (Unicode string functions): Add the new modules.
47727
47728         * modules/uniconv/u32-strconv-to-locale: New file.
47729         * lib/uniconv/u32-strconv-to-locale.c: New file.
47730
47731         * modules/uniconv/u16-strconv-to-locale: New file.
47732         * lib/uniconv/u16-strconv-to-locale.c: New file.
47733
47734         * modules/uniconv/u8-strconv-to-locale: New file.
47735         * lib/uniconv/u8-strconv-to-locale.c: New file.
47736
47737         * modules/uniconv/u32-strconv-from-locale: New file.
47738         * lib/uniconv/u32-strconv-from-locale.c: New file.
47739
47740         * modules/uniconv/u16-strconv-from-locale: New file.
47741         * lib/uniconv/u16-strconv-from-locale.c: New file.
47742
47743         * modules/uniconv/u8-strconv-from-locale: New file.
47744         * lib/uniconv/u8-strconv-from-locale.c: New file.
47745
47746         * modules/uniconv/u32-strconv-to-enc: New file.
47747         * lib/uniconv/u32-strconv-to-enc.c: New file.
47748         * modules/uniconv/u32-strconv-to-enc-tests: New file.
47749         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
47750
47751         * modules/uniconv/u16-strconv-to-enc: New file.
47752         * lib/uniconv/u16-strconv-to-enc.c: New file.
47753         * lib/uniconv/u-strconv-to-enc.h: New file.
47754         * modules/uniconv/u16-strconv-to-enc-tests: New file.
47755         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
47756
47757         * modules/uniconv/u8-strconv-to-enc: New file.
47758         * lib/uniconv/u8-strconv-to-enc.c: New file.
47759         * modules/uniconv/u8-strconv-to-enc-tests: New file.
47760         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
47761
47762         * modules/uniconv/u32-strconv-from-enc: New file.
47763         * lib/uniconv/u32-strconv-from-enc.c: New file.
47764         * modules/uniconv/u32-strconv-from-enc-tests: New file.
47765         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
47766
47767         * modules/uniconv/u16-strconv-from-enc: New file.
47768         * lib/uniconv/u16-strconv-from-enc.c: New file.
47769         * modules/uniconv/u16-strconv-from-enc-tests: New file.
47770         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
47771
47772         * modules/uniconv/u8-strconv-from-enc: New file.
47773         * lib/uniconv/u8-strconv-from-enc.c: New file.
47774         * lib/uniconv/u-strconv-from-enc.h: New file.
47775         * modules/uniconv/u8-strconv-from-enc-tests: New file.
47776         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
47777
47778         * modules/uniconv/u32-conv-from-enc: New file.
47779         * lib/uniconv/u32-conv-from-enc.c: New file.
47780         * modules/uniconv/u32-conv-from-enc-tests: New file.
47781         * tests/uniconv/test-u32-conv-from-enc.c: New file.
47782
47783         * modules/uniconv/u16-conv-from-enc: New file.
47784         * lib/uniconv/u16-conv-from-enc.c: New file.
47785         * lib/uniconv/u-conv-from-enc.h: New file.
47786         * modules/uniconv/u16-conv-from-enc-tests: New file.
47787         * tests/uniconv/test-u16-conv-from-enc.c: New file.
47788
47789         * modules/uniconv/u8-conv-from-enc: New file.
47790         * lib/uniconv/u8-conv-from-enc.c: New file.
47791         * modules/uniconv/u8-conv-from-enc-tests: New file.
47792         * tests/uniconv/test-u8-conv-from-enc.c: New file.
47793
47794         * modules/uniconv/base: New file.
47795         * lib/uniconv.h: New file.
47796
47797 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
47798
47799         * doc/gnulib-tool.texi (Initial import): Update to match current
47800         behavior with strdup module.
47801         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
47802         * lib/memmem.h: Remove; all uses removed.  This is now done
47803         by <string.h>.
47804         * lib/mempcpy.h: Likewise.
47805         * lib/memrchr.h: Likewise.
47806         * lib/stpcpy.h: Likewise.
47807         * lib/stpncpy.h: Likewise.
47808         * lib/strcase.h: Likewise.
47809         * lib/strchrnul.h: Likewise.
47810         * lib/strdup.h: Likewise.
47811         * lib/strndup.h: Likewise.
47812         * lib/strnlen.h: Likewise.
47813         * lib/strpbrk.h: Likewise.
47814         * lib/strsep.h: Likewise.
47815         * lib/strstr.h: Likewise.
47816         * lib/strtok_r.h: Likewise.
47817         * lib/string_.h: New file.
47818         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
47819         Rely on <string.h> instead.
47820         * lib/canon-host.c: Likewise.
47821         * lib/chdir-long.c: Likewise.
47822         * lib/concatpath.c: Likewise.
47823         * lib/exclude.c: Likewise.
47824         * lib/fchdir.c: Likewise.
47825         * lib/getaddrinfo.c: Likewise.
47826         * lib/getcwd.c: Likewise.
47827         * lib/getsubopt.c: Likewise.
47828         * lib/glob.c: Likewise.
47829         * lib/hard-locale.c: Likewise.
47830         * lib/iconvme.c: Likewise.
47831         * lib/javacomp.c: Likewise.
47832         * lib/mempcpy.c: Likewise.
47833         * lib/memrchr.c: Likewise.
47834         * lib/regex_internal.h: Likewise.
47835         * lib/stpncpy.c: Likewise.
47836         * lib/strcasecmp.c: Likewise.
47837         * lib/strchrnul.c: Likewise.
47838         * lib/strdup.c: Likewise.
47839         * lib/striconv.c: Likewise.
47840         * lib/striconveh.c: Likewise.
47841         * lib/striconveha.c: Likewise.
47842         * lib/strncasecmp.c: Likewise.
47843         * lib/strndup.c: Likewise.
47844         * lib/strnlen.c: Likewise.
47845         * lib/strsep.c: Likewise.
47846         * lib/strstr.c: Likewise.
47847         * lib/strtok_r.c: Likewise.
47848         * lib/userspec.c: Likewise.
47849         * lib/w32spawn.h: Likewise.
47850         * lib/xstrndup.c: Likewise.
47851         * lib/mountlist.c (strstr): Remove decl.
47852         * m4/string_h.m4: New file.
47853         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
47854         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
47855         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
47856         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
47857         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
47858         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
47859         Set REPLACE_STRCASECMP if necessary.
47860         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
47861         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
47862         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
47863         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
47864         HAVE_DECL_STRDUP if necessary.
47865         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
47866         since gl_FUNC_STRNDUP does that now.
47867         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
47868         Check for decl here...
47869         (gl_PREREQ_STRNLEN): ... not here.
47870         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
47871         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
47872         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
47873         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
47874         necessary.
47875         * modules/string: New file.
47876         * modules/memmem (Files): Remove special-purpose include file.
47877         (Depends-on): Add string.
47878         (Include): Include <string.h>, not the removed file.
47879         * modules/mempcpy: Likewise.
47880         * modules/memrchr: Likewise.
47881         * modules/stpcpy: Likewise.
47882         * modules/stpncpy: Likewise.
47883         * modules/strcase: Likewise.
47884         * modules/strchrnul: Likewise.
47885         * modules/strdup: Likewise.
47886         * modules/strndup: Likewise.
47887         * modules/strnlen: Likewise.
47888         * modules/strpbrk: Likewise.
47889         * modules/strsep: Likewise.
47890         * modules/strstr: Likewise.
47891         * modules/strtok_r: Likewise.
47892         * tests/test-dirname.c: Don't include "strdup.h", since
47893         <string.h> now suffices.
47894         * tests/test-memmem.c: Don't include "memmem.h", since
47895         <string.h> now suffices.
47896
47897 2007-01-25  Bruno Haible  <bruno@clisp.org>
47898
47899         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
47900         *resultp is 0.
47901
47902         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
47903         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
47904         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
47905         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
47906
47907         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
47908         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
47909         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
47910         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
47911         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
47912         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
47913
47914 2007-01-24  Bruno Haible  <bruno@clisp.org>
47915
47916         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
47917         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
47918         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
47919         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
47920         gl_FUNC_FTS_CORE.
47921         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
47922         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
47923         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
47924         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
47925         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
47926         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
47927         gl_FUNC_FCHOWNAT.
47928         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
47929         gl_FUNC_STRFTIME.
47930         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
47931         Reported by Ralf Wildenhues.
47932
47933 2007-01-24  Bruno Haible  <bruno@clisp.org>
47934
47935         Drop AC_REQUIRE calls that are redundant with the module dependencies.
47936         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
47937         gl_GETADDRINFO.
47938         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
47939         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
47940         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
47941
47942 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
47943
47944         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
47945         Don't use 'exit'; just return from 'main'.
47946         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
47947
47948         * lib/fnmatch_.h: Readjust white space and comments to match
47949         glibc, to avoid spurious diffs.
47950
47951 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
47952
47953         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
47954         2004-12-01 change by Jakub Jelinek, since this code won't compile
47955         if !LIBC.  Problem reported by Bob Proulx.
47956
47957 2007-01-23  Bruno Haible  <bruno@clisp.org>
47958
47959         * lib/striconveh.c: Include c-strcaseeq.h.
47960         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
47961         * modules/striconveh (Depends-on): Add c-strcaseeq.
47962
47963 2007-01-23  Bruno Haible  <bruno@clisp.org>
47964
47965         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
47966
47967         * modules/c-strcaseeq: New file.
47968         * lib/c-strcaseeq.h: New file.
47969
47970         * modules/streq: New file.
47971         * lib/streq.h: New file.
47972
47973 2007-01-23  Bruno Haible  <bruno@clisp.org>
47974
47975         * modules/striconveha-tests: New file.
47976         * tests/test-striconveha.c: New file.
47977
47978         * lib/striconveha.h: Include <stdbool.h>.
47979         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
47980         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
47981         (mem_iconveha_notranslit): Renamed from mem_iconveha.
47982         (mem_iconveha): New function.
47983         (str_iconveha_notranslit): Renamed from str_iconveha.
47984         (str_iconveha): New function.
47985         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
47986         c-strcase.
47987
47988 2007-01-23  Bruno Haible  <bruno@clisp.org>
47989
47990         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
47991         encodings without forgiving before trying any encoding with handler.
47992         (str_iconveha): Try all encodings without forgiving before trying any
47993         encoding with handler.
47994
47995 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
47996
47997         Import the following changes from libc.
47998
47999         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
48000
48001         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
48002
48003         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
48004
48005         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
48006         normal_bracket label.
48007
48008         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
48009
48010         [BZ #361]
48011         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
48012         to normal_bracket after fetching the next character.
48013
48014 2007-01-22  Bruno Haible  <bruno@clisp.org>
48015
48016         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
48017         argument.
48018         * lib/striconveh.c (iconv_carefully_1): New function.
48019         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
48020         argument.
48021         (str_cd_iconveh): Update.
48022         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
48023         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
48024         * tests/test-striconveh.c (MAGIC): New macro.
48025         (new_offsets): New function.
48026         (main): Test call with and without offsets.
48027
48028 2007-01-22  Bruno Haible  <bruno@clisp.org>
48029
48030         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
48031         * modules/sys_select (Makefile.am): Likewise.
48032         * modules/sys_socket (Makefile.am): Likewise.
48033         * modules/sys_time (Makefile.am): Likewise.
48034
48035 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
48036
48037         * modules/gettimeofday (License): Change from GPL to LGPL, since
48038         gettimeofday is a library function.
48039
48040 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48041
48042         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
48043
48044 2007-01-21  Bruno Haible  <bruno@clisp.org>
48045
48046         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
48047
48048 2007-01-21  Bruno Haible  <bruno@clisp.org>
48049
48050         * modules/striconveha: New file.
48051         * lib/striconveha.h: New file.
48052         * lib/striconveha.c: New file.
48053         * MODULES.html.sh (Internationalization functions): Add striconveha.
48054         * lib/striconv.c (str_iconv): Optimize the case of an empty input
48055         string.
48056         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
48057
48058 2007-01-21  Bruno Haible  <bruno@clisp.org>
48059
48060         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
48061         * lib/striconveh.c (str_iconveh): Likewise.
48062
48063 2007-01-21  Bruno Haible  <bruno@clisp.org>
48064
48065         * lib/striconveh.h (mem_iconveh): New declaration.
48066         * lib/striconveh.c (mem_iconveh): New function.
48067         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
48068
48069 2007-01-21  Bruno Haible  <bruno@clisp.org>
48070
48071         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
48072
48073         * lib/striconveh.h (mem_cd_iconveh): Change specification.
48074         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
48075         original result buffer.
48076         (str_cd_iconveh): Update.
48077         * tests/test-striconveh.c (main): Update.
48078
48079         * lib/striconv.h (mem_cd_iconv): Change specification.
48080         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
48081         result buffer.
48082         (str_cd_iconv): Update.
48083         * tests/test-striconv.c (main): Update.
48084
48085 2007-01-21  Bruno Haible  <bruno@clisp.org>
48086
48087         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
48088
48089 2007-01-20  Jim Meyering  <jim@meyering.net>
48090
48091         * lib/userspec.c (parse_with_separator): If a user or group string
48092         starts with "+", skip the corresponding name-to-ID look-up, since
48093         such a look-up must fail: user and group names may not include "+".
48094
48095 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
48096
48097         * lib/poll.c: Include sys/time.h and time.h unconditionally,
48098         since we now assume the sys_time module.
48099         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
48100         check for sys/time.h; no longer needed.
48101         * modules/poll (Depends-on): Depend on sys_time.
48102
48103 2007-01-18  Bruno Haible  <bruno@clisp.org>
48104
48105         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
48106         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
48107
48108         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
48109         gettimeofday.
48110
48111         * tests/test-gettimeofday.c: Include <time.h>.
48112         (dummy): Remove variable.
48113
48114         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
48115         gl_HEADER_SYS_TIME_H.
48116         (gl_HEADER_SYS_TIME_H): New macro.
48117
48118         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
48119         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
48120         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
48121         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
48122         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
48123         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
48124         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
48125         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
48126         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
48127         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
48128         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
48129
48130         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
48131         last change; it caused a compilation error when cross-compiling to
48132         Cygwin.
48133
48134 2007-01-18  Jim Meyering  <jim@meyering.net>
48135
48136         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
48137         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
48138         than the race-prone "test -d sys || mkdir sys".
48139         (configure.ac): Use AC_PROG_MKDIR_P.
48140         * modules/sys_select: Likewise.
48141         * modules/sys_socket: Likewise.
48142         * modules/sys_time: Likewise.
48143
48144 2007-01-18  Eric Blake  <ebb9@byu.net>
48145
48146         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
48147         replace gettimeofday.
48148         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
48149         name, to avoid infinite recursion.
48150
48151 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
48152
48153         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
48154         module sys_time.
48155         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
48156         assume timespec.h defines struct timeval.
48157         * lib/settime.c: Likewise.
48158         * lib/utimens.c: Likewise.
48159         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
48160         since we now assume the gettimeofday module.
48161         * lib/tempname.c (__gen_tempname): Likewise.
48162         * lib/gettimeofday.h: Remove.
48163         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
48164         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
48165         Include <time.h>, for 'time()'.
48166         (localtime_buffer_addr): Also use this workaround if
48167         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
48168         to simplify the uses.  All uses changed.
48169         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
48170         that #undef is inside {}, and 'const' follows type name consistently.
48171         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
48172         (gettimeofday): Do not use the maximum possible value for
48173         tv->tv_usec, since that might break usages other than ls.c.
48174         Instead, we'll leave ls.c alone.  This undoes today's patch
48175         by Bruno.  Add a compile-time warning for 1s-clock resolution;
48176         we've never observed the problem but might as well keep the
48177         canary.
48178         * lib/nanosleep.c: Include timespec.h first, for interface check.
48179         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
48180         now assume the sys_time module.
48181         * lib/tempname.c: Likewise.
48182         * lib/timespec.h: Likewise.
48183         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
48184         needed.
48185         * lib/strftime.c: Likewise.
48186         * lib/timespec.h: Likewise.
48187         * lib/posixtm.c: Include posixtm.h first, for interface check.
48188         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
48189         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
48190         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
48191         * lib/sys_time_.h: New file.
48192         * lib/timespec.h (struct timespec): Use long int, not long.
48193         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
48194         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
48195         Remove obsolescent call to AC_HEADER_TIME.
48196         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
48197         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
48198         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
48199         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
48200         Likewise.
48201         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
48202         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
48203         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
48204         into the sys_time module.  Check for gettimeofday just once.
48205         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
48206         for gettimeofday signature to just check the signature.  Merely
48207         compile it, since linking doesn't test signature.  Improve test for
48208         whether gettimeofday.o is actually needed.
48209         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
48210         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
48211         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
48212         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
48213         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
48214         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
48215         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
48216         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
48217         than worrying about sys/time.h.
48218         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
48219         Don't bother worrying about TIME_WITH_SYS_TIME.
48220         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
48221         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
48222         * m4/sys_time_h.m4: New file.
48223         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
48224         Don't include sys/time.h.  Return from main rather than exiting.
48225         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
48226         all uses changed.
48227         * modules/gethrxtime (Depends-on): Add sys_time.
48228         * modules/gettime (Depends-on): Likewise.
48229         * modules/gettimeofday (Depends-on): Likewise.
48230         * modules/nanosleep (Depends-on): Likewise.
48231         * modules/settime (Depends-on): Likewise.
48232         * modules/tempname (Depends-on): Likewise.
48233         * modules/utimens (Depends-on): Likewise.
48234         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
48235         (Include:) Change back to <sys/time.h>.
48236         (Maintainer:) Add self.
48237         * modules/sys_time: New file.
48238         * modules/tempname (Depends-on): Add gettimeofday.
48239         * tests/test-gettimeofday.c: Include <sys/time.h>
48240         rather than gettimeofday.h.
48241
48242 2007-01-17  Bruno Haible  <bruno@clisp.org>
48243
48244         * gnulib-tool (func_get_license): Revert last patch. Instead, let
48245         the license default to GPL.
48246         (func_create_testdir): Don't complain if a module is LGPL and its
48247         tests module depends on GPLed modules.
48248
48249 2007-01-17  Bruno Haible  <bruno@clisp.org>
48250
48251         * lib/gettimeofday.c (gettimeofday): Add code for the case
48252         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
48253         maximum possible value for tv->tv_usec, rather than the minimum one.
48254
48255 2005-10-08  Martin Lambers  <marlam@marlam.de>
48256 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
48257 2007-01-16  Bruno Haible  <bruno@clisp.org>
48258
48259         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
48260         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
48261         gl_FUNC_GETTIMEOFDAY.
48262         (Include): Add gettimeofday.h.
48263         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
48264         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
48265         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
48266         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
48267         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
48268         * lib/gettimeofday.h: New file.
48269         * lib/gettimeofday.c: Include <sys/timeb.h>.
48270         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
48271         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
48272         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
48273         fall back on time().
48274
48275         * tests/test-gettimeofday.c: New file.
48276         * modules/gettimeofday-tests: New file.
48277
48278 2007-01-16  Eric Blake  <ebb9@byu.net>
48279
48280         * modules/fnmatch (Depends-on): Depend on wchar.
48281         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
48282         * m4/fnmatch.m4: Likewise.
48283         * modules/mbchar (Makefile.am): Assume <wchar.h>.
48284         * m4/mbchar.m4: Likewise.
48285         * modules/mbswidth (Depends-on): Depend on wchar.
48286         * lib/mbswidth.c: Assume <wchar.h>.
48287         * m4/mbswidth.m4: Likewise.
48288         * modules/quotearg (Depends-on): Depend on wchar.
48289         * lib/quotearg.c: Assume <wchar.h>.
48290         * m4/quotearg.m4: Likewise.
48291         * modules/regex (Depends-on): Depend on wchar.
48292         * lib/regex_internal.h: Assume <wchar.h>.
48293         * m4/regex.m4: Likewise.
48294         * modules/stdint (Depends-on): Depend on wchar.
48295         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
48296         * m4/stdint.m4: Likewise.
48297         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
48298         * modules/strftime (Depends-on): Depend on wchar.
48299         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
48300         * modules/strtol (Depends-on): Depend on wchar.
48301         * lib/strtol.c: Assume <wchar.h>.
48302         * modules/wcwidth (Depends-on): Depend on wchar.
48303         * lib/wcwidth.h: Assume <wchar.h>.
48304         * m4/wcwidth.m4: Likewise.
48305
48306 2007-01-16  Bruno Haible  <bruno@clisp.org>
48307
48308         * modules/csharpexec-script: New, created from...
48309         * modules/csharpexec: ... this.
48310
48311 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
48312
48313         * modules/javaexec-script: New, created from...
48314         * modules/javaexec: ... this.
48315
48316 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48317
48318         * modules/poll (Dependencies): Add sys_select.
48319
48320 2007-01-15  Jim Meyering  <jim@meyering.net>
48321
48322         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
48323         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
48324         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
48325         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
48326
48327 2007-01-15  Bruno Haible  <bruno@clisp.org>
48328
48329         * modules/striconveh: New file.
48330         * lib/striconveh.h: New file.
48331         * lib/striconveh.c: New file.
48332         * MODULES.html.sh (Internationalization functions): Add striconveh.
48333
48334         * modules/striconveh-tests: New file.
48335         * tests/test-striconveh.c: New file.
48336
48337 2007-01-15  Bruno Haible  <bruno@clisp.org>
48338
48339         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
48340         not from GNU libiconv or GNU libc.
48341
48342 2007-01-15  Bruno Haible  <bruno@clisp.org>
48343
48344         * doc/gnulib-intro.texi (Copyright): Explain the different license
48345         terms for module descriptions, autoconf macros, tests, documentation.
48346
48347 2007-01-14  Bruno Haible  <bruno@clisp.org>
48348
48349         * modules/striconv-tests: New file.
48350         * tests/test-striconv.c: New file.
48351
48352 2007-01-14  Bruno Haible  <bruno@clisp.org>
48353
48354         * modules/iconv-tests: New file.
48355         * tests/test-iconv.c: New file.
48356
48357 2007-01-14  Bruno Haible  <bruno@clisp.org>
48358
48359         * gnulib-tool (func_get_license): For test modules, use the license of
48360         the main module.
48361
48362 2007-01-14  Bruno Haible  <bruno@clisp.org>
48363
48364         * modules/iconv (Include): Clarify that <iconv.h> can only be included
48365         if iconv is found to exist.
48366
48367 2007-01-14  Bruno Haible  <bruno@clisp.org>
48368
48369         * modules/c-ctype-tests: New file.
48370         * tests/test-c-ctype.c: New file.
48371
48372 2007-01-14  Bruno Haible  <bruno@clisp.org>
48373
48374         * modules/binary-io-tests: New file.
48375         * tests/test-binary-io.sh: New file.
48376         * tests/test-binary-io.c: New file.
48377
48378 2007-01-14  Bruno Haible  <bruno@clisp.org>
48379
48380         * modules/array-oset-tests: New file.
48381         * tests/test-array_oset.c: New file.
48382
48383 2007-01-14  Bruno Haible  <bruno@clisp.org>
48384
48385         * modules/array-list-tests: New file.
48386         * tests/test-array_list.c: New file.
48387
48388 2007-01-14  Bruno Haible  <bruno@clisp.org>
48389
48390         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
48391         and make.
48392         Reported by Simon Josefsson in
48393         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
48394
48395 2007-01-14  Bruno Haible  <bruno@clisp.org>
48396
48397         * modules/allocsa-tests: New file.
48398         * tests/test-allocsa.c: New file.
48399
48400 2007-01-14  Bruno Haible  <bruno@clisp.org>
48401
48402         * modules/fchdir (Depends-on): Add absolute-header.
48403         * modules/unistd (Depends-on): Likewise.
48404
48405 2006-12-30  Bruno Haible  <bruno@clisp.org>
48406
48407         * modules/fchdir: New file.
48408         * modules/unistd (Files): Add lib/unistd_.h.
48409         (Makefile.am): Generate unistd.h from unistd_.h.
48410         * lib/fchdir.c: New file.
48411         * lib/dirent_.h: New file.
48412         * lib/unistd_.h: New file.
48413         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
48414         * m4/fchdir.m4: New file.
48415         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
48416         (gl_HEADER_UNISTD): Invoke it.
48417         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
48418         function.
48419         * lib/backupfile.c (opendir, closedir): Undefine.
48420         * lib/chown.c (open, close): Undefine.
48421         * lib/clean-temp.c (open, close): Undefine.
48422         * lib/copy-file.c (open, close): Undefine.
48423         * lib/execute.c (open, close): Undefine.
48424         * lib/fsusage.c (open, close): Undefine.
48425         * lib/gc-gnulib.c (open, close): Undefine.
48426         * lib/getcwd.c (opendir, closedir): Undefine.
48427         * lib/glob.c (opendir, closedir): Undefine.
48428         * lib/javacomp.c (open, close): Undefine.
48429         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
48430         * lib/openat-proc.c (open, close): Undefine.
48431         * lib/pagealign_alloc.c (open, close): Undefine.
48432         * lib/pipe.c (open, close): Undefine.
48433         * lib/progreloc.c (open, close): Undefine.
48434         * lib/savedir.c (opendir, closedir): Undefine.
48435         * lib/utime.c (open, close): Undefine.
48436         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
48437
48438 2007-01-10  Bruno Haible  <bruno@clisp.org>
48439
48440         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
48441
48442 2007-01-12  Eric Blake  <ebb9@byu.net>
48443
48444         Provide a robust <wchar.h>.  Further simplifications are now
48445         possible in other modules, but not included here.
48446         * modules/wchar: New module.
48447         * m4/wchar.m4: New file.
48448         * lib/wchar_.h: Likewise.
48449         * modules/mbchar (Depends-on): Depend on wchar, as the first use
48450         of the new module.
48451         * MODULES.html.sh (Extended multibyte and wide character utilities):
48452         New section.
48453
48454 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
48455
48456         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
48457         to a reasonable default for memory allocation.
48458         (xreadlink): Don't allocate a huge buffer, to work around a buggy
48459         file system that reports garbage st_size values for symlinks.
48460         Problem reported by Liyang Hu.
48461
48462 2007-01-11  Simon Josefsson  <simon@josefsson.org>
48463
48464         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
48465         Emacs .#* auto-save files).
48466
48467 2007-01-11  Bruno Haible  <bruno@clisp.org>
48468
48469         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
48470         directory.
48471
48472 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
48473
48474         Use @...@ consistently in lib/wctype_.h.
48475         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
48476         on it being set to 1 or 0.
48477         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
48478         go back to AC_SUBSTing it.
48479         * modules/wctype (Makefile.am): Undo previous change.
48480
48481 2007-01-10  Eric Blake  <ebb9@byu.net>
48482
48483         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
48484         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
48485         * modules/wctype (Makefile.am): Likewise.
48486         Reported by Chris McGuire.
48487
48488 2007-01-10  Jim Meyering  <jim@meyering.net>
48489
48490         fts.c: a small readability/maintainability improvement
48491         * lib/fts.c (fts_read): Make this code slightly more readable and
48492         maintainable by hoisting the "sp->fts_cur = p" assignments to
48493         immediately follow the statements that set P.  Derived from
48494         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
48495
48496 2007-01-10  Eric Blake  <ebb9@byu.net>
48497
48498         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
48499         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
48500         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
48501         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
48502         Reported by Chris McGuire.
48503
48504 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48505
48506         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
48507         in sed script.
48508
48509 2007-01-09  Bruno Haible  <bruno@clisp.org>
48510
48511         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
48512         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
48513         variables.
48514         (func_module): Use them.
48515
48516 2007-01-09  Bruno Haible  <bruno@clisp.org>
48517
48518         * modules/unistr/base: New file.
48519         * lib/unistr.h: New file.
48520
48521         * modules/unistr/u8-to-u16: New file.
48522         * lib/unistr/u8-to-u16.c: New file.
48523
48524         * modules/unistr/u8-to-u32: New file.
48525         * lib/unistr/u8-to-u32.c: New file.
48526
48527         * modules/unistr/u16-to-u8: New file.
48528         * lib/unistr/u16-to-u8.c: New file.
48529
48530         * modules/unistr/u16-to-u32: New file.
48531         * lib/unistr/u16-to-u32.c: New file.
48532
48533         * modules/unistr/u32-to-u8: New file.
48534         * lib/unistr/u32-to-u8.c: New file.
48535
48536         * modules/unistr/u32-to-u16: New file.
48537         * lib/unistr/u32-to-u16.c: New file.
48538
48539         * modules/unistr/u8-check: New file.
48540         * modules/unistr/u16-check: New file.
48541         * modules/unistr/u32-check: New file.
48542         * lib/unistr/u8-check.c: New file.
48543         * lib/unistr/u16-check.c: New file.
48544         * lib/unistr/u32-check.c: New file.
48545
48546         * modules/unistr/u8-chr: New file.
48547         * modules/unistr/u16-chr: New file.
48548         * modules/unistr/u32-chr: New file.
48549         * lib/unistr/u8-chr.c: New file.
48550         * lib/unistr/u16-chr.c: New file.
48551         * lib/unistr/u32-chr.c: New file.
48552
48553         * modules/unistr/u8-cmp: New file.
48554         * modules/unistr/u16-cmp: New file.
48555         * modules/unistr/u32-cmp: New file.
48556         * lib/unistr/u8-cmp.c: New file.
48557         * lib/unistr/u16-cmp.c: New file.
48558         * lib/unistr/u32-cmp.c: New file.
48559
48560         * modules/unistr/u8-cpy: New file.
48561         * modules/unistr/u16-cpy: New file.
48562         * modules/unistr/u32-cpy: New file.
48563         * lib/unistr/u8-cpy.c: New file.
48564         * lib/unistr/u16-cpy.c: New file.
48565         * lib/unistr/u32-cpy.c: New file.
48566         * lib/unistr/u-cpy.h: New file.
48567
48568         * modules/unistr/u8-cpy-alloc: New file.
48569         * modules/unistr/u16-cpy-alloc: New file.
48570         * modules/unistr/u32-cpy-alloc: New file.
48571         * lib/unistr/u8-cpy-alloc.c: New file.
48572         * lib/unistr/u16-cpy-alloc.c: New file.
48573         * lib/unistr/u32-cpy-alloc.c: New file.
48574         * lib/unistr/u-cpy-alloc.h: New file.
48575
48576         * modules/unistr/u8-endswith: New file.
48577         * modules/unistr/u16-endswith: New file.
48578         * modules/unistr/u32-endswith: New file.
48579         * lib/unistr/u8-endswith.c: New file.
48580         * lib/unistr/u16-endswith.c: New file.
48581         * lib/unistr/u32-endswith.c: New file.
48582         * lib/unistr/u-endswith.h: New file.
48583
48584         * modules/unistr/u8-mblen: New file.
48585         * modules/unistr/u16-mblen: New file.
48586         * modules/unistr/u32-mblen: New file.
48587         * lib/unistr/u8-mblen.c: New file.
48588         * lib/unistr/u16-mblen.c: New file.
48589         * lib/unistr/u32-mblen.c: New file.
48590
48591         * modules/unistr/u8-mbtouc: New file.
48592         * modules/unistr/u16-mbtouc: New file.
48593         * modules/unistr/u32-mbtouc: New file.
48594         * lib/unistr/u8-mbtouc.c: New file.
48595         * lib/unistr/u16-mbtouc.c: New file.
48596         * lib/unistr/u32-mbtouc.c: New file.
48597
48598         * modules/unistr/u8-mbtouc-safe: New file.
48599         * modules/unistr/u16-mbtouc-safe: New file.
48600         * modules/unistr/u32-mbtouc-safe: New file.
48601         * lib/unistr/u8-mbtouc-safe.c: New file.
48602         * lib/unistr/u16-mbtouc-safe.c: New file.
48603         * lib/unistr/u32-mbtouc-safe.c: New file.
48604
48605         * modules/unistr/u8-move: New file.
48606         * modules/unistr/u16-move: New file.
48607         * modules/unistr/u32-move: New file.
48608         * lib/unistr/u8-move.c: New file.
48609         * lib/unistr/u16-move.c: New file.
48610         * lib/unistr/u32-move.c: New file.
48611         * lib/unistr/u-move.h: New file.
48612
48613         * modules/unistr/u8-next: New file.
48614         * modules/unistr/u16-next: New file.
48615         * modules/unistr/u32-next: New file.
48616         * lib/unistr/u8-next.c: New file.
48617         * lib/unistr/u16-next.c: New file.
48618         * lib/unistr/u32-next.c: New file.
48619
48620         * modules/unistr/u8-prev: New file.
48621         * modules/unistr/u16-prev: New file.
48622         * modules/unistr/u32-prev: New file.
48623         * lib/unistr/u8-prev.c: New file.
48624         * lib/unistr/u16-prev.c: New file.
48625         * lib/unistr/u32-prev.c: New file.
48626
48627         * modules/unistr/u8-set: New file.
48628         * modules/unistr/u16-set: New file.
48629         * modules/unistr/u32-set: New file.
48630         * lib/unistr/u8-set.c: New file.
48631         * lib/unistr/u16-set.c: New file.
48632         * lib/unistr/u32-set.c: New file.
48633         * lib/unistr/u-set.h: New file.
48634
48635         * modules/unistr/u8-startswith: New file.
48636         * modules/unistr/u16-startswith: New file.
48637         * modules/unistr/u32-startswith: New file.
48638         * lib/unistr/u8-startswith.c: New file.
48639         * lib/unistr/u16-startswith.c: New file.
48640         * lib/unistr/u32-startswith.c: New file.
48641         * lib/unistr/u-startswith.h: New file.
48642
48643         * modules/unistr/u8-stpcpy: New file.
48644         * modules/unistr/u16-stpcpy: New file.
48645         * modules/unistr/u32-stpcpy: New file.
48646         * lib/unistr/u8-stpcpy.c: New file.
48647         * lib/unistr/u16-stpcpy.c: New file.
48648         * lib/unistr/u32-stpcpy.c: New file.
48649         * lib/unistr/u-stpcpy.h: New file.
48650
48651         * modules/unistr/u8-stpncpy: New file.
48652         * modules/unistr/u16-stpncpy: New file.
48653         * modules/unistr/u32-stpncpy: New file.
48654         * lib/unistr/u8-stpncpy.c: New file.
48655         * lib/unistr/u16-stpncpy.c: New file.
48656         * lib/unistr/u32-stpncpy.c: New file.
48657         * lib/unistr/u-stpncpy.h: New file.
48658
48659         * modules/unistr/u8-strcat: New file.
48660         * modules/unistr/u16-strcat: New file.
48661         * modules/unistr/u32-strcat: New file.
48662         * lib/unistr/u8-strcat.c: New file.
48663         * lib/unistr/u16-strcat.c: New file.
48664         * lib/unistr/u32-strcat.c: New file.
48665         * lib/unistr/u-strcat.h: New file.
48666
48667         * modules/unistr/u8-strchr: New file.
48668         * modules/unistr/u16-strchr: New file.
48669         * modules/unistr/u32-strchr: New file.
48670         * lib/unistr/u8-strchr.c: New file.
48671         * lib/unistr/u16-strchr.c: New file.
48672         * lib/unistr/u32-strchr.c: New file.
48673
48674         * modules/unistr/u8-strcmp: New file.
48675         * modules/unistr/u16-strcmp: New file.
48676         * modules/unistr/u32-strcmp: New file.
48677         * lib/unistr/u8-strcmp.c: New file.
48678         * lib/unistr/u16-strcmp.c: New file.
48679         * lib/unistr/u32-strcmp.c: New file.
48680
48681         * modules/unistr/u8-strcpy: New file.
48682         * modules/unistr/u16-strcpy: New file.
48683         * modules/unistr/u32-strcpy: New file.
48684         * lib/unistr/u8-strcpy.c: New file.
48685         * lib/unistr/u16-strcpy.c: New file.
48686         * lib/unistr/u32-strcpy.c: New file.
48687         * lib/unistr/u-strcpy.h: New file.
48688
48689         * modules/unistr/u8-strcspn: New file.
48690         * modules/unistr/u16-strcspn: New file.
48691         * modules/unistr/u32-strcspn: New file.
48692         * lib/unistr/u8-strcspn.c: New file.
48693         * lib/unistr/u16-strcspn.c: New file.
48694         * lib/unistr/u32-strcspn.c: New file.
48695         * lib/unistr/u-strcspn.h: New file.
48696
48697         * modules/unistr/u8-strdup: New file.
48698         * modules/unistr/u16-strdup: New file.
48699         * modules/unistr/u32-strdup: New file.
48700         * lib/unistr/u8-strdup.c: New file.
48701         * lib/unistr/u16-strdup.c: New file.
48702         * lib/unistr/u32-strdup.c: New file.
48703         * lib/unistr/u-strdup.h: New file.
48704
48705         * modules/unistr/u8-strlen: New file.
48706         * modules/unistr/u16-strlen: New file.
48707         * modules/unistr/u32-strlen: New file.
48708         * lib/unistr/u8-strlen.c: New file.
48709         * lib/unistr/u16-strlen.c: New file.
48710         * lib/unistr/u32-strlen.c: New file.
48711         * lib/unistr/u-strlen.h: New file.
48712
48713         * modules/unistr/u8-strmblen: New file.
48714         * modules/unistr/u16-strmblen: New file.
48715         * modules/unistr/u32-strmblen: New file.
48716         * lib/unistr/u8-strmblen.c: New file.
48717         * lib/unistr/u16-strmblen.c: New file.
48718         * lib/unistr/u32-strmblen.c: New file.
48719
48720         * modules/unistr/u8-strmbtouc: New file.
48721         * modules/unistr/u16-strmbtouc: New file.
48722         * modules/unistr/u32-strmbtouc: New file.
48723         * lib/unistr/u8-strmbtouc.c: New file.
48724         * lib/unistr/u16-strmbtouc.c: New file.
48725         * lib/unistr/u32-strmbtouc.c: New file.
48726
48727         * modules/unistr/u8-strncat: New file.
48728         * modules/unistr/u16-strncat: New file.
48729         * modules/unistr/u32-strncat: New file.
48730         * lib/unistr/u8-strncat.c: New file.
48731         * lib/unistr/u16-strncat.c: New file.
48732         * lib/unistr/u32-strncat.c: New file.
48733         * lib/unistr/u-strncat.h: New file.
48734
48735         * modules/unistr/u8-strncmp: New file.
48736         * modules/unistr/u16-strncmp: New file.
48737         * modules/unistr/u32-strncmp: New file.
48738         * lib/unistr/u8-strncmp.c: New file.
48739         * lib/unistr/u16-strncmp.c: New file.
48740         * lib/unistr/u32-strncmp.c: New file.
48741
48742         * modules/unistr/u8-strncpy: New file.
48743         * modules/unistr/u16-strncpy: New file.
48744         * modules/unistr/u32-strncpy: New file.
48745         * lib/unistr/u8-strncpy.c: New file.
48746         * lib/unistr/u16-strncpy.c: New file.
48747         * lib/unistr/u32-strncpy.c: New file.
48748         * lib/unistr/u-strncpy.h: New file.
48749
48750         * modules/unistr/u8-strnlen: New file.
48751         * modules/unistr/u16-strnlen: New file.
48752         * modules/unistr/u32-strnlen: New file.
48753         * lib/unistr/u8-strnlen.c: New file.
48754         * lib/unistr/u16-strnlen.c: New file.
48755         * lib/unistr/u32-strnlen.c: New file.
48756         * lib/unistr/u-strnlen.h: New file.
48757
48758         * modules/unistr/u8-strpbrk: New file.
48759         * modules/unistr/u16-strpbrk: New file.
48760         * modules/unistr/u32-strpbrk: New file.
48761         * lib/unistr/u8-strpbrk.c: New file.
48762         * lib/unistr/u16-strpbrk.c: New file.
48763         * lib/unistr/u32-strpbrk.c: New file.
48764         * lib/unistr/u-strpbrk.h: New file.
48765
48766         * modules/unistr/u8-strrchr: New file.
48767         * modules/unistr/u16-strrchr: New file.
48768         * modules/unistr/u32-strrchr: New file.
48769         * lib/unistr/u8-strrchr.c: New file.
48770         * lib/unistr/u16-strrchr.c: New file.
48771         * lib/unistr/u32-strrchr.c: New file.
48772
48773         * modules/unistr/u8-strspn: New file.
48774         * modules/unistr/u16-strspn: New file.
48775         * modules/unistr/u32-strspn: New file.
48776         * lib/unistr/u8-strspn.c: New file.
48777         * lib/unistr/u16-strspn.c: New file.
48778         * lib/unistr/u32-strspn.c: New file.
48779         * lib/unistr/u-strspn.h: New file.
48780
48781         * modules/unistr/u8-strstr: New file.
48782         * modules/unistr/u16-strstr: New file.
48783         * modules/unistr/u32-strstr: New file.
48784         * lib/unistr/u8-strstr.c: New file.
48785         * lib/unistr/u16-strstr.c: New file.
48786         * lib/unistr/u32-strstr.c: New file.
48787         * lib/unistr/u-strstr.h: New file.
48788
48789         * modules/unistr/u8-strtok: New file.
48790         * modules/unistr/u16-strtok: New file.
48791         * modules/unistr/u32-strtok: New file.
48792         * lib/unistr/u8-strtok.c: New file.
48793         * lib/unistr/u16-strtok.c: New file.
48794         * lib/unistr/u32-strtok.c: New file.
48795         * lib/unistr/u-strtok.h: New file.
48796
48797         * modules/unistr/u8-uctomb: New file.
48798         * modules/unistr/u16-uctomb: New file.
48799         * modules/unistr/u32-uctomb: New file.
48800         * lib/unistr/u8-uctomb.c: New file.
48801         * lib/unistr/u16-uctomb.c: New file.
48802         * lib/unistr/u32-uctomb.c: New file.
48803
48804         * MODULES.html.sh (Unicode string functions): Add the new modules.
48805
48806 2007-01-08  Bruno Haible  <bruno@clisp.org>
48807
48808         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
48809         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
48810         subdirectories.
48811
48812 2007-01-08  Karl Berry  <karl@gnu.org>
48813
48814         * doc/error.texi: mention that main() fns must set program_name
48815         when progname is used.
48816
48817 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
48818
48819         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
48820         WCTYPE_H is empty, for the benefit of builds from non-distclean
48821         directories.  Problem reported by Eric Blake in
48822         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
48823
48824 2007-01-08  Bruno Haible  <bruno@clisp.org>
48825
48826         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
48827         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
48828         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
48829         PROVIDE_CANONICALIZE_FILENAME_MODE.
48830         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
48831
48832 2007-01-08  Bruno Haible  <bruno@clisp.org>
48833
48834         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
48835         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
48836         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
48837         * lib/fts.c: Likewise.
48838         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
48839
48840 2006-12-25  Bruno Haible  <bruno@clisp.org>
48841
48842         * modules/utf8-ucs4-safe: New file.
48843         * lib/utf8-ucs4-safe.h: New file.
48844         * lib/unistr/utf8-ucs4-safe.c: New file.
48845
48846         * modules/utf16-ucs4-safe: New file.
48847         * lib/utf16-ucs4-safe.h: New file.
48848         * lib/unistr/utf16-ucs4-safe.c: New file.
48849
48850         * MODULES.html.sh (Unicode string functions): Add the new modules.
48851
48852 2007-01-08  Bruno Haible  <bruno@clisp.org>
48853
48854         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
48855         (Depends-on): Add unitypes.
48856         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
48857         (u8_mbtouc_aux): Move out to separate file.
48858         (u8_mbtouc): Use ucs4_t, uint8_t types.
48859         * lib/unistr/utf8-ucs4.c: New file.
48860
48861         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
48862         (Depends-on): Add unitypes.
48863         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
48864         (u16_mbtouc_aux): Move out to separate file.
48865         (u16_mbtouc): Use ucs4_t, uint16_t types.
48866         * lib/unistr/utf16-ucs4.c: New file.
48867
48868         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
48869         (Depends-on): Add unitypes.
48870         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
48871         (u8_uctomb_aux): Move out to separate file.
48872         (u8_uctomb): Use ucs4_t, uint8_t types.
48873         * lib/unistr/ucs4-utf8.c: New file.
48874
48875         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
48876         (Depends-on): Add unitypes.
48877         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
48878         (u16_uctomb_aux): Move out to separate file.
48879         (u16_uctomb): Use ucs4_t, uint16_t types.
48880         * lib/unistr/ucs4-utf16.c: New file.
48881
48882 2006-12-25  Bruno Haible  <bruno@clisp.org>
48883
48884         * modules/unitypes: New file.
48885         * lib/unitypes.h: New file.
48886         * MODULES.html.sh (func_all_modules): New section "Unicode string
48887         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
48888         this section. Add unitypes.
48889
48890 2007-01-08  Bruno Haible  <bruno@clisp.org>
48891
48892         Avoid variable names that conflict with those from libtool.
48893         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
48894         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
48895         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
48896         library_names_spec to acl_library_names_spec, hardcode_* to
48897         acl_hardcode_*.
48898         Reported by Ralf Wildenhues.
48899
48900 2007-01-08  Bruno Haible  <bruno@clisp.org>
48901
48902         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
48903         definition.
48904         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
48905         definition.
48906         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
48907         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
48908         definition.
48909         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
48910         definition.
48911         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
48912         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
48913         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
48914         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
48915         definition.
48916         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
48917         definition.
48918         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
48919         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
48920         GC_USE_<algorithm>.
48921         * lib/gc-libgcrypt.c: Likewise.
48922         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
48923         * modules/gc-arctwo (configure.ac): Likewise.
48924         * modules/gc-des (configure.ac): Likewise.
48925         * modules/gc-hmac-md5 (configure.ac): Likewise.
48926         * modules/gc-hmac-sha1 (configure.ac): Likewise.
48927         * modules/gc-md2 (configure.ac): Likewise.
48928         * modules/gc-md4 (configure.ac): Likewise.
48929         * modules/gc-md5 (configure.ac): Likewise.
48930         * modules/gc-random (configure.ac): Likewise.
48931         * modules/gc-rijndael (configure.ac): Likewise.
48932         * modules/gc-sha1 (configure.ac): Likewise.
48933
48934 2007-01-08  Bruno Haible  <bruno@clisp.org>
48935
48936         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
48937         macro definition.
48938         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
48939         definition.
48940         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
48941         definition.
48942         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
48943         * modules/fcntl-safer (configure.ac): Likewise.
48944         * modules/fopen-safer (configure.ac): Likewise.
48945         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
48946         GNULIB_FWRITEERROR macro definition.
48947
48948 2007-01-08  Bruno Haible  <bruno@clisp.org>
48949
48950         * m4/gnulib-common.m4: New file.
48951         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
48952         (func_get_filelist): Add m4/gnulib-common.m4.
48953
48954 2007-01-08  Bruno Haible  <bruno@clisp.org>
48955
48956         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
48957         command.
48958
48959 2007-01-08  Jim Meyering  <jim@meyering.net>
48960
48961         Use a more robust test for a "can't happen" condition.
48962         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
48963         narrowed the st_size value.  Presuming the "can't happen" condition
48964         is true, that narrowing could conceivably convert an invalid st_size
48965         value into a valid one.  Instead, use a change based on Matthew
48966         Woehlke's original patch.
48967
48968         Slight readability improvement: use an assert-like macro
48969         in place of literal "abort ()" uses.
48970         * lib/fts.c (fts_assert): Define.
48971         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
48972         Use this macro instead of a bare 'abort'.
48973
48974 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
48975
48976         Don't worry about using IRIX 5.3's wctype.h broken definitions;
48977         simply work around them.
48978         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
48979         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
48980         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
48981         declaring.
48982         Don't bother to define as macros, since the standard doesn't require it.
48983         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
48984         longer worry about IRIX 5.3.
48985         (HAVE_WCTYPE_CTMP_BUG): Remove.
48986
48987 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
48988
48989         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
48990         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
48991         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
48992         Problems reported by Georg Schwarz for IRIX 5.3.
48993
48994         * gnulib-tool (autoconf_minversion): Take the maximum version number
48995         found, not the minimum.  Problem reported by James Youngman.
48996
48997 2007-01-03  Karl Berry  <karl@gnu.org>
48998
48999         * doc/error.texi: new file, explaining interaction with progname.
49000         * doc/gnulib.texi: include it.  Update copyright.
49001
49002 2007-01-03  Simon Josefsson  <simon@josefsson.org>
49003
49004         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
49005         AC_CANONICAL_HOST, to improve autobuild outputs.
49006
49007 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
49008             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
49009
49010         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
49011         sockets, server sockets, and other file descriptors.  Count errors
49012         to compute the return value.  Reorder the code a bit to be easier
49013         to follow.  Don't set event bits that were not requested (except
49014         POLLERR and POLLHUP).
49015
49016 2007-01-01  Bruno Haible  <bruno@clisp.org>
49017
49018         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
49019
49020 2007-01-03  Jim Meyering  <jim@meyering.net>
49021
49022         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
49023
49024 2007-01-02  Bruno Haible  <bruno@clisp.org>
49025
49026         * modules/settime (Include): Require timespec.h.
49027         * modules/nanosleep (Include): Likewise.
49028
49029 2007-01-01  Bruno Haible  <bruno@clisp.org>
49030
49031         * gnulib-tool (func_emit_copyright_notice): Bump year.
49032         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
49033
49034 2007-01-01  Bruno Haible  <bruno@clisp.org>
49035
49036         Improve support for OpenBSD.
49037         * build-aux/config.rpath (libname_spec): Export.
49038         (library_names_spec): New variable. Export.
49039         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
49040         library_names_spec from the config.rpath output. Locate shared library
49041         through the name pattern in library_names_spec.
49042
49043 2007-01-01  Eric Blake  <ebb9@byu.net>
49044
49045         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
49046
49047 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
49048
49049         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
49050         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
49051         assume the C locale, and avoid an "eval" that could cause trouble.
49052         Problem with SORT reported by Bob Proulx.
49053
49054         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
49055         Define.  Trivial patch from Henning Nielsen Lund, originally
49056         sent to bug-grep@gnu.org today.
49057
49058 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
49059
49060         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
49061         struct stat.  Problem reported by Henning Nielsen Lund.
49062         * lib/acl.c: Include acl.h first, to check interface.  Don't
49063         bother to include sys/types.h and sys/stat.h again.
49064
49065 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
49066
49067         Import the following change from libc; problem reported by
49068         Sven Verdoolaege.
49069
49070         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
49071
49072         [BZ #1373]
49073         * lib/argp.h: Remove __NTH for __argp_usage inline function.
49074
49075 2006-12-28  Jim Meyering  <jim@meyering.net>
49076
49077         * build-aux/announce-gen: Do not assume that the package
49078         builds any of tar.gz, tar.bz2, and .xdelta files.
49079         Suggestion from Simon Josefsson.
49080
49081 2006-12-28  Simon Josefsson  <simon@josefsson.org>
49082
49083         * modules/announce-gen: New file.
49084
49085 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
49086
49087         * lib/mbchar.h: Just include <wctype.h>; the wctype module
49088         handles its gotchas now.
49089         * lib/mbswidth.c: Likewise.
49090         * lib/wcwidth.h: Likewise.
49091         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
49092         and iswcntrl; the wctype module does this stuff now.
49093         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49094         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
49095         * modules/mbchar (Depends-on): Add wctype.
49096         * modules/mbswidth (Depends-on): Likewise.
49097         * modules/wcwidth (Depends-on): Likewise.
49098
49099 2006-12-27  Eric Blake  <ebb9@byu.net>
49100
49101         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
49102         module uses more than what <wctype.h> is required to provide.
49103
49104 2006-12-26  Eric Blake  <ebb9@byu.net>
49105
49106         * gnulib-tool (sed_extract_prog): Avoid space-tab.
49107
49108 2006-12-26  Eric Blake  <ebb9@byu.net>
49109
49110         * modules/absolute-header: New module.
49111         * modules/fcntl (Depends-on): Depend on it.
49112         * modules/inttypes (Depends-on): Likewise.
49113         * modules/stdint (Depends-on): Likewise.
49114         * modules/sys_stat (Depends-on): Likewise.
49115         * modules/wctype (Depends-on): Likewise.
49116         * MODULES.html.sh (Support for building libraries and
49117         executables): Document it.
49118
49119 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
49120
49121         * gnulib-tool (SED): Remove, undoing previous change.
49122         The problem was that it broke coreutils on Solaris, because
49123         "sed --posix" leaked into a makefile.
49124         (sed): New alias, if 'alias' and GNU sed.
49125
49126 2006-12-24  Jim Meyering  <jim@meyering.net>
49127
49128         Work around an fchownat bug in glibc-2.4:
49129         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
49130         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
49131         in spite of the -P option.
49132         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
49133         New macros.
49134         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
49135         * modules/openat (Files): Add lib/fchownat.c.
49136         * lib/openat.c (fchownat): Don't define here.  Move to...
49137         * lib/fchownat.c: ...this new file.
49138
49139 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
49140
49141         Fix bug reported by Bruno Haible in
49142         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
49143         where quotearg.c didn't compile on Mac OS X 10.2 because it
49144         lacks <wchar.h> and wint_t.
49145         * lib/wctype_.h (__wctype_wint_t): New type.
49146         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
49147         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
49148         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
49149         Arg is now of type __wctype_wint_t, not wint_t.
49150         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
49151         substitute HAVE_WINT_T.
49152         * modules/wctype (Files): Add m4/wint_t.m4.
49153         (wctype.h): Substitute HAVE_WINT_T.
49154
49155 2006-12-23  Bruno Haible  <bruno@clisp.org>
49156
49157         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
49158
49159 2006-12-23  Bruno Haible  <bruno@clisp.org>
49160
49161         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
49162         S_ISLNK.
49163         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
49164         mingw.
49165
49166 2006-12-22  Bruno Haible  <bruno@clisp.org>
49167
49168         * lib/copy-file.c: Include acl.h.
49169         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
49170         Close the file descriptors only after being done with copy_acl.
49171         * modules/copy-file (Depends-on): Add acl.
49172
49173 2006-12-22  Bruno Haible  <bruno@clisp.org>
49174
49175         * gnulib-tool (SED): New variable.
49176         Use $SED instead of sed everywhere.
49177
49178 2006-12-22  Bruno Haible  <bruno@clisp.org>
49179
49180         * modules/no-c++: New file.
49181         * m4/no-c++.m4: New file.
49182         * MODULES.html.sh (Support for building libraries and executables):
49183         Add no-c++.
49184
49185 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
49186
49187         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
49188         Include <limits.h>, and use its INT_MAX to rewrite the
49189         j loop so that it does not overflow 'int'.  Problem reported by
49190         Ralf Wildenhues in
49191         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
49192         Play it safe by shifting left by 1 rather than multiplying by 2,
49193         as GCC is less likely to optimize this away when the value
49194         is signed (when it assumes overflow leads to undefined behavior).
49195         Also, don't assume time_t uses two's complement.
49196
49197 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
49198
49199         * MODULES.html.sh: New module wctype.
49200         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
49201         * lib/fnmatch.c: Don't bother to include <wchar.h> before
49202         <wctype.h>, since the new wctype module should fix this.
49203         * lib/quotearg.c: Include <wctype.h> unconditionally, since
49204         the wctype module should arrange for it.
49205         * lib/regex_internal.h: Likewise.
49206         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
49207         since the wctype module should handle this now.
49208         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
49209         * modules/fnmatch (Depends-on): Add wctype.
49210         * modules/quotearg (Depends-on): Likewise.
49211         * modules/regex (Depends-on): Likewise.
49212
49213 2006-12-19  Bruno Haible  <bruno@clisp.org>
49214
49215         * lib/strdup.h [C++]: Wrap definitions in extern "C".
49216         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
49217
49218 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49219
49220         * modules/savewd (Depends-on): Fix dependency on fcntl.
49221
49222 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
49223
49224         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
49225         conforms to C99, rather than relying on the user's environment
49226         setting of STDINT_H.
49227
49228 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
49229         and Eric Blake  <ebb9@byu.net>
49230
49231         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
49232         This is more consistent with the other defines here.
49233         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
49234         Port to z/OS.  Problem reported by Paul Gilmartin.
49235         Change local vars to use gl_ prefix rather than ac_.
49236         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
49237         with other defines.
49238         * modules/double-slash-root: New module.
49239         * modules/dirname (Files): Remove m4/double-slash-root.m4.
49240         (Depends-on): Add double-slash-root.
49241         * MODULES.html.sh (File system functions): Mention new module.
49242
49243 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
49244
49245         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
49246         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
49247         This is for the benefit of gzip, which doesn't do i18n.
49248
49249 2006-12-12  Jim Meyering  <jim@meyering.net>
49250
49251         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
49252         Reported by Andreas Schwab <schwab@suse.de>.
49253
49254 2006-12-12  Bruno Haible  <bruno@clisp.org>
49255
49256         Merge these changes.
49257         2006-09-05  Bruno Haible  <bruno@clisp.org>
49258         * lib/iconvme.c (iconv_string): No need to save and restore errno when
49259         iconv_alloc succeeded.
49260         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
49261         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
49262         test for " && dest " at the end - dest is always != NULL there. Call
49263         iconv with 4xNULL arguments initially, to reset the state. Call iconv
49264         with 2xNULL arguments, also to flush the state storage. Handle the
49265         IRIX iconv behaviour. Realloc the final result, to throw away unused
49266         memory.
49267
49268 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
49269
49270         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
49271         and fchmodat unconditionally, since glibc 2.4 has them.
49272         Problem reported by Arkadiusz Miskiewicz.
49273
49274 2006-12-10  Bruno Haible  <bruno@clisp.org>
49275
49276         * gnulib-tool (func_import): Show the include files only for those
49277         modules that are copied and specified.
49278         Reported by Karl Berry.
49279
49280 2006-12-08  Jim Meyering  <jim@meyering.net>
49281
49282         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
49283         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
49284
49285         * build-aux/announce-gen: Add two new options, both optional:
49286         --bootstrap-tools=TOOL_LIST
49287               a comma-separated list of tools, e.g.,
49288               autoconf,automake,bison,gnulib
49289         --gnulib-snapshot-date=DATE
49290               if gnulib is in the bootstrap tool list,
49291               then report this as the snapshot date.
49292               If not specified, use the current date/time.
49293               If you specify a date here, be sure it's UTC.
49294
49295 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49296
49297         * tests/test-argp-2.sh: Fix test to match actual output.
49298         (func_compare): Fix sed script to be portable.
49299
49300 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
49301
49302         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
49303         workaround for this case.  It is not autoconfigured now; offhand
49304         it's hard to see how to autoconfigure it.
49305
49306 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
49307
49308         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
49309         a directory that is about to be chowned.  Such a directory's
49310         initial file permissions should permit the owner only and this
49311         should not be changed until after the chown, since the group and
49312         other bits would be incorrect if they granted permission before
49313         the chown.
49314
49315         Fix porting problem for iswctype reported by Georg Schwarz in:
49316         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
49317         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
49318         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
49319         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
49320         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
49321
49322 2006-12-03  Jim Meyering  <jim@meyering.net>
49323
49324         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
49325         p->fts_statp may not yet be defined.
49326         (fts_read): Instead, set it in the caller, once p->fts_statp is
49327         sure to be defined, and corresponds to a top-level directory.
49328         This bug made du -x fail.  Here's the coreutils test case:
49329         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
49330         Reported by Mike Frysinger.
49331
49332 2006-12-01  Jim Meyering  <jim@meyering.net>
49333
49334         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
49335         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
49336         Reported by Simon Josefsson.
49337
49338 2006-11-30  Jim Meyering  <jim@meyering.net>
49339
49340         * m4/warning.m4: Use the all-permissive copyright notice
49341         recommended by RMS (rather than LGPL).
49342         * m4/vararrays.m4: Likewise.
49343         * m4/flexmember.m4: Likewise.
49344
49345 2006-11-29  Bruno Haible  <bruno@clisp.org>
49346
49347         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
49348         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
49349         using +=.
49350         Reported by Simon Josefsson <simon@josefsson.org>.
49351
49352 2006-11-28  James Youngman <jay@gnu.org>
49353
49354         * README: Advise users that they might find the bug-gnulib@gnu.org
49355         and autotools-announce@gnu.org mailing lists useful.
49356
49357 2006-11-28  Bruno Haible  <bruno@clisp.org>
49358
49359         * m4/ptrdiff_max.m4: Remove file.
49360
49361 2006-11-21  Bruno Haible  <bruno@clisp.org>
49362
49363         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
49364         _AC_COMPUTE_INT.
49365         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
49366         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
49367         _AC_COMPUTE_INT.
49368         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
49369         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
49370         _AC_COMPUTE_INT.
49371         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
49372
49373 2006-11-28  Jim Meyering  <jim@meyering.net>
49374
49375         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
49376         warning from "gcc -Wshadow" about shadowing the builtin.
49377
49378 2006-11-27  Bruno Haible  <bruno@clisp.org>
49379
49380         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
49381         _AC_COMPUTE_INT.
49382         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
49383
49384 2006-11-27  Bruno Haible  <bruno@clisp.org>
49385             Paul Eggert  <eggert@cs.ucla.edu>
49386
49387         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
49388
49389 2006-11-26  Bruno Haible  <bruno@clisp.org>
49390
49391         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
49392         noinst_LTLIBRARIES.
49393
49394 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
49395             Bruno Haible  <bruno@clisp.org>
49396
49397         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
49398         if compiling with "gcc -ansi".
49399
49400 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
49401
49402         Fix some incompatibilities with gcc -ansi -pedantic.
49403         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
49404         if compiling pedantically with GCC, unless it's C99 or later.
49405         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
49406         it mishandles gcc -ansi -pedantic as well.
49407         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
49408         if gcc -pedantic.
49409         * lib/regexec.c (check_node_accept_bytes): Don't use auto
49410         initializers for struct if -pedantic, unless it's C99 or later.
49411
49412 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
49413
49414         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
49415         Don't close an fd more than once. Identical atimes indicate
49416         success, not failure.
49417
49418 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
49419
49420         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
49421
49422 2006-11-23  Jim Meyering  <jim@meyering.net>
49423
49424         * build-aux/announce-gen: New file.  From coreutils.
49425
49426 2006-11-22  Jim Meyering  <jim@meyering.net>
49427
49428         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
49429         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
49430         (fts_read): Use a temporary to narrow the overused st_size member
49431         before using it in a switch statement.  Reported by Matthew Woehlke.
49432
49433         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
49434         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
49435
49436 2006-11-20  Bruno Haible  <bruno@clisp.org>
49437
49438         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
49439         changequote instead of pairs of brackets.
49440         Reported by Andreas Schwab <schwab@suse.de>.
49441
49442 2006-11-21  Jim Meyering  <jim@meyering.net>
49443
49444         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
49445         so as to remain compatible with older compilers.
49446         Patch from Michael Deutschmann.
49447
49448 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
49449
49450         * MODULES.html.sh (File system functions): Add openat.
49451
49452         * lib/openat.h (rpl_fstatat): New macro, if
49453         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
49454         (fstatat): Define to rpl_fstatat under the same conditions,
49455         unless COMPILING_FSTATAT.
49456         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
49457         seems to have the bug.
49458         * lib/fstatat.c: New file.
49459         * modules/openat (Files): Add it.
49460
49461 2006-11-20  Bruno Haible  <bruno@clisp.org>
49462
49463         * Makefile: New file.
49464
49465 2006-11-20  Jim Meyering  <jim@meyering.net>
49466
49467         The beginnings of syntax-related checks for gnulib.
49468         * lib/Makefile: New file.
49469         * lib/t-idcache: New script.  Ensure that the two halves of
49470         idcache.c stay in sync.
49471
49472         * lib/idcache.c: Adjust comments in user- and group- portions to
49473         be more accurate, and to be consistent with one another.
49474
49475 2006-11-20  Jim Meyering  <jim@meyering.net>
49476
49477         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
49478         continue using the flexible array member (thus, this module performs
49479         half as many malloc calls), with the addition that...
49480         (getgroup, getuser): Consistently record a non-match via an empty
49481         "name" string, and map an empty string match to a NULL return value.
49482         * modules/idcache (Depends-on): Re-add flexmember.
49483
49484         * lib/idcache.c (getuser): Remove all uses of the register keyword.
49485         (getuidbyname, getgroup, getgidbyname): Likewise.
49486
49487         Use cleaner syntax: NULL rather than 0.
49488         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
49489
49490 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
49491
49492         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
49493         It mishandled the case where the group was missing.
49494         Problem reported by Greg Schafer.
49495         * modules/idcache: Likewise.
49496
49497 2006-11-18  Jim Meyering  <jim@meyering.net>
49498
49499         * check-module (%exempt_header): Add exception for some
49500         conditionally-included headers.
49501
49502         * modules/i-ring (Depends-on): Add verify.
49503         (License): Change to LGPL.
49504
49505 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
49506
49507         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
49508         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
49509         and inttostr.h.  Use snprintf rather than uinttostr, so that
49510         LGPLed code doesn't depend on GPLed.
49511
49512 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
49513
49514         * modules/inline (License): Change from GPL to LGPL.
49515
49516 2006-11-17  Jim Meyering  <jim@meyering.net>
49517
49518         * modules/d-type (License): Switch to LGPL.
49519
49520 2006-11-15  Bruno Haible  <bruno@clisp.org>
49521
49522         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
49523
49524 2006-11-15  Eric Blake  <ebb9@byu.net>
49525
49526         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
49527         the module dependency.
49528
49529 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49530             Bruno Haible  <bruno@clisp.org>
49531
49532         * gnulib-tool (func_create_testdir): Add license consistency check.
49533
49534 2006-11-15  Eric Blake  <ebb9@byu.net>
49535
49536         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
49537         random "(cached)" in configure output.
49538
49539 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49540
49541         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
49542         test for conforming inttypes.h is both announced and cached.
49543
49544         * MODULES.html.sh (seen_modules, seen_files): New variables.
49545         (func_module): Rewrite to use a few less gnulib-tool and sed
49546         invocations.  Avoid a couple of quadratic algorithms for ...
49547         (missed_modules, missed_files): ... these, with ...
49548         (func_append, func_tmpdir): ... these new functions, from
49549         gnulib-tool.  Analogously, install traps for cleanup.
49550
49551         * tests/test-gc.c (main): Remove unused variables.
49552         * tests/test-read-file.c: Include stdlib.h, for 'free'.
49553
49554 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
49555
49556         * modules/inttostr (License): Change to LGPL.
49557
49558 2006-11-14  Eric Blake  <ebb9@byu.net>
49559
49560         * modules/tempname (License): Change to LGPL.
49561
49562 2006-11-14  Eric Blake  <ebb9@byu.net>
49563
49564         * doc/functions.texi (Function Portability): *printf functions on
49565         Cygwin now understand all POSIX size specifiers.
49566
49567 2006-11-14  Bruno Haible  <bruno@clisp.org>
49568
49569         * modules/c-ctype (License): Change to LGPL.
49570
49571 2006-11-12  Bruno Haible  <bruno@clisp.org>
49572
49573         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
49574         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
49575         for GNOME libraries, for which the include files are installed in
49576         subdirectories of $prefix/include.
49577
49578 2006-11-12  Bruno Haible  <bruno@clisp.org>
49579
49580         * m4/lib-link.m4: Require at least autoconf-2.54.
49581         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
49582         name to underscores for the --with option.
49583
49584 2006-11-13  Bruno Haible  <bruno@clisp.org>
49585
49586         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
49587         the tests directory.
49588         Reported by Ralf Wildenhues.
49589
49590 2006-11-13  Bruno Haible  <bruno@clisp.org>
49591
49592         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
49593         (func_emit_initmacro_end): Undo the override here.
49594         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
49595         Works around the famous automake error in coreutils.
49596
49597 2006-11-13  Eric Blake  <ebb9@byu.net>
49598
49599         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
49600         element, not its node.
49601
49602 2006-11-12  Bruno Haible  <bruno@clisp.org>
49603
49604         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
49605         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
49606
49607 2006-11-12  Bruno Haible  <bruno@clisp.org>
49608
49609         * gnulib-tool: New option --local-symlink.
49610         (func_usage): Document it.
49611         (lsymbolic): New variable.
49612         (func_import, func_create_testdir): If --symlink was not specified,
49613         test whether --local-symlink was specified and the file comes from
49614         the local_gnulib_dir.
49615
49616 2006-11-12  Bruno Haible  <bruno@clisp.org>
49617
49618         * gnulib-tool (func_ln): New function.
49619         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
49620
49621 2006-11-12  Bruno Haible  <bruno@clisp.org>
49622
49623         Finish support for source files in subdirectories.
49624         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
49625         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
49626         AUTOMAKE_OPTIONS.
49627         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
49628
49629 2006-11-12  Bruno Haible  <bruno@clisp.org>
49630
49631         * gnulib-tool (func_get_automake_snippet): Synthesize also an
49632         EXTRA_lib_SOURCES augmentation.
49633         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
49634
49635 2006-11-12  Jim Meyering  <jim@meyering.net>
49636
49637         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
49638         file descriptors.  This also averts a failure on systems with
49639         native openat support when a traversed directory lacks "x" access.
49640         * lib/fts_.h: Include "i-ring.h"
49641         (struct FTS) [fts_fd_ring]: New member.
49642         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
49643         (FCHDIR): Add parentheses.
49644         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
49645         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
49646         When descending, rather than simply closing the previous
49647         fts_cwd_fd value, push that file descriptor onto the ring.
49648         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
49649         (fts_open): Initialize the new fd_ring member.
49650         (fts_close): Clear the ring.
49651         (fts_safe_changedir): When possible, use our new fd_ring to skip
49652         the diropen and fstat and dev/ino comparison that would normally
49653         accompany a virtual `chdir ("..")'.
49654
49655         * modules/fts (Depends-on): Add i-ring.
49656         * modules/i-ring: New module.
49657         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
49658         * m4/i-ring.m4: New file.
49659
49660 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49661
49662         * gnulib-tool (func_create_testdir): Fix replacement of
49663         `build-aux' in configure.ac.  Run autotools in gltests
49664         subdirectory.
49665         (func_create_testdir, func_create_megatestdir, test): There is
49666         no need for '--force' in most autotool invocations in a new
49667         tree.  Actually fail the whole test if any of the tools, or the
49668         configure or make stages fail.
49669
49670         Sync from Automake.
49671         * build-aux/gnupload: Revert last change.  Add pointer to upload
49672         instructions of the GNU Maintenance Instructions.
49673         Suggestion by Karl Berry.
49674
49675 2006-11-10  Jim Meyering  <jim@meyering.net>
49676
49677         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
49678
49679 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
49680
49681         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
49682         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
49683         (bind_textdomain_codeset) [! ENABLE_NLS]:
49684         Evaluate all the arguments.  That way, callers get compatible behavior
49685         if the arguments have side effects.  Also, it avoids some GCC
49686         diagnostics in some cases; Joel E. Denny reported problems when Bison
49687         was configured with --enable-gcc-warnigs.
49688
49689 2006-11-10  Jim Meyering  <jim@meyering.net>
49690
49691         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
49692         relevant options in CFLAGS (like -O, -fno-inline) are taken into
49693         account.
49694
49695 2006-11-10  Jim Meyering  <jim@meyering.net>
49696
49697         * modules/inline: New file/module.
49698         * modules/xalloc (Files): Remove m4/inline.m4.
49699         (Depends-on): Add inline, instead.
49700         * modules/oset: Likewise.
49701         * modules/list: Likewise.
49702
49703 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
49704
49705         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
49706         Problem reported by Matthew Woehlke.
49707
49708 2006-11-09  Bruno Haible  <bruno@clisp.org>
49709
49710         * lib/tempname.c (gen_tempname): Remove variant that invokes
49711         __gen_tempname.
49712         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
49713         __gen_tempname.
49714
49715 2006-11-08  Bruno Haible  <bruno@clisp.org>
49716
49717         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
49718         to 'yes' instead of 'cross-compiling'.
49719
49720 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
49721
49722         * lib/quotearg.h (quotearg_free): New decl.
49723         * lib/quotearg.c (quotearg_free): New function.
49724         (slot0, nslots, slotvec0, slotvec):
49725         Now file-scope so that quotearg_free can get at them.
49726
49727 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49728
49729         Sync from Automake.
49730         * build-aux/gnupload: Add missing 'gnu' to example URL.
49731         Report by Karl Berry.
49732
49733 2006-11-08  Bruno Haible  <bruno@clisp.org>
49734
49735         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
49736         Suggested by Paul Eggert.
49737
49738 2006-11-08  Jim Meyering  <jim@meyering.net>
49739
49740         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
49741         It's already included if !_LIBC.
49742         (fts_safe_changedir): Add a comment.
49743
49744 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
49745
49746         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
49747         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
49748         Matthew Woehlke.
49749
49750         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
49751         definitions up, to avoid colliding with change below.
49752         (static_inline) [HAVE_INLINE]: New macro.
49753         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
49754         Provide extern decls when !HAVE_INLINE.  Do not define unless
49755         static_inline is defined, either by us or by xmalloc.c.  Use
49756         static_inline rather than static inline.
49757         (XCALLOC): Optimize sizeof(T) = 1 case.
49758         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
49759
49760 2006-11-07  Bruno Haible  <bruno@clisp.org>
49761
49762         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
49763         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
49764         AC_C_INLINE.
49765         * modules/xalloc (Files): Add m4/inline.m4.
49766
49767 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49768
49769         * README: Fix typo.
49770         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
49771         (Miscellanous Notes): ...from this.
49772
49773 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
49774
49775         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
49776         Mention that offsetof should be used instead of sizeof.
49777         From Bruno Haible.
49778
49779 2006-11-07  Bruno Haible  <bruno@clisp.org>
49780
49781         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
49782
49783 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
49784
49785         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
49786         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
49787         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
49788         (gl_tree_add_before, gl_tree_add_after):
49789         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
49790         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
49791         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
49792         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
49793         (gl_linked_add_after, gl_linked_add_at): Likewise.
49794         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
49795         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
49796         (gl_tree_add_before, gl_tree_add_after): Likewise.
49797         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
49798         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
49799         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
49800
49801 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49802
49803         * lib/gl_oset.h: Use C comment style, not C++ comment style.
49804
49805 2006-11-06  Bruno Haible  <bruno@clisp.org>
49806
49807         * m4/inline.m4: New file.
49808         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
49809         * modules/list (Files): Add m4/inline.m4.
49810         * modules/oset (Files): Likewise.
49811
49812 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
49813
49814         * lib/idcache.c: Include <stddef.h>, for offsetof.
49815         (struct userid.name): Change from char * to a flexible array member.
49816         All uses changed.
49817         * modules/idcache (Depends-on): Add flexmember.
49818
49819         * MODULES.html.sh (Core language properties): New module flexmember.
49820         * modules/flexmember, m4/flexmember.m4: New files.
49821
49822         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
49823         inline functions that are identical with the old xnmalloc_inline,
49824         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
49825         that we can avoid some unnecessary integer multiplications and
49826         divisions in the common case where the element size is known at
49827         compile time.
49828         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
49829         needed.
49830         (xnboundedmalloc): Remove.
49831         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
49832         arguments, for consistency with rest of this header.
49833         (xcharalloc): Rewrite using XNMALLOC.
49834         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
49835         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
49836         versions have been moved to lib/xalloc.h and renamed to be the
49837         non-*_inline versions.
49838         (xmalloc, xrealloc): Implement without reference to the xnmalloc
49839         and xnrealloc functions, since those functions are now inline and
49840         now call us.
49841         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
49842         renaming described above.
49843         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
49844         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
49845         captures the dependency in AC_C_INLINE.
49846
49847         New module canonicalize-lgpl, proposed by Charles Wilson in
49848         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
49849         with a few small changes afterwards.
49850         * MODULES.html.sh (File system functions): New module
49851         canonicalize-lgpl.
49852         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
49853         and canonicalize_file_name.
49854         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
49855         * modules/canonicalize-lgpl: New files.
49856
49857 2006-11-05  Bruno Haible  <bruno@clisp.org>
49858
49859         * gnulib-tool (func_import, func_create_testdir): Create directories
49860         also for files in subdirectories of lib/.
49861
49862 2006-11-05  Bruno Haible  <bruno@clisp.org>
49863
49864         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
49865         ANSI C compliant.
49866
49867 2006-11-03  Bruno Haible  <bruno@clisp.org>
49868
49869         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
49870         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
49871         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
49872         (xnboundedmalloc): New inline function.
49873         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
49874         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
49875         xmalloc.
49876         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
49877         xmalloc.
49878         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
49879         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
49880         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
49881         xmalloc.
49882         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
49883         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
49884         xmalloc.
49885         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
49886         gl_tree_add_after): Use XMALLOC instead of xmalloc.
49887         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
49888         xmalloc.
49889         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
49890         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
49891         gl_tree_add_after): Use XMALLOC instead of xmalloc.
49892         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
49893         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
49894         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
49895         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
49896
49897 2006-11-03  Bruno Haible  <bruno@clisp.org>
49898
49899         * lib/c-ctype.h [C++]: Define functions without name mangling.
49900         * lib/fwriteerror.h [C++]: Likewise.
49901         * lib/gcd.h [C++]: Likewise.
49902         * lib/linebreak.h [C++]: Likewise.
49903
49904 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
49905
49906         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
49907         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
49908         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
49909         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
49910         Check for functions and headers just once.
49911         Check for declaration of canonicalize_file_name.
49912         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
49913
49914 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
49915
49916         * gnulib-tool (func_import): Fix typo in actioncmd.
49917
49918 2006-11-02  Bruno Haible  <bruno@clisp.org>
49919
49920         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
49921         newline sequence in the Makefile.am snippet as a space, like "make"
49922         does.
49923         Reported by Roger Persson <perrog@gmail.com>.
49924
49925 2006-11-01  Bruno Haible  <bruno@clisp.org>
49926
49927         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
49928         already declared in <string.h>.
49929         * lib/strcase.h (strncasecmp): Don't declare it if yes.
49930
49931 2006-11-01  Bruno Haible  <bruno@clisp.org>
49932
49933         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
49934         * lib/strcase.h: Include <string.h>.
49935         (strcasecmp): Define to rpl_strcasecmp here.
49936
49937 2006-11-01  Bruno Haible  <bruno@clisp.org>
49938
49939         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
49940
49941 2006-11-01  Eric Blake  <ebb9@byu.net>
49942
49943         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
49944
49945         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
49946
49947 2006-10-29  Bruno Haible  <bruno@clisp.org>
49948
49949         Make it compile in C++ mode.
49950         * lib/full-write.c (full_rw): Add a cast.
49951
49952 2006-11-01  Bruno Haible  <bruno@clisp.org>
49953
49954         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
49955         be POSIX compliant.
49956         Reported by Roger Persson <perrog@gmail.com>.
49957
49958 2006-11-01  Eric Blake  <ebb9@byu.net>
49959
49960         * lib/getopt_.h: Fix comments.
49961
49962 2006-10-31  Eric Blake  <ebb9@byu.net>
49963
49964         * modules/tmpdir (Depends-on): Add sys_stat.
49965         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
49966         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
49967         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
49968         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
49969         tempname.
49970
49971 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
49972
49973         Avoid some C++ diagnostics reported by Bruno Haible.
49974         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
49975         xmalloc.
49976         (quotearg_alloc): Use xcharalloc rather than xmalloc.
49977         (struct slotvec): Move to top level.
49978         (quotearg_n_options): Rewrite to avoid xmalloc.
49979         * lib/xalloc.h (xcharalloc): New function.
49980         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
49981         [defined __cplusplus]: Add function template that provides result
49982         type propagation.  This part of the change is from Bruno Haible.
49983
49984 2006-10-29  Bruno Haible  <bruno@clisp.org>
49985
49986         Make it compile in C++ mode.
49987         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
49988         * lib/strnlen1.c (strnlen1): Cast memchr result.
49989         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
49990         * lib/clean-temp.c (string_equals, string_hash): Add casts.
49991         (create_temp_dir): Rename local variable 'template'.
49992         (compile_csharp_using_sscli): Add cast.
49993         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
49994         * lib/findprog.c (find_in_path): Likewise.
49995         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
49996         * lib/wait-process.c (register_slave_subprocess): Likewise.
49997
49998 2006-10-22  Bruno Haible  <bruno@clisp.org>
49999
50000         * modules/tsearch: New file.
50001         * lib/tsearch.h: New file.
50002         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
50003         * m4/tsearch.m4: New file.
50004         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
50005
50006 2006-10-29  Eric Blake  <ebb9@byu.net>
50007
50008         * lib/arcfour.c: Assume config.h.
50009         * lib/arctwo.c: Likewise.
50010         * lib/base64.c: Likewise.
50011         * lib/check-version.c: Likewise.
50012         * lib/crc.c: Likewise.
50013         * lib/des.c: Likewise.
50014         * lib/gc-gnulib.c: Likewise.
50015         * lib/gc-libgcrypt.c: Likewise.
50016         * lib/gc-pbkdf2-sha1.c: Likewise.
50017         * lib/getaddrinfo.c: Likewise.
50018         * lib/getdelim.c: Likewise.
50019         * lib/getline.c: Likewise.
50020         * lib/hmac-md5.c: Likewise.
50021         * lib/hmac-sha1.c: Likewise.
50022         * lib/iconvme.c: Likewise.
50023         * lib/md2.c: Likewise.
50024         * lib/md4.c: Likewise.
50025         * lib/memxor.c: Likewise.
50026         * lib/read-file.c: Likewise.
50027         * lib/readline.c: Likewise.
50028         * lib/rijndael-alg-fst.c: Likewise.
50029         * lib/rijndael-api-fst.c: Likewise.
50030         * lib/xgetdomainname.c: Likewise.
50031
50032 2006-10-28  Eric Blake  <ebb9@byu.net>
50033
50034         * lib/xstrndup.c: Assume config.h.
50035
50036 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
50037
50038         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
50039         stat-macros.h is now for our own macros, whereas stat_h is for
50040         macros in the <sys/stat.h> name space.
50041         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
50042         (STAT_MACROS_H): Remove.
50043         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
50044         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
50045         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
50046         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
50047         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
50048         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
50049         Move these macros to ...
50050         * lib/stat_.h: here.  Don't include stat-macros.h.
50051         * lib/canonicalize.c: Don't include stat-macros.h.
50052         * lib/chown.c: Likewise.
50053         * lib/euidaccess.c: Likewise.
50054         * lib/file-type.c: Likewise.
50055         * lib/filemode.c: Likewise.
50056         * lib/glob.c: Likewise.
50057         * lib/isapipe.c: Likewise.
50058         * lib/lchown.c: Likewise.
50059         * lib/lstat.c: Likewise.
50060         * lib/mkdir-p.c: Likewise.
50061         * lib/rmdir.c: Likewise.
50062         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
50063         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
50064         unless mkdir isn't declared, to speed up 'configure'.
50065         Always create sys/stat.h, since it's unlikely any real sys/stat.h
50066         would define all the S_* symbols.
50067         * modules/canonicalize (Depends-on):
50068         Depend on sys_stat, not stat-macros.
50069         * modules/chown: Likewise.
50070         * modules/euidaccess: Likewise.
50071         * modules/filemode: Likewise.
50072         * modules/file-type: Likewise.
50073         * modules/glob: Likewise.
50074         * modules/isapipe: Likewise.
50075         * modules/lchown: Likewise.
50076         * modules/lstat: Likewise.
50077         * modules/mkancesdirs: Likewise.
50078         * modules/rmdir: Likewise.
50079         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
50080         * modules/modechange: Likewise.
50081         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
50082         (configure.ac): Remove gl_STAT_MACROS.
50083         * modules/sys_stat (Depends-on): Remove stat-macros.
50084
50085 2006-10-27  Bruno Haible  <bruno@clisp.org>
50086
50087         * m4/signed.m4: Remove file.
50088         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
50089         invocation.
50090         * modules/vasnprintf (Files): Remove m4/signed.m4.
50091
50092 2006-10-27  Bruno Haible  <bruno@clisp.org>
50093
50094         Update to GNU gettext 0.16.
50095         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
50096         m4/inttypes-h.m4, m4/signed.m4.
50097         * m4/gettext.m4: Update to GNU gettext 0.16.
50098         * m4/intl.m4: New file, from GNU gettext.
50099         * m4/intldir.m4: New file, from GNU gettext.
50100         * config/srclist.txt: Update
50101
50102 2006-10-27  Eric Blake  <ebb9@byu.net>
50103
50104         * MODULES.html.sh: Document tempname.
50105         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
50106         dependencies.
50107         (Files): Move lib/tempname.c...
50108         * modules/tempname: ...to this new module.
50109         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
50110         (gl_PREREQ_TEMPNAME): Move...
50111         * m4/tempname.m4: ...to this new file.
50112         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
50113         * modules/sys_stat (Depends-on): Add stat-macros.
50114         * lib/stat_.h (includes): Pick up stat macros.
50115         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
50116         if stat macros are broken.
50117         * lib/tempname.c (includes): No need to include "stat-macros.h".
50118         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
50119         (direxists, __path_search) [!_LIBC]: Don't compile these in
50120         gnulib; the tmpdir module covers that.
50121         * lib/tempname.h: New file.
50122
50123 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
50124
50125         * COPYING: Explain how gnulib-tool converts licence headers.
50126         Almost all wording by Eric Blake.
50127
50128 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
50129
50130         * lib/mbchar.h (is_basic_table): Make read-only.
50131         * lib/mbchar.c (is_basic_table): Likewise.
50132         Reported by John Darrington.
50133
50134 2006-10-25  Bruno Haible  <bruno@clisp.org>
50135
50136         * lib/progname.h (set_program_name): Undefine before defining.
50137
50138 2006-10-25  Bruno Haible  <bruno@clisp.org>
50139
50140         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
50141         false for non-gcc C++ compilers.
50142         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
50143
50144 2006-10-24  Bruno Haible  <bruno@clisp.org>
50145
50146         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
50147         iconv implementations like Irix iconv.
50148
50149 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
50150
50151         * modules/vararrays: New file.
50152         * m4/vararrays.m4: New file, taken from diffutils.
50153         * MODULES.html.sh: New module vararrays.
50154
50155 2006-10-24  Karl Berry  <karl@gnu.org>
50156
50157         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
50158         Don't call GNU Unix.
50159
50160 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50161
50162         * users.txt: Add Libtool.
50163
50164         Sync from Libtool:
50165
50166         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
50167
50168         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
50169         to gnulib's policy of including config.h unconditionally.
50170
50171 2006-10-24  Bruno Haible  <bruno@clisp.org>
50172
50173         * modules/wcwidth (Files): Add m4/wint_t.m4.
50174         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
50175         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
50176
50177 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
50178
50179         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
50180         to pacify GCC with some -W flags enabled.  Problem reported by
50181         Bruno Haible.
50182
50183 2006-10-24  Jim Meyering  <jim@meyering.net>
50184
50185         * MODULES.html.sh: Remove uinttostr.  It's not a module.
50186         Reported by Karl Berry.
50187
50188 2006-10-23  Bruno Haible  <bruno@clisp.org>
50189
50190         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
50191
50192 2006-10-24  Bruno Haible  <bruno@clisp.org>
50193
50194         * lib/gl_list.h: Use C comment style, not C++ comment style.
50195
50196 2006-10-23  Eric Blake  <ebb9@byu.net>
50197
50198         * lib/getaddrinfo.c (includes): Add missing include.
50199
50200 2006-10-23  Bruno Haible  <bruno@clisp.org>
50201             Paul Eggert  <eggert@cs.ucla.edu>
50202
50203         Ability to rename obstack_free.
50204         * lib/obstack.h (__obstack_free): New macro. Declare instead of
50205         obstack_free.
50206         (obstack_free): Invoke the __obstack_free macro.
50207         * lib/obstack.c (obstack_free): Use __obstack_free macro.
50208
50209 2006-10-23  Bruno Haible  <bruno@clisp.org>
50210             Paul Eggert  <eggert@cs.ucla.edu>
50211
50212         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
50213         __argc, __argv from the declaration. (They are defined as macros on
50214         mingw.)
50215
50216 2006-10-22  Bruno Haible  <bruno@clisp.org>
50217
50218         * doc/gnulib-intro.texi: New file.
50219         * doc/gnulib.texi: Include it.
50220
50221 2006-10-21  Bruno Haible  <bruno@clisp.org>
50222
50223         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
50224         "Introduction", "Miscellanous Notes", "Particular Modules".
50225
50226 2006-10-21  Bruno Haible  <bruno@clisp.org>
50227
50228         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50229         Change mostlyclean-local rule to avoid sh syntax error from bash
50230         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
50231
50232 2006-10-23  Jim Meyering  <jim@meyering.net>
50233
50234         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
50235         in place of snprintf.
50236
50237         * modules/inttostr (Files): Add lib/uinttostr.c.
50238         * lib/uinttostr.c (inttostr): New file/function.
50239         * lib/inttostr.h (uinttostr): Declare.
50240         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
50241         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
50242         Add uinttostr.
50243         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
50244
50245 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
50246
50247         * lib/canonicalize.c (ELOOP): Define if not already defined.
50248         Problem reported by Bruno Haible in
50249         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
50250
50251 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
50252
50253         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
50254         Problem reported by Perry Smith and Ville Laurikari.
50255
50256         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
50257         uses.
50258
50259 2006-10-19  Bruno Haible  <bruno@clisp.org>
50260
50261         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
50262         for mingw.
50263
50264 2006-10-19  Bruno Haible  <bruno@clisp.org>
50265
50266         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
50267         Needed for mingw.
50268
50269 2006-10-19  Bruno Haible  <bruno@clisp.org>
50270
50271         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
50272
50273 2006-10-19  Bruno Haible  <bruno@clisp.org>
50274
50275         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
50276         it.
50277
50278 2006-10-19  Bruno Haible  <bruno@clisp.org>
50279
50280         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
50281         invocation.
50282
50283 2006-10-19  Bruno Haible  <bruno@clisp.org>
50284
50285         * gnulib-tool (func_create_testdir): Don't include ftruncate and
50286         mountlist by default.
50287
50288 2006-10-16  Bruno Haible  <bruno@clisp.org>
50289
50290         * lib/c-strstr.c: Include c-strstr.h.
50291
50292 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
50293
50294         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
50295         in a slash.
50296
50297 2006-10-18  Bruno Haible  <bruno@clisp.org>
50298
50299         * lib/lock.h [C++]: Wrap definitions in extern "C".
50300
50301 2006-10-18  Bruno Haible  <bruno@clisp.org>
50302
50303         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
50304         gl_LIBOBJS list.
50305
50306 2006-10-18  Bruno Haible  <bruno@clisp.org>
50307
50308         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
50309
50310 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
50311
50312         * lib/xstrtol.h: Include gettext.h.
50313         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
50314         Problem reported by Eric Blake.
50315         * modules/xstrtol (Depends-on): Add gettext-h.
50316
50317 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
50318
50319         * lib/strftime.c (advance): New macro.
50320         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
50321         incomplete type, so you can't add 0 to it.  Problem and patch
50322         reported by Eelco Dolstra for dietlibc.
50323
50324 2006-10-18  Jim Meyering  <jim@meyering.net>
50325
50326         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
50327         type for a local, and rename it: s/up/user_proc/.
50328
50329 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
50330
50331         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
50332         READ_UTMP_USER_PROCESS.
50333         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
50334
50335 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
50336
50337         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
50338         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
50339
50340 2006-10-17  Eric Blake  <ebb9@byu.net>
50341
50342         * lib/sigprocmask.c (sigprocmask): Fix typo.
50343
50344         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
50345
50346         * modules/clean-temp (Makefile.am): Don't add to make output...
50347         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
50348         config.h.
50349
50350 2006-10-17  Bruno Haible  <bruno@clisp.org>
50351
50352         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
50353         differently if DEFAULT_TEXT_DOMAIN is set.
50354
50355 2006-10-16  Bruno Haible  <bruno@clisp.org>
50356
50357         * lib/clean-temp.c: Include fwriteerror.h.
50358
50359 2006-10-16  Bruno Haible  <bruno@clisp.org>
50360
50361         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
50362
50363 2006-10-16  Bruno Haible  <bruno@clisp.org>
50364
50365         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
50366         * lib/sigprocmask.h: Include <sys/types.h>.
50367         (sigset_t): Use the system's definition if present.
50368
50369 2006-10-17  Eric Blake  <ebb9@byu.net>
50370
50371         * lib/xvasprintf.c (includes): Assume config.h.
50372         * lib/xasprintf.c (includes): Likewise.
50373
50374 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
50375
50376         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
50377         at least as wide as intmax_t.
50378
50379 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
50380
50381         (Imported from Automake.)
50382         * build-aux/gnupload: Update to version 1.1 of directive file.
50383
50384 2006-10-16  Eric Blake  <ebb9@byu.net>
50385
50386         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
50387         match Automake 1.10a.
50388
50389 2006-10-14  Bruno Haible  <bruno@clisp.org>
50390
50391         * modules/sigprocmask: New file.
50392         * lib/sigprocmask.h: New file.
50393         * lib/sigprocmask.c: New file.
50394         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
50395         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
50396         request sigprocmask.o.
50397         (gl_PREREQ_SIGPROCMASK): New macro.
50398         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
50399         (Depends-on): Add sigprocmask.
50400         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
50401         gt_SIGNALBLOCKING. Test for 'raise' only once.
50402         * lib/fatal-signal.c: Include sigprocmask.h.
50403         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
50404         unblock_fatal_signals): Define always.
50405         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50406         sigprocmask.
50407
50408 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
50409
50410         Sync from Automake.
50411         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
50412         which incorrectly sets the mode of an existing destination
50413         directory.  In some cases the unpatched install-sh could do the
50414         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
50415         system.  We hope this is rare in practice, but it's clearly worth
50416         fixing.  Problem reported by Alex Unleashed in
50417         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
50418         Also, don't bother to check for -m bugs unless we're using -m;
50419         suggested by Stepan Kasal.
50420
50421 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50422
50423         Sync from Automake.
50424         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
50425         `-c' flag, so they appear at the same position as in %FASTDEP%
50426         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
50427         which ignores unknown options only after the first non-option.
50428         Bug report against M4 by Nelson H. F. Beebe.
50429
50430 2006-10-13  Jim Meyering  <jim@meyering.net>
50431
50432         Fix a bug in yesterday's change.
50433         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
50434         p->fts_statp->st_dev would be used uninitialized.
50435         Ensures that we always call fts_stat on the very first entry.
50436         Miklos Szeredi reported that find -xdev stopped working.
50437
50438 2006-10-12  Bruno Haible  <bruno@clisp.org>
50439
50440         * gnulib-tool (func_get_automake_snippet): Append an automatically
50441         computed EXTRA_DIST augmentation.
50442         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
50443         * modules/alloca-opt (Makefile.am): Likewise.
50444         * modules/allocsa (Makefile.am): Likewise.
50445         * modules/arcfour (Makefile.am): Likewise.
50446         * modules/arctwo (Makefile.am): Likewise.
50447         * modules/argmatch (Makefile.am): Likewise.
50448         * modules/argz (Makefile.am): Likewise.
50449         * modules/atexit (Makefile.am): Likewise.
50450         * modules/backupfile (Makefile.am): Likewise.
50451         * modules/byteswap (Makefile.am): Likewise.
50452         * modules/c-strtod (Makefile.am): Likewise.
50453         * modules/c-strtold (Makefile.am): Likewise.
50454         * modules/calloc (Makefile.am): Likewise.
50455         * modules/canon-host (Makefile.am): Likewise.
50456         * modules/canonicalize (Makefile.am): Likewise.
50457         * modules/chdir-long (Makefile.am): Likewise.
50458         * modules/chdir-safer (Makefile.am): Likewise.
50459         * modules/check-version (Makefile.am): Likewise.
50460         * modules/chown (Makefile.am): Likewise.
50461         * modules/cloexec (Makefile.am): Likewise.
50462         * modules/close-stream (Makefile.am): Likewise.
50463         * modules/closeout (Makefile.am): Likewise.
50464         * modules/crc (Makefile.am): Likewise.
50465         * modules/csharpexec (Makefile.am): Likewise.
50466         * modules/cycle-check (Makefile.am): Likewise.
50467         * modules/des (Makefile.am): Likewise.
50468         * modules/dev-ino (Makefile.am): Likewise.
50469         * modules/dirfd (Makefile.am): Likewise.
50470         * modules/dirname (Makefile.am): Likewise.
50471         * modules/dup2 (Makefile.am): Likewise.
50472         * modules/eealloc (Makefile.am): Likewise.
50473         * modules/error (Makefile.am): Likewise.
50474         * modules/euidaccess (Makefile.am): Likewise.
50475         * modules/exclude (Makefile.am): Likewise.
50476         * modules/exitfail (Makefile.am): Likewise.
50477         * modules/fcntl-safer (Makefile.am): Likewise.
50478         * modules/fcntl (Makefile.am): Likewise.
50479         * modules/file-type (Makefile.am): Likewise.
50480         * modules/fileblocks (Makefile.am): Likewise.
50481         * modules/filemode (Makefile.am): Likewise.
50482         * modules/filenamecat (Makefile.am): Likewise.
50483         * modules/fnmatch (Makefile.am): Likewise.
50484         * modules/fopen-safer (Makefile.am): Likewise.
50485         * modules/fpending (Makefile.am): Likewise.
50486         * modules/fprintftime (Makefile.am): Likewise.
50487         * modules/free (Makefile.am): Likewise.
50488         * modules/fsusage (Makefile.am): Likewise.
50489         * modules/ftruncate (Makefile.am): Likewise.
50490         * modules/fts (Makefile.am): Likewise.
50491         * modules/gc-arcfour (Makefile.am): Likewise.
50492         * modules/gc-des (Makefile.am): Likewise.
50493         * modules/gc-hmac-md5 (Makefile.am): Likewise.
50494         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
50495         * modules/gc-md4 (Makefile.am): Likewise.
50496         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
50497         * modules/gc-sha1 (Makefile.am): Likewise.
50498         * modules/gc (Makefile.am): Likewise.
50499         * modules/getaddrinfo (Makefile.am): Likewise.
50500         * modules/getcwd (Makefile.am): Likewise.
50501         * modules/getdelim (Makefile.am): Likewise.
50502         * modules/getdomainname (Makefile.am): Likewise.
50503         * modules/getgroups (Makefile.am): Likewise.
50504         * modules/gethostname (Makefile.am): Likewise.
50505         * modules/gethrxtime (Makefile.am): Likewise.
50506         * modules/getline (Makefile.am): Likewise.
50507         * modules/getloadavg (Makefile.am): Likewise.
50508         * modules/getlogin_r (Makefile.am): Likewise.
50509         * modules/getndelim2 (Makefile.am): Likewise.
50510         * modules/getopt (Makefile.am): Likewise.
50511         * modules/getpagesize (Makefile.am): Likewise.
50512         * modules/getpass-gnu (Makefile.am): Likewise.
50513         * modules/getpass (Makefile.am): Likewise.
50514         * modules/getsubopt (Makefile.am): Likewise.
50515         * modules/gettime (Makefile.am): Likewise.
50516         * modules/gettimeofday (Makefile.am): Likewise.
50517         * modules/getugroups (Makefile.am): Likewise.
50518         * modules/getusershell (Makefile.am): Likewise.
50519         * modules/glob (Makefile.am): Likewise.
50520         * modules/group-member (Makefile.am): Likewise.
50521         * modules/hard-locale (Makefile.am): Likewise.
50522         * modules/hash (Makefile.am): Likewise.
50523         * modules/hmac-md5 (Makefile.am): Likewise.
50524         * modules/hmac-sha1 (Makefile.am): Likewise.
50525         * modules/human (Makefile.am): Likewise.
50526         * modules/idcache (Makefile.am): Likewise.
50527         * modules/imaxabs (Makefile.am): Likewise.
50528         * modules/imaxdiv (Makefile.am): Likewise.
50529         * modules/inet_ntop (Makefile.am): Likewise.
50530         * modules/inet_pton (Makefile.am): Likewise.
50531         * modules/intprops (Makefile.am): Likewise.
50532         * modules/inttostr (Makefile.am): Likewise.
50533         * modules/inttypes (Makefile.am): Likewise.
50534         * modules/isapipe (Makefile.am): Likewise.
50535         * modules/javaversion (Makefile.am): Likewise.
50536         * modules/lchmod (Makefile.am): Likewise.
50537         * modules/lchown (Makefile.am): Likewise.
50538         * modules/localcharset (Makefile.am): Likewise.
50539         * modules/long-options (Makefile.am): Likewise.
50540         * modules/lstat (Makefile.am): Likewise.
50541         * modules/malloc (Makefile.am): Likewise.
50542         * modules/mathl (Makefile.am): Likewise.
50543         * modules/mbchar (Makefile.am): Likewise.
50544         * modules/md2 (Makefile.am): Likewise.
50545         * modules/md4 (Makefile.am): Likewise.
50546         * modules/md5 (Makefile.am): Likewise.
50547         * modules/memcasecmp (Makefile.am): Likewise.
50548         * modules/memchr (Makefile.am): Likewise.
50549         * modules/memcmp (Makefile.am): Likewise.
50550         * modules/memcoll (Makefile.am): Likewise.
50551         * modules/memcpy (Makefile.am): Likewise.
50552         * modules/memmem (Makefile.am): Likewise.
50553         * modules/memmove (Makefile.am): Likewise.
50554         * modules/mempcpy (Makefile.am): Likewise.
50555         * modules/memrchr (Makefile.am): Likewise.
50556         * modules/memset (Makefile.am): Likewise.
50557         * modules/memxor (Makefile.am): Likewise.
50558         * modules/mkancesdirs (Makefile.am): Likewise.
50559         * modules/mkdir-p (Makefile.am): Likewise.
50560         * modules/mkdir (Makefile.am): Likewise.
50561         * modules/mkdtemp (Makefile.am): Likewise.
50562         * modules/mkstemp (Makefile.am): Likewise.
50563         * modules/mktime (Makefile.am): Likewise.
50564         * modules/modechange (Makefile.am): Likewise.
50565         * modules/mountlist (Makefile.am): Likewise.
50566         * modules/nanosleep (Makefile.am): Likewise.
50567         * modules/obstack (Makefile.am): Likewise.
50568         * modules/openat (Makefile.am): Likewise.
50569         * modules/pagealign_alloc (Makefile.am): Likewise.
50570         * modules/pathmax (Makefile.am): Likewise.
50571         * modules/physmem (Makefile.am): Likewise.
50572         * modules/poll (Makefile.am): Likewise.
50573         * modules/posixtm (Makefile.am): Likewise.
50574         * modules/posixver (Makefile.am): Likewise.
50575         * modules/putenv (Makefile.am): Likewise.
50576         * modules/quote (Makefile.am): Likewise.
50577         * modules/quotearg (Makefile.am): Likewise.
50578         * modules/raise (Makefile.am): Likewise.
50579         * modules/read-file (Makefile.am): Likewise.
50580         * modules/readline (Makefile.am): Likewise.
50581         * modules/readlink (Makefile.am): Likewise.
50582         * modules/readtokens (Makefile.am): Likewise.
50583         * modules/readutmp (Makefile.am): Likewise.
50584         * modules/realloc (Makefile.am): Likewise.
50585         * modules/regex (Makefile.am): Likewise.
50586         * modules/rename-dest-slash (Makefile.am): Likewise.
50587         * modules/rename (Makefile.am): Likewise.
50588         * modules/rijndael (Makefile.am): Likewise.
50589         * modules/rmdir (Makefile.am): Likewise.
50590         * modules/rpmatch (Makefile.am): Likewise.
50591         * modules/safe-read (Makefile.am): Likewise.
50592         * modules/safe-write (Makefile.am): Likewise.
50593         * modules/same-inode (Makefile.am): Likewise.
50594         * modules/same (Makefile.am): Likewise.
50595         * modules/save-cwd (Makefile.am): Likewise.
50596         * modules/savedir (Makefile.am): Likewise.
50597         * modules/setenv (Makefile.am): Likewise.
50598         * modules/settime (Makefile.am): Likewise.
50599         * modules/sha1 (Makefile.am): Likewise.
50600         * modules/sig2str (Makefile.am): Likewise.
50601         * modules/snprintf (Makefile.am): Likewise.
50602         * modules/stat-macros (Makefile.am): Likewise.
50603         * modules/stat-time (Makefile.am): Likewise.
50604         * modules/stdbool (Makefile.am): Likewise.
50605         * modules/stdint (Makefile.am): Likewise.
50606         * modules/stdlib-safer (Makefile.am): Likewise.
50607         * modules/stpcpy (Makefile.am): Likewise.
50608         * modules/stpncpy (Makefile.am): Likewise.
50609         * modules/strcase (Makefile.am): Likewise.
50610         * modules/strcasestr (Makefile.am): Likewise.
50611         * modules/strchrnul (Makefile.am): Likewise.
50612         * modules/strcspn (Makefile.am): Likewise.
50613         * modules/strdup (Makefile.am): Likewise.
50614         * modules/strerror (Makefile.am): Likewise.
50615         * modules/strftime (Makefile.am): Likewise.
50616         * modules/strndup (Makefile.am): Likewise.
50617         * modules/strnlen (Makefile.am): Likewise.
50618         * modules/strpbrk (Makefile.am): Likewise.
50619         * modules/strsep (Makefile.am): Likewise.
50620         * modules/strstr (Makefile.am): Likewise.
50621         * modules/strtod (Makefile.am): Likewise.
50622         * modules/strtoimax (Makefile.am): Likewise.
50623         * modules/strtok_r (Makefile.am): Likewise.
50624         * modules/strtol (Makefile.am): Likewise.
50625         * modules/strtoll (Makefile.am): Likewise.
50626         * modules/strtoul (Makefile.am): Likewise.
50627         * modules/strtoull (Makefile.am): Likewise.
50628         * modules/strtoumax (Makefile.am): Likewise.
50629         * modules/strverscmp (Makefile.am): Likewise.
50630         * modules/sys_socket (Makefile.am): Likewise.
50631         * modules/sys_stat (Makefile.am): Likewise.
50632         * modules/sysexits (Makefile.am): Likewise.
50633         * modules/time_r (Makefile.am): Likewise.
50634         * modules/timegm (Makefile.am): Likewise.
50635         * modules/timespec (Makefile.am): Likewise.
50636         * modules/tmpfile-safer (Makefile.am): Likewise.
50637         * modules/trim (Makefile.am): Likewise.
50638         * modules/unistd-safer (Makefile.am): Likewise.
50639         * modules/unlinkdir (Makefile.am): Likewise.
50640         * modules/unlocked-io (Makefile.am): Likewise.
50641         * modules/userspec (Makefile.am): Likewise.
50642         * modules/utime (Makefile.am): Likewise.
50643         * modules/utimecmp (Makefile.am): Likewise.
50644         * modules/utimens (Makefile.am): Likewise.
50645         * modules/vasnprintf (Makefile.am): Likewise.
50646         * modules/vasprintf (Makefile.am): Likewise.
50647         * modules/vsnprintf (Makefile.am): Likewise.
50648         * modules/xalloc (Makefile.am): Likewise.
50649         * modules/xgetcwd (Makefile.am): Likewise.
50650         * modules/xnanosleep (Makefile.am): Likewise.
50651         * modules/xreadlink (Makefile.am): Likewise.
50652         * modules/xstrtod (Makefile.am): Likewise.
50653         * modules/xstrtol (Makefile.am): Likewise.
50654         * modules/xstrtold (Makefile.am): Likewise.
50655         * modules/yesno (Makefile.am): Likewise.
50656         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
50657
50658 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
50659
50660         * modules/error (Makefile.am): Distribute files through
50661         EXTRA_DIST, not lib_SOURCES.
50662
50663 2006-10-12  Eric Blake  <ebb9@byu.net>
50664
50665         * modules/error (Makefile.am): Distribute files in /lib.
50666         * modules/obstack (Makefile.am): Likewise.
50667
50668 2006-10-12  Bruno Haible  <bruno@clisp.org>
50669
50670         * modules/acl (Makefile.am): Distribute all files in lib/ through
50671         EXTRA_DIST.
50672         * modules/arcfour (Makefile.am): Likewise.
50673         * modules/arctwo (Makefile.am): Likewise.
50674         * modules/argmatch (Makefile.am): Likewise.
50675         * modules/argz (Makefile.am): Likewise.
50676         * modules/atexit (Makefile.am): Likewise.
50677         * modules/backupfile (Makefile.am): Likewise.
50678         * modules/c-strtod (Makefile.am): Likewise.
50679         * modules/c-strtold (Makefile.am): Likewise.
50680         * modules/calloc (Makefile.am): Likewise.
50681         * modules/canon-host (Makefile.am): Likewise.
50682         * modules/canonicalize (Makefile.am): Likewise.
50683         * modules/chdir-long (Makefile.am): Likewise.
50684         * modules/chdir-safer (Makefile.am): Likewise.
50685         * modules/check-version (Makefile.am): Likewise.
50686         * modules/chown (Makefile.am): Likewise.
50687         * modules/cloexec (Makefile.am): Likewise.
50688         * modules/close-stream (Makefile.am): Likewise.
50689         * modules/closeout (Makefile.am): Likewise.
50690         * modules/crc (Makefile.am): Likewise.
50691         * modules/cycle-check (Makefile.am): Likewise.
50692         * modules/des (Makefile.am): Likewise.
50693         * modules/dirfd (Makefile.am): Likewise.
50694         * modules/dirname (Makefile.am): Likewise.
50695         * modules/dup2 (Makefile.am): Likewise.
50696         * modules/euidaccess (Makefile.am): Likewise.
50697         * modules/exclude (Makefile.am): Likewise.
50698         * modules/exitfail (Makefile.am): Likewise.
50699         * modules/fcntl-safer (Makefile.am): Likewise.
50700         * modules/file-type (Makefile.am): Likewise.
50701         * modules/fileblocks (Makefile.am): Likewise.
50702         * modules/filemode (Makefile.am): Likewise.
50703         * modules/filenamecat (Makefile.am): Likewise.
50704         * modules/fnmatch (Makefile.am): Likewise.
50705         * modules/fopen-safer (Makefile.am): Likewise.
50706         * modules/fpending (Makefile.am): Likewise.
50707         * modules/fprintftime (Makefile.am): Likewise.
50708         * modules/free (Makefile.am): Likewise.
50709         * modules/fsusage (Makefile.am): Likewise.
50710         * modules/ftruncate (Makefile.am): Likewise.
50711         * modules/fts (Makefile.am): Likewise.
50712         * modules/gc (Makefile.am): Likewise.
50713         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
50714         * modules/getaddrinfo (Makefile.am): Likewise.
50715         * modules/getcwd (Makefile.am): Likewise.
50716         * modules/getdelim (Makefile.am): Likewise.
50717         * modules/getdomainname (Makefile.am): Likewise.
50718         * modules/getgroups (Makefile.am): Likewise.
50719         * modules/gethostname (Makefile.am): Likewise.
50720         * modules/gethrxtime (Makefile.am): Likewise.
50721         * modules/getline (Makefile.am): Likewise.
50722         * modules/getloadavg (Makefile.am): Likewise.
50723         * modules/getlogin_r (Makefile.am): Likewise.
50724         * modules/getopt (Makefile.am): Likewise.
50725         * modules/getpass (Makefile.am): Likewise.
50726         * modules/getpass-gnu (Makefile.am): Likewise.
50727         * modules/getsubopt (Makefile.am): Likewise.
50728         * modules/gettime (Makefile.am): Likewise.
50729         * modules/gettimeofday (Makefile.am): Likewise.
50730         * modules/getugroups (Makefile.am): Likewise.
50731         * modules/getusershell (Makefile.am): Likewise.
50732         * modules/glob (Makefile.am): Likewise.
50733         * modules/group-member (Makefile.am): Likewise.
50734         * modules/hard-locale (Makefile.am): Likewise.
50735         * modules/hash (Makefile.am): Likewise.
50736         * modules/hmac-md5 (Makefile.am): Likewise.
50737         * modules/hmac-sha1 (Makefile.am): Likewise.
50738         * modules/human (Makefile.am): Likewise.
50739         * modules/idcache (Makefile.am): Likewise.
50740         * modules/imaxabs (Makefile.am): Likewise.
50741         * modules/imaxdiv (Makefile.am): Likewise.
50742         * modules/inet_ntop (Makefile.am): Likewise.
50743         * modules/inet_pton (Makefile.am): Likewise.
50744         * modules/inttostr (Makefile.am): Likewise.
50745         * modules/isapipe (Makefile.am): Likewise.
50746         * modules/lchown (Makefile.am): Likewise.
50747         * modules/long-options (Makefile.am): Likewise.
50748         * modules/lstat (Makefile.am): Likewise.
50749         * modules/malloc (Makefile.am): Likewise.
50750         * modules/mathl (Makefile.am): Likewise.
50751         * modules/mbchar (Makefile.am): Likewise.
50752         * modules/md2 (Makefile.am): Likewise.
50753         * modules/md4 (Makefile.am): Likewise.
50754         * modules/md5 (Makefile.am): Likewise.
50755         * modules/memcasecmp (Makefile.am): Likewise.
50756         * modules/memchr (Makefile.am): Likewise.
50757         * modules/memcmp (Makefile.am): Likewise.
50758         * modules/memcoll (Makefile.am): Likewise.
50759         * modules/memcpy (Makefile.am): Likewise.
50760         * modules/memmem (Makefile.am): Likewise.
50761         * modules/memmove (Makefile.am): Likewise.
50762         * modules/mempcpy (Makefile.am): Likewise.
50763         * modules/memrchr (Makefile.am): Likewise.
50764         * modules/memset (Makefile.am): Likewise.
50765         * modules/memxor (Makefile.am): Likewise.
50766         * modules/mkancesdirs (Makefile.am): Likewise.
50767         * modules/mkdir (Makefile.am): Likewise.
50768         * modules/mkdir-p (Makefile.am): Likewise.
50769         * modules/mkdtemp (Makefile.am): Likewise.
50770         * modules/mkstemp (Makefile.am): Likewise.
50771         * modules/mktime (Makefile.am): Likewise.
50772         * modules/modechange (Makefile.am): Likewise.
50773         * modules/mountlist (Makefile.am): Likewise.
50774         * modules/nanosleep (Makefile.am): Likewise.
50775         * modules/openat (Makefile.am): Likewise.
50776         * modules/pagealign_alloc (Makefile.am): Likewise.
50777         * modules/physmem (Makefile.am): Likewise.
50778         * modules/poll (Makefile.am): Likewise.
50779         * modules/posixtm (Makefile.am): Likewise.
50780         * modules/posixver (Makefile.am): Likewise.
50781         * modules/putenv (Makefile.am): Likewise.
50782         * modules/quote (Makefile.am): Likewise.
50783         * modules/quotearg (Makefile.am): Likewise.
50784         * modules/raise (Makefile.am): Likewise.
50785         * modules/read-file (Makefile.am): Likewise.
50786         * modules/readline (Makefile.am): Likewise.
50787         * modules/readlink (Makefile.am): Likewise.
50788         * modules/readtokens (Makefile.am): Likewise.
50789         * modules/readutmp (Makefile.am): Likewise.
50790         * modules/realloc (Makefile.am): Likewise.
50791         * modules/regex (Makefile.am): Likewise.
50792         * modules/rename (Makefile.am): Likewise.
50793         * modules/rename-dest-slash (Makefile.am): Likewise.
50794         * modules/rijndael (Makefile.am): Likewise.
50795         * modules/rmdir (Makefile.am): Likewise.
50796         * modules/rpmatch (Makefile.am): Likewise.
50797         * modules/safe-read (Makefile.am): Likewise.
50798         * modules/safe-write (Makefile.am): Likewise.
50799         * modules/same (Makefile.am): Likewise.
50800         * modules/save-cwd (Makefile.am): Likewise.
50801         * modules/savedir (Makefile.am): Likewise.
50802         * modules/setenv (Makefile.am): Likewise.
50803         * modules/settime (Makefile.am): Likewise.
50804         * modules/sha1 (Makefile.am): Likewise.
50805         * modules/sig2str (Makefile.am): Likewise.
50806         * modules/snprintf (Makefile.am): Likewise.
50807         * modules/stdlib-safer (Makefile.am): Likewise.
50808         * modules/stpcpy (Makefile.am): Likewise.
50809         * modules/stpncpy (Makefile.am): Likewise.
50810         * modules/strcase (Makefile.am): Likewise.
50811         * modules/strcasestr (Makefile.am): Likewise.
50812         * modules/strchrnul (Makefile.am): Likewise.
50813         * modules/strcspn (Makefile.am): Likewise.
50814         * modules/strdup (Makefile.am): Likewise.
50815         * modules/strerror (Makefile.am): Likewise.
50816         * modules/strftime (Makefile.am): Likewise.
50817         * modules/strndup (Makefile.am): Likewise.
50818         * modules/strnlen (Makefile.am): Likewise.
50819         * modules/strpbrk (Makefile.am): Likewise.
50820         * modules/strsep (Makefile.am): Likewise.
50821         * modules/strstr (Makefile.am): Likewise.
50822         * modules/strtod (Makefile.am): Likewise.
50823         * modules/strtoimax (Makefile.am): Likewise.
50824         * modules/strtok_r (Makefile.am): Likewise.
50825         * modules/strtol (Makefile.am): Likewise.
50826         * modules/strtoll (Makefile.am): Likewise.
50827         * modules/strtoul (Makefile.am): Likewise.
50828         * modules/strtoull (Makefile.am): Likewise.
50829         * modules/strtoumax (Makefile.am): Likewise.
50830         * modules/strverscmp (Makefile.am): Likewise.
50831         * modules/time_r (Makefile.am): Likewise.
50832         * modules/timegm (Makefile.am): Likewise.
50833         * modules/tmpfile-safer (Makefile.am): Likewise.
50834         * modules/unistd-safer (Makefile.am): Likewise.
50835         * modules/unlinkdir (Makefile.am): Likewise.
50836         * modules/userspec (Makefile.am): Likewise.
50837         * modules/utime (Makefile.am): Likewise.
50838         * modules/utimecmp (Makefile.am): Likewise.
50839         * modules/utimens (Makefile.am): Likewise.
50840         * modules/vasnprintf (Makefile.am): Likewise.
50841         * modules/vasprintf (Makefile.am): Likewise.
50842         * modules/vsnprintf (Makefile.am): Likewise.
50843         * modules/xalloc (Makefile.am): Likewise.
50844         * modules/xgetcwd (Makefile.am): Likewise.
50845         * modules/xnanosleep (Makefile.am): Likewise.
50846         * modules/xreadlink (Makefile.am): Likewise.
50847         * modules/xstrtod (Makefile.am): Likewise.
50848         * modules/xstrtol (Makefile.am): Likewise.
50849         * modules/xstrtold (Makefile.am): Likewise.
50850         * modules/yesno (Makefile.am): Likewise.
50851
50852 2006-10-12  Jim Meyering  <jim@meyering.net>
50853
50854         * m4/getloadavg.m4: Revert the change below.
50855
50856         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
50857         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
50858         fail with a symlink, which is what coreutils' ./bootstrap now
50859         creates by default.
50860
50861 2006-10-12  Bruno Haible  <bruno@clisp.org>
50862
50863         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
50864         mingw.
50865         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
50866         MSVC and mingw explicitly.
50867
50868 2006-10-11  Simon Josefsson  <jas@extundo.com>
50869             Bruno Haible  <bruno@clisp.org>
50870
50871         Add support for multiple gnulib-tool invocations in the scope of a
50872         single configure.ac file.
50873         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
50874         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
50875         with the same contents as the _LIBADD variable.
50876         (func_emit_initmacro_start, func_emit_initmacro_end,
50877         func_emit_initmacro_done): New functions.
50878         (func_import, func_create_testdir): Invoke them. Allow the identifiers
50879         gl_LIBOBJS and gl_LTLIBOBJS.
50880
50881 2006-10-11  Bruno Haible  <bruno@clisp.org>
50882
50883         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
50884         (func_create_testdir): Don't create po/Makefile.am, don't invoke
50885         autoreconf. Instead, invoke autopoint explicitly but move back the
50886         *.m4 files from gnulib.
50887
50888 2006-10-11  Bruno Haible  <bruno@clisp.org>
50889
50890         * gnulib-tool (func_usage): Make module names after --create-testdir
50891         optional.
50892         (func_create_testdir): If no module was specified, use nearly all
50893         modules.
50894
50895 2006-10-12  Jim Meyering  <jim@meyering.net>
50896
50897         Big performance improvement for fts-based tools that use FTS_NOSTAT.
50898         Avoid spurious inode-mismatch problems on non-POSIX file systems.
50899         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
50900         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
50901         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
50902         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
50903         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
50904         (fts_set_stat_required): New function.
50905         (fts_open): Defer the calls to fts_stat, if possible or requested.
50906         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
50907         into fts_stat itself.
50908         (fts_read): Perform any required (deferred) fts_stat call.
50909         (fts_build): Likewise, for the directory we're about to open and read.
50910         In the readdir loop, carefully decide whether each entry will require
50911         an eventual call to fts_stat, using dirent.d_type info if available.
50912         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
50913         a command line argument into this function.  Update all callers.
50914         Map a return value of FTS_DOT to FTS_D for a command line argument.
50915         * modules/fts (Depends-on): Add d-type.  Alphabetize.
50916         Thanks to Miklos Szeredi for his tenacity and for the initial
50917         bug report about "find" failing on a FUSE-based file system.
50918
50919         * lib/fts.c (fts_open): Use consistent indentation.
50920
50921 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
50922
50923         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
50924         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
50925         reported by Jim Meyering.  All uses of cache variables renamed
50926         to match Autoconf's.
50927         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
50928         the other one.
50929
50930         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
50931         Fix misspelling in diagnostic.
50932
50933 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
50934
50935         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
50936         defined.  Problem reported by Matthew Woehlke.
50937
50938         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
50939         Add support for Tandem NonStop R series.
50940         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
50941         Use new macro.
50942
50943         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
50944         (has_trailing_slash): Omit size arg; all callers changed.
50945         Omit 'inline', since it doesn't help performance and we'd
50946         need to configure it.
50947         Don't count //, ///, etc. as having a trailing slash.
50948         As a side effect, this removes a C99ism reported by Matthew Woehlke.
50949         (rpl_rename_dest_slash): On failure, use rename's errno rather
50950         than (in some cases) an incorrect or junk errno.
50951         Simplify code by removing need to compute length; this does
50952         cause it to make two passes instead of one over the file name,
50953         but it's worth it.
50954
50955         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
50956         change, since Autoconf's version may no longer be appropriate now
50957         that we are using CVS Autoconf's version.  Add support for Tandem.
50958
50959 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
50960             Bruno Haible  <bruno@clisp.org>
50961
50962         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
50963         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
50964         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
50965         gl_AC_TYPE_LONG_LONG.
50966
50967         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
50968         instead of HAVE_LONG_LONG.
50969         * lib/printf-args.c (printf_fetchargs): Likewise.
50970         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
50971         * lib/vasnprintf.c (VASNPRINTF): Likewise.
50972         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
50973         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
50974         gl_AC_TYPE_LONG_LONG.
50975
50976 2006-10-11  Bruno Haible  <bruno@clisp.org>
50977
50978         * m4/longlong.m4: Add comments.
50979         * m4/ulonglong.m4: Likewise.
50980
50981 2006-10-10  Bruno Haible  <bruno@clisp.org>
50982
50983         Make it possible to #define stpcpy, strdup to aliases.
50984         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
50985         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
50986
50987 2006-10-10  Bruno Haible  <bruno@clisp.org>
50988
50989         Make it possible to #define gcd to an alias.
50990         * lib/gcd.c: Include config.h.
50991
50992 2006-10-10  Bruno Haible  <bruno@clisp.org>
50993
50994         Make it possible to #define c_isascii to an alias.
50995         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
50996         defined. Undefine the macros before defining them, to avoid gcc
50997         warnings.
50998         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
50999         define NO_C_CTYPE_MACROS early.
51000
51001 2006-10-10  Bruno Haible  <bruno@clisp.org>
51002
51003         Make it possible to #define set_program_name to an alias.
51004         * lib/progname.c: Don't undefine set_program_name; instead, undefine
51005         ENABLE_RELOCATABLE early.
51006
51007 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
51008
51009         Port to Tandem NSK OSS, which has 64-bit signed int but at most
51010         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
51011         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
51012         More generally, don't assume that 64-bit signed int is available
51013         if unsigned int is, and vice versa.
51014         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
51015         unsigned symbols, not on their signed counterparts.
51016         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
51017         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
51018         (UINT64_C, UINTMAX_C):
51019         Likewise.
51020         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
51021         unsigned counterparts.
51022         (Have_long_long, Unsigned): New macros.
51023         (Int): Renamed from INT.
51024         (strtoimax): Use the new macros.
51025         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
51026         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
51027         * modules/inttypes (inttypes.h): Substitute
51028         HAVE_UNSIGNED_LONG_LONG_INT.
51029         * modules/stdint (stdint.h): Likewise.
51030         (Files): Add m4/ulonglong.m4.
51031
51032 2006-10-10  Bruno Haible  <bruno@clisp.org>
51033
51034         Fix a gcc -Wshadow warning.
51035         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
51036         to 'bucket'.
51037         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
51038         gl_linked_indexof_from_to): Likewise.
51039         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
51040         Likewise.
51041         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
51042         Likewise.
51043         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
51044         Reported by Eric Blake.
51045
51046 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
51047
51048         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
51049         for NetBSD.  Problem reported by Bruno Haible.
51050
51051 2006-10-09  Jim Meyering  <jim@meyering.net>
51052
51053         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
51054         Patch from Bruno Haible.
51055
51056 2006-10-09  Jim Meyering  <jim@meyering.net>
51057
51058         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
51059         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
51060         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
51061
51062 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
51063
51064         Don't include <config.h> twice; this doesn't work in some cases,
51065         e.g., when config.h has "#define intmax_t long long int" and
51066         we include <config.h>, <inttypes.h>, <config.h> in that order.
51067         Problem reported by Matthew Woehlke in:
51068         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
51069         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
51070         * lib/fts-cycle.c: Don't include config.h.
51071         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
51072         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
51073         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
51074         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
51075         inttypes.h.
51076         * lib/xstrtoumax.c: Likewise.
51077         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
51078         __strtol and the like, so that this module is more like its siblings.
51079         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
51080         Remove; no longer needed now that we assume gnulib inttypes.h.
51081
51082 2006-10-08  Bruno Haible  <bruno@clisp.org>
51083
51084         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
51085         option.
51086
51087 2006-10-07  Jim Meyering  <jim@meyering.net>
51088
51089         * modules/inttypes (inttypes.h): Revert what seems to have been
51090         an inadvertent part of today's change: use "|", not "/" in the
51091         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
51092
51093 2006-10-07  Bruno Haible  <bruno@clisp.org>
51094
51095         * modules/sublist: New file.
51096
51097 2006-10-07  Bruno Haible  <bruno@clisp.org>
51098
51099         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
51100         * modules/argz (argz.h): Likewise.
51101         * modules/arpa_inet (arpa/inet.h): Likewise.
51102         * modules/byteswap (byteswap.h): Likewise.
51103         * modules/configmake (configmake.h): Likewise.
51104         * modules/fcntl (fcntl.h): Likewise.
51105         * modules/fnmatch (fnmatch.h): Likewise.
51106         * modules/getopt (getopt.h): Likewise.
51107         * modules/glob (glob.h): Likewise.
51108         * modules/inttypes (inttypes.h): Likewise.
51109         * modules/netinet_in (netinet/in.h): Likewise.
51110         * modules/poll (poll.h): Likewise.
51111         * modules/stdbool (stdbool.h): Likewise.
51112         * modules/stdint (stdint.h): Likewise.
51113         * modules/sys_select (sys/select.h): Likewise.
51114         * modules/sys_socket (sys/socket.h): Likewise.
51115         * modules/sys_stat (sys/stat.h): Likewise.
51116         * modules/sysexits (sysexits.h): Likewise.
51117         * modules/unistd (unistd.h): Likewise.
51118         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51119         Add a "DO NOT EDIT" comment to the generated file.
51120         (func_import): Likewise for gnulib-comp.m4.
51121
51122 2006-10-07  Bruno Haible  <bruno@clisp.org>
51123
51124         * lib/gl_sublist.h: New file.
51125         * lib/gl_sublist.c: New file.
51126
51127 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
51128
51129         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
51130         name (relative to the original working directory) and the file
51131         name component (relative to the temporary working directory).  All
51132         callers changed.
51133         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
51134         * lib/mkdir-p.c (make_dir_parents): Likewise.
51135         * lib/mkdir-p.h (make_dir_parents): Likewise.
51136
51137 2006-10-06  Eric Blake  <ebb9@byu.net>
51138
51139         Define several macros for use by the clean-temp module.
51140         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
51141         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
51142         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
51143
51144         * lib/clean-temp.h (close_stream_temp): New declaration.
51145         * lib/clean-temp.c (includes): Pull in headers according to what
51146         other modules are in use.
51147         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
51148
51149 2006-10-06  Bruno Haible  <bruno@clisp.org>
51150
51151         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
51152         instead of fopen, fwriteerror.
51153
51154 2006-10-06  Bruno Haible  <bruno@clisp.org>
51155
51156         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
51157         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
51158         int.
51159         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
51160         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
51161         Return an error indicator.
51162         Suggested by Eric Blake.
51163
51164 2006-10-06  Bruno Haible  <bruno@clisp.org>
51165
51166         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
51167         Reported by Eric Blake.
51168
51169 2006-10-06  Bruno Haible  <bruno@clisp.org>
51170
51171         * modules/closeout (Description): Mention stderr too.
51172
51173 2006-10-06  Bruno Haible  <bruno@clisp.org>
51174         and Paul Eggert  <eggert@cs.ucla.edu>
51175
51176         * lib/closeout.c (close_stdout): Also close stderr.
51177         * lib/closeout.h: Update comment.
51178
51179 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
51180
51181         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
51182         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
51183         * lib/dirchownmod.c: Include lchown.h.
51184         * lib/lchown.c: Don't include files that lchown.h now includes.
51185         Don't declare chown, since lchown.h now does that.
51186         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
51187         (lchown): Define to rpl_chown if lchown is declared but
51188         does not exist.  Declare using a prototype if lchown is not
51189         declared.  Add a copyright notice.
51190         * lib/mkstemp.h: Include <unistd.h>.
51191         * lib/openat.c: Include lchown.h.
51192
51193         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
51194         we now test for that separately.
51195         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
51196         rather than O_NOFOLLOW, when testing whether it's possible to
51197         avoid a race condition reliably.
51198         * lib/savewd.c (savewd_chdir): Likewise.
51199
51200         Remove macros that are no longer needed now that stdint.h is
51201         reliable.
51202         * lib/fsusage.c (UINTMAX_MAX): Remove.
51203         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
51204         * lib/utimecmp.c (SIZE_MAX): Remove.
51205
51206         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
51207
51208         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
51209         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
51210         O_NOATIME works.
51211
51212 2006-10-05  Bruno Haible  <bruno@clisp.org>
51213
51214         * lib/gl_list.h (gl_sortedlist_search_from_to,
51215         gl_sortedlist_indexof_from_to): New declarations.
51216         (gl_list_implementation): New fields sortedlist_search_from_to,
51217         sortedlist_indexof_from_to.
51218         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
51219         inline functions.
51220         * lib/gl_list.c (gl_sortedlist_search_from_to,
51221         gl_sortedlist_indexof_from_to): New functions.
51222         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
51223         function.
51224         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
51225         (gl_array_sortedlist_search_from_to): New function.
51226         (gl_array_list_implementation): Update.
51227         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
51228         function.
51229         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
51230         (gl_carray_sortedlist_search_from_to): New function.
51231         (gl_carray_list_implementation): Update.
51232         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
51233         gl_linked_sortedlist_indexof_from_to): New functions.
51234         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
51235         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
51236         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
51237         gl_tree_sortedlist_indexof_from_to): New functions.
51238         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
51239         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
51240         Update.
51241         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
51242         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
51243         Update.
51244
51245 2006-10-05  Bruno Haible  <bruno@clisp.org>
51246
51247         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
51248         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
51249         (struct gl_list_implementation): Add fields search_from_to,
51250         indexof_from_to. Remove fields search, indexof.
51251         (gl_list_search): Use the search_from_to method.
51252         (gl_list_search_from, gl_list_search_from_to): New functions.
51253         (gl_list_indexof): Use the indexof_from_to method.
51254         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
51255         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
51256         (gl_list_search_from, gl_list_search_from_to): New functions.
51257         (gl_list_indexof): Use the indexof_from_to method.
51258         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
51259         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
51260         gl_array_indexof. Add start_index, end_index arguments.
51261         (gl_array_search_from_to): Renamed from gl_array_search. Add
51262         start_index, end_index arguments.
51263         (gl_array_remove, gl_array_list_implementation): Update.
51264         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
51265         gl_carray_indexof. Add start_index, end_index arguments.
51266         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
51267         start_index, end_index arguments.
51268         (gl_carray_remove, gl_carray_list_implementation): Update.
51269         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
51270         gl_linked_search. Add start_index, end_index arguments.
51271         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
51272         start_index, end_index arguments.
51273         (gl_linked_remove): Update.
51274         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
51275         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
51276         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
51277         field to 'size_t'.
51278         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
51279         gl_tree_search. Add start_index, end_index arguments.
51280         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
51281         start_index, end_index arguments.
51282         (gl_tree_remove): Update.
51283         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
51284         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
51285         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
51286         function.
51287         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
51288         gl_tree_search. Add start_index, end_index arguments.
51289         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
51290         start_index, end_index arguments.
51291         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
51292         Update.
51293         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
51294
51295 2006-10-05  Bruno Haible  <bruno@clisp.org>
51296
51297         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
51298
51299         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
51300         fwriteerror_temp): New declarations.
51301         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
51302         (descriptors): New variable.
51303         (cleanup): First, close the descriptors.
51304         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
51305         fclose_temp, fwriteerror_temp): New functions.
51306
51307 2006-10-04  Jim Meyering  <jim@meyering.net>
51308
51309         * lib/fts.c (fts_open): Tiny comment change.
51310
51311 2006-10-04  Bruno Haible  <bruno@clisp.org>
51312
51313         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
51314         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
51315         gl_LOCK_BODY.
51316         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
51317         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
51318         gl_LOCK_EARLY_BODY.
51319         (gl_LOCK): Require gl_LOCK_BODY.
51320
51321 2006-10-04  Bruno Haible  <bruno@clisp.org>
51322
51323         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
51324         (gl_oset_search_atleast): New declaration.
51325         (struct gl_oset_implementation): Add field 'search_atleast'.
51326         (gl_oset_search_atleast): New inline function.
51327         * lib/gl_oset.c (gl_oset_search_atleast): New function.
51328         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
51329         (gl_array_oset_implementation): Update.
51330         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
51331         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
51332         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
51333
51334 2006-10-04  Bruno Haible  <bruno@clisp.org>
51335
51336         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
51337
51338 2006-10-03  Bruno Haible  <bruno@clisp.org>
51339
51340         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
51341         from gl_avltreehash_list_implementation.
51342
51343 2006-10-03  Bruno Haible  <bruno@clisp.org>
51344
51345         * lib/gl_oset.c (gl_oset_add): Fix return type.
51346
51347 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
51348
51349         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
51350
51351 2006-10-02  Eric Blake  <ebb9@byu.net>
51352
51353         * modules/strnlen (Depends-on): Add extensions.
51354
51355 2006-10-02  Eric Blake  <ebb9@byu.net>
51356
51357         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
51358         definition in 2.60+.
51359
51360 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
51361
51362         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
51363         checks.
51364
51365 2006-10-02  Bruno Haible  <bruno@clisp.org>
51366
51367         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
51368         to the AUTOMAKE_OPTIONS.
51369         Reported by Jim Meyering.
51370
51371 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
51372
51373         Work around bug in Solaris 10 /proc file system:
51374         /proc/self/fd/NNN/.. isn't the parent directory of
51375         the directory whose file descriptor is NNN.  This needs to
51376         be worked around at run time, not compile time, since a
51377         program might be built on Solaris 8, where things work, and
51378         run on Solaris 10.
51379         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
51380         to use the following interface instead:
51381         (OPENAT_BUFFER_SIZE): New macro.
51382         (openat_proc_name): New function.
51383         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
51384         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
51385         Likewise.
51386         * lib/openat-proc.c: New file.
51387         * modules/openat (Files): Add lib/openat-proc.c.
51388         (Depends-on): Add same-inode, stdbool.
51389         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
51390
51391 2006-09-29  Bruno Haible  <bruno@clisp.org>
51392
51393         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
51394         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
51395         argument. Set stdout_closed before testing for ferror, not after.
51396         (fwriteerror, fwriteerror_no_ebadf): New functions.
51397
51398 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51399
51400         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
51401
51402 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
51403
51404         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
51405         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
51406
51407 2006-09-28  Jim Meyering  <jim@meyering.net>
51408
51409         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
51410         Include <unistd.h>.
51411
51412 2006-09-28  Bruno Haible  <bruno@clisp.org>
51413
51414         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
51415         * modules/linkedhash-list (Depends-on): Likewise.
51416         * modules/rbtreehash-list (Depends-on): Likewise.
51417
51418 2006-09-28  Bruno Haible  <bruno@clisp.org>
51419
51420         * lib/strndup.h: Simplify the redefinition of strndup.
51421         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
51422         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
51423
51424 2006-09-28  Bruno Haible  <bruno@clisp.org>
51425
51426         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
51427         * lib/gl_linkedhash_list.c: Likewise.
51428         * lib/gl_rbtreehash_list.c: Likewise.
51429
51430 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
51431
51432         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
51433         getaddrinfo.
51434
51435         * lib/__fpending.h: Don't include <stdio_ext.h> unless
51436         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
51437         it causes <stdio_ext.h> to cause a compile-time error.
51438         Problem reported by Nelson H. F. Beebe.
51439         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
51440         of HAVE_DECL___PENDING.
51441
51442         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
51443         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
51444         declaration.
51445
51446 2006-09-27  Jim Meyering  <jim@meyering.net>
51447
51448         This file could end up with a definition for a function
51449         named __strndup, rather than rpl_strndup on a system with
51450         incomplete weak_alias support.
51451         * lib/strndup.c (strndup): Rename from __strndup.
51452         Remove #defines that used to map __strndup to strndup.
51453         Don't use K&R prototypes.
51454         Remove LIBC-related code, since this file is not sync'd with glibc.
51455         * lib/strndup.h: Revamp, accordingly.
51456         * m4/strndup.m4: Modernize.
51457
51458 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
51459
51460         * modules/savewd (Depends-on): Add 'raise'.
51461         * lib/savewd.c: Include <signal.h>, for 'raise'.
51462
51463 2006-09-26  Jim Meyering  <jim@meyering.net>
51464
51465         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
51466         when we detect Darwin 8.7.0's acl_get_file bug.
51467         Rearrange to perform the new (below) run-test while $LIBS
51468         contains any acl-related library.  Set USE_ACL at the end.
51469         (gl_ACL_GET_FILE): New function.
51470
51471 2006-09-26  Eric Blake  <ebb9@byu.net>
51472
51473         * lib/verror.c: Include <config.h> unconditionally.
51474
51475 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
51476
51477         * modules/clock-time (Maintainer): Add self.
51478         * modules/getlogin_r (Depends-on): Add extensions.
51479
51480 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51481
51482         * modules/clock-time: New module.
51483         * modules/nanosleep (Depends-on): Add clock-time.
51484         * modules/gethrxtime (Depends-on): Likewise.
51485         * modules/gettime (Depends-on): Likewise.
51486         * modules/settime (Depends-on): Likewise.
51487
51488         * modules/fts-lgpl: Depend on openat.
51489         * modules/mkancesdirs: Depend on savewd.
51490         * modules/mkdir-p: Likewise.
51491
51492 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51493
51494         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
51495
51496         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
51497         `gl_have_arbitrary_file_name_length_limit' to
51498         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
51499         actually works between configure runs.
51500
51501 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51502             Bruno Haible  <bruno@clisp.org>
51503
51504         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
51505
51506 2006-09-25  Jim Meyering  <jim@meyering.net>
51507
51508         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
51509         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
51510
51511 2006-09-25  Eric Blake  <ebb9@byu.net>
51512
51513         * gnulib-tool (func_import, func_create_testdir): Fix typos in
51514         exec's in 2006-09-18 patch when shuffling fds.
51515
51516 2006-09-25  Bruno Haible  <bruno@clisp.org>
51517
51518         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
51519         Reported by Jim Meyering.
51520
51521 2006-09-24  Jim Meyering  <jim@meyering.net>
51522
51523         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
51524         compare a pointer against a literal "0".  That caused failures with
51525         at least HP-UX's hpcc.
51526
51527 2006-09-22  Simon Josefsson  <jas@extundo.com>
51528
51529         * modules/gc-sha1:
51530         * modules/gc-md4:
51531         * modules/gc-hmac-sha1:
51532         * modules/gc-hmac-md5:
51533         * modules/gc-des:
51534         * modules/gc-arcfour: Distribute more files.
51535
51536 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51537
51538         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
51539         (gl_linked_iterator_from_to): Initialize struct completely.
51540         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
51541         (gl_tree_iterator_from_to): Likewise
51542         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
51543         * lib/gl_array_list.c [lint] (gl_array_iterator)
51544         (gl_array_iterator_from_to): Likewise.
51545         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
51546         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
51547         (gl_carray_iterator_from_to): Likewise.
51548
51549         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
51550         * lib/md4.c (md4_process_block): Remove unused variable.
51551         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
51552         parentheses for clarity.
51553
51554 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51555
51556         * modules/bison-i18n (Depends-on): Add gettext.
51557
51558 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51559
51560         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
51561         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
51562         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
51563         also add missing comma that caused broken test.
51564         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
51565         stdlib.h, for `abort'.
51566         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
51567         variables.
51568         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
51569         include unistd.h if present, for `rmdir'.
51570         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
51571         variables.
51572         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
51573         in the process include standard headers for prototypes.
51574         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
51575         gets declared on GNU/Linux.
51576         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
51577         unistd.h, for `rmdir'.
51578         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
51579
51580         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
51581         always true.
51582         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
51583
51584         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
51585
51586 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51587
51588         * gnulib-tool (func_version): Create output all at once.  This
51589         may help avoid triggering unnecessary SIGPIPEs, and at any
51590         rate it doesn't hurt.
51591
51592 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51593             Bruno Haible  <bruno@clisp.org>
51594
51595         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
51596         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
51597         * m4/signed.m4 (bh_C_SIGNED): Likewise.
51598
51599         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
51600         (gl_FUNC_VASPRINTF): Invoke it.
51601
51602 2006-09-22  Bruno Haible  <bruno@clisp.org>
51603
51604         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
51605         getloadavg.c as first argument.
51606
51607 2006-09-22  Bruno Haible  <bruno@clisp.org>
51608
51609         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
51610         at the beginning of the gl_INIT macro.
51611         * modules/getloadavg (configure.ac): Pass $gl_source_base to
51612         gl_GETLOADAVG.
51613
51614 2006-09-22  Bruno Haible  <bruno@clisp.org>
51615
51616         * gnulib-tool (func_create_megatestdir): Don't include the config-h
51617         module.
51618         Suggested by Ralf Wildenhues.
51619
51620 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
51621
51622         Import this patch from libc:
51623
51624         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
51625
51626         * lib/regex_internal.c (re_string_reconstruct): Handle
51627         offset < pstr->valid_raw_len && pstr->offsets_needed case.
51628         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
51629         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
51630         re_string_context_at.
51631
51632         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
51633         now requires it.
51634         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
51635         gl_REGEX now does it for us.
51636         (gl_REGEX): Add test taken from
51637         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
51638
51639         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
51640         Check that large offsets work.  Modernize Autoconf usages.
51641         Prefer "yes" to mean a good thing rather than a bad.
51642         Don't put "#define mkstemp" in config.h, as this might interfere
51643         with standard system headers that "#define mkstemp mkstemp64".
51644
51645         * modules/mkstemp (Depends-on): Add extensions, so that
51646         mkstemp is visible on some platforms.
51647         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
51648         (Include): Change to "mkstemp.h" from <stdlib.h>.
51649         (Files): Add mkstemp.h.
51650
51651         * lib/mkstemp.h: New file, since some standard headers
51652         #define mkstemp.
51653         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
51654         Include "mkstemp.h".
51655         Make the _LIBC code resemble glibc original more,
51656         e.g., use K&R style.
51657         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
51658         (mkstemp): Remove, since mkstemp.h does this for us.
51659         * lib/stdlib--.h: Include mkstemp.h.
51660
51661         Import this patch from libc:
51662
51663         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
51664
51665         * lib/tempname.c (__gen_tempname): Change attempts_min
51666         into a macro.  Use preprocessor to decide how to initialize
51667         attempts [Coverity CID 67].
51668
51669 2006-09-20  Bruno Haible  <bruno@clisp.org>
51670
51671         * lib/mkdtemp.c: Import from libc.
51672         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
51673                 * sysdeps/posix/tempname.c (__gen_tempname): Change
51674                 attempts_min into a macro.  Use preprocessor to decide how to
51675                 initialize attempts [Coverity CID 67].
51676         2001-11-27  Paul Eggert  <eggert@twinsun.com>
51677                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
51678                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
51679
51680 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51681
51682         * gnulib-tool (func_exit): New function, to allow to pass the
51683         exit status portably through the trap.  Use everywhere.
51684         (--help, --version): Signal a write error.
51685         (trap): catch SIGPIPE, for write errors.
51686         Exit at the end of the trap, with the correct exit status.
51687
51688 2006-09-19  Karl Berry  <karl@gnu.org>
51689
51690         * doc/gnulib.texi: note about the license texinfo files.
51691
51692 2006-09-19  Eric Blake  <ebb9@byu.net>
51693
51694         * gnulib-tool: Avoid space-tab.
51695
51696 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
51697
51698         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
51699         that prevented coreutils 6.1 from building.  Problem reported
51700         by Petter Reinholdtsen.
51701
51702 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
51703
51704         * gnulib-tool (avoidlist): Fix typo that broke options like
51705         --avoid=lock that are used by coreutils bootstrap.
51706
51707 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
51708
51709         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
51710         more systematically.
51711
51712 2006-09-18  Jim Meyering  <jim@meyering.net>
51713
51714         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
51715
51716 2006-09-18  Bruno Haible  <bruno@clisp.org>
51717
51718         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
51719
51720 2006-09-18  Bruno Haible  <bruno@clisp.org>
51721
51722         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
51723         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
51724         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
51725         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
51726         * m4/gettext.m4: Require autoconf >= 2.52.
51727         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
51728         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
51729         of gl_cv_header_inttypes_h.
51730
51731 2006-09-18  Bruno Haible  <bruno@clisp.org>
51732
51733         * lib/javaversion.c: Include configmake.h.
51734
51735 2006-09-18  Bruno Haible  <bruno@clisp.org>
51736
51737         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
51738         avoid that the while loops be executed in a subshell.
51739
51740 2006-09-18  Bruno Haible  <bruno@clisp.org>
51741
51742         * MODULES.html.sh (func_module): Break long lines.
51743         Suggested by Bruce Korb <bkorb@gnu.org>.
51744
51745 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51746
51747         Speed up by a factor of 1.12.
51748         * gnulib-tool (nl): New variable.
51749         (func_import): Rewrite include directive extraction to only read each
51750         directive once.
51751
51752 2006-09-17  Bruno Haible  <bruno@clisp.org>
51753
51754         * modules/javaversion (Makefile.am): Remove DEFS setting.
51755         (Depends-on): Add configmake, for PKGDATADIR definition.
51756
51757 2006-09-17  Bruno Haible  <bruno@clisp.org>
51758
51759         * gnulib-tool (func_create_testdir): Rewrite all files at once.
51760
51761 2006-09-17  Bruno Haible  <bruno@clisp.org>
51762
51763         * gnulib-tool (func_append): New function, stolen from libtool.m4.
51764         (func_modules_transitive_closure, func_modules_add_dummy,
51765         func_modules_to_filelist, func_import, func_create_testdir,
51766         func_create_megatestdir, ...): Use it wherever possible.
51767         Suggested by Ralf Wildenhues.
51768
51769 2006-09-16  Karl Berry  <karl@gnu.org>
51770
51771         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
51772         to avoid sectioning errors.
51773         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
51774         [ifinfo]: blank line after @center-ed titles.
51775         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
51776         Spell FSF address consistently with others.
51777         (These changes approved by rms.)
51778
51779 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51780
51781         Speed up by a factor of 1.61.
51782         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
51783         already checked module names again.
51784
51785 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51786
51787         Speed up by a factor of 1.13.
51788         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
51789         for new_files, and the input to func_add_or_update.
51790
51791 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51792
51793         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
51794         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
51795
51796 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
51797
51798         * modules/mkancesdirs (Depends-on): Add fcntl.
51799         * modules/savewd: New file.
51800         * MODULES.html.sh (File system functions): Add savewd.
51801
51802         * modules/configmake (Makefile.am): Add support for the
51803         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
51804
51805 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
51806
51807         * m4/savewd.m4: New file.
51808
51809 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
51810
51811         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
51812         (dirchownmod): New arg FD.  All callers changed.
51813         Use FD rather than opening the directory ourself, as opening is
51814         now the caller's responsibility.
51815         * lib/dirchownmod.h: Likewise.
51816         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
51817         hosts that require <sys/types.h> before <sys/stat.h>.  Include
51818         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
51819         (test_dir): Remove.
51820         (mkancesdirs): Return length of prefix of FILE that has already
51821         been made, or -2 if there is a child doing the work.  Redo
51822         algorithm so that it is O(N) rather than O(N**2).  Optimize away
51823         ".", and treat ".." specially since it might stray back into
51824         already-created areas.  Use a subprocess if necessary.  New arg
51825         WD; all users changed.  MAKE_DIR function should now return 1
51826         if it creates a directory that is not readable.  Return -2 if
51827         a child process is spun off.
51828         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
51829         Adjust signature to match code.
51830         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
51831         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
51832         all users changed.
51833         * lib/savewd.c, lib/savewd.h: New files.
51834
51835 2006-09-15  Jim Meyering  <jim@meyering.net>
51836
51837         * modules/rename-dest-slash: New module.
51838         * MODULES.html.sh (posix_compat): Add it here.
51839
51840         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
51841
51842 2006-09-15  Jim Meyering  <jim@meyering.net>
51843
51844         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
51845         file.
51846
51847         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
51848
51849 2006-09-15  Jim Meyering  <jim@meyering.net>
51850
51851         * lib/rename-dest-slash.c (has_trailing_slash): Use
51852         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
51853         (rpl_rename_dest_slash): Perform the cheaper trailing slash
51854         test before testing whether SRC is a directory.
51855         Suggestions from Bruno Haible.
51856
51857         Avoid a warning about an unused variable.
51858         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
51859         into the #ifdef block where it's used.
51860
51861         * lib/rename-dest-slash.c: New file.
51862
51863 2006-09-14  Bruno Haible  <bruno@clisp.org>
51864
51865         * lib/allocsa.c: Include <config.h> unconditionally.
51866         * lib/asnprintf.c: Likewise.
51867         * lib/asprintf.c: Likewise.
51868         * lib/c-strcasecmp.c: Likewise.
51869         * lib/c-strcasestr.c: Likewise.
51870         * lib/c-strncasecmp.c: Likewise.
51871         * lib/c-strstr.c: Likewise.
51872         * lib/classpath.c: Likewise.
51873         * lib/clean-temp.c: Likewise.
51874         * lib/concatpath.c: Likewise.
51875         * lib/copy-file.c: Likewise.
51876         * lib/csharpcomp.c: Likewise.
51877         * lib/csharpexec.c: Likewise.
51878         * lib/execute.c: Likewise.
51879         * lib/fatal-signal.c: Likewise.
51880         * lib/findprog.c: Likewise.
51881         * lib/fwriteerror.c: Likewise.
51882         * lib/gl_array_list.c: Likewise.
51883         * lib/gl_array_oset.c: Likewise.
51884         * lib/gl_avltree_list.c: Likewise.
51885         * lib/gl_avltree_oset.c: Likewise.
51886         * lib/gl_avltreehash_list.c: Likewise.
51887         * lib/gl_carray_list.c: Likewise.
51888         * lib/gl_linked_list.c: Likewise.
51889         * lib/gl_linkedhash_list.c: Likewise.
51890         * lib/gl_list.c: Likewise.
51891         * lib/gl_oset.c: Likewise.
51892         * lib/gl_rbtree_list.c: Likewise.
51893         * lib/gl_rbtree_oset.c: Likewise.
51894         * lib/gl_rbtreehash_list.c: Likewise.
51895         * lib/imaxabs.c: Likewise.
51896         * lib/imaxdiv.c: Likewise.
51897         * lib/javacomp.c: Likewise.
51898         * lib/javaexec.c: Likewise.
51899         * lib/javaversion.c: Likewise.
51900         * lib/linebreak.c: Likewise.
51901         * lib/localcharset.c: Likewise.
51902         * lib/lock.c: Likewise.
51903         * lib/mbchar.c: Likewise.
51904         * lib/mbswidth.c: Likewise.
51905         * lib/mkdtemp.c: Likewise.
51906         * lib/pipe.c: Likewise.
51907         * lib/printf-args.c: Likewise.
51908         * lib/printf-parse.c: Likewise.
51909         * lib/progname.c: Likewise.
51910         * lib/progreloc.c: Likewise.
51911         * lib/readlink.c: Likewise.
51912         * lib/sh-quote.c: Likewise.
51913         * lib/stpcpy.c: Likewise.
51914         * lib/stpncpy.c: Likewise.
51915         * lib/strcasecmp.c: Likewise.
51916         * lib/strcasestr.c: Likewise.
51917         * lib/strcspn.c: Likewise.
51918         * lib/striconv.c: Likewise.
51919         * lib/strncasecmp.c: Likewise.
51920         * lib/strnlen1.c: Likewise.
51921         * lib/strstr.c: Likewise.
51922         * lib/strtok_r.c: Likewise.
51923         * lib/tls.c: Likewise.
51924         * lib/tmpdir.c: Likewise.
51925         * lib/unicodeio.c: Likewise.
51926         * lib/unsetenv.c: Likewise.
51927         * lib/vasnprintf.c: Likewise.
51928         * lib/vasprintf.c: Likewise.
51929         * lib/wait-process.c: Likewise.
51930         * lib/xallocsa.c: Likewise.
51931         * lib/xsetenv.c: Likewise.
51932         * lib/xstriconv.c: Likewise.
51933
51934 2006-09-13  Simon Josefsson  <jas@extundo.com>
51935
51936         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
51937         that internally, suggested by Ralf Wildenhues
51938         <Ralf.Wildenhues@gmx.de>.
51939
51940 2006-09-13  Simon Josefsson  <jas@extundo.com>
51941
51942         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
51943         @LIBOBJS@.
51944         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
51945
51946 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
51947
51948         * lib/_fpending.c: Include <config.h> unconditionally, since we no
51949         longer worry about uses that don't define HAVE_CONFIG_H.
51950         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
51951         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
51952         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
51953         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
51954         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
51955         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
51956         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
51957         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
51958         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
51959         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
51960         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
51961         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
51962         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
51963         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
51964         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
51965         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
51966         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
51967         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
51968         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
51969         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
51970         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
51971         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
51972         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
51973         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
51974         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
51975         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
51976         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
51977         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
51978         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
51979         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
51980         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
51981         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
51982         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
51983         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
51984         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
51985         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
51986         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
51987         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
51988         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
51989         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
51990         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
51991         Likewise.
51992
51993 2006-09-13  Eric Blake  <ebb9@byu.net>
51994
51995         * lib/getopt.c: Fix typo in last commit.
51996
51997 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
51998
51999         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
52000         dgettext.
52001
52002 2006-09-12  Jim Meyering  <jim@meyering.net>
52003
52004         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
52005         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
52006         Reported by Nelson H. F. Beebe.
52007
52008 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
52009
52010         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
52011         program_invocation_name and program_invocation_short_name are
52012         initialized.
52013         * lib/argp-namefrob.h: Move declarations of program_invocation_name
52014         and program_invocation_short_name to argp.h, so they are visible
52015         to user programs.
52016         * lib/argp.h: Likewise
52017
52018 2006-09-10  Bruno Haible  <bruno@clisp.org>
52019
52020         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
52021         m4/inttypes_h.m4, m4/uintmax_t.m4.
52022
52023 2006-09-10  Bruno Haible  <bruno@clisp.org>
52024
52025         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
52026         gl_AC_TYPE_UINTMAX_T.
52027
52028 2006-09-10  Bruno Haible  <bruno@clisp.org>
52029
52030         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
52031
52032 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
52033
52034         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
52035         convention.  Text proposed by Bruno Haible.
52036         (struct argp_option): Document the use of N_() wrappers.
52037
52038         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
52039         '\v', and translate the two parts separately, instead of feeding
52040         the whole string to gettext.  This allows to exclude
52041         '\v' from the strings visible to the translator by writing doc
52042         strings as N_("..") "\v" N_("..").
52043
52044 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
52045
52046         * config/srclist.txt: Undo latest change; the bug was fixed.
52047
52048 2006-09-09  Bruno Haible  <bruno@clisp.org>
52049
52050         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
52051         assignments if building a library without libtool.
52052         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
52053         in func_emit_lib_Makefile_am.
52054         (func_import): When building a static library libfoo.a, arrange to
52055         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
52056         (func_create_testdir): Likewise.
52057         * modules/gc (configure.ac, Makefile.am): If building statically,
52058         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
52059         * modules/iconvme (configure.ac, Makefile.am): Likewise.
52060         * modules/striconv (configure.ac, Makefile.am): Likewise.
52061         Based on a suggestion by Ralf Wildenhues.
52062
52063 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
52064
52065         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
52066         Check for unistd.h too, since Autoconf doesn't assume POSIX.
52067         Also:
52068
52069         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
52070         Add year_2050_test to catch glibc bug 2821
52071         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
52072
52073         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
52074         Prefer #ifdef to #if.
52075
52076         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
52077         Return from 'main' instead of calling 'exit'.
52078
52079 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
52080
52081         * lib/mktime.c (guess_time_tm): Fix bug where mktime
52082         returned the maximum time_t value rather than (time_t) -1.
52083         Problem originally reported by William Bardwell
52084         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
52085
52086         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
52087         Moved to here ...
52088         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
52089         ... from here.
52090
52091 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
52092
52093         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
52094         2821 is fixed.
52095
52096 2006-09-08  Jim Meyering  <jim@meyering.net>
52097
52098         Don't make generated files read-only.  That would bother too many
52099         people.  However, do retain the ability to work when targets are
52100         read-only: remove the destination and temporary files before writing
52101         them (when generated via sed or echo), or by using the -f option for
52102         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
52103         * modules/alloca-opt, modules/argz, modules/arpa_inet:
52104         * modules/byteswap, modules/configmake, modules/fcntl:
52105         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
52106         * modules/localcharset, modules/netinet_in, modules/poll:
52107         * modules/stdbool, modules/stdint, modules/sys_select:
52108         * modules/sys_socket, modules/sys_stat, modules/sysexits:
52109
52110 2006-09-08  Jim Meyering  <jim@meyering.net>
52111
52112         Avoid new build failure on FreeBSD 6.0.
52113         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
52114         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
52115         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
52116
52117 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52118
52119         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
52120
52121 2006-09-07  Jim Meyering  <jim@meyering.net>
52122
52123         Fix global typo in last change: use chmod u-w, not chmod u-x.
52124         Spotted by Paul Eggert and Bruce Korb.
52125         * modules/alloca-opt, modules/argz, modules/arpa_inet:
52126         * modules/byteswap, modules/configmake, modules/fcntl:
52127         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
52128         * modules/localcharset, modules/netinet_in, modules/poll:
52129         * modules/stdbool, modules/stdint, modules/sys_select:
52130         * modules/sys_socket, modules/sys_stat, modules/sysexits:
52131
52132 2006-09-06  Jim Meyering  <jim@meyering.net>
52133
52134         Make generated files be read-only.
52135         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
52136         Ensure that each generated file is now read-only.
52137         * modules/argz: Likewise.
52138         * modules/arpa_inet: Likewise.
52139         * modules/byteswap: Likewise.
52140         * modules/configmake: Likewise.
52141         * modules/fcntl: Likewise.
52142         * modules/fnmatch: Likewise.
52143         * modules/getopt: Likewise.
52144         * modules/glob: Likewise.
52145         * modules/inttypes: Likewise.
52146         * modules/netinet_in: Likewise.
52147         * modules/poll: Likewise.
52148         * modules/stdbool: Likewise.
52149         * modules/stdint: Likewise.
52150         * modules/sys_select: Likewise.
52151         * modules/sys_socket: Likewise.
52152         * modules/sys_stat: Likewise.
52153         * modules/sysexits: Likewise.
52154         * modules/localcharset: Same as above, but continue using temporary
52155         file named "t-$@" (why different?) rather than the "$@-t" used
52156         everywhere else.
52157
52158         * modules/sysexits (Makefile.am): Replace literal occurrences
52159         of "sysexit.h" more readable, and more consistent, "$@".
52160
52161 2006-09-06  Bruno Haible  <bruno@clisp.org>
52162
52163         * modules/striconv: New file.
52164         * modules/xstriconv: New file.
52165         * MODULES.html.sh (Internationalization functions): Add striconv,
52166         xstriconv.
52167
52168 2006-09-06  Bruno Haible  <bruno@clisp.org>
52169
52170         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
52171         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
52172         not using libtool correctly.
52173
52174 2006-09-06  Bruno Haible  <bruno@clisp.org>
52175
52176         * lib/striconv.h: New file.
52177         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
52178         iconvstring.c.
52179         * lib/xstriconv.h: New file.
52180         * lib/xstriconv.c: New file.
52181
52182 2006-09-06  Bruno Haible  <bruno@clisp.org>
52183
52184         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
52185         lib_..._LDFLAGS.
52186
52187 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52188
52189         * lib/argz_.h: Sync from Libtool.
52190
52191         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
52192                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
52193
52194         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
52195
52196 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
52197
52198         * modules/trim: New file.
52199
52200 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
52201
52202         * lib/trim.h: New file.
52203         * lib/trim.c: New file.
52204
52205 2006-09-05  Bruno Haible  <bruno@clisp.org>
52206
52207         * MODULES.html.sh (String handling): Add trim.
52208
52209 2006-09-04  Karl Berry  <karl@gnu.org>
52210
52211         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
52212         until next release.
52213
52214 2006-09-03  Bruno Haible  <bruno@clisp.org>
52215
52216         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
52217         correctly.
52218
52219 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
52220
52221         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
52222         not gl_GETLOADAVG.  Omit unneeded semicolons.
52223         Problems reported by Ralf Wildenhues in
52224         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
52225         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
52226         at the end, which is the usual gnulib style.
52227
52228         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
52229         of doing all the work ourselves.
52230         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
52231         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
52232
52233 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
52234
52235         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
52236         Problem reported by Ralf Wildenhues in
52237         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
52238
52239         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
52240         HAVE_STRUCT_STATFS_F_FSTYPENAME.
52241
52242 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
52243
52244         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
52245         yesterday's patch by changing test -n to test -z.
52246
52247 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
52248
52249         * modules/getloadavg (Files): Add m4/getloadavg.m4.
52250         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
52251         the former is now obsolescent.
52252
52253         * modules/chdir-long (Depends-on): Add fcntl.
52254
52255 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
52256
52257         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
52258         obsolescent, and programs should use gnulib instead.
52259         * m4/getloadavg.m4: New file, with contents taken from Autoconf
52260         but with prefixes changed.
52261
52262 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
52263
52264         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
52265         or stdbool.h, because they might not exist while configuring.
52266
52267         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
52268         Don't include unistd.h or limits.h; not needed, since chdir-long.h
52269         does that for us.
52270         (O_DIRECTORY): Remove.
52271
52272 2006-08-31  Eric Blake  <ebb9@byu.net>
52273
52274         * gnulib-tool: Don't let emacs change spaces to TAB.
52275
52276 2006-08-31  Bruno Haible  <bruno@clisp.org>
52277
52278         * gnulib-tool: When calling func_import more than once, do it in a
52279         subshell.
52280         Reported by Eric Blake <ebb9@byu.net>.
52281
52282 2006-08-31  Bruno Haible  <bruno@clisp.org>
52283
52284         * gnulib-tool (nl): Remove variable.
52285         (sed_transform_lib_file): Use more robust test for config-h module.
52286         (func_import): Fix typo in 2006-08-25 patch.
52287
52288 2006-08-31  Bruno Haible  <bruno@clisp.org>
52289
52290         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
52291         specified, augment Makefile.am variables instead of assigning them.
52292
52293 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
52294
52295         Work around a bug in both the Linux and SunOS 64-bit kernels:
52296         nanosleep mishandles sleeps for longer than 2**31 seconds.
52297         Problem reported by Frank v Waveren in
52298         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
52299         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
52300         Check for nanosleep bug.
52301         (LIB_NANOSLEEP): Append clock_gettime library if needed.
52302
52303 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
52304
52305         Work around a bug in both the Linux and SunOS 64-bit kernels:
52306         nanosleep mishandles sleeps for longer than 2**31 seconds.
52307         Problem reported by Frank v Waveren in
52308         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
52309         * lib/nanosleep.c (BILLION): New constant.
52310         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
52311         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
52312         implementation.
52313
52314 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
52315
52316         * modules/nanosleep (Depends-on): Add gettime.
52317
52318 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
52319         and Simon Josefsson  <jas@extundo.com>
52320         and Oskar Liljeblad  <oskar@osk.mine.nu>
52321
52322         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
52323         * gnulib-tool (func_import): New license type 'unmodifiable license
52324         text'.
52325         * modules/fdl: Use it.  Longer description.
52326         * module/gpl, module/lgpl: New files.
52327
52328 2006-08-30  Jim Meyering  <jim@meyering.net>
52329
52330         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
52331         shadowing the parameter.
52332
52333 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52334
52335         Sync from Libtool:
52336
52337         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52338
52339         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
52340         sharing with gnulib.  Report by Eric Blake.
52341
52342 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
52343
52344         * modules/isapipe: New file.
52345         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
52346
52347 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
52348
52349         * modules/configmake (Makefile.am): Add a comment, and omit
52350         the CONFIGMAKE_ prefix from generated macro names.  Suggested
52351         by Bruno Haible.
52352
52353 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
52354
52355         * m4/isapipe.m4: New file.
52356
52357 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
52358
52359         * lib/isapipe.c, lib/isapipe.h: New files.
52360
52361 2006-08-29  Jim Meyering  <jim@meyering.net>
52362
52363         * modules/configmake (Makefile.am): Make configmake.h depend on
52364         Makefile.  Otherwise, a stale configmake.h could hang around.
52365
52366 2006-08-29  Eric Blake  <ebb9@byu.net>
52367
52368         * lib/error.c (error_at_line, print_errno_message): Match libc, after
52369         resolution of upstream bug 3044.
52370
52371 2006-08-29  Bruno Haible  <bruno@clisp.org>
52372
52373         * modules/localcharset (Depends-on): Add configmake.
52374         (Makefile.am): Remove setting of LIBDIR through DEFS.
52375
52376 2006-08-29  Bruno Haible  <bruno@clisp.org>
52377
52378         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
52379         defined.
52380
52381 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
52382
52383         * modules/fcntl: New file.
52384         * modules/chdir-safer (Depends-on): Add fcntl.
52385         * modules/fts: Likewise.
52386         * modules/mkdir-p: Likewise.
52387
52388         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
52389         This undoes the most recent change, since we're now addressing the
52390         problem in a different way.
52391
52392         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
52393         into output, since the output might be called Makefile.am even
52394         if $makefile_name is something different.
52395         (func_import): Use $makefile_am rather than
52396         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
52397         empty.
52398
52399         * modules/inttypes (Files): Add m4/inttypes-h.m4.
52400
52401 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
52402
52403         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
52404         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
52405         recent change to stdint.m4, since we're now addressing the problem in a
52406         different way.
52407
52408 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
52409
52410         * m4/fcntl_h.m4: New file.
52411
52412 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
52413
52414         * lib/fcntl_.h: New file.
52415         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
52416         the fcntl module.
52417         * lib/dirchownmod.c: Likewise.
52418         * lib/fts.c: Likewise.
52419
52420         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
52421         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
52422         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
52423         just before including <inttypes.h>, to avoid circular inclusion.
52424
52425 2006-08-28  Jim Meyering  <jim@meyering.net>
52426
52427         * doc/visibility.texi: Actually read and correct the grammar of the
52428         sentence affected by yesterday's change.
52429
52430 2006-08-28  Eric Blake  <ebb9@byu.net>
52431
52432         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
52433         needs wrapper.
52434
52435 2006-08-28  Eric Blake  <ebb9@byu.net>
52436
52437         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
52438
52439 2006-08-28  Eric Blake  <ebb9@byu.net>
52440
52441         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
52442
52443 2006-08-28  Bruno Haible  <bruno@clisp.org>
52444
52445         * modules/c-strstr: New file, from GNU gettext.
52446         * MODULES.html.sh (String handling): Add c-strstr.
52447
52448 2006-08-28  Bruno Haible  <bruno@clisp.org>
52449
52450         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
52451         macros.
52452         Reported by Eric Blake.
52453
52454 2006-08-28  Bruno Haible  <bruno@clisp.org>
52455
52456         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
52457         (VASNPRINTF): Return a string of length > INT_MAX without failing.
52458         * lib/vasprintf.c: Include errno.h, limits.h.
52459         (EOVERFLOW): New fallback definition.
52460         (vasprintf): Test here whether the string length is > INT_MAX.
52461         * lib/vsnprintf.c: Include errno.h, limits.h.
52462         (EOVERFLOW): New fallback definition.
52463         (vsnprintf): Fix bug when generated string was too long for the buffer.
52464         Test here whether the string length is > INT_MAX.
52465
52466 2006-08-28  Bruno Haible  <bruno@clisp.org>
52467
52468         * lib/inttypes_.h (SCNX*): Remove definitions.
52469         Reported by Eric Blake.
52470
52471 2006-08-28  Bruno Haible  <bruno@clisp.org>
52472
52473         * lib/c-strstr.h: New file, from GNU gettext.
52474         * lib/c-strstr.c: New file, from GNU gettext.
52475
52476 2006-08-28  Bruno Haible  <bruno@clisp.org>
52477
52478         * gnulib-tool: Reorder some statements.
52479
52480 2006-08-28  Bruno Haible  <bruno@clisp.org>
52481
52482         * gnulib-tool: New option --makefile-name.
52483         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
52484         $makefile_name.
52485         (func_import): Write $makefile_name to the cache file, and read it from
52486         there unless explicitly specified. Use $makefile_name as file name
52487         instead of Makefile.am. Adjust the recommendations accordingly.
52488
52489 2006-08-28  Bruno Haible  <bruno@clisp.org>
52490
52491         * gnulib-tool (func_verify_module): Check against misapplying patch.
52492
52493 2006-08-28  Bruno Haible  <bruno@clisp.org>
52494
52495         * gnulib-tool (func_relativize, func_relconcat): New functions.
52496         Give an error if --local-dir is given with --update.
52497         Remove trailing slashes from $local_gnulib_dir.
52498         (func_import): Store the relativized $local_gnulib_dir in
52499         gnulib-cache.m4, and read it from there if not specified explicitly.
52500
52501 2006-08-28  Bruno Haible  <bruno@clisp.org>
52502
52503         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
52504         is the current directory. Respect also $local_gnulib_dir.
52505
52506 2006-08-28  Bruno Haible  <bruno@clisp.org>
52507             Simon Josefsson  <jas@extundo.com>
52508
52509         BeOS portability.
52510         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
52511
52512 2006-08-27  Jim Meyering  <jim@meyering.net>
52513
52514         * doc/visibility.texi: Remove duplicate word: "pointer".
52515
52516 2006-08-26  Bruno Haible  <bruno@clisp.org>
52517
52518         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
52519         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
52520         (Makefile.am): Create inttypes.h from inttypes_.h.
52521         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
52522
52523         * modules/imaxabs: New file.
52524
52525         * modules/imaxdiv: New file.
52526
52527 2006-08-26  Bruno Haible  <bruno@clisp.org>
52528
52529         * m4/inttypes.m4: New file.
52530         * m4/_inttypes_h.m4: Remove file.
52531         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
52532         PRI_MACROS_BROKEN.
52533         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
52534
52535         * m4/imaxabs.m4: New file.
52536
52537         * m4/imaxdiv.m4: New file.
52538
52539 2006-08-26  Bruno Haible  <bruno@clisp.org>
52540
52541         * lib/inttypes_.h: New file.
52542         * lib/inttypes.h: Remove file.
52543         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
52544
52545         * lib/imaxabs.c: New file.
52546
52547         * lib/imaxdiv.c: New file.
52548
52549 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
52550
52551         New config-h module, so that "make" output needn't be cluttered
52552         by -DHAVE_CONFIG_H.
52553         * MODULES.html.sh (Support for building libraries and executables):
52554         Add config-h.
52555         * modules/config-h: New file.
52556         * gnulib-tool (nl, sed_transform_lib_file): New vars.
52557         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
52558         the config-h module is used.
52559
52560         New configmake module, so that "make" output needn't be cluttered
52561         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
52562         * MODULES.html.sh (Support for building libraries and executables):
52563         Add configmake.
52564         * modules/configmake: New file.
52565
52566 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
52567
52568         * m4/config-h.m4: New file.
52569
52570 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
52571
52572         * config/srclist.txt: Add elisp-comp.
52573
52574 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
52575
52576         * MODULES.html.sh (Support for building libraries and executables):
52577         Add elisp-comp.
52578         * build-aux/elisp-comp: New file.
52579         * modules/elisp-comp: New file.
52580
52581 2006-08-24  Bruno Haible  <bruno@clisp.org>
52582
52583         * gnulib-tool (func_create_testdir): Use non-default values of
52584         sourcebase and m4base.
52585
52586 2006-08-24  Bruno Haible  <bruno@clisp.org>
52587
52588         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
52589         HTML structure.
52590
52591 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
52592
52593         * modules/openat (Depends-on): Add lchown.
52594
52595 2006-08-23  Bruno Haible  <bruno@clisp.org>
52596
52597         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
52598         of gl_LOCK_EARLY instead of gl_LOCK.
52599
52600 2006-08-23  Bruno Haible  <bruno@clisp.org>
52601
52602         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
52603         on OSF/1 to no.
52604         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
52605
52606 2006-08-23  Bruno Haible  <bruno@clisp.org>
52607
52608         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
52609         as unusable.
52610
52611         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
52612         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
52613         (gl_LOCK): New macro.
52614
52615 2006-08-22  Simon Josefsson  <jas@extundo.com>
52616
52617         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
52618         to md5 module.
52619
52620 2006-08-22  Simon Josefsson  <jas@extundo.com>
52621
52622         * MODULES.html.sh: Add "Support for maintaining and release
52623         projects".
52624
52625         * build-aux/gnupload: New file, from coreutils.
52626
52627 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
52628
52629         Avoid the need for AC_LIBSOURCES in m4 macros.
52630         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
52631         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
52632         * modules/check-version (EXTRA_DIST): Add check-version.h.
52633         * modules/crc (EXTRA_DIST): Add crc.h.
52634         * modules/des (EXTRA_DIST): Add des.h.
52635         * modules/gc (EXTRA_DIST): Add gc.h.
52636         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
52637         * modules/getline (EXTRA_DIST): Add getline.h.
52638         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
52639         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
52640         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
52641         * modules/md2 (EXTRA_DIST): Add md2.h.
52642         * modules/md4 (EXTRA_DIST): Add md4.h.
52643         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
52644         * modules/read-file (EXTRA_DIST): Add read-file.h.
52645         * modules/readline (EXTRA_DIST): Add readline.h.
52646         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
52647         rijndael-api-fst.h.
52648
52649 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
52650
52651         * m4/rijndael.m4 (gl_ARCFOUR):
52652         * m4/arctwo.m4 (gl_ARCTWO):
52653         * m4/check-version.m4 (gl_CHECK_VERSION):
52654         * m4/crc.m4 (gl_CRC):
52655         * m4/des.m4 (gl_DES):
52656         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
52657         * m4/gc.m4 (gl_GC):
52658         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
52659         * m4/getline.m4 (gl_FUNC_GETLINE):
52660         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
52661         * m4/hmac-md5.m4 (gl_HMAC_MD5):
52662         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
52663         * m4/md2.m4 (gl_MD2):
52664         * m4/md4.m4 (gl_MD4):
52665         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
52666         * m4/read-file.m4 (gl_FUNC_READ_FILE):
52667         * m4/readline.m4 (gl_FUNC_READLINE):
52668         * m4/rijndael.m4 (gl_RIJNDAEL):
52669         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
52670         to get the necessary .h files and whatnot.
52671
52672 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
52673
52674         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
52675         gnulib rather than the other way around.
52676         * config/srclistvars.sh (COREUTILS): Remove.
52677
52678 2006-08-22  Jim Meyering  <jim@meyering.net>
52679
52680         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
52681
52682         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
52683
52684 2006-08-22  Eric Blake  <ebb9@byu.net>
52685
52686         * modules/regexprops-generic: New file.
52687         * MODULES.html.sh (Support for building documentation): List it.
52688
52689 2006-08-22  Eric Blake  <ebb9@byu.net>
52690
52691         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
52692         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52693         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
52694         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
52695
52696 2006-08-22  Bruno Haible  <bruno@clisp.org>
52697
52698         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
52699         and lib_LTLIBRARIES like the other lib_* variables.
52700
52701 2006-08-22  Bruno Haible  <bruno@clisp.org>
52702
52703         * build-aux/x-to-1.in: New file, from GNU gettext.
52704
52705 2006-08-22  Bruno Haible  <bruno@clisp.org>
52706
52707         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
52708         <utmpx.h> exists.
52709
52710 2006-08-22  Bruno Haible  <bruno@clisp.org>
52711
52712         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
52713         <utmpx.h> exists.
52714
52715 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
52716
52717         BeOS portability.
52718         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
52719         exist.
52720         Problem reported by Bruno Haible.
52721
52722 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
52723
52724         Avoid the need for AC_LIBSOURCES in m4 macros.
52725         * modules/acl (EXTRA_DIST): Add acl.h.
52726         * modules/argmatch (Files): Add m4/argmatch.m4.
52727         (configure.ac): Add gl_ARGMATCH.
52728         (EXTRA_DIST): Renamed from lib_SOURCES, for
52729         consistency with the other modules.  Remove argmatch.c.
52730         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
52731         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
52732         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
52733         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
52734         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
52735         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
52736         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
52737         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
52738         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
52739         * modules/closeout (EXTRA_DIST): Add closeout.h.
52740         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
52741         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
52742         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
52743         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
52744         dirname.h; remove basename.c and stripslash.c.
52745         * modules/exclude (EXTRA_DIST): Add exclude.h.
52746         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
52747         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
52748         * modules/file-type (EXTRA_DIST): Add file-type.h.
52749         * modules/filemode (EXTRA_DIST): Add filemode.h.
52750         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
52751         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
52752         * modules/fpending (EXTRA_DIST): Add __fpending.h.
52753         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
52754         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
52755         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
52756         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
52757         * modules/getdate (EXTRA_DIST): Add getdate.c.
52758         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
52759         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
52760         * modules/getpass (EXTRA_DIST): Add getpass.h.
52761         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
52762         * modules/group-member (EXTRA_DIST): Add group-member.h.
52763         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
52764         * modules/hash (EXTRA_DIST): Add hash.h.
52765         * modules/human (EXTRA_DIST): Add human.h.
52766         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
52767         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
52768         * modules/lchown (EXTRA_DIST): Add lchown.h.
52769         * modules/long-options (EXTRA_DIST): Add long-options.h.
52770         * modules/lstat (EXTRA_DIST): Add lstat.h.
52771         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
52772         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
52773         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
52774         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
52775         * modules/memxor (EXTRA_DIST): Add memxor.h.
52776         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
52777         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
52778         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
52779         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
52780         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
52781         * modules/physmem (EXTRA_DIST): Add physmem.h.
52782         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
52783         * modules/posixver (EXTRA_DIST): Add posixver.h.
52784         * modules/quote (EXTRA_DIST): Add quote.h.
52785         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
52786         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
52787         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
52788         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
52789         regex_internal.h regexec.c.
52790         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
52791         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
52792         * modules/same (EXTRA_DIST): Add same.h.
52793         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
52794         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
52795         * modules/savedir (EXTRA_DIST): Add savedir.h.
52796         * modules/sha1 (EXTRA_DIST): Add sha1.h.
52797         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
52798         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
52799         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
52800         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
52801         * modules/strdup (EXTRA_DIST): Add strdup.h.
52802         * modules/strftime (EXTRA_DIST): Add strftime.h.
52803         * modules/strndup (EXTRA_DIST): Add strndup.h.
52804         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
52805         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
52806         * modules/time_r (EXTRA_DIST): Add time_r.h.
52807         * modules/timespec (EXTRA_DIST): Add timespec.h.
52808         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
52809         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
52810         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
52811         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
52812         * modules/userspec (EXTRA_DIST): Add userspec.h.
52813         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
52814         * modules/utimens (EXTRA_DIST): Add utimens.h.
52815         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
52816         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
52817         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
52818         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
52819         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
52820         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
52821         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
52822         * modules/yesno (EXTRA_DIST): Add yesno.h.
52823
52824 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
52825
52826         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
52827
52828         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
52829         * m4/dev-ino.m4, same-inode.m4: Remove.
52830
52831         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
52832         * m4/acl.m4 (AC_FUNC_ACL):
52833         * m4/backupfile.m4 (gl_BACKUPFILE):
52834         * m4/c-strtod.m4 (gl_C99_STRTOLD):
52835         * m4/canon-host.m4 (gl_CANON_HOST):
52836         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
52837         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
52838         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
52839         * m4/cloexec.m4 (gl_CLOEXEC):
52840         * m4/close-stream.m4 (gl_CLOSE_STREAM):
52841         * m4/closeout.m4 (gl_CLOSEOUT):
52842         * m4/dirfd.m4 (gl_FUNC_DIRFD):
52843         * m4/dirname.m4 (gl_DIRNAME):
52844         * m4/exclude.m4 (gl_EXCLUDE):
52845         * m4/exitfail.m4 (gl_EXITFAIL):
52846         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
52847         * m4/file-type.m4 (gl_FILE_TYPE):
52848         * m4/filemode.m4 (gl_FILEMODE):
52849         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
52850         * m4/fpending.m4 (gl_FUNC_FPENDING):
52851         * m4/fprintftime.m4 (gl_FPRINTFTIME):
52852         * m4/fts.m4 (gl_FUNC_FTS):
52853         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
52854         * m4/getdate.m4 (gl_GETDATE):
52855         * m4/gethrxtime.m4 (gl_GETHRXTIME):
52856         * m4/getpagesize.m4 (gl_GETPAGESIZE):
52857         * m4/getpass.m4 (gl_FUNC_GETPASS):
52858         * m4/gettime.m4 (gl_GETTIME):
52859         * m4/getugroups.m4 (gl_GETUGROUPS):
52860         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
52861         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
52862         * m4/hard-locale.m4 (gl_HARD_LOCALE):
52863         * m4/hash.m4 (gl_HASH):
52864         * m4/idcache.m4 (gl_IDCACHE):
52865         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
52866         * m4/lchown.m4 (gl_FUNC_LCHOWN):
52867         * m4/long-options.m4 (gl_LONG_OPTIONS):
52868         * m4/lstat.m4 (gl_FUNC_LSTAT):
52869         * m4/md5.m4 (gl_MD5):
52870         * m4/memcasecmp.m4 (gl_MEMCASECMP):
52871         * m4/memcoll.m4 (gl_MEMCOLL):
52872         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
52873         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
52874         * m4/memxor.m4 (gl_MEMXOR):
52875         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
52876         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
52877         * m4/modechange.m4 (gl_MODECHANGE):
52878         * m4/mountlist.m4 (gl_MOUNTLIST):
52879         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
52880         * m4/openat.m4 (gl_FUNC_OPENAT):
52881         * m4/pathmax.m4 (gl_PATHMAX):
52882         * m4/physmem.m4 (gl_PHYSMEM):
52883         * m4/posixtm.m4 (gl_POSIXTM):
52884         * m4/posixver.m4 (gl_POSIXVER):
52885         * m4/quote.m4 (gl_QUOTE):
52886         * m4/quotearg.m4 (gl_QUOTEARG):
52887         * m4/readtokens.m4 (gl_READTOKENS):
52888         * m4/readutmp.m4 (gl_READUTMP):
52889         * m4/regex.m4 (gl_REGEX):
52890         * m4/safe-read.m4 (gl_SAFE_READ):
52891         * m4/safe-write.m4 (gl_SAFE_WRITE):
52892         * m4/same.m4 (gl_SAME):
52893         * m4/save-cwd.m4 (gl_SAVE_CWD):
52894         * m4/savedir.m4 (gl_SAVEDIR):
52895         * m4/settime.m4 (gl_SETTIME):
52896         * m4/sha1.m4 (gl_SHA1):
52897         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
52898         * m4/stat-macros.m4 (gl_STAT_MACROS):
52899         * m4/stat-time.m4 (gl_STAT_TIME):
52900         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
52901         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
52902         * m4/strdup.m4 (gl_FUNC_STRDUP):
52903         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
52904         * m4/strndup.m4 (gl_FUNC_STRNDUP):
52905         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
52906         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
52907         * m4/time_r.m4 (gl_TIME_R):
52908         * m4/timespec.m4 (gl_TIMESPEC):
52909         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
52910         * m4/unlinkdir.m4 (gl_UNLINKDIR):
52911         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
52912         * m4/userspec.m4 (gl_USERSPEC):
52913         * m4/utimecmp.m4 (gl_UTIMECMP):
52914         * m4/utimens.m4 (gl_UTIMENS):
52915         * m4/xalloc.m4 (gl_XALLOC):
52916         * m4/xgetcwd.m4 (gl_XGETCWD):
52917         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
52918         * m4/xreadlink.m4 (gl_XREADLINK):
52919         * m4/xstrtod.m4 (gl_XSTRTOD):
52920         * m4/yesno.m4 (gl_YESNO):
52921         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
52922         to get the necessary .h files and whatnot.
52923
52924 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
52925             Bruno Haible  <bruno@clisp.org>
52926
52927         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
52928         /bin/sh understanding of '!' conditional negation.
52929
52930 2006-08-21  Jim Meyering  <jim@meyering.net>
52931
52932         * modules/openat (Depends-on): Really alphabetize.
52933
52934         * modules/acl (Depends-on): Add error and quote.
52935
52936         * check-module (find_included_lib_files): Add at-func.c to the
52937         ok-to-include-more-than-once white list.
52938
52939         * modules/openat (Depends-on): Add lstat.  Alphabetize.
52940
52941 2006-08-21  Bruno Haible  <bruno@clisp.org>
52942
52943         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
52944         Emit a pkgdata_DATA variable only if some snippets add contents to it.
52945         Reported by Martin Lambers <marlam@marlam.de>.
52946
52947 2006-08-21  Bruno Haible  <bruno@clisp.org>
52948
52949         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
52950         specify an installation location, don't emit a noinst_LIBRARIES or
52951         noinst_LTLIBRARIES assignment.
52952
52953 2006-08-21  Bruno Haible  <bruno@clisp.org>
52954
52955         BeOS portability.
52956         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
52957         BeOS has mbrtowc() but no <wctype.h>.
52958
52959 2006-08-21  Bruno Haible  <bruno@clisp.org>
52960
52961         BeOS portability.
52962         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
52963         exist.
52964
52965 2006-08-21  Bruno Haible  <bruno@clisp.org>
52966
52967         BeOS portability.
52968         * lib/mbchar.h: Include <wctype.h> only if it exists.
52969
52970 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
52971
52972         Remove files that are no longer needed by their respective modules.
52973         * m4/obstack.m4: Remove.
52974         * m4/strerror_r.m4: Remove.
52975         * m4/uint32_t.m4: Remove.
52976         * m4/uintptr_t.m4: Remove.
52977         * m4/ullong_max.m4: Remove.
52978         * m4/xstrtoimax.m4: Remove.
52979         * m4/xstrtoumax.m4: Remove.
52980
52981         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
52982         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
52983         dependencies now capture this.
52984
52985         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
52986         Do not use AC_LIBSOURCES, since gnulib modules now do this.
52987         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
52988         * m4/human.m4 (gl_HUMAN): Likewise.
52989         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
52990         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
52991
52992         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
52993
52994         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
52995         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
52996         stdint.
52997         * m4/human.m4 (gl_HUMAN): Likewise.
52998         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
52999         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
53000         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
53001         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
53002         * m4/xstrtol (gl_XSTRTOL): Likewise.
53003
53004         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
53005         AC_TYPE_LONG_LONG_INT.
53006         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
53007         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
53008         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
53009         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
53010
53011         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
53012         on stdbool.
53013
53014         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
53015         (gl_PREREQ_XSTRTOUL): Remove.
53016
53017         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
53018
53019         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
53020         mode.
53021
53022 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
53023
53024         Add and change modules to make it easier for coreutils to use
53025         gnulib-tool.
53026         * modules/backupfile (Files): Remove m4/d-ino.m4.
53027         (Depends-on): Add d-ino.
53028         * modules/cycle-check (Depends-on): Add stdint.
53029         (lib_SOURCES): Add cycle-check.h.
53030         * modules/d-ino: New module.
53031         * modules/d-type: New module.
53032         * modules/error (Files): Remove m4/strerror_r.m4.
53033         * modules/filemode (Files): Add m4/st_dm_mode.m4.
53034         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
53035         m4/inttypes_h.m4, m4/uintmax_t.m4.
53036         (Depends-on): Add stdint.
53037         (lib_SOURCES): Add fsusage.h.
53038         * modules/getcwd (Files): Remove d-ino.m4.
53039         (Depends-on): Add d-ino.
53040         * modules/getndelim2 (Depends-on): Add stdint.
53041         * modules/glob (Files): Remove m4/d-type.m4.
53042         (Depends-on): Add d-type.
53043         * modules/host-os: New module.
53044         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
53045         m4/inttypes_h.m4, m4/uintmax_t.m4.
53046         * Depends-on: Add stdint.
53047         (lib_SOURCES): Add human.h.
53048         * modules/inttostr (Files): Remove m4/intmax_t.m4,
53049         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
53050         m4/uintmax_t.m4, m4/ulonglong.m4.
53051         (Depends-on): Add stdint.
53052         (EXTRA_DIST): Add inttostr.h.
53053         * modules/lchmod: New module.
53054         * modules/link-follow: New module.
53055         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
53056         (Depends-on): Add lchmod.
53057         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
53058         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
53059         (Depends-on): Add stdint.
53060         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
53061         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
53062         (Depends-on): Add stdint.
53063         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
53064         * modules/perl: New module.
53065         * modules/regex (Depends-on): Add stdint.
53066         * modules/rmdir-errno: New module.
53067         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
53068         m4/intmax_t.m4.
53069         (Depends-on): Add stdint.
53070         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
53071         m4/uintmax_t.m4.
53072         (Depends-on): Add stdint.
53073         * modules/unlink-busy: New module.
53074         * modules/utimecmp (Depends-on): Add stdint.
53075         * modules/uptime: New module.
53076         * modules/winsz-ioctl: New module.
53077         * modules/winsz-termios: New module.
53078         * modules/xnanosleep (Depends-on): Add nanosleep.
53079         * modules/ullong_max: Remove.
53080         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
53081         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
53082         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
53083         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
53084         (Depends-on): Add inttypes.
53085         (lib_SOURCES): Add xstrtol.h.
53086         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
53087         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
53088         * MODULES.html.sh: Move 'assert' into the assert section.
53089         Move 'dummy' into the linking section.
53090         Remove ullong_max.
53091         Add section for compatibility checks for POSIX:2001 functions,
53092         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
53093         winsz-ioctl, and winsz-termios into it.
53094         Add lchmod.
53095         Add top-level Misc section and put host-os, perl, and uptime
53096         into it.
53097
53098 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
53099
53100         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
53101         now assume the stdint module.  Do not include inttypes.h.
53102         * lib/fsusage.h: Likewise.
53103         * lib/getndelim2.c: Likewise.
53104         * lib/human.h: Likewise.
53105         * lib/inttostr.h: Likewise.
53106         * lib/obstack.c: Likewise.
53107         * lib/regex_internal.h: Likewise.
53108         * lib/tempname.c: Likewise.
53109         * lib/utimecmp.c: Likewise.
53110         * lib/xstrtol.h: Likewise.
53111
53112         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
53113
53114         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
53115         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
53116         * lib/xtime.h: Likewise.
53117
53118 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
53119
53120         * modules/openat (Files): Add lib/fchmodat.c.
53121         Fixes problem reported by Jay Youngman.
53122
53123 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
53124
53125         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
53126         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
53127
53128 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
53129             Bruno Haible  <bruno@clisp.org>
53130
53131         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
53132         and is a script that invokes bison. Tighten the code. Add comments.
53133
53134 2006-08-18  Jim Meyering  <jim@meyering.net>
53135
53136         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
53137         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
53138         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
53139         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
53140
53141 2006-08-18  Bruno Haible  <bruno@clisp.org>
53142
53143         * modules/bison-i18n: New file.
53144         * MODULES.html.sh (Internationalization functions): Add it.
53145
53146 2006-08-18  Bruno Haible  <bruno@clisp.org>
53147
53148         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
53149         sys/statvfs.h. When getmntinfo was found, check its declaration and
53150         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
53151
53152 2006-08-18  Bruno Haible  <bruno@clisp.org>
53153
53154         * m4/bison-i18n.m4: New file, from bison.
53155
53156 2006-08-18  Bruno Haible  <bruno@clisp.org>
53157
53158         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
53159         (ME_DUMMY): Treat "kernfs" as a dummy.
53160         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
53161
53162 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
53163
53164         Update from coreutils.
53165
53166         2006-08-15  Jim Meyering  <jim@meyering.net>
53167
53168         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
53169
53170         2006-01-17  Jim Meyering  <jim@meyering.net>
53171
53172         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
53173
53174         2006-01-11  Jim Meyering  <jim@meyering.net>
53175
53176         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
53177         Check for the lchmod function.
53178
53179 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
53180
53181         Update from coreutils.
53182
53183         * lib/__fpending.h: Add copyright notice.
53184         * lib/fprintftime.h: Likewise.
53185         * lib/savedir.c: Use (C) in copyright notice.
53186         * lib/savedir.h: Likewise.
53187
53188         2006-08-15  Jim Meyering  <jim@meyering.net>
53189
53190         * lib/at-func.c: New file, with the logic of all emulated at-functions.
53191         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
53192         in support of the EXPECTED_ERRNO macro.
53193         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
53194         definitions.  Instead, define the appropriate symbols and include
53195         "at-func.c".
53196         * lib/mkdirat.c (mkdirat): Likewise.
53197         * lib/fchmodat.c (fchmodat): Likewise.
53198         (ENOSYS): Remove definition.
53199         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
53200         it.  Don't include "unistd--.h" -- it wasn't ever used.
53201
53202         2006-01-17  Jim Meyering  <jim@meyering.net>
53203
53204         Rewrite fts.c not to change the current working directory,
53205         by using openat, fstatat, fdopendir, etc..
53206
53207         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
53208         (HAVE_OPENAT_SUPPORT): Define.
53209         [_LIBC] (fchdir): Don't undef or define; no longer used.
53210         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
53211         Now, this `function' always succeeds, and consumes its file descriptor
53212         parameter -- so callers must not close such FDs.  Update callers.
53213         (diropen_fd, opendirat, cwd_advance_fd): New functions.
53214         (diropen): Add parameter, SP.  Adjust all callers.
53215         Implement using diropen_fd, rather than open.
53216         (fts_open): Initialize new member, fts_cwd_fd.
53217         Remove fts_rft-setting code.
53218         (fts_close): Close fts_cwd_fd, if necessary.
53219         (__opendir2): Define in terms of opendir or opendirat,
53220         depending on whether the FST_NOCHDIR flag is set.
53221         (fts_build): Since fts_safe_changedir consumes its FD, and since
53222         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
53223         and close the dup'd file descriptor upon failure.
53224         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
53225         (fts_safe_changedir): Tweak semantics to reflect that this function
53226         now calls cwd_advance_fd and hence consumes its FD argument.
53227         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
53228         [struct FTS] (fts_rft): Remove now-unused member.
53229         [struct FTS] (fts_cycle.state): Improve comment.
53230
53231         * lib/openat.c (openat_needs_fchdir): New function.
53232         * lib/openat.h (openat_needs_fchdir): Declare it.
53233
53234 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
53235
53236         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
53237         Problem and fix reported by Pádraig Brady in
53238         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
53239
53240 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
53241
53242         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
53243
53244 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
53245
53246         * lib/memcoll.c (memcoll): Optimize for the common case where the
53247         arguments are bytewise equal.
53248
53249 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
53250
53251         * doc/regexprops-generic.texi: Add a copyright notice.
53252
53253 2006-08-15  Bruno Haible  <bruno@clisp.org>
53254
53255         * modules/tmpdir (License): Change to LGPL.
53256
53257 2006-08-15  Bruno Haible  <bruno@clisp.org>
53258
53259         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
53260         module.
53261
53262 2006-08-14  Simon Josefsson  <jas@extundo.com>
53263
53264         * config/srclist.txt: Add gnupload.
53265
53266 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
53267
53268         Change copyright notice from LGPL 2 to GPL 2, since that's the
53269         standard form used in the gnulib repository.
53270         * tests/test-lock.c: Likewise.
53271         * tests/test-stdint.c: Likewise.
53272         * tests/test-tls.c: Likewise.
53273
53274         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
53275         prelude-manager.  User shorter URLs for GNU projects, without '?'.
53276         Add copyright notice.
53277
53278         * check-module: Add copyright notice.  Output a copyright
53279         notice if "--version" is specified.
53280         * modules/COPYING: New file.
53281         * tests/test-getaddrinfo.c: Add copyright notice.
53282         * tests/test-verify.c: Likewise.
53283
53284 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
53285
53286         Change copyright notice from LGPL 2 to GPL 2, since that's the
53287         standard form used in the gnulib repository.
53288         * lib/lock.c: LGPL -> GPL.
53289         * lib/lock.h: Likewise.
53290         * lib/strnlen1.c: Likewise.
53291         * lib/strnlen1.h: Likewise.
53292         * lib/tls.c: Likewise.
53293         * lib/tls.h: Likewise.
53294         * lib/tmpdir.c: Likewise.
53295
53296         * lib/TODO: Remove; this belongs only in coreutils.
53297
53298 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
53299
53300         Add copyright notices to long-enough files that lack them, since
53301         otherwise the files aren't clearly free.  Use the same notice that
53302         getdate.texi already uses.
53303         * doc/alloca-opt.texi: Add copyright notice.
53304         * doc/alloca.texi: Likewise.
53305         * doc/ctime.texi: Likewise.
53306         * doc/functions.texi: Likewise.
53307         * doc/gcd.texi: Likewise.
53308         * doc/gnulib-tool.texi: Likewise.
53309         * doc/inet_ntoa.texi: Likewise.
53310         * doc/visibility.texi: Likewise.
53311
53312         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
53313         * doc/quote.texi: Add copyright notice.
53314
53315         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
53316         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
53317         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
53318         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
53319         is now obsolete, and give a pointer to the Sun list.
53320         Add copyright notice.
53321
53322 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
53323
53324         * config/srclistvars.sh: Add copyright notice.
53325
53326 2006-08-14  Eric Blake  <ebb9@byu.net>
53327
53328         Import the following change from libc:
53329
53330         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
53331
53332         Upstream bug 2997.
53333         * lib/misc/error.c: Add space between program name and message if file
53334         name is missing.
53335
53336 2006-08-12  Karl Berry  <karl@gnu.org>
53337
53338         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
53339         remove, these originate in gnulib now.
53340
53341 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53342
53343         * doc/Makefile (standards.info standards.html standards.dvi):
53344         Also depend on make-stds.texi.
53345
53346 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
53347
53348         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
53349         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
53350
53351         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
53352         in wchar_t.  Problem reported by Eric Blake.
53353
53354         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
53355         LEN is smaller than SIZE.  Suggested by Bruno Haible.
53356         Also, help the compiler to keep LEN in a register.
53357
53358 2006-08-11  Eric Blake  <ebb9@byu.net>
53359
53360         * users.txt: Sort.  Add tar.
53361
53362 2006-08-11  Bruno Haible  <bruno@clisp.org>
53363
53364         * users.txt: New file.
53365
53366 2006-08-11  Bruno Haible  <bruno@clisp.org>
53367
53368         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
53369         before <wchar.h>. Needed for OSF/1 and BSD/OS.
53370
53371 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
53372
53373         * modules/snprintf (Depends-on): Remove minmax.
53374         (Maintainer): Add self and Bruno.
53375
53376 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
53377
53378         * lib/.cppi-disable: Add snprintf.h, socket_.h.
53379         * lib/snprintf.c: Include <errno.h> and <limits.h>.
53380         (EOVERFLOW): Define if the system does not.
53381         Do not include "minmax.h"; it wasn't used.
53382         (snprintf): Don't assume size_t promotes to an unsigned type.
53383         Fix bug when generated string was too long for the buffer: the
53384         buffer's contents are supposed to be the initial prefix of the
53385         output.  Don't assume vasnprintf returns EOVERFLOW if the size
53386         exceeds INT_MAX; do the check ourselves.
53387
53388         Import the following changes from libc:
53389
53390         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
53391
53392         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
53393         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
53394         set wc to the byte which couldn't be converted.
53395         (re_string_reconstruct): Don't clear valid_raw_len before calling
53396         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
53397         tip_context using re_string_context_at.
53398
53399         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
53400
53401         * lib/posix/regex.h: g++ still cannot handled [restrict].
53402
53403         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
53404
53405         * lib/posix/regex.h: Remove special handling for VMS.
53406
53407 2006-08-10  Jim Meyering  <jim@meyering.net>
53408
53409         * modules/same-inode: New module.
53410         * modules/dev-ino: New module.
53411         * modules/cycle-check: Depend on these modules, rather than simply
53412         including their .h files.
53413         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
53414         required via m4/cycle-check.m4.
53415         * modules/same: Depend on new same-inode module, rather than
53416         including same-inode.h.
53417         * modules/chdir-safer: New file.
53418
53419         * modules/chown (Depends-on): Add stat-macros.
53420
53421 2006-08-10  Jim Meyering  <jim@meyering.net>
53422
53423         * m4/cycle-check.m4: New file.
53424         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
53425         * m4/dev-ino.m4, m4/same-inode.m4: New files.
53426
53427 2006-08-10  Eric Blake  <ebb9@byu.net>
53428
53429         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
53430         in from original proposal.
53431
53432 2006-08-10  Eric Blake  <ebb9@byu.net>
53433         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
53434
53435         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
53436         namespace.
53437
53438 2006-08-10  Bruno Haible  <bruno@clisp.org>
53439
53440         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
53441         as well.
53442
53443 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
53444
53445         Sync from coreutils.
53446
53447         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
53448
53449         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
53450         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
53451
53452 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
53453
53454         * modules/restrict: Remove; no longer needed now that we assume
53455         Autoconf 2.59 or later.
53456         * MODULES.html.sh: Remove 'restrict'.
53457         * modules/argp (Depends-on): Remove 'restrict'.
53458         * modules/base64 (Depends-on): Likewise.
53459         * modules/gc (Depends-on): Likewise.
53460         * modules/getaddrinfo (Depends-on): Likewise.
53461         * modules/glob (Depends-on): Likewise.
53462         * modules/inet_ntop (Depends-on): Likewise.
53463         * modules/inet_pton (Depends-on): Likewise.
53464         * modules/memxor (Depends-on): Likewise.
53465         * modules/regex (Depends-on): Likewise.
53466         * modules/strtok_r (Depends-on): Likewise.
53467         * modules/time_r (Depends-on): Likewise.
53468
53469 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
53470
53471         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
53472         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
53473         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
53474         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
53475         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
53476         * m4/memxor.m4 (gl_MEMXOR): Likewise.
53477         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
53478         gl_C_RESTRICT replaced by AC_C_RESTRICT.
53479
53480         Merge from coreutils.
53481         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
53482         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
53483         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
53484         * m4/time_r.m4 (gl_TIME_R): Likewise.
53485
53486 2006-08-09  Karl Berry  <karl@gnu.org>
53487
53488         * config/srclist.txt: no more gettext-tools, per Bruno.
53489
53490 2006-08-08  Eric Blake  <ebb9@byu.net>
53491
53492         * modules/verror: New module.
53493         * MODULES.html.sh: Document it.
53494
53495 2006-08-08  Eric Blake  <ebb9@byu.net>
53496
53497         * lib/verror.h, lib/verror.c: New files.
53498
53499 2006-08-08  Eric Blake  <ebb9@byu.net>
53500
53501         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
53502         verror_at_line output complies with GNU Coding Standards even when
53503         file is NULL.
53504
53505 2006-08-07  Bruno Haible  <bruno@clisp.org>
53506
53507         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
53508         versions of AIX.
53509         Reported by Ralf Wildenhues.
53510
53511 2006-08-07  Bruno Haible  <bruno@clisp.org>
53512
53513         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
53514         in an AC_DEFUN. Needed so that the autoconf snippets can use
53515         AC_REQUIRE.
53516
53517 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53518
53519         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53520         Initialize pkgdata_DATA.
53521         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
53522         overriding it.
53523
53524 2006-08-06  Eric Blake  <ebb9@byu.net>
53525
53526         * lib/error.h: Fold in some upstream changes from glibc.
53527         * lib/error.c: Likewise.
53528
53529 2006-08-04  Bruno Haible  <bruno@clisp.org>
53530
53531         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53532         Make the mostlyclean-local rule depend on mostlyclean-generic.
53533         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
53534
53535 2006-07-31  Bruno Haible  <bruno@clisp.org>
53536
53537         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
53538         <stdlib.h>, <string.h>.
53539
53540 2006-07-30  Bruno Haible  <bruno@clisp.org>
53541
53542         * modules/readlink (License): Change to LGPL.
53543
53544 2006-07-30  Bruno Haible  <bruno@clisp.org>
53545
53546         * modules/javaversion (Makefile.am): Distribute javaversion.java and
53547         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
53548         set PKGDATADIR to point to it.
53549
53550 2006-07-30  Bruno Haible  <bruno@clisp.org>
53551
53552         * modules/csharpexec (configure.ac): Comment out macro invocation.
53553         * modules/javaexec (configure.ac): Likewise.
53554         * modules/javacomp-script (configure.ac): Likewise.
53555
53556         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
53557
53558 2006-07-30  Bruno Haible  <bruno@clisp.org>
53559
53560         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
53561         linked-list.
53562
53563 2006-07-30  Bruno Haible  <bruno@clisp.org>
53564
53565         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
53566
53567 2006-07-30  Bruno Haible  <bruno@clisp.org>
53568
53569         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
53570         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
53571         get removed.
53572
53573 2006-07-29  Bruno Haible  <bruno@clisp.org>
53574
53575         Make it possible for gnulib-tool to work with locally modified or
53576         augmented gnulib repositories.
53577         * gnulib-tool (func_usage): Document --local-dir option.
53578         (local_gnulib_dir): New variable.
53579         Handle --local-dir option.
53580         (func_lookup_file): New function.
53581         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
53582         (func_get_description, func_get_filelist, func_get_description,
53583         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
53584         func_get_automake_snippet, func_get_include_directive,
53585         func_get_license, func_get_maintainer): Use func_lookup_file.
53586         (func_import, func_create_testdir): Use func_lookup_file.
53587
53588 2006-07-29  Bruno Haible  <bruno@clisp.org>
53589
53590         * modules/setenv (Depends-on): Add unistd.
53591
53592 2006-07-29  Bruno Haible  <bruno@clisp.org>
53593
53594         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
53595
53596 2006-07-29  Bruno Haible  <bruno@clisp.org>
53597
53598         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
53599
53600 2006-07-29  Bruno Haible  <bruno@clisp.org>
53601
53602         * gnulib-tool (import, update): If there is no Makefile.am, look at
53603         aclocal.m4, instead of bailing out.
53604
53605 2006-07-29  Bruno Haible  <bruno@clisp.org>
53606
53607         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
53608         Categorize the options by when they are useful.
53609
53610 2006-07-29  Bruno Haible  <bruno@clisp.org>
53611
53612         * gnulib-tool (func_usage): Document option --no-libtool.
53613         Handle option --no-libtool.
53614         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
53615         for changed semantics of $libtool variable.
53616         (func_import): Likewise. If libtool is not used, show this through
53617         an option --no-libtool.
53618         (func_create_testdir): Update.
53619
53620 2006-07-29  Bruno Haible  <bruno@clisp.org>
53621
53622         * gnulib-tool (func_import): Extend error message about missing
53623         --doc-base.
53624
53625 2006-07-29  Bruno Haible  <bruno@clisp.org>
53626
53627         * gnulib-tool (func_import): Don't create the $docbase directory if
53628         there is no file to store there.
53629
53630 2006-07-29  Bruno Haible  <bruno@clisp.org>
53631
53632         * gnulib-tool (autoconf_minversion): If a --dir option is given and
53633         relevant, look for configure.ac there, not in the current directory.
53634         Also use a simple search for AC_PREREQ, not "autoconf --trace".
53635
53636 2006-07-29  Bruno Haible  <bruno@clisp.org>
53637
53638         * gnulib-tool (SORT): New variable.
53639         (func_usage): Undocument --assume-autoconf option.
53640         Remove --assume-autoconf option handling.
53641         (autoconf_minversion): Determine from the contents of configure.ac.
53642         (func_import): Remove autoconf_minversion handling.
53643         Suggested by Eric Blake.
53644
53645 2006-07-29  Bruno Haible  <bruno@clisp.org>
53646
53647         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
53648
53649 2006-07-29  Bruno Haible  <bruno@clisp.org>
53650
53651         * config/srclist.txt (*setenv.[ch]): Remove rules.
53652
53653 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53654
53655         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
53656
53657 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53658
53659         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
53660         arpa/inet.h.
53661
53662 2006-07-28  Simon Josefsson  <jas@extundo.com>
53663
53664         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
53665         * modules/inet_pton (Depends-on): Likewise.
53666
53667 2006-07-28  Simon Josefsson  <jas@extundo.com>
53668
53669         * m4/netinet_in_h.m4: New file.
53670
53671 2006-07-28  Simon Josefsson  <jas@extundo.com>
53672
53673         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
53674         #include's.
53675
53676 2006-07-28  Simon Josefsson  <jas@extundo.com>
53677
53678         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
53679         #include's.
53680
53681 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
53682
53683         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
53684         setgid on directories only if they set these bits.
53685         * lib/modechange.h: Remove obsolete comment about masks.
53686
53687 2006-07-28  Eric Blake  <ebb9@byu.net>
53688
53689         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
53690         macro expansion.
53691
53692 2006-07-28  Bruno Haible  <bruno@clisp.org>
53693
53694         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
53695
53696 2006-07-28  Bruno Haible  <bruno@clisp.org>
53697
53698         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
53699
53700 2006-07-28  Bruno Haible  <bruno@clisp.org>
53701
53702         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
53703         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
53704         Define fallbacks.
53705         Avoids link error on FreeBSD 4.x.
53706         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
53707
53708         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
53709         encoding.
53710         * lib/mbswidth.c (iswcntrl): Likewise.
53711
53712 2006-07-27  Bruno Haible  <bruno@clisp.org>
53713
53714         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
53715         test.
53716
53717 2006-07-27  Bruno Haible  <bruno@clisp.org>
53718
53719         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
53720         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
53721         defined.
53722
53723 2006-07-26  Eric Blake  <ebb9@byu.net>
53724
53725         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
53726
53727 2006-07-26  Eric Blake  <ebb9@byu.net>
53728
53729         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
53730         like mingw that lack mkstemp.
53731         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
53732         avoid compilation warning on mingw.
53733
53734 2006-07-26  Bruno Haible  <bruno@clisp.org>
53735
53736         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
53737         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
53738         INT_FAST*_MIN, INTPTR_MIN.
53739
53740 2006-07-25  Bruno Haible  <bruno@clisp.org>
53741
53742         * modules/version-etc (Depends-on): Add stdarg.
53743
53744 2006-07-25  Bruno Haible  <bruno@clisp.org>
53745
53746         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
53747         complex commands.
53748
53749 2006-07-25  Bruno Haible  <bruno@clisp.org>
53750
53751         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
53752         defined in <stdarg.h> or config.h.
53753
53754 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
53755
53756         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
53757         (gl_STDIO_SAFER): Remove.
53758
53759 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
53760
53761         * MODULES.html.sh (File stream based Input/Output):
53762         Add fopen-safer, tmpfile-safer; remove stdio-safer.
53763         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
53764         * modules/fopen-safer, modules/tmpfile-safer: New files.
53765         * modules/stdio-safer: Remove.
53766
53767 2006-07-24  Bruno Haible  <bruno@clisp.org>
53768
53769         * modules/tmpdir: New file.
53770         * MODULES.html.sh (File system functions): Add it.
53771
53772 2006-07-24  Bruno Haible  <bruno@clisp.org>
53773
53774         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
53775         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
53776
53777 2006-07-24  Bruno Haible  <bruno@clisp.org>
53778
53779         * modules/clean-temp: New file.
53780
53781 2006-07-24  Bruno Haible  <bruno@clisp.org>
53782
53783         * m4/tmpdir.m4: New file, from GNU gettext.
53784
53785 2006-07-24  Bruno Haible  <bruno@clisp.org>
53786
53787         * lib/tmpdir.h: New file, from GNU gettext.
53788         * lib/tmpdir.c: New file, from GNU gettext.
53789
53790 2006-07-24  Bruno Haible  <bruno@clisp.org>
53791
53792         * lib/clean-temp.h: New file, from GNU gettext.
53793         * lib/clean-temp.c: New file, from GNU gettext.
53794
53795 2006-07-23  Eric Blake  <ebb9@byu.net>
53796
53797         * modules/stdio-safer (Files): Add tmpfile-safer.c.
53798         (Depends-on): Add binary-io.
53799
53800 2006-07-23  Eric Blake  <ebb9@byu.net>
53801
53802         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
53803
53804 2006-07-23  Eric Blake  <ebb9@byu.net>
53805
53806         * lib/tmpfile-safer.c: New file.
53807         * lib/stdio-safer.h (fopen_safer): Add prototype.
53808         * lib/stdio--.h (tmpfile): Make safer.
53809
53810 2006-07-23  Bruno Haible  <bruno@clisp.org>
53811
53812         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
53813         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
53814         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
53815         gl_linked_remove_at): Use it.
53816
53817 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
53818         and Simon Josefsson <jas@extundo.com>
53819
53820         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
53821
53822         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
53823
53824 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
53825
53826         * modules/close-stream: New file.
53827         * modules/closeout (Description): Make it clear that it exits
53828         with a diagnostic on error.
53829         (Depends-on): Add close-stream.  Remove fpending, stdbool.
53830         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
53831
53832 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
53833
53834         * m4/close-stream.m4: New file.
53835
53836 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
53837
53838         * lib/close-stream.c, lib/close-stream.h: New files.
53839
53840 2006-07-22  Bruno Haible  <bruno@clisp.org>
53841
53842         Merge from GNU gettext 0.15.
53843
53844         2006-05-01  Bruno Haible  <bruno@clisp.org>
53845
53846                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
53847
53848         2006-07-22  Bruno Haible  <bruno@clisp.org>
53849
53850                 * modules/javaversion: New file.
53851                 * MODULES.html.sh (Java): Add javaversion.
53852
53853         2006-03-12  Bruno Haible  <bruno@clisp.org>
53854
53855                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
53856
53857         2005-12-04  Bruno Haible  <bruno@clisp.org>
53858
53859                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
53860                 (untested).
53861
53862         2006-06-21  Bruno Haible  <bruno@clisp.org>
53863
53864                 Avoid warnings from recent versions of mcs.
53865                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
53866                 -o, -L, -r any more. Use options documented since mcs-1.0
53867                 instead. Similarly for -g.
53868
53869         2005-12-04  Bruno Haible  <bruno@clisp.org>
53870
53871                 * build-aux/csharpcomp.sh.in: Suffix for resources is
53872                 .resources, not .resource.
53873
53874         2005-07-09  Bruno Haible  <bruno@clisp.org>
53875
53876                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
53877                 add a .dll suffix.
53878                 Reported by Mark Junker <mjscod@gmx.de>.
53879
53880         2006-07-22  Bruno Haible  <bruno@clisp.org>
53881
53882                 * modules/gettext: Upgrade to gettext-0.15.
53883                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
53884                 m4/visibility.m4.
53885                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
53886
53887 2006-07-22  Bruno Haible  <bruno@clisp.org>
53888
53889         Merge from GNU gettext 0.15.
53890
53891         2006-03-25  Bruno Haible  <bruno@clisp.org>
53892
53893                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
53894
53895         2006-07-21  Bruno Haible  <bruno@clisp.org>
53896
53897                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
53898                 "1.1".
53899
53900         2006-05-09  Bruno Haible  <bruno@clisp.org>
53901
53902                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
53903                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
53904                 for the conftestver execution.
53905
53906         2006-05-01  Bruno Haible  <bruno@clisp.org>
53907
53908                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
53909                 optional target-version argument. Verify that the compiler
53910                 groks source of the specified source-version, or add -source
53911                 option as necessary. Verify that the compiler produces
53912                 bytecode in the specified target-version, or add -target and
53913                 -source options as necessary. Make the result of the test
53914                 available as variable CONF_JAVAC. Also log error output in
53915                 config.log.
53916
53917         2006-03-11  Bruno Haible  <bruno@clisp.org>
53918
53919                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
53920
53921         2006-05-09  Bruno Haible  <bruno@clisp.org>
53922
53923                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
53924                 CLASSPATH_SEPARATOR to a semicolon.
53925
53926         2006-03-12  Bruno Haible  <bruno@clisp.org>
53927
53928                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
53929                 available as variable CONF_JAVA, for subsequent autoconf
53930                 tests. Also log error output in config.log.
53931
53932         2006-07-19  Bruno Haible  <bruno@clisp.org>
53933
53934                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
53935                 that getline works on glibc2 systems. Needed to avoid trouble
53936                 in relocatable.c.
53937                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
53938
53939         2005-12-04  Bruno Haible  <bruno@clisp.org>
53940
53941                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
53942                 launcher (untested).
53943
53944         2005-12-04  Bruno Haible  <bruno@clisp.org>
53945
53946                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
53947
53948         2006-07-22  Bruno Haible  <bruno@clisp.org>
53949
53950                 * gettext.m4: Update from GNU gettext-0.15.
53951                 * nls.m4: Likewise.
53952                 * po.m4: Likewise.
53953                 * inttypes-pri.m4: Likewise.
53954                 * inttypes-h.m4: Renamed from inttypes.m4.
53955                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
53956
53957 2006-07-22  Bruno Haible  <bruno@clisp.org>
53958
53959         Merge from GNU gettext 0.15.
53960
53961         2005-07-05  Bruno Haible  <bruno@clisp.org>
53962
53963                 * printf-args.c (printf_fetchargs): Work around broken
53964                 definition of wint_t on mingw.
53965
53966         2005-02-12  Bruno Haible  <bruno@clisp.org>
53967
53968                 * xallocsa.h: Add extern "C" for C++.
53969
53970         2006-05-17  Bruno Haible  <bruno@clisp.org>
53971
53972                 Cygwin portability.
53973                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
53974
53975         2006-04-30  Bruno Haible  <bruno@clisp.org>
53976
53977                 * progreloc.c: Include <mach-o/dyld.h> if available.
53978                 (find_executable): Use _NSGetExecutablePath when possible.
53979
53980         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
53981
53982                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
53983                 function.
53984
53985         2005-12-29  Bruno Haible  <bruno@clisp.org>
53986
53987                 * progreloc.c (set_program_name_and_installdir): Fix
53988                 compilation error.
53989
53990         2005-12-04  Bruno Haible  <bruno@clisp.org>
53991
53992                 Cygwin portability.
53993                 * progreloc.c: Include <windows.h> also on Cygwin.
53994                 (find_executable): Add support for Cygwin.
53995                 (set_program_name_and_installdir): Handle also platforms with
53996                 nonempty EXEEXT.
53997
53998         2006-07-11  Bruno Haible  <bruno@clisp.org>
53999
54000                 * javacomp.c: Fix a comment.
54001                 Reported by Jim Meyering.
54002
54003         2006-04-30  Bruno Haible  <bruno@clisp.org>
54004
54005                 * javacomp.h (compile_java_class): Add source_version,
54006                 target_version arguments.
54007                 * javacomp.c: Rewritten to choose only a compiler that
54008                 respects the specified source_version and target_version.
54009
54010         2006-06-27  Bruno Haible  <bruno@clisp.org>
54011
54012                 Assume correct S_ISDIR macro.
54013                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
54014
54015         2006-07-22  Bruno Haible  <bruno@clisp.org>
54016
54017                 * javaversion.h: New file, from GNU gettext.
54018                 * javaversion.c: New file, from GNU gettext.
54019                 * javaversion.java: New file, from GNU gettext.
54020                 * javaversion.class: New file, from GNU gettext.
54021
54022         2006-05-17  Bruno Haible  <bruno@clisp.org>
54023
54024                 Cygwin portability.
54025                 * javaexec.c (execute_java_class): Test for jview program
54026                 also on Cygwin.
54027
54028         2006-04-09  Bruno Haible  <bruno@clisp.org>
54029
54030                 * fatal-signal.c: Don't include string.h.
54031                 (at_fatal_signal): Use a copying loop instead of memcpy.
54032
54033         2005-12-04  Bruno Haible  <bruno@clisp.org>
54034
54035                 * csharpexec.c: Add support for 'clix' launcher (untested).
54036                 (execute_csharp_using_sscli): New function.
54037                 (execute_csharp_program): Call it.
54038
54039         2006-06-21  Bruno Haible  <bruno@clisp.org>
54040
54041                 Avoid warnings from recent versions of mcs.
54042                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
54043                 -o, -L, -r any more. Use options documented since mcs-1.0
54044                 instead. Similarly for -g.
54045
54046         2005-07-09  Bruno Haible  <bruno@clisp.org>
54047
54048                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
54049                 add a .dll suffix.
54050                 Reported by Mark Junker <mjscod@gmx.de>.
54051
54052         2006-06-17  Bruno Haible  <bruno@clisp.org>
54053
54054                 * config.charset: Update for NetBSD 3.0.
54055
54056         2006-05-17  Bruno Haible  <bruno@clisp.org>
54057
54058                 Cygwin portability.
54059                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
54060
54061         2006-05-16  Bruno Haible  <bruno@clisp.org>
54062
54063                 * localcharset.c [CYGWIN]: Include <windows.h>.
54064                 (get_charset_aliases): For Cygwin, return the same CPxxx
54065                 aliases list as under WIN32.
54066                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
54067                 the environment variables. Fall back to GetACP().
54068
54069         2006-04-05  Bruno Haible  <bruno@clisp.org>
54070
54071                 * config.charset: Update Juan Manuel Guerrero's address.
54072
54073         2005-02-12  Bruno Haible  <bruno@clisp.org>
54074
54075                 * allocsa.h: Add extern "C" for C++.
54076
54077         2005-02-10  Bruno Haible  <bruno@clisp.org>
54078
54079                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
54080                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
54081
54082         2006-07-22  Bruno Haible  <bruno@clisp.org>
54083
54084                 * gettext.h: Update to GNU gettext-0.15.
54085
54086 2006-07-22  Bruno Haible  <bruno@clisp.org>
54087
54088         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
54089         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
54090         lib-prefix.m4, longdouble.m4, ssize_t.m4.
54091
54092 2006-07-21  Eric Blake  <ebb9@byu.net>
54093
54094         * modules/stdlib-safer: New file.
54095         * MODULES.html.sh (File stream based Input/Output): Add
54096         stdlib-safer.
54097
54098 2006-07-21  Eric Blake  <ebb9@byu.net>
54099
54100         * lib/stdlib-safer.h: New file from coreutils, required by
54101         stdlib--.h.
54102
54103 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
54104
54105         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
54106
54107 2006-07-20  Bruno Haible  <bruno@clisp.org>
54108
54109         * gnulib-tool: Recognize new option --assume-autoconf.
54110         (autoconf_minversion): New variable.
54111         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
54112
54113 2006-07-20  Bruno Haible  <bruno@clisp.org>
54114
54115         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
54116
54117 2006-07-19  Derek R. Price  <derek@ximbiot.com>
54118
54119         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
54120         Reindent and repaginate.
54121
54122 2006-07-19  Derek Price  <derek@ximbiot.com>
54123
54124         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
54125         Correct grammar.
54126
54127 2006-07-17  Bruno Haible  <bruno@clisp.org>
54128
54129         * modules/list: New file.
54130         * modules/array-list: New file.
54131         * modules/carray-list, modules/carray-list-tests: New files.
54132         * modules/linked-list, modules/linked-list-tests: New files.
54133         * modules/avltree-list, modules/avltree-list-tests: New files.
54134         * modules/rbtree-list, modules/rbtree-list-tests: New files.
54135         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
54136         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
54137         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
54138         * modules/oset: New file.
54139         * modules/array-oset: New file.
54140         * modules/avltree-oset, modules/avltree-oset-tests: New files.
54141         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
54142         * tests/test-carray_list.c: New file.
54143         * tests/test-linked_list.c: New file.
54144         * tests/test-avltree_list.c: New file.
54145         * tests/test-rbtree_list.c: New file.
54146         * tests/test-linkedhash_list.c: New file.
54147         * tests/test-avltreehash_list.c: New file.
54148         * tests/test-rbtreehash_list.c: New file.
54149         * tests/test-avltree_oset.c: New file.
54150         * tests/test-rbtree_oset.c: New file.
54151         * MODULES.html.sh (Container data structures): New section.
54152
54153 2006-07-17  Bruno Haible  <bruno@clisp.org>
54154
54155         * m4/gl_list.m4: New file.
54156
54157 2006-07-17  Bruno Haible  <bruno@clisp.org>
54158
54159         * lib/gl_list.h: New file.
54160         * lib/gl_list.c: New file.
54161         * lib/gl_array_list.h: New file.
54162         * lib/gl_array_list.c: New file.
54163         * lib/gl_carray_list.h: New file.
54164         * lib/gl_carray_list.c: New file.
54165         * lib/gl_linked_list.h: New file.
54166         * lib/gl_linked_list.c: New file.
54167         * lib/gl_anylinked_list1.h: New file.
54168         * lib/gl_anylinked_list2.h: New file.
54169         * lib/gl_avltree_list.h: New file.
54170         * lib/gl_avltree_list.c: New file.
54171         * lib/gl_anyavltree_list1.h: New file.
54172         * lib/gl_anyavltree_list2.h: New file.
54173         * lib/gl_rbtree_list.h: New file.
54174         * lib/gl_rbtree_list.c: New file.
54175         * lib/gl_anyrbtree_list1.h: New file.
54176         * lib/gl_anyrbtree_list2.h: New file.
54177         * lib/gl_anytree_list1.h: New file.
54178         * lib/gl_anytree_list2.h: New file.
54179         * lib/gl_linkedhash_list.h: New file.
54180         * lib/gl_linkedhash_list.c: New file.
54181         * lib/gl_anyhash_list1.h: New file.
54182         * lib/gl_anyhash_list2.h: New file.
54183         * lib/gl_avltreehash_list.h: New file.
54184         * lib/gl_avltreehash_list.c: New file.
54185         * lib/gl_rbtreehash_list.h: New file.
54186         * lib/gl_rbtreehash_list.c: New file.
54187         * lib/gl_anytreehash_list1.h: New file.
54188         * lib/gl_anytreehash_list2.h: New file.
54189
54190         * lib/gl_oset.h: New file.
54191         * lib/gl_oset.c: New file.
54192         * lib/gl_array_oset.h: New file.
54193         * lib/gl_array_oset.c: New file.
54194         * lib/gl_avltree_oset.h: New file.
54195         * lib/gl_avltree_oset.c: New file.
54196         * lib/gl_rbtree_oset.h: New file.
54197         * lib/gl_rbtree_oset.c: New file.
54198         * lib/gl_anytree_oset.h: New file.
54199
54200 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
54201
54202         * m4/mkancesdirs.m4: New file.
54203         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
54204         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
54205         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
54206         it.
54207
54208 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
54209
54210         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
54211         * lib/mkancesdirs.h: New files.
54212         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
54213         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
54214         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
54215         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
54216         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
54217         callers changed.  Revamp internals significantly, by not
54218         attempting to create directories that are temporarily more
54219         permissive than the final results.  Do not attempt to use
54220         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
54221         This removes some race conditions, fixes some bugs, and simplifies
54222         things.  Use new dirchownmod function to do owner and mode changes.
54223         * lib/mkdir-p.h: Likewise.
54224         * lib/modechange.c (octal_to_mode): New function.
54225         (struct mode_change): New member mentioned.
54226         (make_node_op_equals): New arg mentioned.  All callers changed.
54227         (mode_compile): Keep track of which mode bits the user has explicitly
54228         mentioned.
54229         (mode_adjust): New arg DIR, so that we implement the X op correctly.
54230         New arg PMODE_BITS, to keep track of which mode bits the user
54231         mentioned; it treats S_ISUID and S_ISGID speciall.
54232         All callers changed.
54233         * lib/modechange.h: Likewise.
54234
54235 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
54236
54237         * MODULES.html.sh: Add mkancestors.
54238         * modules/mkancesdirs: New module.
54239         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
54240         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
54241         The chdir-safer and afs files are now orphans; I'll remove them
54242         unless someone speaks up.
54243         Add lib/dirchownmod.c, lib/dirchownmod.h.
54244         (Depends-on): Remove alloca, chown, save-cwd, dirname.
54245         Add lchown, mkancesdirs.
54246         (Maintainer): Add self.
54247
54248 2006-07-15  Karl Berry  <karl@gnu.org>
54249
54250         * gnulib-tool: help message wording/arrangement.
54251
54252 2006-07-14  Simon Josefsson  <jas@extundo.com>
54253
54254         * doc/gnulib.texi (Libtool and Windows): New section.
54255
54256 2006-07-12  Simon Josefsson  <jas@extundo.com>
54257
54258         * modules/gendocs (License): Fix license, approved by Karl.
54259
54260 2006-07-12  Eric Blake  <ebb9@byu.net>
54261
54262         * MODULES.html.sh: Add gendocs.
54263
54264 2006-07-11  Eric Blake  <ebb9@byu.net>
54265
54266         * modules/fdl: New module, to install doc/fdl.texi.
54267         * MODULES.html.sh: Add new section for documentation modules.
54268         * gnulib-tool: Avoid space-tab.
54269         (--doc-base): New option, to manage files from doc.
54270
54271 2006-07-11  Eric Blake  <ebb9@byu.net>
54272
54273         * m4/absolute-header.m4: Fix comments to match recent change.
54274
54275 2006-07-11  Eric Blake  <ebb9@byu.net>
54276
54277         * gnulib-tool: List --doc-base before --tests-base.
54278
54279 2006-07-11  Derek R. Price  <derek@ximbiot.com>
54280
54281         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
54282
54283 2006-07-11  Bruno Haible  <bruno@clisp.org>
54284
54285         * README: Mention where to put documentation.
54286
54287 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54288
54289         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
54290
54291 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
54292
54293         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
54294         to stdint.m4.
54295
54296 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
54297
54298         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
54299         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
54300         "no/such/file/stdint.h" when there is no such file, so that
54301         the resulting C code can be parsed by dodgy compilers.
54302         Problems reported by Bob Proulx.
54303
54304 2006-07-10  Derek R. Price  <derek@ximbiot.com>
54305
54306         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
54307         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
54308         macros into the GNU _D_EXACT_NAMLEN.
54309         * lib/savedir.c:  Likewise.
54310         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
54311
54312 2006-07-10  Derek R. Price  <derek@ximbiot.com>
54313         and Paul Eggert  <eggert@cs.ucla.edu>
54314
54315         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
54316         * m4/savedir.m4:
54317         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
54318         macros into the GNU _D_EXACT_NAMLEN.
54319
54320 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
54321
54322         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
54323         around the absolute name, to work around a problem with the HP-UX
54324         11.23 native C compiler, reported by Bob Proulx.
54325
54326 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
54327
54328         * doc/maintain.texi, make-stds.texi: Sync from
54329         <http://savannah.gnu.org/projects/gnustandards>.
54330
54331 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
54332
54333         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
54334
54335 2006-07-09  Jim Meyering  <jim@meyering.net>
54336
54337         * m4/glob.m4: Remove a doubled word in a comment.
54338
54339 2006-07-09  Jim Meyering  <jim@meyering.net>
54340
54341         * lib/argp-pv.c: Remove a doubled word in a comment.
54342         * lib/check-version.c (check_version): Likewise.
54343         * lib/javacomp.c (compile_java_class): Likewise.
54344
54345 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
54346
54347         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
54348         for the benefit of people using Autoconf 2.60.  If you want to
54349         support older Autoconf versions you can copy m4/onceonly_2_57.m4
54350         (or m4/onceonly.m4, if pre-2.57) manually.
54351
54352 2006-07-08  Jim Meyering  <jim@meyering.net>
54353
54354         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
54355         comment.
54356         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
54357         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
54358         comment.
54359
54360 2006-07-08  Jim Meyering  <jim@meyering.net>
54361
54362         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
54363
54364 2006-07-07  Simon Josefsson  <jas@extundo.com>
54365
54366         * tests/test-crc.c: Change expected crc value, the test vector
54367         were probably computed using the old broken crc.c?
54368
54369 2006-07-06  Simon Josefsson  <jas@extundo.com>
54370
54371         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
54372         now the canonical place for the M4 file).
54373
54374         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
54375         from the sys_socket dependency now.
54376
54377         * modules/inet_pton (Files): Ditto.
54378
54379         * modules/inet_ntop (Files): Ditto.
54380
54381 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
54382
54383         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
54384         not gl_PREREQ_GETUSERSHELL.
54385
54386 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54387
54388         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
54389         with only one argument, for Autoconf 2.60.
54390         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
54391         expand to nothing, so add a shell command to avoid syntax error.
54392         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
54393
54394 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54395
54396         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
54397
54398 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
54399
54400         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
54401         no longer needed.  Check for isblank decl.
54402         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
54403         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
54404         of existence.
54405
54406 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
54407
54408         * lib/getloadavg.c: Use __VMS, not VMS.
54409         * lib/getopt.c: Likewise.
54410         * lib/getpagesize.h: Likewise.
54411         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
54412         and probably does not work.
54413
54414 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
54415
54416         * lib/.cppi-disable: Add wcwidth.
54417         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
54418         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
54419         (ISGRAPH): Remove.  All uses changed to isgraph.
54420         (FOLD) [!defined _LIBC]: Remove special case.
54421         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
54422         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
54423         HAVE_ISBLANK.
54424         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
54425         case.
54426
54427 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
54428
54429         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
54430         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
54431         brackets.  Other minor changes to suppress some compiler
54432         warnings.
54433
54434 2006-07-06  Derek R. Price  <derek@ximbiot.com>
54435         and Paul Eggert  <eggert@cs.ucla.edu>
54436
54437         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
54438         of invoking obsolescent AC_HEADER_DIRENT macro.
54439         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
54440         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
54441         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
54442         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
54443         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
54444         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
54445         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
54446         * m4/readdir.m4: Remove; no longer needed.
54447
54448 2006-07-06  Derek R. Price  <derek@ximbiot.com>
54449         and Paul Eggert  <eggert@cs.ucla.edu>
54450
54451         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
54452         Don't worry about this obsolete case any more.
54453         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
54454         directories.
54455         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
54456         worry about this obsolete case any more.
54457         * lib/fts.c: Likewise.
54458         * lib/getcwd.c: Likewise.
54459         * lib/glob.h: Likewise.
54460         * lib/savedir.c: Likewise.
54461
54462 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
54463
54464         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
54465         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
54466         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
54467         needed.
54468         All uses removed.
54469         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
54470         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
54471         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
54472         needed.
54473         * m4/getdate.m4 (gl_GETDATE): Likewise.
54474         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
54475         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
54476         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
54477         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
54478         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
54479         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
54480         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
54481         needed.
54482
54483 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
54484
54485         * lib/memcasecmp.c: Include <limits.h>.
54486         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
54487         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
54488         Don't assume isdigit succeeds only on '0' through '9'.
54489
54490 2006-07-05  Eric Blake  <ebb9@byu.net>
54491
54492         * modules/getaddrinfo (Depends-on): Add snprintf.
54493
54494 2006-07-05  Eric Blake  <ebb9@byu.net>
54495
54496         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
54497         to avoid 'header present but could not be compiled' on cygwin.
54498
54499 2006-07-05  Eric Blake  <ebb9@byu.net>
54500
54501         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
54502         missing from netdb.h.
54503         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
54504
54505 2006-07-05  Derek R. Price  <derek@ximbiot.com>
54506
54507         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
54508         no longer needed.
54509         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
54510         * m4/getdate.m4 (gl_GETDATE): Likewise.
54511         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
54512         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
54513         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
54514         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
54515         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
54516
54517 2006-07-05  Derek R. Price  <derek@ximbiot.com>
54518
54519         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
54520         All uses of is_space replaced by isspace.
54521         * lib/exit.h: Don't talk about STDC_HEADERS.
54522         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
54523         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
54524         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
54525         replaced by isprint etc.
54526         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
54527         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
54528         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
54529         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
54530         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
54531         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
54532
54533 2006-07-05  Bruno Haible  <bruno@clisp.org>
54534
54535         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
54536         the function exists, before testing against AIX.
54537         Reported by Martin Lambers <marlam@marlam.de>.
54538
54539 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
54540
54541         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
54542         From Mark D. Baushke.
54543
54544 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
54545
54546         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
54547         to the absolute name, not just one, to bypass Sun C 5.8's
54548         "warning: #include of /usr/include/... may be non-portable".
54549
54550 2006-07-04  Eric Blake  <ebb9@byu.net>
54551
54552         * modules/dirname-tests: New test module.
54553         * tests/test-dirname.c: New file, replacing dirname.c
54554         TEST_DIRNAME section that was recently deleted.
54555
54556 2006-07-04  Bruno Haible  <bruno@clisp.org>
54557
54558         Assume ANSI C header files and <ctype.h> functions.
54559         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
54560         (mbsnwidth): Use isprint, iscntrl instead.
54561
54562 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
54563
54564         Merge from coreutils.
54565         * MODULES.html.sh: Add xstrtold.
54566         * modules/xstrtold: New file.
54567         * modules/cycle-check (Files): Add lib/same-inode.h.
54568         * modules/dirname (Files): Add m4/double-slash-root.m4.
54569         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
54570         * modules/mkdir-p (Files): Add lib/same-inode.h.
54571         * modules/same (Files): Add lib/same-inode.h.
54572
54573 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
54574
54575         * m4/absolute-header.m4: Renamed from full-header-path.m4.
54576         This is to keep the terminology clean; POSIX talks about
54577         "absolute pathnames", not "full pathnames", but the GNU
54578         Coding Standards say to use "path" for something else;
54579         so use "absolute" to keep both sides happy.
54580         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
54581         Set gl_absolute_header, not gl_full_header_path.
54582         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
54583         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
54584         All uses changed.
54585
54586         Merge from coreutils.
54587
54588         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
54589
54590         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
54591         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
54592         want to require the building of c-strtod.o.
54593         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
54594         needs -lm directly.
54595         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
54596
54597         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
54598
54599         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
54600         --as-needed option if available.  Problem reported by Albert Chin in
54601         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
54602         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
54603         cc merely issues a bunch of annoying warnings for --as-needed
54604         (this problem was reported by Bob Proulx).  Also, try linking with
54605         -lm to detect a bug in binutils 2.16 (this problem was reported
54606         by Ralf Wildenhues).
54607
54608         2006-06-18  Jim Meyering  <jim@meyering.net>
54609
54610         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
54611         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
54612         macro.
54613         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
54614         also check for glibc-2.4's abort-inducing bug.
54615
54616         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
54617         Low-probability clean-up should be to use rmdir to get rid of
54618         the just-created directory, not unlink.
54619
54620         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
54621         configure fail, and request a bug report to inform us about it.
54622         Add a comment that, barring reports to the contrary, in 2007 we'll
54623         assume ftruncate is universally available.
54624
54625         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
54626
54627         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
54628
54629         2006-03-12  Jim Meyering  <jim@meyering.net>
54630
54631         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
54632         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
54633         * m4/same.m4 (gl_SAME): Likewise.
54634         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
54635
54636         2006-03-11  Eric Blake  <ebb9@byu.net>
54637
54638         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
54639         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
54640         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
54641         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
54642
54643 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
54644
54645         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
54646         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
54647         reported by Mark D. Baushke, one in
54648         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
54649
54650         Merge from coreutils.
54651
54652         * lib/.cppi-disable: Add stdint_.h.
54653         * lib/.cvsignore: Add stdint.h.
54654
54655         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
54656
54657         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
54658         both double and long double versions.
54659         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
54660         * lib/xstrtold.c: New file.
54661         * lib/xstrtod.h (xstrtold): New decl.
54662
54663         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
54664
54665         * lib/filemode.c (setst): Remove.
54666         (strmode): Rewrite to avoid setst.  This makes the code shorter,
54667         (arguably) clearer, and the generated code is a bit smaller on my
54668         Debian GNU/Linux stable x86 host.
54669
54670         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
54671
54672         * lib/filemode.c: Include "filemode.h" first, to test the interface.
54673         Assume that filemode.h includes sys/types.h and sys/stat.h.
54674         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
54675         (ftypelet): Reorder to put common cases first, for efficiency.
54676         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
54677         to do 'M'.
54678         (strmode): Renamed from mode_string, and now stores 12 bytes instead
54679         of 10, for compatibility with FreeBSD.  All callers changed.
54680         (filemodestring): Now stores 12 bytes instead of 10, and sets file
54681         types that can't be deduced solely from st_mode.  First arg is now a
54682         const pointer.
54683         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
54684         (strmode): Renamed from mode_string.
54685         (filemodestring): New decl.
54686         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
54687         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
54688         needed.
54689         (S_ISPORT, S_ISWHT): New macros, if not already defined.
54690
54691         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
54692
54693         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
54694         fsusage.h now does that.  Include fsusage.h first, to test interface.
54695         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
54696         at most one method (the old code could have generated decls that
54697         didn't conform to C89, not that this was ever exercised).
54698         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
54699
54700         2006-03-19  Jim Meyering  <jim@meyering.net>
54701
54702         Work even in a chroot where d_ino values for entries in "/"
54703         don't match the stat.st_ino values for the same names.
54704         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
54705         number, iterate through all entries again, using lstat instead.
54706         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
54707         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
54708
54709         * lib/getcwd.c (__getcwd): Clarify a comment.
54710         Use memcpy in place of a call to strcpy.
54711
54712         2006-03-12  Jim Meyering  <jim@meyering.net>
54713
54714         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
54715         matches that of the current directory (which we're about to chdir ".."
54716         out of), then save the dev-ino of the parent, instead.
54717
54718         * lib/same-inode.h (SAME_INODE): New file/macro.
54719         * lib/chdir-safer.c (SAME_INODE): Remove definition.
54720         Include "same-inode.h", instead.
54721         * lib/same.c: Likewise.
54722         * lib/cycle-check.h: Include "same-inode.h".
54723         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
54724         * lib/cycle-check.c (SAME_INODE): Remove definition.
54725         * lib/root-dev-ino.h: Include "same-inode.h".
54726
54727         2006-03-11  Eric Blake  <ebb9@byu.net>
54728
54729         * lib/same.c (same_name): s/base_name/last_component/
54730         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
54731         * lib/filenamecat.c (file_name_concat): Likewise.
54732
54733         2006-03-11  Eric Blake  <ebb9@byu.net>,
54734                     Paul Eggert  <eggert@cs.ucla.edu>
54735
54736         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
54737         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
54738         drive prefix.
54739         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
54740         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
54741         (last_component): New method.
54742         * lib/dirname.c (dir_len): Determine when drive letters need a
54743         subsequent slash.  Preserve // when it is special.
54744         (dir_name): Don't append dot when drive letter is absolute.
54745         [TEST_DIRNAME]: Move into a full-blown gnulib test.
54746         * lib/basename.c (base_name): New semantics - malloc the result.
54747         Preserve // when it is special.  Preserve relative files that look
54748         like drive letters.
54749         (base_len): Preserve // when it is special.
54750         (last_component): New method, similar to old base_name semantics.
54751         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
54752         base_name.  Strip redundant slashes from ///.
54753
54754 2006-07-03  Jim Meyering  <jim@meyering.net>
54755
54756         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
54757         macro is used before the first cycle_check call.
54758
54759 2006-07-03  Eric Blake  <ebb9@byu.net>
54760
54761         * modules/dirname (Depends-on): Add xstrndup.
54762
54763 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
54764
54765         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
54766         test cases, so that config.log is a bit easier to follow.
54767
54768 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
54769
54770         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
54771         both are 64 bits, since this seems to be the tradition, and this
54772         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
54773         we ever run into a host that prefers long long to long in this
54774         case, we'll need another configure-time test.  Problem reported by
54775         Jim Meyering.
54776
54777 2006-07-02  Eric Blake  <ebb9@byu.net>
54778
54779         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
54780
54781 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
54782
54783         * modules/inttypes (Depends-on): No longer depends on stdint.
54784         * modules/stdint (Description): Say more about assumptions.
54785         Say that the fast types might differ.  Say macros are used.
54786         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
54787         (Makefile.am): Revise list of substituted symbols to match
54788         new stdint.m4.
54789         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
54790         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
54791         * tests/test-stdint.c (verify_same_types)
54792         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
54793         the code conforms to C99/C89.
54794         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
54795         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
54796
54797 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
54798
54799         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
54800         but fix a bug, by requiring at least 64 bits.
54801         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
54802         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
54803         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
54804         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
54805
54806         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
54807         changes.  Make 2.59 a prerequisite.  Check and substitute for
54808         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
54809         inttypes.h.  Do not use special include files; just use the
54810         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
54811         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
54812         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
54813         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
54814         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
54815         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
54816         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
54817         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
54818         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
54819         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
54820         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
54821         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
54822         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
54823         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
54824         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
54825         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
54826         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
54827         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
54828         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
54829         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
54830         WINT_MAX.  Check for C99 conformance more strictly, by detecting
54831         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
54832         not check for things that C99 does not require, e.g., int8_t.  If
54833         a test isn't needed unless <stdint.h> isn't working, and is
54834         unlikely to be needed for any other reason, then don't do it
54835         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
54836         size_t, since we assume C89 freestanding at least.  Do not check
54837         for sig_atomic_t, wchar_t, or wint_t, since the code now does
54838         the right thing even if the types are not defined.  Instead use:
54839         (gl_STDINT_TYPE_PROPERTIES): New macro.
54840         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
54841         testing whether <sys/types.h> clashes, as Autoconf does this for
54842         us now.  All uses removed.
54843         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
54844         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
54845         (gl_CHECK_TYPE_SAME):
54846         Remove; no longer needed.
54847         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
54848         exists, since we'll return 0 anyway in that case.
54849         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
54850
54851 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
54852
54853         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
54854         possible collision with system files.
54855         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
54856         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
54857         WCHAR_MIN and WCHAR_MAX in this case.
54858         (<stddef.h>): Do not include; no longer needed.
54859         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
54860         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
54861         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
54862         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
54863         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
54864         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
54865         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
54866         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
54867         !defined(__c99))]: Include in this case too, since it's harmless
54868         now.
54869         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
54870         dangerous to do so.
54871         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
54872         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
54873         (_STDINT_MIN, _STDINT_MAX): New macros.
54874         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
54875         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
54876         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
54877         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
54878         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
54879         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
54880         macros, not typedefs; this simplifies things quite a bit.
54881         Use long int for all types narrower than int64_t.
54882         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
54883         Define in terms of long long int or int64_t or long int,
54884         not int64_t or int32_t.  This saves some compile-time testing.
54885         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
54886         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
54887         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
54888         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
54889         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
54890         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
54891         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
54892         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
54893         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
54894         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
54895         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
54896         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
54897         undef any previous version and define our own version, for
54898         simplicity and consistency with the new macros for types.
54899         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
54900         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
54901         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
54902         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
54903         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
54904         @WINT_T_SUFFIX@ to keep things simple here.
54905         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
54906         Simplify by assuming typical 8/16/32/64 host, since we're
54907         already doing that elsewhere anyway.
54908         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
54909         and assume long long int is 64 bits if available.  This
54910         speeds up 'configure'.
54911
54912 2006-07-01  Eric Blake  <ebb9@byu.net>
54913
54914         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
54915         Reported by Andreas Buening.
54916
54917 2006-07-01  Eric Blake  <ebb9@byu.net>
54918
54919         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
54920
54921 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
54922
54923         * lib/getaddrinfo.c: fixed typo
54924
54925 2006-06-29  Jim Meyering  <jim@meyering.net>
54926
54927         * modules/strftime (Maintainer): Add my name, since with the
54928         FPRINTFTIME changes strftime.c has forked from glibc.
54929
54930 2006-06-29  Eric Blake  <ebb9@byu.net>
54931
54932         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
54933
54934 2006-06-29  Eric Blake  <ebb9@byu.net>
54935
54936         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
54937
54938 2006-06-29  Eric Blake  <ebb9@byu.net>
54939
54940         * lib/stat_.h: New file.
54941
54942 2006-06-29  Eric Blake  <ebb9@byu.net>
54943
54944         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
54945         unused static function.
54946
54947 2006-06-29  Eric Blake  <ebb9@byu.net>
54948
54949         * doc/functions.texi (Function Portability): Document missing lstat
54950         on mingw.
54951
54952 2006-06-29  Eric Blake  <ebb9@byu.net>
54953
54954         * MODULES.html.sh: Add sys_stat.
54955         * modules/sys_stat: New module.
54956         * modules/mkstemp (Depends-on): Add sys_stat.
54957
54958 2006-06-29  Derek R. Price  <derek@ximbiot.com>
54959
54960         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
54961
54962 2006-06-29  Derek R. Price  <derek@ximbiot.com>
54963
54964         * m4/c-bs-a.m4: Removed.
54965
54966 2006-06-29  Derek R. Price  <derek@ximbiot.com>
54967
54968         * lib/strftime.c: Assume strftime() exists.
54969
54970 2006-06-29  Derek Price  <derek@ximbiot.com>
54971
54972         * modules/c-bs-a: Removed - \a is C89.
54973         * MODULES.html.sh: Remove c-bs-a.
54974
54975 2006-06-29  Bruno Haible  <bruno@clisp.org>
54976
54977         * modules/wcwidth (License): Change to LGPL.
54978
54979 2006-06-28  Simon Josefsson  <jas@extundo.com>
54980
54981         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
54982         on _WIN32.
54983
54984         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
54985         getnameinfo.
54986
54987 2006-06-28  Simon Josefsson  <jas@extundo.com>
54988
54989         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
54990
54991 2006-06-28  Simon Josefsson  <jas@extundo.com>
54992
54993         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
54994         functions there.  It will succeed on Windows XP, but on Windows
54995         2000 and (presumably) earlier, it will fail, and use the internal
54996         re-implementation.
54997         (use_win32_p): New function.
54998         (getaddrinfo): Use strtoul on servname, to support numeric ports.
54999         Support AI_NUMERICSERV to disable getservbyname.
55000         (getnameinfo): New function, only supports
55001         NI_NUMERICHOST|NI_NUMERICSERV for now.
55002
55003         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
55004         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
55005         getnameinfo.
55006
55007 2006-06-28  Eric Blake  <ebb9@byu.net>
55008
55009         * modules/wcwidth: New file.
55010         * modules/mbchar (Depends-on): Add wcwidth.
55011         * modules/mbswidth (Depends-on): Add wcwidth.
55012         * MODULES.html.sh: Add wcwidth.
55013
55014 2006-06-28  Eric Blake  <ebb9@byu.net>
55015
55016         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
55017         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
55018
55019 2006-06-28  Eric Blake  <ebb9@byu.net>
55020
55021         * lib/xvasprintf.h: Fix comments.
55022
55023 2006-06-28  Eric Blake  <ebb9@byu.net>
55024
55025         * lib/mbchar.h (wcwidth): Include wcwidth.h.
55026         * lib/mbswidth.c (wcwidth): Move from here...
55027         * lib/wcwidth.h: ...to this new file.
55028
55029 2006-06-28  Derek R. Price  <derek@ximbiot.com>
55030
55031         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
55032
55033         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
55034         it's obsolete.
55035         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
55036
55037 2006-06-28  Derek R. Price  <derek@ximbiot.com>
55038
55039         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
55040         Autoconf 2.60 says this stuff was obsolete.
55041
55042 2006-06-28  Bruno Haible  <bruno@clisp.org>
55043
55044         * modules/wcwidth (Files): Add m4/wchar_t.m4.
55045
55046 2006-06-28  Bruno Haible  <bruno@clisp.org>
55047
55048         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
55049         gt_TYPE_WCHAR_T.
55050
55051 2006-06-28  Bruno Haible  <bruno@clisp.org>
55052
55053         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
55054         declaration for wcwidth.
55055         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
55056
55057 2006-06-28  Bruno Haible  <bruno@clisp.org>
55058
55059         * lib/mkdtemp.c [MINGW]: Include <io.h>.
55060         (mkdir): Define using _mkdir.
55061
55062 2006-06-28  Bruno Haible  <bruno@clisp.org>
55063
55064         * lib/getaddrinfo.h: Fix POSIX URL.
55065         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
55066         _WIN32.
55067         (use_win32_p): Make static.
55068         (getaddrinfo): Reject service name if it is empty or does not consist
55069         solely of decimal digits, or if its value is > 65535.
55070         (getnameinfo): Remove useless casts.
55071
55072 2006-06-27  Simon Josefsson  <jas@extundo.com>
55073
55074         * modules/sys_select: New file, suggested by Bruno Haible, Paul
55075         Eggert and Martin Lambers.
55076
55077 2006-06-27  Simon Josefsson  <jas@extundo.com>
55078
55079         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
55080         Eggert and Martin Lambers.
55081
55082 2006-06-27  Bruno Haible  <bruno@clisp.org>
55083
55084         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
55085         result to 0, not to empty.
55086         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
55087
55088 2006-06-27  Bruno Haible  <bruno@clisp.org>
55089
55090         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
55091
55092 2006-06-26  Simon Josefsson  <jas@extundo.com>
55093
55094         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
55095         present.
55096
55097 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
55098
55099         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
55100         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
55101         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
55102
55103 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
55104
55105         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
55106
55107 2006-06-26  Bruno Haible  <bruno@clisp.org>
55108
55109         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
55110
55111 2006-06-26  Bruno Haible  <bruno@clisp.org>
55112
55113         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
55114
55115 2006-06-26  Bruno Haible  <bruno@clisp.org>
55116
55117         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
55118         SGI C compiler in pre-C99 mode.
55119         Suggested by Mark D. Baushke and Larry Jones.
55120
55121 2006-06-26  Bruno Haible  <bruno@clisp.org>
55122
55123         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
55124         WCHAR_MAX.
55125         Reported by Mark D. Baushke and Larry Jones.
55126
55127 2006-06-26  Bruno Haible  <bruno@clisp.org>
55128
55129         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
55130         in pre-C99 mode.
55131         Suggested by Mark D. Baushke and Larry Jones.
55132
55133 2006-06-23  Simon Josefsson  <jas@extundo.com>
55134             Bruno Haible  <bruno@clisp.org>
55135
55136         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
55137         Emit mostlyclean-local rule.
55138         (func_emit_tests_Makefile_am): Likewise.
55139         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
55140
55141 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
55142
55143         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
55144
55145 2006-06-23  Bruno Haible  <bruno@clisp.org>
55146
55147         * tests/test-stdint.c: Update to match ISO C 99 Technical
55148         Corrigendum 1.
55149
55150 2006-06-23  Bruno Haible  <bruno@clisp.org>
55151
55152         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
55153
55154 2006-06-23  Bruno Haible  <bruno@clisp.org>
55155
55156         * lib/stdint_.h: Treat IRIX like OpenBSD.
55157
55158 2006-06-23  Bruno Haible  <bruno@clisp.org>
55159
55160         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
55161         ISO C 99 Technical Corrigendum 1.
55162
55163 2006-06-22  Simon Josefsson  <jas@extundo.com>
55164
55165         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
55166         MinGW.
55167
55168 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
55169
55170         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
55171         needed.  Some compiler complained about some of them.  Problem reported
55172         by Larry Jones in
55173         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
55174
55175 2006-06-21  Simon Josefsson  <jas@extundo.com>
55176
55177         * tests/test-getaddrinfo.c: New file.
55178
55179         * modules/getaddrinfo-tests: New file.
55180
55181         * MODULES.html.sh: Add inet_pton.
55182
55183         * modules/inet_pton: New file.
55184
55185 2006-06-21  Simon Josefsson  <jas@extundo.com>
55186
55187         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
55188         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
55189         of using the (limited) gnulib implementation on Windows XP.
55190
55191         * m4/inet_pton.m4: New file.
55192
55193 2006-06-21  Simon Josefsson  <jas@extundo.com>
55194
55195         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
55196         variable.
55197
55198         * lib/socket_.h: Don't define WINVER.
55199
55200         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
55201         slightly modified to work in gnulib.
55202
55203 2006-06-21  Simon Josefsson  <jas@extundo.com>
55204
55205         * doc/gnulib.texi (Windows sockets): Add.
55206
55207 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
55208
55209         * lib/read-file.c (fread_file): Start with buffer allocation of
55210         0 bytes rather than 1 byte; this simplifies the code.
55211         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
55212         code to free buffer and save/restore errno.
55213         (internal_read_file): Remove unused local.
55214
55215 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
55216
55217         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
55218         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
55219         Problem reported by Denis Excoffier in
55220         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
55221
55222 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
55223
55224         * modules/sys_socket, modules/socklen: Include sys/types since
55225         FreeBSD 4.x's sys/socket.h needs it.
55226
55227 2006-06-19  Simon Josefsson  <jas@extundo.com>
55228
55229         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
55230
55231 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
55232
55233         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
55234
55235 2006-06-19  Bruno Haible  <bruno@clisp.org>
55236
55237         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
55238         and FULL_PATH_INTTYPES_H in angle brackets.
55239         Reported by Mark D. Baushke <mdb@gnu.org>.
55240
55241 2006-06-17  Eric Blake  <ebb9@byu.net>
55242
55243         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
55244         errno.
55245
55246 2006-06-17  Bruno Haible  <bruno@clisp.org>
55247
55248         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
55249         <sys/inttypes.h>.
55250
55251 2006-06-17  Bruno Haible  <bruno@clisp.org>
55252
55253         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
55254         whether errno is declared. Assume <errno.h> declares errno.
55255
55256 2006-06-17  Bruno Haible  <bruno@clisp.org>
55257
55258         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
55259
55260 2006-06-17  Bruno Haible  <bruno@clisp.org>
55261
55262         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
55263         problem on Solaris 2.5.1.
55264
55265 2006-06-16  Eric Blake  <ebb9@byu.net>
55266
55267         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
55268         * lib/unicodeio.c [!defined errno]: Likewise.
55269         * lib/strtol.c [!defined errno]: Likewise.
55270         * lib/strtod.c [!defined errno]: Likewise.
55271
55272 2006-06-15  Eric Blake  <ebb9@byu.net>
55273
55274         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
55275
55276 2006-06-15  Eric Blake  <ebb9@byu.net>
55277
55278         * config/srclist.txt (ssize_t.m4): Lose sync.
55279
55280 2006-06-15  Bruno Haible  <bruno@clisp.org>
55281
55282         * modules/stdint (Files): Include m4/full-header-path.m4,
55283         m4/size_max.m4, m4/wchar_t.m4.
55284         (Makefile.am): Many more substitutions.
55285         * modules/stdint-tests: New file.
55286         * tests/test-stdint.c: New file.
55287
55288 2006-06-15  Bruno Haible  <bruno@clisp.org>
55289
55290         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
55291         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
55292         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
55293         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
55294         gl_CHECK_TYPE_SAME): New macros.
55295
55296 2006-06-15  Bruno Haible  <bruno@clisp.org>
55297
55298         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
55299
55300 2006-06-15  Bruno Haible  <bruno@clisp.org>
55301
55302         * lib/stdint_.h: Rewritten to be fully auto-configured.
55303         Fixes bug on HP-UX/IA64.
55304
55305 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
55306
55307         * lib/getdate.y (__attribute__): Don't define if already defined.
55308         Problem reported by Larry Jones.
55309         * lib/utimens.c (__attribute__): Likewise.
55310
55311 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
55312
55313         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
55314         reported by Andreas Schwab.
55315
55316 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55317             Bruno Haible  <bruno@clisp.org>
55318
55319         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
55320         check for the declaration of strnlen and a run test that exposes the
55321         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
55322         rpl_strndup.
55323
55324 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55325             Bruno Haible  <bruno@clisp.org>
55326
55327         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
55328
55329 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55330
55331         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
55332         compile test, for Tru64 4.0D.
55333
55334 2006-05-28  Karl Berry  <karl@gnu.org>
55335
55336         * config/srclist.txt (printf-args.c): lose sync.
55337
55338 2006-05-26  Martin Lambers  <marlam@marlam.de>
55339
55340         * lib/getpass.c: Updates the test for the native W32 API, and adds
55341         missing includes, thus fixing compilation warnings.
55342
55343 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
55344
55345         * lib/exclude.c (exclude_fnmatch): New function.
55346         (excluded_file_name): Call exclude_fnmatch.
55347         * lib/exclude.h (excluded_file_name): New prototype
55348
55349 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
55350
55351         * lib/tempname.c (small_open, large_open): New macros.
55352         (__open, __open64) [!_LIBC]: Remove.
55353         (__gen_tempname): Use small_open and large_open instead of __open
55354         and __open64.  This fixes a portability bug on HP-UX 11.11i
55355         reported by Simon Wing-Tang in
55356         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
55357
55358 2006-05-24  Bruno Haible  <bruno@clisp.org>
55359
55360         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
55361         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
55362         Reported by Thorsten Maerz <torte@netztorte.de> via
55363         Aaron Stone <aaron@serendipity.cx>.
55364
55365 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55366
55367         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
55368         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
55369         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
55370         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
55371         not really conditional on the cache.
55372         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
55373
55374 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
55375
55376         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
55377         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
55378         (my_usleep): Don't mishandle maximum value.
55379
55380 2006-05-19  Jim Meyering  <jim@meyering.net>
55381
55382         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
55383
55384 2006-05-17  Bruno Haible  <bruno@clisp.org>
55385
55386         Cygwin portability.
55387         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
55388
55389 2006-05-17  Bruno Haible  <bruno@clisp.org>
55390
55391         * lib/stdint_.h: Fix recognition of Cygwin.
55392
55393 2006-05-15  Bruno Haible  <bruno@clisp.org>
55394
55395         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
55396         on libtool patch by Ralf Wildenhues.
55397
55398 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
55399
55400         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
55401         test for C99 conformance; (bool) 0.5 is an integer constant
55402         expression, but (bool) -0.5 is not.  Problem reported by Fedor
55403         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
55404
55405 2006-05-11  Simon Josefsson  <jas@extundo.com>
55406
55407         * m4/xvasprintf.m4: Fix obvious typo.
55408
55409 2006-05-11  Jim Meyering  <jim@meyering.net>
55410
55411         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
55412         James Lemley.
55413
55414 2006-05-10  Simon Josefsson  <jas@extundo.com>
55415
55416         * lib/md4.c: Typo fix, update copyright years.
55417         (K1, K2): Don't use L because it turn computations into 64-bit on
55418         64-bit platforms.
55419
55420 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
55421
55422         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
55423         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
55424         unwanted sign propagation, e.g., on hosts with 64-bit int.
55425         There still are some problems with reeelly weird theoretical hosts
55426         (e.g., 33-bit int) but it's not worth worrying about now.
55427         * lib/sha1.c (rol): Likewise.
55428         (K1, K2, K3, K4): Remove unnecessary L suffix.
55429
55430 2006-05-10  Bruno Haible  <bruno@clisp.org>
55431
55432         * lib/des.c: Cast to avoid warnings.
55433
55434 2006-05-09  Bruno Haible  <bruno@clisp.org>
55435
55436         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
55437         (Depends-on): Depend also on xsize, stdarg.
55438         (configure.ac): Add gl_XVASPRINTF.
55439
55440 2006-05-09  Bruno Haible  <bruno@clisp.org>
55441
55442         * m4/xvasprintf.m4: New file.
55443
55444 2006-05-09  Bruno Haible  <bruno@clisp.org>
55445
55446         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
55447         (EOVERFLOW): Define fallback value.
55448         (xstrcat): New function.
55449         (xvasprintf): Recognize the special case of a string concatenation.
55450
55451 2006-05-08  Eric Blake  <ebb9@byu.net>
55452
55453         * gnulib-tool (func_version): Base copyright year on CVS date.
55454         (func_emit_copyright_notice): New function.
55455         (func_emit_lib_Makefile_am): Use it.
55456         (func_emit_tests_Makefile_am): Likewise.
55457         (func_import): Likewise.
55458
55459 2006-05-08  Bruno Haible  <bruno@clisp.org>
55460
55461         * modules/stdarg: New file.
55462         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
55463
55464 2006-05-08  Bruno Haible  <bruno@clisp.org>
55465
55466         * m4/stdarg.m4: New file, from GNU gettext.
55467
55468 2006-05-08  Bruno Haible  <bruno@clisp.org>
55469
55470         * config/srclist.txt (build-aux/config.rpath): different from latest
55471         release.
55472
55473 2006-05-08  Bruno Haible  <bruno@clisp.org>
55474
55475         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
55476
55477 2006-05-05  Jim Meyering  <jim@meyering.net>
55478
55479         * m4/warning.m4: New file, derived from bison's file by the same name.
55480
55481 2006-05-03  Bruno Haible  <bruno@clisp.org>
55482
55483         * lib/stdint_.h: Shorter URL.
55484         * lib/inttypes.h: Likewise.
55485
55486 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
55487
55488         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
55489
55490 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
55491
55492         * lib/verify.h: Document the internals better.  Most of this change
55493         was written by Bruno Haible.
55494
55495 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
55496
55497         * doc/verify.texi: New file, partly based on a proposal by
55498         Bruno Haible.
55499
55500 2006-05-02  Bruno Haible  <bruno@clisp.org>
55501
55502         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
55503         test from here...
55504         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
55505
55506 2006-04-29  Bruno Haible  <bruno@clisp.org>
55507
55508         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
55509         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
55510
55511 2006-04-29  Bruno Haible  <bruno@clisp.org>
55512
55513         * gnulib-tool: Make --update option actually work.
55514
55515 2006-04-29  Bruno Haible  <bruno@clisp.org>
55516
55517         * doc/gcd.texi: New file.
55518         * doc/gnulib.texi: Include it.
55519
55520 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
55521
55522         * lib/getdate.y (get_date): When adding relative date, start with the
55523         initial time, not with the result of the first mktime call.
55524
55525 2006-04-25  Bruno Haible  <bruno@clisp.org>
55526
55527         * gnulib-tool (func_import): Output the include directives in three
55528         blocks, sorted separately.
55529         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55530
55531 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
55532
55533         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
55534         to define main with arguments, for C++.  Reported by Eric Blake.
55535         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
55536         Prefer 'int main ()' to 'int main (void)', for C++.
55537         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
55538         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
55539         for 'main', for C99 and C++.
55540
55541 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
55542
55543         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
55544         Don't assume that exit status -1 is valid.
55545         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
55546         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
55547         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
55548         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
55549         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
55550         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
55551         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
55552         functions can be used without declaring them, or that you can
55553         exit with status -1.
55554         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
55555
55556 2006-04-24  Karl Berry  <karl@gnu.org>
55557
55558         * config/srclist.txt (longdouble.m4): sync lost.
55559
55560 2006-04-24  Eric Blake  <ebb9@byu.net>
55561
55562         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
55563
55564 2006-04-24  Bruno Haible  <bruno@clisp.org>
55565
55566         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
55567         poll() implementation in AIX.
55568         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55569
55570 2006-04-24  Bruno Haible  <bruno@clisp.org>
55571
55572         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
55573         assigned exactly once.
55574
55575 2006-04-23  Claudio Fontana  <claudio@gnu.org>
55576             Bruno Haible  <bruno@clisp.org>
55577
55578         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
55579         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
55580         for AM_CPPFLAGS.
55581
55582 2006-04-23  Bruno Haible  <bruno@clisp.org>
55583
55584         * modules/copy-file: Depend on unistd.
55585         * modules/execute: Likewise.
55586         * modules/fatal-signal: Likewise.
55587         * modules/findprog: Likewise.
55588         * modules/mkdtemp : Likewise.
55589         * modules/pipe: Likewise.
55590         * modules/wait-process: Likewise.
55591
55592 2006-04-23  Bruno Haible  <bruno@clisp.org>
55593
55594         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
55595         condition was already detected.
55596         Reported by Ben Pfaff <blp@cs.stanford.edu>.
55597
55598 2006-04-23  Bruno Haible  <bruno@clisp.org>
55599
55600         * lib/copy-file.c: Include <unistd.h> unconditionally.
55601         * lib/execute.c: Likewise.
55602         * lib/fatal-signal.c: Likewise.
55603         * lib/findprog.c: Likewise.
55604         * lib/mkdtemp.c: Likewise.
55605         * lib/pipe.h: Likewise.
55606         * lib/pipe.c: Likewise.
55607         * lib/wait-process.h: Likewise.
55608
55609 2006-04-23  Bruno Haible  <bruno@clisp.org>
55610
55611         * gnulib-tool (func_usage): Fix --import description. Document
55612         --update.
55613         (func_import): Create temporary file in a temporary directory, if
55614         --dry-run is specified. Silence errors from 'grep' when there are no
55615         m4 files in $m4dir.
55616         (func_create_testdir): Silence errors from 'grep' when there are no
55617         m4 files in $m4dir.
55618         Reported by Karl Berry <karl@freefriends.org>.
55619
55620 2006-04-20  Bruno Haible  <bruno@clisp.org>
55621
55622         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
55623         one argument, so that the code will be portable to Autoconf 2.60.
55624         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
55625         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
55626         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
55627
55628 2006-04-19  Derek Price  <derek@ximbiot.com>
55629             Eric Blake  <ebb9@byu.net>
55630
55631         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
55632         rather than "/full/path.h".  Update comment to match.  Shorten &
55633         generalize m4_translit call via AS_TR_CPP.
55634
55635 2006-04-19  Derek Price  <derek@ximbiot.com>
55636             Eric Blake  <ebb9@byu.net>
55637
55638         * lib/inttypes.h: Correct grammar in comment.
55639
55640 2006-04-18  Derek Price  <derek@ximbiot.com>
55641             Paul Eggert  <eggert@cs.ucla.edu>
55642
55643         * modules/inttypes: New file.
55644         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
55645
55646 2006-04-18  Derek Price  <derek@ximbiot.com>
55647             Paul Eggert  <eggert@cs.ucla.edu>
55648
55649         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
55650         New files.
55651
55652 2006-04-18  Derek Price  <derek@ximbiot.com>
55653             Paul Eggert  <eggert@cs.ucla.edu>
55654
55655         * lib/inttypes.h: New file.
55656         * lib/strtoimax.c: Assume <inttypes.h>.
55657
55658 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
55659
55660         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
55661         isn't mounted.  Problem reported by Kir Kolyshkin.
55662
55663 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
55664
55665         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
55666         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
55667         Derek R. Price.
55668         * lib/regex.h (RE_DUP_MAX): Update comment to match current
55669         implementation.
55670
55671 2006-04-12  Eric Blake  <ebb9@byu.net>
55672
55673         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
55674         is now done automatically by the corresponding Autoconf macro.
55675
55676 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
55677
55678         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
55679         time_r.h.
55680
55681 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
55682
55683         Merge regex changes from libc, removing some of our
55684         POSIX-conformance changes that were rejected and redoing them in a
55685         less-intrusive way.
55686
55687         * lib/regcomp.c (re_compile_internal, init_dfa):
55688         Length arg is now size_t, not Idx.  All uses changed.
55689         (peek_token): Forward decl now says internal_function.
55690         (__re_error_msgid, __re_error_msgid_idx):
55691         Now static rather than extern with attribute_hidden.
55692         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
55693         For some reason libc prefers K&R style defns for external functions.
55694         (regerror) [!defined _LIBC]: Likewise.
55695         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
55696         (seek_collating_symbol_entry, lookup_collation_sequence_value):
55697         (build_range_exp, build_collating_symbol):
55698         Use K&R-style defn.
55699         (re_compile_fastmap): Use '\0' to memset, not 0.
55700         (utf8_sb_map): Make the calculations more obvious.
55701         (init_dfa, parse_bracket_exp, build_charclass_op):
55702         Call calloc and cast result, as glibc does.
55703         (init_word_char, fetch_token, peek_token, peek_token_bracket):
55704         (build_range_exp, build_collating_symbol):
55705         Now internal functions.
55706
55707         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
55708
55709         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
55710         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
55711         Don't depend on VMS; depend on __VMS instead, for POSIX
55712         namespace cleanness.
55713         (regoff_t): Define to ssize_t, not long int.
55714
55715         Remove the REG_ macros named below.  Instead, make the old names
55716         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
55717         __USE_GNU_REGEX.
55718         (REG_BACKSLASH_ESCAPE_IN_LISTS):
55719         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
55720         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
55721         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
55722         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
55723         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
55724         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
55725         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
55726         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
55727         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
55728         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
55729         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
55730         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
55731         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
55732         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
55733         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
55734         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
55735         (REG_NREGS):
55736         Remove.  All uses replaced by the old RE_* names.
55737         (RE_BACKSLASH_ESCAPE_IN_LISTS):
55738         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
55739         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
55740         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
55741         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
55742         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
55743         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
55744         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
55745         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
55746         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
55747         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
55748         Don't bother having these macros be independent of each others'
55749         values, since they no longer exist in the POSIX name space.
55750
55751         Rename the following member names back to their old names,
55752         unless !__USE_GNU_REGEX.  All uses changed back.
55753         (buffer): Renamed from re_buffer.
55754         (allocated): Renamed from re_allocated.
55755         (used): Renamed from re_used.
55756         (syntax): Renamed from re_syntax.
55757         (fastmap): Renamed from re_fastmap.
55758         (translate): Renamed from re_translate.
55759         (can_be_null): Renamed from re_can_be_null.
55760         (regs_allocated): Renamed from re_regs_allocated.
55761         (fastmap_accurate): Renamed from re_fastmap_accurate.
55762         (no_sub): Renamed from re_no_sub.
55763         (not_bol): Renamed from re_not_bol.
55764         (not_eol): Renamed from re_not_eol.
55765         (newline_anchor): Renamed from re_newline_anchor.
55766         (num_regs): Renamed from rm_num_regs.
55767         (start): Renamed from rm_start.
55768         (end): Renamed from rm_end.
55769
55770         (free_state): Move up a bit.
55771
55772         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
55773         #define to be empty.
55774         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
55775         when that is what is intended.
55776         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
55777         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
55778         (MAX): New macro.
55779         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
55780         All uses changed back to re_malloc, etc.  It's now the caller's
55781         responsibility to check for overflow; all callers changed.
55782         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
55783         (re_x2nrealloc): Remove.
55784         (free_state): Remove decl.
55785
55786         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
55787         (re_set_registers, re_exec):
55788         Use K&R-style defn.
55789
55790         2006-01-31  Roland McGrath  <roland@redhat.com>
55791
55792         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
55793         Reported by Mike Frysinger <vapier@gentoo.org>.
55794
55795         2006-01-15  Andreas Jaeger  <aj@suse.de>
55796
55797         [BZ #1950]
55798         * lib/regex_internal.c (re_string_reconstruct): Adjust for
55799         build_wcs_upper_buffer change.
55800         (build_wcs_upper_buffer): Change return type.
55801
55802         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
55803
55804         * lib/regex_internal.h: Include <stdint.h> if available.
55805
55806         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
55807
55808         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
55809
55810         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
55811
55812         * lib/regcomp.c: Adjust for changed secondary hash function.
55813
55814         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
55815
55816         * lib/regex.h: Pretty printing.
55817         Clean up namespace a bit.
55818
55819         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
55820
55821         * lib/regexec.c (update_cur_sifted_state, check_arrival,
55822         check_arrival_add_next_nodes): Avoid using uninitialized variable.
55823
55824         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
55825                     Ulrich Drepper  <drepper@redhat.com>
55826
55827         [BZ #1302]
55828         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
55829         changed.
55830         (bitset_word_t): Renamed from bitset_word.  All uses changed.
55831
55832         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
55833
55834         [BZ #281]
55835         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
55836         * lib/regcomp.c: Remove unnecessary uses of
55837         unsigned RE_TRANSLATE_TYPE.
55838         * lib/regex_internal.h: Likewise.
55839         * lib/regex_internal.c: Likewise.
55840         * lib/regexec.c: Likewise.
55841         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
55842
55843         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
55844
55845         * lib/regexec.c (find_recover_state): Remove unnecessary
55846         initialization.
55847         (transit_state_bkref): Make DFA a const pointer.
55848         (get_subexp): Likewise.
55849         (check_arrival): Likewise.
55850         (update_cur_sifted_state): Likewise.
55851         (re_search_internal): Likewise.
55852         (prune_impossible_nodes): Likewise.
55853         (acquire_init_state_context): Likewise.
55854         (proceed_next_node): Likewise.
55855         (set_regs): Likewise.
55856         (free_fail_stack_return): Likewise.
55857         (check_arrival_expand_ecl): Mark DFA parameter as const.
55858         (check_arrival_expand_ecl_sub): Likewise.
55859         (check_subexp_limits): Likewise.
55860         (sub_epsilon_src_nodes):  Likewise.
55861         (add_epsilon_src_nodes):  Likewise.
55862         (merge_state_array): Likewise.
55863         (update_regs): Likewise.
55864         (build_trtable): Likewise.
55865         (sift_states_backward): Mark MCTX parameter as const.
55866         (build_sifted_states): Likewise.
55867         (update_cur_sifted_state): Likewise.
55868         (sift_states_mkref): Likewise.
55869         (check_arrival_expand_ecl): Mark eclosure as const.
55870         (check_dst_limits_calc_pos_1): Likewise.
55871         * lib/regex_internal.h (re_match_context_t): Make dfa a const
55872         pointer.
55873
55874         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
55875
55876         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
55877         (transit_state_sb): Likewise.
55878         (transit_state_mb): Likewise.
55879         (sift_states_iter_mb): Likewise.
55880         (check_arrival_add_next_nodes): Likewise.
55881         (check_node_accept_bytes): Change first parameter to pointer-to-const.
55882         [_LIBC] (re_search_2_stub): Use mempcpy.
55883
55884         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
55885         mbrtowc for very simple UTF-8 case.
55886
55887         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
55888         a pointer-to-const.
55889         (re_acquire_state_context): Likewise.
55890         * lib/regex_internal.h: Adjust prototypes.
55891
55892         * lib/regex.c: Prevent using C++ compilers.
55893
55894         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
55895         (re_acquire_state_context): Likewise.
55896
55897 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
55898
55899         * modules/regex (Depends-on): Add ssize_t.
55900
55901 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
55902
55903         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
55904         translation table.
55905
55906 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
55907
55908         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
55909
55910 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
55911             Bruno Haible  <bruno@clisp.org>
55912
55913         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
55914         <sys/types.h> and <inttypes.h>.
55915
55916 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55917
55918         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
55919         `__error_t_defined', so argp.h will not typedef the former.
55920
55921 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
55922
55923         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
55924         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
55925         glibc names.  Even if glibc is changed to conform to POSIX, the
55926         traditional names will be available anyway, since regex depends on
55927         the extensions module.  Also, fix a longstanding typo in the
55928         implementation of Spencer ERE test #75 from grep 2.3.  Problems
55929         reported by Emanuele Giaquinta.  Also, change sense of cached
55930         variable, so that the message makes sense.
55931
55932 2006-03-24  Simon Josefsson  <jas@extundo.com>
55933
55934         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
55935         including some doc fixes.
55936         (base64_encode_alloc): Fix +1 bug on allocation failures.
55937
55938 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55939
55940         * lib/base64.c (base64_encode): Do not read past end of array with
55941         unsanitized input on systems with CHAR_BIT > 8.
55942
55943 2006-03-24  Eric Blake  <ebb9@byu.net>
55944
55945         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
55946
55947 2006-03-22  Karl Berry  <karl@gnu.org>
55948
55949         * config/srclist.txt (*setenv.[ch]): get from coreutils.
55950         * config/srclistvars.sh (COREUTILS): new var.
55951
55952 2006-03-17  Jim Meyering  <jim@meyering.net>
55953
55954         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
55955         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
55956
55957 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
55958
55959         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
55960         no longer needs it.  Instead, check that regoff_t is as least
55961         as wide as ptrdiff_t.
55962
55963         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
55964         so that our regex.h stays compatible with the installed regex.
55965         This is helpful for installers who configure --without-included-regex.
55966         Problem reported by Emanuele Giaquinta.
55967
55968 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
55969
55970         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
55971         Typedef to long int, not to off_, as POSIX will likely change
55972         in that direction.
55973
55974 2006-03-15  Eric Blake  <ebb9@byu.net>
55975
55976         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
55977
55978 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
55979
55980         * lib/argp-help.c (validate_uparams): Fix typo
55981         * lib/argp-parse.c (argp_default_options): Consistently begin help
55982         messages with a lowercase letter.
55983
55984 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
55985
55986         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
55987         overrun buffers and shouldn't be used (much as gets shouldn't be
55988         used).
55989         * lib/time_r.c (asctime_r, ctime_r): Likewise.
55990
55991 2006-03-08  Simon Josefsson  <jas@extundo.com>
55992
55993         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
55994         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55995
55996 2006-03-08  Simon Josefsson  <jas@extundo.com>
55997
55998         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
55999         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56000
56001 2006-03-08  Simon Josefsson  <jas@extundo.com>
56002
56003         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
56004         signal that configure disabled the device.
56005
56006 2006-03-08  Simon Josefsson  <jas@extundo.com>
56007
56008         * build-aux/maint.mk: Fix refresh-po, to handle no translated
56009         languages.
56010
56011 2006-03-07  Simon Josefsson  <jas@extundo.com>
56012
56013         * modules/getopt (Depends-on): Add unistd.
56014
56015         * modules/unistd: New file.
56016
56017 2006-03-07  Simon Josefsson  <jas@extundo.com>
56018
56019         * modules/gc-random: New file.
56020
56021 2006-03-07  Simon Josefsson  <jas@extundo.com>
56022
56023         * m4/unistd_h.m4: New file.
56024
56025 2006-03-07  Simon Josefsson  <jas@extundo.com>
56026
56027         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
56028         test to be side-effect free by storing the result in the cache
56029         variable gl_cv_lib_readline, and moving the assignment of
56030         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
56031         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56032
56033 2006-03-07  Simon Josefsson  <jas@extundo.com>
56034
56035         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
56036         error on missing devices (the functions will return an error).
56037
56038         * m4/gc.m4: Move random stuff to gc-random.m4
56039
56040 2006-03-07  Simon Josefsson  <jas@extundo.com>
56041
56042         * lib/unistd_.h: New file.
56043
56044 2006-03-07  Simon Josefsson  <jas@extundo.com>
56045
56046         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
56047
56048 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
56049
56050         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
56051         Problem reported by Juan Manuel Guerrero.
56052
56053 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
56054
56055         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
56056         the unistd module.
56057         * lib/getlogin_r.c: Likewise.
56058         * lib/getlogin_r.h: Likewise.
56059         * lib/glob.c: Likewise.
56060         * lib/pagealign_alloc.c: Likewise.
56061         * lib/unistd_.h: Remove; no longer needed.
56062
56063 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
56064
56065         * MODULES.html.sh (Support for systems lacking POSIX:2001):
56066         Add unistd.
56067         * modules/c-stack (Depends-on): Add unistd.
56068         * modules/getlogin_r: Likewise.
56069         * modules/glob: Likewise.
56070         * modules/pagealign_alloc: Likewise.
56071         * modules/unistd (Files): Remove lib/unistd_.h.
56072         (EXTRA_DIST): Remove.
56073         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
56074         need unistd_.h.
56075         (MOSTLYCLEANFILES): Remove unistd.h-t.
56076
56077 2006-03-03  Simon Josefsson  <jas@extundo.com>
56078
56079         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
56080
56081 2006-03-03  Simon Josefsson  <jas@extundo.com>
56082
56083         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
56084         libidn and bison.
56085
56086 2006-03-03  Simon Josefsson  <jas@extundo.com>
56087
56088         * build-aux/maint.mk: Add indent target.
56089
56090 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
56091
56092         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
56093         our replacement poll.h in any case, to avoid a differing
56094         declaration from a system header.  Seen on AIX.
56095
56096 2006-03-01  Simon Josefsson  <jas@extundo.com>
56097
56098         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
56099         <kasal@ucw.cz>.
56100
56101 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56102
56103         * modules/gettime (Depends-on): Add extensions module.
56104         * modules/nanosleep (Depends-on): Likewise.
56105         * modules/settime (Depends-on): Likewise.
56106
56107 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
56108
56109         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
56110         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
56111         pedantically.
56112         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
56113         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
56114
56115         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
56116         not "==".  Reported by Ralf Wildenhues.
56117
56118 2006-03-01  Karl Berry  <karl@gnu.org>
56119
56120         * doc/Copyright/request-*: new files, synced from gnuorg.
56121
56122 2006-03-01  Karl Berry  <karl@gnu.org>
56123
56124         * config/srclist.txt (Copyright/*): new entries.
56125
56126 2006-02-28  Simon Josefsson  <jas@extundo.com>
56127
56128         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
56129
56130 2006-02-27  Simon Josefsson  <jas@extundo.com>
56131
56132         * lib/base64.h: Indent #define's.  From Jim Meyering
56133         <jim@meyering.net>.
56134
56135 2006-02-27  Jim Meyering  <jim@meyering.net>
56136
56137         Revert the change of 2006-02-24, so these files can continue
56138         to be sync'd from gettext.
56139         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
56140         of `config.h'.
56141
56142 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
56143
56144         * modules/intprops: New file.
56145         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
56146         Add intprops.
56147         * modules/getloadavg (Files): Remove lib/intprops.h.
56148         (Depends-on): Add intprops.
56149         * modules/human: Likewise.
56150         * modules/inttostr: Likewise.
56151         * modules/openat: Likewise.
56152         * modules/sig2str: Likewise.
56153         * modules/userspec: Likewise.
56154         * modules/utimecmp: Likewise.
56155         * modules/xnanosleep: Likewise.
56156         * modules/xstrtol: Likewise.
56157
56158 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
56159
56160         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
56161         * modules/lock-tests (TESTS): Use $(EXEEXT).
56162         * modules/tls-tests: Likewise.
56163         * modules/argp-tests: Likewise.
56164         (check_PROGRAMS): New var, replacing...
56165         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
56166
56167 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56168
56169         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
56170         `config.h'.
56171
56172 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
56173
56174         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
56175
56176 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56177
56178         Sync from coreutils.
56179         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
56180         gl_CHDIR_SAFER.
56181
56182 2006-02-22  Jim Meyering  <jim@meyering.net>
56183
56184         Sync from coreutils.
56185         * m4/chdir-safer.m4: New file.
56186
56187 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
56188
56189         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
56190         AT_FDCWD exceeds INT_MAX.
56191         * lib/openat.h (AT_FDCWD): Likewise.
56192
56193 2006-02-17  Eric Blake  <address@hidden>
56194
56195         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
56196
56197 2006-02-16  Simon Josefsson  <jas@extundo.com>
56198
56199         * modules/getaddrinfo (Depends-on): Add sys_socket.
56200
56201 2006-02-15  Simon Josefsson  <jas@extundo.com>
56202
56203         * build-aux/maint.mk: Add dsyntax-check rule.
56204
56205 2006-02-15  Eric Blake  <ebb9@byu.net>
56206
56207         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
56208         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
56209         'present but cannot compile' warnings on cygwin.
56210         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
56211         use ws2tcpip.h if sys/socket.h works.
56212         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
56213         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
56214
56215 2006-02-14  Simon Josefsson  <jas@extundo.com>
56216
56217         * modules/maintainer-makefile (Files): Rename.
56218
56219         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
56220         and (the local) Makefile.cfg to maint-cfg.mk.
56221
56222         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
56223         to the latter.
56224
56225         * modules/maintainer-makefile: New module.
56226
56227         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
56228         severaly stripped to make it possible to build it up from scratch
56229         with reliable tests.
56230
56231         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
56232         fixes to permit overriding the default actions when configure and
56233         makefile are not available.
56234
56235 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
56236
56237         Sync from coreutils.
56238         * modules/lstat (Depends-on): Don't depend on xalloc.
56239         (License): Change from GPL to LGPL, since this is now simply a
56240         replacement for a libc function.
56241
56242 2006-02-14  Jim Meyering  <jim@meyering.net>
56243
56244         Sync from coreutils.
56245
56246         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
56247         failure on deficient systems, and simplify gnulib lgpl dependencies.
56248         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
56249         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
56250
56251         * lib/xalloc-die.c: Remove unused definition of N_.
56252
56253 2006-02-14  Jim Meyering  <jim@meyering.net>
56254
56255         Sync from coreutils.
56256         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
56257         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
56258         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
56259         double-quote uses of that variable, to accommodate the rare case in
56260         which getmntent is available in none of the libraries checked.  This
56261         happens at least on FreeBSD 5.0.
56262
56263 2006-02-13  Simon Josefsson  <jas@extundo.com>
56264
56265         * gnulib-tool (Usage): Fix --import, from
56266         karl@freefriends.org (Karl Berry).
56267
56268 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
56269
56270         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
56271
56272 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
56273
56274         * lib/argp-namefrob.h: Restore changes accidentally lost during the
56275         "autoupdate" on 2005-12-12.
56276
56277 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
56278
56279         * modules/closeout (Depends-on): Remove atexit.
56280
56281 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
56282
56283         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
56284         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
56285
56286 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
56287
56288         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
56289         __EXTENSIONS__ if this causes compilation to fail.  Problem
56290         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
56291         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
56292
56293 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
56294
56295         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
56296         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
56297         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
56298         All uses changed.
56299
56300 2006-01-26  Simon Josefsson  <jas@extundo.com>
56301
56302         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
56303         prototype is visible on mingw32.
56304
56305         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
56306         for mingw32.
56307
56308         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
56309         mingw32).
56310
56311 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
56312
56313         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
56314         attempt to open for write; this always fails, at least on POSIX
56315         hosts.  This reinstates the 2006-01-09 change, which was
56316         inadvertently removed.
56317
56318 2006-01-26  Bruno Haible  <bruno@clisp.org>
56319
56320         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
56321         Reported by Paul Eggert.
56322
56323 2006-01-26  Bruno Haible  <bruno@clisp.org>
56324             Paul Eggert  <eggert@cs.ucla.edu>
56325
56326         * lib/stdbool_.h (_Bool)
56327         [(! (defined __cplusplus || defined __BEOS__)
56328           && !defined __GNUC__
56329           && !(defined __HP_cc || defined __xlc__
56330                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
56331                || defined __sgi))]:
56332         #define to signed char in these cases too; this simplifies
56333         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
56334         etc., separately) and makes it more conservative.
56335
56336 2006-01-25  Simon Josefsson  <jas@extundo.com>
56337
56338         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
56339         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
56340         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
56341
56342 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
56343
56344         * lib/argp-namefrob.h: Bugfix. Remove stray #
56345
56346 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
56347
56348         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
56349         so that we test the test.
56350         Check for yet another HP-UX cc bug involving *bool |= bool.
56351
56352 2006-01-25  Karl Berry  <karl@gnu.org>
56353
56354         * config/srclist.txt (vasnprintf.c): sync lost.
56355
56356 2006-01-25  Jim Meyering  <jim@meyering.net>
56357
56358         Sync from the stable (b5) branch of coreutils:
56359
56360         * lib/fts.c (fts_children): Don't let close() clobber errno from
56361         failed fchdir().
56362
56363         * lib/fts.c (fts_stat): When following a symlink-to-directory,
56364         don't necessarily interpret stat-fails+lstat-succeeds as indicating
56365         a dangling symlink.  That can also happen at least for ELOOP.
56366         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
56367         FYI, this bug predates the inclusion of fts.c in coreutils.
56368
56369         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
56370         in their own block, so pre-c99 compilers don't object.
56371
56372         Avoid the double-free (first in fts_read, second in fts_close) that
56373         would occur when an `active' directory is made inaccessible (e.g.,
56374         via chmod a-x) during a traversal.
56375         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
56376         before returning.  Reproduce this failure by
56377         mkdir -p a/b; cd a; chmod a-x . b
56378         Reported by Stavros Passas.
56379
56380 2006-01-25  Jim Meyering  <jim@meyering.net>
56381
56382         * lib/fileblocks.c: Remove more useless parentheses.
56383         * lib/readutmp.h: Likewise.
56384
56385 2006-01-25  Bruno Haible  <bruno@clisp.org>
56386
56387         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
56388         warnings.
56389         Reported by Paul Eggert.
56390
56391 2006-01-25  Bruno Haible  <bruno@clisp.org>
56392
56393         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
56394         rid of a trap command. For Solaris sh.
56395         Reported by Mark D. Baushke <mdb@gnu.org>.
56396
56397 2006-01-24  Simon Josefsson  <jas@extundo.com>
56398
56399         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
56400         Bruno.
56401
56402 2006-01-24  Karl Berry  <karl@gnu.org>
56403
56404         * config/srclist.txt (argp-namefrob.h): sync lost.
56405
56406 2006-01-24  Jim Meyering  <jim@meyering.net>
56407
56408         * modules/openat (Files): Add lib/intprops.h.
56409         From Mark D. Baushke.
56410
56411 2006-01-24  Jim Meyering  <jim@meyering.net>
56412
56413         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
56414         Reported by Mark D. Baushke.
56415
56416 2006-01-24  Jim Meyering  <jim@meyering.net>
56417
56418         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
56419
56420 2006-01-24  Bruno Haible  <bruno@clisp.org>
56421
56422         * modules/strnlen (Maintainer): Change from glibc to all.
56423
56424 2006-01-24  Bruno Haible  <bruno@clisp.org>
56425
56426         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
56427         Patch by Paul Eggert.
56428
56429 2006-01-24  Bruno Haible  <bruno@clisp.org>
56430
56431         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
56432         already has it.
56433         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
56434         2005-11-26.
56435
56436         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
56437         'signed char' to avoid problems with the built-in _Bool type.
56438         Reported by Paul Eggert on 2005-11-26.
56439
56440 2006-01-24  Bruno Haible  <bruno@clisp.org>
56441
56442         * gnulib-tool (func_import): Avoid constructing complicated sed
56443         expressions inside backquote.
56444         Report and solution by Mark D. Baushke <mdb@gnu.org>.
56445
56446 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
56447
56448         These changes imported from libc.
56449         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
56450         test and two separate function calls.
56451         * lib/strndup.c (__strndup): Add libc_hidden_def.
56452
56453 2006-01-23  Simon Josefsson  <jas@extundo.com>
56454
56455         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
56456         Remove the test_*_SOURCES variable: automake infers it by default.
56457         * modules/tls-tests: Likewise.
56458
56459 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56460
56461         Work around porting bugs reported by Dieter in
56462         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
56463         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
56464         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
56465         Include "getopt.h" first, to check interface.
56466         (getenv): Declare only if defined HAVE_DECL_GETENV &&
56467         !HAVE_DECL_GETENV.
56468         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
56469         (__strndup): Revert to K&R-style function dfns, the glibc style.
56470         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
56471         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
56472         Include strnlen.h first, to get prototype properly.
56473         (strnlen): Renamed from __strnlen.
56474         Remove weak alias.
56475
56476 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56477
56478         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
56479
56480 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
56481
56482         * config/srclist.txt: Adjust to reflect glibc reorganization.
56483         This affects only comments.
56484
56485 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
56486
56487          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
56488          Reported by Bruce Korb <bkorb@gnu.org>.
56489
56490 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
56491
56492         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
56493         to pacify gcc -Wswitch-default.
56494
56495 2006-01-22  Bruno Haible  <bruno@clisp.org>
56496
56497         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
56498         temporary buffer for sprintf, take into account the precision also
56499         for 'd', 'i', 'u', 'o', 'x', 'X'.
56500
56501 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
56502
56503         * modules/argp-tests: New module
56504         * tests/test-argp.c: New file
56505         * tests/test-argp-2.sh: New file
56506
56507 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
56508
56509         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
56510         (__argp_base_name): Removed
56511         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
56512         typo.
56513         (__argp_base_name): Provide macro definition or extern declaration
56514         depending on the configuration
56515
56516 2006-01-20  Simon Josefsson  <jas@extundo.com>
56517
56518         * modules/inet_ntop (Depends-on): Depend on sys_socket.
56519
56520 2006-01-20  Simon Josefsson  <jas@extundo.com>
56521
56522         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
56523
56524 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
56525
56526         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
56527         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
56528         Suggested by Bruno Haible.
56529
56530 2006-01-20  Karl Berry  <karl@gnu.org>
56531
56532         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
56533         until changes propagate, I guess.
56534
56535 2006-01-19  Simon Josefsson  <jas@extundo.com>
56536
56537         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
56538
56539 2006-01-19  Simon Josefsson  <jas@extundo.com>
56540
56541         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
56542
56543 2006-01-19  Simon Josefsson  <jas@extundo.com>
56544
56545         * gnulib-tool: Set check_PROGRAMS.
56546
56547         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
56548         modules/des-tests, modules/gc-arcfour-tests,
56549         modules/gc-arctwo-tests, modules/gc-des-tests,
56550         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
56551         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
56552         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
56553         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
56554         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
56555         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
56556         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
56557         test_*_SOURCES.
56558
56559 2006-01-18  Simon Josefsson  <jas@extundo.com>
56560
56561         * modules/socklen (Depends-on): Depend on sys_socket.
56562
56563 2006-01-18  Simon Josefsson  <jas@extundo.com>
56564
56565         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
56566         modules/des-tests, modules/gc-arcfour-tests,
56567         modules/gc-arctwo-tests, modules/gc-des-tests,
56568         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
56569         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
56570         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
56571         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
56572         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
56573         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
56574         $(EXEEXT) to automake TESTS variable, for mingw32.
56575
56576 2006-01-17  Simon Josefsson  <jas@extundo.com>
56577
56578         * modules/socklen (Include): Need sys/socket.h.
56579
56580 2006-01-17  Bruno Haible  <bruno@clisp.org>
56581
56582         * modules/ssize_t (Include): Add <sys/types.h>.
56583
56584 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
56585
56586         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
56587         it's not portable and it doesn't work with cross-compiles.
56588         Problem reported by Bruno Haible.  Fix missing-$ typo in
56589         'test "gl_cv_ignore_unused_libraries" ...' that prevented
56590         -zignore from being used with Sun's C compiler.
56591
56592 2006-01-12  Simon Josefsson  <jas@extundo.com>
56593
56594         * lib/base64.c: Fix warning, reported by Bruno Haible
56595         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
56596
56597 2006-01-12  Bruno Haible  <bruno@clisp.org>
56598
56599         * modules/ldd: New file.
56600         * build-aux/ldd.sh.in: New file.
56601         * MODULES.html.sh (Support for building libraries and executables): Add
56602         ldd.
56603
56604 2006-01-12  Bruno Haible  <bruno@clisp.org>
56605
56606         * m4/ldd.m4: New file.
56607
56608 2006-01-12  Bruno Haible  <bruno@clisp.org>
56609
56610         * gnulib-tool (func_import, func_create_testdir): Don't go into an
56611         endless loop while replacing $auxdir with build-aux.
56612
56613 2006-01-11  Simon Josefsson  <jas@extundo.com>
56614
56615         * lib/stdint_.h (SIZE_MAX): Add missing (.
56616
56617 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
56618
56619         Sync from coreutils.
56620         * lib/md5.c: Fix commentary typos.
56621         (alignof, UNALIGNED_P): No need for a GCC-specific version.
56622         * lib/md5.h (__attribute__): Remove; unused.
56623         * lib/sha1.c: Fix commentary to match md5 better.
56624         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
56625         so that we don't need to worry about alignment.  All uses changed.
56626         This merges the 2005-10-28 md5 change into sha1.
56627
56628 2006-01-11  Jim Meyering  <jim@meyering.net>
56629
56630         Sync from coreutils.
56631         * lib/md5.c (OP): Fix spacing.
56632
56633 2006-01-11  Bruno Haible  <bruno@clisp.org>
56634
56635         Ensure automatic ordering between gl_LOCK and gl_ARGP.
56636         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
56637         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
56638
56639 2006-01-11  Bruno Haible  <bruno@clisp.org>
56640
56641         Ensure automatic ordering between gl_LOCK and gl_ARGP.
56642         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
56643         the "early" section as well.
56644
56645 2006-01-11  Bruno Haible  <bruno@clisp.org>
56646
56647         Avoid "ar: no archive members specified" error on MacOS X.
56648         * gnulib-tool (func_modules_add_dummy): New function.
56649         (func_import, func_create_testdir): Invoke it.
56650
56651 2006-01-11  Bruno Haible  <bruno@clisp.org>
56652
56653         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
56654         with $auxdir in AC_CONFIG_FILES statements.
56655
56656 2006-01-11  Bruno Haible  <bruno@clisp.org>
56657
56658         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
56659         Initialize also noinst_HEADERS to empty.
56660
56661 2006-01-11  Bruno Haible  <bruno@clisp.org>
56662
56663         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
56664         variables.
56665         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
56666         autoreconf.
56667
56668 2006-01-11  Bruno Haible  <bruno@clisp.org>
56669
56670         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
56671         overridable by the user.
56672         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
56673
56674 2006-01-10  Simon Josefsson  <jas@extundo.com>
56675
56676         * modules/sys_socket: New file.
56677
56678 2006-01-10  Simon Josefsson  <jas@extundo.com>
56679
56680         * m4/sys_socket_h.m4: New file.
56681
56682 2006-01-10  Simon Josefsson  <jas@extundo.com>
56683
56684         * lib/socket_.h: New file.
56685
56686 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
56687
56688         * modules/readutmp (Maintainer): Add myself.
56689
56690 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
56691
56692         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
56693         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
56694         People who are still concerned with buggy memcmp implementations
56695         can invoke gl_FUNC_MEMCMP themselves.
56696
56697 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
56698
56699         * lib/regex_internal.h (BITSET_WORD_BITS):
56700         Work around a bug in 64-bit PGC (before version 6.1-2), where the
56701         preprocessor mishandles large unsigned values as if they were signed.
56702         Problem reported by Claudio Fontana in
56703         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
56704
56705 2006-01-10  Jim Meyering  <jim@meyering.net>
56706
56707         Avoid the double-free (first in fts_read, second in fts_close) that
56708         would occur when an `active' directory is made inaccessible (e.g.,
56709         via chmod a-x) during a traversal.
56710         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
56711         before returning.  Reproduce this failure by
56712         mkdir -p a/b; cd a; chmod a-x . b
56713         Reported by Stavros Passas.
56714
56715         Sync from coreutils.
56716         * lib/sha1.c: Tweak grammar in a comment.
56717
56718 2006-01-10  Jim Meyering  <jim@meyering.net>
56719
56720         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
56721         Patch by Joerg Sonnenberger.
56722
56723 2006-01-10  Bruno Haible  <bruno@clisp.org>
56724
56725         * modules/readutmp: Depend on module free.
56726         * modules/strtok_r: Depend on module restrict.
56727
56728 2006-01-10  Bruno Haible  <bruno@clisp.org>
56729
56730         * modules/gettext (configure.ac): Add an invocation of
56731         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
56732
56733 2006-01-10  Bruno Haible  <bruno@clisp.org>
56734
56735         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
56736         Reported by Werner Lemberg <wl@gnu.org>.
56737
56738 2006-01-10  Bruno Haible  <bruno@clisp.org>
56739
56740         * lib/localcharset.c: Update from GNU gettext.
56741
56742 2006-01-10  Bruno Haible  <bruno@clisp.org>
56743
56744         * lib/argp.h (__const): Remove macro. Use const instead.
56745         * lib/argp-fmtstream.h (__const): Likewise.
56746         * lib/glob_.h (__const): Remove macro.
56747         * lib/glob-libc.h: Use const instead of __const.
56748
56749 2006-01-10  Bruno Haible  <bruno@clisp.org>
56750
56751         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
56752         variable.
56753         Needed to avoid an automake error regarding the 'gettext' module.
56754
56755 2006-01-09  Simon Josefsson  <jas@extundo.com>
56756
56757         * modules/inet_ntop (Depends-on): Add restrict.
56758
56759 2006-01-09  Simon Josefsson  <jas@extundo.com>
56760
56761         * modules/gc-rijndael-tests (License): Put under LGPL.
56762
56763         * modules/gc-des-tests (License): Likewise.
56764
56765         * modules/gc-arcfour-tests (License): Likewise.
56766
56767         * modules/gc-arctwo-tests (License): Likewise.
56768
56769         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
56770
56771         * modules/gc-hmac-sha1-tests (Files): Likewise.
56772
56773         * modules/gc-hmac-md5-tests (License): Likewise.
56774
56775         * modules/gc-sha1-tests (License): Likewise.
56776
56777         * modules/gc-md5-tests (License): Likewise.
56778
56779         * modules/gc-md4-tests (License): Likewise.
56780
56781         * modules/gc-md2-tests (License): Likewise.
56782
56783         * modules/gc-tests (License): Likewise.
56784
56785         * modules/des-tests (License): Likewise.
56786
56787         * modules/md4-tests (License): Likewise.
56788
56789         * modules/md2-tests (License): Likewise.
56790
56791 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56792
56793         Sync from coreutils:
56794
56795         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
56796         * modules/lib-ignore: New file.
56797         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
56798         chdir-safer.m4, lchmod.m4.
56799         * modules/openat: Add mkdirat.c, openat-priv.h.
56800
56801 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56802
56803         Sync from coreutils.
56804         * m4/lib-ignore.m4: New file.
56805         * m4/lchmod.m4: New file.
56806
56807 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56808
56809         Sync from coreutils.
56810         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
56811         for write access: POSIX says that must fail.
56812         * lib/fts.c (diropen): Likewise.
56813         * lib/save-cwd.c (save_cwd): Likewise.
56814         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
56815         well, for minor improvements on hosts that lack O_DIRECTORY.
56816         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
56817         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
56818         Fall back on chown if open failed with EACCES.
56819
56820         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
56821         Report an error at compile-time if only a 1-second nominal clock
56822         resolution is found.
56823
56824         * lib/lchmod.h: New file.
56825         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
56826         (make_dir_parents): Use lchown rather than chown, and
56827         lchmod rather than chmod.
56828
56829         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
56830         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
56831         "proc" reported by n0dalus.
56832
56833         * lib/mountlist.c: Include <limits.h>.
56834         (dev_from_mount_options)
56835         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
56836         New function.  It no longer assumes "dev=" has the System V meaning
56837         on Linux (since it doesn't).  It also parses "dev=" more carefully.
56838         (read_file_system_list)
56839         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
56840         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
56841         dev= in that case.
56842
56843         * lib/posixtm.h (PDS_PRE_2000): New macro.
56844         * lib/posixtm.c (year): Arg is now syntax_bits rather than
56845         allow_century.  All usages changed.  Reject dates outside the range
56846         1969-1999 if PDS_PRE_2000 is used.
56847
56848 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56849
56850         Sync from coreutils.
56851         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
56852         (Time of day items): Mention the possibility of leap seconds.
56853         Problem reported by Dr. David Alan Gilbert.
56854
56855 2006-01-09  Jim Meyering  <jim@meyering.net>
56856
56857         Sync from coreutils.
56858
56859         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
56860
56861         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
56862
56863         * lib/modechange.c (mode_compile): Reject an invalid mode string
56864         that starts with an octal digit.  From Andreas Gruenbacher.
56865
56866         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
56867         and dup to open_safer and dup_safer, respectively.
56868         (openat_permissive): Fix typo in comment.
56869
56870         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
56871         "gettext.h"; either no longer needed or are guaranteed by openat.h.
56872         (_): Remove; no longer needed.
56873         (openat): Renamed from rpl_openat; no need for rpl_openat
56874         since openat.h renames openat for us.
56875         Replace most of the body with a call to openat_permissive,
56876         to avoid duplicate code.
56877         Port to (probably hypothetical) environments were mode_t is
56878         wider than int.
56879         (openat_permissive): Require mode arg, so that we can check
56880         types better.  Put it just after flags.  Change cwd failure
56881         indicator from pointer-to-bool to pointer-to-errno-value.
56882         All callers changed.
56883         Invoke openat_save_fail and/or openat_restore_fail if
56884         cwd_errno is null, so that openat can call us.
56885         (openat_permissive, fdopendir, fstatat, unlinkat):
56886         Simplify errno handling to avoid some duplicate code,
56887         as it's OK to set errno on success.
56888         * lib/openat.h: Revamp code so that function macros depend on
56889         __OPENAT_PREFIX only, not also on AT_FDCWD.
56890         (openat_ro): Remove.  Caller changed to use openat_permissive.
56891         (openat_permissive): Now a macro, if not a function.
56892         (openat_restore_fail, openat_save_fail): Now always functions,
56893         since mkdirat needs them even if __OPENAT_PREFIX is defined.
56894
56895         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
56896         and openat.c.
56897         * lib/mkdirat.c: Include openat-priv.h.
56898         Remove definitions of macros defined therein.
56899         * lib/openat.c: Likewise.
56900
56901         * lib/mkdirat.c (mkdirat): New file and function.
56902         * lib/openat.h (mkdirat): Declare.
56903
56904         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
56905
56906         * lib/openat.h (openat_permissive): Declare.
56907         (openat_ro): Define.
56908
56909         * lib/openat.c (EXPECTED_ERRNO): New macro.
56910         (openat_permissive): New function -- used in remove.c rewrite.
56911         (all functions): Set errno just before returning, only if there
56912         was an actual failure.
56913         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
56914
56915         Emulate openat-family functions using Linux's procfs, if possible.
56916         Idea and some code based on Ulrich Drepper's glibc changes.
56917
56918         * lib/openat.c: (BUILD_PROC_NAME): New macro.
56919         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
56920         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
56921         before falling back on save_cwd and restore_cwd.
56922         (fdopendir, fstatat, unlinkat): Likewise.
56923
56924         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
56925         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
56926
56927         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
56928         as second argument to va_arg.  Otherwise, some versions of gcc
56929         warn that `if this code is reached, the program will abort'.
56930
56931 2006-01-09  Jim Meyering  <jim@meyering.net>
56932
56933         Sync from coreutils.
56934         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
56935         Require openat-priv.h.
56936
56937 2006-01-09  Bruno Haible  <bruno@clisp.org>
56938
56939         * modules/strnlen (Include): Use strnlen.h.
56940
56941 2006-01-09  Bruno Haible  <bruno@clisp.org>
56942
56943         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
56944
56945 2006-01-09  Bruno Haible  <bruno@clisp.org>
56946
56947         * lib/sysexit_.h (EX_OK): New macro.
56948         Suggested by Martin Lambers <marlam@marlam.de>.
56949
56950 2006-01-09  Bruno Haible  <bruno@clisp.org>
56951
56952         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
56953         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
56954
56955 2006-01-09  Bruno Haible  <bruno@clisp.org>
56956
56957         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
56958         numbers.
56959
56960 2006-01-09  Bruno Haible  <bruno@clisp.org>
56961
56962         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
56963         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
56964         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
56965         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
56966
56967 2006-01-09  Bruno Haible  <bruno@clisp.org>
56968
56969         * build-aux/javacomp.sh.in: New file, moved from lib/.
56970         * modules/javacomp-script (Files): Update.
56971         (configure.ac): Add AC_CONFIG_FILES invocation.
56972         (EXTRA_DIST): Remove variable.
56973
56974         * build-aux/javaexec.sh.in: New file, moved from lib/.
56975         * modules/javaexec (Files): Update.
56976         (configure.ac): Add AC_CONFIG_FILES invocation.
56977         (EXTRA_DIST): Remove javaexec.sh.in.
56978
56979         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
56980         * modules/csharpcomp-script (Files): Update.
56981         (configure.ac): Add AC_CONFIG_FILES invocation.
56982         (EXTRA_DIST): Remove variable.
56983
56984         * build-aux/csharpexec.sh.in: New file, moved from lib/.
56985         * modules/csharpexec (Files): Update.
56986         (configure.ac): Add AC_CONFIG_FILES invocation.
56987         (EXTRA_DIST): Remove csharpexec.sh.in.
56988
56989 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
56990
56991         Sync from coreutils.
56992
56993         Add POSIX ACL support
56994         * lib/acl.h (copy_acl, set_acl): Add declarations.
56995         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
56996         systems other than Linux.
56997         (chmod_or_fchmod): New function: use fchmod when possible,
56998         and chmod otherwise.
56999         (file_has_acl): Add a POSIX ACL implementation, with a
57000         Linux-specific subcase.
57001         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
57002         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
57003         acls are unsupported.
57004         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
57005         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
57006         are unsupported.
57007
57008 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
57009
57010         Sync from coreutils.
57011         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
57012
57013 2006-01-07  Bruno Haible  <bruno@clisp.org>
57014
57015         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
57016         gl_EARLY.
57017
57018 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57019
57020         * lib/strftime.c (tzname): Don't declare if it is already #defined.
57021         Problem reported for Mingw by Mark Junker.
57022
57023 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
57024
57025         * README: Gnulib normally doesn't generate a tarball.
57026
57027 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
57028
57029         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
57030         long int, not int, for nanosecond counts, so that people who are
57031         used to POSIX struct timespec won't be surprised.  Reported by Jim
57032         Meyering.
57033
57034 2005-12-28  Bruno Haible  <bruno@clisp.org>
57035
57036         * build-aux/config.rpath: Update from GNU gettext.
57037
57038 2005-12-16  Jim Meyering  <jim@meyering.net>
57039
57040         * modules/fprintftime: New module.
57041         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
57042
57043 2005-12-16  Jim Meyering  <jim@meyering.net>
57044
57045         * m4/fprintftime.m4: New file.
57046
57047 2005-12-16  Jim Meyering  <jim@meyering.net>
57048
57049         * lib/fprintftime.c, lib/fprintftime.h: New files.
57050
57051 2005-12-15  Simon Josefsson  <jas@extundo.com>
57052
57053         * modules/socklen (configure.ac): Fix M4 macro name, to align with
57054         new m4/socklen.m4.
57055
57056 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57057
57058         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
57059         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
57060
57061 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
57062
57063         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
57064         * lib/argp-help.c (fill_in_uparams): Check if the constructed
57065         struct uparams is valid. Fall back to the default values if it is
57066         not.
57067
57068 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
57069
57070         * modules/argp (Files): Add argp-pin.c
57071         (Depends-on): dirname
57072         (lib_SOURCES): Add argp-pin.c
57073
57074 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
57075
57076         * m4/argp.m4:  Check if program_invocation_name and
57077         program_invocation_short_name are declared and define appropriate
57078         macros if they are not.
57079
57080 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
57081
57082         * lib/argp-help.c (__argp_base_name): New function
57083         (__argp_short_program_name): Rewrite using __argp_base_name
57084         * lib/argp-namefrob.h: Define program_invocation_name and
57085         program_invocation_short_name if requested
57086         (__argp_base_name): Add prototype
57087         * lib/argp-parse.c (argp_def): Use gettext wrappers
57088         (argp_default_parser): Use __argp_base_name
57089         * lib/argp-pin.c: New file. Defines program_invocation_name and
57090         program_invocation_short_name on systems that lack them.
57091
57092 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
57093
57094         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
57095         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
57096         porting problem reported by Georg Schwarz in
57097         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
57098
57099 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
57100
57101         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
57102         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
57103         porting problem reported by Georg Schwarz in
57104         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
57105
57106 2005-12-05  Bruno Haible  <bruno@clisp.org>
57107
57108         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
57109         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
57110         Reported by Mark Junker <mjscod@gmx.de>.
57111
57112 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
57113
57114         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
57115         Use implementation from Albert Chin, with some
57116         comments/corrections by Stepan Kasal and myself.
57117
57118 2005-12-02  Bruno Haible  <bruno@clisp.org>
57119
57120         * gnulib-tool (func_import): Accept GPLed build tool modules when
57121         --lgpl is given.
57122         * modules/csharpcomp-script: New file.
57123         * modules/csharpcomp: Depend on it.
57124         * modules/javacomp-script: New file.
57125         * modules/javacomp: Depend on it.
57126         Suggested by Simon Josefsson.
57127
57128 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
57129
57130         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
57131         statement, to work around an HP-UX 10.20 compiler bug reported by
57132         Peter O'Gorman.
57133
57134 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
57135
57136         * modules/savedir (Depends-on): Add openat.
57137
57138 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
57139
57140         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
57141         (uintmax_t) [defined uintmax_t]: Do not declare.
57142         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
57143         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
57144         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
57145         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
57146         sake of portability to weird hosts that C allows (though we don't
57147         know of any practical examples).
57148
57149         * lib/savedir.h (fdsavedir): New decl.
57150         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
57151         contains most of the former guts of savedir.
57152         (savedir): Use savedirstream.
57153         Include "openat.h".
57154
57155 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
57156
57157         * modules/obstack (Files): Add m4/ulonglong.m4.
57158         Problem reported by Davide Angelocola.
57159
57160 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
57161
57162         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
57163         coreutils no longer futzes with rounding modes.
57164
57165 2005-11-14  Jim Meyering  <jim@meyering.net>
57166
57167         * lib/mkstemp-safer.c: Include <config.h>, required for possible
57168         replacement of mkstemp.
57169
57170 2005-11-10  Simon Josefsson  <jas@extundo.com>
57171
57172         * lib/readline.c: Remove EOL.
57173
57174 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
57175
57176         * modules/gethrxtime (Depends-on): Add gettime.
57177
57178 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
57179
57180         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
57181         or gettimeofday; no longer needed.
57182
57183 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
57184
57185         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
57186         time business.
57187         (gethrxtime) [! (HAVE_NANOUPTIME
57188         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
57189         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
57190         our own approximation.
57191
57192 2005-11-08  Eric Blake  <ebb9@byu.net>
57193
57194         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
57195
57196 2005-11-08  Eric Blake  <ebb9@byu.net>
57197
57198         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
57199
57200 2005-11-04  Bruno Haible  <bruno@clisp.org>
57201
57202         * gnulib-tool: Implement --update mode.
57203
57204 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
57205
57206         Fix porting problem reported by Theodoros V. Kalamatianos.
57207         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
57208         Don't assume that futimes failing means we must fail.
57209
57210 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
57211
57212         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
57213         variables to suggest the intended function of the PATH_MAX check.
57214
57215 2005-10-30  Kean Johnston  <jkj@sco.com>
57216
57217         Trivial changes to support SCO systems.
57218         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
57219         as PATH_MAX.
57220         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
57221         where __ptr is null when no I/O is pending.
57222
57223 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
57224
57225         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
57226         leave errno alone.  Problem reported by Dmitry V. Levin.
57227
57228 2005-10-28  Simon Josefsson  <jas@extundo.com>
57229
57230         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
57231         Test more.
57232
57233         * tests/test-gc-md2.c, tests/test-md2.c: New files.
57234
57235         * modules/md2, modules/md2-tests: New files.
57236
57237 2005-10-28  Simon Josefsson  <jas@extundo.com>
57238
57239         * m4/inet_ntop.m4: More tests.
57240
57241         * m4/gc-md2.m4, md2.m4: New file.
57242
57243 2005-10-28  Simon Josefsson  <jas@extundo.com>
57244
57245         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
57246         "restrict" keywords, as per POSIX.  Protect the function
57247         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
57248         Don't use K&R prototypes.  Check the sprintf return values.
57249         Re-define EAFNOSUPPORT if not present.  Indent.
57250
57251         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
57252         suggested by Bruno Haible <bruno@clisp.org>.
57253
57254         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
57255
57256         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
57257
57258         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
57259         libgcrypt).
57260
57261         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
57262
57263         * lib/md2.h, lib/md2.c: New files.
57264
57265 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
57266
57267         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
57268         errno alone.  Problem reported by Frederic Jolliton.
57269
57270 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
57271
57272         * modules/verify (License): Change from GPL to LGPL.  This is a
57273         tiny module and there are apparently near-equivalents that are
57274         under the BSD license.
57275
57276 2005-10-24  Simon Josefsson  <jas@extundo.com>
57277
57278         * modules/sha1: Relicense to LGPL.
57279
57280 2005-10-24  Simon Josefsson  <jas@extundo.com>
57281
57282         * lib/md4.h: Shrink buffer size, now that we changed the type.
57283
57284 2005-10-23  Simon Josefsson  <jas@extundo.com>
57285
57286         * gnulib-tool (func_import): Fix --tests-base.
57287
57288 2005-10-22  Simon Josefsson  <jas@extundo.com>
57289
57290         * modules/arcfour (Depends-on): Need stdint.
57291
57292 2005-10-22  Simon Josefsson  <jas@extundo.com>
57293
57294         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
57295         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
57296
57297 2005-10-22  Simon Josefsson  <jas@extundo.com>
57298
57299         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
57300         suggested by Bruno Haible <bruno@clisp.org>.
57301
57302 2005-10-22  Simon Josefsson  <jas@extundo.com>
57303
57304         * lib/crc.h: Include stddef.h, for size_t.
57305
57306 2005-10-22  Simon Josefsson  <jas@extundo.com>
57307
57308         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
57309         arcfour_context struct (simplify test vector testing in GNU
57310         Shishi).
57311
57312 2005-10-21  Simon Josefsson  <jas@extundo.com>
57313
57314         * modules/des, modules/des-tests: New files.
57315
57316         * modules/gc-des, modules/gc-des-tests: New files.
57317
57318         * tests/test-des.c, tests/test-gc-des.c: New file.
57319
57320 2005-10-21  Simon Josefsson  <jas@extundo.com>
57321
57322         * modules/arctwo, modules/arctwo-tests: New files.
57323
57324         * tests/test-arctwo.c: New file.
57325
57326         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
57327
57328         * tests/test-gc-arctwo.c: New file.
57329
57330 2005-10-21  Simon Josefsson  <jas@extundo.com>
57331
57332         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
57333         Bruno Haible <bruno@clisp.org>.
57334
57335         * m4/gc-des.m4: New file.
57336
57337 2005-10-21  Simon Josefsson  <jas@extundo.com>
57338
57339         * m4/arctwo.m4: New file.
57340
57341         * m4/gc-arctwo.m4: New file.
57342
57343 2005-10-21  Simon Josefsson  <jas@extundo.com>
57344
57345         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
57346         block.
57347
57348 2005-10-21  Simon Josefsson  <jas@extundo.com>
57349
57350         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
57351         <bruno@clisp.org>.
57352
57353         * lib/hmac-sha1.c (hmac_sha1): Likewise.
57354
57355         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
57356         Bruno Haible <bruno@clisp.org>.
57357
57358         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
57359         <bruno@clisp.org>.
57360
57361 2005-10-21  Simon Josefsson  <jas@extundo.com>
57362
57363         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
57364
57365 2005-10-21  Simon Josefsson  <jas@extundo.com>
57366
57367         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
57368
57369 2005-10-21  Simon Josefsson  <jas@extundo.com>
57370
57371         * lib/des.h, lib/des.c: New files.
57372
57373         * lib/gc-gnulib.c: Support DES.c
57374
57375 2005-10-21  Simon Josefsson  <jas@extundo.com>
57376
57377         * lib/arctwo.h, lib/arctwo.c: New files.
57378
57379         * lib/gc-gnulib.c: Support ARCTWO.
57380
57381 2005-10-21  Simon Josefsson  <jas@extundo.com>
57382
57383         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
57384         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
57385
57386 2005-10-21  Simon Josefsson  <jas@extundo.com>
57387
57388         * gnulib-tool (func_import, func_create_testdir): Define automake
57389         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
57390         Makefile.am snippet),
57391         suggested by Bruno Haible <bruno@clisp.org>.
57392
57393         * modules/gc (Makefile.am): Use it.
57394
57395 2005-10-21  Bruno Haible  <bruno@clisp.org>
57396
57397         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
57398         patch.
57399
57400 2005-10-19  Simon Josefsson  <jas@extundo.com>
57401
57402         * tests/test-gc-rijndael.c: New file.
57403
57404         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
57405
57406 2005-10-19  Simon Josefsson  <jas@extundo.com>
57407
57408         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
57409         interface too.
57410
57411 2005-10-19  Simon Josefsson  <jas@extundo.com>
57412
57413         * tests/test-gc-arcfour.c: New file.
57414
57415         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
57416
57417 2005-10-19  Simon Josefsson  <jas@extundo.com>
57418
57419         * modules/gc-md4, modules/gc-md4-tests: New file.
57420
57421         * tests/test-gc-md4.c: New file.
57422
57423 2005-10-19  Simon Josefsson  <jas@extundo.com>
57424
57425         * m4/gc-md4.m4: New file.
57426
57427 2005-10-19  Simon Josefsson  <jas@extundo.com>
57428
57429         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
57430         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
57431         <kasal@ucw.cz>.
57432
57433 2005-10-19  Simon Josefsson  <jas@extundo.com>
57434
57435         * m4/gc-arcfour.m4: New file.
57436
57437         * m4/gc-rijndael.m4: New file.
57438
57439 2005-10-19  Simon Josefsson  <jas@extundo.com>
57440
57441         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
57442
57443 2005-10-19  Simon Josefsson  <jas@extundo.com>
57444
57445         * lib/gc-gnulib.c: Support ARCFOUR.
57446
57447 2005-10-19  Simon Josefsson  <jas@extundo.com>
57448
57449         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
57450         support.
57451
57452         * lib/gc.h: Add ECB enum type.
57453
57454         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
57455
57456 2005-10-18  Simon Josefsson  <jas@extundo.com>
57457
57458         * tests/test-md5.c: New file.
57459
57460         * modules/md5-tests: New file.
57461
57462 2005-10-18  Simon Josefsson  <jas@extundo.com>
57463
57464         * tests/test-md4.c: New file.
57465
57466         * modules/md4, modules/md4-tests: New files.
57467
57468 2005-10-18  Simon Josefsson  <jas@extundo.com>
57469
57470         * m4/md4.m4: New file.
57471
57472 2005-10-18  Simon Josefsson  <jas@extundo.com>
57473
57474         * lib/md4.h, lib/md4.c: New files, based on md5.?.
57475
57476 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
57477
57478         * gnulib-tool (func_create_testdir): Omit the second check whether
57479         BUILT_SOURCES in nonempty.
57480
57481 2005-10-17  Simon Josefsson  <jas@extundo.com>
57482
57483         * tests/test-rijndael.c: New file.
57484
57485 2005-10-17  Simon Josefsson  <jas@extundo.com>
57486
57487         * modules/sha1: Depend on stdint instead of md5.
57488
57489         * modules/md5: Depend on stdint, remove uint32_t.
57490
57491 2005-10-17  Simon Josefsson  <jas@extundo.com>
57492
57493         * modules/gc-sha1-tests: New file.
57494
57495         * tests/test-gc-sha1.c: New file.
57496
57497 2005-10-17  Simon Josefsson  <jas@extundo.com>
57498
57499         * m4/md5.m4: Remove call to uint32_t.m4.
57500
57501 2005-10-17  Simon Josefsson  <jas@extundo.com>
57502
57503         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
57504
57505         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
57506         md5.h.
57507
57508         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
57509
57510         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
57511
57512 2005-10-17  Simon Josefsson  <jas@extundo.com>
57513
57514         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
57515
57516 2005-10-17  Simon Josefsson  <jas@extundo.com>
57517
57518         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
57519
57520 2005-10-17  Simon Josefsson  <jas@extundo.com>
57521
57522         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
57523
57524         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
57525
57526 2005-10-17  Bruno Haible  <bruno@clisp.org>
57527
57528         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
57529         that it can also be used in a test.
57530
57531 2005-10-16  Bruno Haible  <bruno@clisp.org>
57532
57533         * gnulib-tool (func_emit_tests_Makefile_am): Also define
57534         TESTS_ENVIRONMENT, so that individual tests can augment it.
57535
57536         * gnulib-tool (func_create_testdir): Use an intermediate target for
57537         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
57538         macros, like $(ALLOCA_H), which cannot be passed through the command
57539         line.
57540
57541 2005-10-15  Simon Josefsson  <jas@extundo.com>
57542
57543         * modules/rijndael-tests: New file.
57544
57545         * modules/rijndael: New file.
57546
57547 2005-10-15  Simon Josefsson  <jas@extundo.com>
57548
57549         * m4/rijndael.m4: New file.
57550
57551 2005-10-15  Simon Josefsson  <jas@extundo.com>
57552
57553         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
57554
57555         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
57556
57557 2005-10-14  Simon Josefsson  <jas@extundo.com>
57558
57559         * tests/test-arcfour.c: New file.
57560
57561         * modules/arcfour, modules/arcfour-tests: New files.
57562
57563 2005-10-14  Simon Josefsson  <jas@extundo.com>
57564
57565         * m4/arcfour.m4: New file.
57566
57567 2005-10-14  Simon Josefsson  <jas@extundo.com>
57568
57569         * lib/arcfour.h, lib/arcfour.c: New files.
57570
57571 2005-10-14  Roland McGrath  <roland@redhat.com>
57572
57573         Import from libc.  [BZ #1331]
57574         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
57575         macro argument.
57576         Reported by Matej Vela <vela@debian.org>.
57577
57578 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
57579
57580         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
57581         include <wchar.h>; no longer needed.
57582
57583 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
57584
57585         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
57586
57587 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
57588         and  Ulrich Drepper  <drepper@redhat.com>
57589
57590         Import from libc.
57591         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
57592         instead of inline stream orientation test and two separate
57593         function calls.  Pay no attention to USE_IN_LIBIO.
57594
57595 2005-10-13  Simon Josefsson  <jas@extundo.com>
57596
57597         * modules/gc-hmac-md5-tests: New file.
57598
57599         * tests/test-gc-hmac-sha1.c: New file.
57600
57601         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
57602
57603         * modules/gc-hmac-md5-tests: New file.
57604
57605         * tests/test-gc-md5.c: New file.
57606
57607         * modules/gc-md5-tests: New file.
57608
57609 2005-10-13  Simon Josefsson  <jas@extundo.com>
57610
57611         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
57612         Move memory allocation outside of loop.
57613
57614 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
57615
57616         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
57617         intermediate directory is in a read-only file system.  Problem
57618         reported by Eric Blake.
57619
57620 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
57621
57622         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
57623
57624 2005-10-12  Simon Josefsson  <jas@extundo.com>
57625
57626         * tests/test-hmac-sha1.c: New file.
57627
57628         * modules/hmac-sha1-tests: New file.
57629
57630         * modules/hmac-sha1: New file.
57631
57632 2005-10-12  Simon Josefsson  <jas@extundo.com>
57633
57634         * modules/gc-sha1: New file.
57635
57636 2005-10-12  Simon Josefsson  <jas@extundo.com>
57637
57638         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
57639
57640         * tests/test-gc-pbkdf2-sha1.c: New file.
57641
57642 2005-10-12  Simon Josefsson  <jas@extundo.com>
57643
57644         * modules/gc-md5, modules/gc-hmac-md5: New files.
57645
57646         * modules/gc (Files): Remove md5, memxor and hmac files.
57647
57648 2005-10-12  Simon Josefsson  <jas@extundo.com>
57649
57650         * m4/gc-pbkdf2-sha1.m4: New file.
57651
57652         * m4/gc-hmac-sha1.m4: New file.
57653
57654         * m4/gc-sha1: New file.
57655
57656         * m4/hmac-sha1.m4: New file.
57657
57658 2005-10-12  Simon Josefsson  <jas@extundo.com>
57659
57660         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
57661
57662         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
57663
57664 2005-10-12  Simon Josefsson  <jas@extundo.com>
57665
57666         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
57667         suggested by Bruno Haible <bruno@clisp.org>.
57668
57669 2005-10-12  Simon Josefsson  <jas@extundo.com>
57670
57671         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
57672
57673 2005-10-12  Simon Josefsson  <jas@extundo.com>
57674
57675         * lib/gc-pbkdf2-sha1.c: New file.
57676
57677         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
57678
57679 2005-10-12  Simon Josefsson  <jas@extundo.com>
57680
57681         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
57682
57683         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
57684
57685 2005-10-12  Simon Josefsson  <jas@extundo.com>
57686
57687         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
57688         GC_USE_HMAC_MD5, respectively.
57689
57690         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
57691         (gc_md5): Fix typo.
57692
57693         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
57694
57695         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
57696
57697         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
57698
57699 2005-10-12  Bruno Haible  <bruno@clisp.org>
57700
57701         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
57702         Reported by Stepan Kasal <kasal@ucw.cz>.
57703
57704 2005-10-11  Simon Josefsson  <jas@extundo.com>
57705
57706         * tests/test-crc.c: New file.
57707
57708         * modules/crc, modules/crc-tests: New files.
57709
57710 2005-10-11  Simon Josefsson  <jas@extundo.com>
57711
57712         * m4/crc.m4: New file.
57713
57714 2005-10-11  Simon Josefsson  <jas@extundo.com>
57715
57716         * lib/gc.h: Add gc_hash and gc_hash_buffer.
57717
57718         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
57719
57720         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
57721
57722 2005-10-11  Simon Josefsson  <jas@extundo.com>
57723
57724         * lib/crc.h, lib/crc.c: New files.
57725
57726         * lib/gc.h (gc_hash_buffer): Add doc.
57727
57728 2005-10-11  Bruno Haible  <bruno@clisp.org>
57729
57730         * modules/c-strcasestr: New file.
57731         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
57732
57733 2005-10-11  Bruno Haible  <bruno@clisp.org>
57734
57735         * modules/c-strcase: New file.
57736         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
57737
57738 2005-10-11  Bruno Haible  <bruno@clisp.org>
57739
57740         * lib/strcasecmp.c: Include limits.h.
57741         (strcasecmp): Avoid integer overflow on exotic platforms.
57742         * lib/strncasecmp.c: Include limits.h.
57743         (strncasecmp): Avoid integer overflow on exotic platforms.
57744         Reported by Paul Eggert.
57745
57746 2005-10-11  Bruno Haible  <bruno@clisp.org>
57747
57748         * lib/c-strcasestr.h: New file, from GNU gettext.
57749         * lib/c-strcasestr.c: New file, from GNU gettext.
57750
57751 2005-10-11  Bruno Haible  <bruno@clisp.org>
57752
57753         * lib/c-strcase.h: New file, from GNU gettext.
57754         * lib/c-strcasecmp.c: New file, from GNU gettext.
57755         * lib/c-strncasecmp.c: New file, from GNU gettext.
57756
57757 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
57758
57759         * modules/mempcpy (License): GPL -> LGPL.
57760         * modules/strchrnul (License): Likewise.
57761         * modules/sysexits (License): Likewise.
57762
57763 2005-10-08  Simon Josefsson  <jas@extundo.com>
57764
57765         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
57766
57767 2005-10-07  Simon Josefsson  <jas@extundo.com>
57768
57769         * m4/memxor.m4: Remove gl_C_RESTRICT call.
57770
57771 2005-10-06  Simon Josefsson  <jas@extundo.com>
57772
57773         * tests/test-hmac-md5.c: New file.
57774
57775         * modules/hmac-md5-tests: New file.
57776
57777         * modules/hmac-md5: New file.
57778
57779 2005-10-06  Simon Josefsson  <jas@extundo.com>
57780
57781         * m4/hmac-md5.m4: New file.
57782
57783         * m4/memxor.m4: Require gl_C_RESTRICT.
57784
57785 2005-10-06  Simon Josefsson  <jas@extundo.com>
57786
57787         * lib/memxor.c (memxor): Avoid casts and warnings.
57788
57789 2005-10-06  Simon Josefsson  <jas@extundo.com>
57790
57791         * lib/hmac-md5.c: New file.
57792
57793         * lib/hmac.h: New file.
57794
57795 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
57796
57797         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
57798         promotes to int, not unsigned int, to catch the AIX 5.3
57799         compiler bug.
57800
57801 2005-10-05  Simon Josefsson  <jas@extundo.com>
57802
57803         * modules/memxor: New file.
57804
57805         * modules/iconv (Files): Move config.rpath to havelib, it is used
57806         there.
57807
57808         * modules/havelib (Files): Add config.rpath.
57809
57810 2005-10-05  Simon Josefsson  <jas@extundo.com>
57811
57812         * m4/memxor.m4: New file.
57813
57814 2005-10-05  Simon Josefsson  <jas@extundo.com>
57815
57816         * lib/memxor.c (memxor): Fix compiler error.
57817
57818         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
57819         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
57820
57821         * lib/memxor.h, lib/memxor.c: New files.
57822
57823         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
57824         we assume all systems have it, suggested by Jim Meyering
57825         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
57826         any systems lack sys/socket.h; mingw32 is known to lack it, but we
57827         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
57828         same reasons.
57829
57830 2005-10-05  Simon Josefsson  <jas@extundo.com>
57831
57832         * config/srclist.txt: Add glibc bug 1423 for md5.h.
57833
57834 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
57835
57836         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
57837         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
57838         needed, since the source code now assumes these .h files.
57839
57840 2005-10-05  Derek Price  <derek@ximbiot.com>
57841
57842         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
57843
57844 2005-10-05  Bruno Haible  <bruno@clisp.org>
57845
57846         * modules/stdint (License): Change to LGPL.
57847
57848 2005-10-04  Simon Josefsson  <jas@extundo.com>
57849
57850         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
57851         D. Baushke" <mdb@gnu.org>.
57852
57853 2005-10-04  Bruno Haible  <bruno@clisp.org>
57854
57855         * lib/verify.h (verify_true): Provide alternative definition for C++.
57856
57857 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
57858
57859         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
57860         (SSIZE_MAX): New macro, if not already defined.
57861         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
57862         than 2 GiB.
57863
57864 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
57865
57866         Sync from coreutils.
57867         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
57868         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
57869         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
57870         ULLONG_MAX doesn't work with 2.7.2.1.
57871
57872 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
57873
57874         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
57875         From Ben Pfaff.
57876
57877         * modules/exclude (Depends-on): Depend on verify.
57878         * modules/strtoimax (Depends-on): Likewise.
57879         * modules/utimecmp (Depends-on): Likewise.
57880
57881 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
57882
57883         * lib/exclude.c: Include verify.h.
57884         (verify): Remove.  All callers changed to use verify.h's version.
57885         * lib/strtoimax.c: Likewise.
57886         * lib/utimecmp.c: Likewis.e
57887
57888         Sync from coreutils.
57889         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
57890         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
57891         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
57892         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
57893         bother returning ENOSYS if settimeofday or stime fails; just let
57894         them return whatever errno they want to return.
57895         * lib/utimens.c: Include unistd.h, for dup2.
57896         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
57897         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
57898
57899 2005-10-02  Jim Meyering  <jim@meyering.net>
57900
57901         Sync from coreutils.
57902         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
57903         from glibc-2.2.5 that fails for read-only files.
57904
57905 2005-10-02  Jim Meyering  <jim@meyering.net>
57906
57907         Sync from coreutils.
57908         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
57909         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
57910         `#if HAVE_CONFIG_H'.
57911         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
57912         Remove AT_FDCWD test.
57913         Do not consume the fd unless successful.
57914         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
57915         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
57916         block, so that we don't even try to compile it if settimeofday is
57917         available.  This works around a compilation failure on OSF1 V5.1,
57918         due to stime requiring a `long int*' while tv_sec is `int'.
57919
57920 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
57921
57922         Sync from coreutils.
57923         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
57924         against `yes', rather than just testing for nonempty.
57925
57926 2005-10-01  Simon Josefsson  <jas@extundo.com>
57927
57928         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
57929         and Darwin.
57930
57931         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
57932         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
57933         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
57934         freeaddrinfo and gai_strerror are declared by the POSIX headers.
57935         Check if struct addrinfo is declared.
57936
57937 2005-10-01  Simon Josefsson  <jas@extundo.com>
57938
57939         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
57940         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
57941         AI_* and EAI_* definitions.  Protect function declarations.
57942
57943 2005-10-01  Jim Meyering  <jim@meyering.net>
57944
57945         Sync from coreutils.
57946
57947         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
57948         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
57949         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
57950         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
57951         in the inet and nsl libraries.  Required on Solaris 5.7.
57952
57953 2005-10-01  Jim Meyering  <jim@meyering.net>
57954
57955         Sync from coreutils.
57956         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
57957         in the inet and nsl libraries.  Required on Solaris 5.7.
57958
57959 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
57960
57961         * lib/getdelim.c (getdelim): Remove unused variables.
57962
57963 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
57964
57965         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
57966         so that the code works even with ancient cpp.  Portability problem
57967         with GCC 2.7.2.1 reported by Thomas M.Ott.
57968
57969 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
57970
57971         * modules/regex (Depends-on): Add strcase.
57972
57973         * modules/gethostname (Licence): Change from GPL to LGPL, since
57974         gethostname.c is a trivial implementation of a standard library
57975         function.
57976         * modules/poll (License): Change from GPL to LGPL, since it's
57977         derived from LGPL code.
57978
57979 2005-09-27  Jim Meyering  <jim@meyering.net>
57980
57981         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
57982         HAVE_CONFIG_H.
57983
57984         * lib/intprops.h (signed_type_or_expr__): Define.
57985         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
57986         for unsigned types.
57987
57988 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
57989
57990         * lib/verify.h (verify_expr): Remove, replacing with:
57991         (verify_true): New macro that returns true instead of void.
57992         (verify_type__): Remove.
57993         (verify): Use verify_true rather than verify_type__.
57994
57995 2005-09-26  Bruno Haible  <bruno@clisp.org>
57996
57997         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
57998         is necessary.
57999         (lib_SOURCES): Remove mbchar.c.
58000         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
58001         (Files): Add m4/mbrtowc.m4.
58002         * modules/mbiter: Likewise.
58003         * modules/mbuiter: Likewise.
58004
58005 2005-09-26  Bruno Haible  <bruno@clisp.org>
58006
58007         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
58008         compile mbchar.c if they are not both present.
58009         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
58010         * m4/mbiter.m4 (gl_MBITER): Likewise.
58011         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
58012         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
58013         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
58014
58015 2005-09-25  Jim Meyering  <jim@meyering.net>
58016
58017         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
58018         also uses socklen_t.
58019
58020 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
58021
58022         * lib/utimens.c (ENOSYS): Define if not already defined.
58023         (futimens): Support having a null PATH if the file descriptor
58024         is nonnegative.
58025
58026         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
58027         Remove.
58028         (__attribute): Define to empty unless GCC 3.1 or later.
58029         This works around a core dump on OpenBSD 3.4, which has GCC
58030         2.95.3, which dumps core when given __attribute__(()).  It also
58031         simplifies other tests, since we really don't want to bother with
58032         worrying about which ancient version of GCC supported what.
58033         Original problem reported by Yoann Vandoorselaere, with part of
58034         the fix suggested by Derek Price.
58035
58036 2005-09-24  Jim Meyering  <jim@meyering.net>
58037
58038         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
58039         so we can once again use a positive bitfield width of 1 -- now we
58040         don't have to explain why we were using a bitfield width of 2.
58041
58042 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
58043
58044         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
58045         and similarly for the other external symbols.  Problem reported
58046         by James Gallager.
58047
58048         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
58049         bug reported by Jim Meyering.
58050
58051         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
58052         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
58053         not needed, since socklen is a prerequisite module.
58054
58055 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
58056
58057         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
58058         Problem reported by Eric Blake.
58059         (getaddrinfo): Initialize se so that it's not garbage.
58060         Redo internal storage allocation so that it doesn't make unportable
58061         assumptions about alignment.
58062         Fix a memory leak.
58063
58064         * lib/utimens.c (futimens): Use futimesat if available.
58065         Prefer it to futimes since it doesn't have the futimes bug.
58066
58067         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
58068         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
58069         Instead, declare a function that returns a pointer to an array,
58070         and use verify_type__ to declare the size of the array.
58071         Problem and germ of a solution reported by Bruno Haible.
58072         (verify_type__): Use 2, not 1, for bitfield size, to avoid
58073         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
58074
58075 2005-09-23  Jim Meyering  <jim@meyering.net>
58076
58077         Sync from coreutils.
58078         Correct build failure (socklen_t not defined) on at least
58079         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
58080         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
58081
58082 2005-09-23  Jim Meyering  <jim@meyering.net>
58083
58084         * modules/getaddrinfo (Depends-on): Add socklen.
58085
58086 2005-09-23  Bruno Haible  <bruno@clisp.org>
58087
58088         * tests/test-verify.c: New file.
58089
58090 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
58091
58092         Sync from coreutils.
58093
58094         * modules/argmatch (Depends-on): Add verify.
58095         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
58096         unistd-safer.
58097         * modules/save-cwd (Depends-on): Likewise.
58098
58099         * modules/openat (Files): Add lib/openat-die.c.
58100         (Depends-on): Remove error, exitfail.
58101         Add dirname.
58102
58103         * modules/verify: New file.
58104         * MODULES.html.sh (Diagnostics <assert.h>): New section,
58105         with "verify" module.
58106
58107 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
58108
58109         Sync from coreutils.
58110
58111         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
58112         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
58113         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
58114         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
58115         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
58116         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
58117         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
58118         Don't bother checking for string.h, stdlib.h, unistd.h.
58119         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
58120         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
58121         module's job.
58122         * m4/jm-macros.m4 (gl_MACROS): Likewise.
58123         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
58124
58125         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
58126         (gl_GETDATE): Use it.
58127
58128         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
58129
58130 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
58131
58132         Sync from coreutils.
58133
58134         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
58135         stat-time.h.
58136         * lib/argmatch.h: Include verify.h
58137         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
58138         (ARGMATCH_ASSERT): Remove; unused.
58139         * lib/canonicalize.c: Assume STDC_HEADERS.
58140         * lib/exclude.c: Include "strcase.h".
58141         * lib/regex_internal.h [!defined _LIBC]: Likewise.
58142         * lib/getusershell.c: Include stdio--.h rather than stdio.h
58143         and stdio-safer.h.
58144         (getusershell): Call fopen, not fopen_safer.
58145         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
58146         Do not include unistd-safer.h.
58147         (save_cwd): Don't call fd_safer; no longer needed
58148         now that we include fcntl--.h.
58149
58150         * lib/getdate.y (relative_time): New type.
58151         (RELATIVE_TIME_0): New constant.
58152         (parser_control): Use relative_time instead of doing it ourselves.
58153         (%union): Add new relative_time rel member.
58154         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
58155         Now typeless.
58156         (relunit, relunit_snumber): Now of type rel.
58157         (zone, rel, relunit, get_date): Adjust to above changes.
58158
58159         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
58160         Do not include unistd-safer.h.
58161         (getloadavg): Don't call fd_safer; no longer needed
58162         now that we include fcntl--.h.
58163
58164         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
58165         (make_dir_parents): Treat ENOSYS like EEXIST.
58166
58167         Improve quality of diagnostics on restore_cwd failure.
58168         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
58169         (make_dir_parents): Last arg is now int * (for errno), not bool *.
58170         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
58171         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
58172         each time through the loop.  Do not diagnose restore_cwd failure;
58173         that is the caller's job (and perhaps the caller does not care).
58174
58175         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
58176         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
58177         If the file already exists but is not a directory, don't bother
58178         to try to make its parents.
58179         Close potential file descriptor leak if we can't chdir("/") (!).
58180         Don't always return true if chdir($PWD) fails; return true only
58181         if the requested action was done successfully (except for the
58182         chdir($PWD)).
58183         Don't log final directory unless we actually made it.
58184         Refactor to avoid duplicate code to fix up permissions.
58185         Don't attempt to fix up parent permissions if chdir($PWD) fails.
58186
58187         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
58188         to make it a bit faster and (I hope) clearer.
58189         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
58190         Fix bug in formats like %2N.
58191
58192         * lib/verify.h: New file.
58193
58194 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
58195
58196         Sync from coreutils.
58197         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
58198
58199 2005-09-22  Jim Meyering  <jim@meyering.net>
58200
58201         Sync from coreutils.
58202
58203         * m4/lstat.m4 (gl_FUNC_LSTAT):
58204         Use AC_LIBSOURCES to require lstat.c and lstat.h.
58205         Remove obsolete comment.
58206         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
58207         * m4/xstrtod.m4: Likewise.
58208
58209         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
58210
58211 2005-09-22  Jim Meyering  <jim@meyering.net>
58212
58213         Sync from coreutils.
58214
58215         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
58216
58217         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
58218         the .tm_year member, since otherwise gcc-4.0 would now warn about
58219         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
58220
58221         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
58222         order to avoid an unsuppressible warning from gcc on 64-bit systems.
58223
58224         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
58225         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
58226         when run in a time zone for which daylight savings time is in effect
58227         for the starting date.
58228
58229         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
58230         stop us from restricting permissions of just-created absolute-named
58231         directories.
58232         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
58233         to restore initial working directory.
58234         * lib/mkdir-p.c (make_dir_parents): New parameter:
58235         different_working_dir, to tell caller if/when we change the working
58236         directory and are unable to return to the initial one.
58237         * lib/mkdir-p.h (make_dir_parents): Update prototype.
58238         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
58239         `return false'.  This fixes a bug introduced on 2004-07-30.
58240
58241         * lib/openat.c (fdopendir): Be sure to close the supplied
58242         file descriptor before returning.  This makes our replacement
58243         implementation a little closer to Solaris's, where fdopendir
58244         ties the file descriptor to the returned DIR* pointer.
58245         * lib/openat.c (unlinkat): New function.
58246         * lib/openat.h (unlinkat): Add prototype.
58247         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
58248         (openat_restore_fail): Rename from openat_restore_die.
58249         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
58250
58251         Provide an alternative to exiting immediately upon save_cwd or
58252         restore_cwd failure.  Now, an application can arrange e.g.,
58253         to perform a longjump in that case.
58254         * lib/openat.c: Include dirname.h.
58255         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
58256         (rpl_openat, fdopendir, fstatat): Call openat_save_die
58257         and openat_restore_die rather than calling error directly.
58258         Don't include "error.h" or "exitfail.h"; they're no longer needed.
58259
58260         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
58261         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
58262         define.
58263
58264         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
58265         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
58266                             int utc, int nanoseconds);
58267         Background:
58268         date should not have to allocate a megabyte of virtual memory to
58269         handle a format argument like +%1048575T.  When implemented with
58270         strftime, it must allocate such a buffer, use strftime to fill it
58271         in, print it, then free it.
58272         With fprintftime, it simply prints everything and exits.
58273         With no need for memory allocation, that's one fewer way to fail.
58274         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
58275         optional field width, not before, so we accept %9:z, not %:9z.
58276         (my_strftime): Be sure to use L_('x') for literals.
58277
58278         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
58279         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
58280         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
58281         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
58282         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
58283         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
58284         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
58285         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
58286         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
58287         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
58288         * lib/xgethostname.c, lib/xreadlink.c:
58289         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
58290
58291         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
58292         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
58293         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
58294         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
58295         and don't include <sys/file.h>).
58296
58297 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
58298
58299         Sync from coreutils.
58300
58301         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
58302         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
58303         [!LDAV_DONE]: Avoid unused variable warning.
58304
58305 2005-09-21  Bruno Haible  <bruno@clisp.org>
58306
58307         * lib/unicodeio.h (unicode_to_mb): New declaration.
58308
58309 2005-09-20  Derek Price  <derek@ximbiot.com>
58310
58311         * lib/getaddrinfo.c: Don't include <netdb.h> included from
58312         getaddrinfo.h.
58313
58314 2005-09-20  Bruno Haible  <bruno@clisp.org>
58315
58316         * gnulib-tool: Remove trailing slashes from the values specified for
58317         --source-base, --m4-base, --tests-base, --aux-dir.
58318         Suggested by Simon Josefsson <jas@extundo.com>.
58319
58320 2005-09-20  Bruno Haible  <bruno@clisp.org>
58321
58322         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
58323         func_modules_to_filelist, func_import, func_create_testdir): Make all
58324         sorting results locale-independent, so that gnulib-cache.m4 doesn't
58325         change when gnulib-tool is invoked in a different locale.
58326
58327 2005-09-19  Simon Josefsson  <jas@extundo.com>
58328
58329         * m4/socklen.m4: Fix typo.
58330
58331 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58332
58333         Use a consistent style for including <config.h>.
58334         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
58335         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
58336         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
58337         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
58338         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
58339         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
58340         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
58341         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
58342         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
58343         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
58344         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
58345         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
58346         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
58347         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
58348         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
58349         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
58350         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
58351         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
58352         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
58353         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
58354         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
58355         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
58356         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
58357         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
58358         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
58359         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
58360         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
58361         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
58362         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
58363         lib/xstrtoumax.c, lib/yesno.c:
58364         Standardize inclusion of config.h.
58365         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
58366         lib/inttostr.h:  Removed inclusion of config.h from header files.
58367         * lib/inttostr.c:  Adjusted in-tree users.
58368         * lib/timespec.h: Remove superfluous warning to include config.h.
58369         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
58370         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
58371         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
58372         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
58373         config.h with HAVE_CONFIG_H.
58374
58375 2005-09-19  Jim Meyering  <jim@meyering.net>
58376
58377         * modules/pathmax (License): Change to LGPL.
58378
58379 2005-09-19  Derek Price  <derek@ximbiot.com>
58380
58381         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
58382
58383 2005-09-19  Bruno Haible  <bruno@clisp.org>
58384
58385         * gnulib-tool (import): Provide default for --tests-base.
58386
58387 2005-09-19  Bruno Haible  <bruno@clisp.org>
58388
58389         * doc/quote.texi: New file, extracted from gnulib.texi.
58390         * doc/ctime.texi: New file, extracted from gnulib.texi.
58391         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
58392         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
58393         * doc/gnulib.texi: Include them.
58394
58395 2005-09-18  Bruno Haible  <bruno@clisp.org>
58396
58397         Portability fix.
58398         * gnulib-tool (func_readlink): New function.
58399         (func_ln_if_changed): Use it.
58400
58401 2005-09-18  Bruno Haible  <bruno@clisp.org>
58402
58403         * gnulib-tool: Support --with-tests also with --import.
58404         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
58405         (func_import): Use variables $testsbase and $inctests. Emit a
58406         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
58407         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
58408         SUBDIRS += $testsdir.
58409         (func_create_testdir): Update.
58410
58411 2005-09-18  Bruno Haible  <bruno@clisp.org>
58412
58413         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
58414         instead of $dry_run.
58415         (func_cp_if_changed, func_mv_if_changed): Remove functions.
58416         (func_ln_if_changed): Don't handle dry-run here.
58417         (func_import): In dry-run mode, detect more precisely which actions
58418         would be performed, and don't use "...ing" verbs.
58419
58420 2005-09-18  Bruno Haible  <bruno@clisp.org>
58421
58422         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
58423         (func_import): Use join on two temporary files instead of three nested
58424         loops, in order to determine which files are new or old.
58425
58426 2005-09-18  Bruno Haible  <bruno@clisp.org>
58427
58428         * gnulib-tool (func_import): Comment out code that spits out the
58429         new files with --dry-run.
58430
58431 2005-09-18  Bruno Haible  <bruno@clisp.org>
58432
58433         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
58434
58435 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
58436
58437         * lib/stat-time.h: New file.
58438         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
58439         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
58440         in a different way.
58441         (timespec_cmp): New function.
58442         * lib/utimecmp.c: Include stat-time.h.
58443         (SYSCALL_RESOLUTION): Depend on whether various struct stat
58444         members exist, not on the obsolescent ST_MTIM_NSEC.
58445         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
58446
58447 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
58448
58449         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
58450
58451 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
58452
58453         * MODULES.html.sh (File system functions): Add stat-time.
58454         * modules/stat-time: New file.
58455         * modules/timespec (Files): Remove m4/st_mtim.m4; this
58456         is now done in a different way, by the stat-time module.
58457         * modules/utimecmp (Depends-on): Add stat-time.
58458
58459 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
58460
58461         * m4/st_mtim.m4: Remove.  Superseded by...
58462         * m4/stat-time.m4: New file.
58463         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
58464         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
58465
58466 2005-09-15  Derek Price  <derek@ximbiot.com>
58467
58468         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
58469
58470 2005-09-15  Derek Price  <derek@ximbiot.com>
58471
58472         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
58473         * lib/regex_internal.c: Ditto, using this...
58474         (__GNUC_PREREQ): ...new macro.
58475         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
58476         using...
58477         (__GNUC_PREREQ): ...this new macro.
58478
58479         * lib/strstr.h: Include string.h. Define strstr as a macro here.
58480
58481 2005-09-15  Derek Price  <derek@ximbiot.com>
58482             Paul Eggert  <eggert@cs.ucla.edu>
58483
58484         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
58485         changes, consolidating in...
58486         * lib/regex_internal.h: ...this file.
58487
58488 2005-09-13  Jim Meyering  <jim@meyering.net>
58489
58490         * lib/canon-host.c: Filter through gnu indent and reword comments
58491         slightly.
58492         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
58493
58494 2005-09-13  Derek Price  <derek@ximbiot.com>
58495
58496         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
58497         failure.
58498         Reported by Jim Meyering  <jim@meyering.net>.
58499
58500 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
58501
58502         * lib/base64.c: Typo.
58503         (base64_encode): Put b64str in initialized data section.
58504
58505 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
58506
58507         Merge glibc and coreutils changes into gnulib, plus a few
58508         extra fixes.
58509         * lib/md5.c: Use #error rather than a string.
58510         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
58511         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
58512         (__attribute__): Define to empty for non recent-GCC.
58513         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
58514         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
58515         Renamed from their non-__ counterparts, with new macros replacing
58516         them if not _LIBC.  Add __THROW attribute.
58517         (rol): Remove.
58518         (struct md5_ctx): Align buffer if using GCC.
58519         * lib/sha1.h (struct sha1_ctx): Likewise.
58520         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
58521         The old name was backwards.
58522         (NOTSWAP): Remove; not used.
58523         (rol): New macro, moved here from md5.h.
58524         (sha1_process_block): Remove a FIXME that doesn't make sense.
58525
58526 2005-09-12  Derek Price  <derek@ximbiot.com>
58527
58528         Return usable errors from canon-host.
58529         * lib/canon-host.h: New file.
58530         * lib/canon-host.c (canon_host): Wrap...
58531         (canon_host_r): ...this new function, which now relies exclusively on
58532         getaddrinfo.
58533         (ch_strerror): New function.
58534         (last_cherror): New global.
58535         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
58536         interface.
58537         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
58538         void *.
58539         (freeaddrinfo): Free ai->ai_canonname when set.
58540
58541 2005-09-12  Derek Price  <derek@ximbiot.com>
58542
58543         Make canon-host require getaddrinfo.
58544         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
58545         AC_LIBSOURCE canon-host.h.  Call...
58546         (gl_PREREQ_CANON_HOST): ...this new function, which requires
58547         gl_GETADDRINFO.
58548         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
58549
58550 2005-09-12  Derek Price  <derek@ximbiot.com>
58551
58552         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
58553         LGPL.
58554         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
58555
58556 2005-09-12  Derek Price  <derek@ximbiot.com>
58557
58558         * lib/gai_strerror.c: Include config.h when available.  Include
58559         getaddrinfo.h before other headers to test interface.
58560         Reported by Larry Jones <lawrence.jones@ugs.com>.
58561
58562 2005-09-12  Derek Price  <derek@ximbiot.com>
58563             Paul Eggert  <eggert@cs.ucla.edu>
58564
58565         * modules/glob (Files): Add glob-libc.h.
58566
58567 2005-09-12  Derek Price  <derek@ximbiot.com>
58568             Paul Eggert  <eggert@cs.ucla.edu>
58569
58570         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
58571         glob_.h, glob-libc.h.
58572         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
58573
58574 2005-09-12  Derek Price  <derek@ximbiot.com>
58575             Paul Eggert  <eggert@cs.ucla.edu>
58576
58577         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
58578         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
58579         protecting things that should be done only in gnulib contexts.
58580         * lib/glob_.h: New file, containing only the glob things needed for
58581         gnulib.
58582         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
58583         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
58584         (glob, globfree, glob_pattern_p): Now defined simply in terms of
58585         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
58586         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
58587         and to respect the namespace rules better.
58588
58589 2005-09-08  Simon Josefsson  <jas@extundo.com>
58590
58591         * modules/socklen: New file.
58592
58593 2005-09-08  Simon Josefsson  <jas@extundo.com>
58594
58595         * m4/socklen.m4: New file.
58596
58597 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58598
58599         * modules/utimens (Files): Add m4/utimbuf.m4, since
58600         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
58601         Reported by Sergey Poznyakoff.
58602
58603 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58604
58605         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
58606         definitions, since that's the preferred style in glibc.
58607         Fix a minor spacing issue, and update copyright notice to match
58608         glibc's.
58609
58610 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
58611
58612         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
58613
58614 2005-09-06  Simon Josefsson  <jas@extundo.com>
58615
58616         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
58617         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
58618
58619 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
58620
58621         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
58622         warning.
58623
58624 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
58625
58626         * config/srclist.txt: Add glibc bug 1302.
58627
58628 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
58629
58630         Change bitset word type from unsigned int to unsigned long int,
58631         as this has better performance on typical 64-bit hosts.
58632         Port bitset code to hosts with unusual word sizes.
58633         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
58634         (build_collating_symbol):
58635         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
58636         argument is a bitset.  This is merely a style issue, but it makes
58637         it clearer that an entire array is expected.
58638         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
58639         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
58640         Port to the case where bitset_word is not the same as unsigned int.
58641         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
58642         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
58643         Likewise.
58644         * lib/regexec.c (check_dst_limits_calc_pos_1,
58645         check_subexp_matching_top):
58646         (build_trtable, group_nodes_into_DFAstates):
58647         Likewise.
58648         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
58649         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
58650         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
58651         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
58652         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
58653         * lib/regcomp.c (optimize_subexps, lower_subexp):
58654         Work even if bitset_word has holes in its bitwise representation.
58655         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
58656         * lib/regexec.c (check_dst_limits_calc_pos_1,
58657         check_subexp_matching_top):
58658         Likewise.
58659         * lib/regex_internal.c (re_string_reconstruct):
58660         Don't assume UCHAR_MAX == 255.
58661         * lib/regex_internal.h (bitset_set_all): Likewise.
58662         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
58663         All uses changed.
58664         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
58665         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
58666         All uses changed.
58667         (BITSET_WORD_MAX): New macro.
58668         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
58669         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
58670         (bitset_empty, bitset_copy):
58671         Prefer sizeof (bitset) to multiplying it out ourselves.
58672         (bitset_not_merge): Remove; unused.
58673         (bitset_contain): Return bool, not unsigned int with one bit on.
58674         All callers changed.
58675         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
58676         alignment than re_node_set; do this by defining a new internal
58677         type struct dests_alloc and using it to allocate memory.
58678
58679 2005-09-05  Bruno Haible  <bruno@clisp.org>
58680
58681         * gnulib-tool (func_import): Fix comparison in handling of symbolic
58682         links.
58683
58684 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
58685
58686         * modules/size_max (Makefile.am): Add size_max.h
58687
58688 2005-09-04  Derek Price  <derek@ximbiot.com>
58689
58690         * gnulib-tool (func_import): Fix reversed $symbolic logic.
58691
58692 2005-09-03  Simon Josefsson  <jas@extundo.com>
58693
58694         * gnulib-tool: Fix typo.
58695
58696 2005-09-03  Simon Josefsson  <jas@extundo.com>
58697
58698         * config/srclist.txt: Add glibc bug 1293.
58699
58700 2005-09-03  Derek Price  <derek@ximbiot.com>
58701
58702         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
58703         From Larry Jones <lawrence.jones@ugs.com>.
58704
58705 2005-09-02  Simon Josefsson  <jas@extundo.com>
58706
58707         * modules/socklen: New file.
58708
58709 2005-09-02  Simon Josefsson  <jas@extundo.com>
58710
58711         * modules/havelib: New module.
58712
58713         * modules/gettext, modules/iconv, modules/lock, modules/readline:
58714         Use havelib.
58715
58716 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
58717
58718         Check for arithmetic overflow when calculating sizes, to prevent
58719         some buffer-overflow issues.  These patches are conservative, in the
58720         sense that when I couldn't determine whether an overflow was possible,
58721         I inserted a run-time check.
58722         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
58723         macros.
58724         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
58725         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
58726         (re_xnrealloc, re_x2nrealloc): New inline functions.
58727         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
58728         parse_bracket_exp):
58729         (build_equiv_class, build_charclass): Check for arithmetic overflow
58730         in size expression calculations.
58731         * lib/regex_internal.c (re_string_realloc_buffers):
58732         (build_wcs_upper_buffer, re_node_set_add_intersect):
58733         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
58734         (re_dfa_add_node, register_state): Likewise.
58735         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
58736         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
58737         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
58738         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
58739
58740 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
58741
58742         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
58743         m4/ulonglong.m4.  Problem reported by Martin Lambers.
58744
58745 2005-09-02  Bruno Haible  <bruno@clisp.org>
58746
58747         Support for lib vs. lib64 distinction on biarch platforms.
58748         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
58749         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
58750         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
58751
58752 2005-09-02  Bruno Haible  <bruno@clisp.org>
58753
58754         * gnulib-tool (import): In the other first-use case, provide defaults
58755         as well.
58756
58757 2005-09-02  Bruno Haible  <bruno@clisp.org>
58758
58759         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
58760         patches not yet found in the latest gettext release.
58761
58762 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58763
58764         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
58765         to avoid a collision with bits/local_lim.h in glibc.
58766         All uses changed.  Problem reported by Dmitry V. Levin in
58767         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
58768
58769         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
58770         bugs in int versus size_t comparisons.
58771         (re_string_context_at): Fix bug where the code assumed that
58772         Idx is signed.
58773
58774         Use bool where appropriate.
58775         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
58776         All callers changed.
58777         (calc_eclosure_iter): Likewise, for ROOT arg.
58778         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
58779         (build_charclass_op): Likewise, for NON_MATCH arg.
58780         * lib/regex_internal.c (re_string_allocate, re_string_construct):
58781         (re_string_construct_common): Likewise, for ICASE arg.
58782         * lib/regexec.c (re_search_2_stub, re_search_stub):
58783         Likewise, for RET_LEN arg.
58784         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
58785         (set_regs): Likewise, for FL_BACKTRACK arg.
58786         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
58787         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
58788         (calc_eclosure_iter, parse_bracket_exp):
58789         Use bool for internal variables that are booleans.
58790         * lib/regexec.c (re_search_internal, check_matching,
58791         proceed_next_node):
58792         (set_regs, build_sifted_states, sift_states_bkref):
58793         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
58794         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
58795         (find_collation_sequence_value):
58796         Likewise.
58797         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
58798         (re_node_set_compare):
58799         Return bool, not int. All callers changed.
58800         * lib/regexec.c (check_halt_node_context, check_dst_limits):
58801         (build_trtable, check_node_accept): Likewise.
58802         * lib/regex_internal.h: Include stdbool.h.
58803
58804         Fix bugs uncovered when converting to bool.
58805         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
58806         failure instead of charging ahead blindly.
58807         * lib/regex_internal.c (register_state): Likewise.
58808         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
58809         for freeing internal storage.
58810         (group_nodes_into_DFA_states): Use unsigned int, not int, for
58811         bitset pieces used as boolean, to avoid undefined behavior
58812         on hosts that do int overflow checking.
58813
58814 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
58815
58816         * config/srclist.txt: Add glibc bugs 1285-1287.
58817
58818 2005-09-01  Jim Meyering  <jim@meyering.net>
58819
58820         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
58821         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
58822         Require gl_STAT_MACROS, too.
58823
58824 2005-09-01  Bruno Haible  <bruno@clisp.org>
58825
58826         * gnulib-tool (import): In the first-use case, provide defaults.
58827
58828 2005-09-01  Bruno Haible  <bruno@clisp.org>
58829
58830         * gnulib-tool (func_import): Remove the .tmp files.
58831
58832 2005-09-01  Bruno Haible  <bruno@clisp.org>
58833
58834         * gnulib-tool (func_import): Fix handling of symbolic links.
58835
58836 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58837
58838         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
58839         old glibc regex code mishandles strings longer than 2**31 bytes.
58840         This patch fixes this when the regex code is used in gnulib
58841         (i.e., outside glibc).
58842
58843         This patch should not affect the use of the regex code inside
58844         glibc.  No doubt this problem also needs to be handled for glibc
58845         as well, but the result will be an incompatible change to the
58846         glibc ABI, and the old ABI will have to be supported too.  That
58847         can be the the subject for another patch.
58848
58849         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
58850         governing whether the rest of this patch is active.  By default,
58851         the macro is disabled and the patch has no effect.
58852         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
58853         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
58854         (struct re_pattern_buffer, re_search, re_search_2, re_match):
58855         (re_match_2, re_set_registers): Use the new types.
58856         * lib/regex_internal.h (Idx, re_hashval_t): New types.
58857         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
58858         New macros.
58859         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
58860         (re_string_context_at, bin_tree_t, re_dfastate_t):
58861         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
58862         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
58863         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
58864         (re_string_char_size_at, re_string_wchar_at):
58865         (re_string_elem_size_at):
58866         Use the new types and macros to port to 64-bit hosts.
58867         Use unsigned types for internal values, so that the code
58868         mostly works even for arrays larger than SSIZE_MAX.
58869         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
58870         (search_duplicated_node, calc_eclosure_iter, fetch_number):
58871         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
58872         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
58873         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
58874         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
58875         (calc_inveclosure, parse_dup_op, build_range_exp):
58876         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
58877         (fetch_number, create_token_tree, mark_opt_subexp):
58878         Likewise.
58879         * lib/regex_internal.c (re_string_construct_common,
58880         create_ci_newstate):
58881         (create_cd_newstate, re_string_allocate, re_string_construct):
58882         (re_string_realloc_buffers, build_wcs_upper_buffer):
58883         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
58884         (re_string_reconstruct, re_string_peek_byte_case):
58885         (re_string_fetch_byte_case, re_string_context_at):
58886         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
58887         (re_node_set_init_copy, re_node_set_add_intersect):
58888         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
58889         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
58890         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
58891         (re_acquire_state, re_acquire_state_context, register_state):
58892         Likewise.
58893         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
58894         search_cur_bkref_entry):
58895         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
58896         (re_search_internal, re_search_2_stub, re_search_stub)
58897         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
58898         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
58899         (update_cur_sifted_state, check_dst_limits):
58900         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
58901         (check_subexp_limits, sift_states_bkref, merge_state_array):
58902         (check_subexp_matching_top, get_subexp, get_subexp_sub):
58903         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
58904         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
58905         (expand_bkref_cache, check_node_accept_bytes):
58906         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
58907         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
58908         (acquire_init_state_context, check_halt_node_context):
58909         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
58910         (sift_states_backward, clean_state_log_if_needed):
58911         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
58912         (find_recover_state, transit_state_sb, transit_state_mb):
58913         (transit_state_bkref, build_trtable, match_ctx_clean):
58914         Likewise.
58915         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
58916         to work around an assumption that REG_MISSING is negative.
58917
58918         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
58919         (seek_collating_symbol_entry) [defined _LIBC]:
58920         (lookup_collation_sequence_value) [defined _LIBC]:
58921         (build_range_exp, build_collating_symbol) [defined _LIBC]:
58922         Use prototypes rather than old-style function definitions.
58923         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
58924         (transit_state_sb) [0]:
58925         (find_collation_sequence_value) [defined _LIBC]: Likewise.
58926
58927         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
58928         rm_eo.
58929
58930         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
58931         (optimize_subexps, lower_subexp):
58932         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
58933         since the signed shift might overflow.  Use 1u<<31 instead.
58934         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
58935         Likewise.
58936         * lib/regexec.c (check_dst_limits_calc_pos_1,
58937         check_subexp_matching_top): Likewise.
58938
58939         * lib/regcomp.c (optimize_subexps, lower_subexp):
58940         Use CHAR_BIT rather than 8, for clarity.
58941         * lib/regexec.c (check_dst_limits_calc_pos_1):
58942         (check_subexp_matching_top): Likewise.
58943         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
58944         have to worry about portability issues when shifting it left.
58945         Remove no-longer-needed test for table_size > 0.
58946         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
58947         in a word, as the resulting behavior is undefined.
58948         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
58949         in one case, a <= should have been an <, and in another case the
58950         whole test was missing.
58951         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
58952         the standard name CHAR_BIT.
58953         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
58954         this is not true on one's complement and signed-magnitude hosts.
58955
58956         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
58957         next_last_offset.
58958         (struct re_dfa_t): Remove unused member states_alloc.
58959         * lib/regcomp.c (init_dfa): Don't initialize unused members.
58960
58961 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58962
58963         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
58964         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
58965         and large-file glibc and in 32-bit large-file Solaris.
58966
58967 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58968
58969         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
58970         lengths fit in regoff_t; this isn't true if regoff_t is the same
58971         width as size_t.
58972         * lib/regex.c (re_search_internal): 5th arg is LAST_START
58973         (= START + RANGE) instead of RANGE.  This avoids overflow
58974         problems when regoff_t is the same width as size_t.
58975         All callers changed.
58976         (re_search_2_stub): Check for overflow when adding the
58977         sizes of the two strings.
58978         (re_search_stub): Check for overflow when adding START
58979         to RANGE; if it occurs, substitute the extreme value.
58980
58981 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
58982
58983         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
58984
58985 2005-08-31  Jim Meyering  <jim@meyering.net>
58986
58987         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
58988         a pointer-to-const.
58989         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
58990         (register_state): Likewise.
58991         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
58992         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
58993         (group_nodes_into_DFAstates): Likewise.
58994
58995 2005-08-31  Jim Meyering  <jim@meyering.net>
58996
58997         * check-module: Add a FIXME comment.
58998
58999 2005-08-31  Eric Blake  <ebb9@byu.net>
59000
59001         * modules/unistd-safer (Files): Add unistd--.h.
59002         * modules/stdio-safer (Files): Add stdio--.h.
59003
59004 2005-08-31  Derek Price  <derek@ximbiot.com>
59005
59006         * lib/getdelim.c (getdelim): Return EOF on EOF.
59007         Reported by Larry Jones <lawrence.jones@ugs.com>.
59008
59009 2005-08-31  Bruno Haible  <bruno@clisp.org>
59010
59011         Avoid unnecessary diffs in the generated lib/Makefile.am.
59012         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
59013         the generated files.
59014         (func_import): Don't set cmd.
59015
59016 2005-08-31  Bruno Haible  <bruno@clisp.org>
59017
59018         * lib/strstr.c: Include <stddef.h>, for NULL.
59019         * lib/strcasestr.c: Likewise.
59020         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
59021
59022 2005-08-31  Bruno Haible  <bruno@clisp.org>
59023
59024         * gnulib-tool: New option --macro-prefix.
59025         (func_import): Use macro_prefix.
59026         (import): Handle option --macro-prefix.
59027
59028 2005-08-31  Bruno Haible  <bruno@clisp.org>
59029
59030         * gnulib-tool (import): Rename most ac_* variables to cached_*.
59031         Also use new variables cached_lgpl, cached_libtool.
59032
59033 2005-08-31  Bruno Haible  <bruno@clisp.org>
59034
59035         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
59036         always instantiating them.
59037
59038 2005-08-31  Bruno Haible  <bruno@clisp.org>
59039
59040         * gnulib-tool (func_import): Read the previous cached settings
59041         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
59042         earlier added by gnulib but are now dropped. Warn when a gnulib file
59043         overwrites a non-gnulib file.
59044
59045 2005-08-31  Bruno Haible  <bruno@clisp.org>
59046
59047         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
59048         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
59049         projects that don't keep autogenerated files in CVS. Put into
59050         actioncmd only the specified modules, not the transitive closure.
59051
59052 2005-08-31  Bruno Haible  <bruno@clisp.org>
59053
59054         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
59055         Create directories that shall be filled.
59056         (import): Don't look for gl_* macros in configure.ac. Recurse across
59057         all directories containing a gnulib-cache.m4 files, if meaningful.
59058
59059 2005-08-31  Bruno Haible  <bruno@clisp.org>
59060
59061         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
59062         (import): Set seen_libtool when we see gl_LIBTOOL.
59063
59064 2005-08-31  Bruno Haible  <bruno@clisp.org>
59065
59066         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
59067         declaration macro definitions from generated gnulib.m4.
59068
59069 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
59070
59071         * lib/iconvme.h: Add prototype for iconv_alloc.
59072
59073 2005-08-29  Simon Josefsson  <jas@extundo.com>
59074
59075         * lib/iconvme.c: Fix errno.
59076
59077 2005-08-29  Bruno Haible  <bruno@clisp.org>
59078
59079         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
59080         that it works when the directory contains spaces.
59081
59082 2005-08-29  Bruno Haible  <bruno@clisp.org>
59083
59084         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
59085
59086 2005-08-29  Bruno Haible  <bruno@clisp.org>
59087
59088         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
59089         Emit more advice.
59090
59091 2005-08-29  Bruno Haible  <bruno@clisp.org>
59092         and Stepan Kasal  <kasal@ucw.cz>
59093
59094         * check-module: If more parameters are given, check each of them
59095         separately; add more exceptions, as noted by Jim Meyering.
59096         (check_module): New procedure.
59097         (%exempt_header): Now contains all exceptions.
59098
59099 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
59100
59101         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
59102
59103 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
59104
59105         * lib/iconvme.c: Split iconv_string into iconv_alloc.
59106
59107 2005-08-28  Bruno Haible  <bruno@clisp.org>
59108
59109         * m4/gnulib-tool.m4: New file.
59110
59111 2005-08-27  Jim Meyering  <jim@meyering.net>
59112
59113         * modules/unistd-safer (Files): Add pipe-safer.c.
59114         * modules/fcntl-safer (Files): Add creat-safer.c.
59115
59116 2005-08-27  Jim Meyering  <jim@meyering.net>
59117
59118         * m4/stdlib-safer.m4: New file.  From coreutils.
59119         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
59120         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
59121         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
59122         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
59123         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
59124
59125 2005-08-27  Jim Meyering  <jim@meyering.net>
59126
59127         * lib/fopen-safer.c: Merge minor changes from coreutils.
59128         * lib/dup-safer.c: Likewise.
59129         * lib/fd-safer.c: Likewise.
59130
59131         Merge from coreutils.
59132         * lib/stdio--.h: New file.
59133         * lib/stdlib--.h: New file.
59134         * lib/mkstemp-safer.c: New file.
59135
59136         GNU tar needs these.
59137         * lib/pipe-safer.c: New file.
59138         * lib/creat-safer.c: New file.
59139         * lib/fcntl--.h (creat): Define to creat_safer.
59140         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
59141         * lib/unistd--.h (pipe): Define to pipe_safer.
59142         * lib/unistd-safer.h: Declare pipe_safer.
59143
59144 2005-08-26  Simon Josefsson  <jas@extundo.com>
59145
59146         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
59147         Haible <bruno@clisp.org>.
59148
59149 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
59150
59151         * lib/regex_internal.h: Remove all references to
59152         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
59153         or better.
59154         (bitset_not, bitset_merge, bitset_not_merge):
59155         (bitset_mask, re_string_allocate, re_string_construct):
59156         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
59157         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
59158         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
59159         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
59160         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
59161         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
59162         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
59163         (re_acquire_state_context):
59164         Remove unnecessary forward decls.
59165         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
59166         Put __attribute at function definition,
59167         now that the function decl has been removed.
59168         * lib/regex_internal.c (re_string_peek_byte_case):
59169         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
59170         Likewise.
59171
59172 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
59173
59174         * m4/regex.m4: Add AC_PREREQ(2.50).
59175         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
59176
59177 2005-08-25  Simon Josefsson  <jas@extundo.com>
59178
59179         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
59180         __fsetlocking.
59181
59182 2005-08-25  Simon Josefsson  <jas@extundo.com>
59183
59184         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
59185         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
59186         GLIBC specific code.
59187
59188 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59189
59190         Make regex safe for g++.  This fixes one real bug (an "err"
59191         that should have been "*err").  g++ problem reported by
59192         Sam Steingold.
59193         * lib/regex_internal.h (re_calloc): New macro, consistent with
59194         re_malloc etc.  All callers of calloc changed to use re_calloc.
59195         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
59196         not int.  All callers changed.
59197         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
59198         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
59199         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
59200         (find_recover_state): Change "err" to "*err"; this fixes what
59201         appears to be a real bug.
59202         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
59203         versus int.
59204
59205 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59206
59207         * modules/regex (Depends-on): Add malloc, since the code
59208         assumes that !malloc(0) means failure.
59209
59210 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59211
59212         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
59213
59214         alloca modernization/simplification for regex.
59215         * lib/regex.c: Remove portability cruft for alloca.  This no longer
59216         needs to be at the start of the file, and can be moved into
59217         regex_internal.h and simplified.
59218         * lib/regex_internal.h: Include <alloca.h>.
59219         (__libc_use_alloca) [!defined _LIBC]: New macro.
59220         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
59221         now works outside glibc.
59222
59223 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
59224
59225         * config/srclist.txt: Add glibc bugs 1241, 1245.
59226
59227 2005-08-25  Jim Meyering  <jim@meyering.net>
59228
59229         * lib/open-safer.c: Include <config.h>.
59230         Otherwise, we'd lose LARGEFILE support in any file using
59231         e.g. "fcntl--.h"
59232
59233 2005-08-25  Bruno Haible  <bruno@clisp.org>
59234
59235         * m4/minmax.m4: Require autoconf 2.52.
59236         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
59237         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
59238         alternatives of translit over the alphabet.
59239         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
59240
59241 2005-08-24  Simon Josefsson  <jas@extundo.com>
59242
59243         * tests/test-getpass.c: New file.
59244
59245 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59246
59247         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
59248         for GNU regex features.
59249
59250 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59251
59252         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
59253         * lib/regex.h (regerror): Likewise.
59254
59255         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
59256         requires this.  (The code never needed it.)
59257
59258         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
59259         All uses of recently-renamed identifiers changed to use the new,
59260         POSIX-compliant names.  The code will build and run just fine
59261         without these changes, but it's better to eat our own dog food
59262         and use the standard-conforming names.
59263
59264         * lib/regex.h: Fix a multitude of POSIX name space violations.
59265         These changes have an effect only for programs that define
59266         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
59267         do not change anything for programs compiled in the normal way.
59268         Also, there is no effect on the ABI.
59269
59270         (_REGEX_SOURCE): New macro.
59271         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
59272         defined and _GNU_SOURCE is not; this fixes a name space violation.
59273
59274         Rename the following macros to obey POSIX requirements.
59275         The old names are still visible as macros if _REGEX_SOURCE is defined.
59276         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
59277         RE_BACKSLASH_ESCAPE_IN_LISTS.
59278         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
59279         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
59280         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
59281         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
59282         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
59283         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
59284         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
59285         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
59286         (REG_INTERVALS): renamed from RE_INTERVALS.
59287         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
59288         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
59289         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
59290         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
59291         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
59292         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
59293         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
59294         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
59295         RE_UNMATCHED_RIGHT_PAREN_ORD.
59296         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
59297         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
59298         (REG_DEBUG): renamed from RE_DEBUG.
59299         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
59300         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
59301         unusual, since we can't clash with the POSIX REG_ICASE.
59302         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
59303         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
59304         (REG_NO_SUB): renamed from RE_NO_SUB.
59305         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
59306         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
59307         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
59308         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
59309         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
59310         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
59311         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
59312         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
59313         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
59314         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
59315         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
59316         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
59317         RE_SYNTAX_POSIX_MINIMAL_BASIC.
59318         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
59319         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
59320         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
59321         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
59322         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
59323         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
59324         (REG_FIXED): Renamed from REGS_FIXED.
59325         (REG_NREGS): Renamed from RE_NREGS.
59326
59327         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
59328         of other REG_* macros, since POSIX says the user is allowed to
59329         #undef these macros selectively.
59330
59331         (reg_errcode_t): Update comment stating what other tables need
59332         to be consistent.
59333
59334         Rename the following enum values to obey POSIX requirements.
59335         The old names are still visible as macros.
59336         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
59337         is not defined, since GNU is supposed to be a superset of POSIX as
59338         much as possible, and since we want reg_errcode_t to be a signed
59339         type for implementation consistency.
59340         (_REG_NOERROR): Renamed from REG_NOERROR.
59341         (_REG_NOMATCH): Renamed from REG_NOMATCH.
59342         (_REG_BADPAT): Renamed from REG_BADPAT.
59343         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
59344         (_REG_ECTYPE): Renamed from REG_ECTYPE.
59345         (_REG_EESCAPE): Renamed from REG_EESCAPE.
59346         (_REG_ESUBREG): Renamed from REG_ESUBREG.
59347         (_REG_EBRACK): Renamed from REG_EBRACK.
59348         (_REG_EPAREN): Renamed from REG_EPAREN.
59349         (_REG_EBRACE): Renamed from REG_EBRACE.
59350         (_REG_BADBR): Renamed from REG_BADBR.
59351         (_REG_ERANGE): Renamed from REG_ERANGE.
59352         (_REG_ESPACE): Renamed from REG_ESPACE.
59353         (_REG_BADRPT): Renamed from REG_BADRPT.
59354         (_REG_EEND): Renamed from REG_EEND.
59355         (_REG_ESIZE): Renamed from REG_ESIZE.
59356         (_REG_ERPAREN): Renamed from REG_ERPAREN.
59357         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
59358         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
59359         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
59360         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
59361
59362         (_REG_RE_NAME, _REG_RM_NAME): New macros.
59363         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
59364         changed.  But support the old name if the new one is not defined
59365         and if _REGEX_SOURCE.
59366
59367         Change the following member names in struct re_pattern_buffer.
59368         The old names are still supported if !_REGEX_SOURCE.
59369         The new names are always supported, regardless of _REGEX_SOURCE.
59370         (re_buffer): Renamed from buffer.
59371         (re_allocated): Renamed from allocated.
59372         (re_used): Renamed from used.
59373         (re_syntax): Renamed from syntax.
59374         (re_fastmap): Renamed from fastmap.
59375         (re_translate): Renamed from translate.
59376         (re_can_be_null): Renamed from can_be_null.
59377         (re_regs_allocated): Renamed from regs_allocated.
59378         (re_fastmap_accurate): Renamed from fastmap_accurate.
59379         (re_no_sub): Renamed from no_sub.
59380         (re_not_bol): Renamed from not_bol.
59381         (re_not_eol): Renamed from not_eol.
59382         (re_newline_anchor): Renamed from newline_anchor.
59383
59384         Change the following member names in struct re_registers.
59385         The old names are still supported if !_REGEX_SOURCE.
59386         The new names are always supported, regardless of _REGEX_SOURCE.
59387         (rm_num_regs): Renamed from num_regs.
59388         (rm_start): Renamed from start.
59389         (rm_end): Renamed from end.
59390
59391         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
59392         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
59393         Prepend __ to parameter names.
59394
59395         Undo yesterday's changes.
59396
59397 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
59398
59399         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
59400         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
59401         lib/regex.c.
59402
59403 2005-08-24  Jim Meyering  <jim@meyering.net>
59404
59405         Sync from coreutils.
59406         * m4/fcntl-safer.m4: New file.
59407
59408         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
59409         and object files for this module.
59410
59411 2005-08-24  Jim Meyering  <jim@meyering.net>
59412
59413         Sync from coreutils.
59414         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
59415
59416 2005-08-24  Jim Meyering  <jim@meyering.net>
59417
59418         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
59419         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
59420
59421 2005-08-24  Jim Meyering  <jim@meyering.net>
59422
59423         * modules/fcntl-safer: New module.
59424         * modules/fts (Depends-on): Add fcntl-safer.
59425         * MODULES.html.sh (File descriptor based Input/Output):
59426         Add fcntl-safer.
59427
59428 2005-08-24  Bruno Haible  <bruno@clisp.org>
59429
59430         Support for unit test modules.
59431         * modules/README: Mention tests modules.
59432         * modules/TEMPLATE-TESTS: New file.
59433         * gnulib-tool: New options --extract-tests-module, --with-tests and
59434         --tests-base (unused for the moment).
59435         (testsbase, inctests): New variables.
59436         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
59437         (func_verify_module): Exclude TEMPLATE-TESTS.
59438         (func_verify_nontests_module, func_verify_tests_module): New functions.
59439         (func_get_dependencies): Add implicit dependency for tests modules.
59440         (func_get_tests_module): New function.
59441         (func_modules_transitive_closure): When --with-tests was specified,
59442         include the unit tests as well, unless explicitly avoided.
59443         (func_emit_lib_Makefile_am): Ignore the tests modules here.
59444         (func_emit_tests_Makefile_am): New function.
59445         (func_create_testdir): When --with-tests was specified, emit a
59446         tests/ directory.
59447         * MODULES.html.sh (Future developments): Update.
59448
59449 2005-08-24  Bruno Haible  <bruno@clisp.org>
59450
59451         * modules/tls-tests: New file.
59452         * tests/test-tls.c: New file, from GNU gettext.
59453
59454 2005-08-24  Bruno Haible  <bruno@clisp.org>
59455
59456         * modules/lock-tests: New file.
59457         * tests/test-lock.c: New file, from GNU gettext.
59458
59459 2005-08-24  Bruno Haible  <bruno@clisp.org>
59460
59461         * lib/lock.h: Add multiple inclusion guard.
59462         * lib/tls.h: Add multiple inclusion guard.
59463
59464 2005-08-24  Bruno Haible  <bruno@clisp.org>
59465
59466         * gnulib-tool: Add support for the --aux-dir option to
59467         --create-testdir, --create-megatestdir, --test, --megatest.
59468         (func_create_testdir, func_create_megatestdir): Optionally emit a
59469         AC_CONFIG_AUX_DIR directive.
59470         (create-testdir, create-megatestdir, test, megatest): Provide a
59471         default value for $auxdir.
59472
59473 2005-08-24  Bruno Haible  <bruno@clisp.org>
59474
59475         * gnulib-tool (import): Use compound statement instead of subshell
59476         where possible.
59477
59478 2005-08-24  Bruno Haible  <bruno@clisp.org>
59479
59480         * gnulib-tool (import): Change --aux-dir default to "build-aux".
59481
59482 2005-08-24  Bruno Haible  <bruno@clisp.org>
59483
59484         * gnulib-tool (func_version): Update.
59485
59486 2005-08-24  Bruno Haible  <bruno@clisp.org>
59487
59488         * gnulib-tool (func_import, func_create_testdir,
59489         func_create_megatestdir): Quote all autoconf macro arguments.
59490
59491 2005-08-24  Bruno Haible  <bruno@clisp.org>
59492
59493         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
59494         option --force, because --force causes the aclocal.m4 of each
59495         subdirectory to be newer than the corresponding config.h.in.
59496
59497 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
59498
59499         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
59500         All contents moved to gl_REGEX.
59501         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
59502         assume that it does.
59503
59504 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
59505
59506         * lib/regex.h (REG_NOSYS)
59507         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
59508         Define, since POSIX requires it as of 2001.
59509         (_REG_ENOSYS)
59510         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
59511         New private symbol, used to keep the enum signed in all cases.
59512         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
59513         Youngman in
59514         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
59515
59516         * lib/regex_internal.c (re_string_skip_chars, register_state):
59517         (calc_state_hash):
59518         Remove forward decls; no longer needed now that we use prototypes.
59519         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
59520         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
59521         (clean_state_log_if_needed): Likewise.
59522
59523 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
59524
59525         * config/srclist.txt: Add glibc bugs 1231-1233.
59526
59527 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59528
59529         Fix problems reported by Sam Steingold in
59530         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
59531         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
59532         assumed that reg_errcode_t is a signed type, which is not
59533         necessarily true if _XOPEN_SOURCE is not defined.
59534         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
59535         since some compilers warn about it otherwise.
59536
59537 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59538
59539         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
59540         (init_word_char, create_initial_state, duplicate_node_closure):
59541         (fetch_token, peek_token_bracket, build_range_exp):
59542         (build_collating_symbol): Remove forward decls; no longer needed
59543         now that we use prototypes.
59544
59545         * lib/regcomp.c:
59546         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
59547         (re_compile_fastmap_iter, regcomp, regerror, regfree):
59548         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
59549         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
59550         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
59551         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
59552         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
59553         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
59554         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
59555         (build_range_exp, build_collating_symbol, parse_bracket_exp):
59556         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
59557         (build_charclass, build_charclass_op, fetch_number, create_tree):
59558         (create_token_tree, mark_opt_subexp, duplicate_tree):
59559         Use prototypes rather than old-style definitions.
59560
59561         * lib/regex_internal.c:
59562         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
59563         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
59564         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
59565         (re_string_reconstruct, re_string_peek_byte_case):
59566         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
59567         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
59568         (re_node_set_init_copy, re_node_set_add_intersect):
59569         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
59570         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
59571         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
59572         (re_acquire_state, re_acquire_state_context, register_state):
59573         (create_ci_newstate, create_cd_newstate, free_state):
59574         Likewise.
59575         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
59576         re_search_2):
59577         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
59578         (re_search_internal, prune_impossible_nodes):
59579         (acquire_init_state_context, check_matching, static):
59580         (check_halt_node_context, check_halt_state_context, proceed_next_node):
59581         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
59582         (update_regs, sift_states_backward, build_sifted_states):
59583         (clean_state_log_if_needed, merge_state_array):
59584         (update_cur_sifted_state, add_epsilon_src_nodes):
59585         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
59586         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
59587         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
59588         (find_recover_state, check_subexp_matching_top, transit_state_mb):
59589         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
59590         (check_arrival, check_arrival_add_next_nodes):
59591         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
59592         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
59593         (check_node_accept_bytes, check_node_accept, extend_buffers):
59594         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
59595         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
59596         (sift_ctx_init):
59597         Likewise.
59598
59599         * lib/regex_internal.h:
59600         (re_string_allocate, re_string_construct, re_string_reconstruct):
59601         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
59602         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
59603         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
59604         (re_string_context_at, re_string_peek_byte_case):
59605         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
59606         is defined, since we now use prototypes always.
59607
59608         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
59609         C89 or better.  All uses removed.
59610
59611 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
59612
59613         * config/srclist.txt: Add glibc bugs 1220-1227.
59614
59615 2005-08-20  Jim Meyering  <jim@meyering.net>
59616
59617         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
59618         of unused local, dfa.
59619
59620 2005-08-20  Bruno Haible  <bruno@clisp.org>
59621
59622         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
59623
59624 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59625
59626         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
59627         (re_node_set_insert_last, re_dfa_add_node):
59628         Rename local variables to avoid GCC shadowing warnings.
59629
59630 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59631
59632         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
59633         [defined lint]: Suppress bogus uninitialized-variable warnings.
59634
59635         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
59636         and let the caller return REG_ESPACE if out of space.  This
59637         removes an uninitialied-variable warning with GCC 4.0.1, and also
59638         avoids taking the address of a local variable.  All callers
59639         changed.
59640
59641 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
59642
59643         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
59644         $LIBCSRC/posix/regexec.c.
59645         Add glibc bug 1217 for regcomp.c.
59646
59647 2005-08-19  Jim Meyering  <jim@meyering.net>
59648
59649         * lib/regexec.c (proceed_next_node): Redo local variables to
59650         avoid GCC shadowing warnings.
59651
59652 2005-08-18  Bruno Haible  <bruno@clisp.org>
59653
59654         * lib/strstr.c (strstr): Fix return value in multibyte case.
59655         * lib/strcasestr.c (strcasestr): Likewise.
59656
59657 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
59658
59659         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
59660
59661 2005-08-17  Jim Meyering  <jim@meyering.net>
59662
59663         Make the %s format (seconds since the epoch) work for a negative
59664         number and when used with a zero-padded field width, e.g. %015s.
59665
59666         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
59667         label so that it precedes the code to set `digits'.  Otherwise,
59668         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
59669         print `00-22'.  Now, it prints `-0022', as it should.
59670
59671 2005-08-17  Bruno Haible  <bruno@clisp.org>
59672
59673         * modules/strstr (Files): Add m4/mbrtowc.m4.
59674         (Depends-on): Add mbuiter.
59675
59676 2005-08-17  Bruno Haible  <bruno@clisp.org>
59677
59678         * modules/strcasestr: New file.
59679         * MODULES.html.sh (String handling, based on ANSI C 89): Add
59680         strcasestr.
59681
59682 2005-08-17  Bruno Haible  <bruno@clisp.org>
59683
59684         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
59685
59686 2005-08-17  Bruno Haible  <bruno@clisp.org>
59687
59688         * modules/mbuiter: New file.
59689         * MODULES.html.sh (Extended multibyte and wide character utilities):
59690         Add mbuiter.
59691
59692 2005-08-17  Bruno Haible  <bruno@clisp.org>
59693
59694         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
59695         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
59696
59697 2005-08-17  Bruno Haible  <bruno@clisp.org>
59698
59699         * m4/strcasestr.m4: New file.
59700
59701 2005-08-17  Bruno Haible  <bruno@clisp.org>
59702
59703         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
59704         * lib/strstr.c: Completely rewritten, with multibyte locale support.
59705
59706 2005-08-17  Bruno Haible  <bruno@clisp.org>
59707
59708         * lib/strcasestr.h: New file.
59709         * lib/strcasestr.c: New file.
59710
59711 2005-08-17  Bruno Haible  <bruno@clisp.org>
59712
59713         * lib/strcasecmp.c: Use mbuiter.h.
59714
59715 2005-08-17  Bruno Haible  <bruno@clisp.org>
59716
59717         * lib/mbuiter.h: New file.
59718
59719 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
59720
59721         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
59722         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
59723         and gl_GETOPT are both invoked via different paths (as happens
59724         with GNU tar CVS because it uses both argp and getopt), the former
59725         wins.
59726
59727 2005-08-16  Bruno Haible  <bruno@clisp.org>
59728
59729         * modules/tls: New file.
59730         * MODULES.html.sh (Multithreading): Add tls.
59731
59732 2005-08-16  Bruno Haible  <bruno@clisp.org>
59733
59734         * modules/strnlen1: New file.
59735         * MODULES.html.sh (String handling): Add strnlen1.
59736
59737 2005-08-16  Bruno Haible  <bruno@clisp.org>
59738
59739         * modules/strcase (Files): Add m4/mbrtowc.m4.
59740         (Depends-on): Add strnlen1, mbchar.
59741
59742 2005-08-16  Bruno Haible  <bruno@clisp.org>
59743
59744         * modules/mbiter: New file.
59745         * MODULES.html.sh (Extended multibyte and wide character utilities):
59746         Add mbiter.
59747
59748 2005-08-16  Bruno Haible  <bruno@clisp.org>
59749
59750         * modules/mbfile: New file.
59751         * MODULES.html.sh (Extended multibyte and wide character utilities):
59752         Add mbfile.
59753
59754 2005-08-16  Bruno Haible  <bruno@clisp.org>
59755
59756         * modules/mbchar: New file.
59757         * MODULES.html.sh (Extended multibyte and wide character utilities):
59758         New section.
59759
59760 2005-08-16  Bruno Haible  <bruno@clisp.org>
59761
59762         * m4/tls.m4: New file, from GNU gettext.
59763
59764 2005-08-16  Bruno Haible  <bruno@clisp.org>
59765
59766         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
59767         always.
59768         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
59769
59770 2005-08-16  Bruno Haible  <bruno@clisp.org>
59771
59772         * m4/mbiter.m4: New file.
59773
59774 2005-08-16  Bruno Haible  <bruno@clisp.org>
59775
59776         * m4/mbfile.m4: New file.
59777
59778 2005-08-16  Bruno Haible  <bruno@clisp.org>
59779
59780         * m4/mbchar.m4: New file.
59781
59782 2005-08-16  Bruno Haible  <bruno@clisp.org>
59783
59784         * lib/tls.h: New file, from GNU gettext.
59785         * lib/tls.c: New file, from GNU gettext.
59786
59787 2005-08-16  Bruno Haible  <bruno@clisp.org>
59788
59789         * lib/strnlen1.h: New file.
59790         * lib/strnlen1.c: New file.
59791
59792 2005-08-16  Bruno Haible  <bruno@clisp.org>
59793
59794         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
59795         (mbi_init): Update.
59796         (mbi_avail, mbi_advance): Let the iteration end before the terminating
59797         NUL byte, not after it.
59798
59799 2005-08-16  Bruno Haible  <bruno@clisp.org>
59800
59801         * lib/strcase.h (strcasecmp): Add note in comments.
59802         * lib/strncasecmp.c: Use code from strcasecmp.c.
59803         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
59804         (strcasecmp): Work correctly in multibyte locales.
59805
59806 2005-08-16  Bruno Haible  <bruno@clisp.org>
59807
59808         * lib/mbiter.h: New file.
59809
59810 2005-08-16  Bruno Haible  <bruno@clisp.org>
59811
59812         * lib/mbfile.h: New file.
59813
59814 2005-08-16  Bruno Haible  <bruno@clisp.org>
59815
59816         * lib/mbchar.h: New file.
59817         * lib/mbchar.c: New file.
59818
59819 2005-08-16  Bruno Haible  <bruno@clisp.org>
59820
59821         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
59822         the valid ones. Makes the comparison operations transitive:
59823         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
59824         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
59825
59826 2005-08-15  Simon Josefsson  <jas@extundo.com>
59827
59828         * modules/ssize_t (License): Change to 'unlimited'.
59829
59830         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
59831
59832 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
59833
59834         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
59835         Add comments for each pending glibc patch.
59836
59837 2005-08-15  Bruno Haible  <bruno@clisp.org>
59838
59839         * lib/regex.h (__restrict_arr): Don't define to __restrict if
59840         __cplusplus is defined.
59841
59842 2005-08-14  Jim Meyering  <jim@meyering.net>
59843
59844         Sync from coreutils.
59845
59846         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
59847         Use the hash-table-based cycle-detection code not just when
59848         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
59849         Reported by James Youngman in
59850         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
59851         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
59852         FTS_TIGHT_CYCLE_CHECK.
59853         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
59854         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
59855         once again.
59856         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
59857         * lib/fts.c (fd_safer): Remove decl.
59858         Include fcntl--.h rather than unistd-safer.h
59859         (fts_safe_changedir): Don't call fd_safer; no longer needed
59860         now that we include fcntl--.h.
59861
59862 2005-08-12  Simon Josefsson  <jas@extundo.com>
59863
59864         * modules/getndelim2: Use ssize_t module.
59865         * modules/getnline: Likewise.
59866         * modules/safe-read: Likewise.
59867         * modules/xreadlink: Likewise.
59868
59869         * modules/ssize_t: New file.
59870
59871 2005-08-12  Simon Josefsson  <jas@extundo.com>
59872
59873         * m4/readline.m4: Look for termcap, curses or ncurses if required.
59874
59875 2005-08-12  Simon Josefsson  <jas@extundo.com>
59876
59877         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
59878         ssize_t.
59879
59880 2005-08-12  Simon Josefsson  <jas@extundo.com>
59881
59882         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
59883         readline, getdelim and check_version.
59884         (Support for systems lacking ISO C 99: Sizes of integer types):
59885         Add size_max.
59886
59887 2005-08-12  Bruno Haible  <bruno@clisp.org>
59888
59889         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
59890
59891 2005-08-11  Simon Josefsson  <jas@extundo.com>
59892
59893         * modules/readline: New file.
59894
59895         * modules/strnlen (Files): Add strnlen.h.
59896
59897 2005-08-11  Simon Josefsson  <jas@extundo.com>
59898
59899         * m4/readline.m4: New file.
59900
59901 2005-08-11  Simon Josefsson  <jas@extundo.com>
59902
59903         * lib/readline.h, readline.c: New file.
59904
59905 2005-08-11  Simon Josefsson  <jas@extundo.com>
59906
59907         * doc/gnulib.texi (Initial import, Finishing touches): Mention
59908         gl_AVOID.
59909
59910 2005-08-11  Bruno Haible  <bruno@clisp.org>
59911
59912         * lib/strnlen.h (strnlen): Change parameter name to match comment.
59913
59914 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
59915
59916         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
59917
59918 2005-08-10  Simon Josefsson  <jas@extundo.com>
59919
59920         * tests/test-iconvme.c: New file.
59921
59922 2005-08-10  Simon Josefsson  <jas@extundo.com>
59923
59924         * m4/strnlen.m4: New file.
59925
59926         * m4/strndup.m4: Don't check for strnlen declaration, done in
59927         strnlen.m4.
59928
59929 2005-08-10  Simon Josefsson  <jas@extundo.com>
59930
59931         * lib/strndup.c: Use strnlen.h.
59932
59933         * lib/strnlen.h: New file.
59934
59935 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
59936
59937         * README: Typos.
59938
59939 2005-08-02  Simon Josefsson  <jas@extundo.com>
59940
59941         * modules/readline: New file.
59942
59943 2005-08-02  Simon Josefsson  <jas@extundo.com>
59944
59945         * modules/getdelim: New file.
59946
59947         * modules/getline: Rewrite, don't use getndelim2.
59948
59949 2005-08-02  Simon Josefsson  <jas@extundo.com>
59950
59951         * m4/getline.m4: Separate out getdelim stuff into separate module.
59952
59953         * m4/getdelim.m4: New file.
59954
59955 2005-08-02  Simon Josefsson  <jas@extundo.com>
59956
59957         * lib/getline.h, getline.c: Rewrite.
59958
59959         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
59960
59961 2005-07-31  Bruno Haible  <bruno@clisp.org>
59962
59963         * lib/lock.h (gl_lock_initializer): New macro.
59964         (gl_lock_define_initialized): Use it.
59965         (gl_rwlock_initializer): New macro.
59966         (gl_rwlock_define_initialized): Use it.
59967         (gl_recursive_lock_initializer): New macro.
59968         (gl_recursive_lock_define_initialized): Use it.
59969
59970 2005-07-30  Karl Berry  <karl@gnu.org>
59971
59972         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
59973         Report from Ben Pfaff, regarding getopt.
59974
59975 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
59976
59977         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
59978         normal way.
59979         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
59980         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
59981         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
59982         (gl_GETOPT): Use the new macros.  Most of the implementation
59983         is moved to the new macros.  This is for programs like Emacs
59984         that don't want all the functionality of gl_GETOPT.
59985
59986 2005-07-26  Bruno Haible  <bruno@clisp.org>
59987
59988         * m4/lock.m4: Update from GNU gettext.
59989
59990 2005-07-26  Bruno Haible  <bruno@clisp.org>
59991
59992         * lib/lock.h: Update from GNU gettext.
59993         * lib/lock.c: Update from GNU gettext.
59994
59995 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
59996
59997         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
59998         obsolescent AC_TRY_RUN.  Include the default includes files, for
59999         'exit'.
60000
60001 2005-07-24  Bruno Haible  <bruno@clisp.org>
60002
60003         * modules/visibility: New file.
60004         * MODULES.html.sh (Misc): Add visibility.
60005
60006 2005-07-24  Bruno Haible  <bruno@clisp.org>
60007
60008         * m4/visibility.m4: New file.
60009
60010 2005-07-24  Bruno Haible  <bruno@clisp.org>
60011
60012         * doc/visibility.texi: New file.
60013
60014 2005-07-22  Bruno Haible  <bruno@clisp.org>
60015
60016         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
60017         $(ALLOCA_H), redundant through BUILT_SOURCES.
60018         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
60019         redundant through BUILT_SOURCES.
60020         * modules/byteswap (Makefile.am): Remove explicit dependency on
60021         $(BYTESWAP_H), redundant through BUILT_SOURCES.
60022         * modules/fnmatch (Makefile.am): Remove explicit dependency on
60023         $(FNMATCH_H), redundant through BUILT_SOURCES.
60024         * modules/getopt (Makefile.am): Remove explicit dependency on
60025         $(GETOPT_H), redundant through BUILT_SOURCES.
60026         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
60027         redundant through BUILT_SOURCES.
60028         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
60029         redundant through BUILT_SOURCES.
60030         * modules/stdbool (Makefile.am): Remove explicit dependency on
60031         $(STDBOOL_H), redundant through BUILT_SOURCES.
60032         * modules/stdint (Makefile.am): Remove explicit dependency on
60033         $(STDINT_H), redundant through BUILT_SOURCES.
60034         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
60035         Remove explicit dependency on $(SYSEXITS_H).
60036         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
60037
60038 2005-07-18  Simon Josefsson  <jas@extundo.com>
60039
60040         * lib/check-version.c (check_version): Accept identical versions too.
60041
60042 2005-07-18  Bruno Haible  <bruno@clisp.org>
60043
60044         * modules/lock: New file.
60045         * MODULES.html.sh (Multithreading): New section.
60046
60047 2005-07-18  Bruno Haible  <bruno@clisp.org>
60048
60049         * m4/lock.m4: New file, from GNU gettext.
60050
60051 2005-07-18  Bruno Haible  <bruno@clisp.org>
60052
60053         * lib/lock.h: New file, from GNU gettext.
60054         * lib/lock.c: New file, from GNU gettext.
60055
60056 2005-07-18  Bruno Haible  <bruno@clisp.org>
60057
60058         * lib/lock.h (gl_once_t): New type.
60059         (gl_once_define, gl_once): New macros.
60060         * lib/lock.c (fresh_once): New variable.
60061         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
60062         functions.
60063
60064 2005-07-16  Simon Josefsson  <jas@extundo.com>
60065
60066         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
60067         workaround, suggested by Bruno.
60068
60069 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
60070
60071         * modules/xalloc (Depends-on): Add xalloc-die.
60072         * modules/xvasprintf (Depends-on): Add xalloc-die.
60073
60074 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
60075
60076         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
60077         with a minor change.
60078
60079 2005-07-15  Bruno Haible  <bruno@clisp.org>
60080
60081         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
60082         When using lib/poll.c, define poll as rpl_poll.
60083
60084 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
60085
60086         * modules/argp (Depends-on): Remove unlocked-io.
60087
60088 2005-07-14  Derek Price  <derek@ximbiot.com>
60089
60090         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
60091         for glob symlink bug.
60092
60093 2005-07-14  Bruno Haible  <bruno@clisp.org>
60094
60095         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
60096         Instead, test for *_unlocked function declarations directly.
60097
60098 2005-07-11  Simon Josefsson  <jas@extundo.com>
60099
60100         * modules/size_max: New file.
60101
60102         * modules/xsize: Depend on size_max module for size_max.m4.
60103
60104 2005-07-11  Simon Josefsson  <jas@extundo.com>
60105
60106         * lib/size_max.h: New file.
60107
60108 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
60109
60110         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
60111         copyright symbol and the year.
60112         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
60113         (version_etc_va): Use parameterized copyright notice.
60114         Reword to conform to the current GNU coding standards.
60115
60116 2005-07-11  Karl Berry  <karl@gnu.org>
60117
60118         * doc/gnulib.texi (Quoting): new node.
60119         (Initial import): more info, from Patrice.
60120
60121 2005-07-11  Bruno Haible  <bruno@clisp.org>
60122
60123         * gnulib-tool (func_usage): Document option --avoid.
60124         (Command line options): Handle --avoid.
60125         (func_acceptable): New function.
60126         (func_modules_transitive_closure): Use it.
60127
60128 2005-07-11  Bruno Haible  <bruno@clisp.org>
60129
60130         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
60131         Reported by Jim Meyering.
60132
60133 2005-07-10  Bruno Haible  <bruno@clisp.org>
60134
60135         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
60136         Needed when size_t is smaller than 'unsigned int'.
60137         Reported by Paul Eggert.
60138
60139 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
60140
60141         * modules/argp (Depends-on): Add unlocked-io
60142
60143 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
60144
60145         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
60146         block of defines.
60147
60148 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
60149
60150         * config/srclist.txt: Comment out regcomp.c, since we have a porting
60151         fix now.
60152
60153 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
60154         and Paul Eggert  <eggert@cs.ucla.edu>
60155
60156         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
60157         in wint_t, not wchar_t.  Remove now-unnecessary cast.
60158
60159 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
60160
60161         * modules/regex (Files): Add lib/regex_internal.c,
60162         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
60163         (Depends-on): Add extensions.
60164         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
60165
60166 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
60167
60168         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
60169         pathconf.
60170         * m4/same.m4 (gl_SAME): Likewise.
60171         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
60172
60173         * m4/regex.m4: Adjust to new libc regex implementation.
60174         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
60175         all the .c and .h parts of (the new) regex.
60176         Quote the m4 stuff better.
60177         Check for RE_ICASE bug of old gnulib.
60178         Check for REG_STARTEND of recent libc.
60179         Rename local variables from jm_* to gl_*.
60180         Quote operand of "test -f".
60181         Say "recent enough" version of libc, not "version 2".
60182         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
60183         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
60184         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
60185         Remove check for btowc, isascii.
60186         Require AM_LANGINFO_CODESET.
60187
60188 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
60189
60190         * lib/regex.c, regex.h: Sync from libc.
60191         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
60192         * lib/regexec.c:
60193         New files, synced from libc, except that regex_internal.h
60194         currently has a small porting fix.
60195
60196 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
60197
60198         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
60199         regex_internal.c, regexec.c.
60200         Add regex_internal.h too, but as a comment, since the libc version
60201         is currently broken in gnulib mode.
60202
60203 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
60204
60205         Support programs like Emacs that use gnulib but not gettext.
60206         * MODULES.html.sh (Internationalization functions): Add gettext-h.
60207         * modules/gettext-h: New file.
60208         * modules/gettext (Files): Remove lib/gettext.h.
60209         (Depends-on): Add gettext-h.
60210         (Makefile.am): Remove lib_SOURCES.
60211         * modules/argmatch, modules/c-stack, modules/closeout:
60212         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
60213         * modules/execute, modules/file-type, modules/getaddrinfo:
60214         * modules/getopt, modules/human, modules/javacomp:
60215         * modules/javaexec, modules/mkdir-p, modules/obstack:
60216         * modules/openat, modules/pagealign_alloc, modules/pipe:
60217         * modules/quotearg, modules/regex, modules/rpmatch:
60218         * modules/unicodeio, modules/userspec, modules/version-etc:
60219         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
60220         * modules/xsetenv:
60221         Depend on gettext-h, not gettext.
60222
60223 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
60224
60225         * gnulib-tool (func_import): Add support for 'public domain' license.
60226         * modules/alloca, modules/atexit, modules/memmove:
60227         Now public domain, not GPL.
60228         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
60229         * modules/realloc, modules/strerror, modules/strtod:
60230         Now LGPL, not GPL.
60231
60232 2005-07-05  Bruno Haible  <bruno@clisp.org>
60233
60234         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
60235         autoconf CVS. Needed for mingw.
60236
60237 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60238
60239         Remove the dependency of the strftime module on the tzset module.
60240         * modules/strftime (Depends-on): Remove dependency on tzset.
60241
60242 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60243
60244         Remove the dependency of the strftime module on the tzset module.
60245         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
60246         gl_FUNC_TZSET_CLOBBER.
60247
60248 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
60249
60250         Remove the dependency of the strftime module on the tzset module.
60251         * lib/strftime.c (my_strftime)
60252         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
60253         Copy the input structure, to work around some of the bug with
60254         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
60255         Solaris releases, you should also use the tzset module, but we won't
60256         require it as a dependency any more since we don't want LGPLed code
60257         to depend on GPLed code.
60258
60259 2005-07-02  Jim Meyering  <jim@meyering.net>
60260
60261         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
60262         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
60263         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
60264         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
60265
60266 2005-07-02  Jim Meyering  <jim@meyering.net>
60267
60268         * lib/backupfile.c (backup_args): Change a `0' to NULL.
60269
60270 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
60271
60272         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
60273         declares only 'struct timespec;' (!).
60274
60275 2005-07-01  Jim Meyering  <jim@meyering.net>
60276
60277         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
60278         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
60279         * lib/save-cwd.c, tempname.c:
60280         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
60281         and don't include <sys/file.h>).
60282
60283 2005-06-29  Jim Meyering  <jim@meyering.net>
60284
60285         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
60286         type name.  Use the variable name instead.
60287         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
60288         Likewise.
60289
60290 2005-06-28  Simon Josefsson  <jas@extundo.com>
60291
60292         * modules/check-version (Files): Add check-version.m4.
60293
60294 2005-06-28  Simon Josefsson  <jas@extundo.com>
60295
60296         * m4/check-version.m4: New file, suggested by Jim Meyering
60297         <jim@meyering.net>.
60298
60299 2005-06-28  Simon Josefsson  <jas@extundo.com>
60300
60301         * lib/check-version.h, lib/check-version.c: New files.
60302
60303 2005-06-28  Simon Josefsson  <jas@extundo.com>
60304
60305         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
60306         collision with global variable.  Better indentation.  Don't
60307         increment buffer pointer beyond buffer end.  Based on comments
60308         from Paul Eggert <eggert@cs.ucla.edu>.
60309
60310         * lib/base64.h: Indent.
60311
60312 2005-06-28  Simon Josefsson  <jas@extundo.com>
60313
60314         * doc/gnulib.texi (Library version handling): New section.
60315
60316 2005-06-28  Jim Meyering  <jim@meyering.net>
60317
60318         * check-module (find_included_lib_files): Hard-code another
60319         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
60320         but modules/fts-lgpl (correctly) does not list those files.
60321
60322         * modules/canonicalize (Files): Add lib/pathmax.h.
60323
60324 2005-06-25  Simon Josefsson  <jas@extundo.com>
60325
60326         * modules/check-version: New file.
60327
60328 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
60329
60330         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
60331         initializer of struct addrinfo, as an indication that we don't
60332         care how many members the structure has.
60333
60334 2005-06-24  Derek Price  <derek@ximbiot.com>
60335         and Bruno Haible  <bruno@clisp.org>
60336
60337         Remove stat module & update lstat.
60338         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
60339         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
60340         * m4/stat.m4: Remove this file.
60341
60342 2005-06-24  Derek Price  <derek@ximbiot.com>
60343         and Bruno Haible  <bruno@clisp.org>
60344
60345         Remove stat module & update lstat.
60346         * lib/stat.c: Remove this file...
60347         (slash_aware_lstat): ...moving this content and its support...
60348         * lib/lstat.c (rpl_lstat): ...into here.
60349         * lib/lstat.h: New file.
60350
60351 2005-06-24  Derek Price  <derek@ximbiot.com>
60352         and Bruno Haible  <bruno@clisp.org>
60353
60354         Remove stat module & update lstat.
60355         * config/srclist.txt (libc sources): Remove stat.
60356
60357 2005-06-24  Derek Price  <derek@ximbiot.com>
60358         and Bruno Haible  <bruno@clisp.org>
60359
60360         Remove stat module & update lstat.
60361         * MODULES.html.sh (stat): Remove.
60362         * MODULES.html: Regenerated.
60363         * modules/lstat (Description): Correct function name.
60364         (Files): Add "lstat.h".
60365         (Depends-on): Remove stat, add xalloc, stat-macros.
60366         * modules/stat: Remove this file.
60367         (Include): Add "lstat.h", remove <sys/stat.h>.
60368
60369 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
60370
60371         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
60372         (ranged_convert): Don't save conversion in a temporary struct.
60373         This causes a warning with GCC 4.0.0, and anyway in the typical
60374         case it's not worth the extra 100 bytes or so of code.
60375         (ranged_convert, __mktime_internal): When calling a function via a
60376         pointer P, use P () rather than (*P) (), as we now assume C89 or
60377         better.
60378
60379 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
60380
60381         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
60382         "who -r" failed to give output.  Problem reported by Tim Waugh.
60383
60384         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
60385         (xcalloc): Use it to avoid needless tests.
60386         Problem reported by Jim Meyering.
60387
60388 2005-06-20  Derek Price  <derek@ximbiot.com>
60389
60390         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
60391         unnecessary for Autoconfs > 2.59c.
60392
60393 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
60394
60395         * lib/argp.h (__option_is_short): Check upper limit of
60396         __key. Isprint() requires its argument to have the value
60397         of an unsigned char or EOF.
60398
60399 2005-06-16  Jim Meyering  <jim@meyering.net>
60400
60401         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
60402         when either N or S is zero.
60403
60404 2005-06-16  Derek Price  <derek@ximbiot.com>
60405
60406         * m4/bison.m4: Declare YACC & YFLAGS precious.
60407
60408 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
60409
60410         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
60411         multibyte string or pattern, fall back on unibyte matching.
60412         Problem reported by James Youngman.
60413
60414 2005-06-08  Bruno Haible  <bruno@clisp.org>
60415
60416         * modules/csharpcomp: New file.
60417         * MODULES.html.sh (C#): Add csharpcomp.
60418
60419 2005-06-08  Bruno Haible  <bruno@clisp.org>
60420
60421         * m4/csharpcomp.m4: New file, from GNU gettext.
60422
60423 2005-06-08  Bruno Haible  <bruno@clisp.org>
60424
60425         * lib/csharpcomp.h: New file, from GNU gettext.
60426         * lib/csharpcomp.c: New file, from GNU gettext.
60427         * lib/csharpcomp.sh.in: New file, from GNU gettext.
60428
60429 2005-06-08  Bruno Haible  <bruno@clisp.org>
60430
60431         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
60432         warning on mingw.
60433
60434 2005-06-07  Derek Price  <derek@ximbiot.com>
60435
60436         Sync from CVS.
60437         * lib/glob_.h: Indent nested #ifdef.
60438
60439 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
60440
60441         Sync from coreutils.
60442         Use "file name" when talking about file names, instead of "filename"
60443         or "path", as per the GNU coding standards.
60444         * lib/mkdir-p.c: Renamed from makepath.c.
60445         (make_dir_parents): Renamed from make_path.  All callers changed.
60446         * lib/mkdir-p.h: Likewise.  All includers changed.
60447         * lib/filenamecat.c: Renamed from path-concat.c.
60448         (file_name_concat): Renamed from path_concat.  All callers changed.
60449         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
60450         * lib/filenamecat.h: Likewise.  All includers changed.
60451         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
60452         in comments or local variable names.
60453         * lib/basename.c: Likewise.
60454         * lib/canonicalize.c, canonicalize.h: Likewise.
60455         * lib/dirname.c, dirname.h: Likewise.
60456         * lib/euidaccess.c: Likewise.
60457         * lib/exclude.c: Likewise
60458         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
60459         * lib/fsusage.c, fsuage.h: Likewise.
60460         * lib/fts.c, fts_.h: Likewise.
60461         * lib/getcwd.c: Likewise.
60462         * lib/getloadavg.c: Likewise.
60463         * lib/mkstemp.c: Likewise.
60464         * lib/mountlist.c, mountlist.h: Likewise.
60465         * lib/openat.c, openat.h: Likewise.
60466         * lib/readlink-stub.c: Likewise.
60467         * lib/readutmp.c, readutmp.h: Likewise.
60468         * lib/rename.c: Likewise.
60469         * lib/rmdir.c: Likewise.
60470         * lib/same.c: Likewise.
60471         * lib/savedir.c: Likewise.
60472         * lib/stripslash.c: Likewise.
60473         * lib/tempname.c: Likewise.
60474         * lib/xreadlink.c: Likewise.
60475         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
60476         All uses changed.
60477         * lib/exclude.h: Likewise.
60478
60479         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
60480         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
60481         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
60482         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
60483         * lib/pathmax.h: Include <limits.h> unconditionally, since other
60484         files have been getting away with it for years (MORE/BSD 4.3
60485         is extinct now).
60486         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
60487         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
60488
60489         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
60490         Define to 256, not 255, as per modern POSIX.
60491
60492 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
60493
60494         Sync from coreutils.
60495         Use "file name" when talking about file names, instead of "filename"
60496         or "path", as per the GNU coding standards.
60497         * MODULES.html.sh: mkdir-p renamed from makepath.
60498         filenamecat renamed from path-concat.
60499         * modules/filenamecat: Renamed from modules/path-concat.
60500         (Files): filenamecat.h and filenamecat.c renamed from
60501         path-concat.h and path-concat.c.
60502         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
60503         (Include): filenamecat.h, not path-concat.h.
60504         * modules/mkdir-p: Renamed from modules/makepath.
60505         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
60506         makepath.c.
60507         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
60508         (Include): mkdir-p.h, not makepath.h.
60509
60510 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
60511
60512         Sync from coreutils.
60513         * m4/mkdir-p.m4: Renamed from makepath.m4.
60514         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
60515         Rename files from makepath.c to mkdir-p.c, and from
60516         makepath.h to mkdir-p.h.
60517         * m4/filenamecat.m4: Renamed from path-concat.m4.
60518         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
60519         Rename files from path-concat.c to filenamecat.c,
60520         and from path-concat.h to filenamecat.h.
60521         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
60522         "file name" in local variables or comments.
60523         * m4/rename.m4: Likewise.
60524
60525 2005-06-01  Bruno Haible  <bruno@clisp.org>
60526
60527         * modules/csharpexec: New file.
60528         * MODULES.html.sh (C#): New section.
60529
60530 2005-06-01  Bruno Haible  <bruno@clisp.org>
60531
60532         * m4/csharp.m4: New file, from GNU gettext.
60533         * m4/csharpexec.m4: New file, from GNU gettext.
60534
60535 2005-06-01  Bruno Haible  <bruno@clisp.org>
60536
60537         * lib/csharpexec.h: New file, from GNU gettext.
60538         * lib/csharpexec.c: New file, from GNU gettext.
60539         * lib/csharpexec.sh.in: New file, from GNU gettext.
60540
60541 2005-05-31  Derek Price  <derek@ximbiot.com>
60542             Paul Eggert  <eggert@cs.ucla.edu>
60543
60544         Sync from cvs.
60545         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
60546
60547 2005-05-31  Derek Price  <derek@ximbiot.com>
60548             Paul Eggert  <eggert@cs.ucla.edu>
60549
60550         Sync from cvs.
60551         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
60552
60553 2005-05-29  Derek Price  <derek@ximbiot.com>
60554
60555         * config/srclist.txt (glob_.h, glob.c): Add these files.
60556
60557 2005-05-29  Derek Price  <derek@ximbiot.com>
60558
60559         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
60560         * modules/glob: New file.
60561         * modules/getlogin_r: Add link to POSIX spec in description.
60562
60563 2005-05-29  Derek Price  <derek@ximbiot.com>
60564             Paul Eggert  <eggert@cs.ucla.edu>
60565
60566         * m4/glob.m4: New file.
60567
60568 2005-05-29  Derek Price  <derek@ximbiot.com>
60569             Paul Eggert  <eggert@cs.ucla.edu>
60570
60571         * lib/glob_.h, lib/glob.c: New files.
60572
60573 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
60574
60575         * modules/fts (Files): Remove m4/inttypes-pri.m4.
60576         * modules/fts-lgpl (Depends-on): Remove gettext.
60577
60578 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
60579
60580         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
60581         and don't require gt_INTTYPES_PRI.
60582
60583 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
60584
60585         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
60586
60587         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
60588         the configuration hassle isn't worth it.
60589         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
60590         (LONGEST_MODIFIER, PRIuMAX): Remove.
60591
60592 2005-05-27  Bruno Haible  <bruno@clisp.org>
60593
60594         * lib/getlogin_r.h: Remove second include of <stddef.h>.
60595
60596 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
60597
60598         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
60599         _POSIX_PTHREAD_SEMANTICS for Solaris.
60600
60601 2005-05-25  Derek Price  <derek@ximbiot.com>
60602
60603         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
60604
60605 2005-05-25  Derek Price  <derek@ximbiot.com>
60606             Paul Eggert  <eggert@cs.ucla.edu>
60607
60608         * modules/getlogin_r, m4/getlogin_r.m4: New files.
60609         * lib/getlogin_r.c, getlogin_r.h: New files.
60610
60611 2005-05-25  Bruno Haible  <bruno@clisp.org>
60612             Derek Price  <derek@ximbiot.com>
60613
60614         * lib/getlogin_r.h: Simplify API documentation.
60615
60616 2005-05-23  Derek Price  <derek@ximbiot.com>
60617
60618         * modules/minmax (Files): Add m4/minmax.m4.
60619         (configure.ac): Add gl_MINMAX.
60620
60621 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
60622
60623         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
60624         so that unistd-safer.h (GPL'ed code) need not be included.
60625
60626 2005-05-22  Bruno Haible  <bruno@clisp.org>
60627
60628         * m4/minmax.m4: New file.
60629         Based on a patch by Derek Price <derek@ximbiot.com>.
60630
60631 2005-05-22  Bruno Haible  <bruno@clisp.org>
60632
60633         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
60634         (INT64_MIN): Fix definition.
60635         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
60636
60637         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
60638         NEED_SIGNED_INT_TYPES.
60639
60640         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
60641         HAVE_SYSTEM_INTTYPES.
60642
60643 2005-05-22  Bruno Haible  <bruno@clisp.org>
60644
60645         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
60646         Also include <sys/param.h> if it defines MIN, MAX.
60647         Based on a patch by Derek Price <derek@ximbiot.com>.
60648
60649 2005-05-21  Jim Meyering  <jim@meyering.net>
60650
60651         * modules/fts (Files): Add m4/inttypes-pri.m4.
60652         (Depends-on): Add lstat and remove gettext.  Alphabetize.
60653
60654 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
60655
60656         New fts module.
60657         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
60658         (setup_dir, free_dir): New functions.
60659         (enter_dir, leave_dir): Define trivial
60660         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
60661         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
60662         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
60663         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
60664         Move to fts-cycle.c.
60665         (fts_open): Use setup_dir.
60666         (fts_close): Use free_dir.
60667         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
60668         This adds a label and some gotos, but the alternatives were messier.
60669         Check for memory allocation failure when entering a dir.
60670         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
60671         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
60672         (FTS): New member fts_cycle, that is a union that contains the
60673         old active_dir_ht and cycle_state.  All uses changed to mention
60674         fts_cycle.ht and fts_cycle.state.
60675         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
60676         fts.c, with the following changes:
60677         (setup_dir, free_dir): New functions.
60678         (enter_dir): Now returns bool.  Return true if successful, false
60679         if memory exhausted.  All callers changed.
60680         Do not bother partly cleaning up on
60681         memory allocation failure; that is free_dir's job.
60682         However, free ad if hash_insert fails, to avoid memory leak.
60683         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
60684         fts->fts_options to see which union member to use.
60685
60686 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
60687
60688         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
60689         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
60690
60691 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
60692
60693         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
60694
60695 2005-05-20  Jim Meyering  <jim@meyering.net>
60696
60697         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
60698         Now a macro, to pacify GCC.
60699
60700 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
60701
60702         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
60703         of -1.
60704
60705 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
60706
60707         * lib/chown.c (rpl_chown): Return -1 on failure.
60708
60709 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
60710
60711         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
60712         Don't check for stddef.h.
60713         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
60714         don't use its results.
60715         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
60716         since we include them unconditionally.  Don't require
60717         AM_STDBOOL_H, since stdbool is a prerequisite.
60718         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
60719         since we assume C89 or better.
60720         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
60721         as we don't use their results.
60722         Don't check for fchdir, memmove, memset, strrchr, as we use
60723         them unconditionally.
60724         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
60725         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
60726
60727 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
60728
60729         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
60730         Include <stddef.h> unconditionally, since we assume C89 now.
60731         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
60732         * lib/fts.c: Include fts_.h first, to check interface.
60733         Do not include intprops.h; no longer needed.
60734         Include cycle-check.h and hash.h, since fts_.h no longer does.
60735         Remove unnecessary casts of closedir to void.
60736         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
60737         decide whether to decrement nlinks.
60738         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
60739         (FTS): Use struct hash_table * instead of Hash_table, so that
60740         we no longer need to include hash.h here.
60741
60742 2005-05-18  Jim Meyering  <jim@meyering.net>
60743
60744         * modules/dirfd (License): Change to LGPL.  Most of the code
60745         is already in the public domain.
60746
60747 2005-05-18  Jim Meyering  <jim@meyering.net>
60748
60749         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
60750         Reported by Yoann Vandoorselaere.
60751
60752 2005-05-17  Jim Meyering  <jim@meyering.net>
60753
60754         * m4/fts.m4: New file, from coreutils.
60755
60756 2005-05-17  Jim Meyering  <jim@meyering.net>
60757
60758         * lib/fts.c, lib/fts_.h: New files, from coreutils.
60759
60760 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
60761
60762         Sync from coreutils.
60763         * m4/unlinkdir.m4: New file.
60764
60765 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
60766
60767         Sync from coreutils.
60768         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
60769         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
60770         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
60771         White space changes only.
60772         * lib/makepath.c (make_path): Port to hosts where leading "//" is
60773         special.
60774         * lib/yesno.c: Include getline.h, not ctype.h.
60775         (yesno): Don't remove leading white space; POSIX doesn't allow it.
60776         Use getline to remove arbitrary restriction on response length.
60777
60778 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
60779
60780         * config/srclist-update: Spell out "Street" in FSF postal
60781         mail address; this is the style the FSF seems to prefer.
60782
60783         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
60784         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
60785         this updates FSF postal mail address.
60786
60787         Sync from coreutils.
60788         * modules/unlinkdir: New file.
60789         * modules/yesno (Depends-on): Add getline.
60790         * MODULES.html.sh (File system functions): Add unlinkdir.
60791
60792 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
60793
60794         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
60795         lib/strsep.h:
60796         Change the initial comment to refer to GPL, not LGPL.
60797         gnulib-tool will change it to LGPL as needed.
60798
60799         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
60800         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
60801         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
60802         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
60803         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
60804         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
60805         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
60806         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
60807         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
60808         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
60809         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
60810         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
60811         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
60812         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
60813         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
60814         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
60815         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
60816         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
60817         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
60818         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
60819         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
60820         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
60821         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
60822         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
60823         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
60824         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
60825         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
60826         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
60827         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
60828         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
60829         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
60830         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
60831         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
60832         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
60833         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
60834         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
60835         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
60836         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
60837         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
60838         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
60839         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
60840         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
60841         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
60842         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
60843         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
60844         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
60845         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
60846         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
60847         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
60848         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
60849         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
60850         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
60851         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
60852         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
60853         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
60854         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
60855         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
60856         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
60857         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
60858         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
60859         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
60860         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
60861         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
60862         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
60863         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
60864         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
60865         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
60866         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
60867         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
60868         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
60869         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
60870         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
60871         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
60872         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
60873         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
60874         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
60875         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
60876         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
60877         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
60878         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
60879         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
60880         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
60881         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
60882         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
60883         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
60884         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
60885         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
60886         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
60887         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
60888         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
60889         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
60890         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
60891         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
60892         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
60893         lib/yesno.c, lib/yesno.h:
60894         Update FSF postal mail address.
60895
60896 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
60897
60898         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
60899         tests/test-memmem.c, tests/test-stpncpy.c:
60900         Update FSF postal mail address.
60901
60902 2005-05-13  Bruno Haible  <bruno@clisp.org>
60903
60904         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
60905         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
60906         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
60907         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
60908         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
60909         Add support for 64-bit integers in the MSVC compiler.
60910
60911 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
60912
60913         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
60914
60915 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
60916
60917         * gnulib-tool (func_import): Sort and uniquify recommended includes.
60918
60919 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
60920
60921         * doc/getdate.texi (General date syntax): Don't say that date
60922         date --iso-8601=ns generates acceptable dates; it doesn't yet.
60923         Problem reported by Nic Ferrier.
60924
60925 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60926
60927         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
60928         specified in ai_socktype. Fix invalid ai_protocol
60929         check. ai_protocol is usually set to 0 or depending on
60930         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
60931         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
60932         ai_socktype / ai_protocol in the returned addrinfo structure.
60933
60934 2005-05-10  Simon Josefsson  <jas@extundo.com>
60935
60936         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
60937         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
60938
60939 2005-05-10  Karl Berry  <karl@gnu.org>
60940
60941         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
60942         (from http://www.gnu.org/licenses).
60943         * doc/COPYING.LIB: also rename to COPYING.LESSER.
60944         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
60945         fdl.texi suffices.
60946
60947 2005-05-10  Karl Berry  <karl@gnu.org>
60948
60949         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
60950         (COPYING.DOC): remove.
60951
60952         * config/srclist-update: new FSF address.
60953
60954 2005-05-10  Derek Price  <derek@ximbiot.com>
60955
60956         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
60957         possible.
60958
60959 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60960             Bruno Haible  <bruno@clisp.org>
60961
60962         * modules/inet_ntop: New file.
60963         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60964         inet_ntop.
60965
60966 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60967             Bruno Haible  <bruno@clisp.org>
60968
60969         * m4/inet_ntop.m4: New file.
60970
60971 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
60972             Bruno Haible  <bruno@clisp.org>
60973
60974         * lib/inet_ntop.h: New file.
60975         * lib/inet_ntop.c: New file, from glibc with modifications.
60976
60977 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
60978
60979         * modules/time_r (License): Change to LGPL.
60980         * modules/extensions (License): Change to LGPL.  Actually,
60981         the license is more permissive than that, but currently gnulib-tool
60982         doesn't know how to handle more-permissive licenses.
60983
60984         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
60985         Problem reported by Dave Love.
60986
60987 2005-05-08  Jim Meyering  <jim@meyering.net>
60988
60989         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
60990         blank.
60991
60992 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
60993
60994         * modules/argmatch (Depends-on): Add stdbool.
60995         * modules/backupfile (Depends-on): Likewise.
60996         * modules/chdir-long (Depends-on): Likewise.
60997         * modules/closeout (Depends-on): Likewise.
60998         * modules/cycle-check (Depends-on): Likewise.
60999         * modules/dirname (Depends-on): Likewise.
61000         * modules/fnmatch (Depends-on): Likewise.
61001         * modules/fsusage (Depends-on): Likewise.
61002         * modules/fwriteerror (Depends-on): Likewise.
61003         * modules/getcwd (Depends-on): Likewise.
61004         * modules/getloadavg (Depends-on): Likewise.
61005         * modules/hard-locale (Depends-on): Likewise.
61006         * modules/makepath (Depends-on): Likewise.
61007         * modules/mountlist (Depends-on): Likewise.
61008         * modules/nanosleep (Depends-on): Likewise.
61009         * modules/posixtm (Depends-on): Likewise.
61010         * modules/quotearg (Depends-on): Likewise.
61011         * modules/readtokens (Depends-on): Likewise.
61012         * modules/readtokens0 (Depends-on): Likewise.
61013         * modules/readutmp (Depends-on): Likewise.
61014         * modules/save-cwd (Depends-on): Likewise.
61015         * modules/strftime (Depends-on): Likewise.
61016         * modules/userspec (Depends-on): Likewise.
61017         * modules/utimecmp (Depends-on): Likewise.
61018         * modules/xgetcwd (Depends-on): Likewise.
61019         * modules/xnanosleep (Depends-on): Likewise.
61020         * modules/xstrtod (Depends-on): Likewise.
61021         * modules/yesno (Depends-on): Likewise.
61022
61023 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
61024
61025         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
61026         needless checks.
61027
61028 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
61029
61030         Merge from coreutils.  Among other things,
61031         add bulletproofing for cases where stdin, stdout, or stderr are closed.
61032         * lib/fd-safer.c: New file.
61033         * lib/fcntl-safer.h, open-safer.c: Remove.
61034         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
61035         * lib/dup-safer.c: Include unistd-safer.h first.
61036         Don't include errno.h.
61037         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
61038         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
61039         * lib/file-type.c: Rely on file-type.h change.
61040         * lib/getloadavg.c: Include unistd-safer.h.
61041         (getloadavg): Use safer open.
61042         * lib/getusershell.c: Include "stdio-safer.h".
61043         (getusershell): Use safer fopen.
61044         * lib/long-options.c (long_options): Use NULL rather than 0.
61045         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
61046         'free'.
61047         * lib/modechange.c: Likewise.
61048         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
61049         (MODE_DONE): New constant.
61050         (struct mode_change): Remove 'next' member.
61051         (make_node_op_equals): New function; like the old one of the
61052         same name, except it allocates an array.
61053         (mode_compile, mode_create_from_ref): Use it.
61054         (mode_compile): Allocate result as an array, not a linked list.
61055         Parse octal string ourself, so that we catch mistakes like "+0".
61056         (mode_adjust): Arg is an array, not a linked list.
61057         * lib/modechange.c: Include stat-macros.h, xalloc.h.
61058         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
61059         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
61060         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
61061         Remove.  This is now stat-macros.h's job.
61062         (talloc): Remove.  All callers replaced by xalloc, so that
61063         our invokers don't have to worry about reporting memory failures.
61064         (make_node_op_equals): Remove.
61065         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
61066         New constants.
61067         (struct mode_change): Moved here from modechange.h.
61068         (mode_append_entry): Remove.
61069         (mode_compile): Remove MASKED_OPS arg, since it encouraged
61070         apps to have incorrect behavior.  Use simpler algorithm for head
61071         and tail.  Don't futz with umask; that's now the job of mode_adjust.
61072         Detect more invalid usages rather than having somewhat-random behavior.
61073         Don't insert an "a=" action, as that leads to incorrect behavior.
61074         (mode_compile, mode_create_from_ref): Return NULL on error instead
61075         of an enum, since now there's only one way to have an error.  All
61076         callers changed.
61077         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
61078         at the correct time.  Simplify calculation of "+u" and its ilk.
61079         Don't mishandle "+X".
61080         (mode_free): Remove "register" and localize decls.
61081         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
61082         (struct mode_change): Move to modechange.c; callers don't
61083         need to see this stuff.
61084         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
61085         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
61086         (mode_change, mode_adjust): Reflect the new signatures noted above.
61087         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
61088         that might redefine system include files.
61089         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
61090         (my_usleep): Use NULL rather than (void *) 0.
61091         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
61092         Use siginterrupt to specify that system calls should be interrupted.
61093         (rpl_nanosleep): Move initialization of suspended closer to call of
61094         my_usleep.
61095         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
61096         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
61097         (desirable_utmp_entry): New function.
61098         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
61099         using x2nrealloc, to simplify logic.
61100         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
61101         size calculation.  Do not assume utmp file is a regular file.
61102         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
61103         (READ_UTMP_CHECK_PIDS): New constant.
61104         * lib/save-cwd.c: Include unistd-safer.h.
61105         (save_cwd): Use fd_safer.
61106         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
61107         [!_LIBC] Include "stat-macros.h" instead.
61108         * lib/unistd-safer.h (fd_safer): New decl.
61109
61110 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
61111
61112         * modules/getloadavg (Depends-on): Add unistd-safer.
61113         * modules/getusershell (Depends-on): Add stdio-safer.
61114         * modules/lstat (Depends-on): Remove xalloc.
61115         * modules/mkstemp (Depends-on): Add stat-macros.
61116         * modules/modechange (Depends-on): Remove xstrtol.
61117         Add stat-macros, xalloc.
61118         * modules/save-cwd (Depends-on): Add unistd-safer.
61119         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
61120         * modules/unistd-safer (Files): Add lib/fd-safer.c
61121         (Makefile.am): Remove lib_SOURCES.
61122
61123         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
61124         Remove fcntl-safer; unistd-safer supersedes it.
61125
61126 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
61127
61128         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
61129         AC_HEADER_STAT.
61130         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
61131         (gl_PREREQ_CHOWN): Remove.
61132         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
61133         it.  Don't require AC_HEADER_STAT.
61134         (gl_PREREQ_LSTAT): Remove.
61135         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
61136         Don't require AC_HEADER_STAT.
61137         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
61138         (gl_PREREQ_RMDIR): Remove.
61139         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
61140         mention stat-macros.h or AC_HEADER_STAT, since we'll make
61141         the stat-macros module a prerequisite.
61142         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
61143         * m4/filemode.m4 (gl_FILEMODE): Likewise.
61144         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
61145         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
61146         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
61147         variable names.
61148         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
61149         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
61150         variable prefixes.
61151         * m4/fcntl-safer.m4: Remove.
61152         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
61153         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
61154         Invoke gl_PREREQ_FD_SAFER.
61155         (gl_PREREQ_FD_SAFER): New macro.
61156         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
61157         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
61158         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
61159         Remove duplicate call to AC_LIBOBJ(readutmp).
61160         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
61161
61162         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
61163         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
61164
61165 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
61166
61167         * MODULES.html.sh (Misc): Add byteswap.
61168
61169 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
61170
61171         * modules/getcwd (Depends-on): Add extensions.
61172         * modules/openat (Depends-on): Likewise.
61173
61174 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
61175
61176         * modules/byteswap: New file.
61177
61178 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
61179
61180         * m4/byteswap.m4: New file.
61181
61182 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
61183
61184         * lib/byteswap_.h: New file.
61185
61186 2005-04-25  Karl Berry  <karl@gnu.org>
61187
61188         * m4/gettext.m4: Update from GNU gettext 0.14.4.
61189
61190 2005-04-25  Albert Chin  <china@thewrittenword.com>
61191
61192         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
61193         Toolkit C bug.
61194
61195 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
61196
61197         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
61198         (func_ln_if_changed) Remove forcibly for no error message
61199         in case file does not exist.
61200
61201 2005-04-19  Simon Josefsson  <jas@extundo.com>
61202
61203         * gnulib-tool (Options): Make --symlink mean --symbolic.
61204
61205 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
61206
61207         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
61208
61209 2005-04-16  Simon Josefsson  <jas@extundo.com>
61210
61211         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
61212
61213 2005-04-15  Simon Josefsson  <jas@extundo.com>
61214
61215         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
61216
61217 2005-04-15  Simon Josefsson  <jas@extundo.com>
61218
61219         * gnulib-tool: Rename --symlink to --symbolic.
61220
61221 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
61222
61223         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
61224         symbolic links to files instead of copying/moving.  Add --aux-dir,
61225         specifying directory relative --dir where auxiliary build tools
61226         are placed.
61227
61228 2005-04-14  Bruno Haible  <bruno@clisp.org>
61229
61230         * modules/allocsa (License): Change to LGPL.
61231         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
61232
61233 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
61234
61235         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
61236         that "UTC +1 second" continues to work.  Problem reported
61237         by Dmitry V. Levin.
61238         (relunit_snumber): New rule.
61239         (relunit): Use it.
61240
61241 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
61242
61243         * lib/getdate.y (universal_time_zone_table): New constant.
61244         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
61245         universal_time_zone_table.
61246         (lookup_zone): Prefer universal_time_zone_table to
61247         local_time_zone_table, so that "GMT" time stamps are allowed in
61248         London during the summer.  Problem reported by Ian Abbott.
61249
61250 2005-04-12  Jim Meyering  <jim@meyering.net>
61251
61252         * lib/human.c (humblock): Set *options even when returning due to
61253         xstrtoumax conversion failure.  Thanks to a used-uninitialized
61254         warning from gcc-4.
61255
61256 2005-04-09  Jim Meyering  <jim@meyering.net>
61257
61258         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
61259         -Wuninitialized: initialize tm0.tm_year.
61260
61261 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
61262
61263         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
61264         count, since there's no maximum.  All uses changed.
61265         Add member dsts_seen.
61266         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
61267         not being INT_MAX.
61268         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
61269         Use pc_rels_seen to decide whther a date is absolute.
61270
61271         * lib/getdate.y (number): Don't overwrite year.
61272         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
61273         check.
61274
61275 2005-04-02  Simon Josefsson  <jas@extundo.com>
61276
61277         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
61278         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
61279
61280 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
61281
61282         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
61283         where no absolute path name can be longer than PATH_MAX.
61284
61285 2005-03-27  Jim Meyering  <jim@meyering.net>
61286
61287         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
61288
61289 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
61290
61291         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
61292         "one's complement" -> "ones' complement" in comment, as per Knuth.
61293         "value of type" -> "type or expression" in comment.
61294         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
61295
61296 2005-03-26  Jim Meyering  <jim@meyering.net>
61297
61298         Comment nits.
61299         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
61300         Correct typos: s/or/of/.
61301
61302 2005-03-26  Jim Meyering  <jim@meyering.net>
61303
61304         * modules/check-include-files: Move to ../ and rename to...
61305         * check-module: ...this.
61306
61307 2005-03-25  Jim Meyering  <jim@meyering.net>
61308
61309         * modules/xvasprintf (Files): Add xalloc.h.
61310
61311 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
61312
61313         * modules/gettext (Files): config/config.rpath ->
61314         build-aux/config.rpath
61315         * modules/iconv (Files): Likewise.
61316         Problem reported by Oskar Liljeblad.
61317
61318 2005-03-23  Jim Meyering  <jim@meyering.net>
61319
61320         * modules/check-include-files: New script to check for
61321         missing dependencies, multiple includes, etc.
61322
61323         * modules/c-strtold (Depends-on): Add xalloc.
61324         * modules/c-strtod (Depends-on): Add xalloc.
61325         * modules/hash (Depends-on): Add xalloc.
61326         (Files): Remove lib/xalloc.h.
61327
61328         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
61329         * modules/userspec (Files): Add lib/inttostr.h.
61330
61331 2005-03-23  Jim Meyering  <jim@meyering.net>
61332
61333         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
61334
61335 2005-03-22  Jim Meyering  <jim@meyering.net>
61336
61337         * modules/stat-macros: New module.
61338         * modules/canonicalize, modules/euidaccess, modules/file-type,
61339         * modules/filemode, modules/lchown, modules/makepath,
61340         * modules/rmdir, modules/stat: Depend on new stat-macros module
61341         rather than listing lib/stat-macros.h manually.
61342         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
61343
61344 2005-03-22  Jim Meyering  <jim@meyering.net>
61345
61346         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
61347
61348 2005-03-22  Bruno Haible  <bruno@clisp.org>
61349
61350         * config/srclist.txt: Replace target directory 'config' with
61351         'build-aux'.
61352         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
61353         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
61354         ../build-aux/.
61355
61356 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
61357
61358         * modules/chdir-long (Depends-on): Add mempcpy.
61359
61360         * modules/acl, modules/backupfile, modules/c-strtod,
61361         modules/c-strtold, modules/canon-host, modules/canonicalize,
61362         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
61363         modules/exclude, modules/exitfail, modules/file-type,
61364         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
61365         modules/getdate, modules/getline, modules/getpagesize,
61366         modules/getpass, modules/getugroups, modules/group-member,
61367         modules/hard-locale, modules/hash, modules/human, modules/idcache,
61368         modules/inttostr, modules/long-options, modules/makepath,
61369         modules/md5, modules/memcasecmp, modules/memcoll,
61370         modules/modechange, modules/mountlist, modules/path-concat,
61371         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
61372         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
61373         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
61374         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
61375         modules/strftime, modules/strndup, modules/strverscmp,
61376         modules/timespec, modules/unlocked-io, modules/userspec,
61377         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
61378         modules/yesno:
61379         Remove lib_SOURCES line from Makefile.am section, as this is now
61380         done automatically by the corresponding Autoconf macro.
61381
61382 2005-03-21  Jim Meyering  <jim@meyering.net>
61383
61384         Changes imported from coreutils.
61385
61386         * lib/cycle-check.c: Don't include xalloc.h.
61387
61388         * lib/path-concat.c: Don't include assert.h.
61389         (path_concat): Remove assertion that would have triggered
61390         for ABASE starting with more than one slash.
61391         Reported by Andreas Schwab.
61392
61393         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
61394         properly when ABASE is an absolute file name.
61395         Correct the description of this function.
61396         Include <assert.h>.
61397         Add an assertion and a test driver.
61398         This fixes a bug introduced on 2004-07-02.
61399         Andreas Schwab reported the resulting failure of cp --parents:
61400         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
61401
61402 2005-03-21  Jim Meyering  <jim@meyering.net>
61403
61404         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
61405         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
61406
61407 2005-03-21  Jim Meyering  <jim@meyering.net>
61408         and  Paul Eggert  <eggert@cs.ucla.edu>
61409
61410         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
61411         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
61412         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
61413         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
61414         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
61415         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
61416         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
61417         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
61418         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
61419         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
61420         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
61421         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
61422         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
61423         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
61424         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
61425         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
61426         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
61427         for these modules.
61428
61429 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
61430
61431         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
61432         (which shouldn't happen), generate nothing instead of returning 0
61433         immediately, so that nstrftime (NULL, ...) doesn't return 0.
61434
61435 2005-03-16  Bruno Haible  <bruno@clisp.org>
61436
61437         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
61438         HAVE_LONGLONG_64BIT.
61439
61440 2005-03-16  Bruno Haible  <bruno@clisp.org>
61441
61442         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
61443         HAVE_LONGLONG_64BIT.
61444
61445 2005-03-16  Bruno Haible  <bruno@clisp.org>
61446
61447         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
61448         HAVE_LONGLONG_64BIT.
61449
61450 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
61451
61452         * lib/strftime.c (my_strftime): Prepend space to format so that we can
61453         reliably distinguish strftime failure from empty output on POSIX
61454         hosts.
61455
61456 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
61457
61458         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
61459         (iconv_string): Don't guess a size-zero buffer, as that might cause
61460         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
61461         result would be 'too large', where 'too large' is (heuristically)
61462         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
61463         overflow concerns.  This will prevent some unwanted malloc failures
61464         when the inputs are very large.
61465
61466 2005-03-15  Karl Berry  <karl@gnu.org>
61467
61468         * config/srclist.txt (config.rpath): from gettext.
61469         * config/config.rpath: update.
61470
61471 2005-03-15  Bruno Haible  <bruno@clisp.org>
61472
61473         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
61474         to 'negate'.
61475
61476         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
61477         variable.
61478
61479         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
61480         results.
61481
61482 2005-03-14  Simon Josefsson  <jas@extundo.com>
61483
61484         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
61485         <fx@gnu.org>.
61486
61487 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
61488
61489         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
61490         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
61491         intprops.h.
61492         * lib/strtol.c: Likewise.
61493
61494 2005-03-14  Jim Meyering  <jim@meyering.net>
61495
61496         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
61497         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
61498         to be nonzero so that we (and caller) can detect the difference
61499         between a valid zero-length expansion and an error return, even
61500         when the underlying strftime fails before writing anything into
61501         that location.
61502
61503 2005-03-14  Bruno Haible  <bruno@clisp.org>
61504
61505         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
61506         Update from GNU gettext 0.14.3.
61507
61508 2005-03-10  Jim Meyering  <jim@meyering.net>
61509
61510         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
61511
61512 2005-03-10  Jim Meyering  <jim@meyering.net>
61513
61514         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
61515         so that this module works on systems without fchdir.
61516
61517 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
61518
61519         Factor int-properties macros into a single file, except for
61520         glibc-related files.
61521         * lib/intprops.h: New file.
61522         * lib/getloadavg.c: Include it instead of limits.h.
61523         (INT_STRLEN_BOUND): Remove.
61524         * lib/human.c: Include intprops.h.
61525         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
61526         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
61527         302/1000.
61528         * lib/inttostr.h: Include intprops.h instead of limits.h.
61529         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
61530         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
61531         for consistency with intprops.h.
61532         (time_t_is_integer, twos_complement_arithmetic): Use them.
61533         * lib/sig2str.h: Include <signal.h>, intprops.h.
61534         (INT_STRLEN_BOUND): Remove.
61535         * lib/strftime.c (TYPE_SIGNED): Remove.
61536         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
61537         * lib/strtol.c: Adjust comments to match intprops.h.
61538         * lib/userspec.c: Include intprops.h.
61539         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
61540         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
61541         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
61542         instead of rolling our own expressions.
61543         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
61544
61545         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
61546         instead of int.
61547         (my_strftime): Do not mishandle years close to INT_MAX, by doing
61548         the right thing even if adding 1900 would overflow.  Similarly
61549         for tm_mon + 1 and tm_yday + 1.
61550         Make %Y always equivalent to %C%y, and similarly for %G and %g.
61551         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
61552         (DO_SIGNED_NUMBER): New macro.
61553         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
61554
61555 2005-03-07  Bruno Haible  <bruno@clisp.org>
61556
61557         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
61558
61559 2005-03-07  Bruno Haible  <bruno@clisp.org>
61560
61561         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
61562
61563 2005-03-04  Derek R. Price  <derek@ximbiot.com>
61564
61565         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
61566         (func_import): Only replace files via --import when they have actually
61567         changed.
61568
61569 2005-03-03  Derek R. Price  <derek@ximbiot.com>
61570
61571         * m4/mmap-anon.m4: New file.
61572         * m4/pagealign_alloc.m4: New file.
61573
61574 2005-03-03  Derek R. Price  <derek@ximbiot.com>
61575             Bruno Haible  <bruno@clisp.org>
61576
61577         * modules/pagealign_alloc: New file.
61578         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
61579
61580 2005-03-03  Derek R. Price  <derek@ximbiot.com>
61581             Bruno Haible  <bruno@clisp.org>
61582
61583         * lib/pagealign_alloc.h: New file.
61584         * lib/pagealign_alloc.c: New file.
61585
61586 2005-03-03  Bruno Haible  <bruno@clisp.org>
61587
61588         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
61589         Use an all-permissive copyright notice, recommended by RMS.
61590
61591 2005-03-02  Bruno Haible  <bruno@clisp.org>
61592
61593         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
61594         of AIX, the replacement has to be done only after <string.h> is
61595         included, therefore not in config.h. stpncpy.h does the replacement,
61596         and stpncpy.c uses it.
61597
61598 2005-03-02  Bruno Haible  <bruno@clisp.org>
61599
61600         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
61601         stpncpy.c uses it.
61602
61603 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61604
61605         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
61606         The workaround isn't strictly needed for POSIX conformance, and
61607         it's too much of a pain to configure and maintain.  We'll ask
61608         people to fix their kernels instead.
61609         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
61610         (NANOSLEEP_BUG_WORKAROUND): Remove.
61611         (xnanosleep): Remove the workaround.
61612
61613 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61614
61615         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
61616         Reported by Derek Price.
61617         (Include): Add "timespec.h".
61618
61619         * modules/xnanosleep (Depends-on): Remove gethrxtime.
61620
61621 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
61622
61623         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
61624         to detect nanosleep bug.
61625
61626 2005-03-01  Bruno Haible  <bruno@clisp.org>
61627
61628         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
61629
61630 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
61631
61632         * modules/gethrxtime: New file.
61633         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
61634         (Depends-on): Add gethrxtime.
61635         (configure.ac): Add gl_XNANOSLEEP.
61636         (Makefile.am): Remove lib_SOURCES line.
61637
61638 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
61639
61640         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
61641         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
61642
61643 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
61644
61645         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
61646         * lib/timespec.h (gettime): Return void, since it always
61647         succeeds now.  All uses changed.
61648         * lib/gettime.c (gettime) Likewise.
61649         [HAVE_NANOTIME]: Prefer nanotime.
61650         Assume gettimeofday succeeds, as POSIX requires.
61651         Assime time () succeeds, since other code already does.
61652         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
61653         (timespec_subtract): Remove.
61654         (NANOSLEEP_BUG_WORKAROUND): New constant.
61655         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
61656         things considerably.  Use it only on GNU/Linux hosts, since the
61657         workaround shouldn't be needed elsewhere.
61658
61659 2005-02-24  Bruno Haible  <bruno@clisp.org>
61660
61661         * modules/gettext (Files): Add m4/glibc2.m4.
61662
61663 2005-02-24  Bruno Haible  <bruno@clisp.org>
61664
61665         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
61666         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
61667         * m4/progtest.m4:
61668         Update from GNU gettext 0.14.2.
61669         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
61670
61671 2005-02-24  Bruno Haible  <bruno@clisp.org>
61672
61673         * lib/localcharset.c: Update from GNU gettext 0.14.2.
61674         * lib/config.charset: Update from GNU gettext 0.14.2.
61675
61676 2005-02-24  Bruno Haible  <bruno@clisp.org>
61677
61678         * lib/gettext.h: Update from GNU gettext 0.14.2.
61679
61680 2005-02-23  Simon Josefsson  <jas@extundo.com>
61681
61682         * m4/iconvme.m4: New file.
61683
61684 2005-02-23  Jim Meyering  <jim@meyering.net>
61685
61686         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
61687         change.
61688         Thanks to Bruno Haible for catching it.
61689
61690 2005-02-22  Simon Josefsson  <jas@extundo.com>
61691
61692         * modules/iconvme: New file.
61693
61694         * MODULES.html.sh: Add iconvme.
61695
61696 2005-02-22  Simon Josefsson  <jas@extundo.com>
61697
61698         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
61699
61700 2005-02-22  Simon Josefsson  <jas@extundo.com>
61701
61702         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
61703
61704 2005-02-22  Jim Meyering  <jim@meyering.net>
61705
61706         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
61707         s/ifndef/ifdef/.
61708
61709 2005-02-20  Neil Conway  <neilc@samurai.com>
61710
61711         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
61712         returned by OSX/Darwin if the specified buffer is not large
61713         enough for the hostname.
61714
61715 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61716
61717         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
61718         pass it to _help, otherwise the latter coredumps trying to
61719         dereference state.root_argp.
61720
61721 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
61722
61723         * modules/chdir-long (Depends-on): Add memrchr.
61724         * modules/memrchr (Files): Add lib/memrchr.h.
61725         (Include): "memrchr.h".
61726
61727 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
61728
61729         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
61730
61731 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
61732
61733         * lib/memrchr.h: New file.
61734         * lib/chdir-long.c: Include it.
61735         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
61736         Don't bother including stddef.h.
61737
61738 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
61739
61740         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
61741         inclusion.
61742         Include <sys/types.h>, for dev_t.
61743         (ME_DUMMY, ME_REMOTE): Move from here....
61744         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
61745         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
61746         Dmitry V. Levin.
61747         Include mountlist.h first, to test the interface.
61748
61749 2005-01-29  Bruno Haible  <bruno@clisp.org>
61750
61751         * lib/progname.c (program_name): Initialize.
61752         Needed when linking statically on MacOS X.
61753
61754 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
61755
61756         Sync from coreutils.
61757         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
61758         (Depends-on): Add c-strtod.
61759         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
61760
61761 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
61762
61763         Sync from coreutils.
61764         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
61765
61766         Remove files that are specific to coreutils.
61767         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
61768
61769 2005-01-28  Bruno Haible  <bruno@clisp.org>
61770
61771         * modules/javacomp: New file.
61772         * MODULES.html.sh (Java): Add javacomp.
61773
61774 2005-01-28  Bruno Haible  <bruno@clisp.org>
61775
61776         * m4/javacomp.m4: New file, from GNU gettext.
61777
61778 2005-01-28  Bruno Haible  <bruno@clisp.org>
61779
61780         * lib/javacomp.sh.in: New file, from GNU gettext.
61781         * lib/javacomp.h: New file, from GNU gettext.
61782         * lib/javacomp.c: New file, from GNU gettext.
61783
61784 2005-01-26  Simon Josefsson  <jas@extundo.com>
61785
61786         * lib/gai_strerror.c: Use GPL in header.
61787
61788 2005-01-26  Bruno Haible  <bruno@clisp.org>
61789
61790         * modules/javaexec: New file.
61791         * MODULES.html.sh (Java): Add javaexec.
61792
61793 2005-01-26  Bruno Haible  <bruno@clisp.org>
61794
61795         * m4/javaexec.m4: New file, from GNU gettext.
61796
61797 2005-01-26  Bruno Haible  <bruno@clisp.org>
61798
61799         * lib/javaexec.sh.in: New file, from GNU gettext.
61800         * lib/javaexec.h: New file, from GNU gettext.
61801         * lib/javaexec.c: New file, from GNU gettext.
61802
61803 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61804
61805         * modules/lchown (Depends-on): Remove lchown.h
61806
61807 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61808
61809         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
61810         must be defined if the header file was not found, in order
61811         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
61812
61813 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
61814
61815         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
61816         initializers for struct pentry_state.
61817         (__argp_error): Check return value of __asprintf
61818         (__argp_failure): Translate error message
61819
61820         * lib/argp-parse.c: Removed braces around the expansion of N_()
61821
61822 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
61823
61824         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
61825         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
61826         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
61827         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
61828         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
61829         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
61830         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
61831         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
61832         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
61833         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
61834         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
61835         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
61836         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
61837         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
61838         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
61839         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
61840         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
61841         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
61842         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
61843         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
61844         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
61845         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
61846         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
61847         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
61848         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
61849         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
61850         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
61851         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
61852         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
61853         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
61854         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
61855         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
61856         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
61857         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
61858         xstrtol.m4, xstrtoumax.m4, yesno.m4:
61859         Use an all-permissive copyright notice, recommended by RMS.
61860
61861 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
61862
61863         * modules/chdir-long (Depends-on): Remove mempcpy.
61864
61865 2005-01-21  Jim Meyering  <jim@meyering.net>
61866
61867         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
61868         same value as for Solaris 9.
61869
61870         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
61871         component length.  This included changing the parameter to be
61872         of type `char *' rather than `char const *'.
61873         * lib/chdir-long.h (chdir_long): Update prototype.
61874
61875         * lib/openat.c (fdopendir, fstatat): New functions.
61876         * lib/openat.h: Include headers required for use of DIR and struct
61877         stat.
61878         [AT_SYMLINK_NOFOLLOW]: Define.
61879         (fdopendir, fstatat): Add prototypes.
61880
61881 2005-01-21  Bruno Haible  <bruno@clisp.org>
61882
61883         * modules/classpath: New file.
61884         * MODULES.html.sh (Java): Add classpath.
61885
61886 2005-01-21  Bruno Haible  <bruno@clisp.org>
61887
61888         * lib/classpath.h: New file, from GNU gettext.
61889         * lib/classpath.c: New file, from GNU gettext.
61890
61891 2005-01-20  Simon Josefsson  <jas@extundo.com>
61892
61893         * modules/version-etc-fsf: New file.
61894
61895 2005-01-20  Simon Josefsson  <jas@extundo.com>
61896
61897         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
61898         * lib/version-etc.c: Remove version_etc_copyright.
61899         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
61900         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
61901
61902 2005-01-20  Simon Josefsson  <jas@extundo.com>
61903
61904         * lib/base64.h (isbase64): Add.
61905
61906         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
61907         using a unsigned prototype, don't inline.
61908         (base64_decode): Use it.
61909
61910 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
61911
61912         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
61913         it.
61914
61915 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
61916
61917         * lib/save-cwd.c (save_cwd): Remove code to support the case
61918         where fchdir is missing or flaky.
61919
61920 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
61921
61922         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
61923
61924 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
61925
61926         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
61927         AC_LIBSOURCES now does this.
61928         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
61929         with new ullong_max module.
61930
61931 2005-01-19  Bruno Haible  <bruno@clisp.org>
61932
61933         * modules/sh-quote: New file.
61934         * MODULES.html.sh (Executing programs): Add sh-quote.
61935
61936 2005-01-19  Bruno Haible  <bruno@clisp.org>
61937
61938         * lib/sh-quote.h: New file, from GNU gettext.
61939         * lib/sh-quote.c: New file, from GNU gettext.
61940
61941 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61942
61943         Merge from coreutils.
61944         * m4/ullong_max.m4: New file.
61945         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
61946         (gl_MACROS): Assume localeconv exists.
61947
61948 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61949
61950         Merge changes from coreutils, as described below in several
61951         changelogs dated today.
61952
61953         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
61954         (O_DIRECTORY): Remove; not needed here, since "." must be
61955         a directory.  All uses removed.
61956         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
61957         universal on Suns, and we also need to test for IRIX.
61958         Revamp code to use 'if' rather than '#if'.
61959         Avoid unnecessary comparison of cwd->desc to 0.
61960
61961         * lib/utimens.c (futimens): Robustify the previous patch, by checking
61962         for known valid error numbers rather than observed invalid ones.
61963
61964 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
61965
61966         * modules/ullong_max: New file.
61967
61968         * modules/chdir-long, modules/openat: New files.
61969         * modules/save-cwd (Depends-on): Depend on chdir-long.
61970         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
61971
61972 2005-01-18  Jim Meyering  <jim@meyering.net>
61973
61974         Merge from coreutils.
61975         * m4/chdir-long.m4, m4/openat.m4: New files.
61976         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
61977         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
61978         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
61979         is sane and DOES follow symlinks.  Besides, testing 20 different
61980         systems found no broken chown implementations.
61981         Prompted by a change in rsync's copy of this macro.
61982         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
61983
61984         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
61985
61986         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
61987         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
61988         NULL-means-set-to-current-time semantics.
61989         Remove temporary file immediately, rather than waiting
61990         for configure's at-exit trap code to do it.
61991
61992 2005-01-18  Jim Meyering  <jim@meyering.net>
61993
61994         * lib/version-etc.c (version_etc_copyright): Update copyright date.
61995
61996         * lib/utimens.c (futimens): Account for the fact that futimes
61997         can also fail with errno == ENOSYS or errno == ENOENT.
61998         Patch from Dmitry V. Levin.
61999
62000         Change the name of the robust chdir function from chdir to chdir_long.
62001         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
62002         (restore_cwd): Use chdir_long, not chdir.
62003         * lib/chdir-long.c: Renamed from chdir.c.
62004         * lib/chdir-long.h: Renamed from chdir.h.
62005         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
62006         Hurd.
62007
62008 2005-01-18  Bruno Haible  <bruno@clisp.org>
62009
62010         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
62011         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
62012         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
62013         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
62014         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
62015         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
62016         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
62017         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
62018         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
62019         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
62020         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
62021         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
62022         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
62023         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
62024         Use an all-permissive copyright notice, recommended by RMS.
62025
62026 2005-01-18  Bob Proulx  <bob@proulx.com>
62027
62028         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
62029         simplify offsetof() macro construct to avoid compile failure with
62030         native HP-UX 11.0 ANSI C compiler.
62031
62032 2005-01-17  Bruno Haible  <bruno@clisp.org>
62033
62034         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
62035         redundant because stpncpy.m4 takes care of it.
62036
62037 2005-01-17  Bruno Haible  <bruno@clisp.org>
62038
62039         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
62040
62041 2005-01-17  Bruno Haible  <bruno@clisp.org>
62042
62043         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
62044         used.
62045
62046 2005-01-17  Bruno Haible  <bruno@clisp.org>
62047
62048         * lib/fwriteerror.h (fwriteerror): Change specification to include
62049         fclose.
62050         * lib/fwriteerror.c: Include <stdbool.h>.
62051         (fwriteerror): At the end, close the file stream. Record whether
62052         stdout was already closed.
62053
62054 2005-01-17  Bruno Haible  <bruno@clisp.org>
62055
62056         * lib/execute.c (environ): Declare if needed.
62057         * lib/pipe.c (environ): Likewise.
62058         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
62059
62060 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
62061
62062         * modules/argp: Depend on vsnprintf
62063
62064 2005-01-10  Jim Meyering  <jim@meyering.net>
62065
62066         * modules/closeout (Depends-on): Add atexit.
62067
62068 2005-01-06  Bruno Haible  <bruno@clisp.org>
62069
62070         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
62071
62072 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
62073
62074         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
62075         definitions to be after all include files, to avoid collisions.
62076         Problem reported by Bob Proulx.
62077
62078 2005-01-04  Jim Meyering  <jim@meyering.net>
62079
62080         Changes imported from coreutils.
62081         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
62082         as the mkstemp template, use a temporary directory and an
62083         8.3-friendly template to avoid trouble on systems like DJGPP.
62084         Reported by Juan M. Guerrero via Stepan Kasal.
62085         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
62086         close. Remove the temporary directory right away, rather than waiting
62087         for configure's at-exit trap code to do it.
62088         Suggestion from Stepan Kasal.
62089
62090 2005-01-01  Simon Josefsson  <jas@extundo.com>
62091
62092         * gnulib-tool: Print #include directives when --import'ing.
62093
62094 2004-12-28  Simon Josefsson  <jas@extundo.com>
62095
62096         * tests/test-base64.c: Include required header files.  Remove
62097         unused variables.
62098
62099 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
62100
62101         * modules/error (Depends-on): Remove gettext.
62102
62103 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
62104
62105         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
62106         not needed.  This removes a dependency on the gettext module.
62107         [defined _LIBC]: Do not include <libintl.h>; not needed.
62108
62109 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
62110
62111         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
62112         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
62113
62114 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
62115
62116         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
62117         HAVE_DECL_STRTOLD.
62118
62119 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
62120
62121         * modules/getdate (Depends-on): Remove alloca-opt.
62122
62123 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
62124
62125         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
62126
62127 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
62128
62129         * lib/argp-parse.c: Include <stddef.h>.
62130         (alignof, alignto): New macros.
62131         (parser_init): Don't assume that void * is aligned sufficiently
62132         for struct option.
62133
62134         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
62135         need to extend the stack.
62136         (YYINITDEPTH): New macro, so that the initial stack isn't overly
62137         large.
62138
62139 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
62140
62141         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
62142
62143 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
62144
62145         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
62146         (2004-10-24) change.  Apparently this was a false alarm.
62147
62148         * modules/getdate: Depend on alloca-opt, not alloca.
62149
62150 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
62151
62152         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
62153         Remove now-obsolete comment about AIX.
62154         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
62155         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
62156         (YYMAXDEPTH): New macro.
62157
62158 2004-12-18  Simon Josefsson  <jas@extundo.com>
62159
62160         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
62161
62162 2004-12-18  Bruno Haible  <bruno@clisp.org>
62163
62164         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
62165
62166 2004-12-18  Bruno Haible  <bruno@clisp.org>
62167
62168         * lib/fatal-signal.c (fatal_signals): Make non-const.
62169         (init_fatal_signals): New function.
62170         (uninstall_handlers, install_handlers): Ignore signals that were set to
62171         SIG_IGN.
62172         (at_fatal_signal): Call init_fatal_signals.
62173         (init_fatal_signal_set): Likewise. Ignore signals that were set to
62174         SIG_IGN.
62175         Reported by Paul Eggert.
62176
62177 2004-12-18  Bruno Haible  <bruno@clisp.org>
62178
62179         * doc/alloca.texi: New file.
62180         * doc/alloca-opt.texi: New file.
62181
62182 2004-12-17  Jim Meyering  <jim@meyering.net>
62183
62184         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
62185         Otherwise, install-sh could exit with improper exit status when
62186         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
62187
62188 2004-12-16  Simon Josefsson  <jas@extundo.com>
62189
62190         * tests/test-base64.c: Add license.
62191
62192 2004-12-15  Stepan Kasal  <address@hidden>
62193
62194         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
62195
62196 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
62197
62198         * modules/getcwd (Files): Add m4/d-ino.m4.
62199         Suggested by Mark D. Baushke.
62200
62201 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
62202
62203         * lib/getdate.y (textint): New member "negative".
62204         (time_zone_hhmm): New function.
62205         Expect 14 shift-reduce conflicts, not 13.
62206         (o_colon_minutes): New rule.
62207         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
62208         (yylex): Set the "negative" member of signed numbers.
62209
62210 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
62211
62212         * doc/getdate.texi (Time of day items, Time zone items):
62213         Describe new formats +00:00, UTC+00:00.
62214
62215 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
62216
62217         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
62218         spurious "-l"s.  Problem reported by Stepan Kasal.
62219
62220 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
62221
62222         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
62223         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
62224
62225 2004-12-04  Simon Josefsson  <jas@extundo.com>
62226
62227         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
62228         Vandoorselaere <yoann@prelude-ids.org>.
62229
62230 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
62231
62232         Changes imported from coreutils.
62233         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
62234         exist.
62235         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
62236
62237 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
62238
62239         Changes imported from coreutils.
62240         * lib/hard-locale.c: Assume <locale.h> exists.
62241         Include "strdup.h".
62242         (GLIBC_VERSION): New macro.
62243         (hard_locale): Assume setlocale exists.
62244         Rewrite to avoid #ifdef.
62245         Use strdup rather than malloc + strcpy.
62246         * lib/human.c: Assume <locale.h> exists.
62247         (human_readable): Assume localeconv exists.
62248
62249 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
62250
62251         * modules/hard-locale (Depends-on): Add strdup.
62252
62253 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
62254
62255         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
62256         convert T2, not T.  (Imported from libc.)
62257
62258 2004-11-30  Simon Josefsson  <jas@extundo.com>
62259
62260         * modules/restrict (License): Change to LGPL.
62261
62262 2004-11-30  Simon Josefsson  <jas@extundo.com>
62263
62264         * m4/restrict.m4: Add copyright and copying conditions.
62265
62266 2004-11-30  Simon Josefsson  <jas@extundo.com>
62267
62268         * m4/base64.m4: New file.
62269
62270 2004-11-30  Simon Josefsson  <jas@extundo.com>
62271
62272         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
62273         base64.
62274
62275         * tests/test-base64.c: New file.
62276
62277         * modules/base64: New file.
62278
62279 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
62280
62281         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
62282         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
62283
62284         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
62285
62286 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
62287
62288         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
62289         (__getcwd.c): Don't restore errno; glibc doesn't.
62290         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
62291         first, falling back to our code only if its results look suspicious.
62292         Ensure that the resulting buffer is only as large as necessary.
62293
62294         * lib/readutmp.c: Include readutmp.h first.
62295         Include <errno.h>, since readutmp.h no longer does that.
62296         * lib/readutmp.h: Don't include <errno.h>,
62297         <sys/param.h>, <time.h>; not needed to establish interface.
62298         (errno): Remove decl.
62299         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
62300         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
62301         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
62302
62303 2004-11-28  Simon Josefsson  <jas@extundo.com>
62304
62305         * lib/base64.h, base64.c: New file.
62306
62307 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
62308
62309         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
62310
62311 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
62312
62313         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
62314         (Depends-on): Remove pathmax, same.  Add mempcpy.
62315         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
62316         (Makefile.am): Append getcwd.h to lib_SOURCES.
62317         (Include): Add getcwd.h.
62318         (Maintainer): Change from Jim Meyering to "all, glibc",
62319         since getdate now uses intended-for-glibc code.
62320         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
62321         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
62322
62323 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
62324
62325         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
62326         HP's ANSI C compiler.
62327         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
62328         Declaring int functions causes warnings on some modern systems and
62329         shouldn't be needed to compile on ancient ones.
62330         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
62331         defined.
62332
62333         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
62334         with the following changes.
62335         (__set_errno): Parenthesize properly.
62336         Include <stdbool.h>.
62337         (MIN, MAX, MATCHING_INO): New macros.
62338         (__getcwd): Define with prototype, not K&R form.
62339         Use heuristics to allocate default buffer on stack if possible.
62340         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
62341         behavior, and to avoid the PATH_MAX limit when computing
62342         ../../../../...
62343         Use MATCHING_INO to compare inode number to file.
62344         Check for arithmetic overflow in size calculations.
62345         Fix bug in reallocation of dot array that caused getcwd to fail
62346         on directories nested deeper than 75.
62347         Be more careful about saving errno on error.
62348         Do not use realloc; use only free+malloc, as this is a bit
62349         more flexible and avoids a needless copy operation.
62350         Do not inspect st_dev and st_ino for symbolic links; POSIX
62351         doesn't specify the latter.
62352         Check for closedir errors.
62353         Avoid needless casts.
62354         Use "#ifdef weak_alias" around weak_alias, to be like other
62355         glibc code.
62356         The following changes to getcwd.c have effect only when used in
62357         gnulib; they have no effect inside glibc proper.
62358         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
62359         as alloca isn't used.
62360         (alloca, __alloca): Likewise.
62361         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
62362         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
62363         unconditionally, as gnulib assumes C89 or better.
62364         Do not include <sys/param.h>.
62365         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
62366         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
62367         better.
62368         (NULL) [!defined NULL]: Remove; we assume C89 or better.
62369         Include <dirent.h> in a way that is compatible with modern Autoconf.
62370         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
62371         New macros, if not already defined.
62372         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
62373         Use "_LIBC", not "defined _LIBC", for consistency.
62374         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
62375         a mempcpy module.
62376         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
62377         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
62378         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
62379         credit only to Jim Meyering and adjust the copyright dates.
62380         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
62381         <stdlib.h>, <unistd.h>, "pathmax.h".
62382         Instead, include "xgetcwd.h" (first) and "getcwd.h".
62383         (INITIAL_BUFFER_SIZE): Remove.
62384         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
62385
62386 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
62387
62388         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
62389         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
62390         Use the _ONCE methods, for efficiency.
62391         Check for fcntl.h.  In test program, include <errno.h>
62392         and <fcntl.h> if available.  Remove old K&R cruft from
62393         test program.  Check for common errors in GNU/Linux,
62394         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
62395         don't do AC_LIBOBJ, as that's getcwd.m4's job.
62396         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
62397         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
62398         name accordingly.
62399         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
62400         accommodate new getcwd.c.
62401         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
62402         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
62403         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
62404         that's all we need now.
62405
62406 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
62407
62408         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
62409         argp-parse.c depends on getopt internals, that means we should
62410         always use our getopt, to be on the safe side.
62411         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
62412         order not to spoil the result of an eventual previous invocation
62413         of gl_GETOPT_SUBSTITUTE.
62414
62415 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
62416
62417         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
62418         redefinition warnings. To avoid them, include the defines
62419         in `#if !defined __need_getopt ... #endif'. The only place
62420         where __getopt_argv_const is used is in definitions
62421         of getopt_long and getopt_long_only below, which are as well
62422         protected by `#ifndef __need_getopt'.
62423         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
62424         __need_getopt after including <stdio.h> and <unistd.h> These
62425         headers might have defined it.
62426
62427 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
62428
62429         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
62430
62431 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
62432
62433         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
62434         (futimens): New function, which uses futimes if available.
62435         (futimens, utimens): Support timespec==NULL, with same semantics
62436         as utime and utimens.
62437         * lib/utimens.h (futimens): New decl.
62438
62439 2004-11-23  Jim Meyering  <jim@meyering.net>
62440
62441         * lib/getopt_.h: Remove trailing blanks.
62442
62443 2004-11-23  Jim Meyering  <jim@meyering.net>
62444
62445         * lib/__fpending.c: Add comment.
62446
62447 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
62448
62449         * modules/canonicalize (Depends-on): Add xreadlink.
62450         Problem reported by James Youngman.
62451
62452 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
62453
62454         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
62455         New macros.
62456         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
62457         optopt): Use them instead of invoking ## directly; otherwise, the
62458         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
62459
62460 2004-11-19  Bruno Haible  <bruno@clisp.org>
62461
62462         * lib/strtok_r.c: Move comments from here...
62463         * lib/strtok_r.h: ... to here.
62464
62465 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
62466
62467         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
62468         implementations that mishandle size_t overflow.
62469
62470 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
62471
62472         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
62473         might fail.  Problem reported by Yoann Vandoorselaere.
62474         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
62475         implementations that mishandle size_t overflow.
62476
62477 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
62478
62479         * modules/canon-host (Depends-on): Add strdup.
62480
62481 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
62482
62483         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
62484
62485 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
62486
62487         * lib/canon-host.c: Include "strdup.h".
62488         (canon_host): Use getaddrinfo if available, so that IPv6 works.
62489         Use strdup instead of malloc/strcpy to duplicate strings.
62490
62491         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
62492         (human_space_before_unit): New constant.
62493         * lib/human.c (human_readable): Support it.
62494
62495         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
62496         (xgetcwd): Set errno correctly when failing.
62497         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
62498         the failure is actually due to a PATH_MAX problem.
62499
62500         Further getopt changes to make it more likely that glibc will
62501         buy the changes back.
62502         * lib/getopt.c (POSIXLY_CORRECT): New constant.
62503         (getopt): Use it, so to preserve glibc semantic
62504         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
62505         when compiling for libc.
62506         * lib/getopt_.h (__getopt_argv_const): Bring it back.
62507         (getopt_long, getopt_long_only): Use it.
62508
62509         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
62510         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
62511         (getopt): Argv is now char * const *, as per standard.
62512         (_getopt_internal_r, _getopt_internal): Argv is now char **,
62513         not char *__getopt_argv_const *.
62514         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
62515         _getopt_long_only_r): Likewise.
62516         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
62517         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
62518         _getopt_long_r, _getopt_long_only_r): Likewise.
62519         * lib/getopt_.h (__getopt_argv_const): Remove.
62520         (getopt): Argv is now char * const *, as per standard.
62521
62522         * lib/getdate.y (tORDINAL): New token.
62523         (day, relunit): Allow it for relative times.
62524         (relative_time_table): Use tORDINAL for ordinals.
62525
62526 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
62527
62528         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
62529         Document that "second" isn't allowed as an ordinal number.
62530
62531 2004-11-16  Jim Meyering  <jim@meyering.net>
62532
62533         * modules/closeout (Depends-on): Add fpending.
62534
62535 2004-11-15  Jim Meyering  <jim@meyering.net>
62536
62537         * lib/closeout.c: Include "__fpending.h" once again.
62538         Include <stdbool.h>.
62539         (close_stdout): Don't fail just because stdout was closed initially,
62540         since some programs don't write to stdout in the normal course of
62541         operation (other than --version and --help), and we don't want this
62542         function to make e.g. `touch file >&-' fail.
62543         But do fail if it was closed and someone has tried to write to it.
62544         E.g., `printf foo >&-' must fail.
62545
62546 2004-11-13  Jim Meyering  <jim@meyering.net>
62547
62548         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
62549
62550 2004-11-12  Simon Josefsson  <jas@extundo.com>
62551
62552         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
62553         small doc fix is still pending.
62554
62555 2004-11-11  Simon Josefsson  <jas@extundo.com>
62556
62557         * modules/strtok_r: New file.
62558
62559         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
62560         strtok_r.
62561
62562 2004-11-11  Simon Josefsson  <jas@extundo.com>
62563
62564         * m4/strtok_r.m4: New file.
62565
62566         * m4/getopt.m4: Replace opterr.
62567
62568 2004-11-11  Simon Josefsson  <jas@extundo.com>
62569
62570         * lib/strtok_r.h, strtok_r.c: New file.
62571
62572 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
62573
62574         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
62575         of replacing opterr, getopt, etc.  This should handle the
62576         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
62577
62578 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
62579
62580         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
62581         we can stop lying to compilers about the constness of argv when we
62582         are compiled outside glibc.
62583         (getopt, getopt_long, getopt_long_only): Use it.
62584         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
62585         _getopt_internal, getopt): Likewise.
62586         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
62587         _getopt_long_only_r): Likewise.
62588         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
62589         _getopt_long_r, _getopt_long_only_r): Likewise.
62590
62591         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
62592         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
62593         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
62594         the other external symbols.
62595         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
62596         declaration, since the above renaming now works around collisions.
62597
62598 2004-11-11  Jim Meyering  <jim@meyering.net>
62599
62600         * lib/linebreak.c: Remove trailing blanks.
62601         * lib/alloca_.h: Likewise.
62602         * lib/acosl.c: Likewise.
62603         * lib/euidaccess.c: Likewise.
62604         * lib/allocsa.h: Likewise.
62605
62606 2004-11-10  Simon Josefsson  <jas@extundo.com>
62607
62608         * m4/getaddrinfo.m4: New file.
62609
62610 2004-11-10  Simon Josefsson  <jas@extundo.com>
62611
62612         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
62613
62614 2004-11-10  Simon Josefsson  <jas@extundo.com>
62615
62616         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
62617         getaddrinfo.
62618
62619         * modules/getaddrinfo: New file.
62620
62621 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62622
62623         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
62624
62625 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
62626
62627         * lib/mktime.c (SHR): New macro, which is a portable
62628         substitute for >> that should work even on Crays.
62629         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
62630         Problem reported by Mark D. Baushke in
62631         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
62632         * lib/getdate.y (SHR): Likewise.
62633         (tm_diff): Use it.
62634         * lib/strftime.c (SHR): Likewise.
62635         (tm_diff): Use it.
62636         * lib/quotearg.c (struct quoting_options): Use unsigned int for
62637         quote_these_too, so that right shifts are well defined.  All uses
62638         changed.
62639
62640 2004-11-10  Jim Meyering  <jim@meyering.net>
62641
62642         Ensure that no close failure goes unreported.
62643         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
62644         return early when it seems there's nothing to flush.
62645         Don't include __fpending.h.
62646
62647 2004-11-10  Jim Meyering  <jim@meyering.net>
62648
62649         * modules/closeout (Depends-on): Remove fpending.
62650
62651 2004-11-10  Jim Meyering  <jim@meyering.net>
62652
62653         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
62654
62655 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
62656
62657         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
62658         gl_FUNC_STRFTIME.
62659         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
62660         and AC_REQUIRE when possible, to avoid duplicate checks.
62661         Check for <wchar.h>.
62662
62663 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
62664
62665         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
62666
62667 2004-11-09  Bruno Haible  <bruno@clisp.org>
62668
62669         * m4/sockpfaf.m4: New file.
62670
62671 2004-11-05  Bruno Haible  <bruno@clisp.org>
62672
62673         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
62674         Reported by Mark D. Baushke <mdb@cvshome.org>.
62675
62676 2004-11-04  Bruno Haible  <bruno@clisp.org>
62677
62678         2004-09-11  Bruno Haible  <bruno@clisp.org>
62679                 * allocsa.valgrind: New file.
62680         2004-02-06  Bruno Haible  <bruno@clisp.org>
62681                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
62682                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
62683                 Reported by Christopher Seip <chris.seip@hp.com>.
62684
62685 2004-11-04  Bruno Haible  <bruno@clisp.org>
62686
62687         * modules/allocsa (Files): Add lib/allocsa.valgrind.
62688         (Makefile.am): Distribute it.
62689
62690 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
62691
62692         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
62693         with errno == ERANGE if the buffer is too small.
62694         Problem reported by Mark D. Baushke.
62695
62696 2004-11-03  Albert Chin  <china@thewrittenword.com>
62697             Paul Eggert  <eggert@cs.ucla.edu>
62698
62699         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
62700         equivalent, substitute $ac_type for equivalent type rather than
62701         blindly using uint32_t *always* which won't work if uint32_t is not
62702         available.  Define _UINT32_T to work around typedef of uint32_t if
62703         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
62704         2.5.1.
62705
62706 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
62707
62708         * m4/jm-macros.m4: Sync from coreutils.
62709         (gl_MACROS): Check for mbrlen, for pathchk.
62710         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
62711
62712 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
62713
62714         * lib/xreadlink.c (MAXSIZE): New macro.
62715         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
62716         size does not exceed MAXSIZE.  Avoid cast.
62717         As suggested by Mark D. Baushke in
62718         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
62719         if readlink fails with buffer size just under MAXSIZE, try again
62720         with MAXSIZE.
62721
62722 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
62723
62724         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
62725
62726 2004-11-02  Derek R. Price  <derek@ximbiot.com>
62727         and  Paul Eggert  <eggert@cs.ucla.edu>
62728
62729         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
62730         (get_date): Overparenthesize to avoid GCC warning.
62731
62732 2004-11-02  Bruno Haible  <bruno@clisp.org>
62733
62734         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
62735         returns void.
62736
62737 2004-11-02  Bruno Haible  <bruno@clisp.org>
62738
62739         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
62740         function returns void.
62741
62742 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
62743
62744         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
62745         fflush_unlocked, flockfile, funlockfile, funlockfile,
62746         fputs_unlocked, putc_unlocked.
62747
62748 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
62749
62750         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
62751         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
62752         already declared.
62753
62754 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
62755
62756         * modules/getdate (Files): Add doc/getdate.texi.
62757         (Depends-on): Add setenv, xalloc.
62758
62759 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
62760
62761         * lib/getdate.y: Add support for TZ="foo" within a date string.
62762         Fix some bugs near time_t boundaries.  Reject dates with
62763         out-of-range components, e.g., "Sept 31".
62764         Include <stdlib.h>, "setenv.h", "xalloc.h".
62765         (ISDIGIT_LOCALE): Remove; unused.
62766         Note that the TZ and time functions used here are not reentrant.
62767         (mktime_ok, get_tz): New functions.
62768         (TZBUFSIZE): New constant.
62769         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
62770         This requires that we sometimes generate our own TZ="XXX..." setting.
62771
62772 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
62773
62774         * doc/getdate.texi: New file, from coreutils with modifications for
62775         the new TZ parsing.
62776
62777 2004-10-27  Derek R. Price  <derek@ximbiot.com>
62778
62779         * lib/mktime.c (not_equal_tm): Remove redundant check.
62780
62781 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62782
62783         * modules/regex (lib_SOURCES): Add regex.c.
62784         Reported by James Youngman in
62785         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
62786
62787 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
62788
62789         * lib/getdate.y: Use Bison 1.875 features, and some minor
62790         code cleanups.  This change does not affect semantics.
62791         Don't include <stdlib.h>; no longer needed.
62792         Don't include unlocked-io.h; only the "#if TEST" code uses
62793         stdio, and performance isn't crucial there.
62794         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
62795         Bison 1.875 features as described below.
62796         All uses of "PC." replaced by "pc->".
62797         (YYSTYPE): Add a forward declaration.
62798         (yylex, yyerror): Use full prototypes in forward decls.
62799         Use "%pure-parser" rather than obsolescent "%pure_parser".
62800         Use %parse-param and %lex-param instead of obsolescent
62801         YYPARSE_PARAM and YYLEX_PARAM.
62802         (meridian_table, month_and_day_table, time_units_table,
62803         relative_time_table, time_zone_table, military_table,
62804         lookup_zone, lookup_word, get_date):
62805         Use NULL instead of 0 where appropriate.
62806         (to_hour): Avoid abort (), to avoid a dependency on
62807         stdlib.h.
62808         (yyerror, yylex): Now accepts parser_control * arg.
62809         (main) [TEST]: Use '\0' rather than 0 for char.
62810
62811 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62812
62813         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
62814
62815 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
62816
62817         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
62818         It's now the caller's responsibility to handle the case where
62819         !HAVE_GETPAGESIZE && !defined getpagesize.
62820
62821         * lib/mktime.c (leapyear): Arg is long int, not int.
62822
62823 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
62824
62825         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
62826
62827 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
62828
62829         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
62830         missing.  Problem reported by James Youngman.
62831
62832 2004-10-16  Simon Josefsson  <jas@extundo.com>
62833
62834         * gnulib-tool: Fix comments.  Fix parse problem.
62835         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
62836
62837 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
62838
62839         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
62840         implementation of getopt_long.  Problem reported by Alexander Taler in:
62841         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
62842
62843 2004-10-15  Bruno Haible  <bruno@clisp.org>
62844
62845         * gnulib-tool: Untabify. Initialize supplied_libname.
62846         (func_usage): More homogenous output.
62847         (func_modules_transitive_closure, func_modules_to_filelist,
62848         func_emit_lib_Makefile_am): New functions.
62849         (func_import): New function, extracted from big case statement. Use
62850         func_get_license, func_modules_transitive_closure,
62851         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
62852         opt_lgpl. Don't use test -a, as it's not portable.
62853         (func_create_testdir): Use func_modules_transitive_closure,
62854         func_modules_to_filelist, func_emit_lib_Makefile_am.
62855
62856 2004-10-15  Bruno Haible  <bruno@clisp.org>
62857
62858         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
62859
62860 2004-10-15  Bruno Haible  <bruno@clisp.org>
62861
62862         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
62863         the portions belonging to each module.
62864         Suggested by Derek Robert Price <derek@ximbiot.com>.
62865
62866 2004-10-12  Simon Josefsson  <jas@extundo.com>
62867
62868         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
62869         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
62870         to real functions.
62871
62872 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
62873
62874         * modules/vsnprintf: New file.
62875
62876 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
62877
62878         * m4/vsnprintf.m4: New file.
62879
62880 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
62881
62882         * lib/vsnprintf.h: New file.
62883         * lib/vsnprintf.c: New file.
62884
62885 2004-10-11  Bruno Haible  <bruno@clisp.org>
62886
62887         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
62888         vsnprintf.
62889
62890 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
62891
62892         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
62893
62894 2004-10-07  Bruno Haible  <bruno@clisp.org>
62895
62896         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
62897         fits into the provided buffer.
62898
62899 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
62900
62901         * lib/diacrit.c, diacrit.h: Add GPL notice.
62902
62903         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
62904         notice.
62905         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
62906         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
62907         This avoids a potential constant-folding bug.
62908
62909 2004-10-05  Bruno Haible  <bruno@clisp.org>
62910
62911         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
62912         for the declaration of strsep.
62913
62914 2004-10-05  Bruno Haible  <bruno@clisp.org>
62915
62916         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
62917
62918 2004-10-04  Simon Josefsson  <jas@extundo.com>
62919
62920         * modules/memmem: New file.
62921         * tests/test-memmem.c: New file.
62922         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
62923
62924 2004-10-04  Simon Josefsson  <jas@extundo.com>
62925
62926         * m4/memmem.m4: New file.
62927
62928 2004-10-04  Simon Josefsson  <jas@extundo.com>
62929
62930         * lib/memmem.h: New file.
62931         * lib/memmem.c: New file, taken from glibc.
62932
62933 2004-10-04  Simon Josefsson  <jas@extundo.com>
62934
62935         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
62936         '#ifdef USE_UNLOCKED_IO'.
62937
62938 2004-10-04  Simon Josefsson  <jas@extundo.com>
62939
62940         * config/srclist.txt: Add memmem from glibc.
62941
62942 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
62943
62944         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
62945
62946         * modules/argmatch, modules/argp, modules/closeout, modules/error,
62947         modules/exclude, modules/getdate, modules/getline,
62948         modules/getndelim2, modules/getpass, modules/getpass-gnu,
62949         modules/getusershell, modules/linebuffer, modules/md5,
62950         modules/mountlist, modules/posixtm, modules/readtokens,
62951         modules/readutmp, modules/regex, modules/sha1,
62952         modules/version-etc, modules/yesno:
62953         Remove dependency on unlocked-io.
62954
62955 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
62956
62957         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
62958
62959         * m4/unlocked-io.m4: Add copyright notice.
62960         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
62961
62962 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
62963
62964         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
62965         * lib/xmalloc.c (xmemdup): Likewise.
62966         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
62967         XFREE): Remove these long-obsolescent macros.
62968         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
62969         * lib/xstrdup.c: Remove.
62970
62971         * lib/regex.c (re_comp): Cast gettext return value to char *,
62972         Problem reported by Martin Neitzel via Mark D. Baushke.
62973
62974 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
62975
62976         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
62977         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
62978         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
62979         regex.c, sha1.c, version-etc.c, yesno.c:
62980         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
62981         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
62982         the includer's responsibility.
62983
62984         Sync from coreutils.
62985
62986         * lib/modechange.c (mode_compile): Don't decrement a pointer that
62987         points to the start of a string, as the C Standard says the
62988         resulting behavior is undefined.
62989
62990         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
62991         simple -> simple_backups, numbered_existing ->
62992         numbered_existing_backups, numbered -> numbered_backups
62993         to avoid shadowing problems.  All uses changed.
62994         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
62995         * lib/backupfile.c (check_extension, numbered_backup):
62996         Rename locals to avoid shadowing 'basename'.
62997         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
62998         once.
62999
63000         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
63001         * lib/.cvsignore: Add getopt.h.
63002
63003 2004-10-04  Bruno Haible  <bruno@clisp.org>
63004
63005         * modules/README: New file.
63006         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
63007         not a module.
63008
63009 2004-10-02  Jim Meyering  <jim@meyering.net>
63010
63011         * lib/dirfd.h, getpagesize.h: Add copyright notice.
63012
63013 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63014
63015         * modules/strsep: New file.
63016
63017 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63018
63019         * m4/strsep.m4: New file.
63020
63021 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
63022
63023         * lib/strsep.h: New file.
63024         * lib/strsep.c: New file.
63025
63026 2004-10-01  Simon Josefsson  <jas@extundo.com>
63027
63028         * lib/snprintf.c (snprintf): Handle size==0.
63029
63030 2004-10-01  Simon Josefsson  <jas@extundo.com>
63031             Bruno Haible  <bruno@clisp.org>
63032
63033         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
63034         (snprintf): Declare 'args'.
63035
63036 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
63037
63038         * lib/snprintf.c: Remove comments as to why each header is needed.
63039
63040 2004-10-01  Bruno Haible  <bruno@clisp.org>
63041
63042         * MODULES.html.sh: Add strsep.
63043
63044 2004-09-30  Simon Josefsson  <jas@extundo.com>
63045
63046         * modules/snprintf: New file.
63047
63048 2004-09-30  Simon Josefsson  <jas@extundo.com>
63049
63050         * m4/snprintf.m4: New file.
63051
63052 2004-09-30  Simon Josefsson  <jas@extundo.com>
63053
63054         * lib/snprintf.h, lib/snprintf.c: New files.
63055
63056 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
63057
63058         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
63059         (hol_entry_help): Never translate an empty string.
63060         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
63061         * lib/argp.h (OPTION_NO_TRANS): New option.
63062
63063 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
63064
63065         * modules/argp (Maintainer): Replace Simon Josefsson
63066         by Sergey Poznyakoff.
63067
63068 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
63069
63070         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
63071         changes merged back into glibc.
63072
63073 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
63074
63075         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
63076
63077 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
63078
63079         * lib/xvasprintf.c: Include xalloc.h.
63080         (xvasprintf): Use xalloc_die, not xmalloc_die.
63081
63082 2004-09-29  Bruno Haible  <bruno@clisp.org>
63083
63084         * modules/alloca-opt: New file, derived from modules/alloca.
63085         * modules/allocsa: Depend on alloca-opt instead of alloca.
63086         * modules/setenv: Likewise.
63087         * modules/vasnprintf: Likewise.
63088         * MODULES.html.sh: Add alloca-opt.
63089
63090 2004-09-28  Simon Josefsson  <jas@extundo.com>
63091
63092         * gnulib-tool: New parameter --lgpl, to asseert that modules are
63093         LGPL, and to replace license template from GPL to LGPL.
63094
63095 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
63096
63097         * modules/dummy: Change license to LGPL.
63098
63099 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
63100
63101         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
63102
63103 2004-09-24  Simon Josefsson  <jas@extundo.com>
63104
63105         * modules/minmax (License): Change from GPL to LGPL.
63106
63107 2004-09-23  Simon Josefsson  <jas@extundo.com>
63108
63109         * gnulib-tool (--import): Typo.
63110
63111 2004-09-23  Simon Josefsson  <jas@extundo.com>
63112
63113         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
63114
63115 2004-09-22  Bruno Haible  <bruno@clisp.org>
63116
63117         * modules/*: Add 'License' field.
63118         * gnulib-tool: Accept --extract-license option.
63119         (func_get_license): New function.
63120
63121 2004-09-21  Bruno Haible  <bruno@clisp.org>
63122
63123         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
63124         Reported by Simon Josefsson.
63125
63126 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
63127
63128         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
63129         gl_AC_TYPE_LONG_LONG.
63130
63131 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
63132
63133         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
63134
63135 2004-09-18  Simon Josefsson  <jas@extundo.com>
63136         and  Paul Eggert  <eggert@cs.ucla.edu>
63137
63138         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
63139         calls with autoreconf.  Define GL_LIB.
63140
63141 2004-09-14  Karl Berry  <karl@gnu.org>
63142
63143         * config/srclist.txt: unsync setenv.c, sigh.
63144
63145 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
63146
63147         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
63148         Problem reported by Bruno Haible in:
63149         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
63150
63151 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
63152
63153         * config/srclist.txt: Comment out argp-pvh.c.
63154
63155 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
63156
63157         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
63158         in case some system header has #define'd it.  Problem reported by
63159         Soeren D. Schulze in
63160         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
63161
63162 2004-09-09  Karl Berry  <karl@gnu.org>
63163
63164         * regex.[ch]: delete from the root.  These were supposed to be
63165                 synced with emacs cvs, but this has not happened for about
63166                 a year, and anyway nothing else uses emacs regex.[ch].
63167                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
63168                 lib/regex[.ch] is untouched.
63169
63170 2004-09-09  Bruno Haible  <bruno@clisp.org>
63171
63172         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
63173
63174 2004-09-09  Bruno Haible  <bruno@clisp.org>
63175
63176         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
63177         modifications.
63178         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
63179
63180 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
63181
63182         * modules/xvasprintf: New file.
63183         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
63184
63185 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
63186
63187         * lib/xvasprintf.h: New file.
63188         * lib/xvasprintf.c: New file.
63189         * lib/xasprintf.c: New file.
63190
63191 2004-09-08  Bruno Haible  <bruno@clisp.org>
63192
63193         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
63194
63195 2004-09-08  Bruno Haible  <bruno@clisp.org>
63196
63197         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
63198         length is > INT_MAX.
63199         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
63200         more.
63201
63202 2004-09-08  Bruno Haible  <bruno@clisp.org>
63203
63204         * lib/stdint_.h: New file, taken from GNU clisp.
63205
63206 2004-09-08  Bruno Haible  <bruno@clisp.org>
63207             Oskar Liljeblad  <oskar@osk.mine.nu>
63208
63209         * modules/stdint: New file.
63210         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
63211
63212 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63213
63214         Import from coreutils.
63215         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
63216         strings on unbounded length.  alloca's performance benefits aren't
63217         that important here.
63218         (V_STRDUP): Remove.
63219         (parse_with_separator): New function, with most of the internals
63220         of the old parse_user_spec.  Allow user to omit both user and group,
63221         for compatibility with FreeBSD.
63222         Clone only the user name, not the entire spec.
63223         Do not set *uid, *gid unless entirely successful.
63224         Avoid memory leak in some failing cases.
63225         Fix regression for USER.GROUP reported by Dmitry V. Levin in
63226         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
63227         (parse_user_spec): Rewrite to use parse_with_separator.
63228
63229 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63230
63231         * modules/userspec: Don't depend on alloca.
63232
63233 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
63234
63235         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
63236
63237 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
63238
63239         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
63240         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
63241         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
63242
63243 2004-08-16  Simon Josefsson  <jas@extundo.com>
63244
63245         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
63246         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
63247         Add --dry-run for --import.
63248         Let user provided command line parameters override configure.ac
63249         settings.
63250
63251 2004-08-12  Simon Josefsson  <jas@extundo.com>
63252
63253         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
63254         as discussed with Paul Eggert in threads rooted at
63255         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
63256         and
63257         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
63258         Before, the test was empty, and relied on ELIDE_CODE in source
63259         code.)
63260         (gl_PREREQ_GETOPT): New macro.
63261         (gl_GETOPT): Use them.
63262
63263 2004-08-12  Simon Josefsson  <jas@extundo.com>
63264
63265         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
63266         * lib/getopt_.h: Renamed from getopt.h.
63267
63268 2004-08-12  Simon Josefsson  <jas@extundo.com>
63269
63270         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
63271         Change default library name from libfoo to libgnu.
63272         Now, if you have a configure.ac that says:
63273                 gl_SOURCE_BASE(gl)
63274                 gl_M4_BASE(gl/m4)
63275                 gl_MODULES(error getopt etcetera)
63276                 gl_INIT
63277         you can import all you need by running:
63278                 ../gnulib/gnulib-tool --import
63279
63280         * modules/getopt (Files): Rename getopt.h to getopt_.h.
63281         (Makefile.am): Rewrite, use logic from argz.
63282         (Include): Use <getopt.h> instead of "getopt.h".
63283
63284 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
63285
63286         * modules/argp (Files): Add m4/unlocked-io.m4.
63287         (Depends-on): Add extensions.
63288
63289 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
63290
63291         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
63292         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
63293         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
63294         Check for program_invocation_name, program_invocation_short_name,
63295         flockfile, funlockfile, features.h, _getopt_long_only_r.
63296
63297 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
63298
63299         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
63300         its complicated substitute.
63301         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
63302         and program_invocation_name.
63303         (__argp_basename) [!_LIBC]: Remove; the only use was
63304         replaced by its body.
63305         (__argp_short_program_name): Change condition from
63306         !defined __argp_short_program_name to
63307         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
63308         to match argp-namefrob.h.
63309         (__argp_failure): Don't assume strerror_r returns char *.
63310         * lib/argp-parse.c (N_): Define unconditionally.
63311         (argp_default_options): Fill out initializers with 0 to avoid
63312         gcc warnings.
63313
63314 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
63315
63316         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
63317         getopt1.c.
63318
63319 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
63320
63321         Merge from coreutils.
63322
63323         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
63324
63325         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
63326         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
63327
63328 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
63329
63330         Merge from coreutils.
63331
63332         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
63333         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
63334         for Reliant Unix 5.43.
63335
63336         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
63337         (union fooround): Use uintmax_t, not long int.
63338         The rest is a merge from libc:
63339         [defined _LIBC]: Include <shlib-compat.h>.
63340         (_obstack) [defined _LIBC]: Remove after 2.3.4.
63341
63342         * lib/settime.c (settime): Recode to avoid warning with
63343         Sun Forte C 6U2.
63344
63345         * lib/strverscmp.c: Convert to UTF-8.
63346
63347 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
63348
63349         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
63350         m4/uintmax_t.m4.
63351
63352 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
63353
63354         * modules/xalloc-die: New file.
63355         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
63356
63357         * modules/md5 (Files): Add m4/uint32_t.m4.
63358         * modules/sha1: Renamed from modules/sha.
63359         (Files):
63360         Rename lib/sha.h to lib/sha1.h.
63361         Rename lib/sha.c to lib/sha1.c.
63362         Rename m4/sha.m4 to m4/sha1.m4.
63363         (lib_SOURCES): Likewise.
63364         (configure.ac): Rename gl_SHA to gl_SHA1.
63365         (Include): sha.h -> sha1.h.
63366
63367 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
63368
63369         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
63370         * m4/sha1.m4: Renamed from sha.m4.
63371         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
63372
63373 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
63374
63375         * lib/obstack.h (obstack_empty_p):
63376         Don't assume that chunk->contents is suitably aligned.
63377         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
63378         Likewise. Problem reported by Benno in
63379         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
63380
63381         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
63382         readable.  This could be improved further but it'd take some work.
63383
63384 2004-08-08  Simon Josefsson  <jas@extundo.com>
63385
63386         * modules/xgethostname (Depends-on): Remove exit and error (not
63387         used).
63388
63389         * modules/getpass-gnu: Add getpass.h.
63390         (Depends-on): Add stdbool.
63391         * modules/getpass: Add getpass.h.
63392
63393 2004-08-08  Simon Josefsson  <jas@extundo.com>
63394
63395         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
63396         Check getpass declaration.
63397
63398 2004-08-08  Simon Josefsson  <jas@extundo.com>
63399
63400         * lib/xgethostname.c: Don't include error.h (not used).
63401
63402         * lib/getpass.h: Add.
63403         * lib/getpass.c: Include getpass.h first.
63404
63405 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
63406
63407         * lib/xalloc-die.c: New file.
63408         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
63409         All uses removed.
63410         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
63411         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
63412         xalloc-die.c.
63413         (_, N_, xalloc_die): Move to xalloc-die.c.
63414         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
63415         so that we needn't mess with xalloc_msg_memory_exhausted.
63416
63417         * lib/sha1.h: Renamed from sha.h.
63418         (SHA1_H): Renamed from _SHA_H.
63419         (sha1_ctx): Renamed from sha_ctx.
63420         (sha1_init_ctx): Renamed from sha_init_ctx.
63421         (sha1_process_block): Renamed from sha_process_block.
63422         (sha1_process_bytes): Renamed from sha_process_bytes.
63423         (sha1_finish_ctx): Renamed from sha_finish_ctx.
63424         (sha1_read_ctx): Renamed from sha_read_ctx.
63425         (sha1_stream): Renamed from sha_stream.
63426         (sha1_buffer): Renamed from sha_buffer.
63427         * lib/sha1.c: Likewise; renamed from sha.c.
63428         Do not include <sys/types.h>.
63429         Include <stddef.h> rather than <stdlib.h>.
63430
63431 2004-08-08  Bruno Haible  <bruno@clisp.org>
63432
63433         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
63434         FILESYSTEM_PREFIX_LEN.
63435         * lib/progreloc.c: Likewise.
63436         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
63437
63438 2004-08-06  Simon Josefsson  <jas@extundo.com>
63439
63440         * modules/progname (Depends-on): Don't depend on stdbool.
63441
63442 2004-08-06  Simon Josefsson  <jas@extundo.com>
63443
63444         * modules/getsubopt: New file.
63445         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
63446         getsubopt.
63447
63448 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
63449
63450         More merge from coreutils.
63451
63452         * m4/utimens.m4, m4/utimecmp.m4: New files.
63453         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
63454         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
63455         prereq.m4, sha.m4: Import changes from coreutils.
63456
63457 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
63458
63459         More merge from coreutils.
63460         * modules/raise, modules/readtokens0, modules/utimens:
63461         * modules/utimecmp, module/xnanosleep: New files.
63462         * modules/strftime: Add lib/strftime.h.
63463         Change include from <time.h> to "strftime.h".
63464         * modules/yesno: Add lib/yesno.h.
63465         * modules/backupfile: Remove lib/addext.c.
63466         * modules/euidaccess: Add stat-macros.h.
63467         * modules/canonicalize, modules/euidaccess,
63468         modules/filemode, modules/lchown, modules/makepath,
63469         modules/rmdir, modules/stat: Likewise.
63470
63471 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
63472
63473         Merge from tar.
63474         * lib/argp-help.c (make_hol, hol_append): Don't assume that
63475         SIZE_MAX is a valid preprocessor constant.
63476         (__argp_basename): Change from "#ifndef _LIBC"
63477         to "#ifndef __argp_short_program_name", so that
63478         we don't compile these functions for tar.
63479
63480         More merges from coreutils.
63481         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
63482         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
63483         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
63484         * lib/addext.c: Remove; no longer needed.
63485         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
63486         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
63487         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
63488         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
63489         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
63490         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
63491         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
63492         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
63493         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
63494         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
63495         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
63496         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
63497         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
63498         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
63499         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
63500         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
63501         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
63502         Import changes from coreutils.
63503
63504 2004-08-05  Simon Josefsson  <jas@extundo.com>
63505
63506         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
63507
63508 2004-08-05  Simon Josefsson  <jas@extundo.com>
63509
63510         * m4/getsubopt.m4: New file.
63511
63512 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
63513
63514         Merge from coreutils.
63515
63516         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
63517         * m4/getcwd-path-max.m4: New files.
63518
63519         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
63520         FILESYSTEM_PREFIX_LEN ->
63521         FILE_SYSTEM_PREFIX_LEN.
63522         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
63523         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
63524         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
63525         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
63526
63527         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
63528         prerequisite modules now handle the DOS stuff.
63529         Don't check for unistd.h.
63530
63531 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
63532
63533         Merge from coreutils.
63534
63535         * lib/.gdb-history: Remove; this doesn't belong here.
63536
63537         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
63538         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
63539         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
63540         * lib/getcwd.c: New files.
63541
63542         * lib/dirname.h: Include <stdbool.h>.
63543         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
63544         for consistency with POSIX terminology.  All uses changed.
63545         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
63546         (strip_trailing_slashes): Use bool for booleans.
63547         * lib/stripslash.c (strip_trailing_slashes): Likewise.
63548
63549         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
63550         sometimes returns a positive errno value even when it succeeds.
63551         (print_errno_message) [!LIBC]: Fall back on strerror if
63552         __strerror_r fails.
63553
63554         * lib/path-concat.c (mempcpy): Don't define if a system header defines
63555         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
63556         (longest_relative_suffix): New function.
63557         (path_concat): Use it.  Assume first argument is not NULL.
63558         Port to DOS.  Omit redundant separators.
63559         Report an error instead of returning NULL.
63560         Use mempcpy instead of memcpy.
63561         (xpath_concat): Remove: not declared or used.
63562
63563         * lib/same.h: Include <stdbool.h>
63564         (same_name): Return bool, not int.
63565         * lib/same.c (same_name): Likewise.
63566         (errno): Don't declare; we assume C89 or better now.
63567
63568         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
63569         if not already defined.
63570
63571         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
63572         * lib/dup-safer.c (errno): Likewise.
63573
63574 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
63575
63576         Merge from coreutils.
63577         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
63578         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
63579         * modules/path-concat: Don't depend on strdup.
63580
63581 2004-08-03  Simon Josefsson  <jas@extundo.com>
63582
63583         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
63584         * lib/progname.h: Don't include stdbool.h.
63585
63586 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
63587
63588         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
63589         * MODULES.html.sh (func_all_modules): Remove fatal.
63590
63591 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
63592
63593         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
63594
63595 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
63596
63597         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
63598         working.
63599
63600 2004-08-02  Simon Josefsson  <jas@extundo.com>
63601
63602         * lib/getsubopt.h: New file, with comments from Bruno Haible.
63603         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
63604         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
63605
63606 2004-08-01  Simon Josefsson  <jas@extundo.com>
63607
63608         * lib/xgetdomainname.c: Include stdlib.h, for free().
63609
63610 2004-07-19  Bruno Haible  <bruno@clisp.org>
63611
63612         * MODULES.html.sh (func_all_modules): Add dummy.
63613
63614 2004-07-16  Simon Josefsson  <jas@extundo.com>
63615
63616         * modules/dummy: New file.
63617
63618 2004-07-16  Simon Josefsson  <jas@extundo.com>
63619
63620         * lib/dummy.c: New file.
63621
63622 2004-07-16  Bruno Haible  <bruno@clisp.org>
63623
63624         * lib/backupfile.h: Add extern "C" for C++.
63625         * lib/closeout.h: Likewise.
63626         * lib/copy-file.h: Likewise.
63627         * lib/findprog.h: Likewise.
63628         * lib/full-write.h: Likewise.
63629         * lib/pathname.h: Likewise.
63630         * lib/progname.h: Likewise.
63631         * lib/stpcpy.h: Likewise.
63632         * lib/stpncpy.h: Likewise.
63633         * lib/strcase.h: Likewise.
63634         * lib/strstr.h: Likewise.
63635         * lib/xalloc.h: Likewise.
63636
63637         * lib/mbswidth.h: Add extern "C" for C++.
63638         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
63639
63640 2004-07-13  Robert Millan  <robertmh@gnu.org>
63641
63642         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
63643
63644 2004-07-09  Simon Josefsson  <jas@extundo.com>
63645
63646         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
63647         failed without this.)
63648
63649 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63650
63651         * modules/chown (Files): Add lib/fchown-stub.c, since
63652         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
63653
63654 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
63655
63656         * lib/fchown-stub.c: New file.
63657
63658 2004-06-24  Jim Meyering  <jim@meyering.net>
63659
63660         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
63661
63662 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
63663
63664         * modules/argz: Omit "#include".
63665
63666         * MODULES.html.sh (func_all_modules): Add calloc, to match
63667         2004-06-01 addition of calloc module.
63668
63669 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
63670
63671         * m4/argz.m4: New file, which is autoupdated from libtool.
63672
63673 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
63674
63675         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
63676         libtool.
63677
63678 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
63679
63680         * config/srclist-update: Don't insist on "USA." before the
63681         close-comment, as libtool omits the period and puts the */ on a
63682         separate line.
63683         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
63684         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
63685
63686 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
63687
63688         * modules/argz: New file.
63689         * MODULES.html.sh (func_all_modules): Add argz.
63690
63691 2004-06-12  Jim Meyering  <jim@meyering.net>
63692         and  Paul Eggert  <eggert@cs.ucla.edu>
63693
63694         * modules/hash (Files): Add lib/xalloc.h.
63695         * modules/pipe (Depends-on): Add wait-process.
63696         * modules/stat (Depends-on): Add xalloc.
63697         * modules/userspec (Files): Add lib/userspec.h.
63698         * modules/xstrto
63699
63700         Upgrade from gettext-0.13.
63701         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
63702         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
63703         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
63704
63705 2004-06-10  Jim Meyering  <jim@meyering.net>
63706
63707         * lib/calloc.c: New file.
63708
63709 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
63710
63711         * lib/getdate.y (yylex): Allow space between sign and number.
63712         Problem reported by Dan Jacobson.
63713
63714 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
63715
63716         Merge from coreutils CVS.
63717
63718         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
63719         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
63720         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
63721         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
63722         xstrtol.m4: Fix copyright date and/or serial number.
63723
63724         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
63725         See if we need an fchown replacement.
63726         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
63727         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
63728         and use the replacement function if we detect either defect.
63729
63730         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
63731         gl_UTIMECMP.
63732
63733 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
63734         and  Jim Meyering  <jim@meyering.net>
63735
63736         Merge from coreutils CVS.
63737
63738         * lib/stat-macros.h: New file, with contents from file-type.h
63739         and coreutils' system.h.
63740         * lib/file-type.c: Include "stat-macros.h".
63741         * lib/file-type.h (file_type): Move all macro definitions to new file,
63742         stat-macros.h.
63743
63744         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
63745         Wrap old code with this conditional.
63746         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
63747         function that does not dereference symlinks.
63748         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
63749
63750         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
63751         dependency problems.
63752         (xreadlink): Accept new arg SIZE, for efficiency.
63753         All decls and uses changed.
63754         * lib/xreadlink.h: Include <stddef.h>, for size_t.
63755
63756         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
63757         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
63758
63759         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
63760         sysexits.h.
63761
63762 2004-06-01  Jim Meyering  <jim@meyering.net>
63763
63764         * m4/calloc.m4: New file.
63765
63766 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
63767
63768         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
63769         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
63770         Also, fix a typo in a diagnostic.
63771
63772 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
63773
63774         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
63775         or AC_FUNC_REALLOC.
63776
63777 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
63778
63779         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
63780         macros to be defined.
63781         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
63782         the allocator returns NULL because the requested size is zero.
63783
63784 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
63785
63786         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
63787         var.  Add comment explaining why libc still defines it.  This
63788         merges the following patch from glibc:
63789         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
63790
63791 2004-05-20  Andreas Schwab  <schwab@suse.de>
63792
63793         * m4/free.m4: Replace free if it not known to work, not the other
63794         way round.
63795
63796 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
63797
63798         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
63799         present in glibc since revision 1.1 of this file.
63800         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
63801         obstack_alignment_mask, obstack_alloc, obstack_base,
63802         obstack_blank, obstack_blank_fast, obstack_chunk_size,
63803         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
63804         obstack_grow0, obstack_init, obstack_int_grow,
63805         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
63806         obstack_next_free, obstack_object_size, obstack_ptr_grow,
63807         obstack_ptr_grow_fast, obstack_room): Remove declarations of
63808         nonexistent functions.
63809
63810 2004-05-18  Karl Berry  <karl@gnu.org>
63811
63812         * config/srclist.txt: break link for vasnprintf.c.
63813
63814 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63815
63816         Port obstack to the AS/400, where pointers are 16 bytes wide and
63817         you cannot cast an integer to a valid pointer.  This patch is
63818         currently waiting to be integrated into glibc; see
63819         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
63820
63821         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
63822         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
63823         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
63824         (struct obstack): temp member is now a union of a pointer and
63825         an integer, instead of an integer.  All integer uses changed.
63826         This does not affect the physical layout of struct obstack,
63827         except on hosts (like the AS/400) where the size or alignment of
63828         void * is greater than that of ptrdiff_t.
63829         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
63830         __STDC__)]: Store temporary in pointer member of union, not
63831         integer member.
63832         * lib/obstack.c: Include <stddef.h>, for offsetof.
63833         (struct fooalign): Remove; it doesn't need a name.
63834         (union fooround): Change double to long double, and add void *.
63835         (DEFAULT_ALIGNMENT): Use offsetof to compute.
63836         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
63837         not a macro.  Hence the values are always int; so remove all
63838         casts-to-int in uses.
63839
63840 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63841
63842         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
63843         we can get this patch merged into glibc.
63844
63845 2004-05-17  Derek R. Price  <derek@ximbiot.com>
63846             Paul Eggert  <eggert@cs.ucla.edu>
63847
63848         * m4/argp: Depend on alloca.
63849
63850 2004-05-17  Derek R. Price  <derek@ximbiot.com>
63851             Paul Eggert  <eggert@cs.ucla.edu>
63852
63853         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
63854         freecoding.
63855
63856 2004-05-17  Bruno Haible  <bruno@clisp.org>
63857
63858         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
63859         precision that consists of a '.' followed by an empty digit string.
63860         Patch by Tor Lillqvist <tml@iki.fi>.
63861
63862 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63863
63864         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
63865         for backward compatibility with older code.  We need our own
63866         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
63867         it under some other name, and our alloca.h will define it.
63868
63869 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63870             Derek Price  <derek@ximbiot.com>
63871
63872         * lib/alloca.c: Include <alloca.h>, to get our interface.
63873         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
63874         include <alloca.h> first.  Use C89 prototype for alloca; this
63875         requires including <stddef.h> for size_t.  Use extern "C" if C++.
63876         Use #elif for simplicity, since we can assume C89 now.
63877         Don't try to source the system alloca.h since it will not be found
63878         and to prevent recursively including its replacement.
63879         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
63880         * lib/regex.c: Likewise.
63881
63882 2004-05-16  Derek Price  <derek@ximbiot.com>
63883             Paul Eggert  <eggert@cs.ucla.edu>
63884
63885         getline cleanup.  This changes the getndelim2 API: both order of
63886         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
63887         no delimiter).
63888
63889         * lib/getline.c: Don't include stddef.h or stdio.h, since our
63890         interface does that.
63891         (getline): Always use getdelim, so that we don't have two
63892         copies of this code.
63893         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
63894         if available.
63895         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
63896         (GETNDELIM2_MAXIMUM): New macro.
63897         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
63898         instead of the old practice of delim2==0.  All callers changed.
63899         Return -1 on overflow, instead of returning junk.
63900         Do not set *linesize unless allocation succeeds.
63901         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
63902         that we include sys/types.h.
63903         * lib/getnline.h: Likewise.
63904         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
63905         (getndelim2): Reorder arguments.
63906         * lib/getnline.c (getnline, getndelim):
63907         Don't discard the NMAX argument.
63908         (getnline): Invoke getndelim, to avoid code duplication.
63909         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
63910         of (size_t) -1 by callers of the getnline family.
63911
63912 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
63913
63914         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
63915         Check for gettimeofday.
63916         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
63917         Check for settimeofday, stime.
63918
63919 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
63920
63921         * lib/nanosleep.c (suspended): Change its type from int to
63922         sig_atomic_t volatile.
63923         (first_call): Make it private to rpl_nanosleep, and have it
63924         be zero initially as that's a bit faster.
63925         (my_usleep): Round up fractional times instead of truncating them,
63926         as this is the usual meaning for 'sleep'.
63927
63928         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
63929         doesn't work.
63930         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
63931         (ENOSYS): Define if not defined.
63932         (settime): Fall back on stime if it exists and settimeofday fails.
63933         But don't bother with fallbacks if a method fails with errno == EPERM.
63934
63935 2004-05-11  Jim Meyering  <jim@meyering.net>
63936
63937         Prior to this change, the save_cwd caller required read access to the
63938         current directory on most systems (ones with the fchdir function).
63939
63940         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
63941         fails, try write-only, and finally, resort to using xgetcwd.
63942
63943 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
63944
63945         * lib/obstack.c, obstack.h: Import changes from libc.
63946
63947 2004-04-28  Bruno Haible  <bruno@clisp.org>
63948
63949         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
63950         also implicitly appends .exe to executables.
63951         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
63952         accepts Windows pathnames.
63953         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
63954         Treat Cygwin like Windows, since it now accepts Windows pathnames.
63955         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
63956         Treat Cygwin like Windows, since it now accepts Windows pathnames.
63957         Reported by Derek Robert Price <derek@ximbiot.com>.
63958
63959 2004-04-21  Karl Berry  <karl@gnu.org>
63960
63961         * config/srclist.txt (localcharset.c): break sync.
63962
63963 2004-04-20  Paul Eggert  <eggert@twinsun.com>
63964
63965         * m4/host-os.m4: Add a copyright notice.
63966
63967 2004-04-20  Jim Meyering  <jim@meyering.net>
63968
63969         Change UTILS_ to gl_ in AC_DEFINE'd names.
63970         Change utils_- and jm_-prefixed variables, too.
63971         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
63972         UTILS_FUNC_MKDIR_TRAILING_SLASH.
63973         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
63974
63975         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
63976         Don't emit trailing blanks.
63977         Also rename jm_-prefixed variables to have gl_ prefix.
63978
63979         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
63980         Also rename jm_-prefixed variables to have gl_ prefix.
63981
63982         * m4/jm-macros.m4: Reflect the renamings.
63983         * m4/prereq.m4: Likewise.
63984
63985 2004-04-20  Jim Meyering  <jim@meyering.net>
63986
63987         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
63988         memory.
63989
63990 2004-04-20  Jim Meyering  <jim@meyering.net>
63991             Bruno Haible  <bruno@clisp.org>
63992
63993         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
63994         memory when realloc fails.
63995
63996 2004-04-19  Jim Meyering  <jim@meyering.net>
63997
63998         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
63999         now that readutmp.c may call `free (0)'.
64000
64001 2004-04-19  Bruno Haible  <bruno@clisp.org>
64002
64003         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
64004         * m4/inttypes_h.m4: Likewise.
64005         * m4/stdint_h.m4: Likewise.
64006         * m4/intmax_t.m4: Likewise.
64007         * m4/uintmax_t.m4: Likewise.
64008
64009 2004-04-18  Jim Meyering  <jim@meyering.net>
64010
64011         * m4/prereq.m4: Don't forbid jm_ prefix.
64012
64013         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
64014         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
64015         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
64016         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
64017         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
64018         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
64019         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
64020         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
64021         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
64022         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
64023         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
64024         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
64025         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
64026         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
64027         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
64028         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
64029         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
64030         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
64031         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
64032
64033 2004-04-18  Jim Meyering  <jim@meyering.net>
64034
64035         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
64036         failure, don't leak memory and do call END_UTMP_ENT.
64037
64038 2004-04-16  Jim Meyering  <jim@meyering.net>
64039
64040         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
64041         coreutils' stat program.
64042         (gl_PREREQ): Don't require jm_PREREQ_STAT.
64043
64044 2004-04-11  Paul Eggert  <eggert@twinsun.com>
64045
64046         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
64047         C89.
64048         (CHAR_BIT): Remove, since we assume C89.
64049         Include <stdint.h> if available, as per current Autoconf CVS advice.
64050
64051 2004-03-31  Jim Meyering  <jim@meyering.net>
64052
64053         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
64054         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
64055         * m4/xalloc.m4: Likewise.
64056
64057 2004-03-30  Paul Eggert  <eggert@twinsun.com>
64058
64059         Merge from coreutils.
64060
64061         * m4/inttostr.m4: New file.
64062         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
64063         Require AM_STDBOOL_H and gl_TIMESPEC instead.
64064         Require gl_CLOCK_TIME.
64065         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
64066
64067 2004-03-30  Paul Eggert  <eggert@twinsun.com>
64068
64069         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
64070         not bool, to be more consistent with Unix conventions.
64071         Suggested by Bruno Haible.
64072
64073         Merge from coreutils.
64074
64075         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
64076         * lib/umaxtostr.c: New files.
64077
64078         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
64079         the usual <time.h> dance.
64080         (get_date): Change signature to support fractional time stamps.
64081         All callers changed.
64082         * lib/getdate.y: Include "getdate.h" first, as we can now
64083         assume C89 and don't need to worry about 'const'.
64084         Similarly, include "unlocked-io.h" near start, not in middle.
64085         Include <limits.h>.
64086         (textint.value): Use long int rather than int.
64087         (textint.digits): Use size_t rather than int.
64088         (BILLION, LOG10_BILLION): New constants.
64089         (parser_control): New member rel_ns.  Members day_ordinal,
64090         time_zone, month, day, hour, minutes, rel_year, rel_month,
64091         rel_day, rel_hour, rel_minutes, rel_seconds
64092         are now long int, not int.  Member seconds is now struct timespec,
64093         not int.  New member timespec_seen.  Members dates_seen, days_seen,
64094         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
64095         not int.
64096         (%union.intval): Now long int, not int.
64097         New member timespec.
64098         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
64099         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
64100         (spec): Now is a timespec or an item list.
64101         (timespec, items): New nonterminals.
64102         (time, rel, relunit, number, get_date):
64103         Add support for fractional seconds.
64104         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
64105         (gmtime, localtime, mktime): Remove decls; not needed with C89.
64106         (to_hour): First arg is now long int, not int.
64107         (to_year): Returns long int, not int.
64108         Don't treat year -70 like 70.
64109         (tm_diff): Returns long int, not int.
64110         (lookup_word): Use bool instead of int when appropriate.
64111         (yylex): Use size_t for count, not int.
64112         Detect overflow when parsing large integer constants.
64113         Add support for fractions.
64114         (get_date): Make pointers 'const' if possible.
64115         Use more-portable code to detect integer overflow.
64116         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
64117         Don't use ctime; it's not reliable if the year has >4 digits.
64118
64119         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
64120         This is for compatibility with BSD.
64121
64122         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
64123         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
64124         From coreutils' system.h.
64125
64126         * lib/userspec.c: Don't include "posixver.h".
64127         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
64128         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
64129         compatible extension.  Simplify code by removing a boolean int
64130         that was always nonzero if a string was nonnull.
64131
64132 2004-03-30  Jim Meyering  <jim@meyering.net>
64133
64134         Merge from coreutils.
64135
64136         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
64137         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
64138         on some systems one must include <grp.h> before it.
64139         Reported by Christian Krackowizer.
64140
64141 2004-03-30  Jim Meyering  <jim@meyering.net>
64142
64143         Merge from coreutils.
64144
64145         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
64146
64147         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
64148         an empty input stream.
64149
64150         * lib/readtokens.c: Include <stdbool.h>.
64151         (readtoken): Use `size_t' rather than int/long.
64152         All callers adjusted.
64153         Use `bool' rather than `int' where appropriate.
64154         Use memset rather than an explicit loop.
64155         Use x2nrealloc rather than xrealloc.
64156         Allow the use of `\0' as a delimiter.
64157         (readtokens): Likewise.
64158         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
64159
64160 2004-03-30  Jim Meyering  <jim@meyering.net>
64161
64162         * m4/realloc.m4: Remove file, since now it does no more than
64163         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
64164         the `configure.ac' section of module/realloc.
64165         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
64166
64167 2004-03-30  Bruno Haible  <bruno@clisp.org>
64168
64169         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
64170         nonnull.
64171
64172 2004-03-29  Paul Eggert  <eggert@twinsun.com>
64173
64174         Merge changes to getloadavg.c from coreutils and Emacs.
64175
64176         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
64177         Define to an expression, not to the empty string.
64178         Include cloexec.h and xalloc.h.
64179         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
64180         Use set_cloexec_flag rather than rolling our own.
64181         * lib/cloexec.c, lib/cloexec.h: New files.
64182
64183 2004-03-29  Paul Eggert  <eggert@twinsun.com>
64184
64185         * m4/cloexec.m4: New file.
64186
64187 2004-03-18  Paul Eggert  <eggert@twinsun.com>
64188
64189         * lib/getopt.h: Sync with libc CVS.
64190
64191 2004-03-18  Paul Eggert  <eggert@twinsun.com>
64192             Bruno Haible  <bruno@clisp.org>
64193
64194         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
64195         mbswidth.
64196
64197 2004-03-18  Paul Eggert  <eggert@twinsun.com>
64198             Bruno Haible  <bruno@clisp.org>
64199
64200         * lib/mbswidth.h: Include <wchar.h> only if
64201         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
64202         <wchar.h>.
64203         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
64204
64205 2004-03-09  Paul Eggert  <eggert@twinsun.com>
64206
64207         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
64208         Sync with libc CVS.
64209         * lib/getopt_int.h: New file, also synced from libc.
64210
64211 2004-03-09  Paul Eggert  <eggert@twinsun.com>
64212
64213         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
64214         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
64215         Bring back getopt.c, getopt.h, getopt1.c.
64216
64217 2004-03-07  Paul Eggert  <eggert@twinsun.com>
64218
64219         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
64220         All uses changed.  Check for sa_sigaction member; this fixes
64221         a bug first reported by Jason Andrade in
64222         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
64223
64224 2004-03-07  Paul Eggert  <eggert@twinsun.com>
64225
64226         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
64227         '#if' expressions.  Unlike the code it replaces, it does not
64228         depend on (defined _SC_PAGESIZE).  However, it does depend on
64229         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
64230         first reported by Jason Andrade in
64231         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
64232
64233 2004-02-25  Simon Josefsson  <jas@extundo.com>
64234
64235         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
64236
64237 2004-02-25  Simon Josefsson  <jas@extundo.com>
64238
64239         * lib/strdup.h: New file.
64240         * lib/strdup.c: Include it.
64241         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
64242         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
64243
64244 2004-02-23  Karl Berry  <karl@gnu.org>
64245
64246         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
64247         (from fencepost.gnu.org:/gd/gnuorg).
64248
64249 2004-02-23  Karl Berry  <karl@gnu.org>
64250
64251         * config/srclistvars.sh (GNUORG) [karl]: redefine.
64252         * config/srclist.txt: add maintain/standards documents.
64253
64254 2004-02-18  Bruno Haible  <bruno@clisp.org>
64255
64256         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
64257         Reported by Derek Robert Price <derek@ximbiot.com>.
64258
64259 2004-02-16  Karl Berry  <karl@gnu.org>
64260
64261         * config/mkinstalldirs, install-sh: update from automake.
64262
64263 2004-02-06  Karl Berry  <karl@gnu.org>
64264
64265         * m4/po.m4: update from gettext 0.14.1.
64266
64267 2004-02-06  Karl Berry  <karl@gnu.org>
64268
64269         * lib/config.charset: update from gettext 0.14.1.
64270
64271 2004-02-05  Paul Eggert  <eggert@twinsun.com>
64272
64273         Add comments and code, prompted by suggestions from Bruno Haible
64274         for sh-quote.
64275         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
64276         describing the enum quoting_style values.
64277         * lib/quotearg.c (quotearg_alloc): New function.
64278         (quotearg_buffer_restyled): Treat lone { and } as special.
64279         Treat = as special.  Work around bug with older shells
64280         that "see" a '\' that is really the 2nd byte of a multibyte char.
64281         Quote empty string with shell_quoting_style.
64282
64283 2004-02-03  Bruno Haible  <bruno@clisp.org>
64284
64285         * m4/pipe.m4: New file, from GNU gettext.
64286
64287 2004-02-03  Bruno Haible  <bruno@clisp.org>
64288
64289         * lib/pipe.h: New file, from GNU gettext.
64290         * lib/pipe.c: New file, from GNU gettext.
64291
64292 2004-01-27  Bruno Haible  <bruno@clisp.org>
64293
64294         * m4/execute.m4: New file, from GNU gettext.
64295
64296 2004-01-27  Bruno Haible  <bruno@clisp.org>
64297
64298         * lib/execute.h: New file, from GNU gettext.
64299         * lib/execute.c: New file, from GNU gettext.
64300         * lib/w32spawn.h: New file, from GNU gettext.
64301
64302 2004-01-24  Paul Eggert  <eggert@twinsun.com>
64303
64304         Merge from diffutils.
64305
64306         * lib/file-type.c (file_type): Add typed memory objects.
64307         * lib/file-type.h (S_TYPEISTMO): New macro.
64308
64309         * lib/c-stack.h (c_stack_action): Remove argv argument.
64310         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
64311         (die): Don't calculate message unless segv_action returns.
64312         (get_stack_location, min_address_from_argv, max_address_from_argv,
64313         volatile stack_base, volatile_stack_size): Remove.
64314         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
64315         that every segmentation violation is a stack overflow.  (Ouch!)
64316         See Debian bug 136249 (still outstanding) for more info about why
64317         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
64318
64319 2004-01-24  Paul Eggert  <eggert@twinsun.com>
64320
64321         Exit-status fix from coreutils.
64322
64323         Use exit_failure consistently in place of EXIT_FAILURE,
64324         so that program exit statuses are consistent on failure.
64325
64326         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
64327         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
64328         * lib/argmatch.h: Comment fix to match the above.
64329         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
64330         Now a macro referring to exit_failure, instead of a separate
64331         variable.  Include "exitfail.h" to get it.
64332         * lib/xstrtol.h: Include "exitfail.h".
64333         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
64334
64335         * lib/long-options.c (parse_long_options): Use prototype
64336         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
64337         for clarity.
64338
64339 2004-01-21  Jim Meyering  <jim@meyering.net>
64340
64341         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
64342         so as not to conflict with a different-sized __mktime_internal
64343         function in GNU libc.
64344         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
64345         Problem building statically-linked `ls' reported by Michael Brunnbauer.
64346
64347 2004-01-20  Karl Berry  <karl@gnu.org>
64348
64349         * config/config.guess: update from config.
64350
64351         * config/srclistvars.sh: GNUWWWLICENSES for karl.
64352
64353 2004-01-20  Bruno Haible  <bruno@clisp.org>
64354
64355         Safer stack allocation.
64356         * lib/setenv.c: Include allocsa.h.
64357         (alloca): Remove fallback definition.
64358         (freea): Remove macro.
64359         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
64360         instead of freea.
64361
64362 2004-01-20  Bruno Haible  <bruno@clisp.org>
64363
64364         * m4/eealloc.m4: New file, from GNU gettext.
64365
64366 2004-01-20  Bruno Haible  <bruno@clisp.org>
64367
64368         * m4/allocsa.m4: New file, from GNU gettext.
64369
64370 2004-01-20  Bruno Haible  <bruno@clisp.org>
64371
64372         * lib/xallocsa.h: New file, from GNU gettext.
64373         * lib/xallocsa.c: New file, from GNU gettext.
64374
64375 2004-01-20  Bruno Haible  <bruno@clisp.org>
64376
64377         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
64378
64379 2004-01-20  Bruno Haible  <bruno@clisp.org>
64380
64381         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
64382         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
64383         specially.
64384
64385 2004-01-20  Bruno Haible  <bruno@clisp.org>
64386
64387         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
64388         patch.
64389
64390 2004-01-20  Bruno Haible  <bruno@clisp.org>
64391
64392         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
64393
64394 2004-01-20  Bruno Haible  <bruno@clisp.org>
64395
64396         * lib/eealloc.h: New file.
64397
64398 2004-01-20  Bruno Haible  <bruno@clisp.org>
64399
64400         * lib/binary-io.h: Avoid warnings on Cygwin.
64401
64402 2004-01-20  Bruno Haible  <bruno@clisp.org>
64403
64404         * lib/allocsa.h: New file, from GNU gettext.
64405         * lib/allocsa.c: New file, from GNU gettext.
64406
64407 2004-01-18  Karl Berry  <karl@gnu.org>
64408
64409         * doc/gpl.texi, doc/lgpl.texi: new files.
64410
64411 2004-01-18  Karl Berry  <karl@gnu.org>
64412
64413         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
64414         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
64415
64416 2004-01-15  Paul Eggert  <eggert@twinsun.com>
64417
64418         Merge from coreutils.
64419
64420         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
64421         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
64422         (gl_DEFAULT_POSIX2_VERSION): Move
64423         the documentation from 'configure' into 'config.hin',
64424         so that 'configure --help' isn't burdened by it and
64425         we don't have to worry about its formatting there.
64426         Reword the documentation so that it's more succinct
64427         and can be run together into a single paragraph.
64428         * m4/same.m4 (gl_SAME): Check for pathconf.
64429
64430 2004-01-15  Paul Eggert  <eggert@twinsun.com>
64431
64432         Merge from coreutils.
64433
64434         * lib/posixver.c: Include posixver.h.
64435
64436         * lib/same.c: Include <stdbool.h>, <limits.h>.
64437         (_POSIX_NAME_MAX): Define if not defined.
64438         (MIN): New macro.
64439         (same_name): If file names are silently truncated, report
64440         that the file names are the same if they are the same after
64441         the silent truncation.
64442
64443         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
64444         conversion function.
64445         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
64446         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
64447         longer needed.
64448
64449 2004-01-15  Jim Meyering  <jim@meyering.net>
64450
64451         Merge from coreutils.
64452
64453         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
64454         if no library is required.
64455         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
64456         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
64457         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
64458         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
64459         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
64460         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
64461         value, $ac_cv_search_crypt, if it's "none required".
64462         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
64463         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
64464         not gl_FUNC_GETLOADAVG.
64465         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
64466         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
64467
64468 2004-01-15  Jim Meyering  <jim@meyering.net>
64469
64470         Merge from coreutils.
64471
64472         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
64473         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
64474         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
64475
64476         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
64477         optional configure-time default.
64478
64479         * lib/version-etc.c (version_etc_copyright): Update copyright date.
64480
64481         * lib/xreadlink.c (xreadlink): Correct outdated comment.
64482
64483 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
64484
64485         Merge from coreutils.
64486
64487         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
64488         value, $ac_cv_search_nanosleep, if it's "none required".
64489
64490 2004-01-14  Paul Eggert  <eggert@twinsun.com>
64491
64492         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
64493         with like-named macro in fnmatch.c.
64494         (EXT): Use an internal constant instead.
64495
64496         Merge fnmatch patches from glibc.
64497         * lib/fnmatch.c (mbsinit): Remove define.
64498         Add libc_hidden_ver (__fnmatch, fnmatch).
64499         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
64500         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
64501
64502 2004-01-14  Karl Berry  <karl@gnu.org>
64503
64504         * config/install-sh: update from automake.
64505
64506 2004-01-13  Karl Berry  <karl@gnu.org>
64507
64508         * config/install-sh: update from automake.
64509
64510 2004-01-09  Karl Berry  <karl@gnu.org>
64511
64512         * config/install-sh: update from automake.
64513
64514 2004-01-05  Karl Berry  <karl@gnu.org>
64515
64516         * config/config.{sub,guess}: update from config.
64517
64518 2003-12-31  Karl Berry  <karl@gnu.org>
64519
64520         * config/depcomp: update from automake.
64521
64522 2003-12-14  Karl Berry  <karl@gnu.org>
64523
64524         * lib/config.charset: update from gettext-runtime.
64525
64526 2003-12-03  Paul Eggert  <eggert@twinsun.com>
64527
64528         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
64529         Bug reported by Alfred M. Szmidt.
64530
64531 2003-12-03  Bruno Haible  <bruno@clisp.org>
64532
64533         * m4/gettext.m4: Upgrade from gettext-0.13.
64534         * m4/po.m4: Upgrade from gettext-0.13.
64535         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
64536         * m4/intmax.m4: New file, from gettext-0.13.
64537         * m4/printf-posix.m4: New file, from gettext-0.13.
64538
64539 2003-11-29  Karl Berry  <karl@gnu.org>
64540
64541         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
64542
64543 2003-11-25  Paul Eggert  <eggert@twinsun.com>
64544             Bruno Haible  <bruno@clisp.org>
64545
64546         * lib/printf-parse.h: Don't include sys/types.h.
64547         (ARG_NONE): New macro.
64548         (char_directive): Change type of *arg_index fields to size_t.
64549         * lib/printf-parse.c: Don't include sys/types.h.
64550         (SSIZE_MAX): Remove macro.
64551         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
64552         Remove unnecessary overflow check.
64553         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
64554         fields.
64555
64556 2003-11-25  Bruno Haible  <bruno@clisp.org>
64557
64558         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
64559
64560 2003-11-25  Bruno Haible  <bruno@clisp.org>
64561
64562         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
64563         gt_TYPE_SSIZE_T.
64564
64565 2003-11-24  Paul Eggert  <eggert@twinsun.com>
64566
64567         * modules/alloca: Remove dependency on xalloc.
64568
64569 2003-11-24  Paul Eggert  <eggert@twinsun.com>
64570
64571         * lib/alloca.c: Remove dependency on xalloc module.
64572         (xalloc_die): Remove.
64573         (memory_full) [!defined emacs]: New macro.
64574         [!defined emacs]: Don't include xalloc.h.
64575         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
64576         address arithmetic overflows.  Change datatypes a bit to avoid
64577         unnecessary casts.
64578
64579 2003-11-22  Jim Meyering  <jim@meyering.net>
64580
64581         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
64582         s/size/size_t/.
64583
64584 2003-11-21  Karl Berry  <karl@gnu.org>
64585
64586         * config/config.{sub,guess}: update from config.
64587
64588 2003-11-18  Karl Berry  <karl@gnu.org>
64589
64590         * config/config.{sub,guess}: update from config.
64591
64592         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
64593
64594 2003-11-17  Paul Eggert  <eggert@twinsun.com>
64595
64596         * README: Mention that S+T cannot overflow if S is the size of
64597         an existing object and T is sufficiently small.
64598
64599 2003-11-17  Jim Meyering  <jim@meyering.net>
64600
64601         On systems without utime and without a utimes function capable of
64602         dealing with a NULL struct utimbuf* argument, this utime replacement
64603         could -- in unusual circumstances -- leak a file descriptor.
64604         * lib/utime.c: Include <unistd.h> and <errno.h>.
64605         (utime_null): Be sure to close `fd' and to preserve errno.
64606         Reported by Geoff Collyer via Arnold Robbins.
64607
64608 2003-11-17  Bruno Haible  <bruno@clisp.org>
64609
64610         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
64611         (Depends-on): Add xsize.
64612
64613 2003-11-17  Bruno Haible  <bruno@clisp.org>
64614
64615         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
64616
64617 2003-11-17  Bruno Haible  <bruno@clisp.org>
64618
64619         * lib/vasnprintf.c (alloca): Remove fallback definition.
64620         (freea): Remove definition.
64621         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
64622         Reported by Paul Eggert.
64623
64624 2003-11-16  Paul Eggert  <eggert@twinsun.com>
64625             Bruno Haible  <bruno@clisp.org>
64626
64627         Protect against address arithmetic overflow.
64628         * lib/printf-args.h: Include stddef.h.
64629         (arguments): Change type of field 'count' to size_t.
64630         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
64631         'unsigned int' where appropriate.
64632         * lib/printf-parse.h: Include sys/types.h.
64633         (char_directive): Change type of *arg_index fields to ssize_t.
64634         (char_directives): Change type of fields 'count', max_*_length to
64635         size_t.
64636         * lib/printf-parse.c: Include sys/types.h and xsize.h.
64637         (SSIZE_MAX): Define fallback value.
64638         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
64639         instead of 'int' where appropriate. Check a_allocated, d_allocated
64640         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
64641         * lib/vasnprintf.c: Include xsize.h.
64642         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
64643         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
64644         overflow. Avoid wraparound when converting a width or precision from
64645         decimal to binary.
64646
64647 2003-11-16  Bruno Haible  <bruno@clisp.org>
64648
64649         Update from GNU gettext.
64650         * lib/printf-parse.c: Generalize to it can be compiled for wide
64651         strings.
64652         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
64653         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
64654         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
64655         SNPRINTF): New macros.
64656         Don't include <alloca.h> if the file is used inside libintl.
64657         (local_wcslen): New function, for Solaris 2.5.1.
64658         (VASNPRINTF): Use it instead of wcslen.
64659
64660 2003-11-16  Bruno Haible  <bruno@clisp.org>
64661
64662         * lib/xsize.h (xmax): New function.
64663         (xsum, xsum3, xsum4): Declare as "pure" functions.
64664
64665 2003-11-12  Paul Eggert  <eggert@twinsun.com>
64666
64667         * modules/xalloc (Files): Undo latest change, since xalloc.h
64668         no longer needs SIZE_MAX or PTRDIFF_MAX.
64669
64670 2003-11-12  Paul Eggert  <eggert@twinsun.com>
64671
64672         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
64673         gl_PTRDIFF_MAX.
64674
64675 2003-11-12  Paul Eggert  <eggert@twinsun.com>
64676
64677         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
64678         "return", to pacify some unknown compiler.  Problem reported
64679         by Joerg Schilling.
64680
64681 2003-11-12  Paul Eggert  <eggert@twinsun.com>
64682
64683         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
64684         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
64685         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
64686         heuristic is just as accurate as far as we know, and it removes a
64687         dependency on size_max.m4 and ptrdiff_max.m4.
64688
64689 2003-11-11  Bruno Haible  <bruno@clisp.org>
64690
64691         * modules/xsize (Files): Add m4/size_max.m4.
64692         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
64693
64694 2003-11-11  Bruno Haible  <bruno@clisp.org>
64695
64696         * m4/size_max.m4: New file.
64697         * m4/ptrdiff_max.m4: New file.
64698         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
64699         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
64700         (gl_XALLOC): Invoke it.
64701
64702 2003-11-11  Bruno Haible  <bruno@clisp.org>
64703
64704         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
64705         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
64706         defined.
64707
64708 2003-11-10  Paul Eggert  <eggert@twinsun.com>
64709
64710         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
64711         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
64712         rejected some allocations of exactly SIZE_MAX - 2 bytes.
64713         From Bruno Haible.
64714         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
64715         not (size_t) -1, since it's defined here.
64716
64717 2003-11-09  Karl Berry  <karl@gnu.org>
64718
64719         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
64720
64721 2003-11-06  Paul Eggert  <eggert@twinsun.com>
64722
64723         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
64724         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
64725         Reject sizes of exactly SIZE_MAX bytes.
64726         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
64727         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
64728
64729 2003-11-05  Bruno Haible  <bruno@clisp.org>
64730
64731         * lib/xsize.h: Include limits.h, to avoid a possible collision with
64732         SIZE_MAX defined in <limits.h> on Solaris.
64733
64734 2003-11-04  Jim Meyering  <jim@meyering.net>
64735
64736         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
64737         variable names, rather than @VAR@.
64738         * modules/poll: Likewise.
64739
64740 2003-11-04  Bruno Haible  <bruno@clisp.org>
64741
64742         * modules/xsize: New file.
64743         * modules/linebreak: Depend on xsize.
64744         * MODULES.html.sh (func_all_modules): Add xsize.
64745
64746 2003-11-04  Bruno Haible  <bruno@clisp.org>
64747
64748         * m4/xsize.m4: New file.
64749
64750 2003-11-04  Bruno Haible  <bruno@clisp.org>
64751
64752         * lib/xsize.h: New file.
64753         * lib/linebreak.c: Include xsize.h.
64754         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
64755         argument for overflow.
64756         Suggested by Paul Eggert.
64757
64758 2003-11-03  Karl Berry  <karl@gnu.org>
64759
64760         * config/config.{guess,sub}: update from config.
64761
64762 2003-11-03  Jim Meyering  <jim@meyering.net>
64763
64764         * modules/userspec (lib_SOURCES): Add userspec.h.
64765         (Include): Add "userspec.h".
64766         Improve description.
64767
64768 2003-11-03  Jim Meyering  <jim@meyering.net>
64769
64770         * lib/userspec.c: Include "userspec.h".
64771         * lib/userspec.h: New file.
64772
64773 2003-11-03  Bruno Haible  <bruno@clisp.org>
64774
64775         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
64776
64777 2003-11-03  Bruno Haible  <bruno@clisp.org>
64778
64779         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
64780         available, to avoid (extremely rare) race condition.
64781         Suggested by Paul Eggert.
64782
64783 2003-11-02  Karl Berry  <karl@gnu.org>
64784
64785         * config/srclist.txt (vasprintf.c): sync broken, sigh.
64786
64787 2003-10-31  Paul Eggert  <eggert@twinsun.com>
64788
64789         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
64790         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
64791         (read_filesystem_list): Set and use me_type_malloced.
64792         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
64793         whatever the type happens to be), for brevity and consistency.
64794         Check for size calculation overflow on Alphas running OSF/1.
64795
64796 2003-10-31  Jim Meyering  <jim@meyering.net>
64797
64798         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
64799
64800         * lib/linebuffer.c: Include <string.h> for declaration of memset.
64801
64802 2003-10-30  Paul Eggert  <eggert@twinsun.com>
64803             Bruno Haible  <bruno@clisp.org>
64804
64805         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
64806         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
64807
64808 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
64809
64810         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
64811         netbsd*-gnu*.  Suggested by Robert Millan.
64812
64813 2003-10-29  Paul Eggert  <eggert@twinsun.com>
64814
64815         * modules/group-member: Depend on stdbool.
64816
64817 2003-10-29  Paul Eggert  <eggert@twinsun.com>
64818
64819         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
64820
64821 2003-10-29  Paul Eggert  <eggert@twinsun.com>
64822
64823         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
64824         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
64825         after the 'gnu' in these cases.  This fixes some bugs in the
64826         previous change, and is based on suggestions by Robert Millan.
64827
64828 2003-10-29  Paul Eggert  <eggert@twinsun.com>
64829
64830         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
64831         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
64832         no longer needed.
64833         * lib/quotearg.c (quotearg_n_options): Use it.
64834         * lib/group-member.c: Include <stdbool.h>.
64835         (free_group_info): Arg is now const *; don't free arg.
64836         (get_group_info): Now returns bool and accepts struct group_info *,
64837         rather than returning a malloc'ed struct group_info *.
64838         All uses changed.  Check for overflow in internal size calculation.
64839
64840         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
64841         rather than xmalloc/xrealloc.
64842         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
64843         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
64844         conformance bug: the old code used a pointer after freeing the
64845         storage that it addressed.
64846         * lib/hash.c (hash_initialize): Simplify the code by using
64847         xalloc_oversized rather than doing it by hand.
64848         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
64849         the buffer preserved.  Use free and xmalloc instead.
64850         * lib/quotearg.c (quotearg_n_options): Likewise.
64851         Use a simpler test for size overflow.  Don't use xalloc_oversized
64852         because unsigned int might be wider than size_t (!); this suggests
64853         that we should switch from unsigned int to size_t for slot numbers.
64854
64855 2003-10-28  Paul Eggert  <eggert@twinsun.com>
64856
64857         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
64858         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
64859         NetBSD kernels.  Requested by Richard Stallman.
64860
64861 2003-10-27  Paul Eggert  <eggert@twinsun.com>
64862
64863         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
64864         to allocate the returned structure.  Do not allocate a subarray,
64865         as x2nrealloc will do that.
64866         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
64867         instead of xnrealloc.
64868         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
64869
64870 2003-10-27  Bruno Haible  <bruno@clisp.org>
64871
64872         * lib/stdbool_.h: Better support for BeOS.
64873
64874 2003-10-26  Paul Eggert  <eggert@twinsun.com>
64875
64876         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
64877         now uses inline.
64878
64879 2003-10-26  Paul Eggert  <eggert@twinsun.com>
64880
64881         * lib/xalloc.h (xalloc_oversized): New static inline function, for
64882         callers that want to do their own size-overflow checking.  Include
64883         <stdbool.h>, since xalloc_oversized returns bool.
64884         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
64885         to use xalloc_oversized.
64886
64887         Add two functions x2realloc, x2nrealloc, for programs that grow
64888         arrays dynamically by doubling their sizes.
64889         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
64890         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
64891         New functions.
64892
64893         Port to C99 semantics for 'inline' of external functions.
64894         Bug reported by Bruno Haible.
64895         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
64896         with the old contents of xnmalloc.
64897         (xnmalloc, xmalloc): Use it.
64898         (xnrealloc_inline): New static inline function,
64899         with the old contents of xnrealloc.
64900         (xnrealloc, xrealloc): Use it.
64901
64902         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
64903         that.
64904
64905 2003-10-26  Karl Berry  <karl@gnu.org>
64906
64907         * config/srclist.txt (COPYING.DOC): no longer available from
64908         /gd/gnuorg; don't know where the ultimate source is.
64909
64910 2003-10-25  Paul Eggert  <eggert@twinsun.com>
64911
64912         Fix several address-calculation bugs in the hash modules,
64913         plus some minor code cleanup.
64914
64915         * lib/hash.h: Include <stdbool.h>, for bool.
64916         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
64917         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
64918         hash_get_n_entries, hash_get_max_bucket_length,
64919         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
64920         hash_rehash): Use size_t rather than unsigned.
64921         * lib/hash.c (struct hash_table, hash_get_n_buckets,
64922         hash_get_n_buckets_used, hash_get_n_entries,
64923         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
64924         hash_get_entries, hash_do_for_each, hash_string, is_prime,
64925         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
64926         Likewise.
64927         (SIZE_MAX): Define if not defined.
64928         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
64929         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
64930         hash_print):
64931         Use const * when possible.
64932         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
64933         (check_tuning): Fix bug: if tuning parameters were very close to
64934         0 or 1, rounding errors could have caused subscript violations.
64935         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
64936         (hash_initialize): Add 'fail:' label
64937         to free table and return NULL, and use it to simplify code.
64938         Use calloc rather than clearing the storage ourself.
64939         (hash_initialize, hash_rehash): Check for arithmetic overflow in
64940         buffer size calculations.
64941         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
64942         Include <stddef.h>, for size_t.
64943         * lib/hash-pjw.c (hash_pjw): Likewise.
64944         Switch to method described by Bruno Haible.
64945         Include <limits.h>, for CHAR_BIT.
64946         (SIZE_BITS): New macro.
64947
64948 2003-10-23  Paul Eggert  <eggert@twinsun.com>
64949
64950         * m4/getline.m4 (AM_FUNC_GETLINE):
64951         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
64952         hosts.  Problem reported by Derek Robert Price in
64953         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
64954         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
64955         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
64956
64957 2003-10-21  Paul Eggert  <eggert@twinsun.com>
64958
64959         * lib/getndelim2.c (getndelim2): When size calculation overflows,
64960         ceiling the allocation at NMAX bytes rather than silently
64961         discarding input bytes before NMAX is reached.  This makes
64962         a difference only if NMAX exceeds SIZE_MAX / 2.
64963
64964         * lib/obstack.c: Merge from glibc.
64965         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
64966         Add libc_hidden_def (_obstack_newchunk).
64967         (_obstack_free) [! defined _LIBC]: Remove.
64968         [defined _LIBC]: Make a strong alias from obstack_free, rather than
64969         a clone of the function body.
64970         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
64971         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
64972
64973         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
64974         glibc.
64975         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
64976         arg to memcpy.
64977
64978         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
64979         (obstack_ptr_grow_fast, obstack_int_grow_fast):
64980         Don't use lvalue casts, as GCC plans to remove support for them
64981         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
64982         was also present in the non-GCC version, indicating that this
64983         code had always been buggy and had never been widely used.
64984         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
64985         Use the fast variant of each macro, rather than copying the
64986         definiens of the fast variant; that way, we'll be more likely to
64987         catch future bugs in the fast variants.
64988
64989 2003-10-20  Bruno Haible  <bruno@clisp.org>
64990
64991         * modules/wait-process: New file.
64992         * MODULES.html.sh (func_all_modules): Add wait-process.
64993
64994 2003-10-20  Bruno Haible  <bruno@clisp.org>
64995
64996         * m4/wait-process.m4: New file.
64997
64998 2003-10-20  Bruno Haible  <bruno@clisp.org>
64999
65000         * lib/wait-process.h: New file, from GNU gettext.
65001         * lib/wait-process.c: New file, from GNU gettext.
65002
65003 2003-10-19  Jim Meyering  <jim@meyering.net>
65004
65005         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
65006         HPUX 10.20.
65007
65008 2003-10-18  Karl Berry  <karl@gnu.org>
65009
65010         * config/config.guess: update from config.
65011
65012 2003-10-16  Paul Eggert  <eggert@twinsun.com>
65013
65014         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
65015         (getgroups): First arg is int, not size_t.
65016         Don't let 'free' mangle errno.
65017
65018 2003-10-16  Paul Eggert  <eggert@twinsun.com>
65019
65020         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
65021
65022 2003-10-16  Karl Berry  <karl@gnu.org>
65023
65024         * config/config.{guess,sub}: update from config.
65025
65026 2003-10-16  Jim Meyering  <jim@meyering.net>
65027
65028         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
65029         memcpy.
65030
65031 2003-10-15  Paul Eggert  <eggert@twinsun.com>
65032
65033         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
65034         (SIZE_MAX): Remove.
65035         (new_exclude, add_exclude_file): Initial size no longer needs to
65036         be a power of 2.
65037         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
65038         our own address arithmetic overflow checking.
65039
65040         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
65041         (fnmatch): Do not alloca more than 2000 wide characters;
65042         instead, use malloc for large buffers.
65043         Check for address arithmetic overflow, and return -1
65044         with errno set to ENOMEM in that case.
65045         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
65046         (NEW_PATTERN): Do not alloca more than 8000 bytes;
65047         instead, return -1.  Check for address arithmetic overflow.
65048
65049 2003-10-14  Paul Eggert  <eggert@twinsun.com>
65050
65051         Handle invalid suffixes and overflow independently, so that
65052         callers can treat them independently as needed.  Fix some bugs in
65053         suffix handling, e.g., "100k@" was not diagnosed as an invalid
65054         suffix for a human-readable blocksize.  The major caller-visible
65055         change is the addition of a new
65056         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
65057         that both overflow and suffix chars were found.
65058
65059         * lib/human.c (humblock): Don't check separately for invalid suffix
65060         char; that is xstrtoumax's job (now that its bug is fixed).
65061         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
65062         INTMAX_MAX]: New macros.
65063         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
65064         TYPE_MAXIMUM): New macros.
65065         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
65066         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
65067         if overflow occurs, as it's what __strtol does and it's more useful
65068         in practice.
65069         (__xstrtol): If __strtol reports some error other than ERANGE,
65070         reflect it to the caller as LONGINT_INVALID.  If it reports
65071         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
65072         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
65073         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
65074         value.
65075         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
65076         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
65077         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
65078         [defined UINTMAX_MAX]: New macros.
65079
65080 2003-10-14  Bruno Haible  <bruno@clisp.org>
65081
65082         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
65083
65084 2003-10-14  Bruno Haible  <bruno@clisp.org>
65085
65086         * m4/sig_atomic_t: New file, from GNU gettext.
65087         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
65088
65089 2003-10-14  Bruno Haible  <bruno@clisp.org>
65090
65091         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
65092         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
65093         Also use volatile where needed.
65094
65095 2003-10-12  Paul Eggert  <eggert@twinsun.com>
65096
65097         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
65098         Change maintainer from Bruno Haible to 'all'.
65099
65100 2003-10-12  Paul Eggert  <eggert@twinsun.com>
65101
65102         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
65103
65104 2003-10-12  Paul Eggert  <eggert@twinsun.com>
65105
65106         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
65107         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
65108         and define in terms of the other primitives.
65109         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
65110         (SIZE_MAX): Define if not already defined.
65111         (array_size_overflow): New function.
65112         (xalloc_die): Abort instead of exiting if 'error' returns.
65113         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
65114         (xmalloc, xrealloc): Use them.
65115         (xcalloc): Check for address arithmetic overflow.
65116         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
65117         a bit faster than strcpy.
65118
65119 2003-10-10  Simon Josefsson  <jas@extundo.com>
65120
65121         * modules/argp (Depends-on): Add restrict and strcase.
65122
65123 2003-10-10  Simon Josefsson  <jas@extundo.com>
65124
65125         * m4/argp.m4: Add AC_C_INLINE.
65126
65127 2003-10-08  Paul Eggert  <eggert@twinsun.com>
65128
65129         Merge getpass from libc, plus a few fixes.
65130
65131         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
65132         Include <stdbool.h>.
65133         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
65134         __fsetlocking to empty.
65135         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
65136         do include <bits/libc-lock.h>.
65137         Do not include <fcntl.h>; not needed.
65138         [_LIBC]: Include <wchar.h>.
65139         (NOTCANCEL_MODE): New macro.
65140         (flockfile, funlockfile) [_LIBC]: New macros.
65141         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
65142         [!_LIBC]: New macros.
65143         (call_fclose): New function.
65144         (getpass): Use it.  Save tty stream separately; this simplifies the
65145         code and makes it more reliable if stdin happens to equal stdout.
65146         Invoke __fsetlocking on tty.
65147         Handle thread cancellation if needed.
65148         Namespace cleanup (use __tcgetattr, __getline).
65149         Use bool for Booleans.
65150         [USE_IN_LIBIO]: Handle wide streams.
65151         [!_LIBC]: Unconditionally do the fseek, since we don't know what
65152         stream might go where.
65153
65154         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
65155         doesn't have to include <stdio.h> before us.
65156         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
65157         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
65158         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
65159         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
65160         if not declared, so that we can use getpass.c code from libc without
65161         rewriting it.
65162         (flockfile, ftrylockfile, funlockfile): New macros.
65163
65164 2003-10-08  Paul Eggert  <eggert@twinsun.com>
65165
65166         * modules/getpass: Depend on stdbool.
65167
65168 2003-10-08  Paul Eggert  <eggert@twinsun.com>
65169
65170         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
65171
65172 2003-10-07  Karl Berry  <karl@gnu.org>
65173
65174         * config/config.{guess,sub}: update from config.
65175
65176 2003-10-06  Jim Meyering  <jim@meyering.net>
65177             Bruno Haible  <bruno@clisp.org>
65178
65179         This lets translators provide better translations for the
65180         "Written by ..." part of --version output.
65181         * lib/version-etc.h: Include stdarg.h.
65182         (version_etc_copyright): Declare as readonly.
65183         (version_etc): Make this function variadic with a NULL-terminated list
65184         of author name strings.
65185         (version_etc_va): New declaration.
65186         * lib/version-etc.c: Include stdarg.h, stdlib.h.
65187         (version_etc_copyright): Declare as readonly.
65188         (version_etc_va): New function. Provide a different translatable string
65189         for each possible number of authors < 10. Abbreviate when there are 10
65190         authors or more.
65191         (version_etc): Make this function variadic. Call version_etc_va.
65192         Suggestion from Gary V. Vaughan.
65193
65194         * lib/long-options.h (parse_long_options): Change prototype: the
65195         authors string is moved to the end and becomes variadic.
65196         * lib/long-options.c: Include stdarg.h.
65197         (parse_long_options): Make this function variadic, too.
65198         Call version_etc_va, not version_etc.
65199
65200 2003-10-06  Bruno Haible  <bruno@clisp.org>
65201
65202         * modules/version-etc-2: Remove file.
65203         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
65204
65205 2003-10-06  Bruno Haible  <bruno@clisp.org>
65206
65207         * modules/fatal-signal: New file.
65208         * MODULES.html.sh (func_all_modules): Add fatal-signal.
65209
65210 2003-10-06  Bruno Haible  <bruno@clisp.org>
65211
65212         * m4/fatal-signal.m4: New file.
65213         * m4/signalblocking.m4: New file, from GNU gettext.
65214
65215 2003-10-06  Bruno Haible  <bruno@clisp.org>
65216
65217         * lib/version-etc-2.h: Remove file.
65218         * lib/version-etc-2.c: Remove file.
65219
65220 2003-10-06  Bruno Haible  <bruno@clisp.org>
65221
65222         * lib/fatal-signal.h: New file, from GNU gettext.
65223         * lib/fatal-signal.c: New file, from GNU gettext.
65224
65225 2003-10-05  Paul Eggert  <eggert@twinsun.com>
65226
65227         * README: Rework advice for preventing empty .o files.
65228         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
65229         not <sys/types.h>.
65230
65231 2003-10-04  Karl Berry  <karl@gnu.org>
65232
65233         * lib/argp*: update from libc.
65234
65235 2003-10-04  Karl Berry  <karl@gnu.org>
65236
65237         * config/config.{guess,sub}: update from config.
65238
65239 2003-10-02  Bruno Haible  <bruno@clisp.org>
65240
65241         * modules/lchown (Include): Add lchown.h.
65242         * modules/time_r (Include): Use "..." syntax.
65243         * modules/xgetdomainname (Include): Add xgetdomainname.h.
65244
65245 2003-10-01  Simon Josefsson  <jas@extundo.com>
65246
65247         * MODULES.html.sh (func_all_modules): Move gethostname from section
65248         'based on' to section 'lacking' POSIX:2001.
65249
65250 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
65251
65252         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
65253         to output mode on the same stream.
65254
65255 2003-09-29  Paul Eggert  <eggert@twinsun.com>
65256
65257         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
65258         Fix arg typo in previous patch.
65259
65260 2003-09-28  Jim Meyering  <jim@meyering.net>
65261
65262         * lib/error.c: Correct cpp indentation.
65263
65264 2003-09-27  Paul Eggert  <eggert@twinsun.com>
65265
65266         * modules/free: New file.
65267
65268 2003-09-27  Paul Eggert  <eggert@twinsun.com>
65269
65270         * m4/free.m4: New file.
65271
65272 2003-09-27  Paul Eggert  <eggert@twinsun.com>
65273
65274         * lib/minmax.h (MIN, MAX)
65275         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
65276         Omit the special code that used __typeof__, since we worry that
65277         it could be more trouble than it's worth.  See:
65278         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
65279         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
65280
65281         * lib/free.c: New file.
65282
65283 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
65284
65285         Trivial fixes to Makefile.am parts of module listings.
65286         * modules/strstr: Append strstr.h to lib_SOURCES.
65287         * modules/strcase: Likewise, for strcase.h.
65288
65289 2003-09-27  Karl Berry  <karl@gnu.org>
65290
65291         * config/mkinstalldirs: update from automake.
65292
65293 2003-09-26  Paul Eggert  <eggert@twinsun.com>
65294
65295         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
65296         (error_tail): Do not loop, reallocating temporary buffer, since
65297         the output cannot contain more wide characters than the input
65298         contains bytes, the size must be big enough already.  This avoids
65299         one potential size overflow calculation.  Check for size overflow
65300         when calculating temporary buffer size.  Free temporary buffer
65301         when done, if it was allocated with malloc; this plugs a memory
65302         leak.  Remove casts from void * to pointers, that are no longer
65303         needed now that we're assuming C89 or better.
65304
65305         Merge error changes from glibc.
65306
65307         * lib/error.c, error.h: Update copyright notice header to match glibc.
65308         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
65309         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
65310         Disable cancellation while printing error.
65311         * lib/error.h: Prepend __ to parameter names.
65312
65313 2003-09-26  Jim Meyering  <jim@meyering.net>
65314
65315         * lib/error.c (error_tail): Move some declarations
65316         into inner scope where the local variables are used.
65317
65318 2003-09-26  Bruno Haible  <bruno@clisp.org>
65319
65320         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
65321         stpncpy().
65322         Don't define stpncpy through config.h; it's now done through stpncpy.h.
65323
65324 2003-09-26  Bruno Haible  <bruno@clisp.org>
65325
65326         * lib/stpncpy.h (gnu_stpncpy): New declaration.
65327         (stpncpy): Define as alias for gnu_stpncpy.
65328         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
65329
65330 2003-09-25  Simon Josefsson  <jas@extundo.com>
65331
65332         * lib/xgetdomainname.h: New file.
65333         * lib/xgetdomainname.c: New file.
65334
65335 2003-09-25  Simon Josefsson  <jas@extundo.com>
65336             Bruno Haible  <bruno@clisp.org>
65337
65338         * modules/getdomainname: New file.
65339         * modules/xgetdomainname: New file.
65340         * MODULES.html.sh (func_all_modules): Add getdomainname,
65341         xgetdomainname.
65342
65343 2003-09-25  Simon Josefsson  <jas@extundo.com>
65344             Bruno Haible  <bruno@clisp.org>
65345
65346         * m4/getdomainname.m4: New file.
65347
65348 2003-09-25  Simon Josefsson  <jas@extundo.com>
65349             Bruno Haible  <bruno@clisp.org>
65350
65351         * lib/getdomainname.h: New file.
65352         * lib/getdomainname.c: New file.
65353
65354 2003-09-25  Karl Berry  <karl@gnu.org>
65355
65356         * lib/argp-fmtstream.c, argp-help.c: update from libc.
65357
65358 2003-09-25  Karl Berry  <karl@gnu.org>
65359
65360         * config/install-sh: update from automake.
65361
65362 2003-09-25  Bruno Haible  <bruno@clisp.org>
65363
65364         * modules/version-etc-2: New file, from modules/version-etc with
65365         modifications.
65366         * MODULES.html.sh (func_all_modules): Add version-etc-2.
65367
65368 2003-09-25  Bruno Haible  <bruno@clisp.org>
65369
65370         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
65371         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
65372
65373 2003-09-24  Simon Josefsson  <jas@extundo.com>
65374
65375         * modules/xgethostname: Add xgethostname.h.
65376
65377 2003-09-24  Paul Eggert  <eggert@twinsun.com>
65378
65379         * lib/linebuffer.c (freebuffer): Don't free the argument, just
65380         the buffer associated with the argument.  Bug reported by
65381         Simon Josefsson.
65382
65383 2003-09-24  Paul Eggert  <eggert@twinsun.com>
65384
65385         * README: Document assumptions that 'int' is at least 32 bits
65386         wide, that integer arithmetic is 2's complement without overflow,
65387         that there are no holes in integer values, that adding sizes of
65388         two nonoverlapping objects can't overflow, and that all-bits-zero
65389         yields scalar zero.  Fix spelling and capitalization typos.
65390
65391 2003-09-19  Karl Berry  <karl@gnu.org>
65392
65393         * lib/argp.h: update from libc.
65394
65395 2003-09-17  Paul Eggert  <eggert@twinsun.com>
65396
65397         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
65398         to avoid spurious warnings like "AC_RUN_IFELSE was called before
65399         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
65400
65401 2003-09-17  Paul Eggert  <eggert@twinsun.com>
65402
65403         * gnulib-tool: Use "test -h", not "test -L", for portability
65404         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
65405         (tags_regexp): Remove, since \| doesn't conform to POSIX.
65406         (sed_extract_prog): Issue s commands one-by-one, rather than
65407         using \| in one s command.
65408
65409 2003-09-16  Paul Eggert  <eggert@twinsun.com>
65410
65411         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
65412         input error, instead of returning NULL the next time we are called
65413         (and therefore losing track of errno).
65414
65415 2003-09-16  Bruno Haible  <bruno@clisp.org>
65416
65417         * gnulib-tool (func_create_testdir): Warn about duplicated
65418         dependencies.
65419
65420 2003-09-15  Paul Eggert  <eggert@twinsun.com>
65421
65422         * modules/argmatch, modules/fatal, modules/obstack,
65423         modules/xalloc, modules/xgethostname: Sort dependencies by
65424         importance, not alphabetically.
65425
65426 2003-09-15  Paul Eggert  <eggert@twinsun.com>
65427
65428         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
65429         fails, so that the caller gets the proper errno.
65430
65431         * lib/readutmp.c (read_utmp): Likewise.
65432         Check for fstat error.  Close stream and free storage
65433         when failing.
65434
65435 2003-09-14  Karl Berry  <karl@gnu.org>
65436
65437         * config/srclist.txt (strdup.c): disable for c89 changes.
65438
65439 2003-09-14  Jim Meyering  <jim@meyering.net>
65440
65441         * lib/getloadavg.c: Correct cpp indentation.
65442         * lib/strdup.c: Likewise.
65443         * lib/vasnprintf.c: Likewise.
65444
65445 2003-09-14  Bruno Haible  <bruno@clisp.org>
65446
65447         * modules/fwriteerror: New file.
65448         * MODULES.html.sh (func_all_modules): Add fwriteerror.
65449
65450 2003-09-14  Bruno Haible  <bruno@clisp.org>
65451
65452         * lib/fwriteerror.h: New file.
65453         * lib/fwriteerror.c: New file.
65454
65455 2003-09-12  Paul Eggert  <eggert@twinsun.com>
65456
65457         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
65458         modules/xgethostname, modules/xalloc: Depend on exit.
65459
65460 2003-09-12  Paul Eggert  <eggert@twinsun.com>
65461
65462         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
65463
65464         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
65465         and AC_MINIX, too, so that their extensions are available.
65466
65467         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
65468         This macro has been superseded by gl_BACKUPFILE.
65469
65470         More patches to assume C89 or better.
65471
65472         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
65473
65474         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
65475         unconditionally.
65476         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
65477         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
65478         Include <string.h>, <stdlib.h> unconditionally.
65479         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
65480         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
65481         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
65482         headers or for string.h.
65483         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
65484         or strtoul.
65485
65486         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
65487         headers.
65488         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
65489         * m4/userspec.m4 (gl_USERSPEC): Likewise.
65490         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
65491         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
65492         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
65493         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
65494         memcpy, memset.
65495         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
65496         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
65497         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
65498         strtol.
65499         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
65500         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
65501         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
65502         strtoul.
65503
65504 2003-09-12  Paul Eggert  <eggert@twinsun.com>
65505
65506         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
65507         * lib/obstack.c [!defined _LIBC]: Likewise.
65508         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
65509         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
65510         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
65511
65512         More changes to assume C89 or better.
65513
65514         * lib/error.c (error_tail): Assume vprintf.
65515
65516         * lib/argmatch.c (getenv): Remove decl.
65517         * lib/progreloc.c (get_full_program_name): Define via prototype.
65518         * lib/setenv.c (clearenv): Likewise.
65519         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
65520         needed.
65521         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
65522         (malloc, memcpy): Remove decls.
65523         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
65524         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
65525         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
65526         (memcpy): Remove macro.
65527         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
65528         (__P): Remove.  All uses removed.
65529         (PTR): Remove.  All uses changed to void *.
65530         (CHAR_BIT, NULL): Remove.
65531         (spaces, zeros, memset_space, memset_zero)
65532         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
65533         Remove.
65534         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
65535         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
65536         Define with prototype.
65537         Remove now-unnecessary prototype decl.
65538         (extra_args_spec): Assume ANSI C.  All uses changed.
65539         (extra_args_spec_iso): Remove.
65540         (my_strftime, emacs_strftimeu): Define via prototype.
65541         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
65542         unconditionally.
65543         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
65544         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
65545         (strtoul, strtol): Remove decls.
65546         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
65547         LONG_MAX): Remove.
65548         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
65549         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
65550         (LOCALE_PARAM_PROTO): New macro.
65551         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
65552         (INTERNAL (strtol), strtol): Define with a prototype.
65553         (PARAMS): Remove.  All uses removed.
65554         * lib/tempname.c: Include <string.h> unconditionally.
65555         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
65556         * lib/xgethostname.c (main): Define with a prototype.
65557         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
65558         Include <stdlib.h> unconditionally.
65559         (calloc, malloc, realloc, free): Remove decls.
65560         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
65561         Include <stdlib.h> unconditionally.  Sort include file names.
65562         (strtod): Remove.
65563         (xstrtod): Define with a prototype.
65564         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
65565         (strtol, strtoul): Remove decls.
65566
65567 2003-09-11  Paul Eggert  <eggert@twinsun.com>
65568
65569         More patches to assume C89 or better.
65570         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
65571         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
65572         string.h, memchr, STDC_HEADERS.
65573
65574 2003-09-11  Paul Eggert  <eggert@twinsun.com>
65575
65576         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
65577         Include <stdlib.h>, <string.h> unconditionally.
65578         Remove now-unnecessary cast to char *.
65579         * lib/strnlen.c: Include <string.h> unconditionally.
65580         * lib/yesno.c (yesno): Define with a prototype.
65581
65582 2003-09-11  Bruno Haible  <bruno@clisp.org>
65583
65584         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
65585
65586 2003-09-10  Jim Meyering  <jim@meyering.net>
65587
65588         * lib/error.c: Correct indentation of cpp directives.
65589
65590 2003-09-10  Bruno Haible  <bruno@clisp.org>
65591
65592         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
65593         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
65594         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
65595         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
65596         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
65597         <stdlib.h> and <string.h> checks.
65598         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
65599         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
65600
65601 2003-09-10  Bruno Haible  <bruno@clisp.org>
65602
65603         * lib/strcspn.c: Include <string.h> unconditionally.
65604         * lib/strpbrk.c: Include <string.h> unconditionally.
65605         * lib/strstr.c: Include <string.h> unconditionally.
65606         * lib/unicodeio.c: Include <string.h> unconditionally.
65607         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
65608         * lib/unsetenv.c: Likewise.
65609         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
65610         * lib/yesno.c: Include <stdlib.h> unconditionally.
65611         (rpmatch): Add prototype.
65612
65613 2003-09-09  Paul Eggert  <eggert@twinsun.com>
65614
65615         More patches to assume C89 or better.
65616         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
65617         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
65618         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
65619         or for string.h.
65620         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
65621         stdlib.h.
65622         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
65623         C headers.
65624         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
65625         string.h.
65626         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
65627         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
65628         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
65629         or for string.h.
65630         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
65631         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
65632         C headers.
65633         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
65634         memcpy.
65635         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
65636         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
65637         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
65638         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
65639         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
65640         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
65641         string.h, free.
65642         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
65643         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
65644         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
65645         C headers, or for string.h.
65646         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
65647         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
65648         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
65649         headers, memory.h, stdlib.h, string.h, strings.h.
65650         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
65651         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
65652         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
65653         strchr.
65654         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
65655         headers, memory.h, string.h.
65656         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
65657         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
65658         free.
65659         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
65660         headers.
65661         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
65662         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
65663         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
65664         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
65665         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
65666
65667 2003-09-09  Paul Eggert  <eggert@twinsun.com>
65668
65669         More K&R removal.
65670
65671         * lib/acosl.c (main): Use a prototype.
65672         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
65673         tanl.c: Likewise.
65674
65675         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
65676
65677         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
65678         (getopt, etopt_long, getopt_long_only, _getopt_internal)
65679         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
65680         with a prototype.
65681         * lib/getopt.c (const): Remove macro.
65682         Include <string.h> unconditionally.
65683         (my_index): Remove; all uses changed to strchr.
65684         (strlen): Remove decl.
65685         (exchange): Remove forward decl; no longer needed.
65686         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
65687         Define with prototype.
65688         * lib/getopt1.c (const): Remove macro.
65689         (getopt_long, getopt_long_only, main): Define with prototype.
65690
65691         * lib/getugroups.c: Include <string.h> unconditionally.
65692
65693         * lib/getusershell.c: Include <stdlib.h> unconditionally.
65694         (getusershell, setusershell, endusershell, readname, main):
65695         Define with prototypes.
65696
65697         * lib/group-member.c: Include group-member.h first.
65698         Include <stdlib.h> unconditionally.
65699
65700         * lib/hard-locale.c: Include hard-locale.h first.
65701         Include <stdlib.h>, <string.h> unconditionally.
65702
65703         * lib/hash.c (free, malloc): Remove decls.
65704         Include <stdlib.h> unconditionally.
65705
65706         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
65707         (getenv): Do not declare.
65708
65709         * lib/idcache.c: Include <string.h> unconditionally.
65710
65711         * lib/long-options.c: Include long-options.h first, to test interface.
65712         Include <stdlib.h> unconditionally.
65713
65714         * lib/makepath.c: Include makepath.h first, to test interface.
65715         Include <stdlib.h> and <string.h> unconditionally.
65716
65717         * lib/linebuffer.c: Include <stdlib.h>.
65718         (free): Remove decl.
65719
65720         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
65721         stddef.h. rpl_malloc returns void *, not char *.
65722         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
65723         prototype.
65724
65725         * lib/md5.h: Include <limits.h> unconditionally.
65726         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
65727         (__P): Remove; all uses removed.
65728         * lib/md5.c: Include "md5.h" first.
65729         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
65730         md5_buffer, md5_process_bytes, md5_process_block):
65731         Define with prototypes.
65732         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
65733         * lib/sha.c: Include "sha.h" first.
65734         Include <stdlib.h>, <string.h> unconditionally.
65735
65736         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
65737         * lib/memcmp.c (__ptr_t): Likewise.
65738         * lib/memrchr.c (__ptr_t): Likewise.
65739         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
65740         Include <string.h> unconditionally.
65741         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
65742         * lib/memchr.c: Include <stdlib.h> unconditionally.
65743         * lib/memchr.c (LONG_MAX): Remove.
65744         * lib/memrchr.c (LONG_MAX): Likewise.
65745         * lib/memchr.c (__memchr): Define via a prototype.
65746         * lib/memrchr.c (__memrchr): Likewise.
65747         * lib/memcmp.c (__P): Remove, and remove all uses.
65748         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
65749         Remove forward decls; no longer needed.
65750         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
65751         Use types required by C89 in prototype.
65752
65753         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
65754         * lib/savedir.c: Likewise.
65755         * lib/mkdir.c (free): Remove decl.
65756         * lib/rmdir.c (rmdir): Define with a prototype.
65757         * lib/savedir.c: Include savedir.h first, to test interface.
65758
65759         * lib/mktime.c (STDC_HEADERS): Remove.
65760         Include <stdlib.h>, <string.h> unconditionally.
65761
65762         * lib/modechange.c: Include <stdlib.h> unconditionally.
65763         (malloc): Remove decl.
65764
65765         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
65766         (free): Remove decl.
65767
65768         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
65769         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
65770         (This type really should be intptr_t, but that's a C99ism.)
65771         (_obstack_memcpy): Remove: all uses changed to memcpy.
65772         Include <string.h> unconditionally.
65773         (struct obstack): Assume __STDC__ for types of members
65774         chunkfun, freefun, extra_arg.
65775         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
65776         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
65777         obstack_begin, obstack_specify_allocation,
65778         obstack_specify_allocation_with_arg, obstack_chunkfun,
65779         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
65780         Remove unprototyped decls and the macros that use them.
65781         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
65782         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
65783         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
65784         (defined __STDC__ && __STDC__)]:
65785         Remove nonprototyped code.
65786         Include <stdlib.h> unconditionally.
65787         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
65788         _obstack_allocated_p, _obstack_free, obstack_free,
65789         _obstack_memory_used, print_and_abort):
65790         Define using prototypes.
65791         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
65792         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
65793         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
65794         obstack_next_free, obstack_object_size, obstack_room) [0]:
65795         Remove unused, unprototyped code.
65796
65797         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
65798
65799         * lib/physmem.c (physmem_total, physmem_available, main): Define
65800         with prototypes.
65801
65802         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
65803         (main): Define with a prototype.
65804
65805         * lib/posixver.c (getenv): Remove decl.
65806
65807         * lib/putenv.c (malloc): Returns void *, not char *.
65808         Include <string.h> unconditionally.
65809         (strchr, memcpy, NULL): Do not define.
65810
65811         * lib/readtokens.c: Include readtokens.h first, to test interface.
65812         Include <stdlib.h>, <string.h> unconditionally.
65813         (init_tokenbuffer): Define with a prototype.
65814
65815         * lib/regex.c (PARAMS): Remove.  All uses removed.
65816         All uses of _RE_ARGS removed, too.
65817         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
65818         unconditionally.
65819         (bzero): Assume memset exists.
65820         (memcmp, memcpy, NULL): Remove.
65821         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
65822         char, or assignments to local vars of type signed char.
65823         (init_syntax_once, PREFIX(extract_number_and_incr),
65824         PREFIX(print_partial_compiled_pattern),
65825         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
65826         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
65827         PREFIX(regex_grow_registers), PREFIX(regex_compile),
65828         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
65829         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
65830         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
65831         wcs_compile_range, byte_compile_range, truncate_wchar,
65832         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
65833         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
65834         count_mbs_length, wcs_re_match_2_internal,
65835         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
65836         PREFIX(alt_match_null_string_p),
65837         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
65838         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
65839         regfree, PREFIX(extract_number)): Define with prototype.  Remove
65840         now-unnecessary declaration, if any.
65841         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
65842         regcomp, regexec):
65843         Remove now-unnecessary casts among pointer types.
65844         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
65845
65846         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
65847         (free): Remove decl.
65848
65849         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
65850
65851         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
65852         (free): Remove decl.
65853
65854         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
65855         * lib/xgetcwd.c: Likewise.
65856
65857         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
65858         (free): Remove decl.
65859
65860         * lib/strchrnul.c (strchrnul): Define with a prototype.
65861         Fix bug: c_in was not converted to char before searching.
65862
65863         The following changes are not K&R related:
65864
65865         * lib/group-member.h: Include <sys/types.h>, so that this file is
65866         self-contained.
65867         * lib/makepath.h: Likewise.
65868
65869         * lib/getusershell.c (readname, default_index, line_size, readname):
65870         Use size_t, not int, for sizes.
65871         (readname): If the size overflows, report an error instead of
65872         looping forever.
65873
65874 2003-09-09  Paul Eggert  <eggert@twinsun.com>
65875
65876         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
65877         libc.
65878
65879 2003-09-09  Paul Eggert  <eggert@twinsun.com>
65880
65881         * README: New section: portability guidelines.
65882
65883 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
65884
65885         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
65886         C89 spec.
65887
65888 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
65889
65890         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
65891
65892 2003-09-08  Paul Eggert  <eggert@twinsun.com>
65893
65894         Assume C89 or better; remove K&R cruft.
65895         A few of these changes were first proposed by Derek Robert Price
65896         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
65897
65898         * lib/addext.c: Include <string.h> unconditionally.
65899         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
65900         Don't declare getenv or malloc.
65901
65902         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
65903         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
65904         (NULL): Remove.
65905         (find_stack_direction, alloca): Use prototypes.
65906
65907         * lib/atexit.c (atexit): Define using a prototype.
65908
65909         * lib/basename.c, dirname.c, stripslash.c:
65910         Include <string.h> unconditionally.
65911
65912         * lib/bcopy.c: Include <stddef.h>.
65913         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
65914
65915         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
65916
65917         * lib/error.h (error, error_at_line, error_print_progname)
65918         [! (defined (__STDC__) && __STDC__)]: Remove decls.
65919         * lib/error.c: Include error.h first, to check interface.
65920         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
65921         (VA_START): Remove; all uses changeed to va_start.
65922         (exit, strerror): Remove decls.
65923         (error_print_progname): Prototype uncondionally.
65924         Don't include <errno.h>; no longer needed.
65925         (private_strerror): Remove.
65926         (error_tail): Always define.
65927         (error, error_at_line): Assume C89 or better; always use prototypes.
65928         * lib/fatal.c: Include "fatal.h" first, to test interface.
65929         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
65930         (VA_START): Remove; all uses changed to va_start.
65931         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
65932         this case.
65933         (exit): Remove decl.
65934         (fatal): Prototype unconditionally.  Assume va_start works.
65935         Abort at end, to pacify gcc.
65936
65937         * lib/euidaccess.c (main): Define with a prototype.
65938
65939         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
65940
65941         * lib/exitfail.c: Include <stdlib.h> unconditionally.
65942
65943         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
65944         prototypes.
65945         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
65946         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
65947         (getenv): Remove decl.
65948         (fnmatch): Define using a prototype.
65949         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
65950         (FCT): Define using a prototype.
65951
65952         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
65953
65954         * lib/gethostname.c: Include <stddef.h>.
65955         (gethostname): Define with prototype.  Length is size_t, not int.
65956
65957 2003-09-08  Paul Eggert  <eggert@twinsun.com>
65958
65959         Assume C89 or better; remove K&R cruft.
65960         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
65961         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
65962         string.h, getenv, malloc.
65963         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
65964         headers.
65965         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
65966         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
65967         do not check for strerror.
65968         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
65969         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
65970         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
65971         do not check for doprnt or vprintf.
65972         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
65973         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
65974
65975 2003-09-08  Paul Eggert  <eggert@twinsun.com>
65976
65977         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
65978         getversion.c should have been removed then, but was accidentally
65979         preserved.
65980
65981         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
65982         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
65983
65984 2003-09-08  Karl Berry  <karl@gnu.org>
65985
65986         * config/config.sub, config.guess, srclistvars.sh: update from savannah
65987                 config, forget about prep.
65988
65989         * config/depcomp, missing: update from automake.
65990
65991 2003-09-07  Paul Eggert  <eggert@twinsun.com>
65992
65993         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
65994         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
65995
65996 2003-09-07  Paul Eggert  <eggert@twinsun.com>
65997
65998         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
65999         copy_tm_result.  Bug reported by Simon Josefsson in
66000         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
66001
66002 2003-09-06  Paul Eggert  <eggert@twinsun.com>
66003
66004         * m4/time_r.m4: New file.
66005         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
66006         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
66007         is. Check for timegm declaration.
66008         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
66009         Do not check for gmtime_r.
66010         Replace mktime if __mktime_internal does not exist and if mktime
66011         hasn't been replaced already.
66012
66013 2003-09-06  Paul Eggert  <eggert@twinsun.com>
66014
66015         * lib/time_r.c, lib/time_r.h: New files.
66016
66017         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
66018         __localtime_r.
66019         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
66020         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
66021
66022         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
66023         __gmtime_r.
66024         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
66025         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
66026         Include <time_r.h>.
66027
66028         * lib/timegm.c: Switch to glibc implementation, with the following
66029         changes:
66030         [defined HAVE_CONFIG_H]: Include <config.h>.
66031         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
66032         (__mktime_internal) [!defined _LIBC]: New decl.
66033         (__gmtime_r) [!defined _LIBC]: New macro and function.
66034         (timegm): Use a prototype, since gnulib assumes C89.
66035         Do not bother declaring tmp to be const, as it's not really usefu.
66036         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
66037         (timegm): Declare only if HAVE_DECL_TIMEGM.
66038
66039 2003-09-06  Paul Eggert  <eggert@twinsun.com>
66040
66041         * MODULES.html.sh (func_all_modules): Add time_r.
66042         * modules/time_r: New file.
66043         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
66044         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
66045
66046 2003-09-03  Paul Eggert  <eggert@twinsun.com>
66047
66048         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
66049         Bug reported by Lute Kamstra in
66050         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
66051
66052         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
66053         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
66054         course with correspondingly smaller numbers for tomorrow and
66055         yesterday.  From Tadayoshi Funaba.  Originally installed into
66056         sh-utils on 1999-08-07, but the patch got lost (I guess during the
66057         coreutils merge?).
66058
66059 2003-08-31  Simon Josefsson  <jas@extundo.com>
66060
66061         * modules/timegm: New file.
66062         * MODULES.html.sh (func_all_modules): Add timegm.
66063
66064 2003-08-31  Simon Josefsson  <jas@extundo.com>
66065
66066         * m4/timegm.m4: New file.
66067
66068 2003-08-31  Simon Josefsson  <jas@extundo.com>
66069
66070         * lib/timegm.h: New file.
66071         * lib/timegm.c: New file.  Based on
66072         wget-1.8.2/src/http.c:mktime_from_utc.
66073
66074 2003-08-31  Karl Berry  <karl@gnu.org>
66075
66076         * lib/argp.h: update from libc.
66077
66078 2003-08-28  Bruno Haible  <bruno@clisp.org>
66079
66080         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
66081         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
66082         followed by '#define fnmatch fnmatch_posix' gives an error.
66083
66084 2003-08-28  Bruno Haible  <bruno@clisp.org>
66085
66086         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
66087         warning on QNX, which defines O_BINARY to 000000.
66088
66089 2003-08-27  Jim Meyering  <jim@meyering.net>
66090
66091         * m4/mkstemp.m4: Require that the system mkstemp be able to create
66092         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
66093         would fail after 32.  Reported by Danny Levinson.  Details here:
66094         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
66095
66096 2003-08-24  Bruno Haible  <bruno@clisp.org>
66097
66098         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
66099         MSVC7 <stdio.h> is included later.
66100
66101 2003-08-22  Simon Josefsson  <jas@extundo.com>
66102
66103         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
66104
66105 2003-08-20  Karl Berry  <karl@gnu.org>
66106
66107         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
66108
66109 2003-08-20  Bruno Haible  <bruno@clisp.org>
66110
66111         * modules/progname: New file.
66112         * MODULES.html.sh (func_all_modules): Add progname.
66113
66114 2003-08-20  Bruno Haible  <bruno@clisp.org>
66115
66116         * lib/progname.h: New file, from GNU gettext.
66117         * lib/progname.c: New file, from GNU gettext.
66118         * lib/progreloc.c: New file, from GNU gettext.
66119
66120 2003-08-19  Jim Meyering  <jim@meyering.net>
66121
66122         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
66123         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
66124
66125 2003-08-19  Bruno Haible  <bruno@clisp.org>
66126
66127         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
66128         more.
66129
66130 2003-08-19  Bruno Haible  <bruno@clisp.org>
66131
66132         * lib/xstrdup.c: Assume <string.h> exists.
66133
66134 2003-08-18  Paul Eggert  <eggert@twinsun.com>
66135
66136         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
66137         in makefile rules.
66138
66139 2003-08-18  Jim Meyering  <jim@meyering.net>
66140
66141         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
66142         * m4/lib-ld.m4: Likewise.
66143
66144 2003-08-18  Jim Meyering  <jim@meyering.net>
66145
66146         * lib/setenv.h: Indent nested cpp directive.
66147         * lib/vasnprintf.c: Remove trailing blanks.
66148
66149 2003-08-17  Simon Josefsson  <jas@extundo.com>
66150
66151         * modules/xstrndup: New file.
66152         * MODULES.html.sh (func_all_modules): Add xstrndup.
66153
66154 2003-08-17  Simon Josefsson  <jas@extundo.com>
66155
66156         * modules/argp: Fix autoconf macro name. Add more dependencies.
66157
66158 2003-08-17  Simon Josefsson  <jas@extundo.com>
66159
66160         * m4/xstrndup.m4: New file.
66161
66162 2003-08-17  Simon Josefsson  <jas@extundo.com>
66163
66164         * m4/argp.m4: New file.
66165
66166 2003-08-17  Simon Josefsson  <jas@extundo.com>
66167             Bruno Haible  <bruno@clisp.org>
66168
66169         * lib/xstrndup.h: New file.
66170         * lib/xstrndup.c: New file.
66171
66172 2003-08-17  Bruno Haible  <bruno@clisp.org>
66173
66174         * modules/strndup (Files, Include): Add lib/strndup.h.
66175
66176 2003-08-17  Bruno Haible  <bruno@clisp.org>
66177
66178         * modules/euidaccess (Files): Add lib/euidaccess.h.
66179
66180 2003-08-17  Bruno Haible  <bruno@clisp.org>
66181
66182         * lib/strndup.h: New file.
66183
66184 2003-08-17  Bruno Haible  <bruno@clisp.org>
66185
66186         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
66187         like AC_GNU_SOURCE.
66188         * modules/extensions (configure.ac): Comment out the invocation of
66189         gl_USE_SYSTEM_EXTENSIONS.
66190
66191 2003-08-16  Paul Eggert  <eggert@twinsun.com>
66192
66193         Merges from coreutils, etc.
66194         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
66195         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
66196         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
66197         fixing a typo.
66198         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
66199         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
66200
66201 2003-08-16  Paul Eggert  <eggert@twinsun.com>
66202
66203         Document merge from coreutils.
66204         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
66205         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
66206         * modules/utime: Add m4/utimes-null.m4.
66207
66208 2003-08-16  Paul Eggert  <eggert@twinsun.com>
66209
66210         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
66211         space, undoing this 2003-08-12 change:
66212         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
66213
66214 2003-08-16  Paul Eggert  <eggert@twinsun.com>
66215
66216         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
66217         strtoul.c from libc, undoing this 2003-08-12 change:
66218         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
66219
66220 2003-08-16  Jim Meyering  <jim@meyering.net>
66221
66222         Merges from coreutils.
66223         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
66224         prefix.  Adjust cache variables similarly.  Create 500 rather than
66225         just 300 files, to exercise bug on Darwin6.5, too.
66226         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
66227         $missing_dir.
66228         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
66229         AM_SYS_POSIX_TERMIOS.
66230         Reported by mkc@mathdogs.com.
66231         Also change use of $am_cv_sys_posix_termios
66232         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
66233         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
66234         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
66235         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
66236         in /proc/mounts until it finds one with matching device number.  This
66237         is unnecessary when the FILE argument *is* a mount point.  No stat call
66238         is necessary in that case.  So, disable the statvfs-testing code on
66239         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
66240         as RedHat bug# 84846.
66241         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
66242         to 1MB, so as not to render systems with no stack size limit (e.g.,
66243         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
66244         Include <unistd.h>.  On some systems,
66245         it is required for the definition of _SC_PAGESIZE.
66246
66247 2003-08-16  Jim Meyering  <jim@meyering.net>
66248
66249         Merge from coreutils.
66250         * lib/xstrtoimax.c: #else #if -> #elif.
66251         * lib/xstrtoumax.c: Likewise.
66252
66253 2003-08-16  Jim Meyering  <jim@meyering.net>
66254
66255         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
66256         * m4/utimes.m4: Removed.
66257         * m4/utimes-null.m4: Renamed from utimes.m4.
66258
66259         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
66260         to 1MB, so as not to render systems with no stack size limit (e.g.,
66261         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
66262         Include <unistd.h>.  On some systems,
66263         it is required for the definition of _SC_PAGESIZE.
66264
66265 2003-08-16  Jim Meyering  <jim@meyering.net>
66266         and Paul Eggert  <eggert@cs.ucla.edu>
66267
66268         Merges from coreutils, etc.
66269
66270         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
66271         using the latest version from cvs.  This avoids problems with #line
66272         directives using a vendor (Sun) compiler.
66273         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
66274         Don't set GETGROUPS_LIB here; now it's
66275         done via getgroups.m4's wrapper function.
66276         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
66277         rather than just in sh-util/configure.in, so that the
66278         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
66279         same.
66280         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
66281         AC_FUNC_GETLOADAVG where to find getloadavg.c.
66282         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
66283         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
66284         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
66285         Remove code that is now done by the newly-required macros.
66286         Append $(EXEEXT) to DF_PROG.
66287         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
66288         Do not invoke or require the following here,
66289         since prereq.m4 or some gnulib .m4 now does this for us:
66290         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
66291         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
66292         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
66293         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
66294         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
66295         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
66296         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
66297         AC_FUNC_OBSTACK.
66298         Do not replace the following functions, as this is now the job
66299         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
66300         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
66301         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
66302         atexit getpass, strdup, getpagesize.
66303         Replace 'raise'.
66304         Do not check for the following functions, as this is now the job
66305         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
66306         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
66307         setregid.
66308         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
66309         Check for sys/sysctl.h.
66310         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
66311         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
66312         of checking for ssize_t ourselves.
66313
66314         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
66315         Require every macro that gnulib/modules/* suggests for us.
66316         (jm_PREREQ_ADDEXT): New macro.
66317         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
66318         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
66319
66320         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
66321         (gl_PHYSMEM): Use it.
66322         Also check for `table' function.
66323         Check for new headers and functions.
66324         Add check for sys/sysmp.h.
66325         With suggestions from Kaveh Ghazi.
66326         Ignore headers that are present but cannot be compiled.  This
66327         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
66328         C 5.4.
66329
66330 2003-08-15  Paul Eggert  <eggert@twinsun.com>
66331
66332         Document merge from coreutils.
66333         * modules/userspec: Depend on posixver.
66334         * modules/strftime: Depend on tzset.
66335
66336 2003-08-15  Paul Eggert  <eggert@twinsun.com>
66337
66338         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
66339         rather than tab, after '#' in shell-script copyright notices.
66340         Suggested by Bruno Haible.
66341
66342 2003-08-15  Paul Eggert  <eggert@twinsun.com>
66343
66344         * config/srclist-update: Use three spaces, rather than tab, after '#'
66345         in shell-script copyright notices.  Suggested by Bruno Haible.
66346         Remove unnecessary parenthesization in regular expression.
66347
66348 2003-08-15  Jim Meyering  <jim@meyering.net>
66349
66350         Merge from coreutils.
66351         * lib/xgethostname.c: Include <stdlib.h>.
66352         (xghostname): Don't exit for anything other than memory-related
66353         failure; just return NULL.
66354         * lib/userspec.c: Include "posixver.h".
66355         (parse_user_spec): Accept `.' as a separator only
66356         in pre-POSIX-200112 mode.
66357         * lib/strtoimax.c: Use #elif rather than #else #if.
66358         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
66359         Remove function, now that we can rely on a working tzset function.
66360         [!_LIBC]: Ensure that the required autoconf test has been run.
66361         [!defined _NL_CURRENT && HAVE_STRFTIME]:
66362         Use underlying_strftime for %r.
66363         * lib/sha.c: Merge in some clean-up and optimization changes from
66364         glibc.
66365         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
66366         Ensure that it is a multiple of 64.
66367         Rearrange loop exit tests so as to avoid performing an
66368         additional fread after encountering an error or EOF.
66369         * lib/realloc.c: Update copyright date.
66370
66371 2003-08-15  Jim Meyering  <jim@meyering.net>
66372         and Paul Eggert  <eggert@twinsun.com>
66373
66374         Merge from coreutils.
66375         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
66376         member but strut utmpx does not.  Needed for AIX 4.3.3.
66377         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
66378
66379 2003-08-15  Jim Meyering  <jim@meyering.net>
66380         and Paul Eggert  <eggert@cs.ucla.edu>
66381
66382         Merges from coreutils, etc.
66383         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
66384         Require gl_FUNC_TZSET_CLOBBER.
66385         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
66386         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
66387         members.
66388
66389 2003-08-14  Paul Eggert  <eggert@twinsun.com>
66390
66391         Help the merge from coreutils.
66392         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
66393         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
66394         * m4/tzset.m4: Use it too.
66395
66396 2003-08-14  Paul Eggert  <eggert@twinsun.com>
66397
66398         * modules/tzset: New file.
66399
66400 2003-08-14  Jim Meyering  <jim@meyering.net>
66401
66402         Merges from coreutils.
66403         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
66404         variable names, rather than @FNMATCH_H@.
66405         * modules/alloca: Likewise for $(ALLOCA_H).
66406
66407         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
66408         the three copies of the literal target, `fnmatch.h'.
66409         * modules/alloca (alloca.h): Likewise.
66410
66411 2003-08-14  Jim Meyering  <jim@meyering.net>
66412
66413         Merge from coreutils.
66414         * m4/tzset.m4: New file.
66415         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
66416         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
66417         otherwise, AIX 5.1 systems would end up using the latter.
66418         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
66419         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
66420         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
66421         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
66422
66423 2003-08-14  Jim Meyering  <jim@meyering.net>
66424
66425         Merge from coreutils.
66426         * lib/obstack.h: Whitespace changes.
66427         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
66428         and xcalloc return values.
66429         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
66430         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
66431         hang on OSF/1 5.1 for DIR on both local and remote file systems.
66432         Reported by (and fix confirmed by) Nelson H. F. Beebe.
66433         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
66434         error from mntctl.
66435         Use mntctl's return value to drive the entry-processing loop, since
66436         we can't rely on the value of the vmt_length member in the last
66437         entry.  On some systems doing so could result in exhausting
66438         virtual memory.  Based in part on a patch from Mike Jetzer.
66439
66440 2003-08-14  Jim Meyering  <jim@meyering.net>
66441         and Paul Eggert  <eggert@twinsun.com>
66442
66443         Merges from coreutils, plus other fixes.
66444         * lib/physmem.c: Merge in portability changes from gcc/libiberty
66445         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
66446         for credits and details.  Thanks to Kaveh Ghazi for helping
66447         to keep these files in sync.
66448         (ARRAY_SIZE): Define it.
66449         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
66450         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
66451         (memcasecmp): Don't assume size_t fits in unsigned int.
66452         Remove casts and duplicate code.
66453         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
66454         (memcpy): Remove definition.
66455         Merge in some clean-up and optimization changes from glibc.
66456         [BLOCKSIZE]: Move definition to top of file.
66457         Ensure that it is a multiple of 64.
66458         Rearrange loop exit tests so as to avoid performing an
66459         additional fread after encountering an error or EOF.
66460         * lib/md5.h (md5_uintptr): Define.
66461         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
66462         return to the initial working directory.  Preserve errno
66463         for caller.
66464         * lib/idcache.c: Include "xalloc.h".
66465         (xmalloc, xrealloc): Remove decls.
66466         (getuser): Remove casts no longer required in C89.
66467         * lib/human.c: Include stdio.h, for sprintf.
66468         * lib/group-member.c: Include "xalloc.h".
66469         (xmalloc, xrealloc): Remove decls.
66470         (get_group_info): Remove casts no longer required in C89.
66471         * lib/getusershell.c (readname): Remove casts no longer required in
66472         C89.
66473         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
66474         * lib/getline.c: Whitespace fix, from coreutils.
66475
66476 2003-08-13  Paul Eggert  <eggert@twinsun.com>
66477
66478         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
66479         Check for isascii.
66480
66481         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
66482         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
66483         Undo previous (whitespace-only) change.
66484
66485 2003-08-13  Paul Eggert  <eggert@twinsun.com>
66486
66487         * lib/exclude.c: Include <ctype.h>
66488         (IN_CTYPE_DOMAIN): New macro.
66489         (is_space): New fn.
66490         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
66491         and empty lines.
66492
66493         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
66494         Undo previous (whitespace-only) change.
66495
66496 2003-08-13  Paul Eggert  <eggert@twinsun.com>
66497
66498         * config/srclist-update: Change update back to the old behavior,
66499         leaving whitespace alone.  Use one 'sed' command rather than a
66500         pipeline.
66501         (fixlicense): Now a variable, not a function.
66502         (remove_trailing_blanks): Remove.
66503         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
66504         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
66505         Undo previous (whitespace-only) change.
66506
66507 2003-08-12  Paul Eggert  <eggert@twinsun.com>
66508
66509         Merge from coreutils.
66510         * modules/euidaccess: Add lib_SOURCES, include for new
66511         file euidaccess.h
66512
66513 2003-08-12  Paul Eggert  <eggert@twinsun.com>
66514
66515         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
66516         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
66517         Normalize leading white space and remove trailing white space.
66518
66519         Merge from coreutils
66520         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
66521
66522         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
66523         0.12.1.  These files are now being upgraded automatically by
66524         ../config/srclist-update.
66525
66526 2003-08-12  Paul Eggert  <eggert@twinsun.com>
66527
66528         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
66529         Normalize leading white space and remove trailing white space.
66530         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
66531         notice, as per ../config/srclist-update.
66532
66533         Merge from coreutils.
66534         * lib/euidaccess.h: New file.
66535         * lib/euidaccess.c: Include it.
66536         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
66537         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
66538         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
66539
66540 2003-08-12  Paul Eggert  <eggert@twinsun.com>
66541
66542         * config/srclist-update: Add copyright notice.
66543         (remove_id_lines, remove_trailing_blanks): New constants.
66544         (fixfile): Use them to normalize spacing a bit in copied files.
66545         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
66546         Normalize leading white space and remove trailing white space.
66547
66548         * config/texinfo.tex: Sync with texinfo.
66549
66550         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
66551         strtoul.c from libc, to merge coreutils whitespace changes.
66552
66553         * config/srclist.txt: Get the following m4 files from gettext:
66554         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
66555         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
66556         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
66557         wint_t.m4.
66558
66559 2003-08-12  Karl Berry  <karl@gnu.org>
66560
66561         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
66562         been made.
66563
66564 2003-08-11  Paul Eggert  <eggert@twinsun.com>
66565
66566         * modules/gnu-source, m4/gnu-source.m4:
66567         Remove; we're assuming Autoconf 2.54 or later now.
66568         Suggested by Bruno Haible.
66569         * MODULES.html.sh (func_all_modules): Remove gnu-source.
66570
66571 2003-08-11  Bruno Haible  <bruno@clisp.org>
66572
66573         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
66574
66575 2003-08-11  Bruno Haible  <bruno@clisp.org>
66576
66577         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
66578         (vasnprintf): Use it instead of wcslen.
66579
66580 2003-08-11  Bruno Haible  <bruno@clisp.org>
66581
66582         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
66583         value to ensure that _Bool promotes to int. Use #define for _Bool when
66584         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
66585
66586 2003-08-10  Karl Berry  <karl@gnu.org>
66587
66588         * lib/regex.h: update from libc (whitespace fix).
66589
66590 2003-08-09  Paul Eggert  <eggert@twinsun.com>
66591
66592         Merge some files from coreutils.  These changes were
66593         originally made by Jim Meyering.
66594         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
66595         many older Unixes require this.
66596         * lib/alloca.c (alloca): Remove cast to argument of free;
66597         no longer needed in C89.
66598         * lib/alloca_.h, regex.h: Fix white space to match
66599         what GNU indent does.
66600
66601 2003-08-09  Paul Eggert  <eggert@twinsun.com>
66602
66603         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
66604         apparently Emacs's Unicode mode got confused before my 2003-08-05
66605         checkin.
66606
66607 2003-08-08  Paul Eggert  <eggert@twinsun.com>
66608
66609         * m4/extensions.m4: New file.
66610         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
66611         Require gl_USE_SYSTEM_EXTENSIONS.
66612         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
66613         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
66614
66615 2003-08-08  Paul Eggert  <eggert@twinsun.com>
66616
66617         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
66618         * modules/extensions, modules/gnu-source: New files.
66619         * modules/timespec, modules/unlocked-io: Depend on extensions.
66620
66621 2003-08-07  Paul Eggert  <eggert@twinsun.com>
66622
66623         * modules/restrict: New file.
66624         * MODULES.html.sh (func_all_modules): Add restrict.
66625         * modules/regex: Depend on restrict.
66626
66627 2003-08-07  Paul Eggert  <eggert@twinsun.com>
66628
66629         * m4/restrict.m4: New file.
66630         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
66631
66632 2003-08-07  Bruno Haible  <bruno@clisp.org>
66633
66634         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
66635         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
66636
66637 2003-08-07  Bruno Haible  <bruno@clisp.org>
66638
66639         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
66640         makes the module 'getndelim2' compatible with the module 'getline'.
66641
66642 2003-08-05  Paul Eggert  <eggert@twinsun.com>
66643
66644         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
66645         byte with "\201" to avoid glitches when editing that source file
66646         with multi-gnome-terminal.
66647
66648 2003-08-05  Paul Eggert  <eggert@twinsun.com>
66649
66650         * lib/bumpalloc.h: Remove.
66651
66652 2003-08-05  Paul Eggert  <eggert@twinsun.com>
66653
66654         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
66655         * modules/bumpalloc: Remove.
66656
66657 2003-08-04  Paul Eggert  <eggert@twinsun.com>
66658
66659         * lib/getloadavg.c: Change copyright notice and spacing to conform to
66660         GNU coding style.
66661
66662         Merge from coreutils.
66663         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
66664         1. From glibc.
66665         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
66666         from Karl Berry, implemented by Jim Meyering.
66667         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
66668         from Dmitry V. Levin.
66669         Remove anachronistic cast of xrealloc.
66670         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
66671         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
66672         type. Otherwise, it wouldn't compile with at least /bin/cc on
66673         ymp-cray-unicos9.0.2.X.
66674         Combine two mostly-identical uses of alloca into one.
66675         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
66676
66677 2003-08-04  Dave Love  <d.love@dl.ac.uk>
66678
66679         [From Emacs.]
66680
66681         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
66682         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
66683         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
66684         obsolete NLIST_NAME_UNION.
66685         [__GNU__]: Undef BSD and FSCALE.
66686         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
66687
66688 2003-08-03  Paul Eggert  <eggert@twinsun.com>
66689
66690         * lib/stdbool_.h (_Bool): Make it signed char, instead of
66691         an enum type, so that it's guaranteed to promote to int.  See:
66692         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
66693
66694 2003-08-03  Karl Berry  <karl@gnu.org>
66695
66696         * config/depcomp: update from automake.
66697
66698 2003-07-31  Paul Eggert  <eggert@twinsun.com>
66699
66700         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
66701         (strerror): Don't assume that a printable int fits in 14 bytes.
66702
66703 2003-07-31  Bruno Haible  <bruno@clisp.org>
66704
66705         * modules/getpass-gnu: New file.
66706         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
66707
66708 2003-07-31  Bruno Haible  <bruno@clisp.org>
66709
66710         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
66711
66712 2003-07-24  Karl Berry  <karl@gnu.org>
66713
66714         * config/missing: update from automake.
66715
66716 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
66717             Bruno Haible  <bruno@clisp.org>
66718
66719         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
66720         * lib/getline.c (getline, getdelim): Likewise.
66721         Remove _GNU_SOURCE define; now it's defined in config.h through
66722         m4/getline.m4.
66723
66724 2003-07-23  Karl Berry  <karl@gnu.org>
66725
66726         * config/config.sub: update from prep.
66727
66728 2003-07-22  Paul Eggert  <eggert@twinsun.com>
66729
66730         * modules/xalloc (Depends-on): Add exitfail.
66731         * modules/xmemcoll: Likewise.
66732
66733 2003-07-22  Paul Eggert  <eggert@twinsun.com>
66734
66735         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
66736         over-parenthesization in macros.
66737
66738         Sync with coreutils.
66739
66740         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
66741         required by C99.
66742
66743         Use `exit_failure' for xalloc and xmemcoll instead of their own
66744         private exit-failure variables.
66745         * lib/xalloc.h (xalloc_exit_failure): Remove.
66746         * lib/xmalloc.c: Likewise.  Include exitfail.h.
66747         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
66748         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
66749         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
66750         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
66751
66752 2003-07-20  Jim Meyering  <jim@meyering.net>
66753
66754         * modules/closeout (Depends-on): Add exitfail.
66755         Suggestion from Bruno Haible.
66756
66757 2003-07-19  Karl Berry  <karl@gnu.org>
66758
66759         * config/config.sub: update from prep.
66760
66761 2003-07-18  Paul Eggert  <eggert@twinsun.com>
66762
66763         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
66764         Remove.
66765         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
66766         to test that it can stand by itself.  Include "exitfail.h".
66767         Clients should set exit_failure instead.
66768         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
66769
66770 2003-07-18  Bruno Haible  <bruno@clisp.org>
66771
66772         * modules/getndelim2: New file.
66773         * modules/getline: Share files with module getndelim2.
66774         * modules/getnline: Depend on getndelim2 instead of sharing files with
66775         it. Add getnline.c to lib_SOURCES.
66776         * MODULES.html.sh (func_all_modules): Add getndelim2.
66777
66778 2003-07-18  Bruno Haible  <bruno@clisp.org>
66779
66780         * m4/getndelim2.m4: New file.
66781         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
66782         invoke gl_PREREQ_GETNDELIM2.
66783         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
66784         gl_PREREQ_GETNDELIM2.
66785         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
66786         gl_GETNDELIM2.
66787
66788 2003-07-18  Bruno Haible  <bruno@clisp.org>
66789
66790         * lib/getndelim2.h: New file.
66791         * lib/getndelim2.c: Make into a module of its own. Include config.h,
66792         getndelim2.h.
66793         (getndelim2): Make non-static. Change return type to ssize_t.
66794         * lib/getline.h: Change argument names.
66795         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
66796         * lib/getnline.c: Include getndelim2.h.
66797
66798 2003-07-18  Andreas Schwab  <schwab@suse.de>
66799
66800         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
66801
66802 2003-07-17  Karl Berry  <karl@gnu.org>
66803
66804         * config/config.sub: update from prep.
66805
66806 2003-07-17  Bruno Haible  <bruno@clisp.org>
66807
66808         * modules/getnline: New file.
66809         * modules/getline: Add lib/getndelim2.c to source file list.
66810         * MODULES.html.sh (func_all_modules): Add getnline.
66811
66812 2003-07-17  Bruno Haible  <bruno@clisp.org>
66813
66814         * m4/getnline.m4: New file.
66815
66816 2003-07-17  Bruno Haible  <bruno@clisp.org>
66817
66818         * m4/Makefile.am.in: Remove file.
66819         * m4/Makefile.am: Remove file.
66820         * m4/Makefile.in: Remove file.
66821
66822 2003-07-17  Bruno Haible  <bruno@clisp.org>
66823
66824         * lib/getnline.h: New file.
66825         * lib/getnline.c: New file.
66826         * lib/getndelim2.c: New file, extracted from getline.c.
66827         (getndelim2): Renamed from getdelim2, with added nmax argument.
66828         * lib/getline.c: Include getndelim2.c.
66829         (getdelim2): Moved out to getndelim2.c.
66830         (getline, getdelim): Update.
66831
66832 2003-07-17  Bruno Haible  <bruno@clisp.org>
66833
66834         * lib/Makefile.am: Remove file.
66835         * lib/Makefile.in: Remove file.
66836
66837 2003-07-17  Bruno Haible  <bruno@clisp.org>
66838
66839         * configure.in: Remove file.
66840         * Makefile.in: Remove file.
66841
66842 2003-07-17  Bruno Haible  <bruno@clisp.org>
66843
66844         * MODULES.html.sh: Put the </BODY> right before </HTML>.
66845
66846 2003-07-16  Karl Berry  <karl@gnu.org>
66847
66848         * config/srclist-update: was running fixlicense twice, which caused
66849                 texinfo.tex to be nullified for some reason.  Simplify,
66850                 $gplsrc is no longer needed as far as I can see?
66851
66852 2003-07-16  Jim Meyering  <jim@meyering.net>
66853
66854         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
66855
66856 2003-07-15  Paul Eggert  <eggert@twinsun.com>
66857
66858         * config/srclist.txt: Get the following files from gettext-runtime/intl
66859         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
66860         ref-del.sin.  From Bruno Haible.
66861         * config/srclist-update (fixfile): Change grep pattern again, since the
66862         previous fix didn't work (there was another trailing $).  Use
66863         '[$]' to escape the $s.
66864
66865 2003-07-15  Karl Berry  <karl@gnu.org>
66866
66867         * lib/vasnprintf.c: update from gettext.
66868
66869 2003-07-15  Karl Berry  <karl@gnu.org>
66870
66871         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
66872         gets expanded when surrounded by '$'.
66873
66874 2003-07-15  Jim Meyering  <jim@meyering.net>
66875
66876         * modules/save-cwd: Don't depend on error.  From Derek Price.
66877
66878 2003-07-15  Jim Meyering  <jim@meyering.net>
66879
66880         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
66881
66882 2003-07-14  Simon Josefsson  <jas@extundo.com>
66883
66884         * modules/mempcpy: New file.
66885         * MODULES.html.sh (func_all_modules): Add mempcpy.
66886
66887 2003-07-14  Simon Josefsson  <jas@extundo.com>
66888
66889         * m4/mempcpy.m4: New file.
66890
66891 2003-07-14  Simon Josefsson  <jas@extundo.com>
66892
66893         * lib/mempcpy.h: New file.
66894         * lib/mempcpy.c: New file.
66895
66896 2003-07-14  Paul Eggert  <eggert@twinsun.com>
66897
66898         * modules/getdate, modules/posixtm: Depend on mktime.
66899
66900 2003-07-14  Paul Eggert  <eggert@twinsun.com>
66901
66902         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
66903         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
66904         unicodeio.c, unicodeio.h, unlocked-io.h:
66905         Switch from LGPL to GPL.
66906
66907 2003-07-14  Paul Eggert  <eggert@twinsun.com>
66908
66909         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
66910         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
66911         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
66912         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
66913         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
66914         updated automatically by ../config/srclist-update.  This changes
66915         their license from LPGL to GPL.
66916
66917 2003-07-14  Paul Eggert  <eggert@twinsun.com>
66918
66919         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
66920         assumed to refer to the root of the most recent stable gettext version.
66921         * config/srclistvars.sh: Add defaults for eggert.
66922         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
66923         Match "This program" as well as "The program".  This is needed
66924         for gettext.
66925
66926 2003-07-14  Jim Meyering  <jim@meyering.net>
66927
66928         Don't emit diagnostics.  Let callers do that.
66929         * lib/save-cwd.c: Don't include "error.h".
66930         (save_cwd): Don't call error.  Ensure that errno is valid
66931         when returning nonzero.
66932
66933         * lib/save-cwd.h (restore_cwd): Update prototype.
66934         * lib/save-cwd.c (restore_cwd): Remove two parameters.
66935         Simplify.  Don't call error upon failure.  Let callers do that.
66936         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
66937         when auditing is enabled.  But don't bother updating the #if.
66938
66939 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
66940
66941         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
66942         it breaks C++ compilation.
66943         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
66944
66945 2003-07-10  Simon Josefsson  <jas@extundo.com>
66946
66947         * modules/strchrnul (Makefile.am): Add strchrnul.h.
66948
66949 2003-07-10  Jim Meyering  <jim@meyering.net>
66950
66951         * m4/clock_time.m4: Remove trailing blank.
66952         * m4/intmax_t.m4: Likewise.
66953
66954 2003-07-10  Jim Meyering  <jim@meyering.net>
66955
66956         * lib/vasnprintf.c: Remove trailing blanks.
66957         Make cpp indentation consistent.
66958
66959 2003-07-09  Paul Eggert  <eggert@twinsun.com>
66960
66961         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
66962         posixver.c, strftime.c, strnlen.c, strverscmp.c:
66963         Switch from LGPL to GPL.
66964
66965 2003-07-09  Paul Eggert  <eggert@twinsun.com>
66966
66967         * config/srclist.txt: Sort sublists.  Add
66968         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
66969         that differ from gnulib for one reason or another; we'd like this list
66970         to be smaller but for now let's document what we have.
66971
66972 2003-07-08  Paul Eggert  <eggert@twinsun.com>
66973
66974         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
66975         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
66976         and sweeter "eval x=$x".
66977         * config/srclist.txt: Get lib/argp* from glibc.
66978
66979 2003-07-07  Paul Eggert  <eggert@twinsun.com>
66980
66981         * lib/mktime.c: Fix some boundary cases and remove need for floating
66982         point.
66983
66984         Issue a compile-time diagnostic if time_t is floating point, or if
66985         two's complement arithmetic is not in effect, or if arithmetic
66986         right shift does not propagate the sign.  These assumptions were
66987         all in the original code but they weren't checked.
66988
66989         (TIME_T_MIDPOINT, verify): New macros.
66990         (__isleap): Remove; it has integer overflow problems.
66991         (leapyear): New function, without those problems.
66992         (ydhms_tm_diff): Remove; splitting into two parts.
66993         (ydhms_diff): New function, containing the arithmetic part of
66994         the old ydhms_tm_diff function.  Issue a compile-time
66995         diagnostic if we are not using C99 integer division.
66996         Avoid casts when possible.
66997         (guess_time_tm): New function, containing the checking part of
66998         the old ydhms_tm_diff function.  Return the new value, rather than
66999         the difference between it and the old.  Accept a new argument T
67000         so that *T specifies the old value.  Check for overflow in the result.
67001
67002         (__mktime_internal): Use a time_t offset, not a long int offset.
67003         This undoes the 2003-06-04 change, which is no longer needed now
67004         that we have better overflow checking.
67005         (localtime_offset): Likewise.
67006
67007         (__mktime_internal): Avoid harmful overflow on hosts where time_t
67008         and long are 64-bit but int is only 32-bit.
67009         (ydhms_diff): Use long int to store year1 and yday1.
67010         Issue a compile-time diagnostic if long int is not wide enough.
67011
67012         (__mktime_internal): Use long int to store adjusted year and yday.
67013         Use plain C rather than preprocessor commands, if that doesn't
67014         affect efficiency.
67015         Check for overflow (and try to repair) after each probe
67016         rather than checking only at the very end.  This avoids some bugs
67017         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
67018         does not equal GMT offset at maximum time).
67019         Use integer to check for overflow rather than floating point; this
67020         is more portable to non-IEEE hosts, and is a tad faster.
67021         When we detect that we are oscillating between two values,
67022         don't check whether tm_isdst has the requested value, since
67023         we already know the answer.  When tm_isdst has the wrong value,
67024         use a different heuristic to find the right one, based on the
67025         extreme values actually observed in practice in tz2003a,
67026         rather than the (overly optimistic) "previous 3 calendar quarters".
67027
67028         (not_equal_tm, print_tm, check_result): Use "const T" rather than
67029         "T const" to accommodate glibc style.
67030         (check_result): Use less-confusing report format.  "long" -> "long int.
67031         (main): Likewise.
67032         Don't loop if the iteration overflows time_t.
67033         Allow a negative step in the iteration.
67034
67035 2003-07-06  Karl Berry  <karl@gnu.org>
67036
67037         * config/depcomp: update from automake.
67038         * config/config.sub: update from prep.
67039
67040 2003-07-03  Karl Berry  <karl@gnu.org>
67041
67042         * config/config.guess: update from prep.
67043
67044 2003-07-01  Paul Eggert  <eggert@twinsun.com>
67045
67046         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
67047         xreadlink.c now includes it unconditionally.
67048
67049 2003-07-01  Paul Eggert  <eggert@twinsun.com>
67050
67051         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
67052         having it depend on HAVE_SYS_TYPES_H.
67053
67054 2003-07-01  Bruno Haible  <bruno@clisp.org>
67055
67056         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
67057         <sys/types.h> should be sufficient.
67058         Reported by Paul Eggert.
67059
67060 2003-06-26  Karl Berry  <karl@gnu.org>
67061
67062         * config/depcomp: update from automake.
67063
67064 2003-06-26  Bruno Haible  <bruno@clisp.org>
67065
67066         * modules/human: Depend on module stdbool.
67067
67068 2003-06-25  Bruno Haible  <bruno@clisp.org>
67069
67070         * modules/readlink: New file.
67071         * modules/xreadlink: Depend on it.
67072         * MODULES.html.sh (func_all_modules): Add readlink.
67073
67074 2003-06-25  Bruno Haible  <bruno@clisp.org>
67075
67076         * m4/readlink.m4: New file.
67077
67078 2003-06-25  Bruno Haible  <bruno@clisp.org>
67079
67080         * lib/readlink.c: New file.
67081
67082 2003-06-22  Karl Berry  <karl@gnu.org>
67083
67084         * config/srclist.txt: update mkinstalldirs from automake.
67085         * config/mkinstalldirs: update.
67086
67087 2003-06-22  Bruno Haible  <bruno@clisp.org>
67088
67089         Portability to mingw32.
67090         * m4/ssize_t.m4: New file, from GNU gettext.
67091         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
67092         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
67093
67094 2003-06-22  Bruno Haible  <bruno@clisp.org>
67095
67096         * modules/safe-read: Add m4/ssize_t.m4.
67097         * modules/xreadlink: Add m4/ssize_t.m4.
67098
67099 2003-06-20  Bruno Haible  <bruno@clisp.org>
67100
67101         Assume C89, so PARAMS isn't needed.
67102         * lib/unicodeio.h (PARAMS): Remove.
67103         * lib/unicodeio.c: Don't use PARAMS.
67104
67105 2003-06-18  Karl Berry  <karl@gnu.org>
67106
67107         * config/config.{guess,sub}: update from prep.
67108
67109 2003-06-18  Jim Meyering  <jim@meyering.net>
67110
67111         Merge changes from coreutils.
67112         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
67113         Remove explicit declarations of xmalloc and realloc.
67114         Include xalloc.h.
67115         (read_utmp): Remove anachronistic cast of xmalloc.
67116
67117 2003-06-17  Paul Eggert  <eggert@twinsun.com>
67118
67119         Assume C89, so PARAMS isn't needed.
67120         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
67121         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
67122         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
67123         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
67124         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
67125         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
67126         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
67127         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
67128         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
67129         lib/xstrtod.h, lib/xstrtol.h: Likewise.
67130         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
67131         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
67132         no longer needed. Anyway, config.h should always be included before any
67133         other file.
67134
67135 2003-06-11  Simon Josefsson  <jas@extundo.com>
67136
67137         * modules/sysexits: New file.
67138         * MODULES.html.sh (func_all_modules): Add sysexits.
67139
67140 2003-06-11  Simon Josefsson  <jas@extundo.com>
67141
67142         * lib/sysexit_.h: New file.
67143
67144 2003-06-11  Derek Price  <derek@ximbiot.com>
67145
67146         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
67147         necessary.
67148
67149 2003-06-11  Bruno Haible  <bruno@clisp.org>
67150
67151         * m4/sysexits.m4: New file.
67152
67153 2003-06-10  Simon Josefsson  <jas@extundo.com>
67154
67155         * lib/argp.h: New file, from glibc.
67156         * lib/argp-ba.c: New file, from glibc.
67157         * lib/argp-eexst.c: New file, from glibc.
67158         * lib/argp-fmtstream.c: New file, from glibc.
67159         * lib/argp-fmtstream.h: New file, from glibc.
67160         * lib/argp-fs-xinl.c: New file, from glibc.
67161         * lib/argp-help.c: New file, from glibc.
67162         * lib/argp-namefrob.h: New file, from glibc.
67163         * lib/argp-parse.c: New file, from glibc.
67164         * lib/argp-pv.c: New file, from glibc.
67165         * lib/argp-pvh.c: New file, from glibc.
67166         * lib/argp-xinl.c: New file, from glibc.
67167
67168 2003-06-10  Simon Josefsson  <jas@extundo.com>
67169
67170         * modules/strchrnul: New file.
67171
67172 2003-06-10  Simon Josefsson  <jas@extundo.com>
67173
67174         * modules/argp: New file.
67175
67176 2003-06-10  Simon Josefsson  <jas@extundo.com>
67177
67178         * m4/strchrnul.m4: New file.
67179
67180 2003-06-10  Simon Josefsson  <jas@extundo.com>
67181
67182         * lib/strchrnul.h: New file.
67183         * lib/strchrnul.c: New file.
67184
67185 2003-06-10  Bruno Haible  <bruno@clisp.org>
67186
67187         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
67188
67189 2003-06-07  Karl Berry  <karl@gnu.org>
67190
67191         * config/config.{guess,sub}: update from prep.
67192
67193 2003-06-07  Jim Meyering  <jim@meyering.net>
67194
67195         * modules/strtod: Use $(...) notation, not @...@ for
67196         AC_REPLACE'd variables.
67197         * modules/localcharset: Likewise.
67198
67199 2003-06-07  Jim Meyering  <jim@meyering.net>
67200
67201         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
67202         in place of my name in the copyright comment.
67203         Remove definition and uses of __P.
67204
67205         From coreutils.
67206         * lib/stat.c: Don't declare xmalloc explicitly.
67207         Instead, include "xalloc.h".
67208         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
67209         xrealloc, and xcalloc return values.
67210         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
67211         Improve comment.
67212         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
67213
67214 2003-06-07  Bruno Haible  <bruno@clisp.org>
67215
67216         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
67217         avoid AC_CONFIG_LINKS.
67218         * modules/fnmatch (Makefile.am): Use explicit creation rule for
67219         fnmatch.h, to avoid AC_CONFIG_LINKS.
67220         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
67221
67222 2003-06-07  Bruno Haible  <bruno@clisp.org>
67223
67224         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
67225         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
67226         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
67227         directory.
67228         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
67229         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
67230         directory.
67231
67232 2003-06-06  Jim Meyering  <jim@meyering.net>
67233
67234         Merge from coreutils.
67235         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
67236         Consolidate declarations and initializations of *_base* locals.
67237
67238         Merge from coreutils.
67239         This avoids a core dump on systems without GNU putenv,
67240         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
67241         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
67242         (unsetenv): New static function, from GNU libc.
67243         (rpl_putenv): Use it.
67244
67245         * lib/modechange.c: Remove trailing blanks.
67246
67247         Merge from coreutils.
67248         * lib/fsusage.c: Remove declaration of statfs.
67249         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
67250
67251         * lib/posixtm.c: Include <stdbool.h> unconditionally.
67252
67253 2003-06-06  Jim Meyering  <jim@meyering.net>
67254
67255         * lib/stdbool_.h: Renamed from stdbool.h.in.
67256
67257 2003-06-06  Jim Meyering  <jim@meyering.net>
67258             Bruno Haible  <bruno@clisp.org>
67259
67260         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
67261         Adjust Makefile.am snippet not to redirect directly to target.
67262         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
67263
67264 2003-06-05  Paul Eggert  <eggert@twinsun.com>
67265
67266         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
67267         mismatch, look in future quarters as well as past.  This fixes a
67268         bug when processing fall-backwards gaps immediately after a long
67269         period of daylight-saving time.
67270
67271         * lib/mktime.c: Assume freestanding C89 or better.
67272         (HAVE_LIMITS_H): Remove.  Assume it's 1.
67273         (__P): Remove; not used.
67274         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
67275         (mktime, not_equal_tm, print_tm, check_result,
67276         main): Use prototypes.  Use const * where appropriate.
67277         (main): Fix typo in testing code that uncovered by above changes.
67278         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
67279
67280 2003-06-04  Paul Eggert  <eggert@twinsun.com>
67281
67282         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
67283         locale.h, localeconv.  This merges changes from coreutils.
67284
67285         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
67286         It can be removed after the next Autoconf is released.
67287         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
67288         needed.
67289
67290 2003-06-04  Paul Eggert  <eggert@twinsun.com>
67291
67292         * lib/mktime.c: Fix Debian bug 177940
67293         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
67294         (localtime_offset): Now long int, not time_t, because we want it
67295         to be guaranteed to be signed.  All uses changed.
67296         (__mktime_internal): If overflow would occur when adding offset,
67297         don't add it.
67298
67299         Merge 'human' changes from coreutils.  Rewrite to support
67300         locale-specific notations like thousands separators.
67301         * lib/human.c: Simplify authorship notice.
67302         Include human.h immediately after config.h.
67303         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
67304         <limits.h>: Do not include, since human.h does.
67305         (SIZE_MAX, UINTMAX_MAX): New macros.
67306         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
67307         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
67308         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
67309         (power_letter): Renamed from suffixes.
67310         (generate_suffix_backwards): Remove.
67311         (adjust_value): Now takes int style (because of human.h changes)
67312         and long double value (for greater precision on some platforms).
67313         (group_number): New function.
67314         (human_readable): Use it.  Use integer options, not enum.
67315         Put the options before the sizes in the arg list.
67316         Support all the new options.
67317         The old human_readable function has been removed;
67318         use inttostr.h instead.
67319         (human_readable, default_block_size, humblock):
67320         Use uintmax_t, not int, for block sizes.
67321         (human_readable_inexact, block_size_types): Remove.
67322         (block_size_opts): New constant.
67323         (human_options): Renamed from human_block_size, with new signature
67324         that allows block sizes up to UINTMAX_MAX.  All callers changed.
67325         * lib/human.h: Add copyright and authorship notice.
67326         Include <limits.h> and <stdbool.h> unconditionally.
67327         (PARAMS): Remove.  All uses removed.
67328         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
67329         (enum human_inexact_style): Remove tag; now a nameless enum.
67330         (human_floor, human_ceiling, human_round_to_even): Now have
67331         values 2, 0, 1 rather than -1, 1, 0.
67332         (human_group_digits, human_suppress_point_zero, human_autoscale,
67333         human_base_1024, human_SI, human_B): New constants.
67334         (human_readable_inexact, human_block_size): Remove.
67335         (human_readable): Size args are now uintmax_t, not int.
67336         (human_options): New decl.
67337
67338         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
67339         unnecessary now that we assume C89 or better.  This change
67340         imported from coreutils.
67341
67342         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
67343         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
67344         in the 2003-05-30 sync from glibc.
67345
67346         .h files should stand alone, but we shouldn't include <sys/types.h>
67347         if we can get away with just <stddef.h>.
67348
67349         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
67350         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
67351         rather than <sys/types.h>, as we merely need size_t.
67352         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
67353         to get size_t.
67354         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
67355         Include <stdio.h>, to get FILE.
67356         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
67357         memcasecmp.h has included <stddef.h> and all we need is size_t.
67358         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
67359         our interface, instead of including <sys/types.h>
67360
67361 2003-06-04  Paul Eggert  <eggert@twinsun.com>
67362
67363         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
67364         now, as glibc mktime is buggy on non-glibc systems.
67365
67366 2003-06-03  Karl Berry  <karl@gnu.org>
67367
67368         * config/config.sub: update from prep.
67369
67370 2003-06-02  Paul Eggert  <eggert@twinsun.com>
67371
67372         [from coreutils]
67373         Fix some minor time-related bugs with POSIX time arguments.
67374         Some valid time stamps were being rejected (notably -1, and
67375         time stamps before 1900 on 64-bit hosts).  And some invalid
67376         time stamps were being accepted, e.g. September 31.
67377
67378         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
67379         that we can return (time_t) -1 successfully.
67380         * lib/posixtm.c: Likewise.
67381         [HAVE_STDBOOL_H]: Include <stdbool.h>.
67382         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
67383         (t): Remove static var.
67384         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
67385         of static var.  All uses changed.
67386         (year): Do not reject years before 1900; they can occur with
67387         64-bit time_t.
67388         (posix_time_parse): Do not check for out-of-range components;
67389         that is now the caller's responsibility, since our checks were
67390         only approximations.
67391         (posixtime): Use mktime to check for out-of-range components,
67392         since it knows them exactly.
67393         If mktime returns (time_t) -1, check whether an error actually occurred
67394         by invoking localtime on -1.
67395         (main) [TEST_POSIXTIME]: Check for input data errors, and report
67396         posixtime failures better.
67397         Improve the test data (in comments only).
67398
67399 2003-06-02  Karl Berry  <karl@gnu.org>
67400
67401         * config/mkinstalldirs (version): new variable.
67402         (--version): new option.
67403         (usage): improve message.
67404
67405 2003-05-30  Karl Berry  <karl@gnu.org>
67406
67407         * lib/mktime.c: update from libc.
67408
67409 2003-05-30  Bruno Haible  <bruno@clisp.org>
67410
67411         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
67412         * config/config.rpath: Upgrade to gettext-0.12.1.
67413
67414 2003-05-30  Bruno Haible  <bruno@clisp.org>
67415
67416         * m4/gettext.m4: Upgrade to gettext-0.12.1.
67417         * m4/nls.m4: New file, from gettext-0.12.1.
67418         * m4/po.m4: New file, from gettext-0.12.1.
67419         * m4/progtest.m4: Upgrade to gettext-0.12.1.
67420
67421 2003-05-30  Bruno Haible  <bruno@clisp.org>
67422
67423         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
67424         * lib/localcharset.h: Likewise.
67425         * lib/localcharset.c: Likewise.
67426
67427 2003-05-29  Karl Berry  <karl@gnu.org>
67428
67429         * config/config.rpath: update from gettext.
67430
67431 2003-05-28  Paul Eggert  <eggert@twinsun.com>
67432
67433         Assume the headers required for C89 freestanding compilers.
67434         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
67435         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
67436         * m4/human.m4 (gl_HUMAN): Likewise.
67437         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
67438         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
67439         * m4/userspec.m4 (gl_USERSPEC): Likewise.
67440         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
67441         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
67442         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
67443
67444 2003-05-28  Paul Eggert  <eggert@twinsun.com>
67445
67446         Assume the headers required for C89 freestanding compilers.
67447         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
67448         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
67449         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
67450         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
67451         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
67452         define, since <limits.h> is guaranteed to do that.
67453         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
67454         * lib/exclude.c: Include <stdbool.h> unconditionally.
67455         * lib/tempname.c: Include <stddef.h> unconditionally.
67456         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
67457         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
67458         <stddef.h> does that.
67459         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
67460         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
67461         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
67462         needed.
67463         * lib/xstrtol.c: Likewise.
67464         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
67465         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
67466
67467         * lib/addext.c (addext): Use assignment rather than cast, to avoid
67468         warnings on some platforms.
67469
67470         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
67471         arbitrarily.
67472
67473 2003-05-26  Jim Meyering  <jim@meyering.net>
67474
67475         Merge in a change from coreutils:
67476         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
67477         that is guaranteed to be `no'.  Use `no_such_member' to indicate
67478         that condition, rather than `-1' which is slightly misleading.
67479         Change the name of the cache variable to have the gl_ prefix.
67480         Prompted by a patch from Richard Dawe for DJGPP.
67481
67482 2003-05-24  Karl Berry  <karl@gnu.org>
67483
67484         * config/config.guess: update from prep.
67485
67486 2003-05-22  Karl Berry  <karl@gnu.org>
67487
67488         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
67489
67490 2003-05-20  Karl Berry  <karl@gnu.org>
67491
67492         * config/config.guess: update from prep.
67493
67494 2003-05-18  Karl Berry  <karl@gnu.org>
67495
67496         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
67497         might actually be set by the user.
67498
67499         * config/depcomp, install-sh, mdate-sh: update from automake.
67500
67501 2003-05-17  Bruno Haible  <bruno@clisp.org>
67502
67503         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
67504         invalid expansion for AC_EGREP_CPP.
67505         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
67506         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
67507         Suggested by Akim Demaille <akim@epita.fr> in
67508         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
67509
67510 2003-05-12  Jim Meyering  <jim@meyering.net>
67511
67512         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
67513         the space-padded-by-default conversion specifiers, %e, %k, %l.
67514
67515 2003-05-12  Bruno Haible  <bruno@clisp.org>
67516
67517         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
67518         the string is longer than 4 KB.
67519
67520 2003-05-11  Karl Berry  <karl@gnu.org>
67521
67522         * config/config.{guess,sub}: update from prep.
67523
67524 2003-05-09  Bruno Haible  <bruno@clisp.org>
67525
67526         * modules/error: Add m4/strerror_r.m4 to file list.
67527
67528 2003-05-03  Bruno Haible  <bruno@clisp.org>
67529
67530         Upgrade to Unicode-4.0.
67531         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
67532         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
67533         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
67534         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
67535         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
67536         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
67537         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
67538         Change width of U+E0100..U+E01EF from 1 to 0.
67539
67540 2003-04-25  Jim Meyering  <jim@meyering.net>
67541
67542         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
67543         of type size_t, not int.
67544
67545 2003-04-25  Bruno Haible  <bruno@clisp.org>
67546
67547         * lib/copy-file.c: Include <stddef.h>, for size_t.
67548
67549 2003-04-21  Paul Eggert  <eggert@twinsun.com>
67550
67551         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
67552         code which expansion is under static control.  Patch imported from
67553         Akim Demaille's patch to Bison; see
67554         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
67555
67556 2003-04-14  Bruno Haible  <bruno@clisp.org>
67557
67558         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
67559
67560 2003-04-11  Jim Meyering  <jim@meyering.net>
67561
67562         Merge changes from Coreutils.
67563
67564         2003-03-22  Jim Meyering  <jim@meyering.net>
67565
67566         * lib/strftime.c (widen): Cast alloca return value to proper type.
67567
67568         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
67569
67570         From GNU libc.
67571         * lib/strftime.c (my_strftime): Handle very large width
67572         specifications for numeric values correctly.  Improve checks for
67573         overflow.
67574
67575         2003-01-19  Jim Meyering  <jim@meyering.net>
67576
67577         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
67578         definitions.
67579         (nl_get_alt_digit) [! defined my_strftime]: Define.
67580         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
67581         _nl_get_alt_digit and _nl_get_walt_digit.
67582
67583         * lib/strftime.c (my_strftime): Merge in locale-related changes from
67584         libc. These changes have no effect outside of _LIBC.
67585
67586 2003-04-10  Bruno Haible  <bruno@clisp.org>
67587
67588         * modules/findprog: New file.
67589         * MODULES.html.sh (func_all_modules): Add it.
67590
67591 2003-04-10  Bruno Haible  <bruno@clisp.org>
67592
67593         * m4/findprog.m4: New file.
67594         * m4/eaccess.m4: New file.
67595
67596 2003-04-10  Bruno Haible  <bruno@clisp.org>
67597
67598         * lib/findprog.h: New file, from GNU gettext.
67599         * lib/findprog.c: New file, from GNU gettext.
67600
67601 2003-04-05  Jim Meyering  <jim@meyering.net>
67602
67603         Merge changes from Coreutils.
67604
67605         * lib/exclude.h (PARAMS): Remove definition and uses.
67606         * lib/exclude.c: Remove uses of `PARAMS'.
67607
67608         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
67609         Add test-cases for DOS filenames. Declare program_name.
67610         (main): Set up program_name.  Patch by Rich Dawe.
67611
67612         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
67613         error from mntctl.
67614         Use mntctl's return value to drive the entry-processing loop, since
67615         we can't rely on the value of the vmt_length member in the last
67616         entry.  On some systems doing so could result in exhausting
67617         virtual memory.  Based in part on a patch from Mike Jetzer.
67618
67619 2003-04-04  Bruno Haible  <bruno@clisp.org>
67620
67621         * modules/linebreak: New file.
67622         * MODULES.html.sh (func_all_modules): Add it.
67623
67624 2003-04-04  Bruno Haible  <bruno@clisp.org>
67625
67626         * m4/linebreak.m4: New file.
67627
67628 2003-04-04  Bruno Haible  <bruno@clisp.org>
67629
67630         * lib/linebreak.h: New file, from GNU gettext.
67631         * lib/linebreak.c: New file, from GNU gettext with slight
67632         modifications.
67633         * lib/lbrkprop.h: New file, from GNU gettext.
67634
67635 2003-04-03  Bruno Haible  <bruno@clisp.org>
67636
67637         * modules/utf8-ucs4: New file.
67638         * modules/utf16-ucs4: New file.
67639         * modules/ucs4-utf8: New file.
67640         * modules/ucs4-utf16: New file.
67641         * MODULES.html.sh (func_all_modules): Add them.
67642
67643 2003-04-03  Bruno Haible  <bruno@clisp.org>
67644
67645         * m4/utf-ucs4.m4: New file.
67646         * m4/ucs4-utf.m4: New file.
67647
67648 2003-04-03  Bruno Haible  <bruno@clisp.org>
67649
67650         * lib/utf8-ucs4.h: New file, from GNU gettext.
67651         * lib/utf16-ucs4.h: New file, from GNU gettext.
67652         * lib/ucs4-utf8.h: New file, from GNU gettext.
67653         * lib/ucs4-utf16.h: New file, from GNU gettext.
67654
67655 2003-04-02  Bruno Haible  <bruno@clisp.org>
67656
67657         * modules/binary-io: New file.
67658         * MODULES.html.sh (func_all_modules): Add it.
67659
67660 2003-04-02  Bruno Haible  <bruno@clisp.org>
67661
67662         * lib/binary-io.h: New file, from GNU gettext.
67663
67664 2003-04-01  Bruno Haible  <bruno@clisp.org>
67665
67666         * modules/pathname: New file.
67667         * MODULES.html.sh (func_all_modules): Add it.
67668
67669 2003-04-01  Bruno Haible  <bruno@clisp.org>
67670
67671         * lib/pathname.h: New file, from GNU gettext.
67672         * lib/concatpath.c: New file, from GNU gettext.
67673
67674 2003-03-30  Bruno Haible  <bruno@clisp.org>
67675
67676         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
67677
67678 2003-03-30  Bruno Haible  <bruno@clisp.org>
67679
67680         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
67681         function chown() doesn't exist.
67682
67683 2003-03-28  Bruno Haible  <bruno@clisp.org>
67684
67685         * modules/copy-file: New file.
67686         * MODULES.html.sh (func_all_modules): Add it.
67687
67688 2003-03-28  Bruno Haible  <bruno@clisp.org>
67689
67690         * m4/copy-file.m4: New file.
67691
67692 2003-03-28  Bruno Haible  <bruno@clisp.org>
67693
67694         * lib/copy-file.h: New file, from GNU gettext.
67695         * lib/copy-file.c: New file, from GNU gettext.
67696
67697 2003-03-18  Jim Meyering  <jim@meyering.net>
67698
67699         * lib/quote.c (quote_n): Fix typo in comment.
67700
67701 2003-03-18  Bruno Haible  <bruno@clisp.org>
67702
67703         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
67704         checking.
67705         * m4/onceonly_2_57.m4: Likewise.
67706
67707 2003-03-17  Bruno Haible  <bruno@clisp.org>
67708
67709         * m4/onceonly.m4: Require autoconf 2.54 or newer.
67710         (m4_quote): Remove macro.
67711         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
67712
67713 2003-03-14  Jim Meyering  <jim@meyering.net>
67714
67715         Merge changes from Coreutils.
67716         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
67717         to be const, in order to avoid warnings.
67718         (obstack_room): Likewise.
67719         (obstack_empty_p): Likewise.
67720
67721 2003-03-14  Bruno Haible  <bruno@clisp.org>
67722
67723         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
67724         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
67725
67726 2003-03-13  Paul Eggert  <eggert@twinsun.com>
67727
67728         Merge changes from Bison.
67729         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
67730         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
67731         when compiling Bison 1.875's `bitset bset = obstack_alloc
67732         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
67733         * lib/hash.c: Include <stdbool.h> unconditionally.
67734
67735 2003-03-13  Paul Eggert  <eggert@twinsun.com>
67736
67737         * m4/onceonly.m4 (m4_quote): New macro.
67738         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
67739         Quote AC_FOREACH variable-expansions properly.
67740
67741 2003-03-13  Paul Eggert  <eggert@twinsun.com>
67742
67743         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
67744
67745 2003-03-09  Paul Eggert  <eggert@twinsun.com>
67746
67747         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
67748         Reported by Bruce Becker; see:
67749         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
67750
67751 2003-03-03  Paul Eggert  <eggert@twinsun.com>
67752             Bruno Haible  <bruno@clisp.org>
67753
67754         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
67755         Reported by John Hughes, see
67756         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
67757
67758 2003-02-20  Bruno Haible  <bruno@clisp.org>
67759
67760         * MODULES.html.sh (func_all_modules): Add poll.
67761
67762 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
67763
67764         * modules/poll: New file.
67765
67766 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
67767
67768         * lib/poll_.h: New file.
67769         * lib/poll.c: New file.
67770
67771 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
67772
67773         * m4/poll.m4: New file.
67774
67775 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
67776
67777         * modules/mathl: New file.
67778
67779 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
67780
67781         * lib/mathl.h: New file.
67782         * lib/acosl.c: New file.
67783         * lib/asinl.c: New file.
67784         * lib/atanl.c: New file.
67785         * lib/ceill.c: New file.
67786         * lib/cosl.c: New file.
67787         * lib/expl.c: New file.
67788         * lib/floorl.c: New file.
67789         * lib/frexpl.c: New file.
67790         * lib/ldexpl.c: New file.
67791         * lib/logl.c: New file.
67792         * lib/sincosl.c: New file.
67793         * lib/sinl.c: New file.
67794         * lib/sqrtl.c: New file.
67795         * lib/tanl.c: New file.
67796         * lib/trigl.c: New file.
67797         * lib/trigl.h: New file.
67798
67799 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
67800
67801         * m4/mathl.m4: New file.
67802
67803 2003-02-18  Bruno Haible  <bruno@clisp.org>
67804
67805         * MODULES.html.sh (func_all_modules): Add mathl.
67806
67807 2003-02-17  Bruno Haible  <bruno@clisp.org>
67808
67809         * modules/mkdtemp: New module.
67810         * MODULES.html.sh (func_all_modules): Add it.
67811
67812 2003-02-17  Bruno Haible  <bruno@clisp.org>
67813
67814         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
67815
67816 2003-02-17  Bruno Haible  <bruno@clisp.org>
67817
67818         * lib/mkdtemp.h: New file, from GNU gettext.
67819         * lib/mkdtemp.c: New file, from GNU gettext.
67820
67821 2003-02-02  Jim Meyering  <jim@meyering.net>
67822
67823         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
67824         e.g. glibc-2.2.93.
67825
67826 2003-01-31  Bruno Haible  <bruno@clisp.org>
67827
67828         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
67829         'rpl_rename'.
67830         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
67831         'rpl_strnlen'.
67832         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
67833         'rpl_strtod'.
67834         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
67835         'rpl_utime'.
67836
67837 2003-01-31  Bruno Haible  <bruno@clisp.org>
67838
67839         * lib/rename.c: #undef rename before defining rpl_rename.
67840         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
67841
67842 2003-01-30  Bruno Haible  <bruno@clisp.org>
67843
67844         * modules/vasnprintf, modules/vasprintf: New modules.
67845         * MODULES.html.sh (func_all_modules): Add them.
67846
67847 2003-01-30  Bruno Haible  <bruno@clisp.org>
67848
67849         * m4/signed.m4: New file, from GNU gettext.
67850         * m4/longdouble.m4: New file, from GNU gettext.
67851         * m4/wchar_t.m4: New file, from GNU gettext.
67852         * m4/wint_t.m4: New file, from GNU gettext.
67853         * m4/vasnprintf.m4: New file.
67854         * m4/vasprintf.m4: New file.
67855
67856 2003-01-30  Bruno Haible  <bruno@clisp.org>
67857
67858         * lib/printf-args.h: New file, from GNU gettext.
67859         * lib/printf-args.c: New file, from GNU gettext.
67860         * lib/printf-parse.h: New file, from GNU gettext.
67861         * lib/printf-parse.c: New file, from GNU gettext.
67862         * lib/vasnprintf.h: New file, from GNU gettext.
67863         * lib/vasnprintf.c: New file, from GNU gettext.
67864         * lib/asnprintf.c: New file, from GNU gettext.
67865         * lib/vasprintf.h: New file, from GNU gettext with modifications.
67866         * lib/vasprintf.c: New file, from GNU gettext.
67867         * lib/asprintf.c: New file, from GNU gettext.
67868
67869 2003-01-29  Bruno Haible  <bruno@clisp.org>
67870
67871         * modules/stpncpy: New module.
67872         * MODULES.html.sh (func_all_modules): Add it.
67873
67874 2003-01-29  Bruno Haible  <bruno@clisp.org>
67875
67876         * m4/stpncpy.m4: New file.
67877
67878 2003-01-29  Bruno Haible  <bruno@clisp.org>
67879
67880         * lib/stpncpy.h: New file, from GNU gettext with modifications.
67881         * lib/stpncpy.c: New file, from GNU gettext with modifications.
67882
67883 2003-01-28  Bruno Haible  <bruno@clisp.org>
67884
67885         * modules/c-ctype: New module.
67886         * MODULES.html.sh (func_all_modules): Add it.
67887
67888 2003-01-28  Bruno Haible  <bruno@clisp.org>
67889
67890         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
67891         Paul Eggert.
67892         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
67893         Paul Eggert.
67894
67895 2003-01-27  Bruno Haible  <bruno@clisp.org>
67896
67897         * modules/xsetenv: New module.
67898         * MODULES.html.sh (func_all_modules): Add it.
67899
67900 2003-01-27  Bruno Haible  <bruno@clisp.org>
67901
67902         * lib/xsetenv.h: New file, from GNU gettext.
67903         * lib/xsetenv.c: New file, from GNU gettext.
67904
67905 2003-01-23  Jim Meyering  <jim@meyering.net>
67906
67907         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
67908         from working on systems without dirfd (at least Irix and OSF1/Tru64).
67909
67910 2003-01-23  Bruno Haible  <bruno@clisp.org>
67911
67912         * modules/minmax: New module.
67913         * MODULES.html.sh (func_all_modules): Add it.
67914
67915 2003-01-23  Bruno Haible  <bruno@clisp.org>
67916
67917         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
67918         Eggert.
67919
67920 2003-01-22  Bruno Haible  <bruno@clisp.org>
67921
67922         * modules/exit: New module.
67923         * MODULES.html.sh (func_all_modules): Add it.
67924
67925 2003-01-22  Bruno Haible  <bruno@clisp.org>
67926
67927         * lib/exit.h: New file, from GNU gettext.
67928
67929 2003-01-19  Bruno Haible  <bruno@clisp.org>
67930
67931         * gnulib-tool: Recognize option --extract-maintainer.
67932         (func_get_maintainer): New function.
67933         * modules/*: Add Maintainer entry.
67934
67935 2003-01-16  Jim Meyering  <jim@meyering.net>
67936
67937         * m4/regex.m4: The `regex' struct is both input and output.
67938         Initialize it before each use.  Patch by Tim Waugh.
67939
67940 2003-01-16  Bruno Haible  <bruno@clisp.org>
67941
67942         * MODULES.html.sh: Add a table of contents. Add the module name as
67943         leftmost column. Add hyperlinks.
67944
67945 2003-01-15  Bruno Haible  <bruno@clisp.org>
67946
67947         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
67948
67949 2003-01-15  Bruno Haible  <bruno@clisp.org>
67950
67951         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
67952         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
67953         suffix.
67954
67955 2003-01-15  Bruno Haible  <bruno@clisp.org>
67956
67957         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
67958
67959 2003-01-15  Bruno Haible  <bruno@clisp.org>
67960
67961         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
67962         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
67963
67964 2003-01-14  Jim Meyering  <jim@meyering.net>
67965
67966         * lib/same.c (same_name): Tweak a comment.
67967
67968 2003-01-14  Bruno Haible  <bruno@clisp.org>
67969
67970         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
67971         when a string comparison is sufficient.
67972
67973 2003-01-14  Bruno Haible  <bruno@clisp.org>
67974
67975         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
67976         'unsigned int'.
67977
67978 2003-01-14  Bruno Haible  <bruno@clisp.org>
67979
67980         * lib/hash-pjw.c: Add comment about low quality of this function.
67981
67982 2003-01-13  Bruno Haible  <bruno@clisp.org>
67983
67984         * modules/stpcpy: Distribute lib/stpcpy.h.
67985         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
67986
67987 2003-01-13  Bruno Haible  <bruno@clisp.org>
67988
67989         * modules/*: Add a description.
67990         * modules/strpbrk: Fix Makefile.am snippet.
67991         * modules/strtoimax: Fix dependencies.
67992         * modules/strtoumax: Likewise.
67993
67994 2003-01-13  Bruno Haible  <bruno@clisp.org>
67995
67996         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
67997         * modules/alloca (Makefile.am): All object files depend on alloca.h.
67998         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
67999
68000 2003-01-13  Bruno Haible  <bruno@clisp.org>
68001
68002         * gnulib-tool (func_create_testdir): Store config/* files in the main
68003         directory.
68004         * config.rpath: Move to ...
68005         * config/config.rpath: ... here.
68006         * modules/gettext: Contains config/config.rpath, not config.rpath.
68007         * modules/iconv: Likewise.
68008
68009 2003-01-12  Paul Eggert  <eggert@twinsun.com>
68010
68011         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
68012         to avoid collisions with libcurses and libreadline.
68013
68014         * m4/getstr.m4: Remove.
68015         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
68016
68017 2003-01-12  Paul Eggert  <eggert@twinsun.com>
68018
68019         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
68020         to avoid collisions with libcurses and libreadline.
68021
68022         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
68023         * lib/getstr.h, getstr.c: Remove.
68024         * lib/getline.c: Include "getline.h", to check interface.
68025         Move body of old getstr.c here: this defines MIN_CHUNK and
68026         declares getdelim2, which is renamed from getstr.
68027         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
68028
68029         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
68030         All uses changed.
68031         * lib/linebuffer.h: Likewise.
68032         (readline): Remove backward-compatibility macro.
68033
68034 2003-01-12  Paul Eggert  <eggert@twinsun.com>
68035
68036         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
68037         to avoid collisions with libcurses and libreadline.
68038         * getstr: Remove.
68039         * MODULES.html.sh: Remove getstr.
68040         * modules/getline: Depend on unlocked-io, not getstr.
68041
68042 2003-01-12  Jim Meyering  <jim@meyering.net>
68043
68044         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
68045
68046 2003-01-10  Bruno Haible  <bruno@clisp.org>
68047
68048         * modules/alloca: Change Makefile.am requirements. Simplify Include
68049         requirements. Add lib/alloca_.h to file list.
68050
68051 2003-01-10  Bruno Haible  <bruno@clisp.org>
68052
68053         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
68054
68055 2003-01-10  Bruno Haible  <bruno@clisp.org>
68056
68057         * lib/alloca_.h: New file.
68058         * lib/getdate.y: Unconditionally include alloca.h.
68059         * lib/makepath.c: Likewise.
68060         * lib/setenv.c: Likewise.
68061         * lib/userspec.c: Likewise.
68062
68063 2003-01-09  Karl Berry  <karl@gnu.org>
68064
68065         * MODULES.html.sh: include `dirname $0` in PATH, to find
68066         gnulib-tool.
68067
68068 2003-01-09  Bruno Haible  <bruno@clisp.org>
68069
68070         * modules/stdbool: Change configure.ac, Makefile.am requirements.
68071         Simplify Include requirements. Add lib/stdbool.h.in to file list.
68072
68073 2003-01-09  Bruno Haible  <bruno@clisp.org>
68074
68075         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
68076
68077 2003-01-09  Bruno Haible  <bruno@clisp.org>
68078
68079         * lib/stdbool.h.in: New file.
68080
68081 2003-01-09  Bruno Haible  <bruno@clisp.org>
68082
68083         * gnulib-tool (func_all_modules): Ignore files ending in ~.
68084         * MODULES.html.sh: Likewise.
68085
68086 2003-01-08  Jim Meyering  <jim@meyering.net>
68087
68088         * lib/full-write.c: Undefine and define-away `const' after inclusion
68089         of errno.h, not before.  Suggestion from Bruno Haible.
68090
68091 2003-01-08  Bruno Haible  <bruno@clisp.org>
68092
68093         * modules/full-read: Depend on full-write.
68094
68095 2003-01-08  Bruno Haible  <bruno@clisp.org>
68096
68097         * lib/safe-read.c: Include specification header first, to ensure its
68098         selfcontainedness.
68099         * lib/full-write.c: Likewise.
68100
68101 2003-01-07  Jim Meyering  <jim@meyering.net>
68102
68103         * lib/full-write.c: Rework so that it may serve to define full_read,
68104         too.
68105         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
68106
68107 2003-01-07  Bruno Haible  <bruno@clisp.org>
68108
68109         * lib/strtoimax.c: Include <stdint.h> as an alternative to
68110         <inttypes.h>.
68111         * lib/xstrtol.h: Likewise.
68112         * lib/xstrtoimax.c: Likewise.
68113         * lib/xstrtoumax.c: Likewise.
68114         * lib/human.h: Likewise.
68115
68116         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
68117         on systems that have <inttypes.h> but not <stdint.h>.
68118
68119 2003-01-07  Bruno Haible  <bruno@clisp.org>
68120
68121         * MODULES.html.sh: Add copyright notice.
68122         (missed_files): Omit CVS directory entries.
68123         (func_module): Make it work with sed-3.02.
68124         * MODULES.txt: Remove file.
68125
68126 2003-01-06  Jim Meyering  <jim@meyering.net>
68127
68128         * lib/version-etc.c: Update year in translatable copyright string.
68129
68130 2003-01-03  Karl Berry  <karl@gnu.org>
68131
68132         * config/config.{guess,sub}: update from prep.
68133
68134 2003-01-02  Karl Berry  <karl@gnu.org>
68135
68136         * doc/COPYING.DOC: belatedly updated to 1.2.
68137
68138 2003-01-01  Karl Berry  <karl@gnu.org>
68139
68140         * gnulib-tool (func_verify_module): report module name $module in
68141         error message, not $1.
68142         * gnulib-tool (create-testdir): don't complain if destdir couldn't
68143         be created, only if it doesn't exist.
68144         * gnulib-tool (last_checkin_date): don't expand the $Date here.
68145
68146 2002-12-31  Paul Eggert  <eggert@twinsun.com>
68147
68148         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
68149
68150 2002-12-31  Paul Eggert  <eggert@twinsun.com>
68151
68152         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
68153         memcmp if strcoll doesn't work.
68154
68155 2002-12-31  Bruno Haible  <bruno@clisp.org>
68156
68157         * lib/utime.c (utime_null): No need to call ftruncate if the file was
68158         nonempty.
68159
68160 2002-12-31  Bruno Haible  <bruno@clisp.org>
68161
68162         * lib/memcoll.c (STRCOLL): New macro.
68163         (memcoll): Use it.
68164
68165 2002-12-31  Bruno Haible  <bruno@clisp.org>
68166
68167         * lib/localcharset.h: New file.
68168         * lib/localcharset.c: Include it.
68169         * lib/unicodeio.c: Likewise.
68170
68171 2002-12-31  Bruno Haible  <bruno@clisp.org>
68172
68173         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
68174         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
68175
68176 2002-12-31  Bruno Haible  <bruno@clisp.org>
68177
68178         * lib/getline.h: Include <stddef.h>, for size_t.
68179
68180         * lib/unicodeio.h: Include <stddef.h>, for size_t.
68181         * lib/unicodeio.c: Don't include <stddef.h>.
68182
68183 2002-12-31  Bruno Haible  <bruno@clisp.org>
68184
68185         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
68186         HAVE_TM_ZONE.
68187
68188 2002-12-24  Karl Berry  <karl@gnu.org>
68189
68190         * config/config.guess: update from prep.
68191
68192 2002-12-24  Bruno Haible  <bruno@clisp.org>
68193
68194         General infrasructure.
68195         * m4/README: Rewritten.
68196         * m4/onceonly.m4: New file.
68197         * m4/onceonly_2_57.m4: New file.
68198
68199         Module atexit.
68200         * m4/atexit.m4: New file.
68201
68202         Module strtod.
68203         * m4/strtod.m4: New file.
68204
68205         Module strtol.
68206         * m4/strtol.m4: New file.
68207
68208         Module strtoul.
68209         * m4/strtoul.m4: New file.
68210
68211         Module memchr.
68212         * m4/memchr.m4: New file.
68213
68214         Module memcmp.
68215         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
68216         (jm_FUNC_MEMCMP): Invoke it.
68217
68218         Module memcpy.
68219         * m4/memcpy.m4: New file.
68220
68221         Module memmove.
68222         * m4/memmove.m4: New file.
68223
68224         Module memset.
68225         * m4/memset.m4: New file.
68226
68227         Module strcspn.
68228         * m4/strcspn.m4: New file.
68229
68230         Module strpbrk.
68231         * m4/strpbrk.m4: New file.
68232
68233         Module strstr.
68234         * m4/strstr.m4: New file.
68235
68236         Module strerror.
68237         * m4/strerror.m4: New file.
68238
68239         Module mktime.
68240         * m4/mktime.m4: Renamed from jm-mktime.m4.
68241         (gl_PREREQ_MKTIME): New macro.
68242         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
68243
68244         Module malloc.
68245         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
68246         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
68247         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
68248
68249         Module realloc.
68250         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
68251         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
68252         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
68253
68254         Module strftime.
68255         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
68256         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
68257         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
68258         gl_TM_GMTOFF.
68259         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
68260
68261         Module xalloc.
68262         * m4/xalloc.m4: New file.
68263
68264         Module alloca.
68265         * m4/alloca.m4: New file.
68266
68267         Module putenv.
68268         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
68269         (jm_FUNC_PUTENV): Invoke it.
68270
68271         Module setenv.
68272         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
68273         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
68274         when invoked twice.
68275         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
68276         gt_FUNC_SETENV.
68277
68278         Module memrchr.
68279         * m4/memrchr.m4: New file.
68280
68281         Module stpcpy.
68282         * m4/stpcpy.m4: New file.
68283
68284         Module strcase.
68285         * m4/strcase.m4: New file.
68286
68287         Module strdup.
68288         * m4/strdup.m4: New file.
68289
68290         Module strnlen.
68291         * m4/strnlen.m4: New file.
68292
68293         Module strndup.
68294         * m4/strndup.m4: New file.
68295
68296         Module xstrtod.
68297         * m4/xstrtod.m4: New file.
68298
68299         Module xstrtol.
68300         * m4/xstrtol.m4: New file.
68301
68302         Module getdate.
68303         * m4/getdate.m4: New file.
68304
68305         Module unlocked-io.
68306         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
68307         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
68308         * m4/jm-glibc-io.m4n: Remove file.
68309
68310         Module long-options.
68311         * m4/long-options.m4: New file.
68312
68313         Module md5.
68314         * m4/md5.m4: New file.
68315
68316         Module sha.
68317         * m4/sha.m4: New file.
68318
68319         Module getstr.
68320         * m4/getstr.m4: New file.
68321
68322         Module getline.
68323         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
68324         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
68325         <sys/types.h>, for size_t. Use the function name gnu_getline, not
68326         simply getline. Infoke gl_PREREQ_GETLINE.
68327
68328         Module obstack.
68329         * m4/obstack.m4: New file.
68330
68331         Module hash.
68332         * m4/hash.m4: New file.
68333
68334         Module readtokens.
68335         * m4/readtokens.m4: New file.
68336
68337         Module strverscmp.
68338         * m4/strverscmp.m4: New file.
68339
68340         Module stdbool.
68341         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
68342         OSF/1.
68343
68344         Module strtoll.
68345         * m4/strtoll.m4: New file.
68346
68347         Module strtoull.
68348         * m4/strtoull.m4: New file.
68349
68350         Module strtoimax.
68351         * m4/strtoimax.m4: New file.
68352
68353         Module strtoumax.
68354         * m4/strtoumax.m4: New file.
68355
68356         Module xstrtoimax.
68357         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
68358         jm_AC_PREREQ_XSTRTOIMAX.
68359         Moved the strtol prerequisites to strtol.m4.
68360         Moved the strtoll prerequisites to strtoll.m4.
68361         Moved the strtoimax prerequisites to strtoimax.m4.
68362
68363         Module xstrtoumax.
68364         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
68365         jm_AC_PREREQ_XSTRTOUMAX.
68366         Moved the strtoul prerequisites to strtoul.m4.
68367         Moved the strtoull prerequisites to strtoull.m4.
68368         Moved the strtoumax prerequisites to strtoumax.m4.
68369
68370         Module chown.
68371         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
68372         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
68373
68374         Module dup2.
68375         * m4/dup2.m4: New file.
68376
68377         Module ftruncate.
68378         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
68379         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
68380
68381         Module getgroups.
68382         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
68383         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
68384
68385         Module gettimeofday.
68386         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
68387         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
68388         gl_PREREQ_GETTIMEOFDAY.
68389
68390         Module mkdir.
68391         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
68392         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
68393
68394         Module mkstemp.
68395         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
68396         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
68397         jm_AC_TYPE_UINTMAX_T.
68398         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
68399
68400         Module stat.
68401         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
68402         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
68403
68404         Module lstat.
68405         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
68406         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
68407
68408         Module timespec.
68409         * m4/timespec.m4 (gl_TIMESPEC): New macro.
68410         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
68411         * m4/st_mtim.m4: Indentation.
68412
68413         Module nanosleep.
68414         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
68415         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
68416         gl_PREREQ_NANOSLEEP.
68417
68418         Module regex.
68419         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
68420         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
68421         (gl_REGEX): New macro.
68422
68423         Module rename.
68424         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
68425         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
68426
68427         Module rmdir.
68428         * m4/rmdir.m4: New file.
68429
68430         Module utime.
68431         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
68432         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
68433         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
68434
68435         Module dirname.
68436         * m4/dirname.m4: New file.
68437
68438         Module getopt.
68439         * m4/getopt.m4: New file.
68440
68441         Module unistd-safer.
68442         * m4/unistd-safer.m4: New file.
68443
68444         Module fnmatch.
68445         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
68446         declaration.
68447         (gl_PREREQ_FNMATCH_EXTRA): New macro.
68448         (gl_FUNC_FNMATCH_POSIX): New macro.
68449         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
68450         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
68451         simply fnmatch.
68452
68453         Module exclude.
68454         * m4/exclude.m4: New file.
68455
68456         Module human.
68457         * m4/human.m4: New file.
68458
68459         Module acl.
68460         * m4/acl.m4: Nop.
68461
68462         Module backupfile.
68463         * m4/backupfile.m4: New file.
68464         * m4/d-ino.m4: Indentation.
68465
68466         Module fsusage.
68467         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
68468         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
68469         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
68470
68471         Module dirfd.
68472         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
68473         requirements.
68474
68475         Module euidaccess.
68476         * m4/euidaccess.m4: New file.
68477
68478         Module file-type.
68479         * m4/file-type.m4: New file.
68480
68481         Module fileblocks.
68482         * m4/fileblocks.m4: New file.
68483
68484         Module filemode.
68485         * m4/filemode.m4: New file.
68486
68487         Module isdir.
68488         * m4/isdir.m4: New file.
68489
68490         Module lchown.
68491         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
68492         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
68493
68494         Module makepath.
68495         * m4/makepath.m4: New file.
68496
68497         Module modechange.
68498         * m4/modechange.m4: New file.
68499
68500         Module mountlist.
68501         * m4/mountlist.m4: New file.
68502         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
68503         Indentation.
68504
68505         Module path-concat.
68506         * m4/path-concat.m4: New file.
68507
68508         Module pathmax.
68509         * m4/pathmax.m4: New file.
68510
68511         Module same.
68512         * m4/same.m4: New file.
68513
68514         Module save-cwd.
68515         * m4/save-cwd.m4: New file.
68516
68517         Module savedir.
68518         * m4/savedir.m4: New file.
68519
68520         Module xgetcwd.
68521         * m4/xgetcwd.m4: New file.
68522         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
68523
68524         Module xreadlink.
68525         * m4/xreadlink.m4: New file.
68526
68527         Module safe-read.
68528         * m4/safe-read.m4: New file.
68529
68530         Module safe-write.
68531         * m4/safe-write.m4: New file.
68532
68533         Module closeout.
68534         * m4/closeout.m4: New file.
68535
68536         Module stdio-safer.
68537         * m4/stdio-safer.m4: New file.
68538
68539         Module getpass.
68540         * m4/getpass.m4: New file.
68541
68542         Module getugroups.
68543         * m4/getugroups.m4: New file.
68544
68545         Module group-member.
68546         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
68547         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
68548
68549         Module idcache.
68550         * m4/idcache.m4: New file.
68551
68552         Module userspec.
68553         * m4/userspec.m4: New file.
68554
68555         Module gettime.
68556         * m4/clock_time.m4: New file.
68557         * m4/gettime.m4: New file.
68558
68559         Module settime.
68560         * m4/settime.m4: New file.
68561
68562         Module posixtm.
68563         * m4/posixtm.m4: New file.
68564
68565         Module gethostname.
68566         * m4/gethostname.m4: New file.
68567
68568         Module canon-host.
68569         * m4/canon-host.m4: New file.
68570
68571         Module gettext.
68572         * m4/codeset.m4: New file, from gettext-0.11.5.
68573         * m4/gettext.m4: New file, from gettext-0.11.5.
68574         * m4/glibc21.m4: New file, from gettext-0.11.5.
68575         * m4/iconv.m4: New file, from gettext-0.11.5.
68576         * m4/intdiv0.m4: New file, from gettext-0.11.5.
68577         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
68578         * m4/inttypes.m4: New file, from gettext-0.11.5.
68579         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
68580         * m4/isc-posix.m4: New file, from gettext-0.11.5.
68581         * m4/lcmessage.m4: New file, from gettext-0.11.5.
68582         * m4/lib-ld.m4: New file, from gettext-0.11.5.
68583         * m4/lib-link.m4: New file, from gettext-0.11.5.
68584         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
68585         * m4/progtest.m4: New file, from gettext-0.11.5.
68586         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
68587         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
68588         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
68589
68590         Module localcharset.
68591         * m4/localcharset.m4: New file.
68592
68593         Module hard-locale.
68594         * m4/hard-locale.m4: New file.
68595
68596         Module mbswidth.
68597         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
68598         onceonly macros.
68599         * m4/mbrtowc.m4: Add comment.
68600
68601         Module memcasecmp.
68602         * m4/memcasecmp.m4: New file.
68603
68604         Module memcoll.
68605         * m4/memcoll.m4: New file.
68606
68607         Module unicodeio.
68608         * m4/unicodeio.m4: New file.
68609
68610         Module rpmatch.
68611         * m4/rpmatch.m4: New file.
68612
68613         Module yesno.
68614         * m4/yesno.m4: New file.
68615
68616         Module exitfail.
68617         * m4/exitfail.m4: New file.
68618
68619         Module c-stack.
68620         * m4/c-stack.m4 (gl_C_STACK): New macro.
68621         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
68622
68623         Module error.
68624         * m4/error.m4 (gl_ERROR): New macro.
68625         (jm_PREREQ_ERROR): Use onceonly macros.
68626
68627         Module fatal.
68628         * m4/fatal.m4: New file.
68629
68630         Module getloadavg.
68631         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
68632         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
68633
68634         Module getpagesize.
68635         * m4/getpagesize.m4: New file.
68636
68637         Module getusershell.
68638         * m4/getusershell.m4: New file.
68639
68640         Module physmem.
68641         * m4/physmem.m4: New file.
68642
68643         Module posixver.
68644         * m4/posixver.m4: New file.
68645
68646         Module quotearg.
68647         * m4/quotearg.m4: New file.
68648
68649         Module quote.
68650         * m4/quote.m4: New file.
68651
68652         Module readutmp.
68653         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
68654
68655         Module sig2str.
68656         * m4/sig2str.m4: New file.
68657
68658         Other.
68659         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
68660         ulonglong.m4.
68661         * m4/intmax_t.m4: New file.
68662         * m4/d-type.m4: Indentation.
68663         * m4/jm-macros.m4: Update.
68664         * m4/prereq.m4 (jm_PREREQ): Update.
68665         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
68666         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
68667         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
68668         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
68669         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
68670         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
68671         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
68672         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
68673         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
68674         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
68675         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
68676         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
68677         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
68678         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
68679         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
68680         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
68681         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
68682         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
68683         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
68684
68685 2002-12-24  Bruno Haible  <bruno@clisp.org>
68686
68687         * MODULES.txt: Update according to m4/ changes.
68688
68689         Module gettext.
68690         * config.rpath: New file, from gettext-0.11.5.
68691
68692         * modules/*: New module descriptions.
68693         * gnulib-tool: New file.
68694         * MODULES.html.sh: New file.
68695
68696 2002-12-21  Karl Berry  <karl@gnu.org>
68697
68698         * doc/fdl.texi: update to version 1.2.
68699
68700 2002-12-19  Karl Berry  <karl@gnu.org>
68701
68702         * config/config.guess: update from prep.
68703
68704 2002-12-18  Bruno Haible  <bruno@clisp.org>
68705
68706         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
68707         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
68708
68709 2002-12-17  Bruno Haible  <bruno@clisp.org>
68710
68711         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
68712         stdlib.h, string.h.
68713
68714 2002-12-17  Bruno Haible  <bruno@clisp.org>
68715
68716         * lib/canon-host.c (strdup): Remove unused declaration.
68717
68718         * lib/fsusage.c: Include full_read.h.
68719         (get_fs_usage): Use full_read instead of safe_read.
68720
68721         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
68722
68723 2002-12-12  Karl Berry  <karl@gnu.org>
68724
68725         * config/config.guess: update from prep.
68726
68727 2002-12-11  Bruno Haible  <bruno@clisp.org>
68728
68729         * m4/setenv.m4: New file, from gettext-0.11.5.
68730
68731 2002-12-11  Bruno Haible  <bruno@clisp.org>
68732
68733         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
68734         not unsetenv().
68735         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
68736         modifications:
68737
68738         2002-12-11  Bruno Haible  <bruno@clisp.org>
68739
68740                 * setenv.c (alloca): Fall back to malloc.
68741                 (freea): New macro.
68742                 (setenv): Use freea() to free memory allocated with alloca().
68743
68744         2002-11-13  Bruno Haible  <bruno@clisp.org>
68745
68746                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
68747                 function declarations.
68748                 * unsetenv.c (unsetenv): Likewise.
68749
68750         2002-03-04  Bruno Haible  <bruno@clisp.org>
68751
68752                 Portability to AIX 4.3.3.
68753                 * unsetenv.c: New file, extracted from setenv.c.
68754                 * setenv.c: Move the unsetenv() function to unsetenv.c.
68755
68756         2001-12-20  Bruno Haible  <bruno@clisp.org>
68757
68758                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
68759                 use malloc instead. For SunOS 4.
68760
68761         2001-12-11  Bruno Haible  <bruno@clisp.org>
68762
68763                 * setenv.c: Declare alloca.
68764                 (compar_fn_t): New typedef.
68765                 (KNOWN_VALUE, STORE_VALUE): Use it.
68766
68767         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
68768         setenv.h.
68769
68770 2002-12-10  Paul Eggert  <eggert@twinsun.com>
68771
68772         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
68773         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
68774         Choose values that are less likely to collide with system fnmatch
68775         options.
68776         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
68777         defined (e.g., a pure POSIX system).
68778         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
68779         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
68780
68781 2002-12-06  Paul Eggert  <eggert@twinsun.com>
68782
68783         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
68784         a pain in practice to deal with generated m4 files.  This change
68785         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
68786
68787         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
68788         and jm-glibc-io.m4, as they are no longer a special case.
68789         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
68790         kludge and the auto-generation stuff.  Check only whether the
68791         functions are declared, not whether they exist, since older hosts
68792         that don't declare the functions can't use the optimization anyway.
68793
68794 2002-12-06  Jim Meyering  <jim@meyering.net>
68795
68796         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
68797
68798         Merge in changes from libc's misc/error.c, in preparation
68799         for the merge of gnulib's changes back into libc.
68800
68801         * lib/error.c (_): Define only if not already defined.
68802         Move definition to follow all #include directives.
68803         Include unlocked-io.h only if !_LIBC.
68804         [_LIBC]: Include <libio/libioP.h>.
68805         [USE_IN_LIBIO]: Include <libio/iolibio.h>
68806         (fflush): Tweak definition to use INTUSE.
68807         (putc): Define.
68808
68809 2002-12-05  Paul Eggert  <eggert@twinsun.com>
68810
68811         * lib/alloca.c [defined emacs]: Include "lisp.h".
68812         (xalloc_die) [defined emacs]: New macro.
68813         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
68814         [! defined emacs]: Include <xalloc.h>.
68815         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
68816         (pointer): Typedef to POINTER_TYPE *.
68817         (malloc): Remove decl; we now always use xmalloc.
68818         (alloca): Use old-style definition, since Emacs needs this.
68819         Check for arithmetic overflow when computing combined size.
68820
68821 2002-12-04  Paul Eggert  <eggert@twinsun.com>
68822
68823         Do not generate unlocked-io.h automatically, since it's easier to
68824         maintain it by hand.
68825
68826         * lib/unlocked-io.h: New file, from GNU diffutils,
68827         but with proper copyright notice and attribution.
68828         * lib/gen-uio: Remove.
68829         * lib/Makefile.am: Add copyright notice.
68830         (libfetish_a_SOURCES): Add unlocked-io.h.
68831         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
68832         (DISTCLEANFILES, io_functions): Remove macros.
68833         (EXTRA_DIST): Remove gen_uio.
68834         (unlocked-io.h): Remove rule.
68835
68836 2002-12-04  Jim Meyering  <jim@meyering.net>
68837
68838         Reflect the fact that stat.c and lstat.c are no longer generated.
68839         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
68840         (DISTCLEANFILES): Likewise.
68841         (EXTRA_DIST): Likewise.
68842         (all_local): Don't depend on stat.c or lstat.c.
68843         (stat.c, lstat.c): Remove rules.
68844         (EXTRA_DIST): Remove xstat.in.
68845
68846         * lib/xstat.in: Remove file.  Contents moved into stat.c.
68847         * lib/stat.c: New file.  Contents mostly from xstat.in.
68848         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
68849         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
68850
68851         * lib/safe-read.c: Rework so that it may serve to define safe_write,
68852         too.
68853         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
68854
68855 2002-12-03  Jim Meyering  <jim@meyering.net>
68856
68857         * lib/safe-read.c, safe-write.c: Change variable names and comments,
68858         but not semantics, to minimize the differences between these two files.
68859         (safe_read): Change comment to mention SAFE_READ_ERROR.
68860
68861         * lib/safe-read.c (IS_EINTR): Define.
68862         (safe_read): Use IS_EINTR in place of in-function cpp directives.
68863
68864 2002-12-02  Jim Meyering  <jim@meyering.net>
68865
68866         * lib/safe-read.c (EINTR): Define.
68867         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
68868         (INT_MAX): Provide fallback.
68869         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
68870
68871         * lib/safe-read.h (SAFE_READ_ERROR): Define.
68872
68873 2002-12-02  Bruno Haible  <bruno@clisp.org>
68874
68875         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
68876         Define, taken from safe-read.c.
68877         (INT_MAX): Provide fallback.
68878         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
68879         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
68880
68881         * lib/safe-read.c (EINTR): Remove definition.
68882         (safe_read): Don't use EINTR if it is absent.
68883
68884 2002-12-01  Jim Meyering  <jim@meyering.net>
68885
68886         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
68887         zero.
68888         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
68889
68890 2002-11-27  Paul Eggert  <eggert@twinsun.com>
68891
68892         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
68893         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
68894         with `if (! (value < limit)) abort ();', for readability.
68895
68896 2002-11-26  Karl Berry  <karl@gnu.org>
68897
68898         * lib/strdup.c: copy from libc again, with jim's ok.
68899         * lib/.cppi-disable: re-add strdup.c
68900
68901 2002-11-25  Karl Berry  <karl@gnu.org>
68902
68903         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
68904         instead of "strtol.c".
68905
68906 2002-11-25  Karl Berry  <karl@gnu.org>
68907
68908         * config/install-sh: update from automake for variable quoting, $0 in
68909         error msgs, etc.
68910
68911         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
68912         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
68913         entry.
68914
68915 2002-11-25  Jim Meyering  <jim@meyering.net>
68916
68917         * lib/mktime.c: Sync from libc, now that it has the latest fix.
68918
68919 2002-11-24  Karl Berry  <karl@gnu.org>
68920
68921         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
68922         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
68923
68924 2002-11-24  Jim Meyering  <jim@meyering.net>
68925
68926         Update from coreutils:
68927
68928         * lib/mktime.c: Merge in changes from libc.
68929
68930         Avoid a link-time failure on some Linux systems.
68931         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
68932         (otherwise).
68933         (__mon_yday): Declare with the STATIC attribute.
68934         (__mktime_internal): Likewise.
68935         Based on a report from Greg Schafer.
68936
68937 2002-11-23  Jim Meyering  <jim@meyering.net>
68938
68939         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
68940         Use `unsigned', not `int', as type of index.
68941
68942         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
68943
68944         * lib/fsusage.c: Remove unneeded parentheses around operands of
68945         `defined'.
68946
68947 2002-11-22  Paul Eggert  <eggert@twinsun.com>
68948
68949         * lib/quotearg.h: Allow multiple inclusion by surrounding with
68950         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
68951         so that we can be included first.
68952         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
68953         * lib/quotearg.c: Include quotearg.h immediately after config.h.
68954         No need to include stddef.h or sys/types.h any more.
68955         Surround local include files with "", not "<>".
68956         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
68957         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
68958         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
68959         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
68960         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
68961         (ISPRINT): Remove; no longer needed now that we assume C89.
68962
68963         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
68964         Preserve errno.
68965
68966         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
68967         quotearg_char): Use SIZE_MAX rather than
68968         (size_t) -1 when we are talking about "infinity".
68969
68970         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
68971
68972 2002-11-22  Paul Eggert  <eggert@twinsun.com>
68973
68974         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
68975         hint that one should use `if (! x) abort ();' rather than `assert
68976         (x);', and anyway it's one less thing to worry about configuring.
68977         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
68978         hash_rehash, hash_insert): Use abort rather than assert.
68979
68980 2002-11-22  Bruno Haible  <bruno@clisp.org>
68981
68982         * lib/safe-read.h: Assume C89. Add comments.
68983         (safe_read): Change return type to size_t.
68984         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
68985         byte counts > SSIZE_MAX correctly.
68986         * lib/safe-write.h: New file.
68987         * lib/safe-write.c: New file.
68988         * lib/full-read.h: New file.
68989         * lib/full-read.c: New file.
68990         * lib/full-write.h: Assume C89. Add comments.
68991         * lib/full-write.c: Include safe-write.h.
68992         (full_write): Rewritten to use safe_write.
68993         Suggested by Jim Meyering and Paul Eggert.
68994
68995 2002-11-21  Jim Meyering  <jim@meyering.net>
68996
68997         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
68998
68999         Merge in changes from the coreutils.
69000
69001         2002-09-25  Paul Eggert  <eggert@twinsun.com>
69002         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
69003         <stdint.h>.
69004         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
69005         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
69006         int.  Work more efficiently if X is the same width as uintmax_t.
69007         Do not compare X to -1, to avoid bogus compiler warning.
69008         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
69009         Don't assume that f_frsize and f_bsize are the same type.
69010
69011         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
69012         warning on FreeBSD.
69013
69014         * lib/makepath.c (make_path): Restore umask *before* creating the final
69015         component.
69016         (make_path): Minor reformatting.
69017
69018         * lib/xmalloc.c: Adjust to work with new autoconf macros,
69019         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
69020         HAVE_MALLOC/HAVE_REALLOC.
69021
69022         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
69023         dummy ones.  At least on GNU/Linux systems, `auto' means something
69024         else.
69025         From Michael Stone.
69026
69027 2002-11-21  Bruno Haible  <bruno@clisp.org>
69028
69029         Remove case insensitive option matching.
69030         * lib/argmatch.h (argcasematch): Remove declaration.
69031         (ARGCASEMATCH): Remove macro.
69032         (__xargmatch_internal): Remove case_sensitive argument.
69033         (XARGMATCH): Update.
69034         (XARGCASEMATCH): Remove macro.
69035         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
69036         case_sensitive argument.
69037         (argcasematch): Remove function.
69038         (__xargmatch_internal): Remove case_sensitive argument.
69039         (main): Use XARGMATCH instead of XARGCASEMATCH.
69040
69041         * lib/xmalloc.c: Change compile-time error message. Add comment about
69042         required autoconf version.
69043
69044 2002-11-20  Paul Eggert  <eggert@twinsun.com>
69045
69046         Merge argmatch cleanups from Bison.  Assume C89.
69047
69048         * lib/argmatch.c: Include config.h here, not in argmatch.h.
69049         Include stdlib.h, for EXIT_FAILURE.
69050         Always include <string.h>, since we assume C89.
69051         (EXIT_FAILURE): Remove pre-C89 bug workaround.
69052         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
69053         Include <stddef.h> instead, since it's all we need for size_t.
69054         (PARAMS): Remove.  All uses removed.
69055         (ARRAY_CARDINALITY): Do not bother to #undef.
69056         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
69057         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
69058         Remove unnecessary parentheses.
69059         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
69060         Insert necessary parentheses.
69061         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
69062         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
69063
69064 2002-11-19  Bruno Haible  <bruno@clisp.org>
69065
69066         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
69067         * lib/mbswidth.h: Include <stddef.h>, for size_t.
69068
69069         * lib/mbswidth.h (PARAMS): Remove macro.
69070         (mbswidth, mbsnwidth): Use ANSI C function declarations.
69071         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
69072
69073         * lib/gcd.h (PARAMS): Remove macro.
69074         (gcd): Use ANSI C function declarations.
69075         * lib/gcd.c (gcd): Likewise.
69076
69077 2002-11-15  Bruno Haible  <bruno@clisp.org>
69078
69079         * lib/strcspn.c: Include <stddef.h>.
69080         (strcspn): Use ANSI C function declaration. Change return type to
69081         size_t. Use NULL.
69082         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
69083         (strpbrk): Use NULL.
69084         * lib/strpbrk.h (PARAMS): Remove macro.
69085         (strpbrk): Use ANSI C function declaration.
69086         * lib/strstr.c: Don't include <sys/types.h>.
69087         * lib/strstr.h (PARAMS): Remove macro.
69088         (strstr): Use ANSI C function declarations.
69089
69090 2002-11-14  Karl Berry  <karl@gnu.org>
69091
69092         * config/mkinstalldirs: `do' on separate line, instead of
69093         `for var; do'.
69094
69095 2002-11-06  Bruno Haible  <bruno@clisp.org>
69096
69097         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
69098         * lib/gcd.c (gcd): Likewise.
69099
69100 2002-11-05  Bruno Haible  <bruno@clisp.org>
69101
69102         * lib/gcd.h: New file, from gettext-0.11.5.
69103         * lib/gcd.c: New file, from gettext-0.11.5.
69104
69105 2002-11-05  Bruno Haible  <bruno@clisp.org>
69106
69107         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
69108         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
69109         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
69110         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
69111
69112         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
69113         <libintl.h>.
69114         * lib/makepath.c: Include gettext.h instead of <locale.h> and
69115         <libintl.h>.
69116
69117         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
69118         * lib/human.c: Include gettext.h instead of <libintl.h>.
69119         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
69120         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
69121         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
69122         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
69123         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
69124         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
69125         (textdomain): Remove definition.
69126         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
69127
69128         * lib/long-options.c: Remove include of <libintl.h> and definition of
69129         _.
69130         * lib/same.c: Remove include of <libintl.h> and definition of _.
69131
69132 2002-11-04  Owen Taylor  <otaylor@redhat.com>
69133
69134         * lib/config.charset: A few additions for Solaris.
69135
69136 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
69137
69138         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
69139         * lib/localcharset.c (locale_charset): Declare as extern "C".
69140
69141 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
69142
69143         * lib/config.charset: msdos in uk_UA uses CP1125.
69144
69145 2002-11-04  Bruno Haible  <bruno@clisp.org>
69146
69147         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
69148         * lib/strcase.h: New file, from GNU gettext-0.11.5.
69149         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
69150         * lib/strstr.h: New file, from GNU gettext-0.11.5.
69151         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
69152
69153 2002-11-04  Bruno Haible  <bruno@clisp.org>
69154
69155         * lib/localcharset.c (locale_charset): Don't return an empty string.
69156
69157 2002-11-04  Bruno Haible  <bruno@clisp.org>
69158
69159         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
69160         aliases.
69161
69162 2002-11-04  Bruno Haible  <bruno@clisp.org>
69163
69164         * lib/config.charset: Update for newest glibc. Add canonical names
69165         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
69166
69167 2002-11-04  Bruno Haible  <bruno@clisp.org>
69168
69169         * lib/config.charset: Add support for NetBSD.
69170
69171 2002-11-04  Bruno Haible  <bruno@clisp.org>
69172
69173         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
69174
69175 2002-11-01  Bruno Haible  <bruno@clisp.org>
69176
69177         * configure.in: Add AC_CONFIG_AUX_DIR call.
69178         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
69179         test/Makefile.
69180         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
69181
69182 2002-09-28  Karl Berry  <karl@gnu.org>
69183
69184         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
69185         installed automake until the next release, since changes have been
69186         made.
69187
69188 2002-09-25  Karl Berry  <karl@gnu.org>
69189
69190         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
69191         * lib/getopt*: copy from libc/posix.
69192         * lib/gettext.h: copy from gettext.
69193         * lib/.cppi-disable: add strdup.c, gettext.h.
69194
69195 2002-09-25  Karl Berry  <karl@gnu.org>
69196
69197         * config/srclist.txt: enable gettext.h check.
69198         * config/config.{guess,sub}: update from prep.
69199         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
69200                 from automake 1.6.3.
69201         See srclist*.
69202
69203 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
69204
69205         * regex.c (PATFETCH): Remove the translating fetch.
69206         (PATFETCH_RAW): Rename to PATFETCH.
69207         (set_image_of_range): New fun.
69208         (SET_RANGE_TABLE_WORK_AREA): Use it.
69209         (regex_compile): Don't translate the pattern chars so eagerly.
69210         Only do it when inserting an `exactn' bytecode or when handling
69211         a char-range.
69212         (mutually_exclusive_p): Avoid empty statement.
69213
69214 2002-07-06  Jim Meyering  <meyering@lucent.com>
69215
69216         * m4/README: Don't mention Makefile.am.in.
69217         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
69218
69219 2002-07-01  Jim Meyering  <meyering@lucent.com>
69220
69221         * lib/c-stack.c: Include sys/time.h.
69222         From Volker Borchert.
69223
69224 2002-06-26  Paul Eggert  <eggert@twinsun.com>
69225
69226         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
69227
69228 2002-06-26  Paul Eggert  <eggert@twinsun.com>
69229
69230         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
69231         New macro.  Use it uniformly instead of
69232         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
69233         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
69234         reported by Vin Shelton.
69235
69236 2002-06-22  Paul Eggert  <eggert@twinsun.com>
69237
69238         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
69239         Do not assume SA_SIGINFO behavior.
69240         Bug reported by Jim Meyering on NetBSD 1.5.2.
69241
69242 2002-06-22  Jim Meyering  <meyering@lucent.com>
69243
69244         * m4/c-stack.m4: New file, from diffutils-2.8.2.
69245         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
69246
69247         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
69248         now that configure.ac uses AC_GNU_SOURCE.
69249         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
69250         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
69251
69252         Update to latest tools.  Suggestions from Paul Eggert.
69253         * m4/stdbool.m4: New file, from diffutils-2.8.2.
69254         * m4/gnu-source.m4: Update from diffutils-2.8.2.
69255         * m4/fnmatch.m4: Likewise.
69256         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
69257         to AC_HEADER_STDBOOL
69258
69259 2002-06-22  Jim Meyering  <meyering@lucent.com>
69260
69261         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
69262         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
69263
69264 2002-06-22  Jim Meyering  <meyering@lucent.com>
69265
69266         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
69267
69268         * lib/exitfail.c, exitfail.h: Likewise.
69269         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
69270
69271         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
69272         of fnmatch.h.
69273         (EXTRA_DIST): Add fnmatch_loop.c.
69274         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
69275
69276         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
69277         * lib/fnmatch.c: Update from diffutils-2.8.2.
69278         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
69279         * lib/fnmatch.h: Remove file.
69280
69281 2002-06-21  Jim Meyering  <meyering@lucent.com>
69282
69283         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
69284         * m4/mbrtowc.m4: Likewise.
69285
69286         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
69287         * m4/mbswidth.m4: Reflect name change:
69288         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
69289         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
69290
69291         * m4/lib-link.m4: Update from gettext-0.11.2.
69292         * m4/gettext.m4: Likewise.
69293
69294         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
69295         From Alfred M. Szmidt.
69296
69297 2002-06-18  Paul Eggert  <eggert@twinsun.com>
69298
69299         * lib/file-type.h: Report an error if neither S_ISREG nor
69300         S_IFREG is defined, instead of using a test specific to glibc
69301         2.2.  This should be safe, since POSIX requires S_ISREG and
69302         Unix Version 7 had S_IFREG.  We don't need to check for
69303         <sys/types.h> since we don't use any symbols that it defines.
69304
69305 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
69306
69307         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
69308         $@-t, so that each temporary file name is unique and valid in the first
69309         8 characters, for operation under DOS.
69310
69311 2002-06-15  Paul Eggert  <eggert@twinsun.com>
69312
69313         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
69314
69315 2002-06-15  Jim Meyering  <meyering@lucent.com>
69316
69317         Work even with DJGPP 2.03, which lacks support for symlinks.
69318         From Richard Dawe.
69319         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
69320         is defined.
69321         * lib/lchown.c (S_ISLNK): Likewise.
69322
69323 2002-06-15  Jim Meyering  <meyering@lucent.com>
69324
69325         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
69326         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
69327         have been included before this file.
69328
69329 2002-06-14  Jim Meyering  <meyering@lucent.com>
69330
69331         * lib/file-type.h: Use the version from diffutils-2.8.2.
69332         * lib/file-type.c: Likewise.
69333
69334 2002-06-07  Jim Meyering  <meyering@lucent.com>
69335
69336         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
69337         They're needed at least for NetBSD 1.5.2.
69338         ($statxfs_includes): Include those same headers.
69339         ($statxfs_includes): Include sys/vfs.h if available.
69340         ($statxfs_includes): Likewise for sys/statvfs.h.
69341         Check for the following members in both structs statfs and statvfs:
69342         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
69343
69344 2002-06-01  Jim Meyering  <meyering@lucent.com>
69345
69346         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
69347         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
69348
69349 2002-05-28  Jim Meyering  <meyering@lucent.com>
69350
69351         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
69352         Reported by Volker Borchert.
69353
69354 2002-05-27  Jim Meyering  <meyering@lucent.com>
69355
69356         Fix a problem seen only on nonconforming systems whereby ls.c's
69357         use of localtime, and then of gettimeofday would cause trouble:
69358         the localtime call used to initialize rpl_gettimeofday's save
69359         mechanism would clobber ls's current local time information so
69360         that in any long listing the first file would always be listed
69361         with date 1970-01-01.  Analysis by Volker Borchert.
69362
69363         * lib/gettimeofday.c (localtime): Undefine.
69364         (rpl_localtime): New function.
69365
69366 2002-05-27  Jim Meyering  <meyering@lucent.com>
69367
69368         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
69369         localtime.
69370
69371         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
69372         use the replacement function; it wouldn't resolve at link time.
69373         Reported by Volker Borchert.
69374
69375 2002-05-22  Jim Meyering  <meyering@lucent.com>
69376
69377         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
69378         file-type.h.
69379         * lib/file-type.h: New file.
69380         * lib/file-type.c (file_type): New file/function.  Extracted from
69381         diffutils.
69382
69383 2002-04-30  Jim Meyering  <meyering@lucent.com>
69384
69385         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
69386
69387 2002-04-29  Paul Eggert  <eggert@twinsun.com>
69388
69389         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
69390
69391 2002-04-29  Paul Eggert  <eggert@twinsun.com>
69392
69393         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
69394         Do not check for alloca.h (no longer used) or stdbool.h (was never
69395         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
69396
69397 2002-04-29  Paul Eggert  <eggert@twinsun.com>
69398
69399         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
69400
69401 2002-04-29  Jim Meyering  <meyering@lucent.com>
69402
69403         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
69404         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
69405         Use AC_FUNC_STRNLEN here instead.
69406
69407         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
69408         With autoconf-2.53a, it's part of AC_PROG_CC.
69409
69410 2002-04-28  Paul Eggert  <eggert@twinsun.com>
69411
69412         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
69413         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
69414
69415 2002-04-28  Paul Eggert  <eggert@twinsun.com>
69416
69417         * lib/sig2str.h, lib/sig2str.c: New files.
69418         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
69419
69420 2002-04-28  Paul Eggert  <eggert@twinsun.com>
69421
69422         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
69423         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
69424         of 127, since 64 is the largest conceivable number for ancient
69425         nonstandard hosts.
69426         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
69427
69428 2002-04-28  Jim Meyering  <meyering@lucent.com>
69429
69430         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
69431
69432 2002-04-24  Jim Meyering  <meyering@lucent.com>
69433
69434         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
69435         (jm_PREREQ): Use it.
69436
69437         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
69438         mach/mach.h fcntl.h.
69439         Check for this function: setlocale.
69440
69441 2002-04-24  Jim Meyering  <meyering@lucent.com>
69442
69443         * lib/gettext.h: New file, from Gettext.
69444         * lib/Makefile.am (INCLUDES): Remove -I../intl.
69445         (libfetish_a_SOURCES): Add gettext.h.
69446
69447 2002-04-16  Jim Meyering  <meyering@lucent.com>
69448
69449         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
69450         ut_pid, ut_id, ut_exit.
69451
69452 2002-04-16  Jim Meyering  <meyering@lucent.com>
69453
69454         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
69455         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
69456         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
69457
69458 2002-04-12  Jim Meyering  <meyering@lucent.com>
69459
69460         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
69461         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
69462         existence of the getmntinfo function.  Needed for Darwin 5.3.
69463
69464         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
69465         This is necessary at least on Darwin 5.3.
69466
69467         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
69468         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
69469         strnlen.o in the library, and that makes some versions of ranlib
69470         object.
69471
69472 2002-04-12  Jim Meyering  <meyering@lucent.com>
69473
69474         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
69475
69476 2002-04-09  Jim Meyering  <meyering@lucent.com>
69477
69478         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
69479         to be more precise.  Rather than saying we're checking whether the
69480         function `works', say what we're testing.
69481         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
69482         Reported by Bruno Haible.
69483
69484 2002-03-10  Jim Meyering  <meyering@lucent.com>
69485
69486         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
69487         Suggestion from Santiago Vila.
69488
69489 2002-03-08  Jim Meyering  <meyering@lucent.com>
69490
69491         * lib/rename.c: Mention that this wrapper is needed also on
69492         mips-dec-ultrix4.4 systems.
69493
69494 2002-03-02  Jim Meyering  <meyering@lucent.com>
69495
69496         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
69497         not HAVE_CLOCK_SETTIME.
69498
69499 2002-02-27  Paul Eggert  <eggert@twinsun.com>
69500
69501         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
69502         Check for clock_settime.
69503
69504 2002-02-27  Paul Eggert  <eggert@twinsun.com>
69505
69506         * lib/nanosleep.h: Rename to....
69507         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
69508
69509         * lib/gettime.c: New file.
69510         * lib/settime.c: New file.
69511         * lib/stime.c: Remove.
69512
69513         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
69514         timespec.h.  Remove nanosleep.h.
69515
69516 2002-02-25  Paul Eggert  <eggert@twinsun.com>
69517
69518         * m4/acl.m4: New file.
69519         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
69520         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
69521
69522 2002-02-25  Paul Eggert  <eggert@twinsun.com>
69523
69524         * lib/acl.c, lib/acl.h: New files.
69525         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
69526
69527 2002-02-24  Jim Meyering  <meyering@lucent.com>
69528
69529         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
69530         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
69531         cause trouble.  Reported by Nelson Beebe.
69532
69533 2002-02-23  Paul Eggert  <eggert@twinsun.com>
69534
69535         * lib/path-concat.c (xpath_concat): Reorder code to pacify
69536         compilers that don't know that xalloc_die never returns.
69537
69538 2002-02-20  Jim Meyering  <meyering@lucent.com>
69539
69540         * lib/getdate.c: Regenerate using bison-1.33.
69541
69542 2002-02-17  Jim Meyering  <meyering@lucent.com>
69543
69544         * config/config.guess (main): Don't use `head -1'; it's no longer
69545         portable. Use `sed 1q' instead.
69546
69547 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
69548
69549         * m4/codeset.m4: Upgrade to gettext-0.11.
69550         * m4/gettext.m4: Upgrade to gettext-0.11.
69551         * m4/glibc21.m4: Upgrade to gettext-0.11.
69552         * m4/iconv.m4: Upgrade to gettext-0.11.
69553         * m4/isc-posix.m4: Upgrade to gettext-0.11.
69554         * m4/lcmessage.m4: Upgrade to gettext-0.11.
69555         * m4/lib-ld.m4: New file, from gettext-0.11.
69556         * m4/lib-link.m4: New file, from gettext-0.11.
69557         * m4/lib-prefix.m4: New file, from gettext-0.11.
69558         * m4/progtest.m4: Upgrade to gettext-0.11.
69559
69560 2002-02-15  Paul Eggert  <eggert@twinsun.com>
69561
69562         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
69563         (jm_PREREQ): Use it.
69564
69565 2002-02-15  Paul Eggert  <eggert@twinsun.com>
69566
69567         * lib/posixver.c, lib/posixver.h: New files.
69568         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
69569
69570 2002-02-02  Paul Eggert  <eggert@twinsun.com>
69571             Bruno Haible  <bruno@clisp.org>
69572
69573         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
69574         (fwrite_success_callback): New declaration.
69575         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
69576         print_unicode_char. Call failure callback instead of error.
69577         (fwrite_success_callback): New function.
69578         (exit_failure_callback): New function.
69579         (fallback_failure_callback): New function.
69580         (print_unicode_char): Call unicode_to_mb.
69581
69582 2002-01-26  Jim Meyering  <meyering@lucent.com>
69583
69584         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
69585         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
69586
69587 2002-01-26  Jim Meyering  <meyering@lucent.com>
69588
69589         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
69590
69591 2002-01-22  Paul Eggert  <eggert@twinsun.com>
69592
69593         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
69594
69595 2002-01-22  Jim Meyering  <meyering@lucent.com>
69596
69597         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
69598         Otherwise, some versions of automake would omit the rule that makes
69599         Makefile from Makefile.in.
69600
69601 2002-01-21  Paul Eggert  <eggert@twinsun.com>
69602
69603         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
69604         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
69605         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
69606         (memcoll): Set errno to zero if there is no error.
69607
69608         * lib/quotearg.c (quotearg_buffer_restyled):
69609         Fix bug with quoting buffers containing NUL when backslashing escapes.
69610         This bug was exposed by the other changes in this patch.
69611         (quotearg_n_options): New arg ARGSIZE.
69612         All callers changed.
69613         (quoting_options_from_style): New function.
69614         (quotearg_n_style): Use it.
69615         (quotearg_n_style_mem): New function.
69616
69617         * lib/quotearg.h (quotearg_n_style_mem): New function.
69618
69619 2002-01-19  Jim Meyering  <meyering@lucent.com>
69620
69621         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
69622         Remove useless quotes: DF_PROG="df".
69623         * m4/strnlen.m4: New file.
69624
69625 2002-01-16  Paul Eggert  <eggert@twinsun.com>
69626
69627         * lib/backupfile.c (ISDIGIT): Comment fix.
69628         * lib/getdate.y (ISDIGIT): Likewise.
69629         * lib/posixtm.c (ISDIGIT, year): Likewise.
69630         * lib/strverscmp.c (ISDIGIT): Likewise.
69631         * lib/userspec.c (ISDIGIT): Likewise.
69632
69633 2002-01-16  Jim Meyering  <meyering@lucent.com>
69634
69635         * lib/getdate.y: Add three semicolons, each just before a closing
69636         brace. Bison (as of version 1.31) no longer papers over that mistake.
69637
69638 2002-01-05  Jim Meyering  <meyering@lucent.com>
69639
69640         * lib/version-etc.c (version_etc_copyright): Update copyright year.
69641
69642 2001-12-19  Paul Eggert  <eggert@twinsun.com>
69643
69644         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
69645         not silently exit merely because the output buffer happens to
69646         have nothing pending.
69647
69648 2001-12-18  Paul Eggert  <eggert@twinsun.com>
69649
69650         See the big note in ../ChangeLog.
69651         * lib/human.c (suffixes): Prefer K to k for 1024.
69652         (generate_suffix_backwards): New function.
69653         (human_readable_inexact): Use it.
69654         * lib/xstrtol.c (__xstrtol): If there is no number but there
69655         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
69656         Accept 'K' as well as 'k'.
69657
69658 2001-12-15  Jim Meyering  <meyering@lucent.com>
69659
69660         * lib/regex.h (__restrict_arr): Update from libc.
69661
69662         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
69663         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
69664         (STREQ): Define.
69665
69666 2001-12-14  Jim Meyering  <meyering@lucent.com>
69667
69668         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
69669         Suggestion from Bruno Haible.
69670
69671 2001-12-10  Jim Meyering  <meyering@lucent.com>
69672
69673         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
69674         xrealloc, Instead, include "xalloc.h".
69675         (initbuffer): Don't cast xmalloc return value to char*.
69676         (readline): Reword comment.
69677         Don't cast xrealloc return value to char*
69678         Return NULL, not 0.
69679
69680 2001-12-09  Jim Meyering  <meyering@lucent.com>
69681
69682         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
69683         about `signed and unsigned type in conditional expression'.
69684         * lib/posixtm.c (posix_time_parse): Likewise.
69685
69686         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
69687
69688         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
69689         to avoid a pedantic warning.
69690
69691         * lib/getstr.c: Don't include assert.h.
69692         (getstr): Remove warning-evoking assertions.
69693         Return -1 if offset parameter is out of bounds.
69694         Change the type of a local from int to size_t.
69695
69696         * lib/strftime.c (my_strftime_localtime_r): Include this function
69697         definition in the `#if ! HAVE_TM_GMTOFF' block.
69698
69699         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
69700         Include xalloc.h instead.
69701
69702 2001-12-02  Jim Meyering  <meyering@lucent.com>
69703
69704         * lib/tempname.c: Don't declare getenv, thus reverting the change of
69705         2001-11-18.  It's no longer necessary, now that stdlib.h is always
69706         included.
69707
69708         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
69709         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
69710
69711 2001-11-30  Akim Demaille  <akim@epita.fr>
69712
69713         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
69714         before being defined.
69715
69716 2001-11-27  Paul Eggert  <eggert@twinsun.com>
69717
69718         * lib/quotearg.h (quotearg_n, quotearg_n_style):
69719         First arg is int, not unsigned.
69720         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
69721         (SIZE_MAX, UINT_MAX): New macros.
69722         (quotearg_n_options): Abort if N is negative.
69723         Avoid overflow check on hosts where size_t is 64 bits and int
69724         is 32 bits, as overflow is impossible there.
69725         Fix off-by-one typo that caused unnecessary reallocation.
69726
69727 2001-11-27  Jim Meyering  <meyering@lucent.com>
69728
69729         * lib/tempname.c: Merge with version from libc.
69730         * lib/regex.c: Likewise.
69731
69732         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
69733         systems for which STDC_HEADERS is 0, it was not included, resulting in
69734         a warning about an integer-to-pointer conversion problem with getenv.
69735         Reported by Volker Borchert.
69736
69737 2001-11-26  Jim Meyering  <meyering@lucent.com>
69738
69739         * lib/gtod.h: Remove file.
69740         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
69741         * lib/gettimeofday.c: Don't include gtod.h.
69742         (GTOD_init): Remove function.
69743         (rpl_gettimeofday): Do its job here instead, rather than aborting.
69744         Suggestion from Volker Borchert.
69745
69746 2001-11-23  Jim Meyering  <meyering@lucent.com>
69747
69748         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
69749         it.
69750         * lib/hash.c (struct hash_table): Define it here instead.
69751
69752 2001-11-22  Jim Meyering  <meyering@lucent.com>
69753
69754         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
69755
69756 2001-11-20  Jim Meyering  <meyering@lucent.com>
69757
69758         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
69759         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
69760
69761 2001-11-19  Jim Meyering  <meyering@lucent.com>
69762
69763         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
69764         directory.  Use "conftestXXXXXX" as the template.
69765         Suggestion from Paul Eggert.
69766
69767         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
69768         immediately, so the test doesn't mistakenly hit the max-open-files
69769         limit.
69770
69771 2001-11-18  Paul Eggert  <eggert@twinsun.com>
69772
69773         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
69774         (TEMPORARIES): New macro.
69775         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
69776         removes an artificial limitation (e.g. HP-UX 10.20, where
69777         TMP_MAX is 17576).
69778
69779 2001-11-18  Jim Meyering  <meyering@lucent.com>
69780
69781         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
69782
69783 2001-11-18  Jim Meyering  <meyering@lucent.com>
69784
69785         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
69786         on SunOS 4.
69787
69788         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
69789         files will be created before anything else.
69790
69791 2001-11-17  Paul Eggert  <eggert@twinsun.com>
69792
69793         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
69794         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
69795
69796 2001-11-17  Jim Meyering  <meyering@lucent.com>
69797
69798         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
69799         Prompted by a report from Bob Proulx.
69800
69801         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
69802         Instead, require UTILS_FUNC_MKSTEMP.
69803
69804 2001-11-17  Jim Meyering  <meyering@lucent.com>
69805
69806         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
69807         Now, that's done as part of AC_FUNC_STRTOD.
69808
69809 2001-11-17  Jim Meyering  <meyering@lucent.com>
69810
69811         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
69812         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
69813         rather than group writable.  Patch by Juan F. Codagnone.
69814
69815         * lib/readtokens.c: Remove explicit declarations of xmalloc and
69816         xrealloc, Instead, include "xalloc.h".
69817
69818         * lib/mountlist.c: Include unlocked-io.h after all system headers.
69819         Remove explicit declarations of xmalloc, xrealloc,
69820         and xstrdup.  Instead, include "xalloc.h".
69821
69822         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
69823         unlocked-io.h.
69824         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
69825         Likewise.
69826         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
69827
69828         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
69829         Reported by Padraig Brady.
69830
69831         * lib/mkstemp.c: #undef mkstemp.
69832         Include config.h.
69833         (rpl_mkstemp): Rename from mkstemp.
69834         Protoize.
69835
69836 2001-11-16  Jim Meyering  <meyering@lucent.com>
69837
69838         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
69839         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
69840         determine the amount of total physical memory, use pstat_getstatic.
69841         HPUX-11 doesn't define _SC_PHYS_PAGES.
69842         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
69843         If sysconf couldn't be used to determine the amount of available
69844         physical memory, use both pstat_getstatic and pstat_getdynamic.
69845         Based on a patch from Bob Proulx.
69846
69847 2001-11-10  Jim Meyering  <meyering@lucent.com>
69848
69849         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
69850         (jm_PREREQ): Use it.
69851
69852 2001-11-09  Jim Meyering  <meyering@lucent.com>
69853
69854         * m4/jm-macros.m4: Require autoconf-2.52f.
69855         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
69856         Use these AC_-prefixed names, not the AM_-prefixed ones.
69857
69858         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
69859
69860 2001-11-05  Jim Meyering  <meyering@lucent.com>
69861
69862         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
69863
69864 2001-11-04  Jim Meyering  <meyering@lucent.com>
69865
69866         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
69867         $DEFS.
69868
69869 2001-11-03  Jim Meyering  <meyering@lucent.com>
69870
69871         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
69872         of AC_DEFUN.
69873
69874         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
69875         know the name of the variable in the macro definition.
69876
69877 2001-11-03  Jim Meyering  <meyering@lucent.com>
69878
69879         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
69880         in argmatch_to_argument call.
69881
69882         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
69883         argument.
69884
69885         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
69886         e.g., a fault due to an attempt to free a NULL pointer.
69887
69888 2001-11-01  Jim Meyering  <meyering@lucent.com>
69889
69890         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
69891         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
69892
69893 2001-11-01  Jim Meyering  <meyering@lucent.com>
69894
69895         * lib/dirfd.c, lib/dirfd.h: New files.
69896         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
69897
69898         * lib/hash.c (hash_print) [TESTING]: Clean up.
69899
69900 2001-10-22  Paul Eggert  <eggert@twinsun.com>
69901
69902         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
69903         to avoid a warning if -Wall.
69904
69905 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
69906
69907         * README: New file
69908         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
69909         (per RMS's instructions, this is now the canonical source)
69910         * lgpl/, gpl/: New directories.
69911
69912 2001-10-21  Paul Eggert  <eggert@twinsun.com>
69913
69914         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
69915
69916 2001-10-21  Jim Meyering  <meyering@lucent.com>
69917
69918         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
69919         this code would end up calling gettext even in packages built
69920         with --disable-nls.
69921         * lib/getopt.c (_): Likewise.
69922         * lib/regex.c (_): Likewise.
69923
69924 2001-10-20  Paul Eggert  <eggert@twinsun.com>
69925
69926         * m4/error.m4 (jm_PREREQ_ERROR):
69927         Do not invoke AC_CHECK_FUNCS with strerror_r, as
69928         AC_FUNC_STRERROR_R does that.
69929         Check for strerror declaration.
69930
69931         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
69932         are supposed to have them these days.
69933         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
69934         Merge changes from latest Autoconf CVS.
69935         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
69936         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
69937         POSIX decided to standardize on the int flavor of strerror_r.
69938
69939 2001-10-20  Paul Eggert  <eggert@twinsun.com>
69940
69941         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
69942         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
69943         Use strerror_r that is only a macro, even if it is not a function.
69944         (strerror): Check for HAVE_DECL_STRERROR before declaring.
69945         (private_strerror): Use prototypes, not old-style function definition.
69946         (print_errno_message): New function.
69947         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
69948         char*-flavored one.
69949         (error_tail, error, error_at_line): Use it.
69950
69951 2001-10-11  Jim Meyering  <meyering@lucent.com>
69952
69953         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
69954         and quote_n (1, ... to avoid clobbering a buffer.
69955
69956 2001-10-05  Jim Meyering  <meyering@lucent.com>
69957
69958         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
69959         hash-pjw.h.
69960         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
69961         * lib/hash-pjw.h: New file.
69962
69963 2001-09-30  Jim Meyering  <meyering@lucent.com>
69964
69965         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
69966         `struct fsstat' has the `f_fstypename' member.
69967         Use that to define FS_TYPE, which is now used to make
69968         the getfsstat link test tighter.
69969
69970 2001-09-30  Jim Meyering  <meyering@lucent.com>
69971
69972         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
69973         Include <sys/ucred.h>, for Apple Darwin.
69974         Include sys/mount.h and sys/fs_types.h only if available.
69975         (FS_TYPE): Define.
69976         (read_filesystem_list): Use FS_TYPE.
69977
69978 2001-09-29  Paul Eggert  <eggert@twinsun.com>
69979
69980         * lib/exclude.c (excluded_filename): 0 -> false, since it's
69981         a boolean context.
69982
69983 2001-09-29  Jim Meyering  <meyering@lucent.com>
69984
69985         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
69986         [one-argument getmntent function]): Include stdio.h before mntent.h.
69987         SunOS 4.1.x needs it for the declaration of `FILE'.
69988         Patch by Volker Borchert.
69989
69990         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
69991         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
69992         sys/fs_types.h, and make the link-test for getfsstat guard #include
69993         directives with appropriate #if HAVE_*_H tests so that we can
69994         detect getfsstat on Apple Darwin1.3.7 systems.
69995         Reported by Nelson Beebe.
69996         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
69997
69998 2001-09-28  Paul Eggert  <eggert@twinsun.com>
69999
70000         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
70001         #defines strtoimax.  Also treat the other strto* functions
70002         like strtoimax.
70003
70004         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
70005         Check for strtoul and strtoumax,
70006         as those declarations are made even in the signed case.
70007         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
70008         Likewise, for strtol and strtoimax.
70009
70010 2001-09-28  Paul Eggert  <eggert@twinsun.com>
70011
70012         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
70013         #defines strtoimax.  Also treat the other strto* functions
70014         like strtoimax.
70015
70016         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
70017         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
70018         (strtoimax, strtoumax): Do not declare if already defined as a macro.
70019
70020 2001-09-26  Jim Meyering  <meyering@lucent.com>
70021
70022         Most macros in unlocked-io.h had the wrong number of arguments.
70023         * lib/gen-uio: New script.
70024         (USE_UNLOCKED_IO): Define to 1 if not already defined.
70025         * lib/unlocked-io.hin: Remove file.
70026         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
70027         rather than trying to embed it here.
70028         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
70029         Reported by Padraig Brady.
70030
70031 2001-09-25  Volker Borchert  <bt@teknon.de>
70032
70033         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
70034         `result'.
70035
70036 2001-09-24  Jim Meyering  <meyering@lucent.com>
70037
70038         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
70039
70040 2001-09-23  Jim Meyering  <meyering@lucent.com>
70041
70042         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
70043         instead of the mere test for existence of mntent.h.  The latter
70044         would get a false-positive on AIX 3.4 systems.
70045         In the outer getmntent if-block, don't die if neither of the getmntent
70046         tests succeeds.  Instead, just fall through and continue with the
70047         remaining tests.
70048
70049 2001-09-23  Jim Meyering  <meyering@lucent.com>
70050
70051         * lib/mountlist.c: Remove useless parentheses in #if directives.
70052         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
70053         the deprecated MOUNTED symbol is no longer defined in mntent.h.
70054
70055 2001-09-22  Jim Meyering  <meyering@lucent.com>
70056
70057         * m4/gettext.m4: New file.  From gettext.
70058         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
70059         * m4/progtest.m4: Likewise
70060         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
70061         * m4/glibc21.m4: Likewise.
70062
70063         * m4/libintl.m4: Remove.  No longer used.
70064
70065 2001-09-22  Jim Meyering  <meyering@lucent.com>
70066
70067         * lib/localcharset.c: Update from latest gettext.
70068         * lib/config.charset: Likewise.
70069
70070 2001-09-20  Jim Meyering  <meyering@lucent.com>
70071
70072         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
70073         strtoimax.
70074         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
70075         strtoumax.
70076
70077 2001-09-20  Jim Meyering  <meyering@lucent.com>
70078
70079         * lib/xstrtol.c (strtoimax): Guard declaration with
70080         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
70081         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
70082         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
70083         (strtoumax): Likewise, for completeness (it wasn't necessary).
70084
70085 2001-09-17  Paul Eggert  <eggert@twinsun.com>
70086
70087         * lib/strtoimax.c (HAVE_LONG_LONG):
70088         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
70089         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
70090         to work around bug in IBM C compiler.
70091
70092 2001-09-17  Jim Meyering  <meyering@lucent.com>
70093
70094         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
70095         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
70096         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
70097         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
70098         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
70099         whenever the right hand side need not be expanded by the shell.
70100
70101 2001-09-16  Paul Eggert  <eggert@twinsun.com>
70102
70103         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
70104         library.  It's not correct, as some older glibcs are buggy.
70105         fnmatch wasn't fixed until glibc 2.2.
70106
70107         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
70108         special shell magic here.
70109
70110 2001-09-16  Jim Meyering  <meyering@lucent.com>
70111
70112         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
70113         * m4/jm-macros.m4: Require it.
70114
70115 2001-09-16  Jim Meyering  <meyering@lucent.com>
70116
70117         * lib/mkdir.c: New file.
70118
70119 2001-09-15  Jim Meyering  <meyering@lucent.com>
70120
70121         * m4/jm-macros.m4: Check for help2man.
70122
70123 2001-09-11  Jim Meyering  <meyering@lucent.com>
70124
70125         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
70126         The body, by Paul Eggert, was moved here from configure.in.
70127         * m4/jm-macros.m4: Require UTILS_HOST_OS.
70128
70129 2001-09-04  Paul Eggert  <eggert@twinsun.com>
70130
70131         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
70132         (jm_PREREQ): Use it.
70133
70134 2001-09-04  Paul Eggert  <eggert@twinsun.com>
70135
70136         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
70137         Use ssize_t, not int, to store result of readlink.
70138         Check for ssize_t overflow as well as size_t overflow,
70139         as POSIX says the result of readlink is implementation-defined
70140         when ssize_t overflows.
70141         Remove unnecessary cast to char*.
70142         Use free+malloc instead of realloc, as the storage doesn't need
70143         to be preserved and it's clearer and can be more efficient that way.
70144         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
70145         * lib/xreadlink.h (xreadlink): Update prototype.
70146
70147 2001-09-04  Paul Eggert  <eggert@twinsun.com>
70148
70149         * lib/xgetcwd.c: Revert some of the previous change; intead,
70150         fix the HAVE_GETCWD_NULL code to behave more like the
70151         !HAVE_GETCWD_NULL code used to.
70152
70153         Include "xalloc.h".
70154         (xgetcwd): Do not return NULL when memory is exhausted; instead,
70155         invoke xalloc_die.
70156
70157 2001-09-03  Paul Eggert  <eggert@twinsun.com>
70158
70159         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
70160         sys/param.h, as pathmax.h includes them.
70161
70162 2001-09-03  Paul Eggert  <eggert@twinsun.com>
70163
70164         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
70165         (jm_PREREQ_XGETCWD): New macro.
70166
70167         * m4/getcwd.m4: New file.
70168
70169 2001-09-03  Paul Eggert  <eggert@twinsun.com>
70170
70171         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
70172         like the HAVE_GETCWD_NULL code.
70173         Include pathmax.h if not HAVE_GETCWD.
70174         Do not include xalloc.h.
70175         (INITIAL_BUFFER_SIZE): New symbol.
70176         Do not use xmalloc / xrealloc, since the caller is responsible for
70177         handling errors.  Preserve errno around `free' during failure.
70178         Do not overrun buffer when using getwd.
70179
70180 2001-09-03  Paul Eggert  <eggert@twinsun.com>
70181
70182         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
70183         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
70184         getcwd (NULL, 0).
70185
70186 2001-09-03  Paul Eggert  <eggert@twinsun.com>
70187
70188         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
70189         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
70190         spotted by Jim Meyering.
70191
70192 2001-09-03  Jim Meyering  <meyering@lucent.com>
70193
70194         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
70195         failure.
70196
70197 2001-09-02  Jim Meyering  <meyering@lucent.com>
70198
70199         * lib/error.c: Update from GNU libc.
70200
70201 2001-09-01  Jim Meyering  <meyering@lucent.com>
70202
70203         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
70204         Used by df.
70205
70206 2001-09-01  Jim Meyering  <meyering@lucent.com>
70207
70208         * lib/xreadlink.c: New file.
70209         * lib/xreadlink.h: New file.
70210         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
70211         xreadlink.h.
70212
70213         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
70214         doesn't conflict with sparc Solaris 7's definition in
70215         /usr/include/sys/int_types.h.
70216
70217         * lib/exclude.c: Use `""', not `<>' to #include non-system header
70218         files.
70219         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
70220         and strncasecmp as r-values.  Unixware didn't have declarations.
70221
70222 2001-08-31  Paul Eggert  <eggert@twinsun.com>
70223
70224         * lib/xstrtol.h: Add copyright notice.
70225         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
70226         LONGINT_INVALID_SUFFIX_CHAR.
70227
70228 2001-08-31  Paul Eggert  <eggert@twinsun.com>
70229
70230         * lib/xstrtol.c (strtoimax): New decl.
70231
70232 2001-08-31  Paul Eggert  <eggert@twinsun.com>
70233
70234         * lib/xgetcwd.c: Don't include pathmax.h.
70235         Include stdlib.h and unistd.h if available.
70236         Include xalloc.h.
70237         (xmalloc, xstrdup, free): Remove decls.
70238         (xgetcwd): Don't assume sizes fit in unsigned.
70239         Check for overflow when computing sizes.
70240         Simplify reallocation code.
70241
70242 2001-08-31  Paul Eggert  <eggert@twinsun.com>
70243
70244         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
70245         a directory's st_size can have an arbitrary value, so the old
70246         usage could waste an arbitrary amount of memory.  All uses
70247         changed.
70248         * lib/savedir.h: Update prototype.
70249
70250 2001-08-31  Paul Eggert  <eggert@twinsun.com>
70251
70252         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
70253
70254         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
70255         old strtoimax.c.
70256
70257         Also, make the following further changes to make this file's
70258         configuration more similar to that of strtol.c:
70259         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
70260         (strtoumax, uintmax_t, strtoull, strtol): Remove.
70261         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
70262         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
70263         changed to signed values.
70264
70265         And make the following changes as well:
70266         Fix copyright notice, as 1999 was missing.
70267         (verify): New macro.
70268         (strtoimax): Check sizes at compile-time, not run-time.
70269         Prefer strtol to strtoll if both work.
70270         (main): Remove; it was not that useful and was a pain to maintain.
70271
70272         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
70273
70274 2001-08-31  Jim Meyering  <meyering@lucent.com>
70275
70276         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
70277         Use an initial, malloc'd, buffer of length 128 rather than
70278         a statically allocated one of length 1024.
70279
70280 2001-08-30  Paul Eggert  <eggert@twinsun.com>
70281
70282         Simplify code, partly by assuming autoconf 2.52 semantics.
70283
70284         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
70285
70286         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
70287         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
70288         All uses removed.
70289         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
70290         Move AC_REQUIRE to next-to-top level, to avoid confusion.
70291         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
70292         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
70293         jm_AC_HEADER_INTTYPES_H.
70294         * m4/jm-macros.m4 (jm_MACROS): Likewise.
70295
70296         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
70297
70298         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
70299         Quote first arg of AC_DEFUN.
70300         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
70301         since they are needed to parse the include file even if we need
70302         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
70303         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
70304         but with opposite signedness.
70305
70306 2001-08-30  Paul Eggert  <eggert@twinsun.com>
70307
70308         Merge 'exclude' changes from tar 1.13.22.
70309         This fixes one or two unlikely storage allocation overflow bugs,
70310         but doesn't change user-visible behavior otherwise.
70311
70312 2001-08-30  Paul Eggert  <eggert@twinsun.com>
70313
70314         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
70315         (jm_PREREQ_EXCLUDE): New macro.
70316
70317 2001-08-30  Paul Eggert  <eggert@twinsun.com>
70318
70319         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
70320         tm to be declared.
70321
70322 2001-08-30  Paul Eggert  <eggert@twinsun.com>
70323
70324         * lib/hash.c: Remove '2001' from copyright notice.
70325
70326 2001-08-30  Paul Eggert  <eggert@twinsun.com>
70327
70328         * lib/full-write.h: New file.
70329         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
70330         * lib/full-write.c: Correct credits, as cccp.c no longer
70331         exists and anyway it was so heavily changed from the old cccp
70332         code as to be unrecognizable.  Include full-write.h.
70333         (full_write) Return size_t, with short writes meaning failure.
70334         All callers changed.  This fixes a bug with large buffers
70335         on 64-bit hosts.
70336         * lib/utime.c: Include full-write.h.
70337
70338 2001-08-30  Paul Eggert  <eggert@twinsun.com>
70339
70340         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
70341         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
70342         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
70343         Include if available.
70344         (<xalloc.h>): Include
70345         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
70346         (verify): New macro.  Use it to verify that EXCLUDE macros do not
70347         collide with FNM macros.
70348         (struct patopts): New struct.
70349         (struct exclude): Use it, as exclude patterns now come with options.
70350         (new_exclude): Support above changes.
70351         (new_exclude, add_exclude_file):
70352         Initial size must now be a power of two to simplify overflow checking.
70353         (free_exclude, fnmatch_no_wildcards): New function.
70354         (excluded_filename): No longer requires options arg, as the options
70355         are determined by add_exclude.  Now returns bool, not int.
70356         (excluded_filename, add_exclude):
70357         Add support for the fancy new exclusion options.
70358         (add_exclude, add_exclude_file): Now takes int options arg.
70359         Check for arithmetic overflow when computing sizes.
70360         (add_exclude_file): xrealloc might modify errno, so don't
70361         realloc until after errno might be used.
70362
70363         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
70364         New macros.
70365         (free_exclude): New decl.
70366         (add_exclude, add_exclude_file): Now takes int options arg.
70367         (excluded_filename): No longer requires options arg, as the options
70368         are determined by add_exclude.  Now returns bool, not int.
70369
70370 2001-08-30  Paul Eggert  <eggert@twinsun.com>
70371
70372         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
70373
70374 2001-08-27  Jim Meyering  <meyering@lucent.com>
70375
70376         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
70377
70378         * lib/version-etc.c (N_): Remove definition.
70379         Revert most of last change.
70380         Instead, simply don't mark the `Copyright...' string for translation.
70381         Based on advice from Paul Eggert.
70382
70383         * lib/strtoxmax.c: Tweak comment.
70384
70385 2001-08-26  Jim Meyering  <meyering@lucent.com>
70386
70387         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
70388
70389         * m4/xstrtoimax.m4: New file.
70390         * m4/xstrtoumax.m4: Add comments explaining why we
70391         AC_REPLACE_FUNCS(strtol).
70392
70393 2001-08-26  Jim Meyering  <meyering@lucent.com>
70394
70395         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
70396         of copyright with `%s' so translators don't get an untranslated
70397         message in 2002.
70398         (COPYRIGHT_YEAR): Define.
70399         (version_etc): Use fprintf rather than fputs.
70400         Suggestion from Ulrich Drepper.
70401
70402         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
70403
70404         * lib/strtoll.c: New file, from GNU libc.
70405         * lib/xstrtoimax.c: New file.
70406
70407         * lib/xstrtol.h: Add xstrtoimax.
70408         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
70409         * lib/strtoimax.c: New file.  Likewise, but first define
70410         STRTOUXMAX_SIGNED.
70411
70412         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
70413         ...
70414         * lib/strtoxmax.c: ... then renamed to this.
70415
70416 2001-08-18  Paul Eggert  <eggert@twinsun.com>
70417
70418         * m4/inttypes.m4: Add AC_PREREQ(2.13).
70419         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
70420         (jm_AC_TYPE_INTMAX_T): New macro.
70421         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
70422
70423         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
70424
70425         * m4/longlong.m4: Renamed from ulonglong.m4.
70426         * m4/inttypes.m4: Renamed from inttypes_h.m4.
70427         * m4/uintmax_t.m4: Removed.
70428
70429 2001-08-13  Paul Eggert  <eggert@twinsun.com>
70430
70431         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
70432         Port to Solaris 8, where 'sed' requires a space after the 'r'
70433         command, and where sh dislikes "$/".  Clean up the spacing a bit.
70434         Redirect output to $tmp just once.
70435
70436 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
70437
70438         * lib/addext.c (<errno.h>): Include.
70439         (errno): Declare if not defined.
70440         (addext): Work correctly when pathconf returns -1 and leaves
70441         errno alone because there is no limit.  Also, work even if
70442         pathconf returns a value greater than SIZE_MAX.
70443
70444 2001-08-12  Jim Meyering  <meyering@lucent.com>
70445
70446         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
70447         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
70448         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
70449         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
70450         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
70451         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
70452         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
70453         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
70454         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
70455         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
70456         utime.m4, utimes.m4, xstrtoumax.m4:
70457         Quote the first argument in each use of AC_DEFUN.
70458
70459 2001-08-12  Jim Meyering  <meyering@lucent.com>
70460
70461         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
70462         Simply `return getcwd (NULL, 0);'.
70463         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
70464         Use 1300 as initial value for length, not PATH_MAX.
70465
70466         * lib/pathmax.h: Clean up cpp syntax.
70467
70468 2001-08-12  Jim Meyering  <meyering@lucent.com>
70469
70470         * lib/gettimeofday.c: New file.
70471         * lib/gtod.h: New file.
70472         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
70473
70474 2001-08-05  Jim Meyering  <meyering@lucent.com>
70475
70476         * m4/jm-macros.m4: Require autoconf-2.52.
70477
70478 2001-08-04  Jim Meyering  <meyering@lucent.com>
70479
70480         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
70481         stmt, to get in sync with glibc.
70482
70483 2001-08-03  Paul Eggert  <eggert@twinsun.com>
70484
70485         The following changes are from gettext 0.10.39 as maintained by
70486         Bruno Haible.
70487
70488         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
70489         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
70490         with inverted sense.  All uses changed.
70491
70492         * lib/mbswidth.c: Don't include <limits.h>.
70493         Include <stdlib.h> and <string.h> unconditionally.
70494         (iswcntrl, mbsinit, ISCNTRL): New macros.
70495         (mbsnwidth): Use K&R style function declarations.
70496         Don't bother checking for MB_LEN_MAX == 1, since the compiler
70497         can optimize it when MB_CUR_MAX == 1.
70498         The width of control characters is zero, not 1.
70499
70500 2001-08-03  Paul Eggert  <eggert@twinsun.com>
70501
70502         The following changes are from gettext 0.10.39 as maintained by
70503         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
70504
70505         * m4/codeset.m4: Upgrade to serial AM1.
70506         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
70507         all uses changed.  Quote first arg of AC_DEFUN.
70508         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
70509
70510         * m4/iconv.m4: Upgrade to serial AM2.
70511         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
70512         Add --with-libconv-prefix.
70513         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
70514         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
70515         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
70516         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
70517         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
70518
70519         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
70520         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
70521         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
70522         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
70523         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
70524         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
70525         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
70526         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
70527         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
70528
70529         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
70530         string.h any more.
70531
70532         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
70533         not the default value.
70534
70535         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
70536         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
70537         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
70538         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
70539         Also check for iswcntrl, used for wcwidth fallback.
70540         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
70541         to Autoconf 2.13.
70542
70543 2001-08-03  Jim Meyering  <meyering@lucent.com>
70544
70545         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
70546         as it was in the original.  Reported by Paul Eggert.
70547
70548 2001-07-16  Jim Meyering  <meyering@lucent.com>
70549
70550         * m4/gettimeofday.m4: New file.
70551         Prompted by a report from Bernhard Baehr.
70552
70553 2001-07-15  Jim Meyering  <meyering@lucent.com>
70554
70555         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
70556         stuff. Now it's in ../Makefile.cfg.
70557
70558 2001-07-15  Jim Meyering  <meyering@lucent.com>
70559
70560         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
70561         (BUILT_SOURCES): Add unlocked-io.h.
70562         (io_functions): Define.
70563         (unlocked-io.h): New rule.
70564         (DISTCLEANFILES): Add unlocked-io.h.
70565         (all-local): Depend on unlocked-io.h, to ensure it is created.
70566
70567         * lib/unlocked-io.hin: New file
70568
70569         * lib/regex.c: Update from glibc.
70570
70571 2001-07-05  Jim Meyering  <meyering@lucent.com>
70572
70573         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
70574         recommendation.
70575         (libfetish_a_SOURCES): Put all .h files here instead.
70576         Remove a thus-exposed (better checks in automake) duplicate and
70577         two unnecessary .h files.
70578
70579 2001-07-04  Jim Meyering  <meyering@lucent.com>
70580
70581         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
70582         that generates jm-glibc-io.m4 so that it doesn't trigger any make
70583         distcheck failure.
70584
70585 2001-07-02  Jim Meyering  <meyering@lucent.com>
70586
70587         The following changes were prompted by suggestions from Bruno Haible.
70588
70589         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
70590         is now generated.
70591         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
70592         definition of EXTRA_DIST.
70593         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
70594         ensure that the generated file is created/updated whenever the list
70595         of $(unlocked_functions) is changed.
70596         (jm-glibc-io.m4): New rule.
70597         (unlocked-io.h): New rule -- currently unused.
70598
70599 2001-06-24  Jim Meyering  <meyering@lucent.com>
70600
70601         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
70602         unmatched right bracket, rather than kludging it with an extra,
70603         falsely-matching quote in a comment.  Patch by Akim Demaille.
70604
70605 2001-06-11  Jim Meyering  <meyering@lucent.com>
70606
70607         * lib/regex.c: Update from GNU libc.
70608
70609 2001-05-27  Jim Meyering  <meyering@lucent.com>
70610
70611         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
70612         Check for ut_type in struct utmp.
70613
70614 2001-05-27  Jim Meyering  <meyering@lucent.com>
70615
70616         * lib/readutmp.h (UT_TYPE): Define.
70617
70618 2001-05-24  Jim Meyering  <meyering@lucent.com>
70619
70620         * lib/argmatch.c: Include "quote.h".
70621         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
70622         quote function.  Reported by Göran Uddeborg.
70623
70624 2001-05-22  Jim Meyering  <meyering@lucent.com>
70625
70626         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
70627         now that we use the package-supplied version unconditionally.
70628         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
70629
70630 2001-05-21  Jim Meyering  <meyering@lucent.com>
70631
70632         * m4/regex.m4: Change a couple backticks to single quotes to avoid
70633         shell syntax errors.
70634
70635 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
70636
70637         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
70638
70639 2001-05-20  Paul Eggert  <eggert@twinsun.com>
70640
70641         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
70642         Don't bother to check library strftime, since
70643         we'll be using our own my_strftime function anyway.
70644         Define my_strftime instead of strftime.
70645
70646 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
70647
70648         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
70649         which is not yet declared.
70650
70651 2001-05-15  Jim Meyering  <meyering@lucent.com>
70652
70653         * m4/regex.m4: Use proper quoting so brackets appear in the test
70654         program.
70655         Reported by, and with help from, Bruno Haible.
70656
70657 2001-05-13  Jim Meyering  <meyering@lucent.com>
70658
70659         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
70660         undefined.
70661
70662 2001-05-11  Paul Eggert  <eggert@twinsun.com>
70663
70664         dirname code cleanup.  base_name now behaves more compatibly
70665         with POSIX basename when given file names that have trailing
70666         slashes, and similarly for dir_name.  Add new primitives
70667         base_len and dir_len.  Put the directory-name-related decls
70668         into dirname.h.
70669
70670         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
70671         * lib/backupfile.c (base_name): Likewise.
70672         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
70673         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
70674         * lib/makepath.c (strip_trailing_slashes): Likewise.
70675         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
70676         ISSLASH): Likewise.
70677         * lib/rename.c (strip_trailing_slashes): Likewise.
70678         * lib/same.c (base_name): Likewise.
70679         * lib/stripslash.c (ISSLASH): Likewise.
70680
70681         * lib/addext.c: Include <dirname.h> after size_t is defined.
70682         * lib/backupfile.c: Likewise.
70683
70684         * lib/addext.c (addext): Use base_len to trim redundant
70685         trailing slashes instead of doing it ourselves.
70686         But do not trim the last slash if it is not redundant.
70687
70688         * lib/backupfile.c (find_backup_file_name,
70689         max_backup_version): Use base_len instead of rolling it ourselves.
70690         Handle the case of "" and (on DOS) "C:" correctly.
70691
70692         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
70693         needed. Include <string.h>, <dirname.h>.
70694         (base_name): Allow file names ending in slashes, other than names
70695         that are all slashes.  In this case, return the basename followed
70696         by the slashes.  This is more general, and can be used in places
70697         where the original base_name purposely had an assertion failure.
70698         (base_len): New function.
70699
70700         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
70701         Do not include <assert.h>; no longer needed.
70702         Include xalloc.h.
70703         (memrchr): Remove decl.
70704         (dir_name_r): Remove.
70705         (dir_len): Renamed from dirlen.  All callers changed.
70706         Rewrite in terms of base_name, for simplicity and consistency.
70707         (dir_name): Never return NULL.  All callers changed.
70708         Do not include <stdlib.h> in test program; no longer needed.
70709         return 0; is fine for test program.
70710
70711         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
70712         New macros.
70713         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
70714
70715         * lib/path-concat.c (path_concat): Use base_len to compute
70716         base length, not strlen; this means we cannot rely on memcpy
70717         to null-terminate.
70718
70719         * lib/same.c (STREQ): Remove.
70720         (same_name): Handle the case where the basename ends in trailing '/'.
70721
70722         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
70723         a slash was stripped.  Do not strip the last slash after a
70724         file system prefix.
70725
70726 2001-05-11  Paul Eggert  <eggert@twinsun.com>
70727
70728         * lib/Makefile.am (libfetish_a_SOURCES):
70729         Add strftime.c, since we now compile it on all hosts.
70730
70731         * lib/strftime.c (my_strftime):
70732         Define to nstrftime if emacs, but only if my_strftime is not defined.
70733         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
70734         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
70735         Add one more extra argument: a nanoseconds value.
70736         All uses changed.
70737         (ns): New macro.
70738         (my_strftime function): Add %N format.
70739         (emacs_strftimeu): Renamed from emacs_strftime,
70740         with extra ut argument.
70741
70742 2001-05-09  Paul Eggert  <eggert@twinsun.com>
70743
70744         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
70745
70746 2001-04-21  Jim Meyering  <meyering@lucent.com>
70747
70748         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
70749         doesn't interfere.
70750
70751 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
70752
70753         * m4/ftruncate.m4: Check for chsize.
70754         Link with ftruncate.o unconditionally if ftruncate is missing.
70755         This was required when cross-compiling to i586-mingw32msvc.
70756
70757 2001-04-08  Jim Meyering  <meyering@lucent.com>
70758
70759         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
70760         recomputed; that's necessary when the offset spans a DST transition.
70761         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
70762
70763 2001-04-02  Jim Meyering  <meyering@lucent.com>
70764
70765         * lib/regex.h, regex.c: Update from GNU libc.
70766
70767 2001-03-24  Jim Meyering  <meyering@lucent.com>
70768
70769         * m4/jm-macros.m4: Require autoconf-2.49d.
70770
70771 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
70772
70773         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
70774
70775 2001-03-19  Paul Eggert  <eggert@twinsun.com>
70776
70777         * lib/version-etc.c (version_etc_copyright): Update to 2001.
70778
70779 2001-03-17  Jim Meyering  <meyering@lucent.com>
70780
70781         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
70782         now that the version in autoconf is equivalent.
70783         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
70784
70785         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
70786         Suggestion from Akim Demaille.
70787
70788         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
70789         (jm_PREREQ_TEMPNAME): New function.
70790
70791 2001-03-16  Paul Eggert  <eggert@twinsun.com>
70792
70793         * lib/tempname.c (uint64_t): Define to uintmax_t if
70794         not defined, and if UINT64_MAX is not defined.
70795         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
70796         Reported by John David Anglin.
70797
70798 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
70799
70800         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
70801         resolve alias if codeset is empty.
70802         * lib/config.charset (BeOS): Use wildcard syntax.
70803
70804 2001-03-13  Jim Meyering  <meyering@lucent.com>
70805
70806         * lib/path-concat.c (path_concat)
70807         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
70808         concatenating e.g., `C:' and `foo'.
70809         From Bruno Haible.
70810
70811 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
70812
70813         * lib/localcharset.c (locale_charset): Don't use
70814         setlocale(LC_CTYPE,NULL). Don't return NULL.
70815         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
70816
70817 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
70818
70819         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
70820         support for DOS/DJGPP.
70821
70822 2001-03-01  Paul Eggert  <eggert@twinsun.com>
70823
70824         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
70825         lacks mkstemp.  Compile our own tempname.c if we compile our own
70826         mkstemp.c, as mkstemp relies on tempname.
70827
70828 2001-03-01  Jim Meyering  <meyering@lucent.com>
70829
70830         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
70831         AH_VERBATIM really does output its argument verbatim.
70832
70833 2001-02-28  Paul Eggert  <eggert@twinsun.com>
70834
70835         * lib/Makefile.am (libfetish_a_SOURCES):
70836         Add dup-safer.c, fopen-safer.c.
70837         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
70838
70839         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
70840         * lib/unistd-safer.h: New files.
70841
70842 2001-02-25  Paul Eggert  <eggert@twinsun.com>
70843
70844         The mkstemp replacement is taken from glibc 2.2.2, with some
70845         portability fixes for use outside glibc, as follows:
70846
70847         * lib/tempname.c (struct_stat64): New macro.
70848         (direxists, __gen_tempname): Use it.
70849         This avoids a portability problem with Solaris 8.
70850
70851         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
70852         (<stddef.h>, <stdint.h>, <string.h>):
70853         Include only if STDC_HEADERS || _LIBC.
70854         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
70855         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
70856         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
70857         (__set_errno): Define this macro if <errno.h> doesn't.
70858         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
70859         Define these macros if <stdio.h> doesn't.
70860         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
70861         Define these macros if <sys/stat.h>
70862         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
70863         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
70864         __xstat64): Define if not _LIBC.
70865         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
70866         (__gen_tempname): Invoke gettimeofday only if
70867         HAVE_GETTIMEOFDAY || _LIBC;
70868         otherwise, fall back on plain "time".
70869         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
70870
70871         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
70872
70873         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
70874
70875 2001-02-18  Paul Eggert  <eggert@twinsun.com>
70876
70877         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
70878
70879 2001-02-17  Paul Eggert  <eggert@twinsun.com>
70880
70881         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
70882         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
70883         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
70884         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
70885
70886 2001-02-17  Paul Eggert  <eggert@twinsun.com>
70887
70888         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
70889         Remove workaround macros for hosts that have mbrtowc but not
70890         mbstate_t, as we now insist on proper declarations for both
70891         before using mbrtowc.
70892
70893 2001-02-17  Jim Meyering  <meyering@lucent.com>
70894
70895         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
70896         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
70897         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
70898         UnixWare 7.1.1.
70899
70900         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
70901         rather than AC_CACHE_VAL.
70902
70903 2001-02-17  Jim Meyering  <meyering@lucent.com>
70904
70905         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
70906         around included file name.
70907
70908         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
70909
70910         * lib/strftime.c: Update from GNU libc (the only changes were to
70911         comments).
70912
70913 2001-02-17  Jim Meyering  <meyering@lucent.com>
70914
70915         * lib/regex.c: Update from libc.
70916
70917 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
70918
70919         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
70920         clash.
70921
70922 2001-02-16  Paul Eggert  <eggert@twinsun.com>
70923
70924         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
70925         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
70926         Reported by Mark Hounschell via Paul Eggert.
70927
70928 2001-02-07  Jim Meyering  <meyering@lucent.com>
70929
70930         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
70931
70932 2001-02-05  Jim Meyering  <meyering@lucent.com>
70933
70934         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
70935         it includes the patch required for `large file' support with at least
70936         HP-UX's 10.20 /bin/cc.
70937
70938 2001-02-03  Jim Meyering  <meyering@lucent.com>
70939
70940         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
70941         AS_IF, now that it works once again (mysteriously).
70942         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
70943
70944 2001-01-30  Jim Meyering  <meyering@lucent.com>
70945
70946         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
70947         * m4/chown.m4: Rename conftestchown to conftest.chown.
70948         * m4/rename.m4: s/conftestdir/conftest.d1/ and
70949         s/conftestdir2/conftest.d2/.
70950         * m4/utimes.m4: s/conftestdata/conftest.data/
70951         Inspired by Pavel Roskin's change in autoconf.
70952
70953 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
70954
70955         * lib/config.charset: Update for FreeBSD 4.2.
70956
70957 2001-01-27  Jim Meyering  <meyering@lucent.com>
70958
70959         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
70960         a use of AS_IF.
70961         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
70962
70963 2001-01-26  Jim Meyering  <meyering@lucent.com>
70964
70965         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
70966         quotearg.c includes it.
70967
70968 2001-01-26  Jim Meyering  <meyering@lucent.com>
70969
70970         * lib/quotearg.c: Include stddef.h.
70971         * lib/quote.c: Include stddef.h.
70972         Reported by Axel Kittenberger.
70973
70974         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
70975         line in double quotes so that it evokes a better diagnostic.
70976         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
70977         Reported by Axel Kittenberger.
70978
70979 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
70980
70981         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
70982         as if it was a `charset'.
70983
70984 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
70985
70986         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
70987         has const.
70988
70989 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
70990
70991         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
70992         to avoid a warning.  Add back 'const' to inptr.
70993
70994 2001-01-20  Jim Meyering  <meyering@lucent.com>
70995
70996         Be sure that headers are checked before used in code compiled
70997         for the type checks.
70998         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
70999         In place of that, invoke jm_CHECK_ALL_TYPES.
71000         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
71001         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
71002         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
71003         The check for ssize_t was mistakenly run before the test for unistd.h.
71004
71005         The configure-time check for stdbool.h was missing.
71006         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
71007         (jm_PREREQ_HASH): New function.
71008
71009 2001-01-17  Jim Meyering  <meyering@lucent.com>
71010
71011         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
71012         for autoconf-2.49c.
71013         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
71014
71015 2001-01-16  Jim Meyering  <meyering@lucent.com>
71016
71017         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
71018         From Bruno Haible.
71019
71020 2001-01-14  Jim Meyering  <meyering@lucent.com>
71021
71022         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
71023         foo and bar.  Create conftestdir/ in the script, not in the C code.
71024         Remove directories in the script, not in the C code.
71025         Remove conftestdir{,2} before trying to create the directory.
71026         Make the entire configure script fail if the mkdir fails.
71027
71028 2001-01-14  Jim Meyering  <meyering@lucent.com>
71029
71030         * lib/rename.c: New file.  From Volker Borchert.
71031         Include stdlib.h, string.h or strings.h, and xalloc.h.
71032         Use strip_trailing_slashes rather than open-coding it.
71033
71034 2001-01-03  Paul Eggert  <eggert@twinsun.com>
71035
71036         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
71037
71038 2001-01-03  Jim Meyering  <meyering@lucent.com>
71039
71040         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
71041         of local `inptr' to avoid warning with some system declarations of
71042         iconv.
71043
71044 2001-01-02  Volker Borchert  <bt@teknon.de>
71045
71046         * m4/rename.m4: New file.
71047         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
71048
71049 2001-01-01  Jim Meyering  <meyering@lucent.com>
71050
71051         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
71052         even on systems with utmpx.h.  It's necessary for the declaration of
71053         utmp's ut_user member.  Reported by Andreas Jaeger.
71054
71055         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
71056         available. They are required for the declarations of getgrgid and
71057         getpwuid resp.
71058         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
71059         Reported by Andreas Jaeger.
71060
71061 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
71062
71063         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
71064         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
71065         so `make install' also works in VPATH builds.
71066
71067 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
71068
71069         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
71070         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
71071         can be used in subdirectories.
71072
71073 2000-12-29  Paul Eggert  <eggert@twinsun.com>
71074
71075         * lib/modechange.c: Do not assume that mode_t uses the
71076         traditional octal encoding.  E.g. "chmod 1 FOO" should set
71077         the other-execute bit of FOO even if S_IXOTH != 1.
71078
71079         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
71080         WOTH, XOTH, ALLM): New macros.
71081         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
71082          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
71083         Use them.
71084         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
71085         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
71086         (mode_compile):
71087         No need to use uintmax_t; unsigned long is long enough.
71088         Don't bother to get suffix since we don't use it.
71089
71090 2000-12-26  Jim Meyering  <meyering@lucent.com>
71091
71092         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
71093         better with autoheader.
71094
71095 2000-12-24  Jim Meyering  <meyering@lucent.com>
71096
71097         * lib/hash.c (is_prime): Return explicit boolean values.
71098         (hash_get_first): Return NULL to appease Irix5.6's 89.
71099         Reported by Nelson Beebe.
71100
71101 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
71102
71103         * lib/localcharset.c (locale_charset): Add support for Win32.
71104
71105 2000-12-18  Paul Eggert  <eggert@twinsun.com>
71106
71107         * lib/physmem.h, lib/physmem.c: New files.
71108
71109         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
71110         (noinst_HEADERS): Add physmem.h.
71111
71112         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
71113         't' for compatibility with Solaris 8 sort.
71114
71115 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
71116
71117         * lib/config.charset: Add support for BeOS.
71118
71119 2000-12-17  Jim Meyering  <meyering@lucent.com>
71120
71121         * m4/dos.m4 (jm_AC_DOS): New file and macro.
71122         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
71123
71124 2000-12-16  Jim Meyering  <meyering@lucent.com>
71125
71126         This bug had a serious impact on chown: `chown N:M FILE' (for integer
71127         N and M) would have treated it like `chown N:N FILE'.
71128
71129         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
71130
71131 2000-12-16  Jim Meyering  <meyering@lucent.com>
71132
71133         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
71134         SHELLS_FILE to a file name that's useful on djgpp systems.
71135         Include stdlib.h.
71136         (ADDITIONAL_DEFAULT_SHELLS): Define.
71137         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
71138         Based mostly on a patch from Prashant TR.
71139
71140 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
71141
71142         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
71143         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
71144         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
71145
71146 2000-12-08  Andreas Schwab  <schwab@suse.de>
71147
71148         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
71149         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
71150
71151 2000-12-07  Jim Meyering  <meyering@lucent.com>
71152
71153         * lib/stripslash.c (ISSLASH): Define.
71154         (strip_trailing_slashes): Use ISSLASH rather than comparing against
71155         `/'.
71156         From Prashant TR.
71157
71158         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
71159         (dir_name_r): Declare this function as static.
71160         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
71161         manifest itself on a name containing a mix of slashes and
71162         backslashes.
71163         Make this function work with names starting with a DOS-style
71164         drive letter and colon prefix.
71165         (dir_name): Append `.' if necessary.
71166         Based mostly on patches from Prashant TR and Eli Zaretskii.
71167
71168         * lib/dirname.h (dir_name_r): Remove prototype.
71169
71170 2000-12-06  Paul Eggert  <eggert@twinsun.com>
71171
71172         * m4/off_t-format.m4: Remove this file.
71173         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
71174
71175 2000-12-06  Jim Meyering  <meyering@lucent.com>
71176
71177         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
71178         replacement strtoull, we may well need the replacement strtoul, too.
71179         Check for declarations of strtoul and strtoull.
71180         Check for strtol.  Mainly as a cue to cause automake to include
71181         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
71182         Check for limits.h -- strtol.c needs it.
71183
71184 2000-12-05  Jim Meyering  <meyering@lucent.com>
71185
71186         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
71187
71188 2000-12-04  Jim Meyering  <meyering@lucent.com>
71189
71190         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
71191         Also include memory.h, stdlib.h, unistd.h if appropriate.
71192         Reported by Andreas Jaeger (conflicting declaration of malloc).
71193
71194 2000-12-02  Jim Meyering  <meyering@lucent.com>
71195
71196         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
71197         * m4/jm-macros.m4 (jm_MACROS): require it.
71198
71199 2000-12-02  Jim Meyering  <meyering@lucent.com>
71200
71201         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
71202
71203 2000-12-01  Paul Eggert  <eggert@twinsun.com>
71204
71205         * lib/memrchr.c: Include <config.h> before any system include file.
71206
71207 2000-11-30  Jim Meyering  <meyering@lucent.com>
71208
71209         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
71210
71211 2000-11-30  Jim Meyering  <meyering@lucent.com>
71212
71213         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
71214
71215 2000-11-29  Paul Eggert  <eggert@twinsun.com>
71216
71217         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
71218
71219 2000-11-26  Jim Meyering  <meyering@lucent.com>
71220
71221         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
71222
71223 2000-11-22  Paul Eggert  <eggert@twinsun.com>
71224
71225         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
71226         size of (size_t) -1; it's not portable.
71227
71228 2000-11-17  Jim Meyering  <meyering@lucent.com>
71229
71230         * lib/strstr.c: Update from GNU libc.
71231
71232 2000-11-17  Akim Demaille  <akim@epita.fr>
71233
71234         * lib/obstack.h: Formatting changes.
71235         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
71236         prevent type checking.
71237         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
71238         cast the value to (void *): assigning a `foo *' to a `void *'
71239         variable is valid.
71240         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
71241
71242 2000-11-16  Jim Meyering  <meyering@lucent.com>
71243
71244         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
71245
71246 2000-11-11  Jim Meyering  <meyering@lucent.com>
71247
71248         * lib/error.c: Add a couple #includes, merging from GNU libc version.
71249
71250 2000-11-10  Jim Meyering  <meyering@lucent.com>
71251
71252         * lib/obstack.h: Update from GNU libc.
71253         * lib/obstack.c: Likewise.
71254
71255 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
71256
71257         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
71258
71259 2000-11-06  Paul Eggert  <eggert@twinsun.com>
71260
71261         * lib/getusershell.c (setusershell): Use rewind rather than
71262         fseek/fseeko, to avoid configuration hassles with fseeko.
71263         Don't bother opening SHELLS_FILE if shellstream is NULL;
71264         it's not necessary.
71265
71266 2000-11-05  Jim Meyering  <meyering@lucent.com>
71267
71268         * lib/makepath.h (make_dir): Declare.
71269         * lib/makepath.c (make_dir): Remove `static' attribute.
71270         Tweak a comment.
71271
71272 2000-11-04  Jim Meyering  <meyering@lucent.com>
71273
71274         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
71275
71276 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
71277
71278         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
71279         last one in a bucket, advance to the next bucket.
71280
71281 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
71282
71283         * lib/fnmatch.c: Do not comment out all the code if we are using
71284         the GNU C library, because in some cases we are replacing buggy
71285         code in the GNU C library itself.
71286
71287 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
71288
71289         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
71290         (regex_compile): Catch bogus \(\1\).
71291
71292 2000-10-30  Paul Eggert  <eggert@twinsun.com>
71293
71294         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
71295         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
71296         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
71297
71298 2000-10-30  Paul Eggert  <eggert@twinsun.com>
71299
71300         * lib/error.h, getline.h, modechange.h:
71301         Remove "2000" from Copyright line, as the file hasn't been
71302         changed this year other than in the copyright notice.
71303
71304         * lib/xalloc.h: Add "2000" to Copyright line, as this file
71305         was changed this year.
71306
71307 2000-10-29  Jim Meyering  <meyering@lucent.com>
71308
71309         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
71310         renaming.
71311         * m4/ls-mntd-fs.m4: Likewise
71312
71313 2000-10-29  Jim Meyering  <meyering@lucent.com>
71314
71315         * lib/xstat.in: Fix grammar in comment.
71316
71317 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
71318
71319         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
71320         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
71321         doesn't define __restrict_arr.
71322
71323 2000-10-28  Jim Meyering  <meyering@lucent.com>
71324
71325         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
71326         (jm_PREREQ_MEMCHR): New function.
71327
71328 2000-10-28  Jim Meyering  <meyering@lucent.com>
71329
71330         * lib/memchr.c: Update from libc.
71331         Adjust for portability:
71332         [HAVE_STDLIB_H]: Include stdlib.h.
71333         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
71334         Undef __memchr, too.
71335         [!weak_alias]: Define __memchr to memchr.
71336
71337         * lib/regex.c: Update from libc.
71338         * lib/regex.h: Likewise.
71339         * lib/getopt1.c: Likewise.
71340         * lib/memcmp.c: Likewise.
71341
71342         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
71343         Avoid using fseek, when possible -- it's broken by design.
71344         Patch by Ulrich Drepper.
71345
71346 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
71347
71348         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
71349         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
71350         Giving in to popular pressure to shut up the compiler with casts.
71351
71352 2000-10-26  Jim Meyering  <meyering@lucent.com>
71353
71354         * lib/strftime.c: Update from libc.
71355
71356 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
71357
71358         * regex.c: More `unsigned char' -> `re_char' changes.
71359         Also change several `int' into `re_wchar_t'.
71360         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
71361         (PUSH_FAILURE_POINTER): Don't cast any more.
71362         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
71363         We want GCC to complain, since this piece of code makes
71364         re_match non-reentrant, which *should* be fixed.
71365         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
71366         (EXTEND_BUFFER): Use RETALLOC.
71367         (SET_LIST_BIT): Don't cast.
71368         (re_wchar_t): New type.
71369         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
71370         that those two functions will always properly return.
71371         (IMMEDIATE_QUIT_CHECK): Cast to void.
71372         (analyse_first): Use recursion rather than an explicit stack.
71373         (re_compile_fastmap): Can't fail anymore.
71374         (re_search_2): Don't check re_compile_fastmap for failure.
71375         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
71376         Now also sets the new value (passed in a new argument).
71377         (re_match_2_internal): Use it.
71378         Also, use a new var `reg' of type size_t when looping through regs
71379         rather than reuse the inappropriate `mcnt'.
71380
71381 2000-10-25  Jim Meyering  <meyering@lucent.com>
71382
71383         * lib/obstack.c: Update from libc.
71384
71385 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
71386
71387         * regex.c (regex_compile): Change the way of handling a range from
71388         a char less than 256 to a char not less than 256.
71389
71390 2000-10-24  Andrew Innes  <andrewi@gnu.org>
71391
71392         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
71393         NT-Emacs only.
71394         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
71395         so that re_search functions only quit when callers expect them to.
71396
71397 2000-10-23  Jim Meyering  <meyering@lucent.com>
71398
71399         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
71400         wrong.  That set_locale call must not have any side effects.
71401         From Paul Eggert.
71402
71403 2000-10-22  Jim Meyering  <meyering@lucent.com>
71404
71405         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
71406         [CYCLIC]: Remove now-unused definition.
71407
71408         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
71409         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
71410         Suggestion from Ulrich Drepper.
71411
71412 2000-10-21  Jim Meyering  <meyering@lucent.com>
71413
71414         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
71415         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
71416         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
71417
71418 2000-10-21  Jim Meyering  <meyering@lucent.com>
71419
71420         * lib/dirname.c (memrchr): Declare if necessary.
71421         (dir_name): Remove the restriction that there be no
71422         trailing slashes.  Now, this code skips past them, effectively
71423         ignoring them.
71424         [TEST_DIRNAME] (main): New unit tests.
71425
71426         * lib/memrchr.c: New file from GNU libc.
71427         Undef __memrchr, too.
71428         [!weak_alias]: Define __memrchr to memrchr.
71429         Guard weak_alias use with `#ifdef weak_alias'.
71430
71431 2000-10-21  Jim Meyering  <meyering@lucent.com>
71432
71433         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
71434         (dir_name): Use dir_name_r.
71435         * lib/dirname.h (dir_name_r): Declare it.
71436
71437 2000-10-17  Jim Meyering  <meyering@lucent.com>
71438
71439         * lib/quote.h (PARAMS): Define and use.
71440         Reported by Akim Demaille.
71441
71442         * lib/getopt.c: Update from libc.
71443
71444 2000-10-16  Jim Meyering  <meyering@lucent.com>
71445
71446         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
71447         setlocale.
71448         From Jan Fedak.
71449
71450 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
71451
71452         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
71453
71454 2000-09-25  Jim Meyering  <meyering@lucent.com>
71455
71456         * lib/md5.h (rol): Define (from GnuPG).
71457
71458         * lib/sha.c: Give credit (GnuPG) where due.
71459         (M): Use rol rather than open-coding it.
71460         Add a FIXME comment.
71461
71462 2000-09-21  Jim Meyering  <meyering@lucent.com>
71463
71464         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
71465         Reported by Michael Stone.
71466
71467 2000-09-20  Jim Meyering  <meyering@lucent.com>
71468
71469         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
71470         (noinst_HEADERS): Add sha.h.
71471         Based on code from Scott G. Miller and from GnuPG.
71472
71473 2000-09-18  Jim Meyering  <meyering@lucent.com>
71474
71475         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
71476         LIBS. Otherwise, everyone ends up linking with -lelf for some
71477         configurations.
71478         Reported by Mike Stone.
71479
71480 2000-09-15  Jim Meyering  <meyering@lucent.com>
71481
71482         * lib/regex.c: Update from libc.
71483
71484 2000-09-10  Jim Meyering  <meyering@lucent.com>
71485
71486         * lib/getopt.c (_getopt_internal): Update from glibc.
71487
71488 2000-09-09  Jim Meyering  <meyering@lucent.com>
71489
71490         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
71491         think it should be used as a general replacement for isascii.
71492         * lib/fnmatch.c: Likewise.
71493         * lib/mbswidth.c: Likewise
71494         * lib/regex.c: Likewise.
71495
71496         Don't use atoi.
71497         * lib/userspec.c: Include sys/param.h and limits.h.
71498         Include xstrtol.h.
71499         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
71500         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
71501         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
71502         UID, GID.  Check range.
71503
71504 2000-09-06  Jim Meyering  <meyering@lucent.com>
71505
71506         * lib/getopt.c (_getopt_internal): Update from glibc.
71507
71508 2000-08-30  Jim Meyering  <meyering@lucent.com>
71509
71510         * lib/strftime.c: Merge in changes from GNU libc.
71511
71512 2000-08-26  Jim Meyering  <meyering@lucent.com>
71513
71514         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
71515         * m4/fpending.m4: New file.
71516
71517 2000-08-26  Jim Meyering  <meyering@lucent.com>
71518
71519         * lib/closeout.c: Include "__fpending.h".
71520         (close_stdout_status): Return right away if there's nothing to flush.
71521
71522         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
71523         * lib/__fpending.c: New file.
71524         * lib/__fpending.h: New file.
71525
71526 2000-08-20  Jim Meyering  <meyering@lucent.com>
71527
71528         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
71529         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
71530         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
71531
71532 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
71533
71534         Improve fileutils installation on systems where running
71535         programs (like install) can't be unlinked.
71536         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
71537         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
71538
71539 2000-08-07  Paul Eggert  <eggert@twinsun.com>
71540
71541         Standardize on "memory exhausted" instead of "Memory exhausted"
71542         or "virtual memory exhausted".
71543         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
71544         "virtual memory exhausted".
71545         * lib/same.c (same_name): Invoke xalloc_die instead of printing
71546         our own message.
71547         * lib/userspec.c (parse_user_spec): Likewise.
71548         * lib/bumpalloc.h: comment fix
71549         * lib/same.c, userspec.c: Include xalloc.h.
71550
71551         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
71552         not char *const and pointing to a constant array.
71553         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
71554         (xrealloc): Comment fix.
71555
71556         * lib/userspec.c (parse_user_spec):
71557         Don't translate a message until just before returning,
71558         to avoid unnecessary translation.
71559
71560 2000-08-07  Jim Meyering  <meyering@lucent.com>
71561
71562         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
71563         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
71564         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
71565         getgroups.c, gethostname.c, getopt.h, group-member.c,
71566         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
71567         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
71568         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
71569         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
71570         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
71571         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
71572         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
71573         yesno.c: Back out Copyright date changes for each file with no change
71574         this year.  This eases coordination with other programs using the same
71575         source code modules.  From Paul Eggert.
71576
71577 2000-08-06  Paul Eggert  <eggert@twinsun.com>
71578
71579         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
71580         not char, for compatibility with glibc 2.1.3 strftime.c.
71581
71582 2000-08-03  Greg McGary  <greg@mcgary.org>
71583
71584         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
71585         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
71586         (EXTEND_BUFFER): Use them.
71587
71588 2000-08-01  Jim Meyering  <meyering@lucent.com>
71589
71590         * lib/dirname.c (ISSLASH): Define.
71591         (BACKSLASH_IS_PATH_SEPARATOR): Define.
71592         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
71593         both `\' and `/' may be use as path separators.
71594         Based on a patch from Prashant TR.
71595
71596 2000-07-31  Paul Eggert  <eggert@twinsun.com>
71597
71598         * lib/quotearg.c (quotearg_n_options): Don't make the initial
71599         slot vector a constant, since it might get modified.
71600
71601 2000-07-31  Jim Meyering  <meyering@lucent.com>
71602
71603         * lib/xmalloc.c: Use `virtual memory exhausted', not
71604         `Memory exhausted'.
71605         * lib/obstack.c (print_and_abort): Likewise.
71606
71607 2000-07-30  Paul Eggert  <eggert@twinsun.com>
71608
71609         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
71610         buffer, so that the caller can always quote one small
71611         component of a "memory exhausted" message in slot 0.
71612         From a suggestion by Jim Meyering.
71613
71614 2000-07-30  Jim Meyering  <meyering@lucent.com>
71615
71616         * lib/makepath.c (make_path): Quote the other instance, too.
71617
71618         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
71619         (STATIC_BUF_SIZE): Define.
71620         (quotearg_n_options): Use only statically allocated storage when
71621         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
71622         than STATIC_BUF_SIZE.
71623
71624 2000-07-29  Jim Meyering  <meyering@lucent.com>
71625
71626         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
71627         * lib/dirname.c (dir_name): Likewise.
71628
71629         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
71630         `/'.
71631
71632         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
71633         (dir_name): Assert that there are no trailing slashes.
71634
71635 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
71636
71637         * lib/mbswidth.h (mbswidth): Add a flags argument.
71638         (mbswidth): New declaration.
71639         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
71640         * lib/mbswidth.c (mbswidth): Add a flags argument.
71641         (mbsnwidth): New function.
71642
71643 2000-07-24  Jim Meyering  <meyering@lucent.com>
71644
71645         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
71646
71647 2000-07-23  Paul Eggert  <eggert@twinsun.com>
71648
71649         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
71650
71651 2000-07-23  Paul Eggert  <eggert@twinsun.com>
71652
71653         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
71654         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
71655         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
71656         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
71657         invoke multibyte primitives.
71658
71659 2000-07-23  Paul Eggert  <eggert@twinsun.com>
71660
71661         * lib/quotearg.c:
71662         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
71663         so that mbstate_t is always defined.
71664
71665         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
71666         be 1 in at least one GCC installation, and this configuration
71667         error is likely to be common.  Ignoring MB_LEN_MAX hurts
71668         performance on hosts that have mbrtowc but have only unibyte
71669         locales, but I assume these hosts are rare.
71670
71671 2000-07-23  Paul Eggert  <eggert@twinsun.com>
71672
71673         * lib/mbswidth.c (_XOPEN_SOURCE):
71674         Don't define; this causes problems on Solaris 7.
71675         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
71676
71677 2000-07-23  Jim Meyering  <meyering@lucent.com>
71678
71679         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
71680         too: getgrgid, getpwuid, getuid.
71681
71682 2000-07-23  Jim Meyering  <meyering@lucent.com>
71683
71684         * lib/basename.c (base_name): Add an assertion.
71685
71686 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
71687
71688         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
71689         shadow its mbsinit function.
71690
71691 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
71692
71693         * lib/mbswidth.h: New file.
71694         * lib/mbswidth.c: New file.
71695         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
71696         (noinst_HEADERS): Add mbswidth.h.
71697
71698 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
71699
71700         * lib/config.charset: Add support for FreeBSD. Improve support for
71701         HP-UX and IRIX 6.
71702
71703 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
71704
71705         * m4/mbswidth.m4: New file.
71706         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
71707
71708 2000-07-15  Jim Meyering  <meyering@lucent.com>
71709
71710         * lib/makepath.c: Include quote.h.
71711         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
71712         corresponding argument in a `quote (...)' call.
71713         Give better diagnostics.
71714
71715         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
71716         (noinst_HEADERS): Add quote.h.
71717
71718         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
71719         from tar's src/misc.c.
71720         * lib/quote.h: New file.  Prototypes for same.
71721
71722 2000-07-14  Paul Eggert  <eggert@twinsun.com>
71723
71724         From a suggestion by Bruno Haible.
71725         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
71726         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
71727         to decide whether to define the BeOS workaround macro;
71728         this adjusts to the change to AC_MBSTATE_T.
71729
71730 2000-07-14  Jim Meyering  <meyering@lucent.com>
71731
71732         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
71733         jm_AC_TYPE_UINTMAX_T.
71734
71735 2000-07-13  Paul Eggert  <eggert@twinsun.com>
71736
71737         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
71738
71739         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
71740         quotearg_buffer_restyled): Add support for
71741         clocale_quoting_style.  Undo previous change to
71742         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
71743         and "{RIGHT QUOTATION MARK}" msgids.
71744
71745 2000-07-10  Paul Eggert  <eggert@twinsun.com>
71746
71747         From a suggestion by Bruno Haible.
71748         * m4/mbstate_t.m4 (AC_MBSTATE_T):
71749         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
71750         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
71751         and mbstate_t, to a single-part test that simply defines mbstate_t.
71752         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
71753         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
71754
71755 2000-07-10  Jim Meyering  <meyering@lucent.com>
71756
71757         * m4/strerror_r.m4: Mirror the correction made in autoconf.
71758
71759         * m4/gnu-source.m4: Output to confdefs.h directly.
71760         Suggestion from Akim Demaille.
71761
71762 2000-07-09  Paul Eggert  <eggert@twinsun.com>
71763
71764         The old behavior of quoting `like this' doesn't look good with
71765         newer, ISO-style fonts.  See:
71766         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
71767
71768         Instead, quote "like this" by default.  Let the translator
71769         tailor the locale-specific quoting behavior by providing
71770         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
71771
71772         * lib/quotearg.c (N_): New macro.
71773         (gettext_default): New function.
71774         (quotearg_buffer_restyled): Use
71775         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
71776         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
71777
71778 2000-07-09  Jim Meyering  <meyering@lucent.com>
71779
71780         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
71781         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
71782
71783         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
71784         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
71785
71786 2000-07-09  Jim Meyering  <meyering@lucent.com>
71787
71788         * lib/Most files: Update copyright dates to include 2000.
71789
71790 2000-07-08  Jim Meyering  <meyering@lucent.com>
71791
71792         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
71793         if not defined.
71794         (xgethostname): Remove now-unnecessary #ifdef.
71795         Move declaration of `err' into loop where it's used.
71796
71797 2000-07-05  Paul Eggert  <eggert@twinsun.com>
71798         and Bruno Haible  <haible@clisp.cons.org>
71799
71800         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
71801         only if the test for an object-type mbstate_t fails.  This
71802         prevents us from mistakenly reporting that mbstate_t is a
71803         system object type after we "#define mbstate_t int" to work
71804         around its lack.
71805
71806 2000-07-05  Paul Eggert  <eggert@twinsun.com>
71807         and Bruno Haible  <haible@clisp.cons.org>
71808
71809         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
71810
71811 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
71812
71813         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
71814         to strerror_r.
71815         Include <ctype.h> for use of isalpha.
71816
71817 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
71818
71819         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
71820         by allocating a larger buffer. Test the gethostname return value for
71821         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
71822         returns an error and ENAMETOOLONG isn't defined.
71823
71824 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
71825
71826         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
71827         dimension.
71828
71829 2000-07-04  Jim Meyering  <meyering@lucent.com>
71830
71831         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
71832         of the deprecated AC_CHECKING.
71833
71834 2000-07-04  Jim Meyering  <meyering@lucent.com>
71835
71836         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
71837         Reported by Bruno Haible.
71838
71839 2000-07-04  Jim Meyering  <meyering@lucent.com>
71840
71841         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
71842         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
71843         lacks mbrtowc.
71844
71845 2000-07-03  Paul Eggert  <eggert@twinsun.com>
71846
71847         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
71848         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
71849
71850 2000-07-03  Paul Eggert  <eggert@twinsun.com>
71851         and Bruno Haible  <haible@clisp.cons.org>
71852
71853         * lib/quotearg.c (mbrtowc):
71854         Assign to *pwc, and return 1 only if result is nonzero.
71855         (iswprint): Use ISPRINT when substituting our own mbrtowc.
71856
71857 2000-07-03  Jim Meyering  <meyering@lucent.com>
71858
71859         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
71860
71861 2000-07-03  Jim Meyering  <meyering@lucent.com>
71862
71863         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
71864         This is necessary to get a definition of e.g., UTMP_FILE on
71865         HP-UX 10.20.
71866         From Bob Proulx.
71867
71868 2000-07-02  Jim Meyering  <meyering@lucent.com>
71869
71870         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
71871
71872         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
71873         AC_LIBOBJ(function_name).
71874         * m4/chown.m4: Likewise.
71875         * m4/fnmatch.m4: Likewise.
71876         * m4/ftruncate.m4: Likewise.
71877         * m4/getgroups.m4: Likewise.
71878         * m4/getline.m4: Likewise.
71879         * m4/group-member.m4: Likewise.
71880         * m4/jm-macros.m4: Likewise.
71881         * m4/lstat.m4: Likewise.
71882         * m4/malloc.m4: Likewise.
71883         * m4/memcmp.m4: Likewise.
71884         * m4/nanosleep.m4: Likewise.
71885         * m4/putenv.m4: Likewise.
71886         * m4/realloc.m4: Likewise.
71887         * m4/regex.m4: Likewise.
71888         * m4/stat.m4: Likewise.
71889         * m4/strftime.m4: Likewise.
71890
71891 2000-07-02  Jim Meyering  <meyering@lucent.com>
71892
71893         * lib/quotearg.c (mbstate_t): Don't define here.
71894
71895 2000-07-02  Jim Meyering  <meyering@lucent.com>
71896
71897         * lib/nanosleep.c (SIGCONT): Define if not already defined.
71898
71899 2000-07-01  Jim Meyering  <meyering@lucent.com>
71900
71901         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
71902
71903 2000-07-01  Jim Meyering  <meyering@lucent.com>
71904
71905         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
71906         problem.
71907
71908 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
71909
71910         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
71911         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
71912
71913 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
71914
71915         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
71916         per change in ../m4/ls-mntd-fs.m4.
71917         (read_filesystem_list): Ignore symbolic links.
71918
71919 2000-06-29  Jim Meyering  <meyering@lucent.com>
71920
71921         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
71922         for declaration of strcmp.
71923
71924         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
71925
71926         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
71927         Avoid warning by casting result to `char *' to remove `const'.
71928
71929 2000-06-28  Jim Meyering  <meyering@lucent.com>
71930
71931         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
71932         included by quotearg.c, for which we perform this test.  From
71933         Bruno Haible.
71934
71935 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
71936
71937         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
71938         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
71939         <utmpx.h> exists, put readutmp.o into LIBOBJS.
71940
71941 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
71942
71943         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
71944
71945 2000-06-26  Paul Eggert  <eggert@twinsun.com>
71946
71947         savedir now sets errno on failure and invokes xmalloc to get memory.
71948         Fix a couple of other minor bugs while we're at it.
71949
71950         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
71951         (NAMLEN): Remove macro.
71952         (malloc, realloc): Remove decls.
71953         (stpcpy): Likewise.
71954         ("xalloc.h"): Include.
71955         (NAME_SIZE_DEFAULT): New macro.
71956         (savedir): Use xmalloc / xrealloc to allocate memory.
71957         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
71958         Skip "" directory entries.
71959         Use strlen to calculate directory entry length, since the old method
71960         is rarely used these days and isn't worth supporting.
71961         Don't use a pointer after freeing it.
71962         Check for integer overflow when calculating allocation size.
71963         Use memcpy to copy entries, instead of stpcpy.
71964         Set errno properly when returning NULL.
71965         Check for readdir error.
71966
71967 2000-06-26  Jim Meyering  <meyering@lucent.com>
71968
71969         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
71970
71971 2000-06-25  Jim Meyering  <meyering@lucent.com>
71972
71973         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
71974         Linux header bug when _XOPEN_SOURCE is defined to 500.
71975
71976 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
71977
71978         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
71979         deficiency.
71980
71981 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
71982
71983         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
71984         Include xalloc.h.
71985         Don't include <stdlib.h>.  Don't declare malloc, realloc.
71986
71987 2000-06-24  Jim Meyering  <meyering@lucent.com>
71988
71989         * m4/strerror_r.m4: Revive this file -- to try out an experimental
71990         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
71991         for which strerror does return char*, but which lacks a conveniently
71992         accessible declaration of the function.  If the compile-test says
71993         strerror_r doesn't work, then resort to a `run'-test that works on
71994         BeOS and segfaults on DEC Unix.
71995
71996 2000-06-24  Jim Meyering  <meyering@lucent.com>
71997
71998         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
71999
72000 2000-06-23  Paul Eggert  <eggert@twinsun.com>
72001
72002         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
72003         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
72004
72005 2000-06-23  Paul Eggert  <eggert@twinsun.com>
72006
72007         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
72008         (mbrtowc, mbstate_t): Define substitutes if
72009         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
72010         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
72011         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
72012
72013 2000-06-23  Jim Meyering  <meyering@lucent.com>
72014
72015         * m4/afs.m4: Add missing AC_MSG_RESULT.
72016         Reported by Bruno Haible.
72017
72018         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
72019         Suggestion from Bruno Haible.
72020
72021 2000-06-23  Jim Meyering  <meyering@lucent.com>
72022
72023         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
72024
72025 2000-06-21  Jim Meyering  <meyering@lucent.com>
72026
72027         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
72028
72029 2000-06-21  Jim Meyering  <meyering@lucent.com>
72030
72031         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
72032         (noinst_HEADERS): Add getstr.h.
72033
72034         * lib/getline.c (getstr): Move into a separate file.
72035         * lib/getstr.c (getstr): New file, extracted from getline.c, with
72036         the following changes: new parameter, delim2; both delim[12]
72037         parameters have type `int', not `char'.  The latter would lose
72038         with 8-bit delimiters.
72039         * lib/getstr.h: New file.
72040
72041 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
72042
72043         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
72044         than 1024, return a memory chunk of least possible size, instead
72045         of size PATH_MAX + 2. In the loop, increment the size proportionally.
72046         Use free/xmalloc instead of xrealloc to avoid copying for very long
72047         paths.
72048
72049 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
72050
72051         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
72052         the empty string.
72053
72054 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
72055
72056         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
72057         address, not strdup.  Include <stdlib.h> and don't declare free().
72058
72059 2000-06-19  Jim Meyering  <meyering@lucent.com>
72060
72061         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
72062
72063 2000-06-18  Jim Meyering  <meyering@lucent.com>
72064
72065         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
72066
72067         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
72068         `checking whether...' message to be consistent with that of the
72069         lstat test.
72070
72071 2000-06-18  Jim Meyering  <meyering@lucent.com>
72072
72073         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
72074         Besides, these days every porting target provides a mkdir function.
72075
72076         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
72077         needed. (this snippet comes from src/system.h).
72078
72079 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
72080
72081         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
72082
72083 2000-06-15  Paul Eggert  <eggert@twinsun.com>
72084
72085         * lib/human.c (adjust_value): New function.
72086         (human_readable_inexact): Apply rounding style even when
72087         printing approximate values.
72088
72089 2000-06-14  Paul Eggert  <eggert@twinsun.com>
72090
72091         * lib/human.c (human_readable_inexact): Allow an input block
72092         size that is not a multiple of the output block size, and vice versa.
72093         Reported by Piergiorgio Sartor.
72094
72095 2000-06-14  Paul Eggert  <eggert@twinsun.com>
72096
72097         * lib/getdate.y (get_date): Apply relative times after time
72098         zone indicator, not before.  Reported by Todd A. Jacobs.
72099
72100 2000-06-13  Jim Meyering  <meyering@lucent.com>
72101
72102         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
72103
72104         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
72105
72106 2000-06-12  Paul Eggert  <eggert@twinsun.com>
72107
72108         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
72109
72110 2000-06-12  Jim Meyering  <meyering@lucent.com>
72111
72112         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
72113         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
72114         optional argument.
72115         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
72116         the optional argument, `lib'.
72117
72118 2000-06-08  Jim Meyering  <meyering@lucent.com>
72119
72120         * m4/largefile.m4: Remove file (now that it's part of autoconf).
72121
72122 2000-06-04  Paul Eggert  <eggert@twinsun.com>
72123
72124         Rewrite largefile configuration so that we don't need to run
72125         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
72126         AC_CANONICAL_HOST in configure.in -- jmm]
72127
72128         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
72129         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
72130         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
72131         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
72132         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
72133         All uses changed.
72134         Instead of inspecting the output of getconf, try to compile the
72135         test program without and with the macro definition.
72136         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
72137         for getconf.  Instead, check for the needed flags by compiling
72138         test programs.
72139
72140 2000-06-04  Paul Eggert  <eggert@twinsun.com>
72141
72142         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
72143
72144 2000-06-04  Jim Meyering  <meyering@lucent.com>
72145
72146         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
72147         SunOS 4.1.4 for which gid_t is an unsigned type.
72148
72149 2000-06-03  Jim Meyering  <meyering@lucent.com>
72150
72151         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
72152         now that autoconf requires that.
72153
72154         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
72155         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
72156         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
72157
72158 2000-06-03  Jim Meyering  <meyering@lucent.com>
72159
72160         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
72161
72162 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
72163
72164         * m4/glibc21.m4: New file.
72165         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
72166
72167 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
72168
72169         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
72170         newer, don't install charset.alias.
72171         * lib/config.charset: Change the Linux/glibc rules so they become empty
72172         on glibc-2.1 or newer.
72173
72174 2000-06-02  Jim Meyering  <meyering@lucent.com>
72175
72176         * lib/mountlist.c: Back out last change.  Instead, do this...
72177         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
72178         me_dummy member using the same `ignore'-testing code.
72179         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
72180         fs_type strings.
72181         From Mark D. Roth.
72182
72183 2000-05-29  Jim Meyering  <meyering@lucent.com>
72184
72185         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
72186         mounts with the `ignore' attribute.  Based on a patch from
72187         Mark D. Roth.
72188
72189 2000-05-28  Jim Meyering  <meyering@lucent.com>
72190
72191         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
72192         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
72193         * m4/stat.m4: Likewise.
72194         * m4/lstat.m4: Likewise.
72195         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
72196
72197         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
72198         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
72199
72200 2000-05-26  Jim Meyering  <meyering@lucent.com>
72201
72202         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
72203
72204 2000-05-24  Jim Meyering  <meyering@lucent.com>
72205
72206         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
72207         autoconf requires that.
72208         * m4/lib-check.m4: Likewise.
72209         * m4/jm-macros.m4: Likewise.
72210         * m4/strftime.m4: Likewise.
72211
72212         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
72213         AC_CHECK_DECLS, now that autoconf requires that.
72214
72215 2000-05-22  Jim Meyering  <meyering@lucent.com>
72216
72217         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
72218         * m4/lstat.m4: Likewise.
72219
72220 2000-05-22  Jim Meyering  <meyering@lucent.com>
72221
72222         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
72223
72224 2000-05-20  Jim Meyering  <meyering@lucent.com>
72225
72226         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
72227         (jm_PREREQ): Use it.
72228
72229 2000-05-18  Jim Meyering  <meyering@lucent.com>
72230
72231         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
72232         back, too, since it may have been modified by allocate_entry.
72233         (hash_delete): Rewrite to use neither the assignment operator
72234         nor the comma operator in an if-expression.
72235
72236 2000-05-15  Paul Eggert  <eggert@twinsun.com>
72237
72238         * lib/closeout.c:
72239         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
72240         Remove; no longer needed.
72241         "quotearg.h": Add include.
72242         (file_name): Do not bother to explicitly initialize to NULL; it's less
72243         efficient on some hosts.
72244         (close_stdout_status): Remove test as to whether stdout was already
72245         closed; it breaks for the case "echo x | sort >&-".
72246         Quote file name colons.
72247         Do not assume that _("write error") lacks format strings.
72248
72249 2000-05-15  Jim Meyering  <meyering@lucent.com>
72250
72251         * lib/version-etc.c (version_etc_copyright): Update the copyright
72252         string used in all --version output.
72253
72254 2000-05-14  Jim Meyering  <meyering@lucent.com>
72255
72256         * lib/closeout.c (close_stdout_set_file_name): New function.
72257         (close_stdout_status): Use new file-scoped global.
72258         Return right away if fstat says the stdout file descriptor is invalid.
72259         * lib/closeout.h (close_stdout_set_file_name): Declare.
72260
72261 2000-05-10  Jim Meyering  <meyering@lucent.com>
72262
72263         * lib/closeout.c [default_exit_status]: New file-scoped variable.
72264         (close_stdout_set_status): New function.
72265         * lib/closeout.h (close_stdout_set_status): Declare.
72266
72267 2000-05-09  Jim Meyering  <meyering@lucent.com>
72268
72269         * m4/gettext.m4: Rename this...
72270         * m4/libintl.m4: ...to this.
72271
72272 2000-05-08  Jim Meyering  <meyering@lucent.com>
72273
72274         * lib/long-options.c: Don't include closeout.h.
72275         (parse_long_options): Don't call close_stdout for --version.
72276
72277 2000-05-06  Paul Eggert  <eggert@twinsun.com>
72278
72279         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
72280         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
72281         2.1.3 bug.  This avoids a clash when files like regex.c define
72282         _GNU_SOURCE.
72283
72284 2000-05-06  Jim Meyering  <meyering@lucent.com>
72285
72286         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
72287         (AC_REPLACE_FUNCS): Add strnlen.
72288
72289         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
72290         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
72291
72292         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
72293         AC_SEARCH_LIBS call for nanosleep.
72294         (LIB_NANOSLEEP): Set and AC_SUBST.
72295
72296 2000-05-06  Jim Meyering  <meyering@lucent.com>
72297
72298         * lib/strnlen.c: Undefine __strnlen and strnlen.
72299         [!weak_alias]: Define __strnlen to strnlen.
72300
72301         * lib/atexit.c: New file, from libiberty.
72302
72303 2000-05-06  Jim Meyering  <meyering@lucent.com>
72304
72305         * lib/closeout.c (close_stdout_status): Also check for errors on the
72306         stderr stream.
72307
72308 2000-05-05  Jim Meyering  <meyering@lucent.com>
72309
72310         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
72311         AC_SEARCH_LIBS call for clock_gettime.
72312         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
72313
72314         * m4/search-libs.m4: Update from autoconf.
72315
72316         su doesn't work on Solaris 2.6.
72317         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
72318         <shadow.h>.  Reported by Dragos Harabor.
72319
72320 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
72321
72322         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
72323         memcpy instead of xmalloc, xrealloc, path_concat.
72324         (locale_charset): Treat empty environment variables as absent.
72325         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
72326
72327 2000-05-04  Jim Meyering  <meyering@lucent.com>
72328
72329         * lib/getopt.c: Update from glibc.
72330         * lib/obstack.c: Likewise.
72331         * lib/obstack.h: Likewise.
72332         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
72333         file
72334
72335         * lib/regex.h: Likewise.
72336         * lib/strndup.c: Likewise.
72337         * lib/strnlen.c: New file, from glibc.
72338
72339 2000-05-03  Jim Meyering  <meyering@lucent.com>
72340
72341         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
72342
72343 2000-05-02  Paul Eggert  <eggert@twinsun.com>
72344
72345         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
72346         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
72347         compile-time test, rather than inspecting host and OS, to
72348         decide whether to define _LARGEFILE_SOURCE.
72349
72350 2000-05-01  Jim Meyering  <meyering@lucent.com>
72351
72352         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
72353
72354         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
72355         Based on a patch from Bruno Haible.
72356
72357 2000-05-01  Jim Meyering  <meyering@lucent.com>
72358
72359         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
72360
72361 2000-04-29  Jim Meyering  <meyering@lucent.com>
72362
72363         * lib/path-concat.c: Declare strdup only if it's not defined.
72364         * lib/canon-host.c: Likewise.
72365
72366 2000-04-28  Jim Meyering  <meyering@lucent.com>
72367
72368         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
72369         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
72370         is included first, then limits.h is included by locale.h by libintl.h.
72371         From John David Anglin.
72372
72373 2000-04-25  Jim Meyering  <meyering@lucent.com>
72374
72375         * lib/makepath.c (S_IRWXUGO): Define.
72376         (make_path): Always perform explicit chmod if MODE specifies any
72377         of the `special' permission bits.  Prompted by a bug report against
72378         install from Mate Wierdl and Joost van Baal.
72379
72380 2000-04-18  Jim Meyering  <meyering@lucent.com>
72381
72382         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
72383         (jm_PREREQ): Use it.
72384
72385 2000-04-18  Jim Meyering  <meyering@lucent.com>
72386
72387         * lib/README: New file.
72388
72389         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
72390         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
72391
72392 2000-04-17  Jim Meyering  <meyering@lucent.com>
72393
72394         Get it right :-)
72395         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
72396         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
72397         Suggestion from Akim Demaille.
72398
72399 2000-04-17  Jim Meyering  <meyering@lucent.com>
72400
72401         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
72402         the definition of it to rpl_strftime also defined-away the system's
72403         declaration.
72404
72405 2000-04-15  Jim Meyering  <meyering@lucent.com>
72406
72407         Use `C' to denote so-called `contiguous' files, the same way
72408         that tar does.
72409         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
72410         (ftypelet): Use S_ISCTG.
72411         From Michael Deutschmann.
72412
72413 2000-04-14  Jim Meyering  <meyering@lucent.com>
72414
72415         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
72416         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
72417         clobbered.
72418
72419 2000-04-14  Jim Meyering  <meyering@lucent.com>
72420
72421         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
72422
72423 2000-04-13  Jim Meyering  <meyering@lucent.com>
72424
72425         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
72426         AH_VERBATIM to insert required #ifndef into config.h.in.
72427         Suggestion from Akim Demaille.
72428
72429 2000-04-12  Jim Meyering  <meyering@lucent.com>
72430
72431         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
72432         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
72433         Christian Krackowizer.
72434
72435         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
72436         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
72437         (AC_SYS_LARGEFILE): Require.
72438         (AM_C_PROTOTYPES): Require.
72439
72440 2000-04-08  Jim Meyering  <meyering@lucent.com>
72441
72442         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
72443         names don't conflict.  Reported by Eli Zaretskii.
72444
72445 2000-04-07  Jim Meyering  <meyering@lucent.com>
72446
72447         * lib/putenv.c: Move inclusion of errno.h so it follows that of
72448         sys/types.h, to work around system header problems on AIX 3.2.5.
72449         From Bruno Haible.
72450
72451 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
72452
72453         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
72454         bug.  Deal with the different error behavior of Irix iconv.
72455
72456 2000-04-05  Paul Eggert  <eggert@twinsun.com>
72457
72458         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
72459         IRIX if the installer said otherwise.
72460
72461 2000-04-05  Jim Meyering  <meyering@lucent.com>
72462
72463         Portability tweaks required for ultrix4.3.
72464         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
72465         (jm_CHECK_DECLS): Add getutent to the list of functions.
72466         (_jm_DECL_HEADERS): Add utmpx.h.
72467         From John David Anglin.
72468
72469         * m4/strftime.m4: Back out the 2000-04-02 change.
72470         Instead of that change, simply undefine putenv in the test program.
72471
72472 2000-04-05  Jim Meyering  <meyering@lucent.com>
72473
72474         Portability tweaks required for ultrix4.3.
72475         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
72476         getutent.
72477         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
72478         * lib/canon-host.c: Declare strdup.
72479         * lib/path-concat.c: Likewise.
72480         From John David Anglin.
72481
72482 2000-04-04  Jim Meyering  <meyering@lucent.com>
72483
72484         Be more DOS 8.3-friendly.
72485         * lib/ref-add.sin: Renamed from ref-add.sed.in.
72486         * lib/ref-del.sin: Renamed from ref-del.sed.in.
72487         * lib/Makefile.am: Reflect renaming.
72488         Reported by Eli Zaretskii.
72489
72490         Use a temporary file name that won't clash with `charset.alias'
72491         in the DOS 8.3 name space.
72492         * lib/Makefile.am (charset_tmp): Define.
72493         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
72494         (uninstall-local): Likewise.
72495         Reported by Eli Zaretskii.
72496
72497 2000-04-03  Jim Meyering  <meyering@lucent.com>
72498
72499         * m4/gettext.m4: Fix typo in comment.
72500
72501         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
72502         textutils/configure.in).  Suggestion from Paul Eggert.
72503         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
72504
72505 2000-04-02  Paul Eggert  <eggert@twinsun.com>
72506
72507         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
72508         variable in the shell rather than using putenv, which isn't
72509         portable.  This avoids the configure-time inter-test dependency
72510         on the potentially-renamed putenv function.
72511
72512 2000-03-30  Paul Eggert  <eggert@twinsun.com>
72513
72514         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
72515         before checking struct stat.st_blksize, so that
72516         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
72517
72518 2000-03-29  Paul Eggert  <eggert@twinsun.com>
72519
72520         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
72521         since strftime.c uses HAVE_STRFTIME to decide whether to use
72522         the underlying strftime.
72523
72524 2000-03-29  Paul Eggert  <eggert@twinsun.com>
72525
72526         * lib/time/strftime.c (my_strftime): Make sure we call the system
72527         strftime, not ourselves, when invoking the underlying strftime.
72528
72529 2000-03-24  Jim Meyering  <meyering@lucent.com>
72530
72531         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
72532         (charset_alias): Define.
72533         (install-exec-local): Factor out common code.
72534         (uninstall-local): Split lines longer than 80.
72535         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
72536         (SUFFIXES): Define.
72537         (.sed.in.sed): New rule.  Don't redirect directly to $@.
72538         (CLEANFILES): Add ref-add.sed and ref-del.sed.
72539
72540 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
72541
72542         * lib/config.charset: Output a line containing "Packages using this
72543         file".
72544         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
72545         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
72546         ref-del.sed): New rules.
72547
72548 2000-03-17  Jim Meyering  <meyering@lucent.com>
72549
72550         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
72551         Otherwise, include <strings.h>
72552
72553 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
72554
72555         * lib/unicodeio.c (utf8_wctomb): New function.
72556         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
72557         format instead of in UCS-4 with platform dependent endianness.
72558
72559 2000-03-10  Jim Meyering  <meyering@lucent.com>
72560
72561         * m4/lib-check.m4: Look for getspnam in -lgen, too.
72562         From Marco Franzen.
72563
72564 2000-03-07  Paul Eggert  <eggert@twinsun.com>
72565
72566         * lib/savedir.c (savedir): Work even if directory size is
72567         negative; this can happen with some screwy NFS configurations.
72568
72569 2000-03-06  Jim Meyering  <meyering@lucent.com>
72570
72571         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
72572         if it's NULL (because we ran out of memory).  From Bruno Haible.
72573
72574 2000-03-05  Jim Meyering  <meyering@lucent.com>
72575
72576         * lib/localcharset.c ("path-concat.h"): Include.
72577         (get_charset_aliases): Use path_concat instead of ANSI string
72578         concatenation.
72579
72580         * lib/unicodeio.h (PARAMS): Define.
72581         Use it to guard prototype.
72582
72583 2000-03-04  Jim Meyering  <meyering@lucent.com>
72584
72585         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
72586         for lib/localcharset.c.
72587
72588 2000-03-04  Jim Meyering  <meyering@lucent.com>
72589
72590         * lib/Makefile.am (install-exec-local): Create $(libdir) before
72591         installing into it.
72592         (uninstall-local): Uncomment this rule so `make distcheck' works
72593         once again.
72594
72595         * lib/unicodeio.c (<errno.h>): Include it.
72596         (errno): Declare if not defined.
72597
72598         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
72599
72600         * lib/config.charset: New version, incorporating remarks from a linux
72601         i18n mailing list.  From Bruno Haible.
72602
72603 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
72604
72605         * m4/codeset.m4: New file.
72606         * m4/iconv.m4: New file.
72607         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
72608
72609 2000-03-03  Jim Meyering  <meyering@lucent.com>
72610
72611         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
72612
72613 2000-03-02  Jim Meyering  <meyering@lucent.com>
72614
72615         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
72616         the messages come out on separate lines.
72617
72618         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
72619         rather than jm_CHECK_DECLARATIONS.
72620         * m4/decl.m4: Remove now-unused file.
72621
72622         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
72623         geteuid.
72624
72625 2000-03-02  Jim Meyering  <meyering@lucent.com>
72626
72627         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
72628
72629 2000-03-01  Jim Meyering  <meyering@lucent.com>
72630
72631         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
72632         * lib/unicodeio.c: Likewise.
72633
72634 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
72635
72636         * lib/config.charset: New file.
72637         * lib/localcharset.c: New file.
72638         * lib/unicodeio.h, lib/unicodeio.c: New files.
72639         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
72640         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
72641         (noinst_HEADERS): Add unicodeio.h.
72642         (all-local, install-exec-local, charset.alias): New targets.
72643
72644 2000-02-28  Paul Eggert  <eggert@twinsun.com>
72645
72646         * lib/quotearg.c (ALERT_CHAR): New macro.
72647         (quotearg_buffer_restyled): Use it.
72648
72649 2000-02-27  Jim Meyering  <meyering@lucent.com>
72650
72651         * m4/check-decl.m4: Add getenv to the list.
72652
72653 2000-02-27  Jim Meyering  <meyering@lucent.com>
72654
72655         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
72656         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
72657
72658         * lib/backupfile.c: Guard inclusion of stdlib.h with
72659         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
72660         Declare malloc if needed.
72661
72662         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
72663         `#ifndef HAVE_DECL..'
72664         now that autoconf always defines the HAVE_DECL_ symbols.
72665         * lib/human.c: Likewise.
72666         * lib/same.c: Likewise.
72667         * lib/strtoumax.c: Likewise.
72668
72669         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
72670         declaration check was not run.
72671         * lib/hash.c: Likewise.
72672         * lib/human.c: Likewise.
72673         * lib/same.c: Likewise.
72674         * lib/strtoumax.c: Likewise.
72675
72676         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
72677         `.', then first look up the entire `.'-containing string as a login
72678         name.
72679
72680 2000-02-23  Jim Meyering  <meyering@lucent.com>
72681
72682         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
72683         in place of my hack.
72684
72685 2000-02-18  Paul Eggert  <eggert@twinsun.com>
72686
72687         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
72688         (textint): New typedef.
72689         (parser_control): Member year changed from int to textint.
72690         All uses changed.
72691         (YYSTYPE): Removed; replaced by %union with int and textint members.
72692         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
72693         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
72694         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
72695         (tSNUMBER, tUNUMBER): Now of type <textintval>.
72696         (date, number, to_year): Use width of number in digits, not its value,
72697         to determine whether it's a 2-digit year, or a 2-digit time.
72698         (yylex): Store number of digits of numeric tokens.
72699         Reported by John Kendall.
72700
72701         (parser_control): Changed from struct parser_control to typedef (for
72702         consistency).  All uses changed.
72703
72704         (tID): Removed; not used.
72705         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
72706
72707 2000-02-14  Paul Eggert  <eggert@twinsun.com>
72708
72709         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
72710         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
72711
72712 2000-02-12  Jim Meyering  <meyering@lucent.com>
72713
72714         * lib/userspec.c (ISDIGIT): Define it.
72715         (isdigit): Remove definition.
72716         (is_number): Use ISDIGIT, not isdigit.
72717         <libintl.h>: Include.
72718         (_ and N_): Define.
72719         (parse_user_spec): Mark translatable strings.
72720
72721 2000-02-10  Jim Meyering  <meyering@lucent.com>
72722
72723         With these changes, nanosleep.[ch] are finally enough like the other
72724         lib/* replacement files to compile on a few more losing systems.
72725
72726         * lib/nanosleep.h: Don't include config.h.
72727         Remove prototype from declaration of nanosleep.
72728         (PARAMS): Remove now-unneeded definition.
72729         * lib/nanosleep.c: #undef nanosleep.
72730         (rpl_nanosleep): Rename from nanosleep.
72731
72732 2000-02-10  Jim Meyering  <meyering@lucent.com>
72733
72734         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
72735         gnu_nanosleep to rpl_nanosleep.
72736
72737 2000-02-09  Jim Meyering  <meyering@lucent.com>
72738
72739         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
72740         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
72741
72742 2000-02-08  Akim Demaille  <akim@epita.fr>
72743
72744         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
72745         `[' and `]' and remove uses of `changequote'.
72746         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
72747         (AC_SYS_LARGEFILE): Likewise.
72748         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
72749         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
72750         of changequote.
72751         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
72752         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
72753         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
72754         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
72755
72756 2000-02-05  Jim Meyering  <meyering@lucent.com>
72757
72758         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
72759         Remove explicit use of AC_HEADER_TIME.  It is required by
72760         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
72761         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
72762         in autoconf whereby the expansion of the latter ended up preceding
72763         the expansion of its prerequisite, AC_HEADER_TIME.
72764         Reported by Volker Borchert.
72765
72766 2000-02-03  Jim Meyering  <meyering@lucent.com>
72767
72768         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
72769
72770 2000-02-03  Jim Meyering  <meyering@lucent.com>
72771
72772         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
72773         rather than with `#if HAVE_UTMPNAME'.
72774
72775 2000-02-02  Jim Meyering  <meyering@lucent.com>
72776
72777         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
72778         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
72779         Reported by Eli Zaretskii.
72780
72781 2000-02-01  Jim Meyering  <meyering@lucent.com>
72782
72783         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
72784
72785 2000-01-31  Jim Meyering  <meyering@lucent.com>
72786
72787         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
72788         functions.  Add the time.h and sys/time.h headers along with the
72789         AC_REQUIRE'ment of AC_HEADER_TIME.
72790
72791 2000-01-31  Jim Meyering  <meyering@lucent.com>
72792
72793         * lib/nanosleep.h (nanosleep): Guard declaration with
72794         `#if ! HAVE_DECL_NANOSLEEP'.
72795         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
72796         the declaration in that vendor's sys/timers.h.
72797         Reported by Christian Krackowizer.
72798
72799         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
72800         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
72801         (ISPRINT): Likewise.
72802         Reported by Tom Tromey.
72803
72804 2000-01-30  Jim Meyering  <meyering@lucent.com>
72805
72806         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
72807
72808         * m4/prereq.m4 (utmp_includes): Define.
72809         Check for ut_user and ut_name members in both struct utmpx
72810         and struct utmp.
72811
72812 2000-01-30  Jim Meyering  <meyering@lucent.com>
72813
72814         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
72815         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
72816         header files where only utmpx.ut_user is declared.
72817
72818         * lib/readutmp.h (UT_USER): Define.
72819
72820 2000-01-29  Jim Meyering  <meyering@lucent.com>
72821
72822         * m4/lib-check.m4: New file containing library-related checks from
72823         fileutils and sh-utils (textutils had none).
72824
72825 2000-01-28  Jim Meyering  <meyering@lucent.com>
72826
72827         * m4/perl.m4: Change format of warning message to look more like that
72828         from the missing script.  Suggestion from François Pinard.
72829
72830 2000-01-25  Jim Meyering  <meyering@lucent.com>
72831
72832         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
72833         well as time.h in the compile check.
72834         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
72835         Fix typo in cross-compiling case: s/yes/no/.
72836
72837 2000-01-23  Jim Meyering  <meyering@lucent.com>
72838
72839         * m4/jm-macros.m4: Move df-related tests here from
72840         fileutils/configure.in
72841
72842         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
72843         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
72844
72845         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
72846         s/space/ac_fsusage_space/.
72847         (jm_FILE_SYSTEM_USAGE): Take two parameters.
72848
72849         * m4/ftruncate.m4: New file (derived from part of
72850         fileutils/configure.in).
72851         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
72852         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
72853
72854         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
72855         AC_SUBST these here, rather than just in sh-util/configure.in, so
72856         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
72857         all the same.
72858         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
72859         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
72860         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
72861         (AC_SUBST(POW_LIBM)): Likewise.
72862         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
72863
72864 2000-01-23  Jim Meyering  <meyering@lucent.com>
72865
72866         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
72867         obstack.c.
72868
72869 2000-01-22  Jim Meyering  <meyering@lucent.com>
72870
72871         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
72872
72873         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
72874
72875         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
72876         configure.in
72877         (AC_CHECK_HEADERS): Likewise for sh-utils.
72878         (AC_CHECK_HEADERS): Likewise for textutils.
72879         Merge the three lists of headers.
72880
72881         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
72882         from fileutils' configure.in.
72883
72884         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
72885         code. Moved tests into their own function (_jm_DECL_HEADERS) in
72886         check-decl.m4.
72887
72888         * m4/check-decl.m4: Use #if rather than #ifdef.
72889         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
72890         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
72891         (_jm_DECL_HEADERS): Define new function.
72892         (jm_CHECK_DECLARATIONS): Require it.
72893
72894 2000-01-22  Jim Meyering  <meyering@lucent.com>
72895
72896         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
72897         [! HAVE_DECL_STRTOULL]: Declare strtoull.
72898         Required for some AIX systems.  Reported by Christian Krackowizer.
72899         [TESTING] (main): New function.
72900
72901         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
72902         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
72903         letters.
72904
72905         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
72906         iswprint.
72907
72908         * lib/strverscmp.c (ISDIGIT): Define.
72909         (strverscmp): Use ISDIGIT, not isdigit.
72910
72911 2000-01-19  Jim Meyering  <meyering@lucent.com>
72912
72913         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
72914         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
72915         defines `struct timespec' in <sys/time.h>
72916
72917         * m4/c-bs-a.m4: Remove uses of changequote altogether.
72918         Thanks to Akim for explaining.
72919
72920 2000-01-17  Paul Eggert  <eggert@twinsun.com>
72921
72922         * lib/nanosleep.c (nanosleep):
72923         Don't use SA_INTERRUPT to decide whether to call sigaction, as
72924         POSIX.1 doesn't require SA_INTERRUPT and some systems
72925         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
72926         it's been part of POSIX.1 since day 1 (in 1988).
72927
72928 2000-01-17  Jim Meyering  <meyering@lucent.com>
72929
72930         * lib/interlock: Remove unused file.  Reported by François Pinard.
72931
72932 2000-01-16  Paul Eggert  <eggert@twinsun.com>
72933
72934         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
72935         alert, backslash, formfeed, and vertical tab unnecessarily in
72936         shell quoting style.
72937
72938 2000-01-16  Jim Meyering  <meyering@lucent.com>
72939
72940         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
72941         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
72942         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
72943         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
72944
72945 2000-01-16  Jim Meyering  <meyering@lucent.com>
72946
72947         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
72948         because the latter didn't work.
72949
72950 2000-01-15  Jim Meyering  <meyering@lucent.com>
72951
72952         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
72953         (AC_REPLACE_FUNCS): Add memcpy and memset.
72954         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
72955         Add strpbrk.
72956         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
72957
72958 2000-01-12  Jim Meyering  <meyering@lucent.com>
72959
72960         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
72961         (jm_PREREQ): Use it.
72962         (jm_PREREQ_READUTMP): New macro.
72963         (jm_PREREQ): Use it.
72964
72965 2000-01-11  Paul Eggert  <eggert@twinsun.com>
72966
72967         Quote multibyte characters correctly.
72968         * m4/c-bs-a.m4: New file.
72969         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
72970         (jm_PREREQ): Use it.
72971
72972 2000-01-11  Paul Eggert  <eggert@twinsun.com>
72973
72974         * m4/uintmax_t.m4: Port to autoconf 2.13.
72975
72976 2000-01-08  Jim Meyering  <meyering@ascend.com>
72977
72978         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
72979         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
72980
72981 2000-01-04  Jim Meyering  <meyering@ascend.com>
72982
72983         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
72984         jm_STRUCT_DIRENT_D_TYPE.
72985         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
72986         jm_STRUCT_DIRENT_D_INO.
72987         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
72988         jm_STRUCT_UTIMBUF.
72989         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
72990         renamings.
72991         * m4/utime.m4: Likewise.
72992
72993         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
72994         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
72995
72996 2000-01-03  Paul Eggert  <eggert@twinsun.com>
72997
72998         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
72999         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
73000
73001 2000-01-02  Jim Meyering  <meyering@ascend.com>
73002
73003         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
73004         remember if this is necessary.
73005
73006 1999-12-26  Jim Meyering  <meyering@ascend.com>
73007
73008         * m4/jm-macros.m4: Use it here.
73009         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
73010
73011 1999-12-23  Jim Meyering  <meyering@ascend.com>
73012
73013         * m4/jm-macros.m4: Check for clock_gettime (moved from
73014         fileutils/configure.in)
73015         Check for gettimeofday.
73016
73017 1999-12-20  Jim Meyering  <meyering@ascend.com>
73018
73019         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
73020         autoconf-2.14a-1999-12-20.
73021
73022 1999-12-19  Jim Meyering  <meyering@ascend.com>
73023
73024         * m4/lstat-slash.m4: New file.
73025         * m4/jm-macros.m4: Use the new macro:
73026         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
73027
73028 1999-12-07  Jim Meyering  <meyering@ascend.com>
73029
73030         * m4/perl.m4: Require that File::Compare be available, too.
73031         Too many systems seem to lack it.
73032
73033         * m4/strftime.m4: Add checks for most of the cpp macros tested in
73034         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
73035
73036 1999-11-18  Paul Eggert  <eggert@twinsun.com>
73037
73038         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
73039         problem with the QNX 4.25 shell, which doesn't propagate exit
73040         status of failed commands inside shell assignments.
73041
73042 1999-11-17  Jim Meyering  <meyering@ascend.com>
73043
73044         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
73045
73046 1999-11-07  Jim Meyering  <meyering@ascend.com>
73047
73048         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
73049
73050 1999-11-06  Jim Meyering  <meyering@ascend.com>
73051
73052         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
73053         * m4/jm-macros.m4 (jm_MACROS): Use it here.
73054
73055 1999-11-05  Jim Meyering  <meyering@ascend.com>
73056
73057         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
73058         configure.in of textutils, fileutils, and sh-utils into this one
73059         (shared between those packages) file.
73060         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
73061         AC_STRUCT_ST_BLKSIZE.
73062
73063 1999-11-03  Jim Meyering  <meyering@ascend.com>
73064
73065         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
73066         of AC_CHECK_TYPE checks includes unistd.h.
73067         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
73068         Suggestion from Akim Demaille.
73069
73070 1999-10-30  Jim Meyering  <meyering@ascend.com>
73071
73072         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
73073         m4-quoted string.
73074         * m4/ls-mntd-fs.m4: Likewise.
73075         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
73076         * m4/jm-winsz1.m4: Likewise.
73077
73078         * m4/const.m4: Remove file, since the fix made it into the experimental
73079         version of autoconf.
73080         * m4/mktime.m4: Likewise.
73081
73082         * m4/check-type.m4: Remove file, now that the latest version of
73083         AC_CHECK_TYPE takes a third arg to specify additional #includes.
73084
73085         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
73086         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
73087         AC_CHECK_TYPE.
73088
73089 1999-10-04  Jim Meyering  <meyering@ascend.com>
73090
73091         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
73092
73093 1999-09-22  Paul Eggert  <eggert@twinsun.com>
73094
73095         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
73096         2.95.1 bug with HP-UX 10.20.
73097
73098 1999-09-17  Jim Meyering  <meyering@ascend.com>
73099
73100         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
73101         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
73102         due to missing strdup (against sh-utils-2.0).
73103
73104 1999-08-29  Jim Meyering  <meyering@ascend.com>
73105
73106         * m4/jm-macros.m4: Require jm_BISON.
73107         * m4/bison.m4: New file.
73108
73109 1999-08-17  Paul Eggert  <eggert@twinsun.com>
73110
73111         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
73112         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
73113
73114 1999-08-05  Jim Meyering  <meyering@ascend.com>
73115
73116         * m4/getline.m4: Rename test file from conftestdata to conftest.data
73117         to avoid conflicts with `conftest' on 8+3 filesystems.
73118         Suggestion from Eli Zaretskii.
73119
73120 1999-08-04  Jim Meyering  <meyering@ascend.com>
73121
73122         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
73123         fileutils and sh-utils (textutils's getline test was inadequate).
73124         (AM_FUNC_GETLINE): Run this test.
73125         (AC_CHECK_FUNCS): Check for getdelim.
73126         Reported by Bob Proulx.
73127
73128 1999-08-02  Jim Meyering  <meyering@ascend.com>
73129
73130         * m4/jm-macros.m4: Add a comment.
73131
73132 1999-08-01  Paul Eggert  <eggert@twinsun.com>
73133
73134         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
73135         <inttypes.h> defines strtoumax as a macro (and not as a
73136         function).
73137
73138 1999-08-01  Paul Eggert  <eggert@twinsun.com>
73139
73140         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
73141         that we can shift, multiply and divide unsigned long long
73142         values; Ultrix cc can't do it.
73143
73144 1999-08-01  Paul Eggert  <eggert@twinsun.com>
73145
73146         * m4/mktime.m4: New file, which is a preview of what should appear
73147         in the next public autoconf release.
73148
73149 1999-08-01  Paul Eggert  <eggert@twinsun.com>
73150
73151         * m4/lfs.m4: Remove this file.
73152         * m4/largefile.m4: New file.  It contains the old contents of
73153         lfs.m4, except that all names with prefix AC_LFS have been
73154         changed to use the prefix AC_SYS_LARGEFILE instead, to be
73155         compatible with future autoconf versions.  Also, some minor m4
73156         quoting problems have been fixed.
73157
73158 1999-08-01  Paul Eggert  <eggert@twinsun.com>
73159
73160         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
73161         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
73162         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
73163         and simplify the shell code.
73164
73165 1999-08-01  Jim Meyering  <meyering@ascend.com>
73166
73167         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
73168         m4.
73169
73170 1999-07-20  Jim Meyering  <meyering@ascend.com>
73171
73172         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
73173
73174 1999-07-15  Jim Meyering  <meyering@ascend.com>
73175
73176         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
73177
73178 1999-05-22  Jim Meyering  <meyering@ascend.com>
73179
73180         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
73181
73182 1999-05-20  Jim Meyering  <meyering@ascend.com>
73183
73184         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
73185         Add a colon after each `then' in case $4 is empty.
73186
73187 1999-05-16  Jim Meyering  <meyering@ascend.com>
73188
73189         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
73190
73191 1999-05-10  Jim Meyering  <meyering@ascend.com>
73192
73193         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
73194
73195         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
73196         AC_FUNC_MKTIME.
73197
73198 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
73199
73200         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
73201
73202 1999-05-04  Paul Eggert  <eggert@twinsun.com>
73203
73204         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
73205         not CPPFLAGS, so that linking works correctly in IRIX.
73206
73207 1999-04-30  Paul Eggert  <eggert@twinsun.com>
73208
73209         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
73210
73211 1999-04-20  Paul Eggert  <eggert@twinsun.com>
73212
73213         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
73214         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
73215         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
73216         jm_AC_TYPE_UNSIGNED_LONG_LONG.
73217         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
73218
73219         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
73220
73221 1999-04-20  Jim Meyering  <meyering@ascend.com>
73222
73223         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
73224         AC_REPLACE xstroull if necessary.  From Paul Eggert.
73225         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
73226
73227 1999-04-18  Jim Meyering  <meyering@ascend.com>
73228
73229         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
73230         * m4/jm-macros.m4: Use it.
73231
73232 1999-04-06  Jim Meyering  <meyering@ascend.com>
73233
73234         * m4/strftime.m4: Remove test for %f.
73235
73236 1999-03-29  Jim Meyering  <meyering@ascend.com>
73237
73238         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
73239         superset of the AC_TYPE_* checks in the textutils, fileutils,
73240         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
73241         AC_TYPE_PID_T.
73242
73243 1999-03-28  Jim Meyering  <meyering@ascend.com>
73244
73245         * m4/jm-macros.m4: Define GNU_PACKAGE here.
73246         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
73247         replaced e.g., in the *.sh files of the sh-utils.
73248
73249 1999-03-20  Jim Meyering  <meyering@ascend.com>
73250
73251         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
73252         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
73253         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
73254
73255 1999-03-19  Jim Meyering  <meyering@ascend.com>
73256
73257         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
73258
73259 1999-03-12  Jim Meyering  <meyering@ascend.com>
73260
73261         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
73262
73263 1999-03-07  Jim Meyering  <meyering@ascend.com>
73264
73265         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
73266         declared.
73267
73268 1999-02-17  Jim Meyering  <meyering@ascend.com>
73269
73270         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
73271         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
73272
73273 1999-02-07  Jim Meyering  <meyering@ascend.com>
73274
73275         * m4/group-member.m4: New file -- extracted from sh-utils'
73276         configure.in.
73277
73278         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
73279         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
73280
73281 1999-02-06  Jim Meyering  <meyering@ascend.com>
73282
73283         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
73284         * m4/fnmatch.m4: Likewise.
73285         * m4/getgroups.m4: Likewise.
73286         * m4/lstat.m4: Likewise.
73287         * m4/malloc.m4: Likewise.
73288         * m4/putenv.m4: Likewise.
73289         * m4/realloc.m4: Likewise.
73290         * m4/regex.m4: Likewise.
73291         * m4/stat.m4: Likewise.
73292         * m4/strftime.m4: Likewise.
73293         Suggestion from Alain Magloire.
73294
73295         * m4/chown.m4: Use `.$ac_objext', not `.o'.
73296         * m4/fnmatch.m4: Likewise.
73297         * m4/getgroups.m4: Likewise.
73298         * m4/getline.m4: Likewise.
73299         * m4/lstat.m4: Likewise.
73300         * m4/malloc.m4: Likewise.
73301         * m4/memcmp.m4: Likewise.
73302         * m4/putenv.m4: Likewise.
73303         * m4/realloc.m4: Likewise.
73304         * m4/regex.m4: Likewise.
73305         * m4/stat.m4: Likewise.
73306         * m4/strftime.m4: Likewise.
73307         Suggestion from Alain Magloire.
73308
73309         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
73310         an argument.
73311
73312         * m4/regex.m4: Add a run-time Test for proper operation of
73313         re_compile_pattern.
73314
73315 1999-01-31  Jim Meyering  <meyering@ascend.com>
73316
73317         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
73318
73319 1999-01-30  Jim Meyering  <meyering@ascend.com>
73320
73321         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
73322
73323         * m4/jm-mktime.m4: Make this a wrapper around the official
73324         AM_FUNC_MKTIME rather than my private copy, now that the official one
73325         is up to date.
73326         * m4/mktime.m4: Remove file.
73327
73328         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
73329         * m4/uptime.m4: Likewise.
73330         * m4/uintmax_t.m4: Likewise.
73331
73332 1999-01-28  Jim Meyering  <meyering@ascend.com>
73333
73334         * m4/jm-macros.m4: Use jm_AFS.
73335         * m4/afs.m4: New file (from fileutils' configure.in).
73336
73337         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
73338         * m4/chown.m4: Likewise.
73339         * m4/d-ino.m4: Likewise.
73340         * m4/d-type.m4: Likewise.
73341         * m4/fnmatch.m4: Likewise.
73342         * m4/getgroups.m4: Likewise.
73343         * m4/gettext.m4: Likewise.
73344         * m4/jm-mktime.m4: Likewise.
73345         * m4/jm-winsz2.m4: Likewise.
73346         * m4/lcmessage.m4: Likewise.
73347         * m4/ls-mntd-fs.m4: Likewise.
73348         * m4/malloc.m4: Likewise.
73349         * m4/memcmp.m4: Likewise.
73350         * m4/putenv.m4: Likewise.
73351         * m4/realloc.m4: Likewise.
73352         * m4/st_mtim.m4: Likewise.
73353         * m4/strftime.m4: Likewise.
73354
73355 1999-01-16  Jim Meyering  <meyering@ascend.com>
73356
73357         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
73358         (ARGMATCH_DIE_DECL): Define.
73359
73360 1999-01-12  Jim Meyering  <meyering@ascend.com>
73361
73362         * m4/Makefile.am.in: Rewrite to avoid using fmt.
73363         Reported by Lars Hecking.
73364
73365 1999-01-10  Jim Meyering  <meyering@ascend.com>
73366
73367         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
73368         gross kludge.
73369         * m4/inttypes_h.m4: Likewise.
73370         * m4/lstat.m4: Likewise.
73371         * m4/malloc.m4: Likewise.
73372         * m4/readdir.m4: Likewise.
73373         * m4/realloc.m4: Likewise.
73374         * m4/st_dm_mode.m4: Likewise.
73375         * m4/stat.m4: Likewise.
73376         * m4/utimbuf.m4: Likewise.
73377         * m4/utimes.m4: Likewise.
73378
73379         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
73380         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
73381         comments in config.h.in are meaningful.
73382
73383         * m4/jm-macros.m4: Require autoconf-2.13 here.
73384
73385         * m4/regex.m4: By default, don't use the included regex.c on systems
73386         with glibc 2.  Suggestion from Uli Drepper.
73387
73388 1999-01-02  Jim Meyering  <meyering@ascend.com>
73389
73390         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
73391
73392 1998-12-18  Jim Meyering  <meyering@ascend.com>
73393
73394         * m4/Makefile.am.in (Makefile.am): Simplify rule.
73395         Based on a suggestion from Lars Hecking.
73396
73397 1998-11-16  Paul Eggert  <eggert@twinsun.com>
73398
73399         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
73400
73401 1998-11-16  Jim Meyering  <meyering@ascend.com>
73402
73403         * m4/lfs.m4: Double-quote the `uname...` expression.
73404
73405 1998-11-14  Jim Meyering  <meyering@ascend.com>
73406
73407         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
73408         * m4/stat.m4: Likewise.
73409
73410 1998-11-03  Jim Meyering  <meyering@ascend.com>
73411
73412         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
73413         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
73414
73415 1998-10-18  Jim Meyering  <meyering@ascend.com>
73416
73417         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
73418
73419 1998-10-17  Jim Meyering  <meyering@ascend.com>
73420
73421         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
73422         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
73423         calls for those previously hard-coded headers.  Instead, take a new
73424         parameter.
73425         (jm_CHECK_DECLARATIONS): Reflect interface change.
73426         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
73427         (jm_CHECK_DECL_LOCALTIME_R): New macro.
73428
73429         * m4/mktime.m4: Test for spring-forward gap before long-running test.
73430
73431 1998-10-14  Jim Meyering  <meyering@ascend.com>
73432
73433         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
73434         instead of "TZ=America/Vancouver".  From Paul Eggert.
73435
73436 1998-10-11  Jim Meyering  <meyering@ascend.com>
73437
73438         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
73439         This adds a test for a recently added compatibility fix for mktime.c.
73440         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
73441
73442 1998-09-27  Jim Meyering  <meyering@ascend.com>
73443
73444         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
73445
73446         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
73447         ../configure.in, including a change from Gordon Matzigkeit to allow
73448         cross-compiling for the Hurd.
73449
73450         * m4/glibc.m4: New file/macro to test for the GNU C Library
73451         versions 1 and 2.  From Gordon Matzigkeit.
73452         Indent.
73453
73454 1998-09-21  Jim Meyering  <meyering@ascend.com>
73455
73456         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
73457
73458 1998-08-18  Paul Eggert  <eggert@twinsun.com>
73459
73460         Port nanosecond-resolution times to UnixWare 2.1.2 and
73461         pedantic Solaris 2.6.
73462
73463         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
73464         AC_STRUCT_ST_MTIM.
73465         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
73466         Generate name of ns member, instead of just 1 or undef.
73467         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
73468
73469 1998-08-15  Jim Meyering  <meyering@ascend.com>
73470
73471         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
73472         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
73473         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
73474         instead of jm_TYPE_SSIZE_T.
73475
73476 1998-08-12  Jim Meyering  <meyering@ascend.com>
73477
73478         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
73479
73480 1998-08-02  Jim Meyering  <meyering@ascend.com>
73481
73482         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
73483         in acconfig.h manually.
73484
73485 1998-07-31  Paul Eggert  <eggert@twinsun.com>
73486
73487         * m4/st_mtim.m4: New file.
73488
73489 1998-07-28  Jim Meyering  <meyering@ascend.com>
73490
73491         * m4/utimes.m4: Undef stat.
73492
73493 1998-07-25  Jim Meyering  <meyering@ascend.com>
73494
73495         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
73496         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
73497
73498 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
73499
73500         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
73501         uid and gid actually remain unchanged.
73502
73503 1998-07-07  Jim Meyering  <meyering@ascend.com>
73504
73505         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
73506
73507 1998-07-04  Jim Meyering  <meyering@ascend.com>
73508
73509         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
73510         to prove that this macro can be used in packages without regex.c.
73511
73512 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
73513
73514         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
73515         is to be used.
73516
73517 1998-07-03  Jim Meyering  <meyering@ascend.com>
73518
73519         * m4/gettext.m4: Add -lintl if it's found to be necessary.
73520
73521         * m4/gettext.m4: New file -- from gettext-0.10.35.
73522         * m4/lcmessage.m4: Likewise.
73523         * m4/progtest.m4: Likewise.
73524
73525         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
73526         * m4/jm-macros.m4: Require the new macro.
73527
73528 1998-06-29  Jim Meyering  <meyering@ascend.com>
73529
73530         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
73531         for the definition of NGROUPS (used in a system header included
73532         by sys/mount.h).
73533
73534 1998-06-28  Jim Meyering  <meyering@ascend.com>
73535
73536         * m4/ls-mntd-fs.m4: New file.
73537         * m4/fstypename.m4: New file.
73538
73539         * m4/jm-macros.m4: Require the new macro.
73540         * m4/jm-glibc-io.m4: New file.
73541
73542 1998-05-19  Jim Meyering  <meyering@ascend.com>
73543
73544         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
73545         * m4/lchown.m4: New file.
73546
73547         * m4/Makefile.am.in: New file.
73548         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
73549
73550 1998-05-14  Jim Meyering  <meyering@ascend.com>
73551
73552         * m4/Makefile.am (EXTRA_DIST): Add them.
73553         * m4/jm-macros.m4: New file.
73554         * m4/utimbuf.m4: New file.
73555
73556 1998-05-12  Jim Meyering  <meyering@ascend.com>
73557
73558         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
73559
73560 1998-05-11  Jim Meyering  <meyering@ascend.com>
73561
73562         * m4/isc-posix.m4: New file.
73563
73564 1998-05-10  Jim Meyering  <meyering@ascend.com>
73565
73566         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
73567
73568 1998-05-09  Jim Meyering  <meyering@ascend.com>
73569
73570         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
73571         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
73572         with automake.
73573
73574         * m4/ssize_t.m4: New file.
73575         * m4/mktime.m4: Remove file -- the new automake has this now.
73576
73577 1998-04-26  Jim Meyering  <meyering@ascend.com>
73578
73579         * m4/assert.m4: New file.
73580         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
73581
73582 1998-04-05  Jim Meyering  <meyering@ascend.com>
73583
73584         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
73585         (jm_PREREQ): Use it here.
73586
73587 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
73588
73589         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
73590         in acconfig.h.
73591
73592 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
73593
73594         * m4/prereq.m4: New file.
73595         * m4/error.m4: New file.
73596         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
73597
73598 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
73599
73600         * m4/getline.m4: Don't set am_cv_func_working_getline before the
73601         cache-check for the same variable -- that defeated the purpose of
73602         the test; the test program was never run.  This was a problem only
73603         on systems with losing getline functions -- HP-UX 10.20 is one.
73604         Reported by Bjorn Helgaas.
73605
73606 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
73607
73608         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
73609
73610 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
73611
73612         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
73613
73614         * m4/const.m4: New file.  Use an initializer in this declaration
73615         typedef int charset[2]; const charset x;
73616         Reported by Bob Glickstein.
73617
73618 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
73619
73620         * m4/chown.m4: Fix reversed types on -1 args to chown.
73621         From Kaveh Ghazi.
73622
73623 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
73624
73625         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
73626         Add lseek and memchr.
73627
73628         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
73629         T.E.Dickey <dickey@clark.net> said that some older preprocessors
73630         have a 20-character limit on names.
73631
73632 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
73633
73634         * m4/inttypes_h.m4: New file.
73635         * m4/uintmax_t.m4: New file.
73636         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
73637
73638
73639         -----
73640
73641         Local Variables:
73642         coding: utf-8
73643         End:
73644
73645         Copyright (C) 1997-2011 Free Software Foundation, Inc.
73646
73647         Copying and distribution of this file, with or without
73648         modification, are permitted provided the copyright notice
73649         and this notice are preserved.