c59d85f5feb622c308295d4d53e6fc6ab9385098
[gnulib.git] / ChangeLog
1 2010-10-17  Bruno Haible  <bruno@clisp.org>
2
3         nl_langinfo tests: Silence some warnings.
4         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
5         Reported by Jim Meyering.
6
7 2010-10-17  Bruno Haible  <bruno@clisp.org>
8
9         Make use of GCC's attribute __alloc_size__.
10         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
11         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
12         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
13         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
14         __alloc_size__.
15         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
16         Suggested by Jim Meyering.
17
18 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
19
20         bootstrap: anchor .gitignore entries.
21         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
22         with...
23         (insert_vc_ignore): ... this new function, which prepends `/' to
24         all .gitignore entries before passing them to
25         insert_sorted_if_absent.
26
27 2010-10-16  Bruno Haible  <bruno@clisp.org>
28
29         nextafter: Fix configure check.
30         * modules/nextafter (configure.ac): Correct expected prototype.
31
32 2010-10-16  Bruno Haible  <bruno@clisp.org>
33
34         termios: Update documentation.
35         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
36
37 2010-10-16  Bruno Haible  <bruno@clisp.org>
38
39         tests: Make them compile with TinyCC.
40         * tests/test-strstr.c (main): Remove parentheses around array
41         initializer.
42
43 2010-10-15  Eric Blake  <eblake@redhat.com>
44
45         ignore-value: make header idempotent
46         * lib/ignore-value.h: Add double-inclusion guards.
47         Reported by Stefan Berger.
48
49 2010-10-15  Jim Meyering  <meyering@redhat.com>
50
51         GNUmakefile: handle "stable" target, not "major"
52         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
53         lists in maint.mk and announce-gen.  Without this, "make stable"
54         would fail to ensure that $(VERSION) is up to date.
55
56 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
57
58         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
59         & co.
60
61 2010-10-14  Bruno Haible  <bruno@clisp.org>
62
63         vasnprintf: Don't set errno to 0.
64         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
65         block that sets it to 0.
66         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
67
68 2010-10-14  Bruno Haible  <bruno@clisp.org>
69
70         socketlib: Fix.
71         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
72         gl_PREREQ_SYS_H_WINSOCK2.
73         Reported by Ian Beckwith <ianb@erislabs.net>.
74
75 2010-10-13  Jim Meyering  <meyering@redhat.com>
76
77         test-select-stdin.c: avoid warn_unused_result warnings
78         * tests/test-select-stdin.c: Include "macros.h".
79         ASSERT that read and fflush succeed.
80
81 2010-10-13  Jim Meyering  <meyering@redhat.com>
82
83         git-version-gen: do require git-VC'd files in cwd
84         * build-aux/git-version-gen: Reject a git version string
85         if there are no commits associated with the current directory.
86         This avoids an unlikely false-positive (unrelated dir whose parent
87         repository also contains a tag matching v*), as pointed out
88         by Giuseppe Scrivano in
89         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
90
91 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
92
93         argv-iter: omit nonconforming declaration
94         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
95         enum arg_iter_err declaration, which doesn't conform to C99.
96         Solaris 10 cc warns about this.
97
98 2010-10-13  Eric Blake  <eblake@redhat.com>
99
100         termios: fix compilation on mingw
101         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
102         (gl_TERMIOS_H): Adjust it on mingw.
103         * modules/termios (Makefile.am): Substitute new key.
104         * lib/termios.in.h (includes): Make include_next conditional.
105         * doc/posix-headers/termios.texi (termios.h): Update
106         documentation.
107         Reported by Daniel P. Berrange.
108
109 2010-10-13  Jim Meyering  <meyering@redhat.com>
110
111         git-version-gen: don't require that .git/ be in the current dir
112         * build-aux/git-version-gen: Adjust this script so that it works
113         when run from any working directory beneath the top-level .git/-
114         containing directory.  Inspired by a patch from Giuseppe Scrivano,
115         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
116
117         test-select: avoid warn_unused_result warnings
118         * tests/test-select.c: Include "macros.h".
119         ASSERT that each call to read, write, and pipe succeeds.
120         While not technically required, also check each "close".
121         * modules/select-tests (Files): Add tests/macros.h.
122
123         test-symlinkat: remove declaration of unused local
124         * tests/test-symlinkat.c (main): Remove unused local, "buf".
125
126         test-inttostr: avoid shadowing warnings
127         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
128         and use malloc rather than the stack for the same reason as
129         mentioned in the comment justifying the other allocation.
130
131 2010-10-11  Bruno Haible  <bruno@clisp.org>
132
133         stdlib: Allow multiple gnulib generated replacements to coexist.
134         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
135         Reported by Sam Steingold <sds@gnu.org>.
136
137 2010-10-11  Jim Meyering  <meyering@redhat.com>
138
139         fix a documentation typo
140         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
141
142 2010-10-11  Eric Blake  <eblake@redhat.com>
143
144         futimens: work around Solaris 11 bug
145         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
146         * tests/test-futimens.h (test_futimens): Enhance, rather than
147         weaken test.
148         * doc/posix-functions/futimens.texi (futimens): Document the bug.
149
150 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
151
152         Indentation.
153         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
154         higher-level operators more to the left.
155
156 2010-10-11  Jim Meyering  <meyering@redhat.com>
157
158         test-futimens: avoid unwarranted test failure on Solaris 5.11
159         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
160         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
161         because it tries to dereference the NULL name argument.
162
163 2010-10-11  Bruno Haible  <bruno@clisp.org>
164
165         Indentation.
166         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
167         indentation.
168
169 2010-10-11  Jim Meyering  <meyering@redhat.com>
170
171         spawn.in.h: make indentation consistent with parentheses
172         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
173         Make indentation consistent with parentheses.
174
175 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
176
177         Fix mismatched parens in previous commit
178         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
179         parens.
180
181 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
182
183         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
184
185         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
186         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
187         * lib/malloca.c: Include "verify.h".
188         (verify1): Remove, replacing with a verify call.
189         * lib/relocwrapper.c (verify1): Likewise.
190         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
191         Likewise.
192         * modules/malloca (Depends-on): Add 'verify'.
193         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
194         * modules/vasnprintf (Depends-on): Add 'verify'.
195         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
196         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
197         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
198         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
199         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
200         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
201         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
202
203         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
204
205         Formerly the style was sometimes 2*X - 1, because the C standard
206         was wrongly thought to disallow ?: in integral constant expressions.
207         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
208         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
209         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
210         * lib/stdint.in.h (_verify_intmax_size): Likewise.
211         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
212         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
213         verify that time_t cannot be floating.
214
215 2010-10-08  Eric Blake  <eblake@redhat.com>
216
217         time: enforce recent POSIX ruling that time_t is integral
218         * lib/time.in.h (__time_t_must_be_integral): Detect any
219         problematic systems, allowing the rest of gnulib to assume POSIX.
220
221 2010-10-08  Jim Meyering  <meyering@redhat.com>
222
223         fdopendir: fix a bug on systems lacking openat and /proc support
224         OpenBSD 4.7 is one such system.  The most noticeable effect was
225         failure of any application making nontrivial use of fts: rm, du,
226         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
227           ./rm: traversal failed: `a': Bad file descriptor
228         Debugging that, you see that even though FD 6 was closed just
229         prior to the opendir call in fd_clone_opendir, its resulting
230         dir->dd_fd was 8, rather than the expected value of 6:
231
232         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
233         93                close (fd);
234         (gdb) n
235         94                dir = fd_clone_opendir (dupfd);
236         (gdb) n
237         95                saved_errno = errno;
238         (gdb) p dir->dd_fd
239         $11 = 8
240
241         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
242         The problem is that on OpenBSD, fd_clone_opendir has to resort
243         to using the old-style save/restore CWD mechanism, due to its
244         lack of openat/proc support, and *that* would steal the FD (6)
245         that opendir was supposed to use.
246
247         The fix is to squirrel away the desired FD so that save_cwd uses a
248         different one, and then free the dest FD right before calling opendir.
249         That guarantees opendir will use the required file descriptor.
250
251         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
252
253 2010-10-08  Bruno Haible  <bruno@clisp.org>
254
255         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
256         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
257
258 2010-10-08  Bruno Haible  <bruno@clisp.org>
259
260         nanosleep: Make replacement POSIX compliant.
261         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
262         is out of range.
263         Reported by Jim Meyering.
264
265 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
266
267         bootstrap: add hook for altering gnulib.mk, for Bison
268         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
269         the Bison bootstrapping process can rewrite file names and variables
270         in this file before later parts of 'bootstrap' use the file.
271         Bison wants to include lib/gnulib.mk from the top-level makefile,
272         so it needs the file names in this file to be relative to the top
273         level, not relative to lib; plus it needs variable names to be
274         rewritten.
275         (slurp): Use the new function.
276
277         bootstrap: reformat for readability
278         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
279
280 2010-10-08  Eric Blake  <eblake@redhat.com>
281
282         docs: update cygwin progress
283         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
284         1.7.7.
285         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
286         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
287         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
288         * doc/posix-functions/carg.texi (carg): Likewise.
289         * doc/posix-functions/cargf.texi (cargf): Likewise.
290         * doc/posix-functions/casin.texi (casin): Likewise.
291         * doc/posix-functions/casinf.texi (casinf): Likewise.
292         * doc/posix-functions/casinh.texi (casinh): Likewise.
293         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
294         * doc/posix-functions/catan.texi (catan): Likewise.
295         * doc/posix-functions/catanf.texi (catanf): Likewise.
296         * doc/posix-functions/catanh.texi (catanh): Likewise.
297         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
298         * doc/posix-functions/ccos.texi (ccos): Likewise.
299         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
300         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
301         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
302         * doc/posix-functions/cexp.texi (cexp): Likewise.
303         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
304         * doc/posix-functions/cimag.texi (cimag): Likewise.
305         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
306         * doc/posix-functions/clog.texi (clog): Likewise.
307         * doc/posix-functions/clogf.texi (clogf): Likewise.
308         * doc/posix-functions/conj.texi (conj): Likewise.
309         * doc/posix-functions/conjf.texi (conjf): Likewise.
310         * doc/posix-functions/cpow.texi (cpow): Likewise.
311         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
312         * doc/posix-functions/cproj.texi (cproj): Likewise.
313         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
314         * doc/posix-functions/creal.texi (creal): Likewise.
315         * doc/posix-functions/crealf.texi (crealf): Likewise.
316         * doc/posix-functions/csin.texi (csin): Likewise.
317         * doc/posix-functions/csinf.texi (csinf): Likewise.
318         * doc/posix-functions/csinh.texi (csinh): Likewise.
319         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
320         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
321         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
322         * doc/posix-functions/ctan.texi (ctan): Likewise.
323         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
324         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
325         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
326         * doc/posix-headers/complex.texi (complex.h): Likewise.
327
328 2010-10-07  Jim Meyering  <meyering@redhat.com>
329
330         parse-datetime: avoid compilation failure on OpenBSD 4.7
331         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
332         This works around a compilation failure on OpenBSD 4.7:
333         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
334
335 2010-10-07  Eric Blake  <eblake@redhat.com>
336
337         docs: update cygwin progress
338         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
339         1.7.6.
340         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
341         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
342         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
343         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
344         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
345         Likewise.
346         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
347         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
348         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
349         Likewise.
350         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
351         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
352         Likewise.
353         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
354         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
355         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
356         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
357         Likewise.
358         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
359         Likewise.
360         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
361
362         docs: update parse-datetime history
363         * doc/parse-datetime.texi (Authors of parse_datetime): Better
364         documentation of this function's history and alternatives.
365
366         cygwin: use more robust version check
367         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
368         exclude an eventual cygwin 1.9.1.
369         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
370         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
371         (gl_FUNC_STRCASESTR): Likewise.
372         Reported by Bruno Haible.
373
374 2010-10-06  Bruno Haible  <bruno@clisp.org>
375
376         string, sys_select: Avoid #including large headers unless necessary.
377         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
378         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
379         OSF/1, BeOS, Haiku.
380         Reported by Jim Meyering.
381
382 2010-10-05  Eric Blake  <eblake@redhat.com>
383
384         memmem, strstr, strcasestr: fix bug with long periodic needle
385         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
386         periodic needle having false positive.
387         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
388         and cygwin 1.7.7.
389         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
390         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
391         (gl_FUNC_STRCASESTR): Likewise.
392         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
393         * tests/test-memmem.c (main): Expose the bug.
394         * tests/test-strcasestr.c (main): Likewise.
395         * tests/test-strstr.c (main): Likewise.
396         * tests/test-c-strcasestr.c (main): Likewise.
397         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
398         * doc/posix-functions/strstr.texi (strstr): Likewise.
399         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
400         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
401
402 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
403
404         parse-datetime: do some more renaming
405         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
406         parse_datetime, not get_date.  Mention the renaming.
407         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
408         in comments.
409         * m4/bison.m4: Likewise.
410
411 2010-10-05  Eric Blake  <eblake@redhat.com>
412
413         parse-datetime: better name than get_date
414         * NEWS: Reword the deprecation notice.
415         * modules/get_date: Rename to modules/parse-datetime.
416         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
417         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
418         * lib/get_date.y: Rename to lib/parse-datetime.y.
419         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
420         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
421         * doc/getdate.texi: Provide fallback wrapper.
422         * lib/getdate.h: Move guts, and wrap...
423         * lib/parse-datetime.h: ...new file.
424         * lib/parse-datetime.y (get_date): Rename...
425         (parse_datetime): ...to this.
426         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
427         (gl_PARSE_DATETIME): ...to this.
428         * doc/posix-functions/getdate.texi (get_date): Provide fallback
429         documentation.
430         * modules/getdate (Files): Provide fallback docs and header.
431         (Notice, Depends-on): Update references.
432         * tests/test-parse-datetime.c: Likewise.
433         * DEPENDENCIES: Likewise.
434         * MODULES.html.sh (Date and time <time.h>): Likewise.
435         * doc/parse-datetime.texi (Date input formats)
436         (Authors of parse_datetime): Likewise.
437         * modules/parse-datetime (Files, configure.ac, Makefile.am)
438         (Include): Likewise.
439         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
440         * gnulib-tool: Likewise.
441         * m4/bison.m4 (gl_BISON): Likewise.
442         Suggested by Bruno Haible.
443
444 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
445
446         more ports to Solaris tr, which needs [] around ranges
447         * gnulib-tool: Solaris tr needs [] around ranges.
448         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
449         * tests/test-pipe-filter-gi1.c (main): Likewise.
450         * tests/test-pipe-filter-ii1.c (main): Likewise.
451
452 2010-10-05  Eric Blake  <eblake@redhat.com>
453
454         bootstrap: fix Solaris regression
455         * build-aux/bootstrap (check_versions): Solaris tr still needs []
456         around ranges.
457         Reported by Pádraig Brady.
458
459         bootstrap: work with pkg-config
460         * build-aux/bootstrap (check_versions): Also transliterate - in
461         prerequisite name.
462         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
463         prerequisites that were already found, to avoid confusion.
464         Reported by Justin Clift.
465
466         faccessat: remove unused wrappers
467         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
468         presence of these wrappers dragged in -lgen on Solaris.
469         Reported by Clemens Brogi; fix suggested by Paul Eggert.
470
471 2010-10-05  Jim Meyering  <meyering@redhat.com>
472
473         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
474         * Makefile (sc_pragma_columns): New syntax-check rule.
475
476 2010-10-04  Bruno Haible  <bruno@clisp.org>
477
478         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
479         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
480         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
481         Reported by Bruce Korb and Eric Blake.
482
483 2010-10-04  Bruno Haible  <bruno@clisp.org>
484
485         threadlib: Make option --with-libpth-prefix work.
486         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
487         use $LIBPTH, not just -lpth.
488
489 2010-10-04  Bruno Haible  <bruno@clisp.org>
490
491         Avoid line length limitation from HP NonStop system header files.
492         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
493         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
494         * lib/ctype.in.h: Likewise.
495         * lib/dirent.in.h: Likewise.
496         * lib/errno.in.h: Likewise.
497         * lib/fcntl.in.h: Likewise.
498         * lib/float.in.h: Likewise.
499         * lib/getopt.in.h: Likewise.
500         * lib/iconv.in.h: Likewise.
501         * lib/inttypes.in.h: Likewise.
502         * lib/langinfo.in.h: Likewise.
503         * lib/locale.in.h: Likewise.
504         * lib/math.in.h: Likewise.
505         * lib/netdb.in.h: Likewise.
506         * lib/netinet_in.in.h: Likewise.
507         * lib/poll.in.h: Likewise.
508         * lib/pthread.in.h: Likewise.
509         * lib/pty.in.h: Likewise.
510         * lib/sched.in.h: Likewise.
511         * lib/se-selinux.in.h: Likewise.
512         * lib/search.in.h: Likewise.
513         * lib/signal.in.h: Likewise.
514         * lib/spawn.in.h: Likewise.
515         * lib/stdarg.in.h: Likewise.
516         * lib/stddef.in.h: Likewise.
517         * lib/stdint.in.h: Likewise.
518         * lib/stdio.in.h: Likewise.
519         * lib/stdlib.in.h: Likewise.
520         * lib/string.in.h: Likewise.
521         * lib/strings.in.h: Likewise.
522         * lib/sys_file.in.h: Likewise.
523         * lib/sys_ioctl.in.h: Likewise.
524         * lib/sys_select.in.h: Likewise.
525         * lib/sys_socket.in.h: Likewise.
526         * lib/sys_stat.in.h: Likewise.
527         * lib/sys_time.in.h: Likewise.
528         * lib/sys_times.in.h: Likewise.
529         * lib/sys_utsname.in.h: Likewise.
530         * lib/sys_wait.in.h: Likewise.
531         * lib/sysexits.in.h: Likewise.
532         * lib/termios.in.h: Likewise.
533         * lib/time.in.h: Likewise.
534         * lib/unistd.in.h: Likewise.
535         * lib/wchar.in.h: Likewise.
536         * lib/wctype.in.h: Likewise.
537         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
538         * modules/ctype (Makefile.am): Likewise.
539         * modules/dirent (Makefile.am): Likewise.
540         * modules/errno (Makefile.am): Likewise.
541         * modules/fcntl-h (Makefile.am): Likewise.
542         * modules/float (Makefile.am): Likewise.
543         * modules/getopt-posix (Makefile.am): Likewise.
544         * modules/iconv-h (Makefile.am): Likewise.
545         * modules/inttypes (Makefile.am): Likewise.
546         * modules/langinfo (Makefile.am): Likewise.
547         * modules/locale (Makefile.am): Likewise.
548         * modules/math (Makefile.am): Likewise.
549         * modules/netdb (Makefile.am): Likewise.
550         * modules/netinet_in (Makefile.am): Likewise.
551         * modules/poll-h (Makefile.am): Likewise.
552         * modules/pthread (Makefile.am): Likewise.
553         * modules/pty (Makefile.am): Likewise.
554         * modules/sched (Makefile.am): Likewise.
555         * modules/search (Makefile.am): Likewise.
556         * modules/selinux-h (Makefile.am): Likewise.
557         * modules/signal (Makefile.am): Likewise.
558         * modules/spawn (Makefile.am): Likewise.
559         * modules/stdarg (Makefile.am): Likewise.
560         * modules/stddef (Makefile.am): Likewise.
561         * modules/stdint (Makefile.am): Likewise.
562         * modules/stdio (Makefile.am): Likewise.
563         * modules/stdlib (Makefile.am): Likewise.
564         * modules/string (Makefile.am): Likewise.
565         * modules/strings (Makefile.am): Likewise.
566         * modules/sys_file (Makefile.am): Likewise.
567         * modules/sys_ioctl (Makefile.am): Likewise.
568         * modules/sys_select (Makefile.am): Likewise.
569         * modules/sys_socket (Makefile.am): Likewise.
570         * modules/sys_stat (Makefile.am): Likewise.
571         * modules/sys_time (Makefile.am): Likewise.
572         * modules/sys_times (Makefile.am): Likewise.
573         * modules/sys_utsname (Makefile.am): Likewise.
574         * modules/sys_wait (Makefile.am): Likewise.
575         * modules/sysexits (Makefile.am): Likewise.
576         * modules/termios (Makefile.am): Likewise.
577         * modules/time (Makefile.am): Likewise.
578         * modules/unistd (Makefile.am): Likewise.
579         * modules/wchar (Makefile.am): Likewise.
580         * modules/wctype (Makefile.am): Likewise.
581
582 2010-10-04  Bruno Haible  <bruno@clisp.org>
583
584         read-file tests: Avoid a test failure on NonStop Kernel.
585         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
586         a regular file.
587         Reported by Joachim Schmitz <schmitz@hp.com>.
588
589 2010-10-03  Bruno Haible  <bruno@clisp.org>
590
591         gnulib-tool: Fixes for --create-testdir with --libtool.
592         * gnulib-tool (func_get_automake_snippet): Don't augment
593         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
594         an executable.
595         (func_create_testdir): Handle module 'alloca' like func_import.
596         Reported by Bruce Korb <bruce.korb@gmail.com>.
597
598 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
599
600         Avoid some lines longer than 80 characters.
601         * lib/stdint.in.h: Break long comment lines.
602         * lib/math.in.h: Likewise.
603         (_GL_NUM_UINT_WORDS): New macro, for readability.
604         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
605         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
606         * lib/stdlib.in.h: Likewise.
607         * lib/spawn.in.h: Likewise.
608         * lib/sys_socket.in.h: Update an URL.
609         * lib/sys_stat.in.h: Break long line.
610
611 2010-10-03  Bruno Haible  <bruno@clisp.org>
612             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
613
614         acl: Add support for ACLs on NonStop Kernel.
615         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
616         Check whether the function aclsort() exists.
617         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
618         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
619         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
620         (acl_nontrivial [HAVE_ACLSORT]: New function.
621         (file_has_acl): Implement for NonStop Kernel.
622         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
623         (qset_acl): Implement for NonStop Kernel.
624         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
625         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
626         (main): Implement for NonStop Kernel.
627         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
628         Kernel. Handle this flavor.
629         * tests/test-set-mode-acl.sh: Likewise.
630         * tests/test-copy-acl.sh: Likewise.
631         * tests/test-copy-file.sh: Likewise.
632
633 2010-10-03  Bruno Haible  <bruno@clisp.org>
634
635         Info about ACLs on NonStop Kernel.
636         * doc/acl-resources.txt: Add info about NonStop Kernel.
637         References by Joachim Schmitz <schmitz@hp.com>.
638
639 2010-10-02  Bruno Haible  <bruno@clisp.org>
640
641         Define missing EDQUOT on NonStop Kernel.
642         * lib/errno.in.h (EDQUOT): Assign a value if missing.
643         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
644         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
645         missing.
646         * doc/posix-headers/errno.texi: Mention the NSK bug.
647         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
648         Reported by Joachim Schmitz <schmitz@hp.com>.
649
650 2010-10-02  Bruno Haible  <bruno@clisp.org>
651
652         Update doc for POSIX:2008.
653         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
654         Update URL of POSIX specification.
655
656 2010-10-02  Bruno Haible  <bruno@clisp.org>
657
658         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
659         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
660         from gnulib, not from Automake.
661
662 2010-10-02  Bruno Haible  <bruno@clisp.org>
663
664         New module 'system-posix'.
665         * modules/system-posix: New file.
666         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
667         module is present.
668         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
669         GNULIB_SYSTEM_POSIX.
670         * modules/stdlib (Depends-on): Remove sys_wait.
671         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
672         * doc/posix-functions/system.texi: Mention the new module.
673         * doc/posix-headers/stdlib.texi: Likewise.
674         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
675         define test_sys_wait_macros to a no-op.
676         Reported by Sam Steingold <sds@gnu.org>.
677
678 2010-09-30  Bruno Haible  <bruno@clisp.org>
679
680         More renaming from 'getdate' to 'get_date'.
681         * doc/get_date.texi: Renamed from doc/getdate.texi.
682         * modules/get_date (Files): Update.
683         * MODULES.html.sh (Date and time <time.h>): Update.
684         * DEPENDENCIES: Update.
685         * gnulib-tool: Update comment.
686         * m4/bison.m4 (gl_BISON): Likewise.
687         * m4/get_date.m4 (gl_GET_DATE): Likewise.
688
689 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
690
691         bootstrap: support ACLOCAL_FLAGS during aclocal
692         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
693         can add additional -I dir for third-party .m4 files.
694
695 2010-09-30  Eric Blake  <eblake@redhat.com>
696
697         bootstrap: use glibtoolize on MacOS
698         * build-aux/bootstrap (check_versions): Convert libtool into
699         libtoolize.
700         (tool search): Move libtool check earlier, and look for
701         glibtoolize for MacOS.
702         (gnulib_tool_options): Auto-add --libtool when appropriate.
703         Reported by Justin Clift.
704
705         poll: fix typo that broke test on MacOS
706         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
707         Reported by Justin Clift.
708
709         getdate: rename to get_date
710         Note: getdate.h is not renamed, to minimize client impact.
711         * modules/getdate: Mark obsolete.  Move old contents...
712         * modules/get_date: ...to new module name.
713         * modules/getdate-tests: Move...
714         * modules/get_date-tests: ...here.
715         * m4/getdate.m4: Move...
716         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
717         * lib/getdate.y: Move...
718         * lib/get_date.y: ...here.
719         * tests/test-getdate.c: Move...
720         * tests/test-get_date.c: ...here.
721         * doc/posix-functions/getdate.texi (getdate): Update name.
722         * NEWS: Mention the change.
723
724 2010-09-29  Bruno Haible  <bruno@clisp.org>
725
726         Separate the module 'waitpid' from the module 'sys_wait'.
727         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
728         present.
729         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
730         gl_MODULE_INDICATOR_FOR_TESTS.
731         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
732         * modules/sys_wait (Depends-on): Remove waitpid.
733         (Makefile.am): Substitute GNULIB_WAITPID.
734         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
735         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
736         signature only if the 'waitpid' module is present.
737         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
738         * NEWS: Mention the change.
739         * modules/grantpt (Depends-on): Add waitpid.
740         * modules/wait-process (Depends-on): Likewise.
741
742 2010-09-29  Bruno Haible  <bruno@clisp.org>
743
744         More tests for module 'sys_wait'.
745         * modules/sys_wait-c++-tests: New file.
746         * tests/test-sys_wait-c++.cc: New file.
747         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
748         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
749
750 2010-09-29  Bruno Haible  <bruno@clisp.org>
751
752         New module 'waitpid'.
753         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
754         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
755         Don't include <process.h>.
756         (waitpid): Declare only, using modern idiom.
757         * m4/waitpid.m4: New file.
758         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
759         * modules/waitpid: New file.
760         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
761         (Makefile.am): Update.
762         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
763
764 2010-09-28  Bruno Haible  <bruno@clisp.org>
765
766         poll: Assume ANSI C.
767         * lib/poll.c (poll): Use an ANSI C declaration.
768
769 2010-09-28  Bruno Haible  <bruno@clisp.org>
770
771         poll-h: Create poll.h on all platforms.
772         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
773         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
774         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
775         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
776         (gl_REPLACE_POLL_H): Don't set POLL_H.
777         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
778         * modules/poll-h (Depends-on): Add include_next.
779         (Makefile.am): Create poll.h unconditionally. Substitute also
780         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
781
782 2010-09-28  Bruno Haible  <bruno@clisp.org>
783
784         Tests for module 'poll-h'.
785         * modules/poll-h-c++-tests: New file.
786         * tests/test-poll-h-c++.cc: New file.
787
788         Tests for module 'poll-h'.
789         * modules/poll-h-tests: New file.
790         * tests/test-poll-h.c: New file.
791
792 2010-09-28  Bruno Haible  <bruno@clisp.org>
793
794         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
795         * modules/poll-h (Depends-on): Add 'extensions'.
796
797 2010-09-28  Bruno Haible  <bruno@clisp.org>
798
799         New module 'poll-h'.
800         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
801         (poll): Use modern idiom.
802         * modules/poll-h: New file.
803         * modules/poll (Files): Remove lib/poll.in.h.
804         (Depends-on): Add poll-h.
805         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
806         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
807         * m4/poll_h.m4: New file.
808         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
809         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
810         and invoke gl_REPLACE_POLL_H.
811         * lib/poll.c: Use common idiom.
812         * tests/test-poll.c: Likewise.
813         * doc/posix-headers/poll.texi: Mention the poll-h module.
814         Suggested by Eric Blake.
815
816 2010-09-26  Bruno Haible  <bruno@clisp.org>
817
818         sys_wait: Implement WSTOPSIG.
819         * lib/sys_wait.in.h (WSTOPSIG): New macro.
820         Reported by Simon Josefsson.
821
822 2010-09-26  Simon Josefsson  <simon@josefsson.org>
823
824         stdlib, sys_wait: Avoid compilation error on mingw.
825         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
826
827 2010-09-26  Bruno Haible  <bruno@clisp.org>
828
829         stdlib tests: Avoid code duplication.
830         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
831         * modules/sys_wait-tests (Files): Likewise.
832         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
833         * tests/test-stdlib.c: Include test-sys_wait.h.
834         (main): Invoke test_sys_wait_macros.
835         * tests/test-sys_wait.c: Include test-sys_wait.h.
836         (main): Invoke test_sys_wait_macros.
837
838 2010-09-25  Simon Josefsson  <simon@josefsson.org>
839
840         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
841         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
842         sure Windows sockets are working before calling getaddrinfo.
843         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
844         * doc/gnulib.texi (Windows sockets): Fix typo.
845
846 2010-09-25  Bruno Haible  <bruno@clisp.org>
847
848         Tests for module 'regex-quote'.
849         * modules/regex-quote-tests: New file.
850         * tests/test-regex-quote.c: New file.
851
852         New module 'regex-quote'.
853         * lib/regex-quote.h: New file.
854         * lib/regex-quote.c: New file.
855         * modules/regex-quote: New file.
856         Suggested by Reuben Thomas <rrt@sc3d.org>.
857
858 2010-09-24  Bruno Haible  <bruno@clisp.org>
859
860         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
861         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
862
863 2010-09-23  Bruno Haible  <bruno@clisp.org>
864
865         setenv: Relax license.
866         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
867         Blake.
868         Requested by Eric Blake.
869
870 2010-09-22  Bruno Haible  <bruno@clisp.org>
871
872         termios: Relax license.
873         * modules/termios (License): Change to LGPLv2+.
874         Requested by Eric Blake.
875
876 2010-09-22  Bruno Haible  <bruno@clisp.org>
877
878         threadlib: Allow the package to change the default to 'no'.
879         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
880         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
881         Reported by Paul Eggert.
882
883 2010-09-22  Pádraig Brady  <P@draigbrady.com>
884             Bruno Haible  <bruno@clisp.org>
885
886         Fix endless loop in mbmemcasecoll.
887         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
888         byte.
889         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
890
891 2010-09-22  Bruno Haible  <bruno@clisp.org>
892
893         Tests for module 'memcoll'.
894         * modules/memcoll-tests: New file.
895         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
896
897         memcoll, xmemcoll: Clarify size vs. length.
898         * modules/memcoll.c (memcoll0): Clarify specification.
899         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
900         passed to collate_error.
901
902 2010-09-22  Bruno Haible  <bruno@clisp.org>
903
904         Tests for module 'memcasecmp'.
905         * modules/memcasecmp-tests: New file.
906         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
907
908 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
909
910         * lib/pthread.in.h: Add split double-inclusion guard, and include
911         system <pthread.h> if there is one.  Use @@-style as in other
912         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
913         pthread.h doesn't.
914         (pthread_mutexattr_destroy, pthread_mutexattr_init):
915         (pthread_mutexattr_settype, pthread_mutex_trylock):
916         New static inline functions, if there's no system <pthread.h>.
917         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
918         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
919         Approximate with mutexes if the system lacks spinlocks, as in
920         MacOS.
921         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
922         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
923         @@-style.  Check for spinlocks separately.
924         (gl_PTHREAD_DEFAULTS): New macro.
925         * modules/pthread: Redo to use a more typical style for in.h files.
926
927 2010-09-21  Eric Blake  <eblake@redhat.com>
928
929         net_if: enhance tests
930         * tests/test-net_if.c (main): Move signature checks earlier.
931         Print failures to stderr.
932         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
933         Document the bug that we do not yet fix.
934
935 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
936
937         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
938         about gnulib, not GSS.
939
940 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
941
942         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
943         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
944         for Emacs.
945         * build-aux/pmccabe2html: Make Makefile.am example code more
946         cut-and-paste friendly.
947
948 2010-09-21  Simon Josefsson  <simon@josefsson.org>
949
950         * tests/test-net_if.c: New file.
951         * modules/net_if-tests: New file.
952
953 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
954
955         pthread: add pthread_spin_destroy
956         * lib/pthread.in.h (pthread_spin_destroy): New function.
957
958 2010-09-19  Bruno Haible  <bruno@clisp.org>
959
960         gnulib-tool: Fix --help output.
961         * gnulib-tool (func_usage): Fix help message.
962         Reported by Reuben Thomas <rrt@sc3d.org>.
963
964 2010-09-18  Jim Meyering  <meyering@redhat.com>
965
966         maint.mk: avoid unexpanded \n in two diagnostics
967         * top/maint.mk (sc_prohibit_always_true_header_tests):
968         Don't use a literal \n in a halt=... assignment.  It would not be
969         expanded, and the two \n bytes would appear in the diagnostic output
970         rather than the desired newline.  Use halt=$$(printf ... instead.
971         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
972
973 2010-09-18  Bruno Haible  <bruno@clisp.org>
974
975         netinet_in: Doc tweak.
976         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
977         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
978
979 2010-09-18  Jim Meyering  <meyering@redhat.com>
980
981         init.sh: correct an outdated comment
982         * tests/init.sh (create_exe_shims_):  s/function/alias/
983
984         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
985         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
986         a file named "*.exe" is removed between the glob expansion and the
987         processing of that oddly named file.
988
989 2010-09-17  Eric Blake  <eblake@redhat.com>
990
991         mirbsd: add some more support
992         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
993         in BSD family.
994         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
995         devices as OpenBSD.
996         * m4/host-os.m4 (mirbsd): Add MirBSD.
997
998         tests: fix unportable assumption on sys/wait.h
999         * tests/test-sys_wait.c (main): Relax test.
1000         * tests/test-stdlib.c (main): Likewise.
1001
1002         init.sh: accomodate directory with no .exes
1003         * tests/init.sh: Accomodate directory containing only scripts.
1004
1005         tests: avoid compiler warning
1006         * tests/test-stdlib.c (main): Use the variable.
1007
1008         fdutimens, fdutimensat: update signature, again
1009         * lib/utimens.h (gl_futimens): Delete, and move signature...
1010         (fdutimens): ...here.
1011         (fdutimensat): Rearrange signature.
1012         (lutimensat): Rename variable for clarity.
1013         * lib/fdutimensat.c (fdutimensat): Update signature.
1014         * lib/utimens.c (fdutimens): Likewise.
1015         (gl_futimens): Delete.
1016         (utimens, lutimens): Update callers.
1017         * lib/futimens.c (futimens): Likewise.
1018         * tests/test-fdutimensat.c: Likewise.
1019         * tests/test-utimens.c: Likewise.
1020         * tests/test-futimens.h: Update comment.
1021         * NEWS: Mention this.
1022         Suggested by Paul Eggert.
1023
1024 2010-09-17  Bruno Haible  <bruno@clisp.org>
1025
1026         Take over the maintenance of some older macros from Autoconf.
1027         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
1028         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
1029         GNU Autoconf.
1030         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
1031         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
1032
1033 2010-09-17  Eric Blake  <eblake@redhat.com>
1034
1035         fdutimensat: drop atflag validation
1036         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
1037         with valid fd, to close a race scenario where futimens is
1038         unsupported and FILE was replaced by a symlink.
1039         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
1040         accordingly.
1041         Suggested by Paul Eggert.
1042
1043 2010-09-16  Bruno Haible  <bruno@clisp.org>
1044
1045         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
1046         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
1047
1048 2010-09-16  Bruno Haible  <bruno@clisp.org>
1049
1050         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
1051         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
1052         login_tty exists.
1053         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1054
1055 2010-09-16  Bruno Haible  <bruno@clisp.org>
1056
1057         login_tty: Make the replacement code work on BSD systems.
1058         * lib/login_tty.c: Include <sys/ioctl.h>.
1059         (login_tty): Use ioctl TIOCSCTTY when available.
1060         * modules/login_tty (Depends-on): Add sys_ioctl.
1061         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1062
1063 2010-09-16  Bruno Haible  <bruno@clisp.org>
1064
1065         login_tty: Stricter unit test.
1066         * modules/login_tty-tests (Depends-on): Add tcgetsid.
1067         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
1068         and tcgetsid() after login_tty.
1069         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1070
1071 2010-09-16  Bruno Haible  <bruno@clisp.org>
1072
1073         New module 'tcgetsid'.
1074         * lib/tcgetsid.c: New file.
1075         * m4/tcgetsid.m4: New file.
1076         * modules/tcgetsid: New file.
1077         * modules/termios (Depends-on): Add c++defs, warn-on-use.
1078         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
1079         GNULIB_TCGETSID, HAVE_TCGETSID.
1080         * lib/termios.in.h: Include <sys/types.h>.
1081         (tcgetsid): New declaration.
1082         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
1083         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
1084         * doc/posix-functions/tcgetsid.texi: Mention the new module.
1085         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
1086
1087 2010-09-16  Bruno Haible  <bruno@clisp.org>
1088
1089         Tests for module 'termios'.
1090         * modules/termios-c++-tests: New file.
1091         * modules/termios-tests: New file.
1092         * tests/test-termios-c++.cc: New file.
1093         * tests/test-termios.c: New file.
1094
1095         New module 'termios'.
1096         * modules/termios: New file.
1097         * lib/termios.in.h: New file.
1098         * m4/termios_h.m4: New file.
1099         * doc/posix-headers/termios.texi: Mention the new module.
1100
1101 2010-09-16  Eric Blake  <eblake@redhat.com>
1102
1103         fdutimensat: add an atflag parameter
1104         * lib/fdutimensat.c (fdutimensat): Add new parameter.
1105         * lib/utimens.h (fdutimensat): Update prototype.
1106         * tests/test-fdutimensat.c: Adjust test to match.
1107         * NEWS: Document the change.
1108         Suggested by Paul Eggert.
1109
1110 2010-09-16  Bruno Haible  <bruno@clisp.org>
1111
1112         Fix typos in comments.
1113         * lib/striconveh.h: Fix typo in comment.
1114         * lib/login_tty.c (login_tty): Likewise.
1115
1116 2010-09-15  Bruno Haible  <bruno@clisp.org>
1117
1118         stdlib: clarify MirBSD WEXITSTATUS bug
1119         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
1120         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
1121
1122 2010-09-15  Eric Blake  <eblake@redhat.com>
1123
1124         stdlib: work around MirBSD WEXITSTATUS bug
1125         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
1126         * modules/stdlib (Depends-on): Add sys_wait.
1127         * tests/test-sys_wait.c (main): Enhance test.
1128         * tests/test-stdlib.c (main): Likewise.
1129         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
1130
1131         docs: mention MacOS issue with WEXITSTATUS(constant)
1132         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
1133         issue.
1134         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
1135
1136         strnlen: add tests
1137         * modules/strnlen-tests: New file.
1138         * tests/test-strnlen.c: Likewise.
1139
1140 2010-09-14  Bruno Haible  <bruno@clisp.org>
1141
1142         unistr/base: Avoid link errors when module 'libunistring' is also used.
1143         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
1144         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
1145         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
1146         Declare also when HAVE_LIBUNISTRING is set.
1147         Reported by Pádraig Brady <P@draigbrady.com>.
1148
1149 2010-09-14  Eric Blake  <eblake@redhat.com>
1150
1151         test-rawmemchr: make more robust
1152         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
1153         (Depends-on, configure.ac): Add needed prerequisites to use it.
1154         * modules/memchr-tests (Files, Depends-on, configure.ac):
1155         Likewise, to avoid implicit reliance on memchr module prereqs.
1156         * tests/test-memchr.c (main): Ensure proper masking.
1157         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
1158         reads.
1159
1160         memchr: detect glibc Alpha bug
1161         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
1162         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
1163         Alpha.
1164         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
1165         * tests/test-memchr.c (main): Enhance test.
1166         Reported by Nelson H. F. Beebe.
1167
1168 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
1169
1170         fts, getcwd, glob: audit for dirfd returning -1
1171         * lib/fts.c (opendir): Remove #define; no longer used.
1172         (opendirat): New arg PDIR_FD.  All callers changed.
1173         (fts_build, _opendir2): Use new opendirat to avoid the need for
1174         dirfd, or for checking whether dirfd returns a negative value.
1175         Don't use opendir; always use openat followed by fdopendir.
1176         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
1177         it.
1178         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
1179         returns -1 here.
1180         * modules/fts (Depends-on): Remove dirfd.
1181         * modules/getcwd (Depends-on): Likewise.
1182
1183 2010-09-13  Eric Blake  <eblake@redhat.com>
1184
1185         float: fix broken MirBSD header
1186         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
1187         * doc/posix-headers/float.texi (float.h): Document it.
1188
1189 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
1190
1191         fts: use O_NOFOLLOW to avoid race condition when opening a directory
1192         * lib/fts.c (opendirat): New arg extra_flags.
1193         (__opendir2): Use it to avoid following symlinks when opening
1194         a directory, if symlinks are not supposed to be followed.  See
1195         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
1196
1197         fdopendir: preserve argument fd before returning
1198         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
1199         (fdopendir_with_dup, fd_clone_opendir): New static functions.
1200         (fdopendir): Use them, arranging for FD to be open to the same
1201         directory that it was when it started.  (It might be temporarily
1202         closed while fdopendir is running, so this not thread- or
1203         signal-safe.)  Be careful to do the right thing even when file
1204         descriptors are scarce and dup fails with errno == EMFILE.  See
1205         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
1206
1207 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
1208
1209         regex: Pass the system regex if its only problem is 32-bit regoff_t.
1210         * NEWS: Document change.
1211         * m4/regex.m4: Disable test for regoff_t size.
1212
1213 2010-09-13  Jim Meyering  <meyering@redhat.com>
1214
1215         fts: don't operate on an invalid file descriptor after failed dup
1216         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
1217         negative file descriptor.
1218
1219 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
1220
1221         savedir: add streamsavedir, deprecate fdsavedir
1222         * NEWS: Mention deprecation of fdsavedir.
1223         * lib/savedir.c (streamsavedir): New extern function, whose name
1224         ends in "savedir" to be consistent with the others.  This differs
1225         from savedirstream in that it doesn't close its argument.  The
1226         next version of GNU tar will use this instead of fdsavedir, to
1227         avoid some race conditions and conserve file descriptors.
1228         (savedirstream): Reimplement as a wrapper around streamsavedir.
1229         (fdsavedir): Add a comment deprecating this function.  As far as
1230         I know, only GNU tar used it, and GNU tar doesn't need it any more.
1231         * lib/savedir.h (streamsavedir): New decl.
1232         (fdsavedir): Add a comment deprecating this.
1233
1234 2010-09-10  Bruno Haible  <bruno@clisp.org>
1235
1236         langinfo: Fix last commit.
1237         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
1238         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
1239         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1240
1241 2010-09-10  Bruno Haible  <bruno@clisp.org>
1242
1243         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
1244         * lib/progreloc.c (O_EXEC): Define fallback.
1245
1246 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
1247
1248         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
1249         * NEWS: Document recent changes to fcntl-h.
1250         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
1251         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
1252         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
1253         Similarly for O_SEARCH; this last was already true, but not documented.
1254         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
1255         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
1256         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
1257         Likewise.
1258         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
1259         is zero, not whether it is defined.
1260         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
1261         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
1262         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
1263
1264 2010-09-10  Bruno Haible  <bruno@clisp.org>
1265
1266         langinfo, nl_langinfo: Fix for IRIX 5.3.
1267         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
1268         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
1269         HAVE_LANGINFO_YESEXPR.
1270         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
1271         HAVE_LANGINFO_YESEXPR.
1272         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
1273         HAVE_LANGINFO_T_FMT_AMPM is 0.
1274         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
1275         HAVE_LANGINFO_YESEXPR is 0.
1276         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
1277         NOEXPR.
1278         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
1279         * doc/posix-functions/nl_langinfo.texi: Likewise.
1280         Reported by Eric Blake.
1281
1282 2010-09-10  Bruno Haible  <bruno@clisp.org>
1283
1284         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
1285         * doc/glibc-functions/login_tty.texi: Mention the include file problem
1286         on FreeBSD 8.0 and OpenBSD 4.6.
1287         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
1288         * m4/pty_h.m4 (gl_PTY_H): Likewise.
1289         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
1290         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
1291         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
1292         ac_includes_default.
1293         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
1294
1295 2010-09-09  Eric Blake  <eblake@redhat.com>
1296
1297         strsignal: work around NetBSD bug
1298         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
1299         * lib/string.in.h (includes): Likewise.
1300         * doc/posix-functions/strsignal.texi (strsignal): Document the
1301         bug.
1302         Reported by Nelson H. F. Beebe.
1303
1304         gnulib-tool: work with NetBSD /bin/sh
1305         * gnulib-tool (func_cache_var, func_cache_lookup_module)
1306         (func_get_description, func_get_comment, func_get_status)
1307         (func_get_notice, func_get_applicability, func_get_filelist)
1308         (func_get_dependencies, func_get_autoconf_early_snippet)
1309         (func_get_autoconf_snippet, func_get_automake_snippet)
1310         (func_get_include_directive, func_get_link_directive)
1311         (func_get_license, func_get_maintainer, func_import): Avoid
1312         shell syntax errors from parsing syntax extensions.
1313
1314 2010-09-09  Bruno Haible  <bruno@clisp.org>
1315
1316         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
1317         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
1318         a reliable way to determine whether the 'alias' command works.
1319
1320 2010-09-08  Jim Meyering  <meyering@redhat.com>
1321
1322         init.sh: penalize a set-x-impaired shell; don't disqualify it
1323         * tests/init.sh: Too many shells corrupt application stderr when
1324         you set -x, so we can't afford to disqualify them, since at least
1325         on Irix-6.5, that would disqualify all bourne shells.
1326         Instead, use a two-pass approach.
1327         On the first pass, try to find a shell that meets the stricter
1328         condition that set -x does not corrupt stderr.
1329         If no shell meets the stricter condition, retest each candidate
1330         shell, but without that extra condition.  Finally, when
1331         VERBOSE=yes is requested and set -x might cause trouble, simply
1332         issue a warning and refrain from enabling debug output.
1333
1334 2010-09-08  Eric Blake  <eblake@redhat.com>
1335
1336         unsetenv: fix OpenBSD bug
1337         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
1338         * doc/posix-functions/unsetenv.texi (unsetenv): Update
1339         documentation.
1340         Reported by Jim Meyering.
1341
1342         strtod: work around IRIX 6.5 bug
1343         * lib/strtod.c (strtod): Reparse number on shorter string if
1344         exponent parse was invalid.
1345         * tests/test-strtod.c (main): Add check for "0x1p 2".
1346         Reported by Tom G. Christensen.
1347
1348         getopt: optimize previous patch
1349         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
1350         empty variable.  Speed up awk script.
1351         Reported by Paolo Bonzini.
1352
1353 2010-09-08  Jim Meyering  <meyering@redhat.com>
1354
1355         test.sh: disqualify shells for which set -x corrupts stderr
1356         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
1357         and OpenBSD 4.7.  They make it so with "set -x", environment settings
1358         appear in stderr output.  For example, this command:
1359             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
1360         prints "P=1" on those two systems:
1361
1362 2010-09-08  Bruno Haible  <bruno@clisp.org>
1363
1364         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
1365         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
1366         commands, because some shells ignore redirections when there is an
1367         error in the command lookup.
1368         Reported by Eric Blake.
1369
1370 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
1371
1372         * lib/regex.h: Fix a mention of `regex_compile' (should be
1373         `re_compile_pattern').
1374         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
1375         (re_set_registers): Correct name of parameter in comment.
1376
1377         * doc/regex.texi: Add documentation for missing syntax flags.
1378         Remove commented-out documentation of defunct syntax option
1379         RE_NO_EMPTY_ALTS.
1380         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
1381         Add documentation of re_set_registers.
1382         Document trick to re-use a pattern buffer by setting fastmap manually.
1383         Update documentation of struct re_pattern_buffer per public members.
1384         Uncomment documentation of equivalence class operators and
1385         collating symbol operators, since they are now implemented,
1386         Explain leftmost-longest matching in relation to alternatives.
1387         Tidy documentation of substring matching.
1388         Remove POSIX documentation, which is done better in
1389         glibc, and refer the reader there. Keep BSD API documentation, as
1390         that is not readily available elsewhere.
1391
1392 2010-09-07  Eric Blake  <eblake@redhat.com>
1393
1394         getopt: handle POSIXLY_CORRECT set but not exported
1395         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
1396         export state of POSIXLY_CORRECT, due to bash set -o posix.
1397         Reported by Dustin J. Mitchell.
1398
1399 2010-09-05  Bruno Haible  <bruno@clisp.org>
1400
1401         gnulib-tool: Highlight the changed options.
1402         * gnulib-tool (func_usage): Display the --import, --add-import,
1403         --remove-import explanations in bold font.
1404
1405 2010-09-06  Karl Berry  <karl@gnu.org>
1406
1407         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
1408
1409 2010-09-05  Bruno Haible  <bruno@clisp.org>
1410
1411         uniwidth/width: Update comment.
1412         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
1413         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
1414
1415 2010-09-05  Bruno Haible  <bruno@clisp.org>
1416
1417         isinf, isnan: Relax license.
1418         * modules/isinf (License): Change from GPL to LGPL, with consent from
1419         Ben Pfaff.
1420         * modules/isnan (License): Likewise.
1421         Requested by Ludovic Courtès.
1422
1423 2010-09-04  Bruno Haible  <bruno@clisp.org>
1424
1425         gnulib-tool: Help migration from --import to --add-import or --update.
1426         * gnulib-tool: Emit a verbose error message when --import is used
1427         without any module name.
1428
1429 2010-09-04  Bruno Haible  <bruno@clisp.org>
1430
1431         Update doc about gnulib-tool.
1432         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
1433         'gnulib-tool --update' in more detail.
1434         Reported by Eric Blake.
1435
1436 2010-09-04  Bruno Haible  <bruno@clisp.org>
1437
1438         gnulib-tool: Change --import. New options --add/remove-import.
1439         * gnulib-tool: New options --add-import, --remove-import.
1440         (func_usage): Document them.
1441         (have_associative): Define always.
1442         (func_import): In import mode, don't merge the specified settings with
1443         the cached settings. Implement remove-import mode.
1444         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
1445         Explain when to use them versus --import.
1446         (Simple update): Use --add-import instead of --import.
1447         * NEWS: Mention the change.
1448
1449 2010-09-04  Bruno Haible  <bruno@clisp.org>
1450
1451         * doc/gnulib-tool.texi (Initial import): Update paragraph about
1452         separate gnulib.mk.
1453
1454 2010-09-04  Bruno Haible  <bruno@clisp.org>
1455
1456         gnulib-tool: Don't talk about CVS any more.
1457         * gnulib-tool (func_usage, func_import): Write "version control"
1458         instead of CVS.
1459
1460 2010-09-04  Jim Meyering  <meyering@redhat.com>
1461
1462         maint.mk: avoid obscure sc_copyright_check failure in coreutils
1463         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
1464         false positives (whose names may be ill-chosen) when searching
1465         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
1466         would cause a false-positive.
1467
1468         avoid coreutils "make distcheck" failure
1469         Coreutils tests with an absolute build directory name that contains
1470         a space.  Not quoting this directory name caused a failure.
1471         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
1472         * tests/test-vc-list-files-cvs.sh: Likewise.
1473
1474 2010-09-04  Bruno Haible  <bruno@clisp.org>
1475
1476         gnulib-tool: Avoid error when run in a package without Makefile.am.
1477         * gnulib-tool: When collecting the m4dirs in a package that does not
1478         have a Makefile.am, eliminate those directories that contain no
1479         gnulib-cache.m4. Fix expression that counts these directories.
1480
1481 2010-09-04  Bruno Haible  <bruno@clisp.org>
1482
1483         update-copyright test: Improve output when perl is missing or too old.
1484         * tests/test-update-copyright.sh: Move test of Perl version down after
1485         the test whether Perl exists. Provide an explanation relating Perl's
1486         error message to Automake's SKIP: message.
1487
1488 2010-09-04  Bruno Haible  <bruno@clisp.org>
1489
1490         Don't augment PATH in TESTS_ENVIRONMENT.
1491         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
1492         set abs_aux_dir instead of augmenting PATH.
1493         * modules/vc-list-files-tests (Makefile.am): Likewise.
1494         * tests/test-update-copyright.sh: Augment PATH here.
1495         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
1496         path_prepend_.
1497         * tests/test-vc-list-files-git.sh: Likewise.
1498
1499 2010-09-04  Jim Meyering  <meyering@redhat.com>
1500
1501         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
1502         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
1503
1504 2010-09-04  Bruno Haible  <bruno@clisp.org>
1505
1506         strdup: Fix compilation error in C++ mode.
1507         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
1508         the macro.
1509
1510 2010-09-04  Bruno Haible  <bruno@clisp.org>
1511
1512         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
1513         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
1514         macro into a function.
1515         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
1516
1517 2010-09-04  Bruno Haible  <bruno@clisp.org>
1518
1519         Set PATH_SEPARATOR the same way autoconf does.
1520         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
1521         the value of PATH_SEPARATOR the same way autoconf-generated configure
1522         scripts do.
1523         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
1524         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
1525
1526 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
1527
1528         Set PATH_SEPARATOR the same way autoconf does.
1529         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
1530         the same way autoconf-generated configure scripts do.
1531         * posix-modules: Likewise.
1532
1533 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
1534
1535         hash: fix safe_hasher const typo
1536         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
1537         const; otherwise, there is a type error later.
1538
1539 2010-09-02  Jim Meyering  <meyering@redhat.com>
1540
1541         test-update-copyright.sh: require perl 5.8.0
1542         * tests/test-update-copyright.sh: Require 5.8.0,
1543         which Tom G. Christensen has confirmed is adequate,
1544         while 5.6.1 is not.
1545
1546 2010-09-02  Eric Blake  <eblake@redhat.com>
1547
1548         tests: init.sh improvements for re-exec'ing with zsh
1549         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
1550         -vx through shell re-exec.
1551         Reported by Tom G. Christensen.
1552
1553         wctype: fix typo in previous commit
1554         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
1555         Reported by Ludovic Courtès.
1556
1557 2010-09-02  Jim Meyering  <meyering@redhat.com>
1558
1559         test-update-copyright.sh: skip test if Perl is too old
1560         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
1561         Reported by Tom G. Christensen.
1562
1563 2010-09-02  Bruno Haible  <bruno@clisp.org>
1564
1565         wctype: Avoid compilation error on IRIX 6.5.30.
1566         * lib/wctype.in.h (iswblank): Declare with a replacement if
1567         REPLACE_ISWBLANK is set.
1568         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
1569         declared. Set REPLACE_ISWBLANK.
1570         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
1571         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
1572         * doc/posix-headers/wctype.texi: Likewise.
1573         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
1574
1575 2010-09-01  Bruno Haible  <bruno@clisp.org>
1576
1577         New module 'socketlib'.
1578         * modules/socketlib: New file.
1579         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
1580         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
1581         * modules/sockets (Depends-on): Add socketlib.
1582         Suggested by Sam Steingold <sds@gnu.org>.
1583
1584 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
1585
1586         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
1587
1588         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
1589         when one needs search access to a directory but not read access.
1590         On systems where it is available, it works in some cases where
1591         O_RDONLY does not, namely on directories that are searchable but
1592         not readable, and which need only to be searchable.  If O_SEARCH
1593         is not available, fall back to the traditional method of using
1594         O_RDONLY.
1595
1596         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
1597         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
1598         when opening a directory that needs only to be searchable.
1599         * lib/chdir-safer.c (chdir_no_follow): Likewise.
1600         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
1601         * lib/openat-proc.c (openat_proc_name): Likewise.
1602         * lib/openat.c (openat_needs_fchdir): Likewise.
1603         * lib/save-cwd.c (save_cwd): Likewise.
1604         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
1605
1606 2010-08-28  Bruno Haible  <bruno@clisp.org>
1607
1608         New module 'host-cpu-c-abi'.
1609         * modules/host-cpu-c-abi: New file.
1610         * m4/host-cpu-c-abi.m4: New file, based on part of
1611         clisp/src/m4/general.m4.
1612         Requested by Sam Steingold <sds@gnu.org>.
1613
1614 2010-08-31  Eric Blake  <eblake@redhat.com>
1615         and Jim Meyering  <meyering@redhat.com>
1616
1617         hash: factor, and guard against misbehaving hasher function
1618         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
1619         of table->hasher's return value.  Also protect against a hash value
1620         so large that adding it to table->bucket results in a NULL pointer.
1621         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
1622         Use it in place of open-coded check-and-abort.
1623
1624 2010-08-30  Bruno Haible  <bruno@clisp.org>
1625
1626         hash: silence spurious clang warning
1627         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
1628         Reported by Eric Blake.
1629
1630 2010-08-30  Eric Blake  <eblake@redhat.com>
1631
1632         strstr, memmem, strcasestr: avoid leaked shell message
1633         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
1634         FreeBSD.
1635         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
1636         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
1637
1638         tests: silence clang warning
1639         * tests/test-malloca.c (do_allocation): Avoid dead store.
1640
1641 2010-08-29  Bruno Haible  <bruno@clisp.org>
1642
1643         gettext: Fix recent mistake.
1644         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
1645
1646 2010-08-29  Bruno Haible  <bruno@clisp.org>
1647
1648         selinux-h: Offer a --without-selinux option.
1649         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
1650         --without-selinux was specified, skip all tests and define
1651         HAVE_SELINUX_SELINUX_H to 0.
1652         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
1653         set LIB_SELINUX to empty.
1654         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
1655         gl_LIBSELINUX. If --without-selinux was specified, replace
1656         selinux/context.h.
1657         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
1658
1659 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1660             Bruno Haible  <bruno@clisp.org>
1661
1662         Make the module 'realloc-gnu' work again on AIX and OSF/1.
1663         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
1664         of HAVE_REALLOC.
1665         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
1666         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
1667         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
1668         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
1669
1670 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1671             Bruno Haible  <bruno@clisp.org>
1672
1673         Make the module 'calloc-gnu' work again on AIX and OSF/1.
1674         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
1675         HAVE_CALLOC.
1676         * lib/xmalloc.c: Update accordingly.
1677         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
1678         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
1679         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
1680
1681 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1682             Bruno Haible  <bruno@clisp.org>
1683
1684         Make the module 'malloc-gnu' work again on AIX and OSF/1.
1685         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
1686         HAVE_MALLOC.
1687         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
1688         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
1689         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
1690
1691 2010-08-29  Bruno Haible  <bruno@clisp.org>
1692
1693         Update modules list.
1694         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
1695         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
1696         (String handling <string.h>): Add astrxfrm.
1697         (File system functions): Add readlinkat.
1698
1699 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1700
1701         Tests for module 'realloc-gnu'.
1702         * modules/realloc-gnu-tests: New file.
1703         * tests/test-realloc-gnu.c: New file.
1704
1705         Tests for module 'calloc-gnu'.
1706         * modules/calloc-gnu-tests: New file.
1707         * tests/test-calloc-gnu.c: New file.
1708
1709         Tests for module 'malloc-gnu'.
1710         * modules/malloc-gnu-tests: New file.
1711         * tests/test-malloc-gnu.c: New file.
1712
1713 2010-08-28  Bruno Haible  <bruno@clisp.org>
1714
1715         Rename module 'realloc' -> 'realloc-gnu'.
1716         * modules/realloc-gnu: New file, copied from modules/realloc.
1717         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
1718         obsolete.
1719         * modules/mgetgroups (Depends-on): Update.
1720         * doc/posix-functions/realloc.texi: Update.
1721         * NEWS: Mention the change.
1722
1723         Rename module 'calloc' -> 'calloc-gnu'.
1724         * modules/calloc-gnu: New file, copied from modules/calloc.
1725         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
1726         obsolete.
1727         * doc/posix-functions/calloc.texi: Update.
1728         * NEWS: Mention the change.
1729
1730         Rename module 'malloc' -> 'malloc-gnu'.
1731         * modules/malloc-gnu: New file, copied from modules/malloc.
1732         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
1733         obsolete.
1734         * modules/argp (Depends-on): Update.
1735         * modules/regex (Depends-on): Update.
1736         * doc/posix-functions/malloc.texi: Update.
1737         * NEWS: Mention the change.
1738
1739 2010-08-28  Eric Blake  <eblake@redhat.com>
1740
1741         pread, pwrite: add missing dependency
1742         * modules/pread (Depends-on): Add extensions.
1743         * modules/pwrite (Depends-on): Likewise.
1744
1745 2010-08-28  Bruno Haible  <bruno@clisp.org>
1746
1747         unistr/u*-strchr: Fix tests dependencies.
1748         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
1749         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
1750         Reported by Ian Beckwith <ianb@erislabs.net>.
1751
1752 2010-08-28  Bruno Haible  <bruno@clisp.org>
1753
1754         read-file: Don't occupy too much unused memory.
1755         * lib/read-file.c (fread_file): Shrink the buffer at the end.
1756
1757 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
1758             Eric Blake  <eblake@redhat.com>
1759             Bruno Haible  <bruno@clisp.org>
1760
1761         read-file: Avoid memory reallocations with regular files.
1762         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
1763         (fread_file): With regular files, use the remaining length as the
1764         initial buffer size.  Check against overflow.
1765         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
1766         sys_stat.
1767
1768 2010-08-28  Bruno Haible  <bruno@clisp.org>
1769
1770         ftello: Relax license.
1771         * modules/ftello (License): Relax to LGPLv2+.
1772         Reported by Eric Blake.
1773
1774 2010-08-28  Bruno Haible  <bruno@clisp.org>
1775
1776         Avoid relocwrapper link errors due to gnulib replacement functions.
1777         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
1778         function.
1779         Reported by Ben Pfaff <blp@cs.stanford.edu>.
1780
1781 2010-08-28  Bruno Haible  <bruno@clisp.org>
1782
1783         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
1784         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
1785         defined.
1786         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
1787         Suggested by Eric Blake.
1788
1789 2010-08-28  Bruno Haible  <bruno@clisp.org>
1790
1791         sys_socket, netdb: Ensure socklen_t gets defined.
1792         * modules/sys_socket (Depends-on): Add socklen.
1793         * modules/netdb (Depends-on): Likewise.
1794         * modules/getaddrinfo (Depends-on): Remove socklen.
1795         * modules/getsockopt (Depends-on): Likewise.
1796         * modules/setsockopt (Depends-on): Likewise.
1797         * tests/test-sys_socket.c: Check that socklen_t is defined.
1798         * tests/test-netdb.c: Likewise.
1799         * m4/socklen.m4: Update comments.
1800         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
1801
1802 2010-08-27  Eric Blake  <eblake@redhat.com>
1803
1804         login_tty: add missing dependency
1805         * modules/login_tty (Depends-on): Add pty.
1806
1807 2010-08-26  Eric Blake  <eblake@redhat.com>
1808
1809         lib-symbol-versions: fix m4 quoting
1810         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
1811         format for AC_LINK_IFELSE.
1812
1813         glob: fix compile test
1814         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
1815
1816         btowc: fix missing file
1817         * modules/btowc (Files): Also ship locale-fr.m4.
1818
1819         lseek: fix link test
1820         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
1821         AC_LINK_IFELSE.
1822
1823         include_next: silence autoconf 2.68 warning
1824         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
1825         AC_COMPILE_IFELSE as special.
1826         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
1827         autoconf < 2.68.
1828
1829         acl: fix compilation test
1830         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
1831         AC_COMPILE_IFELSE.
1832
1833 2010-08-26  Bruno Haible  <bruno@clisp.org>
1834
1835         Modernize AC_TRY_RUN invocations.
1836         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
1837         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
1838         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
1839         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
1840         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
1841         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
1842         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
1843         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
1844         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
1845         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
1846         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
1847         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
1848         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
1849         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
1850         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
1851         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
1852         gl_MBRLEN_NUL_RETVAL): Likewise.
1853         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
1854         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
1855         Likewise.
1856         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
1857         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
1858         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
1859         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
1860         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
1861         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
1862         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
1863         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
1864         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
1865         Likewise.
1866         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
1867         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
1868         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
1869         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
1870         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1871         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
1872         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
1873         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
1874         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
1875         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
1876
1877 2010-08-26  Bruno Haible  <bruno@clisp.org>
1878
1879         Modernize AC_TRY_LINK invocations.
1880         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
1881         AC_TRY_LINK.
1882         * m4/argp.m4 (gl_ARGP): Likewise.
1883         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
1884         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
1885         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
1886         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
1887         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
1888         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
1889         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
1890         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
1891         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
1892         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
1893         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
1894         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
1895         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
1896         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
1897         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
1898         * m4/hostent.m4 (gl_HOSTENT): Likewise.
1899         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
1900         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
1901         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
1902         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
1903         Likewise.
1904         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
1905         Likewise.
1906         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
1907         Likewise.
1908         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
1909         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
1910         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
1911         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
1912         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
1913         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
1914         * m4/servent.m4 (gl_SERVENT): Likewise.
1915         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
1916         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
1917         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
1918         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
1919         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
1920         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
1921         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
1922         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
1923         * modules/tsearch-tests (configure.ac): Likewise.
1924
1925 2010-08-26  Bruno Haible  <bruno@clisp.org>
1926
1927         Modernize AC_TRY_COMPILE invocations.
1928         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
1929         AC_TRY_COMPILE.
1930         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
1931         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
1932         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
1933         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
1934         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
1935         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
1936         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
1937         * m4/lock.m4 (gl_LOCK): Likewise.
1938         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
1939         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
1940         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
1941         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
1942         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
1943         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
1944         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
1945         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
1946         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
1947         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
1948         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
1949         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
1950         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
1951         extraneous semicolon.
1952
1953 2010-08-26  Jim Meyering  <meyering@redhat.com>
1954
1955         stat-time: relax license LGPL
1956         * modules/stat-time (License): Change from GPL to LGPL,
1957         with consent from all contributors, for use in libguile.
1958         Requested by Ludovic Courtès.
1959
1960 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
1961
1962         poll: return immediately on POLLHUP.
1963         * lib/poll.c (poll): Always set timeout before wait_timeout is
1964         computed.
1965
1966 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1967
1968         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
1969         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
1970         rmdir ("dir/.//"), unlinkat.
1971
1972 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
1973
1974         stdbool: avoid spurious failure with modern xlc
1975         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
1976
1977 2010-08-24  Bruno Haible  <bruno@clisp.org>
1978
1979         getloadavg: simplify code
1980         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
1981         gl_have_func. Update comments.
1982
1983 2010-08-24  Eric Blake  <eblake@redhat.com>
1984
1985         getloadavg: don't define SVR4 on cygwin
1986         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
1987         only define SVR4 when -lkvm is required.
1988         Reported by Yaakov Selkowitz.
1989
1990 2010-08-24  Bruno Haible  <bruno@clisp.org>
1991
1992         priv-set: fix comment
1993         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
1994
1995 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
1996
1997         priv-set: fix comments
1998         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
1999         to match code, as suggested by David Bartley in:
2000         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
2001
2002 2010-08-23  Eric Blake  <eblake@redhat.com>
2003
2004         stdbool: avoid rejecting clang
2005         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
2006         * tests/test-stdbool.c: Enable more tests if using the system
2007         <stdbool.h> instead of the gnulib replacement.
2008         (main): Move xlc bug test to a runtime test for all compilers.
2009         Reported by Anders Kaseorg.
2010
2011         argz: fix shell quoting issue
2012         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
2013         Reported by Charles Wilson.
2014
2015 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
2016             Erik Faye-Lund <kusmabite@gmail.com>
2017
2018         poll, select: handle ERROR_BROKEN_PIPE.
2019         * lib/poll.c (win32_compute_revents): Return POLLHUP when
2020         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
2021         * lib/select.c (win32_compute_revents): Do not mark a pipe
2022         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
2023
2024 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
2025
2026         fts: allow compilation with C++
2027         * lib/fts_.h: Specify extern "C" linkage with C++.
2028
2029 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
2030
2031         Fix gnulib-tool sed script de-commentation for AIX sed.
2032         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
2033         sed.
2034
2035 2010-08-17  Eric Blake  <eblake@redhat.com>
2036
2037         test-stddef: test for (some) offsetof bugs
2038         * tests/test-stddef.c: Enhance test to ensure correct type of
2039         offsetof.
2040         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
2041         that we are not fixing at this time.
2042
2043 2010-08-15  Bruno Haible  <bruno@clisp.org>
2044
2045         stpncpy: Allow stpncpy to be defined as a macro.
2046         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
2047         if it's already correctly declared.
2048         * lib/string.in.h (stpncpy): Undefine before redefining.
2049         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
2050
2051 2010-08-14  Bruno Haible  <bruno@clisp.org>
2052
2053         Rename module 'memxfrm' to 'amemxfrm'.
2054         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
2055         (amemxfrm): Renamed from memxfrm.
2056         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
2057         (amemxfrm): Renamed from memxfrm.
2058         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
2059         * NEWS: Mention the change.
2060         * MODULES.html.sh (String handling <string.h>): Update.
2061         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
2062         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
2063         * lib/unicase/u16-casexfrm.c: Likewise.
2064         * lib/unicase/u32-casexfrm.c: Likewise.
2065         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
2066         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
2067         * lib/uninorm/u16-normxfrm.c: Likewise.
2068         * lib/uninorm/u32-normxfrm.c: Likewise.
2069         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
2070         memxfrm.
2071         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
2072         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
2073         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
2074         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
2075         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
2076         Suggested by Paul Eggert.
2077
2078 2010-08-14  Bruno Haible  <bruno@clisp.org>
2079
2080         Tests for module 'astrxfrm'.
2081         * modules/astrxfrm-tests: New file.
2082         * tests/test-astrxfrm.c: New file.
2083
2084         New module 'astrxfrm'.
2085         * lib/astrxfrm.h: New file.
2086         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
2087         * modules/astrxfrm: New file.
2088
2089 2010-08-14  Reuben Thomas <rrt@sc3d.org>
2090
2091         regex: Tweak doc.
2092         * doc/regex.texi (Overview): Don't mention regex.c.
2093         (GNU Regular Expression Compiling): Likewise.
2094         (Match-end-of-line Operator): Mention 'not_eol'.
2095
2096 2010-08-14  Brian Gough  <bjg@gnu.org>
2097             Bruno Haible  <bruno@clisp.org>
2098
2099         git-merge-changelog: add doc relating to use with bzr and hg.
2100         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
2101
2102 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
2103
2104         pthread: fix pthread.h creation for srcdir != builddir
2105         * modules/pthread (Makefile.am): Fix the rule to work also in a
2106         non-srcdir build.
2107
2108 2010-08-13  Karl Berry  <karl@gnu.org>
2109
2110         * doc/regex.texi (Predefined Syntaxes): @smallexample.
2111         * doc/posix-*/*: force line break before @url of POSIX
2112         specifications.
2113         Suggested by Werner Lemberg.
2114
2115 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
2116
2117         strtod: fix const diagnostic
2118         * lib/strtod.c (strtod): Don't assign const char * to char *,
2119         as this elicits a warning from GCC when warnings are enabled.
2120
2121 2010-08-10  Pádraig Brady <P@draigbrady.com>
2122         and Eric Blake  <eblake@redhat.com>
2123
2124         copy-acl: ignore ENOTSUP on HP-UX
2125         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
2126         so that it is available for HP-UX.
2127         * lib/copy-acl.c (qcopy_acl): Use it.
2128         Reported by Patrick M. Callahan.
2129
2130 2010-08-10  Eric Blake  <eblake@redhat.com>
2131
2132         open, chown: relax license
2133         * modules/open (License): Change to LGPLv2+, with consent by all
2134         authors, for use in augeas.
2135         * modules/chown (License): Likewise.
2136         * modules/lchown (Likewise): Likewise.
2137         Requested by Adam Stokes.
2138
2139 2010-08-09  Karl Berry  <karl@gnu.org>
2140
2141         * build-aux/ar-lib: new file, import from Automake.
2142         * config/srclist.txt: autocheck for updates.
2143
2144 2010-08-09  Eric Blake  <eblake@redhat.com>
2145
2146         readlinkat: adjust client modules
2147         * modules/areadlinkat (Depends-on): Use readlinkat, not
2148         symlinkat.
2149         * modules/areadlinkat-with-size (Depends-on): Likewise.
2150
2151         mknod: be more vocal about danger of running tests as root
2152         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
2153         root, since that is just asking for problems.
2154         Suggested by Bruno Haible, based on a report by Rainer Tammer.
2155
2156         readlinkat: split into its own module
2157         * modules/symlinkat: Split readlinkat...
2158         * modules/readlinkat: ...into separate module.
2159         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
2160         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
2161         * lib/symlinkat.c (readlinkat): Move...
2162         * lib/readlinkat.c: ...into new file.
2163         * modules/symlinkat-tests: Split readlinkat test...
2164         * modules/readlinkat-tests: ...into separate module.
2165         * tests/test-symlinkat.c: Split...
2166         * tests/test-readlinkat.c: ...into new file.
2167         * NEWS: Document the split.
2168         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
2169         * lib/unistd.in.h (readlinkat): Likewise.
2170         Suggested by Bruno Haible.
2171
2172 2010-08-08  Bruno Haible  <bruno@clisp.org>
2173
2174         memxfrm: Speed up.
2175         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
2176         that usually only one call to strxfrm is necessary for each string
2177         part.
2178         Reported by Paul Eggert <eggert@cs.ucla.edu>.
2179
2180 2010-08-07  Karl Berry  <karl@gnu.org>
2181
2182         * doc/posix-headers/limits.texi,
2183         * doc/posix-functions/malloc.texi,
2184         * doc/posix-functions/strsignal.texi: missing @item.
2185         * doc/ld-version-script.texi: spurious leading i.
2186         * doc/regex.texi (Interval Operators): no commas inside @var.
2187
2188 2010-08-01  Bruno Haible  <bruno@clisp.org>
2189
2190         Integrate the regex documentation.
2191         * doc/gnulib.texi: Define 'cn' index.
2192         (Regular expressions): New a chapter that includes regex.texi and
2193         regexprops-generic.texi.
2194         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
2195         syntax.
2196
2197         Whitespace cleanup.
2198         * doc/regex.texi: Remove trailing spaces.
2199
2200         Add regex documentation.
2201         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
2202         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
2203         Written by Kathy A. Hargreaves and Karl Berry.
2204
2205 2010-08-01  Bruno Haible  <bruno@clisp.org>
2206
2207         link: Update documentation.
2208         * doc/posix-functions/link.texi: Update regarding Solaris.
2209
2210 2010-07-31  Bruno Haible  <bruno@clisp.org>
2211
2212         Update modules list.
2213         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
2214         (String handling <string.h>): Add memcmp2, memxfrm.
2215         (Container data structures): Add xlist, xsublist, xoset.
2216         (Core language properties): Add alignof, unused-parameter.
2217         (Process control, Numeric conversion functions <stdlib.h>): Renamed
2218         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
2219         (Unibyte characters <ctype.h>): New section.
2220         (String handling <string.h>): New section.
2221         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
2222         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
2223         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
2224         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
2225         tan, tanh, tanl, y0, y1, yn.
2226         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
2227         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
2228         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
2229         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
2230         unlockpt, vdprintf, vdprintf-posix.
2231         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
2232         (File system functions): Add concat-filename, sys_file, sys_ioctl,
2233         xconcat-filename.
2234         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
2235         getdtablesize, pipe2, pipe2-safer.
2236         (Security): New section.
2237         (Networking functions): Add accept4.
2238         (Signal handling): Add sigpipe.
2239         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
2240         mbmemcasecoll.
2241         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
2242         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
2243         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
2244         pipe-filter-ii.
2245         (Misc): Add argp-version-etc, login_tty, parse-duration.
2246
2247 2010-07-31  Bruno Haible  <bruno@clisp.org>
2248
2249         Improve doc in MODULES.html.
2250         * modules/linkat (Description): Add the word "function".
2251         * modules/mkfifo (Description): Likewise.
2252         * modules/mknod (Description): Likewise.
2253         * modules/remove (Description): Likewise.
2254         * modules/renameat (Description): Likewise.
2255         * modules/stat (Description): Likewise.
2256         * modules/symlink (Description): Likewise.
2257         * modules/unlink (Description): Likewise.
2258
2259 2010-07-31  Bruno Haible  <bruno@clisp.org>
2260
2261         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
2262         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
2263         option --enable/disable-c++ instead of --enable/disable-cxx.
2264         * NEWS: Mention the change.
2265
2266 2010-07-31  Bruno Haible  <bruno@clisp.org>
2267
2268         readlink, areadlink: Relax test a bit.
2269         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
2270         alternative to ENOTDIR.
2271         * tests/test-areadlink.h (test_areadlink): Likewise.
2272         Reported by Rainer Tammer.
2273
2274 2010-07-31  Bruno Haible  <bruno@clisp.org>
2275
2276         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
2277         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
2278         character, perform the search using U_STRCHR.
2279         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
2280         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
2281         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
2282         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
2283         Suggested by Paolo Bonzini.
2284
2285 2010-07-31  Bruno Haible  <bruno@clisp.org>
2286
2287         unistr/u*-strstr: Fix dependencies.
2288         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
2289         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
2290         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
2291
2292 2010-07-31  Bruno Haible  <bruno@clisp.org>
2293
2294         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
2295         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
2296         the beginning of the loop.
2297         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
2298         cases in 'switch' statement.
2299
2300         unistr/u8-strchr: Fix several bugs.
2301         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
2302         the string. When not found, return NULL, not a pointer near the end.
2303
2304         More tests for unistr/u8-strchr.
2305         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
2306         that the function does not read past the first occurrence of the byte
2307         being searched.
2308         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
2309         * tests/unistr/test-u16-strchr.c (main): New function.
2310         * tests/unistr/test-u32-strchr.c (main): New function.
2311
2312 2010-07-31  Bruno Haible  <bruno@clisp.org>
2313
2314         posix-modules: Ignore backup files of documentation files.
2315         * posix-modules: grep only through files named *.texi.
2316
2317 2010-07-31  Bruno Haible  <bruno@clisp.org>
2318
2319         symlinkat: Fix documentation.
2320         * doc/posix-functions/readlinkat.texi: Fix module name.
2321
2322 2010-07-31  Bruno Haible  <bruno@clisp.org>
2323
2324         fchownat: Replace also when chown has the trailing slash bug.
2325         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
2326         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
2327         introduced on 2010-04-10.
2328         Reported by Rainer Tammer.
2329
2330 2010-07-31  Bruno Haible  <bruno@clisp.org>
2331
2332         linkat: Work around AIX 7.1 bug.
2333         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
2334         whether linkat handles trailing slash correctly. If not, replace linkat
2335         and define LINKAT_TRAILING_SLASH_BUG.
2336         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
2337         check whether (fd1,file1) points to a directory if file1 or file2 ends
2338         in a slash. Code taken from lib/link.c.
2339         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
2340         Reported by Rainer Tammer.
2341
2342 2010-07-31  Bruno Haible  <bruno@clisp.org>
2343
2344         Correctly determine whether pow is available in libc on AIX 7 with xlc.
2345         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
2346         This disables an xlc optimization that was causing wrong test results.
2347         Reported by Rainer Tammer.
2348
2349 2010-07-31  Bruno Haible  <bruno@clisp.org>
2350
2351         iconv: Work around AIX 6.1..7.1 bug.
2352         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
2353         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
2354         cross-compiling, guess no on all versions of AIX.
2355         Reported by Rainer Tammer.
2356
2357 2010-07-31  Bruno Haible  <bruno@clisp.org>
2358
2359         readlink: Relax test a bit.
2360         * tests/test-readlink.h (test_readlink): Allow different errno value
2361         when readlink is called with a file name that ends in / and refers to
2362         a file.
2363         Suggested by Eric Blake.
2364         Reported by Rainer Tammer.
2365
2366 2010-07-31  Bruno Haible  <bruno@clisp.org>
2367
2368         copysign: Does not require -lm on glibc systems.
2369         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
2370         gl_COMMON_DOUBLE_MATHFUNC.
2371         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
2372
2373 2010-07-31  Bruno Haible  <bruno@clisp.org>
2374
2375         duplocale: Work around AIX 7.1 bug.
2376         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
2377         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
2378         * lib/duplocale.c (rpl_duplocale): Update comment.
2379         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
2380         Reported by Rainer Tammer.
2381
2382 2010-07-30  Bruno Haible  <bruno@clisp.org>
2383
2384         dirfd: Avoid link error on AIX 7.1.
2385         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
2386         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
2387         exist, set REPLACE_DIRFD.
2388         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
2389         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
2390         * doc/posix-functions/dirfd.texi: Update.
2391         Reported by Rainer Tammer.
2392
2393 2010-07-30  Eric Blake  <eblake@redhat.com>
2394
2395         strtod: next round of AIX fixes
2396         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
2397         exponent.
2398         * tests/test-strtod.c (main): Enhance tests.
2399         * doc/posix-functions/strtod.texi (strtod): Document next bug.
2400         Reported by Rainer Tammer.
2401
2402         futimens: fix configure check
2403         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
2404         Reported by Bruno Haible.
2405
2406 2010-07-30  Bruno Haible  <bruno@clisp.org>
2407
2408         getline: Update regarding AIX.
2409         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
2410         Reported by Rainer Tammer.
2411
2412 2010-07-30  Bruno Haible  <bruno@clisp.org>
2413
2414         wcwidth: Drop replacement on AIX 7.
2415         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
2416         AIX 7.
2417         Reported by Rainer Tammer.
2418
2419 2010-07-30  Bruno Haible  <bruno@clisp.org>
2420
2421         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
2422         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
2423         a 'char *'.
2424         Reported by Rainer Tammer.
2425
2426 2010-07-30  Bruno Haible  <bruno@clisp.org>
2427
2428         unlink: Update regarding AIX.
2429         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
2430         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
2431         Reported by Rainer Tammer.
2432
2433 2010-07-30  Bruno Haible  <bruno@clisp.org>
2434
2435         symlink: Update regarding AIX.
2436         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
2437         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
2438         Reported by Rainer Tammer.
2439
2440 2010-07-30  Bruno Haible  <bruno@clisp.org>
2441
2442         strndup: Update regarding AIX.
2443         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
2444         AIX 7.
2445         Reported by Rainer Tammer.
2446
2447 2010-07-30  Bruno Haible  <bruno@clisp.org>
2448
2449         stat: Update regarding AIX.
2450         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
2451         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
2452         Reported by Rainer Tammer.
2453
2454 2010-07-30  Bruno Haible  <bruno@clisp.org>
2455
2456         truncl: Fix autoconf test.
2457         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
2458         whether truncl works.
2459         Reported by Rainer Tammer.
2460
2461 2010-07-30  Bruno Haible  <bruno@clisp.org>
2462
2463         round: Update regarding AIX.
2464         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
2465         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
2466         Reported by Rainer Tammer.
2467
2468 2010-07-30  Bruno Haible  <bruno@clisp.org>
2469
2470         rename: Update regarding AIX.
2471         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
2472         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
2473         Reported by Rainer Tammer.
2474
2475 2010-07-30  Bruno Haible  <bruno@clisp.org>
2476
2477         printf.m4: Update regarding AIX.
2478         * m4/printf.m4: Update comments regarding AIX.
2479         Reported by Rainer Tammer.
2480
2481 2010-07-30  Bruno Haible  <bruno@clisp.org>
2482
2483         iconv: Update regarding AIX.
2484         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
2485         AIX 7.
2486         Reported by Rainer Tammer.
2487
2488 2010-07-30  Bruno Haible  <bruno@clisp.org>
2489
2490         getopt: Update regarding AIX.
2491         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
2492         no on AIX.
2493         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
2494         Reported by Rainer Tammer.
2495
2496 2010-07-30  Bruno Haible  <bruno@clisp.org>
2497
2498         ldexpl; Update regarding AIX.
2499         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
2500         on AIX 7.
2501         Reported by Rainer Tammer.
2502
2503 2010-07-30  Bruno Haible  <bruno@clisp.org>
2504
2505         frexpl: Update regarding AIX.
2506         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
2507         on AIX 7.
2508         Reported by Rainer Tammer.
2509
2510 2010-07-30  Bruno Haible  <bruno@clisp.org>
2511
2512         open, fopen: Update regarding AIX.
2513         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
2514         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
2515         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
2516         * doc/posix-functions/fopen.texi: Likewise.
2517         Reported by Rainer Tammer.
2518
2519 2010-07-30  Bruno Haible  <bruno@clisp.org>
2520
2521         chown: Update doc regarding AIX.
2522         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
2523         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
2524         Reported by Rainer Tammer.
2525
2526 2010-07-30  Eric Blake  <eblake@redhat.com>
2527
2528         strtod: fix bug in replacement function on AIX
2529         * lib/strtod.c (strtod): Special case broken "0x" parse in
2530         underlying strtod.
2531         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
2532         * doc/posix-functions/strtod.texi (strtod): Likewise.
2533         Reported by Rainer Tammer.
2534
2535 2010-07-30  Bruno Haible  <bruno@clisp.org>
2536
2537         mbrlen: Fix cross-compilation guess for AIX.
2538         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
2539         guess. Leftover from 2008-12-22.
2540
2541 2010-07-30  Bruno Haible  <bruno@clisp.org>
2542
2543         mbrtowc: Fix cross-compilation guess for AIX.
2544         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
2545         guess. Leftover from 2008-12-21.
2546
2547 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
2548
2549         init.sh: work around trap limitation of some shells
2550         * tests/init.sh (setup_): Move exit trap outside of shell function.
2551
2552 2010-07-29  Eric Blake  <eblake@redhat.com>
2553
2554         strtod: aid debugging
2555         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
2556         understanding why strtod is rejected.
2557
2558 2010-07-28  Bruno Haible  <bruno@clisp.org>
2559
2560         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
2561         * lib/unistr/u8-chr.c: Include <string.h>.
2562         * tests/unistr/test-u8-chr.c: Likewise.
2563         * tests/unistr/test-u16-chr.c: Likewise.
2564         * tests/unistr/test-u32-chr.c: Likewise.
2565         * tests/unistr/test-u8-strchr.c: Likewise.
2566         * tests/unistr/test-u16-strchr.c: Likewise.
2567         * tests/unistr/test-u32-strchr.c: Likewise.
2568         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
2569         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
2570         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
2571         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
2572
2573 2010-07-28  Bruno Haible  <bruno@clisp.org>
2574
2575         Use spaces for indentation, not tabs.
2576         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
2577
2578 2010-07-27  Bruno Haible  <bruno@clisp.org>
2579
2580         mbspcasecmp: Fix function specification.
2581         * lib/string.in.h (mbspcasecmp): Fix specification comment.
2582         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
2583         Reported by Eric Blake <eblake@redhat.com>.
2584
2585 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
2586
2587         timespec: use cast and not conditional, as truncation isn't possible
2588         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
2589         instead of a conditional.  Comment about the situation in more detail.
2590         This undoes most of the 2009-10-29 patch.
2591
2592 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
2593
2594         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
2595         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
2596         * lib/unistr/u8-strchr.c: Likewise.
2597         * modules/unistr/u8-chr: Depend on memchr.
2598
2599         unistr/u*-strchr: add tests
2600         * modules/unistr/u8-strchr-tests: New file.
2601         * modules/unistr/u16-strchr-tests: New file.
2602         * modules/unistr/u32-strchr-tests: New file.
2603         * tests/unistr/test-strchr.h: New file.
2604         * tests/unistr/test-u8-strchr.c: New file.
2605         * tests/unistr/test-u16-strchr.c: New file.
2606         * tests/unistr/test-u32-strchr.c: New file.
2607
2608         unistr/u*-chr: test multibyte sequences more
2609         * tests/unistr/test-chr.h: Do complete testing of the characters in the
2610         test vector.
2611         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
2612         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
2613         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
2614
2615         unistr/u*-chr: test multibyte sequences
2616         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
2617
2618         unistr/u*-chr: prepare for multibyte tests
2619         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
2620         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
2621         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
2622         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
2623         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
2624         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
2625
2626 2010-07-18  Bruno Haible  <bruno@clisp.org>
2627
2628         unistr/u8-strchr: Optimize non-ASCII argument case.
2629         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
2630         because the first byte often matches anyway.
2631         Reported by Pádraig Brady <P@draigbrady.com>.
2632
2633 2010-07-15  Karl Berry  <karl@gnu.org>
2634
2635         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
2636
2637 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
2638
2639         getcwd: on Solaris, work better if ancestors are inaccessible
2640         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
2641         buffer and size, try again with a large buffer.  This works better
2642         on Solaris, since its getcwd succeeds even if the path to the root
2643         is inaccessible, and this is helpful in common cases such as .zfs
2644         hidden directories.  Problem reported by J Chapman Flack in
2645         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
2646         Use system getcwd if it's declared, not merely if it's partly
2647         working; use the partly-working test only to avoid needless effort
2648         if the system getcwd fails.
2649         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
2650         comment that was already obsolete and is now even more obsolete.
2651         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
2652         now might call strdup.
2653
2654 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
2655
2656         pthread: Add enough so that coreutils/src/sort.c compiles.
2657         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
2658         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
2659         gnulib. Include <sched.h> and <time.h>, as per POSIX.
2660         Include <sys/types.h>, in case it defines pthread_t.
2661         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
2662         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
2663         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
2664         (pthread_rwlockattr_t, pthread_spinlock_t):
2665         New typedefs, if HAVE_PTHREAD_T is not defined.
2666         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
2667         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
2668         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
2669         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
2670         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
2671         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
2672         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
2673         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
2674         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
2675         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
2676         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
2677         New macros.
2678         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
2679         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
2680         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
2681         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
2682         (pthread_spin_unlock): New dummy functions.
2683         (pthread_create): Return EAGAIN; don't set errno.
2684         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
2685         require AC_C_INLINE.
2686         * modules/pthread (Depends-on): Add sched, time.
2687         (pthread.h): Use AM_V_GEN.
2688
2689 2010-07-13  Bruno Haible  <bruno@clisp.org>
2690
2691         striconveh: Don't malloc memory if the result buffer is sufficient.
2692         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
2693         buffer if its size is sufficient.
2694         Reported by Ludovic Courtès <ludo@gnu.org>.
2695
2696 2010-07-13  Bruno Haible  <bruno@clisp.org>
2697
2698         strtod: Add safety check.
2699         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
2700
2701 2010-07-12  Bruno Haible  <bruno@clisp.org>
2702
2703         Unify tests that set gl_cv_func_ldexpl_no_libm.
2704         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
2705         gl_FUNC_LDEXPL.
2706         (gl_FUNC_LDEXPL): Invoke it.
2707         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
2708
2709 2010-07-12  Bruno Haible  <bruno@clisp.org>
2710
2711         Unify tests that set gl_cv_func_ldexp_no_libm.
2712         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
2713         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
2714         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
2715         (configure.ac): Simply invoke gl_FUNC_LDEXP.
2716         * modules/strtod (Files): Add m4/ldexp.m4.
2717
2718 2010-07-12  Bruno Haible  <bruno@clisp.org>
2719
2720         Unify tests that set gl_cv_func_frexpl_no_libm.
2721         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
2722         gl_FUNC_FREXPL_NO_LIBM.
2723         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
2724         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
2725
2726 2010-07-12  Bruno Haible  <bruno@clisp.org>
2727
2728         Unify tests that set gl_cv_func_frexp_no_libm.
2729         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
2730         gl_FUNC_FREXP_NO_LIBM.
2731         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
2732         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
2733
2734 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
2735
2736         memcoll: clarify sizes versus lengths, document better, and tweak perf
2737         * lib/memcoll.c (strcoll_loop, memcoll0):
2738         Improve quality of descriptive comments.  Name variables
2739         consistently as to whether they are lengths (which do not include
2740         terminating null) versus sizes (which do).
2741         * lib/xmemcoll.c (xmemcoll0): Likewise.
2742         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
2743         returned when s1size == 0; this is easier to compile and saves
2744         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
2745
2746 2010-07-12  Bruno Haible  <bruno@clisp.org>
2747
2748         Tests for module '_Exit'.
2749         * modules/_Exit-tests: New file.
2750         * tests/test-_Exit.sh: New file.
2751         * tests/test-_Exit.c: New file.
2752
2753         New module '_Exit'.
2754         * lib/stdlib.in.h (__attribute__): New macro.
2755         (_Exit): New declaration.
2756         * lib/_Exit.c: New file.
2757         * m4/_Exit.m4: New file.
2758         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
2759         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
2760         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
2761         * modules/_Exit: New file.
2762         * tests/test-stdlib-c++.cc (_Exit): Check signature.
2763         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
2764
2765 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
2766
2767         strtod: make it more-accurate typically, and don't require libm
2768         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
2769         Include limits.h.  Don't include string.h.
2770         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
2771         (locale_isspace): New function, so that no casts are needed to
2772         check whether *s is a space.
2773         (ldexp): Provide an unused dummy if not available.
2774         (scale_radix_exp, parse_number, underlying_strtod): New functions.
2775         (strtod): Use them.  This implementation prefers to use the
2776         underlying strtod if available, falling back on our own code
2777         only to fix known bugs.  This is more likely to produce an
2778         accurate result.  Also, it avoids the use of libm functions.
2779         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
2780         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
2781         was absent, but it caused a test failure with coreutils.
2782         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
2783         with libm.
2784         * modules/strtod (Makefile.am, Link): libm is no longer needed.
2785         * modules/strtod-tests (Makefile.am): Likewise.
2786
2787 2010-07-11  Pádraig Brady  <P@draigBrady.com>
2788             Bruno Haible  <bruno@clisp.org>
2789
2790         unistr/u8-strchr: Optimize ASCII argument case.
2791         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
2792
2793 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
2794
2795         (x)memcoll: minor tweaks
2796         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
2797         is after the type that it qualifies.
2798         (memcoll0): Likewise.
2799         * lib/memcoll.h (memcoll0): Likewise.
2800         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
2801         * lib/xmemcoll.h (xmemcoll0): Likewise.
2802         * lib/memcoll.c (memcoll0): Correct the comment.  This function
2803         differs from memcoll in that the NUL byte is part of the argument.
2804         Omit the abort-checks, as performance is a real issue here.  Plus,
2805         the checks were wrong anyway (an off-by-one error).  Omit local
2806         variable 'diff', as it's a bit clearer that way.
2807         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
2808         no longer needed.
2809
2810 2010-07-08  Chen Guo <chenguo4@yahoo.com>
2811
2812         (x)memcoll: speedup when input is known to be NUL delimited
2813         * lib/memcoll.c: Include stdlib.
2814         (memcoll0) New function.
2815         (strcoll_loop) New function, refactored for use in both memcoll
2816         and memcoll0.
2817         * lib/memcoll.h: Add prototype for memcoll0.
2818         * lib/xmemcoll.c: (xmemcoll0) New function.
2819         (collate_error) New function, refactored for use in both xmemcoll
2820         and xmemcoll0.
2821         * lib/xmemcoll.h: Add prototype for xmemcoll0.
2822         * m4/memcoll.m4: add inline invocation.
2823
2824 2010-07-06  Pádraig Brady  <P@draigBrady.com>
2825
2826         * build-aux/bootstrap: Remove any local translations
2827         from the translation project synchronization directory,
2828         so that local only translations are not distributed.
2829
2830 2010-07-04  Bruno Haible  <bruno@clisp.org>
2831
2832         fsusage: Clarify which code applies to which platforms.
2833         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
2834         platform.
2835         * lib/fsusage.c (get_fs_usage): Likewise.
2836
2837 2010-07-04  Bruno Haible  <bruno@clisp.org>
2838
2839         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
2840         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
2841         Reported by Martin Lambers <marlam@marlam.de>.
2842
2843 2010-07-04  Jim Meyering  <meyering@redhat.com>
2844
2845         hash: once again explicitly disallow insertion of NULL
2846         * lib/hash.c (hash_insert0): Reinstate just-removed test:
2847         inserting a NULL pointer cannot work with these functions.
2848         Add a comment with details.
2849         This reverts part of the 2010-07-01 commit, 5bef1a35
2850         "hash: extend module to deal with non-pointer keys".
2851
2852 2010-07-01  Bruno Haible  <bruno@clisp.org>
2853
2854         stdbool: Update doc.
2855         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
2856         Info from Christian Weisgerber <naddy@mips.inka.de>.
2857
2858 2010-07-01  Jim Meyering  <meyering@redhat.com>
2859
2860         hash: extend module to deal with non-pointer keys
2861         * lib/hash.c (hash_insert0): New interface, much like hash_insert
2862         but that allows insertion of non-pointer entries.
2863         Do not disallow an ENTRY value of NULL.
2864         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
2865         * lib/hash.h (hash_insert0): Declare.
2866
2867 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
2868
2869         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
2870         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
2871         not present (i.e. with autoconf 2.59 and when using gettextize, not
2872         gnulib), require AC_GNU_SOURCE instead.
2873
2874 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
2875
2876         idpriv-drop: Fix tests.
2877         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
2878         not to the test-idpriv-droptemp program.
2879
2880 2010-06-29  Bruno Haible  <bruno@clisp.org>
2881
2882         string: Fix syntax error with g++ 2.96.
2883         * lib/string.in.h (__pure__): Remove definition.
2884         (_GL_ATTRIBUTE_PURE): New macro.
2885         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
2886         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
2887         Reported by Christian Weisgerber <naddy@mips.inka.de>.
2888
2889 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
2890
2891         unitypes: Fix bug introduced on 2010-05-18.
2892         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
2893
2894 2010-06-22  Eric Blake  <eblake@redhat.com>
2895
2896         memmem: slight optimization
2897         * lib/str-two-way.h (critical_factorization): Update comments.
2898         Reduce work during factorization phase.
2899         Reported by Carlos Bueno <carlos@bueno.org>.
2900
2901 2010-06-21  Bruno Haible  <bruno@clisp.org>
2902
2903         Fix HAVE_CALLOC_POSIX misnomer.
2904         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
2905         !HAVE_CALLOC_POSIX.
2906         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
2907         HAVE_CALLOC_POSIX.
2908         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
2909         instead of HAVE_CALLOC_POSIX.
2910         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
2911         HAVE_CALLOC_POSIX.
2912
2913         Use modern idiom for calloc() replacement.
2914         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
2915         AC_FUNC_CALLOC.
2916         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
2917         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
2918         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
2919         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
2920         (gl_REPLACE_CALLOC): New macro.
2921
2922 2010-06-21  Bruno Haible  <bruno@clisp.org>
2923
2924         Fix HAVE_REALLOC_POSIX misnomer.
2925         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
2926         !HAVE_REALLOC_POSIX.
2927         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
2928         HAVE_REALLOC_POSIX.
2929         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
2930         instead of HAVE_REALLOC_POSIX.
2931         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
2932         HAVE_REALLOC_POSIX.
2933
2934         Use modern idiom for realloc() replacement.
2935         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
2936         AC_FUNC_REALLOC.
2937         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
2938         Autoconf's AC_FUNC_REALLOC.
2939         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
2940         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
2941         (gl_REPLACE_REALLOC): New macro.
2942         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
2943
2944 2010-06-21  Bruno Haible  <bruno@clisp.org>
2945
2946         Fix HAVE_MALLOC_POSIX misnomer.
2947         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
2948         !HAVE_MALLOC_POSIX.
2949         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
2950         HAVE_MALLOC_POSIX.
2951         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
2952         instead of HAVE_MALLOC_POSIX.
2953         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
2954         HAVE_MALLOC_POSIX.
2955
2956         Use modern idiom for malloc() replacement.
2957         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
2958         AC_FUNC_MALLOC.
2959         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
2960         Autoconf's AC_FUNC_MALLOC.
2961         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
2962         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
2963         (gl_REPLACE_MALLOC): New macro.
2964         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
2965
2966 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
2967
2968         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
2969         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
2970         This macro takes 3 arguments, not 4.
2971
2972 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
2973
2974         ipv6: fix detection under mingw
2975         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
2976         in6_addr.
2977
2978 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
2979
2980         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
2981         that strtod() works when cross-compiling to a glibc version known
2982         to work.
2983
2984 2010-06-15  Bruno Haible  <bruno@clisp.org>
2985
2986         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
2987
2988 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
2989
2990         select: Correct timeout.
2991         * lib/select.c (rpl_select): Compute wait_timeout correctly.
2992
2993 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
2994
2995         git-version-gen: init shell var to avoid env var influence
2996         * build-aux/git-version-gen (v): Init shell var to empty.
2997
2998 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
2999
3000         priv-set: Don't assume that priv.h exists merely because getppriv does.
3001         See Jan Andersen's bug report about AIX 5L in
3002         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
3003         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
3004         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
3005         * lib/priv-set.h: Likewise.
3006         * tests/test-priv-set.c: Likewise.
3007
3008 2010-06-13  Bruno Haible  <bruno@clisp.org>
3009
3010         relocatable: Make it easier to test whether to install wrappers.
3011         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
3012         RELOCATABLE_VIA_WRAPPER.
3013
3014 2010-06-13  Bruno Haible  <bruno@clisp.org>
3015
3016         gnulib-tool: Display specified modules and dependencies differently.
3017         * gnulib-tool (func_show_module_list): New function.
3018         (func_import, func_create_testdir): Invoke it.
3019         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
3020
3021 2010-06-13  Bruno Haible  <bruno@clisp.org>
3022
3023         gnulib-tool: Align code of func_import and func_create_testdir.
3024         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
3025         specified_modules.
3026
3027 2010-06-12  Jim Meyering  <meyering@redhat.com>
3028
3029         test-inttostr: avoid spurious failure on Solaris 9
3030         * tests/test-inttostr.c (main): Skip the test when snprintf fails
3031         to accept "%ju".  Reported by Bruno Haible.
3032
3033 2010-06-11  Jim Meyering  <meyering@redhat.com>
3034
3035         test-sys_socket: mark variables as used more readably
3036         * tests/test-sys_socket.c (main): Mark otherwise unused variables
3037         as "used" explicitly via (void) statement casts.  This is more
3038         readable than using them in an artificial return expression.
3039         Suggestion from Bruno Haible.
3040
3041 2010-06-11  Bruno Haible  <bruno@clisp.org>
3042
3043         Avoid some more warnings from "gcc -Wwrite-strings".
3044         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
3045         to 'const char *'.
3046         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
3047         * tests/test-c-strcasestr.c (main): Likewise.
3048         * tests/test-mbscasestr1.c (main): Likewise.
3049         * tests/test-mbscasestr2.c (main): Likewise.
3050         * tests/test-memmem.c (main): Likewise.
3051         * tests/test-strstr.c (main): Likewise.
3052         * tests/test-strcasestr.c (main): Likewise.
3053
3054 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3055
3056         init.sh: change framework_failure_ to fail with status 99, not 1
3057         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
3058         automake's parallel-tests rule that this is an unexpected failure,
3059         even if the test is listed in XFAIL_TESTS.
3060
3061 2010-06-11  Jim Meyering  <meyering@redhat.com>
3062
3063         test-inttostr: avoid warnings about 4-6KB literal strings
3064         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
3065         Include "macros.h", for its definition of ASSERT.
3066         (CK): s/assert/ASSERT/
3067         * modules/inttostr-tests (Files): Add macros.h.
3068
3069         init.sh: don't use $ME_ or skip_ before they are defined
3070         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
3071         their first uses.  Also hoist their companions: warn_, fail_,
3072         framework_failure_, $stderr_fileno.  Prompted by a patch from
3073         Stefano Lattarini.
3074
3075         test-sys_socket: avoid set-but-not-used warnings from gcc
3076         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
3077         avoid warning about set-but-not-used variables.
3078
3079         test-xvasprintf: avoid 'const' discard warnings
3080         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
3081         "const" when assigning from literal strings.
3082         (test_xasprintf): Add "void" in function argument list to placate
3083         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
3084
3085         tests: avoid compilation warnings in argmatch and exclude tests...
3086         in packages that define ARGMATCH_DIE_DECL, like coreutils.
3087         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
3088         Since it always exits, declare with the "noreturn" attribute.
3089         * tests/test-argmatch.c: Likewise.
3090
3091         tests: avoid 'const' discard warnings in mbsstr tests
3092         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
3093         * tests/test-mbsstr2.c (main): Likewise.
3094
3095         test-verify: avoid warning from gcc's -Wmissing-declarations
3096         * tests/test-verify.c (function): Declare to be static.
3097
3098         test-inttostr.c: include <string.h> for use of strcmp
3099         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
3100
3101         test-linkat: avoid failed assertion on "other" architectures
3102         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
3103         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
3104         sparc: https://bugs.launchpad.net/bugs/591968
3105
3106 2010-06-11  Jim Meyering  <meyering@redhat.com>
3107
3108         printf.m4: avoid autoconf's "Expanded Before Required" warning
3109         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
3110         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
3111         autoconf warning.
3112
3113 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
3114
3115         Replacement header templates are now named with ".in", not "_".
3116         * doc/gnulib-intro.texi: Correct.
3117
3118 2010-06-10  Jim Meyering  <meyering@redhat.com>
3119
3120         inttostr-tests: depend on snprintf, not snprintf-posix
3121         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
3122         snprintf-posix, to avoid this aclocal failure:
3123           missing file gnulib-tests/vasnprintf.c
3124           configure.ac:45: error: expected source file, required through \
3125           AC_LIBSOURCES, not found
3126
3127 2010-06-10  Jim Meyering  <meyering@redhat.com>
3128
3129         inttostr: add a new function, inttostr, and tests
3130         The namesake function was not available.  The existence of the
3131         template file, inttostr.c makes its addition nontrivial.
3132         * lib/anytostr.c: Rename from inttostr.c.
3133         (anytostr): Rename from inttostr.
3134         * lib/inttostr.c: New file.
3135         * modules/inttostr (Files): Add anytostr.c.
3136         (Makefile.am): Set lib_SOURCES instead of ...
3137         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
3138         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
3139         * lib/offtostr.c: Likewise.
3140         * lib/uinttostr.c: Likewise.
3141         * lib/umaxtostr.c: Likewise.
3142         * modules/inttostr-tests: New file.
3143         * tests/test-inttostr.c: New file.  Test these functions.
3144
3145 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
3146             Bruno Haible  <bruno@clisp.org>
3147
3148         Add "Extending Gnulib" chapter to manual.
3149         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
3150         chapter.
3151         (Extending Gnulib): New chapter.
3152         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
3153         chapter.
3154
3155 2010-06-09  Bruno Haible  <bruno@clisp.org>
3156
3157         Avoid relocwrapper link errors due to gnulib replacement functions.
3158         * lib/areadlink.c: Use the system's malloc, realloc functions.
3159         (areadlink): Set errno to ENOMEM explicitly.
3160         * modules/areadlink (Depends-on): Remove malloc-posix.
3161         Reported by Ben Pfaff <blp@cs.stanford.edu>.
3162
3163 2010-06-09  Bruno Haible  <bruno@clisp.org>
3164
3165         Avoid relocwrapper link errors due to gnulib replacement functions.
3166         * lib/canonicalize-lgpl.c: Use the system's malloc function.
3167         * lib/malloca.c: Likewise.
3168         * lib/relocatable.c: Likewise.
3169         * lib/progreloc.c: Use the system's malloc, sprintf functions.
3170         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
3171         * lib/setenv.c: Use the system's malloc, realloc functions.
3172         * lib/strerror.c: Use the system's sprintf function.
3173         Reported by Ben Pfaff <blp@cs.stanford.edu>.
3174
3175 2010-06-04  Bruno Haible  <bruno@clisp.org>
3176
3177         Prefer documented low-level autoconf macro names.
3178         * m4/lib-link.m4: Use m4_translit instead of translit.
3179         * m4/environ.m4: Likewise.
3180         * m4/mathfunc.m4: Likewise.
3181         * m4/onceonly.m4: Likewise.
3182         * m4/stdint.m4: Likewise.
3183         Suggested by Eric Blake.
3184
3185 2010-06-04  Martin Lambers  <marlam@marlam.de>
3186             Bruno Haible  <bruno@clisp.org>
3187
3188         havelib: Allow library names with '+' characters.
3189         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
3190         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
3191
3192 2010-06-09  Bruno Haible  <bruno@clisp.org>
3193
3194         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
3195         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
3196         realloc failed.
3197
3198 2010-06-08  Peter Simons  <simons@cryp.to>
3199
3200         maint.mk: make the news-check rule more configurable
3201         * top/maint.mk (news-check-lines-spec) New variable.
3202         (news-check): Use "sed -n 1,10p" in place of "head".
3203
3204 2010-06-07  Jim Meyering  <meyering@redhat.com>
3205
3206         do-release-commit-and-tag: fix typo in --help
3207         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
3208
3209         regex: avoid new dead-code warning with gcc-4.6.0
3210         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
3211         if-block containing a while-loop.  It's been unused for at least
3212         5 years.
3213
3214 2010-06-05  Bruno Haible  <bruno@clisp.org>
3215
3216         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
3217         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
3218
3219 2010-06-04  Bruno Haible  <bruno@clisp.org>
3220
3221         Update to GNU gettext 0.18.1.
3222         * modules/gettext (configure.ac): Require gettext infrastructure from
3223         version 0.18.1.
3224
3225 2010-06-03  Bruno Haible  <bruno@clisp.org>
3226
3227         Don't use AC_LIBOBJ with file names in subdirectories.
3228         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
3229         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
3230         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
3231         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
3232         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
3233         gl_LIBUNISTRING_LIBSOURCE.
3234         (Makefile.am): Augment lib_SOURCES here, conditionally.
3235         * NEWS: Drop requirement for Automake option 'subdir-objects'.
3236
3237 2010-06-03  Bruno Haible  <bruno@clisp.org>
3238
3239         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
3240         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
3241         expansion does not end with a newline.
3242         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
3243         unnecessary newline.
3244
3245 2010-06-03  Bruno Haible  <bruno@clisp.org>
3246
3247         Reduce dependencies.
3248         * tests/test-quotearg.h: New file, extracted from
3249         tests/test-quotearg.c.
3250         * tests/test-quotearg-simple.c: New file, extracted from
3251         tests/test-quotearg.c.
3252         * tests/test-quotearg.c: Don't include <ctype.h>.
3253         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
3254         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
3255         use_quote_double_quotes, use_quotearg_colon): Moved to
3256         tests/test-quotearg.h.
3257         (results_g, flag_results, custom_quotes, custom_results): Moved
3258         to tests/test-quotearg-simple.c.
3259         (main): Moved the part that does not depend on gettext to
3260         tests/test-quotearg-simple.c. Return 77 if the test cannot be
3261         performed.
3262         * modules/quotearg-simple: New file.
3263         * modules/quotearg-simple-tests: New file.
3264         * modules/quotearg (Depends-on): Add quotearg-simple.
3265         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
3266         (Files): Add tests/test-quotearg.h.
3267         Reported by Paolo Bonzini.
3268
3269 2010-06-03  Bruno Haible  <bruno@clisp.org>
3270
3271         Reduce dependencies.
3272         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
3273
3274 2010-06-03  Bruno Haible  <bruno@clisp.org>
3275
3276         time: Undefine more broken macros.
3277         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
3278         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
3279         Reported by Eric Blake.
3280
3281 2010-06-03  Bruno Haible  <bruno@clisp.org>
3282
3283         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
3284         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
3285         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
3286         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
3287         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
3288         Reported by Ludovic Courtès <ludo@gnu.org>.
3289
3290 2010-06-02  Eric Blake  <eblake@redhat.com>
3291
3292         time: work with mingw + pthreads-win32 library
3293         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
3294         if timespec is defined only in pthread.h.
3295         * modules/time (Makefile.am): Substitute it.
3296         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
3297         <pthread.h>, when needed.
3298         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
3299         from the library.
3300
3301 2010-05-31  Bruno Haible  <bruno@clisp.org>
3302
3303         Avoid expanding two macros in the wrong order.
3304         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
3305         gl_LIBUNISTRING if it is defined.
3306         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
3307         autoconf >= 2.64.
3308         Reported by Ludovic Courtès <ludo@gnu.org>.
3309
3310 2010-05-27  Jim Meyering  <meyering@redhat.com>
3311
3312         maint.mk: also prohibit "#undef" of always-defined symbols
3313         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
3314         Allow more than one space before the symbol name.
3315         (sc_prohibit_always-defined_macros): Use grep's -E, now that
3316         the regexp uses alternation.
3317
3318 2010-05-26  Eric Blake  <eblake@redhat.com>
3319
3320         maint.mk: avoid echo -e
3321         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
3322         Convert all uses of echo -* to printf.
3323         Reported by Matthias Bolte.
3324
3325 2010-05-25  Bruno Haible  <bruno@clisp.org>
3326
3327         Update to GNU gettext 0.18, part 2.
3328         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
3329         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
3330
3331 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3332
3333         Add missing include in test-pwrite.c.
3334         * tests/test-pwrite.c: Include string.h, for strcmp.
3335
3336 2010-05-24  Bruno Haible  <bruno@clisp.org>
3337
3338         * NEWS: Mention requirement for Automake option 'subdir-objects'.
3339
3340 2010-05-24  Bruno Haible  <bruno@clisp.org>
3341
3342         Don't use conversion with transliteration in u{8,16,32}_strcoll.
3343         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
3344         iconveh_error argument.
3345         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
3346         U_STRCONV_TO_LOCALE.
3347         * lib/unistr/u16-strcoll.c: Likewise.
3348         * lib/unistr/u32-strcoll.c: Likewise.
3349         * modules/unistr/u8-strcoll (Depends-on): Add
3350         uniconv/u8-strconv-to-enc, localcharset. Remove
3351         uniconv/u8-strconv-to-locale.
3352         (configure.ac): Bump version number.
3353         * modules/unistr/u16-strcoll (Depends-on): Add
3354         uniconv/u16-strconv-to-enc, localcharset. Remove
3355         uniconv/u16-strconv-to-locale.
3356         (configure.ac): Bump version number.
3357         * modules/unistr/u32-strcoll (Depends-on): Add
3358         uniconv/u32-strconv-to-enc, localcharset. Remove
3359         uniconv/u32-strconv-to-locale.
3360         (configure.ac): Bump version number.
3361
3362 2010-05-24  Bruno Haible  <bruno@clisp.org>
3363
3364         Avoid a test failure on NetBSD 5.0.
3365         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
3366         an iconv() bug.
3367
3368 2010-05-24  Bruno Haible  <bruno@clisp.org>
3369
3370         Adjust #include directive style.
3371         * modules/regex (Includes): Recommend to write <regex.h>.
3372
3373 2010-05-24  Bruno Haible  <bruno@clisp.org>
3374
3375         regex: Don't require alloca.
3376         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
3377         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
3378         only inside if (0).
3379
3380 2010-05-23  Jim Meyering  <meyering@redhat.com>
3381
3382         test-renameat.c: include <sys/stat.h>
3383         * tests/test-renameat.c: Include <sys/stat.h>; required for
3384         definition of S_IS* macros.
3385
3386 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
3387
3388         Update maintainer documentation for 'relocatable-prog' module.
3389         * doc/relocatable-maint.texi: Update.
3390         Comments by Bruno Haible.
3391
3392 2010-05-23  Bruno Haible  <bruno@clisp.org>
3393
3394         git-merge-changelog: Enable --split-merged-entry by default.
3395         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
3396         (usage): Don't mention this option any more.
3397         Reported by Ralf Wildenhues.
3398
3399 2010-05-23  Jim Meyering  <meyering@redhat.com>
3400
3401         test-pwrite: do not leave behind a test file named "out"
3402         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
3403         The trivial-looking use of init.sh is really necessary.
3404         It ensures that the temporary file, "out", is created in
3405         a temporary directory, and removed upon termination.
3406         * tests/test-pwrite.sh: Re-add file.
3407         * modules/pwrite-tests: Reference it.
3408
3409 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
3410
3411         Fix output redirection buglet in init.sh.
3412         * tests/init.sh: Fix redirection of stderr.
3413
3414 2010-05-20  Simon Josefsson  <simon@josefsson.org>
3415
3416         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
3417
3418 2010-05-17  Simon Josefsson  <simon@josefsson.org>
3419
3420         * modules/valgrind-tests: New file.
3421         * m4/valgrind-tests.m4: New file.
3422         * doc/valgrind-tests.texi: New file.
3423         * doc/gnulib.texi (Running self-tests under valgrind): New
3424         section.
3425
3426 2010-05-19  Bruno Haible  <bruno@clisp.org>
3427
3428         Clean up dead code in recent commit.
3429         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
3430         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
3431         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
3432         Suggested by Paolo Bonzini.
3433
3434 2010-05-19  Bruno Haible  <bruno@clisp.org>
3435
3436         Avoid valgrind error reports from libunistring.
3437         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
3438         * modules/libunistring (Files): Add it.
3439         * modules/libunistring-optional (Files): Likewise.
3440
3441 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
3442             Bruno Haible  <bruno@clisp.org>
3443
3444         New module 'libunistring-optional'.
3445         * modules/libunistring-optional: New file.
3446         * m4/libunistring-base.m4: New file.
3447         * m4/libunistring-optional.m4: New file.
3448         * lib/unicase.in.h: Renamed from lib/unicase.h.
3449         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
3450         * lib/unictype.in.h: Renamed from lib/unictype.h.
3451         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
3452         * lib/uniname.in.h: Renamed from lib/uniname.h.
3453         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
3454         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
3455         * lib/unistr.in.h: Renamed from lib/unistr.h.
3456         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
3457         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
3458         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
3459         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
3460         gl_LIBUNISTRING. If the library was found, determine the installed
3461         version and set LIBUNISTRING_VERSION.
3462         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
3463         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
3464         handle a configuration option --with-included-libunistring.
3465         * modules/libunistring (Files): Add m4/absolute-header.m4.
3466         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
3467         Add m4/libunistring-base.m4.
3468         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3469         (Makefile.am): Build unicase.h from unicase.in.h.
3470         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
3471         Add m4/libunistring-base.m4.
3472         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3473         (Makefile.am): Build uniconv.h from uniconv.in.h.
3474         * modules/unictype/base (Files): Use unictype.in.h instead of
3475         unictype.h. Add m4/libunistring-base.m4.
3476         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3477         (Makefile.am): Build unictype.h from unictype.in.h.
3478         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
3479         Add m4/libunistring-base.m4.
3480         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3481         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
3482         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
3483         Add m4/libunistring-base.m4.
3484         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3485         (Makefile.am): Build uniname.h from uniname.in.h.
3486         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
3487         Add m4/libunistring-base.m4.
3488         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3489         (Makefile.am): Build uninorm.h from uninorm.in.h.
3490         * modules/unistdio/base (Files): Use unistdio.in.h instead of
3491         unistdio.h. Add m4/libunistring-base.m4.
3492         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3493         (Makefile.am): Build unistdio.h from unistdio.in.h.
3494         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
3495         Add m4/libunistring-base.m4.
3496         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3497         (Makefile.am): Build unistr.h from unistr.in.h.
3498         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
3499         Add m4/libunistring-base.m4.
3500         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3501         (Makefile.am): Build unitypes.h from unitypes.in.h.
3502         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
3503         Add m4/libunistring-base.m4.
3504         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3505         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
3506         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
3507         uniwidth.h. Add m4/libunistring-base.m4.
3508         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
3509         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
3510         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
3511         instead of augmenting lib_SOURCES.
3512         * modules/unicase/empty-suffix-context: Likewise.
3513         * modules/unicase/locale-language: Likewise.
3514         * modules/unicase/tolower: Likewise.
3515         * modules/unicase/totitle: Likewise.
3516         * modules/unicase/toupper: Likewise.
3517         * modules/unicase/u8-casecmp: Likewise.
3518         * modules/unicase/u8-casecoll: Likewise.
3519         * modules/unicase/u8-casefold: Likewise.
3520         * modules/unicase/u8-casexfrm: Likewise.
3521         * modules/unicase/u8-ct-casefold: Likewise.
3522         * modules/unicase/u8-ct-tolower: Likewise.
3523         * modules/unicase/u8-ct-totitle: Likewise.
3524         * modules/unicase/u8-ct-toupper: Likewise.
3525         * modules/unicase/u8-is-cased: Likewise.
3526         * modules/unicase/u8-is-casefolded: Likewise.
3527         * modules/unicase/u8-is-lowercase: Likewise.
3528         * modules/unicase/u8-is-titlecase: Likewise.
3529         * modules/unicase/u8-is-uppercase: Likewise.
3530         * modules/unicase/u8-prefix-context: Likewise.
3531         * modules/unicase/u8-suffix-context: Likewise.
3532         * modules/unicase/u8-tolower: Likewise.
3533         * modules/unicase/u8-totitle: Likewise.
3534         * modules/unicase/u8-toupper: Likewise.
3535         * modules/unicase/u16-casecmp: Likewise.
3536         * modules/unicase/u16-casecoll: Likewise.
3537         * modules/unicase/u16-casefold: Likewise.
3538         * modules/unicase/u16-casexfrm: Likewise.
3539         * modules/unicase/u16-ct-casefold: Likewise.
3540         * modules/unicase/u16-ct-tolower: Likewise.
3541         * modules/unicase/u16-ct-totitle: Likewise.
3542         * modules/unicase/u16-ct-toupper: Likewise.
3543         * modules/unicase/u16-is-cased: Likewise.
3544         * modules/unicase/u16-is-casefolded: Likewise.
3545         * modules/unicase/u16-is-lowercase: Likewise.
3546         * modules/unicase/u16-is-titlecase: Likewise.
3547         * modules/unicase/u16-is-uppercase: Likewise.
3548         * modules/unicase/u16-prefix-context: Likewise.
3549         * modules/unicase/u16-suffix-context: Likewise.
3550         * modules/unicase/u16-tolower: Likewise.
3551         * modules/unicase/u16-totitle: Likewise.
3552         * modules/unicase/u16-toupper: Likewise.
3553         * modules/unicase/u32-casecmp: Likewise.
3554         * modules/unicase/u32-casecoll: Likewise.
3555         * modules/unicase/u32-casefold: Likewise.
3556         * modules/unicase/u32-casexfrm: Likewise.
3557         * modules/unicase/u32-ct-casefold: Likewise.
3558         * modules/unicase/u32-ct-tolower: Likewise.
3559         * modules/unicase/u32-ct-totitle: Likewise.
3560         * modules/unicase/u32-ct-toupper: Likewise.
3561         * modules/unicase/u32-is-cased: Likewise.
3562         * modules/unicase/u32-is-casefolded: Likewise.
3563         * modules/unicase/u32-is-lowercase: Likewise.
3564         * modules/unicase/u32-is-titlecase: Likewise.
3565         * modules/unicase/u32-is-uppercase: Likewise.
3566         * modules/unicase/u32-prefix-context: Likewise.
3567         * modules/unicase/u32-suffix-context: Likewise.
3568         * modules/unicase/u32-tolower: Likewise.
3569         * modules/unicase/u32-totitle: Likewise.
3570         * modules/unicase/u32-toupper: Likewise.
3571         * modules/unicase/ulc-casecmp: Likewise.
3572         * modules/unicase/ulc-casecoll: Likewise.
3573         * modules/unicase/ulc-casexfrm: Likewise.
3574         * modules/uniconv/u8-conv-from-enc: Likewise.
3575         * modules/uniconv/u8-conv-to-enc: Likewise.
3576         * modules/uniconv/u8-strconv-from-enc: Likewise.
3577         * modules/uniconv/u8-strconv-from-locale: Likewise.
3578         * modules/uniconv/u8-strconv-to-enc: Likewise.
3579         * modules/uniconv/u8-strconv-to-locale: Likewise.
3580         * modules/uniconv/u16-conv-from-enc: Likewise.
3581         * modules/uniconv/u16-conv-to-enc: Likewise.
3582         * modules/uniconv/u16-strconv-from-enc: Likewise.
3583         * modules/uniconv/u16-strconv-from-locale: Likewise.
3584         * modules/uniconv/u16-strconv-to-enc: Likewise.
3585         * modules/uniconv/u16-strconv-to-locale: Likewise.
3586         * modules/uniconv/u32-conv-from-enc: Likewise.
3587         * modules/uniconv/u32-conv-to-enc: Likewise.
3588         * modules/uniconv/u32-strconv-from-enc: Likewise.
3589         * modules/uniconv/u32-strconv-from-locale: Likewise.
3590         * modules/uniconv/u32-strconv-to-enc: Likewise.
3591         * modules/uniconv/u32-strconv-to-locale: Likewise.
3592         * modules/unictype/bidicategory-byname: Likewise.
3593         * modules/unictype/bidicategory-name: Likewise.
3594         * modules/unictype/bidicategory-of: Likewise.
3595         * modules/unictype/bidicategory-test: Likewise.
3596         * modules/unictype/block-list: Likewise.
3597         * modules/unictype/block-test: Likewise.
3598         * modules/unictype/category-C: Likewise.
3599         * modules/unictype/category-Cc: Likewise.
3600         * modules/unictype/category-Cf: Likewise.
3601         * modules/unictype/category-Cn: Likewise.
3602         * modules/unictype/category-Co: Likewise.
3603         * modules/unictype/category-Cs: Likewise.
3604         * modules/unictype/category-L: Likewise.
3605         * modules/unictype/category-Ll: Likewise.
3606         * modules/unictype/category-Lm: Likewise.
3607         * modules/unictype/category-Lo: Likewise.
3608         * modules/unictype/category-Lt: Likewise.
3609         * modules/unictype/category-Lu: Likewise.
3610         * modules/unictype/category-M: Likewise.
3611         * modules/unictype/category-Mc: Likewise.
3612         * modules/unictype/category-Me: Likewise.
3613         * modules/unictype/category-Mn: Likewise.
3614         * modules/unictype/category-N: Likewise.
3615         * modules/unictype/category-Nd: Likewise.
3616         * modules/unictype/category-Nl: Likewise.
3617         * modules/unictype/category-No: Likewise.
3618         * modules/unictype/category-P: Likewise.
3619         * modules/unictype/category-Pc: Likewise.
3620         * modules/unictype/category-Pd: Likewise.
3621         * modules/unictype/category-Pe: Likewise.
3622         * modules/unictype/category-Pf: Likewise.
3623         * modules/unictype/category-Pi: Likewise.
3624         * modules/unictype/category-Po: Likewise.
3625         * modules/unictype/category-Ps: Likewise.
3626         * modules/unictype/category-S: Likewise.
3627         * modules/unictype/category-Sc: Likewise.
3628         * modules/unictype/category-Sk: Likewise.
3629         * modules/unictype/category-Sm: Likewise.
3630         * modules/unictype/category-So: Likewise.
3631         * modules/unictype/category-Z: Likewise.
3632         * modules/unictype/category-Zl: Likewise.
3633         * modules/unictype/category-Zp: Likewise.
3634         * modules/unictype/category-Zs: Likewise.
3635         * modules/unictype/category-and: Likewise.
3636         * modules/unictype/category-and-not: Likewise.
3637         * modules/unictype/category-byname: Likewise.
3638         * modules/unictype/category-name: Likewise.
3639         * modules/unictype/category-none: Likewise.
3640         * modules/unictype/category-of: Likewise.
3641         * modules/unictype/category-or: Likewise.
3642         * modules/unictype/category-test: Likewise.
3643         * modules/unictype/combining-class: Likewise.
3644         * modules/unictype/ctype-alnum: Likewise.
3645         * modules/unictype/ctype-alpha: Likewise.
3646         * modules/unictype/ctype-blank: Likewise.
3647         * modules/unictype/ctype-cntrl: Likewise.
3648         * modules/unictype/ctype-digit: Likewise.
3649         * modules/unictype/ctype-graph: Likewise.
3650         * modules/unictype/ctype-lower: Likewise.
3651         * modules/unictype/ctype-print: Likewise.
3652         * modules/unictype/ctype-punct: Likewise.
3653         * modules/unictype/ctype-space: Likewise.
3654         * modules/unictype/ctype-upper: Likewise.
3655         * modules/unictype/ctype-xdigit: Likewise.
3656         * modules/unictype/decimal-digit: Likewise.
3657         * modules/unictype/digit: Likewise.
3658         * modules/unictype/mirror: Likewise.
3659         * modules/unictype/numeric: Likewise.
3660         * modules/unictype/property-alphabetic: Likewise.
3661         * modules/unictype/property-ascii-hex-digit: Likewise.
3662         * modules/unictype/property-bidi-arabic-digit: Likewise.
3663         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
3664         * modules/unictype/property-bidi-block-separator: Likewise.
3665         * modules/unictype/property-bidi-boundary-neutral: Likewise.
3666         * modules/unictype/property-bidi-common-separator: Likewise.
3667         * modules/unictype/property-bidi-control: Likewise.
3668         * modules/unictype/property-bidi-embedding-or-override: Likewise.
3669         * modules/unictype/property-bidi-eur-num-separator: Likewise.
3670         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
3671         * modules/unictype/property-bidi-european-digit: Likewise.
3672         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
3673         * modules/unictype/property-bidi-left-to-right: Likewise.
3674         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
3675         * modules/unictype/property-bidi-other-neutral: Likewise.
3676         * modules/unictype/property-bidi-pdf: Likewise.
3677         * modules/unictype/property-bidi-segment-separator: Likewise.
3678         * modules/unictype/property-bidi-whitespace: Likewise.
3679         * modules/unictype/property-byname: Likewise.
3680         * modules/unictype/property-combining: Likewise.
3681         * modules/unictype/property-composite: Likewise.
3682         * modules/unictype/property-currency-symbol: Likewise.
3683         * modules/unictype/property-dash: Likewise.
3684         * modules/unictype/property-decimal-digit: Likewise.
3685         * modules/unictype/property-default-ignorable-code-point: Likewise.
3686         * modules/unictype/property-deprecated: Likewise.
3687         * modules/unictype/property-diacritic: Likewise.
3688         * modules/unictype/property-extender: Likewise.
3689         * modules/unictype/property-format-control: Likewise.
3690         * modules/unictype/property-grapheme-base: Likewise.
3691         * modules/unictype/property-grapheme-extend: Likewise.
3692         * modules/unictype/property-grapheme-link: Likewise.
3693         * modules/unictype/property-hex-digit: Likewise.
3694         * modules/unictype/property-hyphen: Likewise.
3695         * modules/unictype/property-id-continue: Likewise.
3696         * modules/unictype/property-id-start: Likewise.
3697         * modules/unictype/property-ideographic: Likewise.
3698         * modules/unictype/property-ids-binary-operator: Likewise.
3699         * modules/unictype/property-ids-trinary-operator: Likewise.
3700         * modules/unictype/property-ignorable-control: Likewise.
3701         * modules/unictype/property-iso-control: Likewise.
3702         * modules/unictype/property-join-control: Likewise.
3703         * modules/unictype/property-left-of-pair: Likewise.
3704         * modules/unictype/property-line-separator: Likewise.
3705         * modules/unictype/property-logical-order-exception: Likewise.
3706         * modules/unictype/property-lowercase: Likewise.
3707         * modules/unictype/property-math: Likewise.
3708         * modules/unictype/property-non-break: Likewise.
3709         * modules/unictype/property-not-a-character: Likewise.
3710         * modules/unictype/property-numeric: Likewise.
3711         * modules/unictype/property-other-alphabetic: Likewise.
3712         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
3713         * modules/unictype/property-other-grapheme-extend: Likewise.
3714         * modules/unictype/property-other-id-continue: Likewise.
3715         * modules/unictype/property-other-id-start: Likewise.
3716         * modules/unictype/property-other-lowercase: Likewise.
3717         * modules/unictype/property-other-math: Likewise.
3718         * modules/unictype/property-other-uppercase: Likewise.
3719         * modules/unictype/property-paired-punctuation: Likewise.
3720         * modules/unictype/property-paragraph-separator: Likewise.
3721         * modules/unictype/property-pattern-syntax: Likewise.
3722         * modules/unictype/property-pattern-white-space: Likewise.
3723         * modules/unictype/property-private-use: Likewise.
3724         * modules/unictype/property-punctuation: Likewise.
3725         * modules/unictype/property-quotation-mark: Likewise.
3726         * modules/unictype/property-radical: Likewise.
3727         * modules/unictype/property-sentence-terminal: Likewise.
3728         * modules/unictype/property-soft-dotted: Likewise.
3729         * modules/unictype/property-space: Likewise.
3730         * modules/unictype/property-terminal-punctuation: Likewise.
3731         * modules/unictype/property-test: Likewise.
3732         * modules/unictype/property-titlecase: Likewise.
3733         * modules/unictype/property-unassigned-code-value: Likewise.
3734         * modules/unictype/property-unified-ideograph: Likewise.
3735         * modules/unictype/property-uppercase: Likewise.
3736         * modules/unictype/property-variation-selector: Likewise.
3737         * modules/unictype/property-white-space: Likewise.
3738         * modules/unictype/property-xid-continue: Likewise.
3739         * modules/unictype/property-xid-start: Likewise.
3740         * modules/unictype/property-zero-width: Likewise.
3741         * modules/unictype/scripts: Likewise.
3742         * modules/unictype/syntax-c-ident: Likewise.
3743         * modules/unictype/syntax-c-whitespace: Likewise.
3744         * modules/unictype/syntax-java-ident: Likewise.
3745         * modules/unictype/syntax-java-whitespace: Likewise.
3746         * modules/unilbrk/u8-possible-linebreaks: Likewise.
3747         * modules/unilbrk/u8-width-linebreaks: Likewise.
3748         * modules/unilbrk/u16-possible-linebreaks: Likewise.
3749         * modules/unilbrk/u16-width-linebreaks: Likewise.
3750         * modules/unilbrk/u32-possible-linebreaks: Likewise.
3751         * modules/unilbrk/u32-width-linebreaks: Likewise.
3752         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
3753         * modules/unilbrk/ulc-width-linebreaks: Likewise.
3754         * modules/uniname/uniname: Likewise.
3755         * modules/uninorm/canonical-decomposition: Likewise.
3756         * modules/uninorm/composition: Likewise.
3757         * modules/uninorm/decomposing-form: Likewise.
3758         * modules/uninorm/decomposition: Likewise.
3759         * modules/uninorm/filter: Likewise.
3760         * modules/uninorm/nfc: Likewise.
3761         * modules/uninorm/nfd: Likewise.
3762         * modules/uninorm/nfkc: Likewise.
3763         * modules/uninorm/nfkd: Likewise.
3764         * modules/uninorm/u8-normalize: Likewise.
3765         * modules/uninorm/u8-normcmp: Likewise.
3766         * modules/uninorm/u8-normcoll: Likewise.
3767         * modules/uninorm/u8-normxfrm: Likewise.
3768         * modules/uninorm/u16-normalize: Likewise.
3769         * modules/uninorm/u16-normcmp: Likewise.
3770         * modules/uninorm/u16-normcoll: Likewise.
3771         * modules/uninorm/u16-normxfrm: Likewise.
3772         * modules/uninorm/u32-normalize: Likewise.
3773         * modules/uninorm/u32-normcmp: Likewise.
3774         * modules/uninorm/u32-normcoll: Likewise.
3775         * modules/uninorm/u32-normxfrm: Likewise.
3776         * modules/unistdio/u8-asnprintf: Likewise.
3777         * modules/unistdio/u8-asprintf: Likewise.
3778         * modules/unistdio/u8-snprintf: Likewise.
3779         * modules/unistdio/u8-sprintf: Likewise.
3780         * modules/unistdio/u8-u8-asnprintf: Likewise.
3781         * modules/unistdio/u8-u8-asprintf: Likewise.
3782         * modules/unistdio/u8-u8-snprintf: Likewise.
3783         * modules/unistdio/u8-u8-sprintf: Likewise.
3784         * modules/unistdio/u8-u8-vasnprintf: Likewise.
3785         * modules/unistdio/u8-u8-vasprintf: Likewise.
3786         * modules/unistdio/u8-u8-vsnprintf: Likewise.
3787         * modules/unistdio/u8-u8-vsprintf: Likewise.
3788         * modules/unistdio/u8-vasnprintf: Likewise.
3789         * modules/unistdio/u8-vasprintf: Likewise.
3790         * modules/unistdio/u8-vsnprintf: Likewise.
3791         * modules/unistdio/u8-vsprintf: Likewise.
3792         * modules/unistdio/u16-asnprintf: Likewise.
3793         * modules/unistdio/u16-asprintf: Likewise.
3794         * modules/unistdio/u16-snprintf: Likewise.
3795         * modules/unistdio/u16-sprintf: Likewise.
3796         * modules/unistdio/u16-u16-asnprintf: Likewise.
3797         * modules/unistdio/u16-u16-asprintf: Likewise.
3798         * modules/unistdio/u16-u16-snprintf: Likewise.
3799         * modules/unistdio/u16-u16-sprintf: Likewise.
3800         * modules/unistdio/u16-u16-vasnprintf: Likewise.
3801         * modules/unistdio/u16-u16-vasprintf: Likewise.
3802         * modules/unistdio/u16-u16-vsnprintf: Likewise.
3803         * modules/unistdio/u16-u16-vsprintf: Likewise.
3804         * modules/unistdio/u16-vasnprintf: Likewise.
3805         * modules/unistdio/u16-vasprintf: Likewise.
3806         * modules/unistdio/u16-vsnprintf: Likewise.
3807         * modules/unistdio/u16-vsprintf: Likewise.
3808         * modules/unistdio/u32-asnprintf: Likewise.
3809         * modules/unistdio/u32-asprintf: Likewise.
3810         * modules/unistdio/u32-snprintf: Likewise.
3811         * modules/unistdio/u32-sprintf: Likewise.
3812         * modules/unistdio/u32-u32-asnprintf: Likewise.
3813         * modules/unistdio/u32-u32-asprintf: Likewise.
3814         * modules/unistdio/u32-u32-snprintf: Likewise.
3815         * modules/unistdio/u32-u32-sprintf: Likewise.
3816         * modules/unistdio/u32-u32-vasnprintf: Likewise.
3817         * modules/unistdio/u32-u32-vasprintf: Likewise.
3818         * modules/unistdio/u32-u32-vsnprintf: Likewise.
3819         * modules/unistdio/u32-u32-vsprintf: Likewise.
3820         * modules/unistdio/u32-vasnprintf: Likewise.
3821         * modules/unistdio/u32-vasprintf: Likewise.
3822         * modules/unistdio/u32-vsnprintf: Likewise.
3823         * modules/unistdio/u32-vsprintf: Likewise.
3824         * modules/unistdio/ulc-asnprintf: Likewise.
3825         * modules/unistdio/ulc-asprintf: Likewise.
3826         * modules/unistdio/ulc-fprintf: Likewise.
3827         * modules/unistdio/ulc-snprintf: Likewise.
3828         * modules/unistdio/ulc-sprintf: Likewise.
3829         * modules/unistdio/ulc-vasnprintf: Likewise.
3830         * modules/unistdio/ulc-vasprintf: Likewise.
3831         * modules/unistdio/ulc-vfprintf: Likewise.
3832         * modules/unistdio/ulc-vsnprintf: Likewise.
3833         * modules/unistdio/ulc-vsprintf: Likewise.
3834         * modules/unistr/u8-check: Likewise.
3835         * modules/unistr/u8-chr: Likewise.
3836         * modules/unistr/u8-cmp: Likewise.
3837         * modules/unistr/u8-cmp2: Likewise.
3838         * modules/unistr/u8-cpy: Likewise.
3839         * modules/unistr/u8-cpy-alloc: Likewise.
3840         * modules/unistr/u8-endswith: Likewise.
3841         * modules/unistr/u8-mblen: Likewise.
3842         * modules/unistr/u8-mbsnlen: Likewise.
3843         * modules/unistr/u8-mbtouc: Likewise.
3844         * modules/unistr/u8-mbtouc-unsafe: Likewise.
3845         * modules/unistr/u8-mbtoucr: Likewise.
3846         * modules/unistr/u8-move: Likewise.
3847         * modules/unistr/u8-next: Likewise.
3848         * modules/unistr/u8-prev: Likewise.
3849         * modules/unistr/u8-set: Likewise.
3850         * modules/unistr/u8-startswith: Likewise.
3851         * modules/unistr/u8-stpcpy: Likewise.
3852         * modules/unistr/u8-stpncpy: Likewise.
3853         * modules/unistr/u8-strcat: Likewise.
3854         * modules/unistr/u8-strchr: Likewise.
3855         * modules/unistr/u8-strcmp: Likewise.
3856         * modules/unistr/u8-strcoll: Likewise.
3857         * modules/unistr/u8-strcpy: Likewise.
3858         * modules/unistr/u8-strcspn: Likewise.
3859         * modules/unistr/u8-strdup: Likewise.
3860         * modules/unistr/u8-strlen: Likewise.
3861         * modules/unistr/u8-strmblen: Likewise.
3862         * modules/unistr/u8-strmbtouc: Likewise.
3863         * modules/unistr/u8-strncat: Likewise.
3864         * modules/unistr/u8-strncmp: Likewise.
3865         * modules/unistr/u8-strncpy: Likewise.
3866         * modules/unistr/u8-strnlen: Likewise.
3867         * modules/unistr/u8-strpbrk: Likewise.
3868         * modules/unistr/u8-strrchr: Likewise.
3869         * modules/unistr/u8-strspn: Likewise.
3870         * modules/unistr/u8-strstr: Likewise.
3871         * modules/unistr/u8-strtok: Likewise.
3872         * modules/unistr/u8-to-u16: Likewise.
3873         * modules/unistr/u8-to-u32: Likewise.
3874         * modules/unistr/u8-uctomb: Likewise.
3875         * modules/unistr/u16-check: Likewise.
3876         * modules/unistr/u16-chr: Likewise.
3877         * modules/unistr/u16-cmp: Likewise.
3878         * modules/unistr/u16-cmp2: Likewise.
3879         * modules/unistr/u16-cpy: Likewise.
3880         * modules/unistr/u16-cpy-alloc: Likewise.
3881         * modules/unistr/u16-endswith: Likewise.
3882         * modules/unistr/u16-mblen: Likewise.
3883         * modules/unistr/u16-mbsnlen: Likewise.
3884         * modules/unistr/u16-mbtouc: Likewise.
3885         * modules/unistr/u16-mbtouc-unsafe: Likewise.
3886         * modules/unistr/u16-mbtoucr: Likewise.
3887         * modules/unistr/u16-move: Likewise.
3888         * modules/unistr/u16-next: Likewise.
3889         * modules/unistr/u16-prev: Likewise.
3890         * modules/unistr/u16-set: Likewise.
3891         * modules/unistr/u16-startswith: Likewise.
3892         * modules/unistr/u16-stpcpy: Likewise.
3893         * modules/unistr/u16-stpncpy: Likewise.
3894         * modules/unistr/u16-strcat: Likewise.
3895         * modules/unistr/u16-strchr: Likewise.
3896         * modules/unistr/u16-strcmp: Likewise.
3897         * modules/unistr/u16-strcoll: Likewise.
3898         * modules/unistr/u16-strcpy: Likewise.
3899         * modules/unistr/u16-strcspn: Likewise.
3900         * modules/unistr/u16-strdup: Likewise.
3901         * modules/unistr/u16-strlen: Likewise.
3902         * modules/unistr/u16-strmblen: Likewise.
3903         * modules/unistr/u16-strmbtouc: Likewise.
3904         * modules/unistr/u16-strncat: Likewise.
3905         * modules/unistr/u16-strncmp: Likewise.
3906         * modules/unistr/u16-strncpy: Likewise.
3907         * modules/unistr/u16-strnlen: Likewise.
3908         * modules/unistr/u16-strpbrk: Likewise.
3909         * modules/unistr/u16-strrchr: Likewise.
3910         * modules/unistr/u16-strspn: Likewise.
3911         * modules/unistr/u16-strstr: Likewise.
3912         * modules/unistr/u16-strtok: Likewise.
3913         * modules/unistr/u16-to-u32: Likewise.
3914         * modules/unistr/u16-to-u8: Likewise.
3915         * modules/unistr/u16-uctomb: Likewise.
3916         * modules/unistr/u32-check: Likewise.
3917         * modules/unistr/u32-chr: Likewise.
3918         * modules/unistr/u32-cmp: Likewise.
3919         * modules/unistr/u32-cmp2: Likewise.
3920         * modules/unistr/u32-cpy: Likewise.
3921         * modules/unistr/u32-cpy-alloc: Likewise.
3922         * modules/unistr/u32-endswith: Likewise.
3923         * modules/unistr/u32-mblen: Likewise.
3924         * modules/unistr/u32-mbsnlen: Likewise.
3925         * modules/unistr/u32-mbtouc: Likewise.
3926         * modules/unistr/u32-mbtouc-unsafe: Likewise.
3927         * modules/unistr/u32-mbtoucr: Likewise.
3928         * modules/unistr/u32-move: Likewise.
3929         * modules/unistr/u32-next: Likewise.
3930         * modules/unistr/u32-prev: Likewise.
3931         * modules/unistr/u32-set: Likewise.
3932         * modules/unistr/u32-startswith: Likewise.
3933         * modules/unistr/u32-stpcpy: Likewise.
3934         * modules/unistr/u32-stpncpy: Likewise.
3935         * modules/unistr/u32-strcat: Likewise.
3936         * modules/unistr/u32-strchr: Likewise.
3937         * modules/unistr/u32-strcmp: Likewise.
3938         * modules/unistr/u32-strcoll: Likewise.
3939         * modules/unistr/u32-strcpy: Likewise.
3940         * modules/unistr/u32-strcspn: Likewise.
3941         * modules/unistr/u32-strdup: Likewise.
3942         * modules/unistr/u32-strlen: Likewise.
3943         * modules/unistr/u32-strmblen: Likewise.
3944         * modules/unistr/u32-strmbtouc: Likewise.
3945         * modules/unistr/u32-strncat: Likewise.
3946         * modules/unistr/u32-strncmp: Likewise.
3947         * modules/unistr/u32-strncpy: Likewise.
3948         * modules/unistr/u32-strnlen: Likewise.
3949         * modules/unistr/u32-strpbrk: Likewise.
3950         * modules/unistr/u32-strrchr: Likewise.
3951         * modules/unistr/u32-strspn: Likewise.
3952         * modules/unistr/u32-strstr: Likewise.
3953         * modules/unistr/u32-strtok: Likewise.
3954         * modules/unistr/u32-to-u16: Likewise.
3955         * modules/unistr/u32-to-u8: Likewise.
3956         * modules/unistr/u32-uctomb: Likewise.
3957         * modules/uniwbrk/u8-wordbreaks: Likewise.
3958         * modules/uniwbrk/u16-wordbreaks: Likewise.
3959         * modules/uniwbrk/u32-wordbreaks: Likewise.
3960         * modules/uniwbrk/ulc-wordbreaks: Likewise.
3961         * modules/uniwbrk/wordbreak-property: Likewise.
3962         * modules/uniwidth/u8-strwidth: Likewise.
3963         * modules/uniwidth/u8-width: Likewise.
3964         * modules/uniwidth/u16-strwidth: Likewise.
3965         * modules/uniwidth/u16-width: Likewise.
3966         * modules/uniwidth/u32-strwidth: Likewise.
3967         * modules/uniwidth/u32-width: Likewise.
3968         * modules/uniwidth/width: Likewise.
3969         * modules/unicase/cased-tests (Makefile.am): Link all test programs
3970         with $(LIBUNISTRING).
3971         * modules/unicase/ignorable-tests: Likewise.
3972         * modules/unicase/locale-language-tests: Likewise.
3973         * modules/unicase/tolower-tests: Likewise.
3974         * modules/unicase/totitle-tests: Likewise.
3975         * modules/unicase/toupper-tests: Likewise.
3976         * modules/unicase/u8-casecmp-tests: Likewise.
3977         * modules/unicase/u8-casecoll-tests: Likewise.
3978         * modules/unicase/u8-casefold-tests: Likewise.
3979         * modules/unicase/u8-is-cased-tests: Likewise.
3980         * modules/unicase/u8-is-casefolded-tests: Likewise.
3981         * modules/unicase/u8-is-lowercase-tests: Likewise.
3982         * modules/unicase/u8-is-titlecase-tests: Likewise.
3983         * modules/unicase/u8-is-uppercase-tests: Likewise.
3984         * modules/unicase/u8-tolower-tests: Likewise.
3985         * modules/unicase/u8-totitle-tests: Likewise.
3986         * modules/unicase/u8-toupper-tests: Likewise.
3987         * modules/unicase/u16-casecmp-tests: Likewise.
3988         * modules/unicase/u16-casecoll-tests: Likewise.
3989         * modules/unicase/u16-casefold-tests: Likewise.
3990         * modules/unicase/u16-is-cased-tests: Likewise.
3991         * modules/unicase/u16-is-casefolded-tests: Likewise.
3992         * modules/unicase/u16-is-lowercase-tests: Likewise.
3993         * modules/unicase/u16-is-titlecase-tests: Likewise.
3994         * modules/unicase/u16-is-uppercase-tests: Likewise.
3995         * modules/unicase/u16-tolower-tests: Likewise.
3996         * modules/unicase/u16-totitle-tests: Likewise.
3997         * modules/unicase/u16-toupper-tests: Likewise.
3998         * modules/unicase/u32-casecmp-tests: Likewise.
3999         * modules/unicase/u32-casecoll-tests: Likewise.
4000         * modules/unicase/u32-casefold-tests: Likewise.
4001         * modules/unicase/u32-is-cased-tests: Likewise.
4002         * modules/unicase/u32-is-casefolded-tests: Likewise.
4003         * modules/unicase/u32-is-lowercase-tests: Likewise.
4004         * modules/unicase/u32-is-titlecase-tests: Likewise.
4005         * modules/unicase/u32-is-uppercase-tests: Likewise.
4006         * modules/unicase/u32-tolower-tests: Likewise.
4007         * modules/unicase/u32-totitle-tests: Likewise.
4008         * modules/unicase/u32-toupper-tests: Likewise.
4009         * modules/unicase/ulc-casecmp-tests: Likewise.
4010         * modules/unicase/ulc-casecoll-tests: Likewise.
4011         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
4012         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
4013         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
4014         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
4015         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
4016         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
4017         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
4018         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
4019         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
4020         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
4021         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
4022         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
4023         * modules/unictype/bidicategory-byname-tests: Likewise.
4024         * modules/unictype/bidicategory-name-tests: Likewise.
4025         * modules/unictype/bidicategory-of-tests: Likewise.
4026         * modules/unictype/bidicategory-test-tests: Likewise.
4027         * modules/unictype/block-list-tests: Likewise.
4028         * modules/unictype/block-of-tests: Likewise.
4029         * modules/unictype/block-test-tests: Likewise.
4030         * modules/unictype/category-C-tests: Likewise.
4031         * modules/unictype/category-Cc-tests: Likewise.
4032         * modules/unictype/category-Cf-tests: Likewise.
4033         * modules/unictype/category-Cn-tests: Likewise.
4034         * modules/unictype/category-Co-tests: Likewise.
4035         * modules/unictype/category-Cs-tests: Likewise.
4036         * modules/unictype/category-L-tests: Likewise.
4037         * modules/unictype/category-Ll-tests: Likewise.
4038         * modules/unictype/category-Lm-tests: Likewise.
4039         * modules/unictype/category-Lo-tests: Likewise.
4040         * modules/unictype/category-Lt-tests: Likewise.
4041         * modules/unictype/category-Lu-tests: Likewise.
4042         * modules/unictype/category-M-tests: Likewise.
4043         * modules/unictype/category-Mc-tests: Likewise.
4044         * modules/unictype/category-Me-tests: Likewise.
4045         * modules/unictype/category-Mn-tests: Likewise.
4046         * modules/unictype/category-N-tests: Likewise.
4047         * modules/unictype/category-Nd-tests: Likewise.
4048         * modules/unictype/category-Nl-tests: Likewise.
4049         * modules/unictype/category-No-tests: Likewise.
4050         * modules/unictype/category-P-tests: Likewise.
4051         * modules/unictype/category-Pc-tests: Likewise.
4052         * modules/unictype/category-Pd-tests: Likewise.
4053         * modules/unictype/category-Pe-tests: Likewise.
4054         * modules/unictype/category-Pf-tests: Likewise.
4055         * modules/unictype/category-Pi-tests: Likewise.
4056         * modules/unictype/category-Po-tests: Likewise.
4057         * modules/unictype/category-Ps-tests: Likewise.
4058         * modules/unictype/category-S-tests: Likewise.
4059         * modules/unictype/category-Sc-tests: Likewise.
4060         * modules/unictype/category-Sk-tests: Likewise.
4061         * modules/unictype/category-Sm-tests: Likewise.
4062         * modules/unictype/category-So-tests: Likewise.
4063         * modules/unictype/category-Z-tests: Likewise.
4064         * modules/unictype/category-Zl-tests: Likewise.
4065         * modules/unictype/category-Zp-tests: Likewise.
4066         * modules/unictype/category-Zs-tests: Likewise.
4067         * modules/unictype/category-and-not-tests: Likewise.
4068         * modules/unictype/category-and-tests: Likewise.
4069         * modules/unictype/category-byname-tests: Likewise.
4070         * modules/unictype/category-name-tests: Likewise.
4071         * modules/unictype/category-none-tests: Likewise.
4072         * modules/unictype/category-of-tests: Likewise.
4073         * modules/unictype/category-or-tests: Likewise.
4074         * modules/unictype/category-test-withtable-tests: Likewise.
4075         * modules/unictype/combining-class-tests: Likewise.
4076         * modules/unictype/ctype-alnum-tests: Likewise.
4077         * modules/unictype/ctype-alpha-tests: Likewise.
4078         * modules/unictype/ctype-blank-tests: Likewise.
4079         * modules/unictype/ctype-cntrl-tests: Likewise.
4080         * modules/unictype/ctype-digit-tests: Likewise.
4081         * modules/unictype/ctype-graph-tests: Likewise.
4082         * modules/unictype/ctype-lower-tests: Likewise.
4083         * modules/unictype/ctype-print-tests: Likewise.
4084         * modules/unictype/ctype-punct-tests: Likewise.
4085         * modules/unictype/ctype-space-tests: Likewise.
4086         * modules/unictype/ctype-upper-tests: Likewise.
4087         * modules/unictype/ctype-xdigit-tests: Likewise.
4088         * modules/unictype/decimal-digit-tests: Likewise.
4089         * modules/unictype/digit-tests: Likewise.
4090         * modules/unictype/mirror-tests: Likewise.
4091         * modules/unictype/numeric-tests: Likewise.
4092         * modules/unictype/property-alphabetic-tests: Likewise.
4093         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
4094         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
4095         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
4096         * modules/unictype/property-bidi-block-separator-tests: Likewise.
4097         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
4098         * modules/unictype/property-bidi-common-separator-tests: Likewise.
4099         * modules/unictype/property-bidi-control-tests: Likewise.
4100         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
4101         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
4102         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
4103         * modules/unictype/property-bidi-european-digit-tests: Likewise.
4104         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
4105         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
4106         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
4107         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
4108         * modules/unictype/property-bidi-pdf-tests: Likewise.
4109         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
4110         * modules/unictype/property-bidi-whitespace-tests: Likewise.
4111         * modules/unictype/property-byname-tests: Likewise.
4112         * modules/unictype/property-combining-tests: Likewise.
4113         * modules/unictype/property-composite-tests: Likewise.
4114         * modules/unictype/property-currency-symbol-tests: Likewise.
4115         * modules/unictype/property-dash-tests: Likewise.
4116         * modules/unictype/property-decimal-digit-tests: Likewise.
4117         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
4118         * modules/unictype/property-deprecated-tests: Likewise.
4119         * modules/unictype/property-diacritic-tests: Likewise.
4120         * modules/unictype/property-extender-tests: Likewise.
4121         * modules/unictype/property-format-control-tests: Likewise.
4122         * modules/unictype/property-grapheme-base-tests: Likewise.
4123         * modules/unictype/property-grapheme-extend-tests: Likewise.
4124         * modules/unictype/property-grapheme-link-tests: Likewise.
4125         * modules/unictype/property-hex-digit-tests: Likewise.
4126         * modules/unictype/property-hyphen-tests: Likewise.
4127         * modules/unictype/property-id-continue-tests: Likewise.
4128         * modules/unictype/property-id-start-tests: Likewise.
4129         * modules/unictype/property-ideographic-tests: Likewise.
4130         * modules/unictype/property-ids-binary-operator-tests: Likewise.
4131         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
4132         * modules/unictype/property-ignorable-control-tests: Likewise.
4133         * modules/unictype/property-iso-control-tests: Likewise.
4134         * modules/unictype/property-join-control-tests: Likewise.
4135         * modules/unictype/property-left-of-pair-tests: Likewise.
4136         * modules/unictype/property-line-separator-tests: Likewise.
4137         * modules/unictype/property-logical-order-exception-tests: Likewise.
4138         * modules/unictype/property-lowercase-tests: Likewise.
4139         * modules/unictype/property-math-tests: Likewise.
4140         * modules/unictype/property-non-break-tests: Likewise.
4141         * modules/unictype/property-not-a-character-tests: Likewise.
4142         * modules/unictype/property-numeric-tests: Likewise.
4143         * modules/unictype/property-other-alphabetic-tests: Likewise.
4144         * modules/unictype/property-other-default-ignorable-code-point-tests:
4145         Likewise.
4146         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
4147         * modules/unictype/property-other-id-continue-tests: Likewise.
4148         * modules/unictype/property-other-id-start-tests: Likewise.
4149         * modules/unictype/property-other-lowercase-tests: Likewise.
4150         * modules/unictype/property-other-math-tests: Likewise.
4151         * modules/unictype/property-other-uppercase-tests: Likewise.
4152         * modules/unictype/property-paired-punctuation-tests: Likewise.
4153         * modules/unictype/property-paragraph-separator-tests: Likewise.
4154         * modules/unictype/property-pattern-syntax-tests: Likewise.
4155         * modules/unictype/property-pattern-white-space-tests: Likewise.
4156         * modules/unictype/property-private-use-tests: Likewise.
4157         * modules/unictype/property-punctuation-tests: Likewise.
4158         * modules/unictype/property-quotation-mark-tests: Likewise.
4159         * modules/unictype/property-radical-tests: Likewise.
4160         * modules/unictype/property-sentence-terminal-tests: Likewise.
4161         * modules/unictype/property-soft-dotted-tests: Likewise.
4162         * modules/unictype/property-space-tests: Likewise.
4163         * modules/unictype/property-terminal-punctuation-tests: Likewise.
4164         * modules/unictype/property-test-tests: Likewise.
4165         * modules/unictype/property-titlecase-tests: Likewise.
4166         * modules/unictype/property-unassigned-code-value-tests: Likewise.
4167         * modules/unictype/property-unified-ideograph-tests: Likewise.
4168         * modules/unictype/property-uppercase-tests: Likewise.
4169         * modules/unictype/property-variation-selector-tests: Likewise.
4170         * modules/unictype/property-white-space-tests: Likewise.
4171         * modules/unictype/property-xid-continue-tests: Likewise.
4172         * modules/unictype/property-xid-start-tests: Likewise.
4173         * modules/unictype/property-zero-width-tests: Likewise.
4174         * modules/unictype/scripts-tests: Likewise.
4175         * modules/unictype/syntax-c-ident-tests: Likewise.
4176         * modules/unictype/syntax-c-whitespace-tests: Likewise.
4177         * modules/unictype/syntax-java-ident-tests: Likewise.
4178         * modules/unictype/syntax-java-whitespace-tests: Likewise.
4179         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
4180         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
4181         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
4182         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
4183         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
4184         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
4185         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
4186         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
4187         * modules/uniname/uniname-tests: Likewise.
4188         * modules/uninorm/canonical-decomposition-tests: Likewise.
4189         * modules/uninorm/compat-decomposition-tests: Likewise.
4190         * modules/uninorm/composition-tests: Likewise.
4191         * modules/uninorm/decomposing-form-tests: Likewise.
4192         * modules/uninorm/decomposition-tests: Likewise.
4193         * modules/uninorm/filter-tests: Likewise.
4194         * modules/uninorm/nfc-tests: Likewise.
4195         * modules/uninorm/nfd-tests: Likewise.
4196         * modules/uninorm/nfkc-tests: Likewise.
4197         * modules/uninorm/nfkd-tests: Likewise.
4198         * modules/uninorm/u8-normcmp-tests: Likewise.
4199         * modules/uninorm/u8-normcoll-tests: Likewise.
4200         * modules/uninorm/u16-normcmp-tests: Likewise.
4201         * modules/uninorm/u16-normcoll-tests: Likewise.
4202         * modules/uninorm/u32-normcmp-tests: Likewise.
4203         * modules/uninorm/u32-normcoll-tests: Likewise.
4204         * modules/unistdio/u8-asnprintf-tests: Likewise.
4205         * modules/unistdio/u8-vasnprintf-tests: Likewise.
4206         * modules/unistdio/u8-vasprintf-tests: Likewise.
4207         * modules/unistdio/u8-vsnprintf-tests: Likewise.
4208         * modules/unistdio/u8-vsprintf-tests: Likewise.
4209         * modules/unistdio/u16-asnprintf-tests: Likewise.
4210         * modules/unistdio/u16-vasnprintf-tests: Likewise.
4211         * modules/unistdio/u16-vasprintf-tests: Likewise.
4212         * modules/unistdio/u16-vsnprintf-tests: Likewise.
4213         * modules/unistdio/u16-vsprintf-tests: Likewise.
4214         * modules/unistdio/u32-asnprintf-tests: Likewise.
4215         * modules/unistdio/u32-vasnprintf-tests: Likewise.
4216         * modules/unistdio/u32-vasprintf-tests: Likewise.
4217         * modules/unistdio/u32-vsnprintf-tests: Likewise.
4218         * modules/unistdio/u32-vsprintf-tests: Likewise.
4219         * modules/unistdio/ulc-asnprintf-tests: Likewise.
4220         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
4221         * modules/unistdio/ulc-vasprintf-tests: Likewise.
4222         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
4223         * modules/unistdio/ulc-vsprintf-tests: Likewise.
4224         * modules/unistr/u8-check-tests: Likewise.
4225         * modules/unistr/u8-chr-tests: Likewise.
4226         * modules/unistr/u8-cmp-tests: Likewise.
4227         * modules/unistr/u8-cmp2-tests: Likewise.
4228         * modules/unistr/u8-cpy-alloc-tests: Likewise.
4229         * modules/unistr/u8-cpy-tests: Likewise.
4230         * modules/unistr/u8-mblen-tests: Likewise.
4231         * modules/unistr/u8-mbsnlen-tests: Likewise.
4232         * modules/unistr/u8-mbtouc-tests: Likewise.
4233         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
4234         * modules/unistr/u8-mbtoucr-tests: Likewise.
4235         * modules/unistr/u8-move-tests: Likewise.
4236         * modules/unistr/u8-next-tests: Likewise.
4237         * modules/unistr/u8-prev-tests: Likewise.
4238         * modules/unistr/u8-set-tests: Likewise.
4239         * modules/unistr/u8-stpcpy-tests: Likewise.
4240         * modules/unistr/u8-stpncpy-tests: Likewise.
4241         * modules/unistr/u8-strcat-tests: Likewise.
4242         * modules/unistr/u8-strcmp-tests: Likewise.
4243         * modules/unistr/u8-strcoll-tests: Likewise.
4244         * modules/unistr/u8-strcpy-tests: Likewise.
4245         * modules/unistr/u8-strdup-tests: Likewise.
4246         * modules/unistr/u8-strlen-tests: Likewise.
4247         * modules/unistr/u8-strmblen-tests: Likewise.
4248         * modules/unistr/u8-strmbtouc-tests: Likewise.
4249         * modules/unistr/u8-strncat-tests: Likewise.
4250         * modules/unistr/u8-strncmp-tests: Likewise.
4251         * modules/unistr/u8-strncpy-tests: Likewise.
4252         * modules/unistr/u8-strnlen-tests: Likewise.
4253         * modules/unistr/u8-to-u16-tests: Likewise.
4254         * modules/unistr/u8-to-u32-tests: Likewise.
4255         * modules/unistr/u8-uctomb-tests: Likewise.
4256         * modules/unistr/u16-check-tests: Likewise.
4257         * modules/unistr/u16-chr-tests: Likewise.
4258         * modules/unistr/u16-cmp-tests: Likewise.
4259         * modules/unistr/u16-cmp2-tests: Likewise.
4260         * modules/unistr/u16-cpy-alloc-tests: Likewise.
4261         * modules/unistr/u16-cpy-tests: Likewise.
4262         * modules/unistr/u16-mblen-tests: Likewise.
4263         * modules/unistr/u16-mbsnlen-tests: Likewise.
4264         * modules/unistr/u16-mbtouc-tests: Likewise.
4265         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
4266         * modules/unistr/u16-mbtoucr-tests: Likewise.
4267         * modules/unistr/u16-move-tests: Likewise.
4268         * modules/unistr/u16-next-tests: Likewise.
4269         * modules/unistr/u16-prev-tests: Likewise.
4270         * modules/unistr/u16-set-tests: Likewise.
4271         * modules/unistr/u16-stpcpy-tests: Likewise.
4272         * modules/unistr/u16-stpncpy-tests: Likewise.
4273         * modules/unistr/u16-strcat-tests: Likewise.
4274         * modules/unistr/u16-strcmp-tests: Likewise.
4275         * modules/unistr/u16-strcoll-tests: Likewise.
4276         * modules/unistr/u16-strcpy-tests: Likewise.
4277         * modules/unistr/u16-strdup-tests: Likewise.
4278         * modules/unistr/u16-strlen-tests: Likewise.
4279         * modules/unistr/u16-strmblen-tests: Likewise.
4280         * modules/unistr/u16-strmbtouc-tests: Likewise.
4281         * modules/unistr/u16-strncat-tests: Likewise.
4282         * modules/unistr/u16-strncmp-tests: Likewise.
4283         * modules/unistr/u16-strncpy-tests: Likewise.
4284         * modules/unistr/u16-strnlen-tests: Likewise.
4285         * modules/unistr/u16-to-u32-tests: Likewise.
4286         * modules/unistr/u16-to-u8-tests: Likewise.
4287         * modules/unistr/u16-uctomb-tests: Likewise.
4288         * modules/unistr/u32-check-tests: Likewise.
4289         * modules/unistr/u32-chr-tests: Likewise.
4290         * modules/unistr/u32-cmp-tests: Likewise.
4291         * modules/unistr/u32-cmp2-tests: Likewise.
4292         * modules/unistr/u32-cpy-alloc-tests: Likewise.
4293         * modules/unistr/u32-cpy-tests: Likewise.
4294         * modules/unistr/u32-mblen-tests: Likewise.
4295         * modules/unistr/u32-mbsnlen-tests: Likewise.
4296         * modules/unistr/u32-mbtouc-tests: Likewise.
4297         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
4298         * modules/unistr/u32-mbtoucr-tests: Likewise.
4299         * modules/unistr/u32-move-tests: Likewise.
4300         * modules/unistr/u32-next-tests: Likewise.
4301         * modules/unistr/u32-prev-tests: Likewise.
4302         * modules/unistr/u32-set-tests: Likewise.
4303         * modules/unistr/u32-stpcpy-tests: Likewise.
4304         * modules/unistr/u32-stpncpy-tests: Likewise.
4305         * modules/unistr/u32-strcat-tests: Likewise.
4306         * modules/unistr/u32-strcmp-tests: Likewise.
4307         * modules/unistr/u32-strcoll-tests: Likewise.
4308         * modules/unistr/u32-strcpy-tests: Likewise.
4309         * modules/unistr/u32-strdup-tests: Likewise.
4310         * modules/unistr/u32-strlen-tests: Likewise.
4311         * modules/unistr/u32-strmblen-tests: Likewise.
4312         * modules/unistr/u32-strmbtouc-tests: Likewise.
4313         * modules/unistr/u32-strncat-tests: Likewise.
4314         * modules/unistr/u32-strncmp-tests: Likewise.
4315         * modules/unistr/u32-strncpy-tests: Likewise.
4316         * modules/unistr/u32-strnlen-tests: Likewise.
4317         * modules/unistr/u32-to-u16-tests: Likewise.
4318         * modules/unistr/u32-to-u8-tests: Likewise.
4319         * modules/unistr/u32-uctomb-tests: Likewise.
4320         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
4321         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
4322         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
4323         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
4324         * modules/uniwidth/u8-strwidth-tests: Likewise.
4325         * modules/uniwidth/u8-width-tests: Likewise.
4326         * modules/uniwidth/u16-strwidth-tests: Likewise.
4327         * modules/uniwidth/u16-width-tests: Likewise.
4328         * modules/uniwidth/u32-strwidth-tests: Likewise.
4329         * modules/uniwidth/u32-width-tests: Likewise.
4330         * modules/uniwidth/width-tests: Likewise.
4331
4332 2010-05-18  Richard Jones  <rjones@redhat.com>
4333
4334         doc: users.txt: list hivex
4335         * users.txt: Add hivex.
4336
4337 2010-05-18  Richard Jones  <rjones@redhat.com>
4338
4339         doc: users.txt: list febootstrap
4340         * users.txt: Add febootstrap.
4341
4342 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
4343
4344         bootstrap: fix an error when gnulib is not used as a git submodule
4345         * build-aux/bootstrap (gnulib_path): If its length is zero then
4346         assign "gnulib" to it.
4347         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
4348
4349 2010-05-16  Bruno Haible  <bruno@clisp.org>
4350
4351         Avoid autoconf warnings about AM_ICONV.
4352         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
4353         2.64.
4354
4355 2010-05-16  Bruno Haible  <bruno@clisp.org>
4356
4357         absolute-header: Make the macro usable in more situations.
4358         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
4359         from gl_ABSOLUTE_HEADER.
4360         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
4361
4362 2010-05-16  James Youngman  <jay@gnu.org>
4363
4364         doc: update users.txt
4365         * users.txt: Add CSSC.
4366
4367 2010-05-16  Jim Meyering  <meyering@redhat.com>
4368
4369         init.sh: fix an error in the previous change; add more comments
4370         * tests/init.sh: Compare exit code in loop against 9, not 2.
4371         Patch by Bruno Haible.
4372         Make the two tests more similar by adding an empty "then" clause.
4373         Add comments.
4374
4375         init.sh: avoid unnecessary shell re-exec
4376         * tests/init.sh: Improve the re-exec-required check to first test the
4377         current shell.  If it passes the test, do not search for a shell that
4378         does pass, and do not re-exec.  This test is particularly contorted to
4379         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
4380         of $(...) evokes a syntax error and causes immediate shell exit with
4381         status 2.  Bruno Haible reported that the re-exec made it impossible
4382         to single-step through any init.sh-using script.
4383
4384 2010-05-16  Bruno Haible  <bruno@clisp.org>
4385
4386         Fix collision between gnulib's and libintl's printf replacements.
4387         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
4388         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
4389         (printf): When using GNU C, map the __printf__ function to rpl_printf
4390         via __asm__. When not using GNU C, define rpl_printf instead of
4391         __printf__.
4392         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
4393         commit.
4394         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
4395         commit.
4396         * m4/asm-underscore.m4: New file.
4397         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
4398         * modules/stdio (Files): Add m4/asm-underscore.m4.
4399         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
4400         Reported by Ben Pfaff.
4401
4402 2010-05-16  Bruno Haible  <bruno@clisp.org>
4403
4404         verify: Avoid skipping the test on openSUSE 11.0.
4405         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
4406
4407 2010-05-13  Bruno Haible  <bruno@clisp.org>
4408
4409         Avoid useless warnings from G++.
4410         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
4411         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
4412         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
4413
4414 2010-05-11  Jim Meyering  <meyering@redhat.com>
4415
4416         maint.mk: tweak preceding change
4417         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
4418         regexps tighter by anchoring at EOL, and make the new group "shy"
4419         for slightly decreased overhead.
4420
4421 2010-05-11  Eric Blake  <eblake@redhat.com>
4422
4423         maint.mk: gnulib doesn't guarantee NSIG
4424         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
4425
4426 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
4427
4428         test-pwrite.c: Remove unused variable declaration.
4429         * tests/test-pwrite.c (main): Remove read_buf declaration.
4430
4431         Remove useless test-pwrite.sh file.
4432         * tests/test-pwrite.sh: Delete file.
4433         * modules/pwrite-tests: Remove references.
4434         Reported by Bruno Haible.
4435
4436 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
4437
4438         init.sh: fix a typo
4439         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
4440
4441 2010-05-10  Jim Meyering  <meyering@redhat.com>
4442
4443         maint.mk: avoid using a temporary file in the always-defined-macros check
4444         * top/maint.mk (.re-defmac): Remove rule.
4445         (gl_trap_): Remove definition.
4446         (sc_prohibit_always-defined_macros): Rewrite not to create and
4447         depend on a temporary file.  Instead, depend on GNU grep's ability
4448         to read a list of regular expressions from stdin when given "-f -".
4449
4450 2010-05-09  Bruno Haible  <bruno@clisp.org>
4451
4452         Update to GNU gettext 0.18, part 1.
4453         * m4/gettext.m4: Update to GNU gettext 0.18.
4454         * m4/intl.m4: Likewise.
4455         * m4/po.m4: Likewise.
4456         * modules/gettext (Files): Add m4/fcntl-o.m4.
4457         (configure.ac): Require gettext infrastructure from version 0.18.
4458
4459 2010-05-09  Jim Meyering  <meyering@redhat.com>
4460
4461         init.sh: enable MALLOC_PERTURB_
4462         * tests/init.sh: Enable glibc's malloc-perturbing option.
4463
4464         maint.mk: improve sc_cross_check_PATH_usage_in_tests
4465         With my recent change in init.sh from the two-line form:
4466             -#   : ${srcdir=.}
4467             -#   . "$srcdir/init.sh"; path_prepend_ .
4468             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
4469         I noticed that using the one-line form would cause this test
4470         to fail with a false-positive, or to stop working altogether,
4471         depending on whether help-version changed or all the tests did.
4472         * top/maint.mk (_hv_regex): Remove this definition.
4473         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
4474         (_hv_regex_strong): Use a stronger regex to check for conformance.
4475         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
4476         Give a separate diagnostic for lack of conforming use.
4477
4478         maint.mk: prohibit definition of symbols defined by gnulib
4479         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
4480         definition of symbols defined by gnulib.
4481
4482 2010-05-09  Bruno Haible  <bruno@clisp.org>
4483
4484         acl: Avoid test failure on Cygwin-hosted mingw.
4485         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
4486
4487 2010-05-09  Bruno Haible  <bruno@clisp.org>
4488
4489         error: Use system's fcntl function.
4490         * lib/error.c (fcntl): Undefine.
4491
4492 2010-05-09  Jim Meyering  <meyering@redhat.com>
4493
4494         verify: adjust formatting to be more consistent
4495         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
4496         argument-list '('s, and after one comma.
4497
4498 2010-05-09  Bruno Haible  <bruno@clisp.org>
4499
4500         error: More reliable output on mingw.
4501         * lib/error.c: Include <windows.h>.
4502         (is_open): New function.
4503         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
4504         defined.
4505
4506 2010-05-09  Bruno Haible  <bruno@clisp.org>
4507
4508         vasnprintf: Fix syntax errors in libintl build on mingw.
4509         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
4510         pad_ourselves and prec_ourselves after use.
4511
4512 2010-05-08  Bruno Haible  <bruno@clisp.org>
4513
4514         * lib/config.charset: Update comments for Cygwin 1.7.
4515         * lib/localcharset.c: Likewise.
4516
4517 2010-05-07  Jim Meyering  <meyering@redhat.com>
4518
4519         init.sh: improve comments
4520         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
4521         . "${srcdir=.}/init.sh"; path_prepend_ .
4522         Add a note about path_prepend_ and the alternative of using
4523         TESTS_ENVIRONMENT.
4524
4525 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
4526
4527         exclude: Unescape hashed patterns in wildcard mode.
4528         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
4529         to the hash list.
4530         * tests/test-exclude8.sh: New test case.
4531         * modules/exclude-tests: Add new test.
4532
4533 2010-05-05  Eric Blake  <eblake@redhat.com>
4534
4535         verify: automate tests
4536         * modules/verify-tests: New module.
4537         * tests/test-verify.sh: New file.
4538         * tests/test-verify.c: Guard each negative test with a unique id.
4539         Also avoid warning about unused left hand of comma expressions.
4540
4541 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
4542
4543         Further improvements to verify.h, suggested by Eric Blake.
4544         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
4545         the GL_* versions, to avoid collision with OpenGL.
4546         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
4547         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
4548         than testing merely whether it's defined.
4549
4550         Modify verify.h to pacify gcc -Wredundant_decls.
4551         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
4552         These use the prefix "GL_" since they're likely to be useful elsewhere.
4553         We may need to break them out into a different .h file.
4554         (__COUNTER__): Define to 0 if the compiler doesn't support it.
4555         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
4556         of verify_function__.
4557
4558 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
4559
4560         Tests for module pwrite.
4561         * modules/pwrite-tests: New file.
4562         * tests/test-pwrite.sh: New file.
4563         * tests/test-pwrite.c: New file.
4564
4565         New module pwrite.
4566         * lib/unistd.in.h (pwrite): New declaration.
4567         * lib/pwrite.c: New file, from glibc with modifications.
4568         * m4/pwrite.m4: New file.
4569         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
4570         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
4571         REPLACE_PWRITE.
4572         * modules/pwrite: New file.
4573         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
4574         REPLACE_PWRITE.
4575         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
4576         * doc/posix-functions/pwrite.texi: Mention the new module.
4577
4578 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
4579
4580         pread: Update documentation.
4581         * doc/posix-functions/pread.texi: Mention the 'pread' module.
4582
4583 2010-05-04  Eric Blake  <eblake@redhat.com>
4584
4585         docs: update cygwin progress
4586         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
4587         this bug.
4588         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
4589         Added in cygwin 1.7.2.
4590         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
4591         Likewise.
4592         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
4593         Likewise.
4594         * doc/glibc-functions/dup3.texi (dup3): Likewise.
4595         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
4596         * doc/glibc-functions/accept4.texi (accept4): Likewise.
4597         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
4598         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
4599         Mention nproc module.
4600         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
4601         bug in cygwin 1.7.5 addition.
4602         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
4603         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
4604         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
4605         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
4606         1.7.5.
4607         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
4608         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
4609         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
4610         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
4611         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
4612         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
4613         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
4614         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
4615         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
4616         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
4617         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
4618         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
4619         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
4620         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
4621         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
4622         Likewise.
4623         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
4624         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
4625         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
4626         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
4627         Likewise.
4628         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
4629         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
4630         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
4631         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
4632         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
4633         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
4634         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
4635         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
4636         Likewise.
4637         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
4638         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
4639         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
4640         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
4641         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
4642         Likewise.
4643         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
4644         Likewise.
4645         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
4646         Likewise.
4647         * doc/glibc-functions/xdrrec_endofrecord.texi
4648         (xdrrec_endofrecord): Likewise.
4649         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
4650         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
4651         Likewise.
4652         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
4653         Likewise.
4654
4655 2010-05-04  Jim Meyering  <meyering@redhat.com>
4656
4657         gendocs.sh: make its "-s FILE" option more useful
4658         * build-aux/gendocs.sh: When honoring the -s FILE option, update
4659         $PACKAGE to reflect the probably-different basename of "FILE".
4660
4661 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
4662
4663         bootstrap: don't ignore download_po_files failure
4664         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
4665         failure.
4666
4667 2010-05-03  Jim Meyering  <meyering@redhat.com>
4668
4669         maint.mk: allow to pass options to gendocs.sh
4670         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
4671         (gendocs_options_): New overridable variable.
4672
4673         gnu-web-doc-update: don't ignore configure or build failure
4674         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
4675
4676         announce-gen: backslash-escape '@'s in --help output
4677         * build-aux/announce-gen: Fix syntax errors.
4678
4679         maint.mk, announce-gen: allow project-specific announcement mail headers
4680         * top/maint.mk (translation_project_): Define default.
4681         (announcement_Cc_, announcement_mail_headers_): Likewise.
4682         (announcement): Invoke announce-gen with new --mail-headers option.
4683         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
4684
4685         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
4686         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
4687         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
4688         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
4689         line in the "err2" output file when running "make check" in verbose
4690         mode (i.e., with set -x enabled).
4691
4692 2010-05-03  Bruno Haible  <bruno@clisp.org>
4693
4694         wctob: Fix for weird platforms.
4695         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
4696         argument value.
4697
4698 2010-05-03  Jim Meyering  <meyering@redhat.com>
4699
4700         maint.mk: prohibit unwarranted use of <strings.h>
4701         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
4702         strings.h in a file that does not also use strcasecmp, strncasecmp,
4703         ffs or ffsll.
4704
4705         maint.mk: remove obsolete comments
4706         * top/maint.mk: Remove stale, commented-out rules.
4707
4708 2010-05-02  Bruno Haible  <bruno@clisp.org>
4709
4710         wcwidth: Declare also when it's aliased.
4711         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
4712         macro.
4713
4714 2010-05-02  Bruno Haible  <bruno@clisp.org>
4715
4716         Fix regression from 2010-04-25.
4717         * gnulib-tool (func_modules_transitive_closure): Check the status of
4718         all modules, not only of the tests that are of the form foo-tests where
4719         foo is a module.
4720
4721 2010-05-02  Bruno Haible  <bruno@clisp.org>
4722
4723         wctob: Work around nasty Cygwin 1.7.2 bug.
4724         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
4725         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
4726
4727 2010-05-01  Bruno Haible  <bruno@clisp.org>
4728
4729         fpurge: Sharper test.
4730         * tests/test-fpurge.c (main): Add one more ftell check.
4731         * modules/fpurge-tests (Depends-on): Add ftell.
4732         Suggested by Eric Blake.
4733
4734 2010-05-01  Bruno Haible  <bruno@clisp.org>
4735
4736         ftello: Another test.
4737         * tests/test-ftello3.c: New file.
4738         * modules/ftello-tests (Files): Add it.
4739         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
4740         MOSTLYCLEANFILES.
4741
4742         ftell: Another test.
4743         * tests/test-ftell3.c: New file.
4744         * modules/ftell-tests (Files): Add it.
4745         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
4746         MOSTLYCLEANFILES.
4747
4748 2010-05-01  Bruno Haible  <bruno@clisp.org>
4749
4750         ftell, ftello: Work around Solaris bug.
4751         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
4752         * lib/ftello.c: Include stdio-impl.h.
4753         (ftello): On Solaris, when _IOWRT is set, compute the result without
4754         looking at _IOREAD.
4755         * modules/ftello (Files): Add lib/stdio-impl.h.
4756         * doc/posix-functions/ftell.texi: Mention Solaris bug.
4757         * doc/posix-functions/ftello.texi: Likewise.
4758         Reported by Eric Blake.
4759
4760 2010-05-01  Bruno Haible  <bruno@clisp.org>
4761
4762         freading: Adapt to special meaning of _IOREAD flag on Solaris.
4763         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
4764         the _IOWRT flag is also set.
4765
4766 2010-05-01  Bruno Haible  <bruno@clisp.org>
4767
4768         Fix doc about a HP-UX stdio bug.
4769         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
4770         * doc/posix-functions/ftello.texi: Likewise.
4771
4772 2010-05-01  Bruno Haible  <bruno@clisp.org>
4773
4774         lseek test: Fix failure on Solaris.
4775         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
4776         output.
4777
4778 2010-04-30  Jim Meyering  <meyering@redhat.com>
4779
4780         bootstrap: don't ignore failure to generate po*/Makevars
4781         * build-aux/bootstrap (with_gettext): Don't ignore failure
4782         to create po/Makevars or runtime-po/Makevars.
4783
4784 2010-04-29  Eric Blake  <eblake@redhat.com>
4785
4786         headers: relax license to LGPLv2+
4787         * modules/fcntl-h (License): Relax license.
4788         * modules/getopt-posix (License): Likewise.
4789         * modules/locale (License): Likewise.
4790         * modules/math (License): Likewise.
4791         * modules/pty (License): Likewise.
4792         * modules/sched (License): Likewise.
4793         * modules/search (License): Likewise.
4794         * modules/spawn (License): Likewise.
4795         * modules/stdarg (License): Likewise.
4796         * modules/sysexits (License): Likewise.
4797
4798 2010-04-29  Jim Meyering  <meyering@redhat.com>
4799
4800         inttypes: relax license to LGPLv2+
4801         * modules/inttypes (License): Relax license.
4802
4803 2010-04-29  Simon Josefsson  <simon@josefsson.org>
4804
4805         * top/maint.mk (indent): Run twice to produce idempotent results.
4806
4807 2010-04-28  Bruno Haible  <bruno@clisp.org>
4808
4809         getdate: Generate getdate.c in the source directory.
4810         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
4811         MOSTLYCLEANFILES.
4812         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
4813
4814 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
4815
4816         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
4817         is not declared as a const *; avoid warnings in that case.
4818
4819 2010-04-28  Eric Blake  <eblake@redhat.com>
4820
4821         canonicalize-lgpl: avoid compiler warning
4822         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
4823         declaration' / 'extraneous semicolon' warning with some compilers.
4824         Reported by Andreas Gruenbacher.
4825
4826 2010-04-28  Jim Meyering  <meyering@redhat.com>
4827
4828         init.sh: ensure a more reliable exit status when exiting via trap
4829         * tests/init.sh (setup_): Don't rely on $? in signal handler.
4830         Inspired by patches from Dmitry V. Levin.
4831         Also trap on signal 3 (SIGQUIT).
4832
4833 2010-04-27  Bruno Haible  <bruno@clisp.org>
4834
4835         Update doc about utimes().
4836         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
4837         'utimens' module.
4838         Reported by Andreas Gruenbacher <agruen@suse.de>.
4839
4840 2010-04-27  Eric Blake  <eblake@redhat.com>
4841
4842         full-read, full-write: relax license
4843         * modules/full-read (License): Drop to LGPLv2+.
4844         * modules/full-write (License): Likewise.
4845         * modules/safe-read (License): Likewise.
4846         * modules/safe-write (License): Likewise.
4847
4848         pthread: mention library for linking
4849         * modules/pthread (Link): Mention $(LIB_PTHREAD).
4850
4851 2010-04-27  Jim Meyering  <meyering@redhat.com>
4852
4853         maint.mk: fix a bug introduced in last change
4854         * top/maint.mk (gl_assured_headers_): Now that all names are on
4855         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
4856         is not anchored to end of word, it should be adequate.
4857
4858         maint.mk: avoid side-effect in latest syntax-check
4859         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
4860         to run commands via $(shell...), and hence to incur cost only when
4861         the new rule is actually run.
4862
4863         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
4864         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
4865         and use that to create a regexp used to detect all #if HAVE_..._H uses.
4866         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
4867         (gl_assured_headers_, az_, AZ_): Define.
4868         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
4869
4870 2010-04-26  Jim Meyering  <jim@meyering.net>
4871             Bruno Haible  <bruno@clisp.org>
4872
4873         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
4874         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
4875         Prompted by an exchange with Gilles Espinasse.
4876
4877 2010-04-26  Jim Meyering  <meyering@redhat.com>
4878
4879         git-version-gen: aesthetic tweak
4880         * build-aux/git-version-gen: Use "$nl" rather than a literal,
4881         so that the command remains on a single line.
4882
4883 2010-04-26  Eric Blake  <eblake@redhat.com>
4884
4885         git-version-gen: allow use on EBCDIC hosts
4886         * build-aux/git-version-gen (dirty): Use literal rather than tying
4887         ourselves to ascii.
4888         Reported by Steve Goetze.
4889
4890 2010-04-25  Bruno Haible  <bruno@clisp.org>
4891
4892         netdb: Add support for GNULIB_POSIXCHECK.
4893         * lib/netdb.in.h: Include warn-on-use.h.
4894         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
4895         functions are used when GNULIB_POSIXCHECK is defined and the
4896         getaddrinfo module is not in use.
4897         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
4898         freeaddrinfo, gai_strerror, getnameinfo are declared.
4899         * modules/netdb (Depends-on): Add warn-on-use.
4900         (Makefile.am): Include warn-on-use.h in netdb.h.
4901
4902 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
4903
4904         build: avoid "make check" failure without .git/ directory
4905         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
4906         there is no .git/ directory.
4907
4908 2010-04-25  Bruno Haible  <bruno@clisp.org>
4909
4910         ptsname: Fix misuse of ttyname_r.
4911         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
4912         of errno.
4913
4914 2010-04-25  Bruno Haible  <bruno@clisp.org>
4915
4916         ttyname_r: Make it work on Solaris 10.
4917         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
4918         if the system function has the POSIX declaration. Test whether the
4919         function fails if the buffer is less than 128 bytes large.
4920         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
4921         system's ttyname_r function. Provide a reasonably large buffer.
4922         * modules/ttyname_r (Depends-on): Add extensions.
4923         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
4924
4925 2010-04-25  Bruno Haible  <bruno@clisp.org>
4926
4927         Use the 'extensions' module for some more functions on Solaris.
4928         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
4929         module.
4930         * doc/posix-functions/ctime_r.texi: Likewise.
4931         * doc/posix-functions/getgrgid_r.texi: Likewise.
4932         * doc/posix-functions/getgrnam_r.texi: Likewise.
4933         * doc/posix-functions/getpwnam_r.texi: Likewise.
4934         * doc/posix-functions/getpwuid_r.texi: Likewise.
4935         * doc/posix-functions/readdir_r.texi: Likewise.
4936         * doc/posix-functions/sigwait.texi: Likewise.
4937         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
4938         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
4939
4940 2010-04-25  Bruno Haible  <bruno@clisp.org>
4941
4942         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
4943         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
4944         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
4945         * lib/ttyname_r.c: Include <limits.h>.
4946         (ttyname_r): Define using the system's ttyname_r function, if it exists
4947         and not on Solaris.
4948         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
4949         set.
4950         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
4951         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
4952         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
4953         Reported by Simon Josefsson.
4954
4955 2010-04-25  Bruno Haible  <bruno@clisp.org>
4956
4957         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
4958         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
4959         * doc/posix-functions/ctime_r.texi: Likewise.
4960         * doc/posix-functions/getgrgid_r.texi: Likewise.
4961         * doc/posix-functions/getgrnam_r.texi: Likewise.
4962         * doc/posix-functions/getlogin_r.texi: Likewise.
4963         * doc/posix-functions/getpwnam_r.texi: Likewise.
4964         * doc/posix-functions/getpwuid_r.texi: Likewise.
4965         * doc/posix-functions/readdir_r.texi: Likewise.
4966         * doc/posix-functions/sigwait.texi: Likewise.
4967         * doc/posix-functions/ttyname_r.texi: Likewise.
4968         Reported by Simon Josefsson.
4969
4970 2010-04-25  Bruno Haible  <bruno@clisp.org>
4971
4972         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
4973         * gnulib-tool (func_usage): Document that --with-*-tests options apply
4974         also to --create-testdir.
4975         (func_acceptable): Don't consider the status of *-tests modules here.
4976         (func_modules_transitive_closure): Consider it here, before including a
4977         test module.
4978         (func_import, func_create_testdir): Set inc_all_direct_tests,
4979         inc_all_indirect_tests.
4980         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
4981         --create-testdir and --create-megatestdir.
4982
4983 2010-04-25  Bruno Haible  <bruno@clisp.org>
4984
4985         gnulib-tool: Add --without-*-tests options.
4986         * gnulib-tool (func_usage): Document the --without-*-tests options.
4987         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
4988         excl_unportable_tests): New variables.
4989         Fail if they are specified with --import or --update.
4990         (func_acceptable): Respect the excl_*_tests variables.
4991         (func_import): Set the excl_*_tests variables to empty.
4992
4993 2010-04-25  Simon Josefsson  <simon@josefsson.org>
4994             Bruno Haible  <bruno@clisp.org>
4995
4996         Work around a MacOS X 10.4 bug with openpty.
4997         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
4998         * tests/test-openpty.c (main): Close the master side explicitly.
4999
5000 2010-04-25  Bruno Haible  <bruno@clisp.org>
5001
5002         strnlen: Fix a C++ test error on MacOS X and Solaris.
5003         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
5004         the function is not declared.
5005         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
5006         Simon Josefsson.
5007
5008 2010-04-24  Bruno Haible  <bruno@clisp.org>
5009
5010         Avoid a gcc warning.
5011         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
5012         of correct type for %08lx directive.
5013         Reported by Eric Blake.
5014
5015 2010-04-24  Bruno Haible  <bruno@clisp.org>
5016
5017         vasnprintf: Correct errno value in case of out-of-memory.
5018         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
5019         or sprintf. Use the errno value from SNPRINTF or sprintf.
5020         Reported by Ian Beckwith <ianb@erislabs.net>.
5021
5022 2010-04-24  Bruno Haible  <bruno@clisp.org>
5023
5024         ansi-c++-opt: Find correct compiler when cross-compiling.
5025         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
5026         AC_CHECK_PROGS.
5027         Reported by Simon Josefsson.
5028
5029 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
5030
5031         vc-list-files: Add support for subversion
5032         * build-aux/vc-list-files: Use "svn list" to generate the list of
5033         files controlled by subversion.
5034
5035 2010-04-23  Jim Meyering  <meyering@redhat.com>
5036
5037         vc-list-files tests: convert to use init.sh
5038         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
5039         path_prepend_.
5040         Use Exit, not exit.
5041         Use skip_ rather than open coding it.
5042         Remove trap set-up and compare definitions.
5043         * tests/test-vc-list-files-git.sh: Likewise.
5044         * modules/vc-list-files-tests (Files): Add tests/init.sh.
5045
5046 2010-04-22  Simon Josefsson  <simon@josefsson.org>
5047
5048         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
5049         backup files.
5050
5051 2010-04-21  Simon Josefsson  <simon@josefsson.org>
5052
5053         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
5054
5055 2010-04-20  Eric Blake  <eblake@redhat.com>
5056
5057         tests: be robust to ignored SIGPIPE
5058         * tests/test-select-in.sh: Consume all output.
5059         * tests/test-lseek.sh: Check correct exit status, while avoiding
5060         EPIPE.
5061
5062 2010-04-20  Simon Josefsson  <simon@josefsson.org>
5063             Bruno Haible  <bruno@clisp.org>
5064
5065         visibility: Don't use -fvisibility if it leads to a warning.
5066         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
5067         yes, don't pretend that visibility works if it leads to a warning.
5068         Reported by Mike Gran <spk121@yahoo.com>.
5069
5070 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
5071
5072         * build-aux/bootstrap: Use "git -h" for testing for supported options
5073         instead of "git --help".  The short-form option only shows a summary,
5074         and doesn't layout the full man page.  Grep for the full option name
5075         in the summary, too.
5076
5077 2010-04-19  Bruno Haible  <bruno@clisp.org>
5078
5079         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
5080         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
5081         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
5082         mention of RELOCATABLE_STRIP.
5083         Reported by Sylvain Beucler <beuc@beuc.net>.
5084
5085 2010-04-19  Bruno Haible  <bruno@clisp.org>
5086
5087         * lib/diffseq.h: Fix typo in comment.
5088         Reported by Eric Blake.
5089
5090 2010-04-19  Bruno Haible  <bruno@clisp.org>
5091
5092         ioctl: Move autoconf macro to a .m4 file.
5093         * m4/ioctl.m4: New file, extracted from modules/ioctl.
5094         * modules/ioctl (Files): Add it.
5095         (configure.ac): Simply invoke gl_FUNC_IOCTL.
5096         Reported by Ian Beckwith <ianb@erislabs.net>.
5097
5098 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
5099             Bruno Haible  <bruno@clisp.org>
5100
5101         diffseq: Accommodate use-case with abstract arrays.
5102         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
5103         is not defined.
5104         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
5105         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
5106
5107 2010-04-18  Bruno Haible  <bruno@clisp.org>
5108
5109         * doc/posix-headers/stdbool.texi: More precise wording.
5110
5111 2010-04-17  Jim Meyering  <meyering@redhat.com>
5112
5113         maint.mk: use gnu-style indentation in an embedded perl script
5114         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
5115         Rename variable: s/two/last_two_bytes/
5116
5117 2010-04-16  Eric Blake  <eblake@redhat.com>
5118
5119         test-stdbool: skip test that fails with Solaris CC
5120         * tests/test-stdbool.c (f): Skip test that causes compilation
5121         error under buggy C++ compiler.
5122         * lib/stdbool.in.h: Document the limitation.
5123         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
5124
5125         setenv: allow compilation with C++
5126         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
5127         register keyword.
5128
5129         stdint: allow test to pass with C++
5130         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
5131
5132         getopt: allow compilation with C++
5133         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
5134         struct.
5135         * lib/getopt.c (_getopt_internal_r): Use correct type.
5136         Reported by Dagobert Michelson, via Joel E. Denny.
5137
5138 2010-04-16  Bruno Haible  <bruno@clisp.org>
5139
5140         Override netdb.h always.
5141         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
5142         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
5143         Reported by Ludovic Courtès <ludo@gnu.org>.
5144
5145 2010-04-15  Bruno Haible  <bruno@clisp.org>
5146
5147         openpty: Fix mistake from 2010-03-21.
5148         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
5149         Reported by Simon Josefsson.
5150
5151 2010-04-15  Eric Blake  <eblake@redhat.com>
5152
5153         test-forkpty: fix expected signature
5154         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
5155         Reported by Simon Josefsson.
5156
5157 2010-04-15  Jim Meyering  <meyering@redhat.com>
5158
5159         maint.mk: texinfo_suffix_re_: correct the default regexp
5160         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
5161
5162         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
5163         make it configurable via texinfo_suffix_re_.
5164
5165 2010-04-14  Eric Blake  <eblake@redhat.com>
5166
5167         strtok_r: relax license to LGPLv2+
5168         * modules/strtok_r (License): Relax license.
5169         Reported by Matthias Bolte.
5170
5171 2010-04-14  Simon Josefsson  <simon@josefsson.org>
5172
5173         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
5174         version 1.4.4 by default instead of requiring the libgcrypt
5175         version used during build.  This makes it possible to use the
5176         application with older but still binary compatible libgcrypt
5177         versions.
5178
5179 2010-04-13  Eric Blake  <eblake@redhat.com>
5180
5181         getopt-gnu: match recent glibc fixes and posix ruling
5182         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
5183         '+' handling, when requesting extensions.
5184         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
5185         'W;' handling.
5186         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
5187         * doc/posix-functions/getopt.texi (getopt): Document this.
5188         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5189         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5190         Likewise.
5191
5192         getopt: merge bug fixes from glibc
5193         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
5194         diagnostics.  Honor '+:' correctly.  Reject ';'.
5195
5196         getopt-posix: detect MacOS bug
5197         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
5198         optind when missing a required argument.
5199         * doc/posix-functions/getopt.texi (getopt): Document the bug.
5200         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
5201         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
5202         Likewise.
5203
5204         getopt-posix: avoid spurious failure on Solaris
5205         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
5206         an indicator that setting optind=1 is sufficient for reset.
5207
5208         getopt-posix: avoid spurious failure on FreeBSD
5209         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
5210         in POSIX mode, since the m4 test uses it.
5211
5212         gnulib-tool: silence warning on BSD sh
5213         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
5214
5215 2010-04-13  Jim Meyering  <meyering@redhat.com>
5216
5217         doc: users.txt: GNU patch now uses gnulib
5218         * users.txt: Add patch.
5219
5220 2010-04-12  Jim Meyering  <meyering@redhat.com>
5221
5222         maint.mk: generate more concise timing data for syntax-check rules
5223         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
5224         " done" from each line that reports a syntax-check test duration.
5225
5226 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
5227
5228         git-version-gen: use "git update-index..." rather than "git status"
5229         * build-aux/git-version-gen: Use git update-index --refresh, not
5230         "git status".  With some versions of git, "git status" would fail
5231         to update the index and result in an unwarranted "-dirty" suffix.
5232
5233 2010-04-11  Jim Meyering  <meyering@redhat.com>
5234
5235         openat: correct formatting (no semantic change)
5236         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
5237         Suggested by Bruno Haible.
5238
5239 2010-04-11  Bruno Haible  <bruno@clisp.org>
5240
5241         Stricter declaration checking in testdirs.
5242         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
5243         If for_tests is true, augment AM_CPPFLAGS to define
5244         GNULIB_STRICT_CHECKING.
5245         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
5246         GNULIB_STRICT_CHECKING is defined, verify that the function is
5247         declared.
5248
5249 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
5250             Bruno Haible  <bruno@clisp.org>
5251
5252         libunistring: Improve configure output.
5253         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
5254         Don't say "consider installing GNU libunistring" when checking again
5255         with libiconv.
5256
5257 2010-04-11  Bruno Haible  <bruno@clisp.org>
5258
5259         libunistring: Correct value of $LTLIBUNISTRING.
5260         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
5261         correct the value of $LTLIBUNISTRING.
5262
5263 2010-04-11  Bruno Haible  <bruno@clisp.org>
5264
5265         havelib: Add static libraries to LIBS in the right order.
5266         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
5267         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
5268
5269 2010-04-11  Bruno Haible  <bruno@clisp.org>
5270
5271         libunistring: Detect libunistring also when it depends on libiconv.
5272         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
5273         the second AC_LIB_HAVE_LINKFLAGS invocation.
5274
5275 2010-04-11  James Youngman  <jay@gnu.org>
5276
5277         close-stream: declare local scalars to be "const"
5278         * lib/close-stream.c (close_stream): Make boolean variables const
5279         to document the fact that we set but do not change them.
5280
5281 2010-04-11  Bruno Haible  <bruno@clisp.org>
5282
5283         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
5284
5285 2010-04-11  Jim Meyering  <meyering@redhat.com>
5286
5287         maint.mk: don't include dist-check.mk
5288         * top/maint.mk: Remove bogus include directive.
5289
5290         maint.mk: improve empty-line-at-EOF check
5291         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
5292         solution, rather than tail+Perl-based one.  The latter would read
5293         a few kilobytes from the end of each file, and did not handle empty
5294         files properly.
5295
5296         maint.mk: print the elapsed time for each syntax-check rule
5297         * top/maint.mk (sc_m_rules_): Save start time in a file.
5298         (sc_z_rules_): New rules: remove temp file and print elapsed time.
5299         (local-check): Interpose the .z rules
5300
5301 2010-04-11  Jim Meyering  <meyering@redhat.com>
5302
5303         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
5304         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
5305         empty file with one that ends in an empty line.
5306
5307 2010-04-10  Bruno Haible  <bruno@clisp.org>
5308
5309         mkdir: Make it work on mingw64.
5310         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
5311         * lib/mkdir.c: Update comment.
5312         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
5313
5314 2010-04-10  Bruno Haible  <bruno@clisp.org>
5315
5316         Don't override improved macro from newer autoconf.
5317         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
5318         autoconf >= 2.62.
5319         Reported by Joel E. Denny <jdenny@clemson.edu>.
5320
5321 2010-04-10  Jim Meyering  <meyering@redhat.com>
5322
5323         maint.mk: new syntax-check rule: prohibit empty lines at end of file
5324         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
5325
5326         maint.mk: correct a diagnostic
5327         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
5328         in diagnostic; now use $prohibit.
5329
5330 2010-04-10  Bruno Haible  <address@hidden>
5331
5332         fchownat: Fix a C++ test error on Solaris 8.
5333         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
5334         the function does not exist.
5335
5336 2010-04-10  Bruno Haible  <bruno@clisp.org>
5337
5338         vasnprintf: Add more tests.
5339         * tests/test-vasnprintf-posix.c: Include <errno.h>.
5340         (test_function): Test converting an invalid wide string.
5341
5342         vasnprintf: Correct handling of unconvertible wide string arguments.
5343         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
5344         VASNPRINTF.
5345         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
5346         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
5347         smaller than the expected maximum need for the directive. Set errno to
5348         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
5349         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
5350         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
5351         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
5352         * modules/vasnprintf (Files): Add m4/printf.m4.
5353         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5354
5355 2010-04-10  Bruno Haible  <bruno@clisp.org>
5356
5357         vasnprintf: Fix crash in %ls directive.
5358         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
5359         string is passed as argument to %ls, with no precision and no width.
5360         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5361
5362 2010-04-10  Bruno Haible  <bruno@clisp.org>
5363
5364         vasnprintf: Fix multiple test failures on mingw.
5365         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
5366         _snprintf, or snwprintf, not _snwprintf.
5367
5368 2010-04-10  Bruno Haible  <bruno@clisp.org>
5369
5370         write: Fix a C++ test error on mingw.
5371         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
5372
5373 2010-04-10  Bruno Haible  <bruno@clisp.org>
5374
5375         vasnprintf test: Reduce code duplication.
5376         * tests/test-vasnprintf.c (test_function): New function, extracted from
5377         test_vasnprintf.
5378         (test_vasnprintf, test_asnprintf): Invoke it.
5379
5380 2010-04-10  Bruno Haible  <bruno@clisp.org>
5381
5382         strnlen: Fix warning in C++ mode on MacOS X.
5383         * lib/string.in.h (strnlen): Use the modern idiom.
5384         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
5385         defining strnlen as a macro already in <config.h>.
5386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
5387         REPLACE_STRNLEN.
5388         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
5389         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5390
5391 2010-04-08  James Youngman  <jay@gnu.org>
5392
5393         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
5394         the example.
5395
5396 2010-04-09  Jim Meyering  <meyering@redhat.com>
5397
5398         maint.mk: print better diagnostic when there is no $(_hv_file)
5399         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
5400         announce that when $(_hv_file) (aka help-version) does not exist.
5401
5402         init.sh: run tr in the "C" locale to avoid multibyte interpretation
5403         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
5404         not try to interpret its random input bytes.  Jarno Rajahalme reported
5405         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
5406         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
5407         (mktempd_): Likewise, just in case.
5408
5409         ftruncate: add two years to projected module removal date: 2012
5410         * m4/ftruncate.m4: Adjust comments.
5411
5412         ftruncate: mark module as obsolete; even MinGW provides it, now
5413         * modules/ftruncate (Status): Obsolete.
5414         (Notice): Say that.
5415         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
5416         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
5417
5418 2010-04-08  Bruno Haible  <bruno@clisp.org>
5419
5420         Fix side effects from tests-related modules.
5421         * modules/dprintf-posix (Comment): New section.
5422         * modules/fprintf-posix (Comment): Likewise.
5423         * modules/obstack-printf-posix (Comment): Likewise.
5424         * modules/printf-posix (Comment): Likewise.
5425         * modules/snprintf-posix (Comment): Likewise.
5426         * modules/sprintf-posix (Comment): Likewise.
5427         * modules/vasnprintf-posix (Comment): Likewise.
5428         * modules/vasprintf-posix (Comment): Likewise.
5429         * modules/vdprintf-posix (Comment): Likewise.
5430         * modules/vfprintf-posix (Comment): Likewise.
5431         * modules/vprintf-posix (Comment): Likewise.
5432         * modules/vsnprintf-posix (Comment): Likewise.
5433         * modules/vsprintf-posix (Comment): Likewise.
5434         * modules/xprintf-posix (Comment): Likewise.
5435         * modules/xvasprintf-posix (Comment): Likewise.
5436         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
5437         * modules/floorf-tests (Depends-on): Likewise.
5438         * modules/round-tests (Depends-on): Likewise.
5439         * modules/roundf-tests (Depends-on): Likewise.
5440         * modules/trunc-tests (Depends-on): Likewise.
5441         * modules/truncf-tests (Depends-on): Likewise.
5442         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
5443         'fprintf-posix' module is not present.
5444         * tests/test-floorf2.c (check): Likewise.
5445         * tests/test-trunc2.c (check): Likewise.
5446         * tests/test-truncf2.c (check): Likewise.
5447         * tests/test-round2.c (equal): Likewise.
5448         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
5449
5450 2010-04-07  Karl Berry  <karl@gnu.org>
5451
5452         * config/srclist.txt,
5453         * config/srclistvars.sh,
5454         * config/srclist-update: doc fixes.
5455
5456 2010-04-07  Jim Meyering  <meyering@redhat.com>
5457
5458         maint.mk: add a PATH crosschecking syntax-check rule
5459         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
5460         Useful if you use a test like the one in help-version (coreutils,
5461         diffutils, grep, gzip) that ensures $(VERSION) matches what is
5462         printed by prog --version.
5463
5464 2010-04-06  Bruno Haible  <bruno@clisp.org>
5465
5466         Fix link error on mingw.
5467         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
5468         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
5469
5470 2010-04-06  Bruno Haible  <bruno@clisp.org>
5471
5472         Assume rmdir exists.
5473         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
5474
5475 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
5476
5477         doc: update users.txt
5478         * users.txt: Add gcal.
5479
5480 2010-04-06  Jim Meyering  <meyering@redhat.com>
5481
5482         init.sh: simply unset TMPDIR rather than risking env -i
5483         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
5484         although it probably works fine on all Unix-based systems, some
5485         systems (Cygwin?) cannot tolerate a totally cleared environment.
5486         Suggestion from Eric Blake.
5487
5488 2010-04-06  Jim Meyering  <meyering@redhat.com>
5489
5490         init.sh: portability fix: use env's POSIX-specified -i option not -u
5491         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
5492         than unportable env -u.  Solaris 5.11's env lacks support for -u.
5493
5494 2010-04-05  Bruno Haible  <bruno@clisp.org>
5495
5496         btowc: Work around Cygwin 1.7.2 bug.
5497         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
5498         does not map NUL to 0.
5499         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
5500
5501 2010-04-05  Bruno Haible  <bruno@clisp.org>
5502
5503         Make the multithread modules work on Cygwin 1.7.2.
5504         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
5505         imported symbols can be declared weak, so that it returns "no" on
5506         Cygwin 1.7.2.
5507
5508 2010-04-05  Bruno Haible  <bruno@clisp.org>
5509
5510         Use the module 'strncat'.
5511         * modules/unistr/u8-strncat (Depends-on): Add strncat.
5512
5513         Tests for module 'strncat'.
5514         * modules/strncat-tests: New file.
5515         * tests/test-strncat.c: New file.
5516
5517         New module 'strncat'.
5518         * lib/string.in.h (strncat): New declaration.
5519         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
5520         * m4/strncat.m4: New file, based on m4/memchr.m4.
5521         * modules/strncat: New file.
5522         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
5523         is declared.
5524         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
5525         REPLACE_STRNCAT.
5526         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
5527         REPLACE_STRNCAT.
5528         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
5529         module.
5530         * tests/test-string-c++.cc: Check signature of strncat.
5531
5532 2010-04-05  Jim Meyering  <meyering@redhat.com>
5533
5534         xstrtoumax-tests: convert to use init.sh
5535         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
5536         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
5537         Use Exit, not exit.
5538         Remove uses of $EXEEXT and "./" to run a program in the current dir.
5539
5540         xstrtoimax-tests: convert to use init.sh
5541         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
5542         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
5543         Use Exit, not exit.
5544         Remove uses of $EXEEXT and "./" to run a program in the current dir.
5545
5546 2010-04-05  Bruno Haible  <bruno@clisp.org>
5547
5548         sys_socket: Avoid #define replacements in C++ mode.
5549         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
5550         warning to the function if possible, rather than #defining the symbol
5551         to a dysfunctional alias.
5552
5553 2010-04-05  Bruno Haible  <bruno@clisp.org>
5554
5555         fseeko: Fix C++ test error on mingw.
5556         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
5557         gl_FUNC_FSEEKO.
5558         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
5559         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
5560         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
5561         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
5562
5563 2010-04-05  Bruno Haible  <bruno@clisp.org>
5564
5565         duplocale: Improve test output.
5566         * tests/test-duplocale.c (main): Print reason for skipped test.
5567
5568 2010-04-05  Bruno Haible  <bruno@clisp.org>
5569
5570         Assume rmdir exists.
5571         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
5572         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
5573
5574 2010-04-05  Bruno Haible  <bruno@clisp.org>
5575
5576         Fix link error on Solaris 8 with cc.
5577         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
5578
5579 2010-04-05  Bruno Haible  <bruno@clisp.org>
5580
5581         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
5582         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
5583
5584 2010-04-05  Bruno Haible  <bruno@clisp.org>
5585
5586         vasprintf: Update documentation.
5587         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
5588
5589 2010-04-05  Bruno Haible  <bruno@clisp.org>
5590
5591         ptsname: Improve test.
5592         * tests/test-ptsname.c (main): Also try the various master names of BSD
5593         systems.
5594
5595 2010-04-05  Bruno Haible  <bruno@clisp.org>
5596
5597         memchr: Avoid a possible C++ test error.
5598         * lib/string.in.h (memchr): Provide declaration if function is missing.
5599         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
5600         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
5601         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
5602         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
5603
5604 2010-04-05  Bruno Haible  <bruno@clisp.org>
5605
5606         strtok_r: Improve idiom.
5607         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
5608         AC_LIBOBJ is used.
5609
5610 2010-04-05  Bruno Haible  <bruno@clisp.org>
5611
5612         strdup: Improve idiom.
5613         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
5614         AC_LIBOBJ is used.
5615         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
5616         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
5617         when AC_LIBOBJ is used.
5618
5619 2010-04-05  Bruno Haible  <bruno@clisp.org>
5620
5621         mbsinit, mbrtowc, wcrtomb: Improve idioms.
5622         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
5623         don't set REPLACE_MBSINIT to 1.
5624         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
5625         don't set REPLACE_MBRTOWC to 1.
5626         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
5627         exist, don't set REPLACE_MBSRTOWCS to 1.
5628         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
5629         exist, don't set REPLACE_MBSNRTOWCS to 1.
5630         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
5631         don't set REPLACE_WCRTOMB to 1.
5632         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
5633         exist, don't set REPLACE_WCSRTOMBS to 1.
5634         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
5635         exist, don't set REPLACE_WCSNRTOMBS to 1.
5636
5637 2010-04-05  Bruno Haible  <bruno@clisp.org>
5638
5639         ldexpl: Improve idiom.
5640         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
5641         make sure to set HAVE_DECL_LDEXPL to 0.
5642
5643 2010-04-05  Jim Meyering  <meyering@redhat.com>
5644
5645         xstrtol-tests: convert to use init.sh
5646         * modules/xstrtol-tests (Files): Add tests/init.sh.
5647         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
5648         Use Exit, not exit.
5649         Remove uses of $EXEEXT and "./" to run a program in the current dir.
5650
5651         atexit-tests: convert to use init.sh
5652         * modules/atexit-tests (Files): Add tests/init.sh.
5653         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
5654         Use Exit, not exit.
5655         Remove uses of $EXEEXT and "./" to run a program in the current dir.
5656
5657         init.sh: fix typo
5658         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
5659
5660         init.sh: make it easier for a test script to write to the tty, ...
5661         when using automake's parallel-tests mode.
5662         * tests/init.sh (stderr_fileno_): Define overridable variable.
5663         (warn_): New function, to use it.
5664         (fail_, skip_, framework_failure_): Use warn_.
5665
5666 2010-04-04  Bruno Haible  <bruno@clisp.org>
5667
5668         btowc: Avoid warning.
5669         * lib/btowc.c: Include <stdlib.h>.
5670         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
5671
5672 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
5673             Bruno Haible  <bruno@clisp.org>
5674
5675         wchar: Port to NetBSD 1.5.
5676         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
5677         * lib/wctype.in.h (WEOF): Likewise.
5678
5679 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
5680             Bruno Haible  <bruno@clisp.org>
5681
5682         Port extended stdio to NetBSD 1.5.
5683         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
5684         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
5685         older.
5686
5687 2010-04-04  Bruno Haible  <bruno@clisp.org>
5688
5689         string: Remove unused substitution.
5690         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
5691         HAVE_DECL_STRERROR.
5692         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
5693
5694 2010-04-04  Bruno Haible  <bruno@clisp.org>
5695
5696         strtod: Avoid a possible C++ test error.
5697         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
5698         set REPLACE_STRTOD.
5699
5700 2010-04-04  Bruno Haible  <bruno@clisp.org>
5701
5702         strerror: Update documentation.
5703         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
5704
5705 2010-04-04  Bruno Haible  <bruno@clisp.org>
5706
5707         stdio: Fix some C++ test errors on Solaris 8 with GCC.
5708         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
5709         _GL_CXXALIAS_SYS_CAST.
5710
5711 2010-04-04  Bruno Haible  <bruno@clisp.org>
5712
5713         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
5714         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
5715         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
5716         REPLACE_FREXPL to 1.
5717         * doc/posix-functions/frexpl.texi: Update documentation.
5718
5719 2010-04-04  Bruno Haible  <bruno@clisp.org>
5720
5721         math: Fix some C++ test errors on Solaris 8 and Cygwin.
5722         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
5723
5724 2010-04-04  Bruno Haible  <bruno@clisp.org>
5725
5726         Implement nanosleep for native Windows.
5727         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
5728
5729 2010-04-04  Bruno Haible  <bruno@clisp.org>
5730
5731         math: Fix some C++ test errors on Solaris 8.
5732         * lib/math.in.h (truncf, trunc): Use simpler idiom.
5733
5734 2010-04-04  Bruno Haible  <bruno@clisp.org>
5735
5736         math: Fix some C++ test errors on Cygwin.
5737         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
5738         truncl): Provide declaration if the system does not have it.
5739         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
5740         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
5741         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
5742         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
5743         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
5744         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
5745         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
5746         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
5747         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
5748         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
5749         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
5750         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
5751         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
5752         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
5753         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
5754         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
5755         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
5756         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
5757         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
5758         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
5759         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
5760         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
5761
5762 2010-04-04  Bruno Haible  <bruno@clisp.org>
5763
5764         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
5765         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
5766         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
5767         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
5768         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
5769         * m4/isinf.m4 (gl_ISINF): Likewise.
5770         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
5771
5772 2010-04-04  Bruno Haible  <bruno@clisp.org>
5773
5774         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
5775         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
5776
5777 2010-04-04  Bruno Haible  <bruno@clisp.org>
5778
5779         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
5780         * modules/tmpfile (configure.ac): Update.
5781
5782         tmpfile: Fix C++ test error on mingw.
5783         * lib/stdio.in.h (tmpfile): New declaration.
5784         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
5785         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
5786         * modules/tmpfile (Depends-on): Add stdio.
5787         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
5788         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
5789         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
5790         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
5791         REPLACE_TMPFILE.
5792         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
5793
5794 2010-04-04  Bruno Haible  <bruno@clisp.org>
5795
5796         ioctl: Fix C++ test error on mingw.
5797         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
5798         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
5799         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
5800
5801 2010-04-03  Bruno Haible  <bruno@clisp.org>
5802
5803         wcwidth: Fix C++ test error on mingw.
5804         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
5805         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
5806         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
5807
5808 2010-04-03  Bruno Haible  <bruno@clisp.org>
5809
5810         nanosleep: Fix C++ test error on mingw.
5811         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
5812         * lib/time.in.h (nanosleep): Use modern idiom.
5813         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
5814         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
5815         REPLACE_NANOSLEEP to 1.
5816         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
5817         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
5818
5819 2010-04-03  Bruno Haible  <bruno@clisp.org>
5820
5821         strptime: Fix C++ test error on mingw.
5822         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
5823         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
5824         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
5825         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
5826         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
5827         not REPLACE_STRPTIME.
5828         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
5829         REPLACE_STRPTIME.
5830
5831 2010-04-03  Bruno Haible  <bruno@clisp.org>
5832
5833         timegm: Fix C++ test error on mingw.
5834         * lib/time.in.h (timegm): Use modern idiom.
5835         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
5836         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
5837         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
5838         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
5839
5840 2010-04-03  Bruno Haible  <bruno@clisp.org>
5841
5842         timegm: Assume declaration if function exists.
5843         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
5844         if it exists. Don't clobber ac_cv_func_timegm.
5845
5846 2010-04-03  Bruno Haible  <bruno@clisp.org>
5847
5848         time_r: Fix C++ test error on mingw.
5849         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
5850         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
5851         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
5852         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
5853         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
5854
5855 2010-04-03  Bruno Haible  <bruno@clisp.org>
5856
5857         time_r: Minor updates.
5858         * modules/time_r (Description): Mention the provided functions.
5859         * lib/time_r.c: Don't include <string.h>.
5860         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
5861         * doc/posix-functions/localtime_r.texi: Likewise.
5862
5863 2010-04-03  Bruno Haible  <bruno@clisp.org>
5864
5865         time: Fix regression introduced on 2010-03-08.
5866         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
5867         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
5868
5869 2010-04-03  Jim Meyering  <meyering@redhat.com>
5870
5871         maint.mk: don't silently disable project-specific syntax-check rules
5872         * top/maint.mk (_prohibit_regexp): Define, to help people realize
5873         that they need to convert their project-specific syntax-check rules
5874         to use the new _sc_search_regexp.
5875
5876 2010-04-03  Bruno Haible  <bruno@clisp.org>
5877
5878         fchdir: Fix regression introduced on 2010-03-08.
5879         * lib/unistd.in.h (fchdir): Fix declaration.
5880         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
5881         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
5882         REPLACE_FCHDIR.
5883         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
5884         REPLACE_FCHDIR.
5885
5886 2010-04-03  Bruno Haible  <bruno@clisp.org>
5887
5888         getpagesize: Fix C++ test error on mingw.
5889         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
5890         system does not declare the function.
5891         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
5892         declared.
5893         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
5894         HAVE_DECL_GETPAGESIZE.
5895         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
5896
5897 2010-04-03  Bruno Haible  <bruno@clisp.org>
5898
5899         stdio: Make C++ tests work on mingw.
5900         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
5901         does not declare the function.
5902
5903 2010-04-03  Bruno Haible  <bruno@clisp.org>
5904
5905         ftello: Fix C++ test error on mingw.
5906         * lib/stdio.in.h (ftello): Use modern idiom.
5907         * lib/ftello.c (ftello): Renamed from rpl_ftello.
5908         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
5909         is missing and that it needs to be replaced.
5910         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
5911         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
5912         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
5913
5914 2010-04-03  Bruno Haible  <bruno@clisp.org>
5915
5916         fseeko: Fix C++ test error on mingw.
5917         * lib/stdio.in.h (fseeko): Use modern idiom.
5918         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
5919         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
5920         is missing and that it needs to be replaced.
5921         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
5922         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
5923         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
5924
5925 2010-04-03  Bruno Haible  <bruno@clisp.org>
5926
5927         mkstemp: Fix C++ test error on mingw.
5928         * lib/stdlib.in.h (mkstemp): Use modern idiom.
5929         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
5930         function is missing and that it needs to be replaced.
5931         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
5932         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
5933
5934 2010-04-03  Bruno Haible  <bruno@clisp.org>
5935
5936         stpncpy: Fix C++ test error on mingw.
5937         * lib/string.in.h (stpncpy): Use modern idiom.
5938         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
5939         function is missing and that it needs to be replaced.
5940         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
5941         REPLACE_STPNCPY.
5942         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
5943
5944 2010-04-03  Bruno Haible  <bruno@clisp.org>
5945
5946         sys_stat: Fix C++ test error on mingw.
5947         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
5948         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
5949
5950 2010-04-03  Bruno Haible  <bruno@clisp.org>
5951
5952         pty: Update doc.
5953         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
5954
5955 2010-04-03  Bruno Haible  <bruno@clisp.org>
5956
5957         unistd: Fix C++ test error on mingw.
5958         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
5959
5960 2010-04-03  Bruno Haible  <bruno@clisp.org>
5961
5962         Update doc regarding mingw.
5963         * doc/glibc-functions/openpty.texi: Update regarding mingw.
5964         * doc/glibc-functions/login_tty.texi: Likewise.
5965         * doc/glibc-functions/forkpty.texi: Likewise.
5966
5967 2010-04-03  Bruno Haible  <bruno@clisp.org>
5968
5969         stdlib: Avoid compilation failure of c-strtold on mingw.
5970         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
5971
5972 2010-04-03  Bruno Haible  <bruno@clisp.org>
5973
5974         locale: Make C++ tests work on Cygwin and mingw.
5975         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
5976         cannot provide the function.
5977         Reported by Simon Josefsson.
5978
5979 2010-04-03  Bruno Haible  <bruno@clisp.org>
5980
5981         localename: Port to MacOS X 10.6.
5982         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
5983         memory layout of the locales in MacOS X 10.6 as well.
5984         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
5985
5986 2010-04-02  Bruno Haible  <bruno@clisp.org>
5987
5988         gnulib-tool: Ensure that long-running tests are executed last.
5989         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
5990         running tests after the one for the other tests.
5991
5992 2010-04-02  Bruno Haible  <bruno@clisp.org>
5993
5994         gnulib-tool: Ensure the tests in the main directory are executed first.
5995         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
5996         start with the current directory.
5997
5998 2010-04-02  Bruno Haible  <bruno@clisp.org>
5999
6000         Tests for module 'havelib', moved here from GNU gettext.
6001         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
6002         modifications.
6003         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
6004         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
6005         with modifications.
6006         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
6007         modifications.
6008         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
6009         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
6010         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
6011         with modifications.
6012         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
6013         with modifications.
6014         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
6015         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
6016         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
6017         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
6018         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
6019         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
6020         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
6021         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
6022         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
6023         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
6024         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
6025         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
6026         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
6027         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
6028         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
6029         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
6030         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
6031         with modifications.
6032         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
6033         with modifications.
6034         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
6035         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
6036         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
6037         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
6038         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
6039         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
6040         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
6041         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
6042         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
6043         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
6044         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
6045         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
6046         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
6047         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
6048         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
6049         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
6050         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
6051         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
6052         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
6053         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
6054         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
6055         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
6056         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
6057         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
6058         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
6059         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
6060         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
6061         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
6062         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
6063         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
6064         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
6065         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
6066         * tests/havelib/rpathx/rpathx.c: New file, from
6067         gettext/autoconf-lib-link.
6068         * tests/havelib/rpathx/Makefile.am: New file, from
6069         gettext/autoconf-lib-link.
6070         * tests/havelib/rpathx/configure.ac: New file, from
6071         gettext/autoconf-lib-link with modifications.
6072         * tests/havelib/rpathy/rpathy.c: New file, from
6073         gettext/autoconf-lib-link.
6074         * tests/havelib/rpathy/Makefile.am: New file, from
6075         gettext/autoconf-lib-link.
6076         * tests/havelib/rpathy/configure.ac: New file, from
6077         gettext/autoconf-lib-link with modifications.
6078         * tests/havelib/rpathz/rpathz.c: New file, from
6079         gettext/autoconf-lib-link.
6080         * tests/havelib/rpathz/Makefile.am: New file, from
6081         gettext/autoconf-lib-link.
6082         * tests/havelib/rpathz/configure.ac: New file, from
6083         gettext/autoconf-lib-link with modifications.
6084         * tests/havelib/rpathlx/usex.c: New file, from
6085         gettext/autoconf-lib-link.
6086         * tests/havelib/rpathlx/Makefile.am: New file, from
6087         gettext/autoconf-lib-link.
6088         * tests/havelib/rpathlx/configure.ac: New file, from
6089         gettext/autoconf-lib-link with modifications.
6090         * tests/havelib/rpathly/usey.c: New file, from
6091         gettext/autoconf-lib-link.
6092         * tests/havelib/rpathly/Makefile.am: New file, from
6093         gettext/autoconf-lib-link.
6094         * tests/havelib/rpathly/configure.ac: New file, from
6095         gettext/autoconf-lib-link with modifications.
6096         * tests/havelib/rpathlz/usez.c: New file, from
6097         gettext/autoconf-lib-link.
6098         * tests/havelib/rpathlz/Makefile.am: New file, from
6099         gettext/autoconf-lib-link.
6100         * tests/havelib/rpathlz/configure.ac: New file, from
6101         gettext/autoconf-lib-link with modifications.
6102         * tests/havelib/rpathlyx/usey.c: New file, from
6103         gettext/autoconf-lib-link.
6104         * tests/havelib/rpathlyx/Makefile.am: New file, from
6105         gettext/autoconf-lib-link.
6106         * tests/havelib/rpathlyx/configure.ac: New file, from
6107         gettext/autoconf-lib-link with modifications.
6108         * tests/havelib/rpathlzyx/usez.c: New file, from
6109         gettext/autoconf-lib-link.
6110         * tests/havelib/rpathlzyx/Makefile.am: New file, from
6111         gettext/autoconf-lib-link.
6112         * tests/havelib/rpathlzyx/configure.ac: New file, from
6113         gettext/autoconf-lib-link with modifications.
6114         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
6115         with modifications.
6116
6117 2010-04-02  Bruno Haible  <bruno@clisp.org>
6118
6119         gnulib-tool: Create distributed built sources also for the tests.
6120         * gnulib-tool (func_create_testdir): Also generate distributed built
6121         sources in the tests directory.
6122
6123 2010-04-02  Bruno Haible  <bruno@clisp.org>
6124
6125         gnulib-tool: Obey user's environment variables.
6126         * gnulib-tool (func_create_testdir): When creating built sources,
6127         respect the environment variables for autoconf, automake, etc. given by
6128         the user.
6129
6130 2010-04-02  Bruno Haible  <bruno@clisp.org>
6131
6132         gnulib-tool: Provide the value of --m4-base to modules.
6133         * gnulib-tool (func_import, func_create_testdir): Emit a definition
6134         of gl_m4_base.
6135
6136 2010-04-02  Eric Blake  <eblake@redhat.com>
6137
6138         maint.mk: fix some fallout
6139         * NEWS: Document the incompatible change, and its effect on cfg.mk.
6140         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
6141
6142 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
6143
6144         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
6145         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
6146         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
6147         (sc_cast_of_x_alloc_return_value): Likewise.
6148         (sc_cast_of_alloca_return_value): Likewise.
6149         (sc_space_tab): Likewise.
6150         (sc_prohibit_atoi_atof): Likewise.
6151         (sc_prohibit_magic_number_exit): Likewise.
6152         (sc_error_exit_success): Likewise.
6153         (sc_file_system): Likewise.
6154         (sc_prohibit_have_config_h): Likewise.
6155         (sc_require_config_h): Likewise.
6156         (sc_prohibit_HAVE_MBRTOWC): Likewise.
6157         (sc_obsolete_symbols): Likewise.
6158         (sc_changelog): Likewise.
6159         (sc_program_name): Likewise.
6160         (sc_the_the): Likewise.
6161         (sc_trailing_blank): Likewise.
6162         (sc_two_space_separator_in_usage): Likewise.
6163         (sc_useless_cpp_parens): Likewise.
6164         (sc_GPL_version): Likewise.
6165         (sc_GFDL_version): Likewise.
6166         (sc_texinfo_acronym): Likewise.
6167         (sc_prohibit_cvs_keyword): Likewise.
6168         (sc_prohibit_stat_st_blocks): Likewise.
6169         (sc_prohibit_S_IS_definition): Likewise.
6170         (sc_redundant_const): Likewise.
6171         (sc_makefile_TAB_only_indentation): Likewise.
6172         (sc_m4_quote_check): Likewise.
6173         (sc_makefile_path_separator_check): Likewise.
6174         (sc_copyright_check): Likewise.
6175         (sc_Wundef_boolean): Likewise.
6176         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
6177
6178         maint.mk: match 0 or more whitespace-before-function-call '('
6179         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
6180         that have zero or two-and-more spaces between the function name
6181         and the open parenthesis.
6182         (sc_error_message_warn_fatal): Likewise.
6183         (sc_error_message_uppercase): Likewise.
6184         (sc_error_message_period): Likewise.
6185
6186 2010-03-31  Eric Blake  <eblake@redhat.com>
6187
6188         maint.mk: check for [ as well as test
6189         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
6190         Based on a libvirt report by Matthias Bolte.
6191
6192         gnumakefile: don't squelch _version output
6193         * top/GNUmakefile (_version): Create one-shot dependency rather
6194         than using $(shell) when version must be regenerated.
6195         (_autoreconf): Run verbosely, by default.
6196
6197         sys_time: avoid compiler warnings
6198         * lib/sys_time.in.h (includes): Ensure gcc pragma is
6199         unconditional, fixing regression from 2010-03-29.
6200         Reported by Simon Josefsson.
6201
6202 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
6203
6204         maint.mk: s/_header_without_use/_sc_header_without_use/
6205         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
6206         (sc_prohibit_assert_without_use): Use the new name.
6207         (sc_prohibit_close_stream_without_use): Likewise.
6208         (sc_prohibit_getopt_without_use): Likewise.
6209         (sc_prohibit_quotearg_without_use): Likewise.
6210         (sc_prohibit_quote_without_use): Likewise.
6211         (sc_prohibit_long_options_without_use): Likewise.
6212         (sc_prohibit_inttostr_without_use): Likewise.
6213         (sc_prohibit_ignore_value_without_use): Likewise.
6214         (sc_prohibit_error_without_use): Likewise.
6215         (sc_prohibit_xalloc_without_use): Likewise.
6216         (sc_prohibit_hash_without_use): Likewise.
6217         (sc_prohibit_hash_pjw_without_use): Likewise.
6218         (sc_prohibit_safe_read_without_use): Likewise.
6219         (sc_prohibit_argmatch_without_use): Likewise.
6220         (sc_prohibit_canonicalize_without_use): Likewise.
6221         (sc_prohibit_root_dev_ino_without_use): Likewise.
6222         (sc_prohibit_openat_without_use): Likewise.
6223         (sc_prohibit_c_ctype_without_use): Likewise.
6224         (sc_prohibit_signal_without_use): Likewise.
6225         (sc_prohibit_intprops_without_use): Likewise.
6226
6227 2010-03-30  Eric Blake  <eblake@redhat.com>
6228
6229         maint: improve module indicators
6230         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
6231         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
6232         columns, and avoid extra macro expansion.
6233
6234         fdopendir: work around FreeBSD bug
6235         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
6236         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
6237         * modules/dirent (Makefile.am): Substitute it.
6238         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
6239         declaration.
6240         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
6241         fix.
6242         Reported by Christian Weisgerber <naddy@mips.inka.de>.
6243
6244 2010-03-29  Bruno Haible  <bruno@clisp.org>
6245
6246         Emit #pragma system_header after the inclusion guard, not before.
6247         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
6248         guard that spans the entire file, not before. This enables an
6249         optimization in GCC's preprocessor.
6250         * lib/ctype.in.h: Likewise.
6251         * lib/dirent.in.h: Likewise.
6252         * lib/errno.in.h: Likewise.
6253         * lib/float.in.h: Likewise.
6254         * lib/getopt.in.h: Likewise.
6255         * lib/iconv.in.h: Likewise.
6256         * lib/langinfo.in.h: Likewise.
6257         * lib/locale.in.h: Likewise.
6258         * lib/math.in.h: Likewise.
6259         * lib/netdb.in.h: Likewise.
6260         * lib/netinet_in.in.h: Likewise.
6261         * lib/pty.in.h: Likewise.
6262         * lib/sched.in.h: Likewise.
6263         * lib/se-selinux.in.h: Likewise.
6264         * lib/search.in.h: Likewise.
6265         * lib/spawn.in.h: Likewise.
6266         * lib/stdarg.in.h: Likewise.
6267         * lib/stdint.in.h: Likewise.
6268         * lib/string.in.h: Likewise.
6269         * lib/strings.in.h: Likewise.
6270         * lib/sys_file.in.h: Likewise.
6271         * lib/sys_ioctl.in.h: Likewise.
6272         * lib/sys_time.in.h: Likewise.
6273         * lib/sys_times.in.h: Likewise.
6274         * lib/sys_utsname.in.h: Likewise.
6275         * lib/sys_wait.in.h: Likewise.
6276         * lib/sysexits.in.h: Likewise.
6277         * lib/wctype.in.h: Likewise.
6278
6279 2010-03-28  James Youngman  <jay@gnu.org>
6280
6281         save-cwd: don't leak a file descriptor when the caller execs.
6282         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
6283         saved file descriptor.
6284         * modules/save-cwd (Depends-on): Depend on cloexec.
6285
6286 2010-03-29  Bruno Haible  <bruno@clisp.org>
6287
6288         Remove vestiges of fts-lgpl module.
6289         * lib/fts_.h: Assume GNULIB_FTS is 1.
6290         * lib/fts.c: Likewise.
6291         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
6292
6293 2010-03-28  Bruno Haible  <bruno@clisp.org>
6294
6295         Fix definition of tests witness macro.
6296         * gnulib-tool (func_import): Fix definition of witness macro.
6297
6298 2010-03-28  Bruno Haible  <bruno@clisp.org>
6299
6300         Fix ioctl's protoype on glibc systems.
6301         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
6302         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
6303         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
6304         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
6305         signature. If not, arrange to replace the ioctl function.
6306         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
6307         REPLACE_IOCTL.
6308         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
6309         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
6310         Reported by Ludovic Courtès <ludo@gnu.org>.
6311
6312 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
6313
6314         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
6315         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
6316         made it so grep -r --include=GLOB* ... did not work.
6317
6318 2010-03-26  Jim Meyering  <meyering@redhat.com>
6319             Eric Blake  <eblake@redhat.com>
6320
6321         maint.mk: prohibit use of test's -o and -a operators
6322         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
6323
6324 2010-03-28  Bruno Haible  <bruno@clisp.org>
6325
6326         Remove unused GNULIB_XYZ macro definitions.
6327         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
6328         invocation.
6329
6330 2010-03-28  Bruno Haible  <bruno@clisp.org>
6331
6332         Mark privileged tests modules.
6333         * modules/idpriv-drop-tests (Status): New section.
6334         * modules/idpriv-droptemp-tests (Status): New section.
6335
6336 2010-03-28  Bruno Haible  <bruno@clisp.org>
6337
6338         Split C++ tests into separate tests modules.
6339         * modules/dirent-c++-tests: New file, extracted from
6340         modules/dirent-tests.
6341         * modules/dirent-tests: Depend on it.
6342         * modules/fcntl-h-c++-tests: New file, extracted from
6343         modules/fcntl-h-tests.
6344         * modules/fcntl-h-tests: Depend on it.
6345         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
6346         * modules/glob-tests: Depend on it.
6347         * modules/iconv-h-c++-tests: New file, extracted from
6348         modules/iconv-h-tests.
6349         * modules/iconv-h-tests: Depend on it.
6350         * modules/langinfo-c++-tests: New file, extracted from
6351         modules/langinfo-tests.
6352         * modules/langinfo-tests: Depend on it.
6353         * modules/locale-c++-tests: New file, extracted from
6354         modules/locale-tests.
6355         * modules/locale-tests: Depend on it.
6356         * modules/math-c++-tests: New file, extracted from modules/math-tests.
6357         * modules/math-tests: Depend on it.
6358         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
6359         * modules/pty-tests: Depend on it.
6360         * modules/search-c++-tests: New file, extracted from
6361         modules/search-tests.
6362         * modules/search-tests: Depend on it.
6363         * modules/signal-c++-tests: New file, extracted from
6364         modules/signal-tests.
6365         * modules/signal-tests: Depend on it.
6366         * modules/spawn-c++-tests: New file, extracted from
6367         modules/spawn-tests.
6368         * modules/spawn-tests: Depend on it.
6369         * modules/stdio-c++-tests: New file, extracted from
6370         modules/stdio-tests.
6371         * modules/stdio-tests: Depend on it.
6372         * modules/stdlib-c++-tests: New file, extracted from
6373         modules/stdlib-tests.
6374         * modules/stdlib-tests: Depend on it.
6375         * modules/string-c++-tests: New file, extracted from
6376         modules/string-tests.
6377         * modules/string-tests: Depend on it.
6378         * modules/sys_ioctl-c++-tests: New file, extracted from
6379         modules/sys_ioctl-tests.
6380         * modules/sys_ioctl-tests: Depend on it.
6381         * modules/sys_select-c++-tests: New file, extracted from
6382         modules/sys_select-tests.
6383         * modules/sys_select-tests: Depend on it.
6384         * modules/sys_socket-c++-tests: New file, extracted from
6385         modules/sys_socket-tests.
6386         * modules/sys_socket-tests: Depend on it.
6387         * modules/sys_stat-c++-tests: New file, extracted from
6388         modules/sys_stat-tests.
6389         * modules/sys_stat-tests: Depend on it.
6390         * modules/sys_time-c++-tests: New file, extracted from
6391         modules/sys_time-tests.
6392         * modules/sys_time-tests: Depend on it.
6393         * modules/time-c++-tests: New file, extracted from modules/time-tests.
6394         * modules/time-tests: Depend on it.
6395         * modules/unistd-c++-tests: New file, extracted from
6396         modules/unistd-tests.
6397         * modules/unistd-tests: Depend on it.
6398         * modules/wchar-c++-tests: New file, extracted from
6399         modules/wchar-tests.
6400         * modules/wchar-tests: Depend on it.
6401         * modules/wctype-c++-tests: New file, extracted from
6402         modules/wctype-tests.
6403         * modules/wctype-tests: Depend on it.
6404         Reported by Simon Josefsson.
6405
6406 2010-03-28  Bruno Haible  <bruno@clisp.org>
6407
6408         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
6409         * gnulib-tool (func_exists_module): New function, extracted from
6410         func_verify_module.
6411         (func_verify_module): Use it.
6412         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
6413         'foo' only if 'foo' exists.
6414         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
6415         module.
6416
6417 2010-03-28  Bruno Haible  <bruno@clisp.org>
6418
6419         gnulib-tool: Add support for special categories of tests.
6420         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
6421         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
6422         (func_usage): Document them.
6423         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
6424         inc_unportable_tests, inc_all_tests): New variables.
6425         (func_acceptable): Consider these variables.
6426         (func_modules_transitive_closure): Make it work when the 'Status' field
6427         consists of multiple words.
6428         (func_import): Store and restore the values of inc_cxx_tests,
6429         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
6430         inc_all_tests in gnulib-comp.m4.
6431         (func_create_testdir): Set inc_all_tests to true.
6432         * doc/gnulib.texi (Extra tests modules): New section.
6433         Suggested by Jim Meyering.
6434
6435 2010-03-28  Bruno Haible  <bruno@clisp.org>
6436
6437         ansi-c++-opt: Allow turning off the C++ build by default.
6438         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
6439         gl_CXX_CHOICE_DEFAULT_NO is defined.
6440         Requested by Eric Blake.
6441
6442 2010-03-28  Bruno Haible  <bruno@clisp.org>
6443
6444         unistd: Avoid #define replacements in C++ mode.
6445         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
6446         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
6447         setsockopt, shutdown, select): In C++, attach a warning to the function
6448         if possible, rather than #defining the symbol to a dysfunctional alias.
6449         Reported by John W. Eaton <jwe@gnu.org>.
6450
6451 2010-03-28  Bruno Haible  <bruno@clisp.org>
6452
6453         Fix link errors on mingw.
6454         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
6455         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
6456         $(LIBSOCKET).
6457         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
6458         $(LIBSOCKET).
6459
6460 2010-03-28  Bruno Haible  <bruno@clisp.org>
6461             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
6462
6463         lib-ignore: Determine different options for different compilers.
6464         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
6465         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
6466         Add comments.
6467         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
6468         * NEWS: Mention the change.
6469
6470 2010-03-27  Bruno Haible  <bruno@clisp.org>
6471
6472         Remove unused GNULIB_XYZ macro definitions.
6473         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
6474         * modules/fseek (configure.ac): Likewise.
6475         * modules/ioctl (configure.ac): Likewise.
6476         * modules/open (configure.ac): Likewise.
6477         * modules/stdlib-safer (configure.ac): Likewise.
6478
6479 2010-03-27  Bruno Haible  <bruno@clisp.org>
6480
6481         Add a remark about certain modules.
6482         * modules/malloc (Comment): New section.
6483         * modules/realloc (Comment): Likewise.
6484         * modules/sigpipe (Comment): Likewise.
6485
6486 2010-03-27  Bruno Haible  <bruno@clisp.org>
6487
6488         Resolve conflict between the two kinds of module indicators.
6489         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
6490         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
6491         * modules/canonicalize (configure.ac): Invoke
6492         gl_MODULE_INDICATOR_FOR_TESTS.
6493         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
6494         GNULIB_XYZ.
6495         * tests/test-dirent-c++.cc: Likewise.
6496         * tests/test-dirent-safer.c: Likewise.
6497         * tests/test-dup2.c: Likewise.
6498         * tests/test-fchdir.c: Likewise.
6499         * tests/test-fcntl-h-c++.cc: Likewise.
6500         * tests/test-getopt.c: Likewise.
6501         * tests/test-getopt.h: Likewise.
6502         * tests/test-langinfo-c++.cc: Likewise.
6503         * tests/test-locale-c++.cc: Likewise.
6504         * tests/test-math-c++.cc: Likewise.
6505         * tests/test-pty-c++.cc: Likewise.
6506         * tests/test-search-c++.cc: Likewise.
6507         * tests/test-signal-c++.cc: Likewise.
6508         * tests/test-spawn-c++.cc: Likewise.
6509         * tests/test-stdio-c++.cc: Likewise.
6510         * tests/test-stdlib-c++.cc: Likewise.
6511         * tests/test-string-c++.cc: Likewise.
6512         * tests/test-sys_ioctl-c++.cc: Likewise.
6513         * tests/test-sys_select-c++.cc: Likewise.
6514         * tests/test-sys_socket-c++.cc: Likewise.
6515         * tests/test-sys_stat-c++.cc: Likewise.
6516         * tests/test-sys_time-c++.cc: Likewise.
6517         * tests/test-time-c++.cc: Likewise.
6518         * tests/test-unistd-c++.cc: Likewise.
6519         * tests/test-wchar-c++.cc: Likewise.
6520         * tests/uninorm/test-u8-nfc.c: Likewise.
6521         * tests/uninorm/test-u8-nfd.c: Likewise.
6522         * tests/uninorm/test-u8-nfkc.c: Likewise.
6523         * tests/uninorm/test-u8-nfkd.c: Likewise.
6524         * tests/uninorm/test-u16-nfc.c: Likewise.
6525         * tests/uninorm/test-u16-nfd.c: Likewise.
6526         * tests/uninorm/test-u16-nfkc.c: Likewise.
6527         * tests/uninorm/test-u16-nfkd.c: Likewise.
6528         * tests/uninorm/test-u32-nfc.c: Likewise.
6529         * tests/uninorm/test-u32-nfc-big.c: Likewise.
6530         * tests/uninorm/test-u32-nfd.c: Likewise.
6531         * tests/uninorm/test-u32-nfd-big.c: Likewise.
6532         * tests/uninorm/test-u32-nfkc.c: Likewise.
6533         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
6534         * tests/uninorm/test-u32-nfkd.c: Likewise.
6535         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
6536         * tests/uninorm/test-u32-normalize-big.c: Likewise.
6537
6538 2010-03-27  Bruno Haible  <bruno@clisp.org>
6539
6540         Distinguish two kinds of module indicators.
6541         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
6542         gl_MODULE_INDICATOR.
6543         (gl_MODULE_INDICATOR): New macro.
6544         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
6545         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
6546         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
6547         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
6548         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
6549         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
6550         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
6551         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
6552         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
6553         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
6554         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
6555         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
6556         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
6557         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
6558         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
6559         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
6560         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
6561         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
6562         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
6563         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
6564         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
6565         * modules/cloexec (configure.ac): Likewise.
6566         * modules/getopt-gnu (configure.ac): Likewise.
6567         * modules/uninorm/u8-normalize (configure.ac): Likewise.
6568         * modules/uninorm/u16-normalize (configure.ac): Likewise.
6569         * modules/uninorm/u32-normalize (configure.ac): Likewise.
6570         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
6571
6572 2010-03-27  Bruno Haible  <bruno@clisp.org>
6573
6574         New module description field 'Comment'.
6575         * gnulib-tool: New option --extract-comment.
6576         (func_usage): Document it.
6577         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
6578         (func_get_comment): New function.
6579         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
6580
6581 2010-03-27  Bruno Haible  <bruno@clisp.org>
6582
6583         Addendum to 2010-02-07 commit.
6584         * gnulib-tool (func_usage): Document --extract-applicability option.
6585
6586 2010-03-27  Bruno Haible  <bruno@clisp.org>
6587
6588         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
6589         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
6590         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
6591         rather than link errors.
6592
6593 2010-03-27  Bruno Haible  <bruno@clisp.org>
6594
6595         Avoid side effects from tests-related modules on the compilation of lib.
6596         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
6597         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
6598         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
6599         parameter. Emit into AM_CPPFLAGS a definition of the designated C
6600         macro.
6601         (func_import): Define a witness macro. Assign it a value that depends
6602         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
6603         tests-related modules.
6604         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
6605         Reported by Jim Meyering.
6606
6607 2010-03-27  Bruno Haible  <bruno@clisp.org>
6608
6609         Factorize common .m4 code.
6610         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
6611         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
6612         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
6613         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
6614         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
6615         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
6616         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
6617         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
6618         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
6619         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
6620         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
6621         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
6622         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
6623         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
6624         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
6625         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
6626         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
6627         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
6628         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
6629         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
6630         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
6631         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
6632         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
6633         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
6634         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
6635         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
6636         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
6637         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
6638         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
6639         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
6640         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
6641         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
6642
6643 2010-03-27  Bruno Haible  <bruno@clisp.org>
6644
6645         Fix a compilation error on Cygwin with g++ >= 4.3.
6646         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
6647         if it is undefined or if we alias it to chmod.
6648         (lstat): Don't warn about the use of this function if it is undefined
6649         or if we alias it to stat.
6650         Reported by Simon Josefsson.
6651
6652 2010-03-27  Bruno Haible  <bruno@clisp.org>
6653
6654         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
6655         * modules/getlogin (configure.ac): Update.
6656
6657         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
6658         * modules/getlogin_r (configure.ac): Update.
6659
6660         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
6661         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
6662         * modules/inet_ntop (configure.ac): Update.
6663
6664         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
6665         * modules/inet_pton (configure.ac): Update.
6666
6667         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
6668         * modules/mbslen (configure.ac): Update.
6669
6670         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
6671         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
6672         * modules/forkpty (configure.ac): Update.
6673         * modules/openpty (configure.ac): Update.
6674
6675 2010-03-26  Simon Josefsson  <simon@josefsson.org>
6676
6677         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
6678         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
6679
6680 2010-03-25  Eric Blake  <eblake@redhat.com>
6681
6682         maint: use pragma consistently across replacement headers
6683         * lib/ctype.in.h (system_header): Hoist for consistent placement.
6684         * lib/dirent.in.h (system_header): Likewise.
6685         * lib/errno.in.h (system_header): Likewise.
6686         * lib/float.in.h (system_header): Likewise.
6687         * lib/getopt.in.h (system_header): Likewise.
6688         * lib/iconv.in.h (system_header): Likewise.
6689         * lib/inttypes.in.h (system_header): Likewise.
6690         * lib/langinfo.in.h (system_header): Likewise.
6691         * lib/locale.in.h (system_header): Likewise.
6692         * lib/math.in.h (system_header): Likewise.
6693         * lib/netdb.in.h (system_header): Likewise.
6694         * lib/netinet_in.in.h (system_header): Likewise.
6695         * lib/pty.in.h (system_header): Likewise.
6696         * lib/sched.in.h (system_header): Likewise.
6697         * lib/se-selinux.in.h (system_header): Likewise.
6698         * lib/search.in.h (system_header): Likewise.
6699         * lib/spawn.in.h (system_header): Likewise.
6700         * lib/stdarg.in.h (system_header): Likewise.
6701         * lib/stdint.in.h (system_header): Likewise.
6702         * lib/string.in.h (system_header): Likewise.
6703         * lib/strings.in.h (system_header): Likewise.
6704         * lib/sys_file.in.h (system_header): Likewise.
6705         * lib/sys_ioctl.in.h (system_header): Likewise.
6706         * lib/sys_socket.in.h (system_header): Likewise.
6707         * lib/sys_times.in.h (system_header): Likewise.
6708         * lib/sys_utsname.in.h (system_header): Likewise.
6709         * lib/sys_wait.in.h (system_header): Likewise.
6710         * lib/sysexits.in.h (system_header): Likewise.
6711         * lib/unistd.in.h (system_header): Likewise.
6712         * lib/wctype.in.h (system_header): Likewise.
6713
6714         arpa/inet: fix mingw compilation warning
6715         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
6716         Reported by Matthew Bolte.
6717
6718 2010-03-25  Bruno Haible  <bruno@clisp.org>
6719
6720         Avoid collision between gnulib wrapper and libintl wrapper.
6721         * lib/printf.c (printf): Don't define if a printf wrapper is already
6722         defined in intl/printf.c.
6723         Reported by Michel Boaventura <michel@michelboaventura.com>.
6724
6725 2010-03-25  Bruno Haible  <bruno@clisp.org>
6726
6727         Use ANSI C.
6728         * lib/readutmp.h (getutent): Provide ANSI C prototype.
6729
6730 2010-03-25  Bruno Haible  <bruno@clisp.org>
6731
6732         Minor formatting changes.
6733         * lib/acosl.c: Insert space before function argument list.
6734         * lib/argz.c: Likewise.
6735         * lib/asinl.c: Likewise.
6736         * lib/expl.c: Likewise.
6737         * lib/gen-uni-tables.c: Likewise.
6738         * lib/gettext.h: Likewise.
6739         * lib/glthread/lock.h: Likewise.
6740         * lib/tanl.c: Likewise.
6741         * lib/uniname/uniname.c: Likewise.
6742         * tests/test-idpriv-drop.c: Likewise.
6743         * tests/test-idpriv-droptemp.c: Likewise.
6744         * tests/test-lock.c: Likewise.
6745         * tests/test-tls.c: Likewise.
6746         * lib/argp-help.c: Insert space before function-like macro argument
6747         list.
6748         * lib/memcmp.c: Likewise.
6749         * tests/test-base64.c: Likewise.
6750         * lib/localename.c: Insert space before sizeof's argument list.
6751         * lib/safe-alloc.h: Likewise.
6752         * lib/file-set.h: Insert space before macro argument list.
6753         * tests/test-argp.c: Likewise.
6754         * lib/argp-namefrob.h: Insert space before function parameter list.
6755         * lib/getaddrinfo.c: Likewise.
6756         * lib/netdb.in.h: Likewise.
6757         * lib/parse-duration.h: Likewise.
6758         * lib/parse-duration.c: Likewise.
6759         * lib/poll.c: Likewise.
6760         * lib/select.c: Likewise.
6761         * lib/trim.h: Likewise.
6762         * tests/test-usleep.c: Likewise.
6763         * lib/ldexpl.c: Insert space before function parameter list and before
6764         function argument list.
6765         * lib/logl.c: Likewise.
6766         * lib/sqrtl.c: Likewise.
6767         * lib/trim.c: Likewise.
6768         * lib/cosl.c: Use GNU style indentation. Insert space before function
6769         argument list.
6770         * lib/sinl.c: Likewise.
6771         * lib/tsearch.c: Insert space after 'for'.
6772         Reported by Jim Meyering.
6773
6774 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
6775
6776         * maint.mk (sc_Wundef_boolean): Check for the presence of the
6777         config header before grepping, as it's not present before
6778         autoreconf/configure are run.  Reported by Simon Josefsson.
6779
6780 2010-03-23  Bruno Haible  <bruno@clisp.org>
6781
6782         pt_chown: Make it work with automake < 1.11.
6783         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
6784         Reported by Simon Josefsson.
6785
6786 2010-03-23  Bruno Haible  <bruno@clisp.org>
6787
6788         pt_chown: Don't depend on GPLed modules.
6789         * lib/pt_chown.c: Don't include idpriv.h.
6790         (main): Don't drop privileges.
6791         * modules/pt_chown (Depends-on): Remove idpriv-drop.
6792         Reported by Simon Josefsson.
6793
6794 2010-03-24  Simon Josefsson  <simon@josefsson.org>
6795
6796         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
6797         suggestions from karl@freefriends.org (Karl Berry).
6798
6799 2010-03-22  Eric Blake  <eblake@redhat.com>
6800
6801         gethostname: further tweaks
6802         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
6803         are overriding gethostname.
6804         Suggested by Bruno Haible.
6805
6806 2010-03-21  Bruno Haible  <bruno@clisp.org>
6807
6808         Fix comments.
6809         * lib/forkpty.c (rpl_forkpty): Fix comment.
6810         * lib/openpty.c (rpl_openpty): Likewise.
6811         Reported by Eric Blake.
6812
6813 2010-03-22  Eric Blake  <eblake@redhat.com>
6814
6815         gethostname: fix build on mingw
6816         * lib/unistd.in.h (includes): Work around fact that mingw
6817         <winsock2.h> re-includes <unistd.h>, by avoiding any
6818         redeclarations if we are being included by <winsock2.h>.
6819         Reported by Matthias Bolte.
6820
6821 2010-03-21  Bruno Haible  <bruno@clisp.org>
6822
6823         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
6824         * lib/forkpty.c (forkpty): New replacement function, from glibc with
6825         modifications.
6826         * lib/pty.in.h (forkpty): Update declaration. Add comments.
6827         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
6828         provide the replacement.
6829         * modules/forkpty (Depends-on): Add openpty, login_tty.
6830         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
6831         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
6832         * doc/glibc-functions/forkpty.texi: More supported platforms.
6833         * config/srclist.txt: Add forkpty.c (commented).
6834
6835 2010-03-21  Bruno Haible  <bruno@clisp.org>
6836
6837         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
6838         (Makefile.am): Verify that PTY_LIB is defined.
6839
6840         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
6841
6842 2010-03-21  Bruno Haible  <bruno@clisp.org>
6843
6844         Tests for module 'login_tty'.
6845         * modules/login_tty-tests: New file.
6846         * tests/test-login_tty.c: New file.
6847
6848         New module 'login_tty'.
6849         * lib/login_tty.c: New file.
6850         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
6851         * modules/login_tty: New file.
6852         * doc/glibc-functions/login_tty.texi: Mention the new module.
6853
6854 2010-03-21  Bruno Haible  <bruno@clisp.org>
6855
6856         login_tty: Documentation.
6857         * doc/glibc-functions/login_tty.texi: New file.
6858         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
6859
6860 2010-03-21  Bruno Haible  <bruno@clisp.org>
6861
6862         pty: Consistent macro naming.
6863         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
6864         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
6865         * modules/pty (configure.ac): Update.
6866
6867 2010-03-21  Bruno Haible  <bruno@clisp.org>
6868
6869         Tests for openpty: Make stricter.
6870         * tests/test-openpty.c (main): Add test of canonical processing and
6871         erase.
6872         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
6873
6874         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
6875         * lib/openpty.c (openpty): New replacement function.
6876         * lib/pty.in.h: Include <termios.h>.
6877         (openpty): Update declaration. Add comments.
6878         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
6879         is not declared, arrange to provide the replacement. Check for _getpty
6880         and posix_openpt.
6881         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
6882         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
6883         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
6884         * modules/pty-tests (test_pty_c___LDADD): New variable.
6885         * doc/glibc-functions/openpty.texi: More supported platforms.
6886
6887 2010-03-21  Bruno Haible  <bruno@clisp.org>
6888
6889         setenv: Tweaks.
6890         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
6891         the test program.
6892         * doc/posix-functions/setenv.texi: Update platforms list.
6893
6894 2010-03-21  Bruno Haible  <bruno@clisp.org>
6895
6896         New module 'unlockpt'.
6897         * lib/unlockpt.c: New file, from glibc with modifications.
6898         * m4/unlockpt.m4: New file.
6899         * modules/unlockpt: New file.
6900         * lib/stdlib.in.h (unlockpt): New declaration.
6901         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
6902         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
6903         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
6904         HAVE_UNLOCKPT.
6905         * doc/posix-functions/unlockpt.texi: Mention the new module.
6906         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
6907         * config/srclist.txt: Add unlockpt.c (commented).
6908
6909 2010-03-21  Jim Meyering  <meyering@redhat.com>
6910
6911         maint.mk: prohibit inclusion of "intprops.h" without use
6912         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
6913
6914 2010-03-21  Bruno Haible  <bruno@clisp.org>
6915
6916         New module 'grantpt'.
6917         * lib/grantpt.c: New file, from glibc with modifications.
6918         * m4/grantpt.m4: New file.
6919         * modules/grantpt: New file.
6920         * lib/stdlib.in.h (grantpt): New declaration.
6921         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
6922         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
6923         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
6924         HAVE_GRANTPT.
6925         * doc/posix-functions/grantpt.texi: Mention the new module.
6926         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
6927         * config/srclist.txt: Add grantpt.c (commented).
6928
6929 2010-03-21  Bruno Haible  <bruno@clisp.org>
6930
6931         New module 'pt_chown'.
6932         * lib/pt_chown.c: New file, from glibc with modifications.
6933         * lib/pty-private.h: New file, from glibc with modifications.
6934         * modules/pt_chown: New file.
6935         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
6936
6937 2010-03-21  Bruno Haible  <bruno@clisp.org>
6938
6939         Tests for module 'ptsname'.
6940         * modules/ptsname-tests: New file.
6941         * tests/test-ptsname.c: New file.
6942
6943         New module 'ptsname'.
6944         * lib/ptsname.c: New file, from glibc with modifications.
6945         * m4/ptsname.m4: New file.
6946         * modules/ptsname: New file.
6947         * lib/stdlib.in.h (ptsname): New declaration.
6948         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
6949         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
6950         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
6951         HAVE_PTSNAME.
6952         * doc/posix-functions/ptsname.texi: Mention the new module.
6953         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
6954         * config/srclist.txt: Add ptsname.c (commented).
6955
6956 2010-03-21  Bruno Haible  <bruno@clisp.org>
6957
6958         Tests for module 'ttyname_r'.
6959         * modules/ttyname_r-tests: New file.
6960         * tests/test-ttyname_r.c: New file.
6961
6962         New module 'ttyname_r'.
6963         * lib/ttyname_r.c: New file.
6964         * m4/ttyname_r.m4: New file.
6965         * modules/ttyname_r: New file.
6966         * lib/unistd.in.h (ttyname_r): New declaration.
6967         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
6968         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
6969         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
6970         HAVE_TTYNAME_R.
6971         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
6972         * doc/posix-functions/ttyname_r.texi: Mention the new module.
6973
6974 2010-03-20  Bruno Haible  <bruno@clisp.org>
6975
6976         signal: Undefine macro definitions in C++ mode.
6977         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
6978         sigfillset): Undefine macro definitions from the system header in C++
6979         mode.
6980         Reported by John W. Eaton <jwe@gnu.org>.
6981
6982 2010-03-20  Bruno Haible  <bruno@clisp.org>
6983
6984         Ensure no #include statements inside extern "C" { ... }.
6985         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
6986         contain #include statements.
6987         * lib/time.in.h: Likewise.
6988
6989 2010-03-20  Bruno Haible  <bruno@clisp.org>
6990
6991         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
6992         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
6993         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
6994         Reported by John W. Eaton <jwe@gnu.org>.
6995
6996 2010-03-20  Bruno Haible  <bruno@clisp.org>
6997
6998         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
6999         Reported by Jim Meyering.
7000
7001 2010-03-20  Bruno Haible  <bruno@clisp.org>
7002
7003         pipe: Set errno upon failure.
7004         * lib/pipe.h: Specify that when -1 is returned, errno is set.
7005         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
7006         errno value in error message.
7007
7008 2010-03-20  Bruno Haible  <bruno@clisp.org>
7009             Jim Meyering  <meyering@redhat.com>
7010
7011         lchown: Avoid "unused variable" warning.
7012         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
7013
7014 2010-03-20  Bruno Haible  <bruno@clisp.org>
7015
7016         Work around unlink() bug on MacOS X 10.5.6.
7017         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
7018         attempting to unlink a parent directory.
7019         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
7020         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
7021         activate for the replacement function.
7022         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
7023
7024 2010-03-20  Bruno Haible  <bruno@clisp.org>
7025
7026         Fix link errors on Solaris 8.
7027         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
7028         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
7029
7030 2010-03-19  Jim Meyering  <meyering@redhat.com>
7031
7032         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
7033         The _LIBC implementation of build_range_exp correctly honors the
7034         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
7035         However, the non-_LIBC implementation would ignore that syntax-bit
7036         flag and return REG_ERANGE unconditionally.
7037         This change makes it honor that flag.
7038         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
7039         Make two pointer parameters "const".
7040         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
7041         (parse_bracket_exp): Update caller.
7042
7043         regex.m4: correct the reversed range endpoint ([b-a]) test
7044         * m4/regex.m4: When requiring that [b-a] evoke failure,
7045         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
7046         test pass once again for x86-based systems.
7047
7048 2010-03-19  Bruno Haible  <bruno@clisp.org>
7049
7050         scandir: Fix link error on Solaris 8.
7051         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
7052         macros.
7053
7054 2010-03-19  Bruno Haible  <bruno@clisp.org>
7055
7056         getusershell: Fix documentation.
7057         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
7058         module.
7059         * doc/glibc-functions/setusershell.texi: Likewise.
7060
7061         getusershell: Provide declaration, missing on Solaris 9.
7062         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
7063         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
7064         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
7065         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
7066         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
7067         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
7068         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
7069         HAVE_GETUSERSHELL.
7070         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
7071
7072 2010-03-19  Bruno Haible  <bruno@clisp.org>
7073
7074         wctype: Provide iswblank function.
7075         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
7076         exists and is fine.
7077         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
7078         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
7079         * tests/test-wctype.c (main): Re-enable the iswblank tests.
7080         * doc/posix-functions/iswblank.texi: Update.
7081
7082 2010-03-19  Bruno Haible  <bruno@clisp.org>
7083
7084         Tests of module 'pty' in C++ mode.
7085         * modules/pty-tests: New file.
7086         * tests/test-pty-c++.cc: New file.
7087         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
7088
7089 2010-03-19  Eric Blake  <eblake@redhat.com>
7090
7091         logb: fix documentation
7092         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
7093         1.5 declaration bug.
7094
7095         forkpty, openpty: prefer glibc's const-safe prototype
7096         * lib/forkpty.c (rpl_forkpty): New file.
7097         * lib/openpty.c (rpl_openpty): Likewise.
7098         * modules/forkpty (Files): Distribute it.
7099         * modules/openpty (Files): Likewise.
7100         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
7101         check...
7102         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
7103         replacement for for non-const BSD signature.
7104         * modules/pty (Makefile.am): Substitute witnesses.
7105         * lib/pty.in.h (forkpty, openpty): Declare replacements.
7106         * tests/test-forkpty.c: Update signature check.
7107         * tests/test-openpty.c: Likewise.
7108         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
7109         * doc/glibc-functions/openpty.texi (openpty): Likewise.
7110
7111         forkpty, openpty: split functions into new modules
7112         * modules/pty (Makefile.am): Substitute new witnesses.
7113         (Libraries): Move library detection...
7114         * modules/forkpty: ...into new module.
7115         * modules/openpty: Another new module.
7116         * modules/pty-tests: Rename and split...
7117         * modules/forkpty-tests: ...to this...
7118         * modules/openpty-tests: ...and this.
7119         * tests/test-pty.c: Rename and split...
7120         * tests/test-forkpty.c: ...to this...
7121         * tests/test-openpty.c: ...and this.
7122         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
7123         (gl_PTY): Split library searching...
7124         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
7125         (gl_FORKPTY, gl_OPENPTY): New macros.
7126         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
7127         * NEWS: Mention the split.
7128         * MODULES.html.sh (Misc): Document the modules.
7129         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
7130         * doc/glibc-functions/openpty.texi (openpty): Likewise.
7131
7132         pty: improve replacement header
7133         * lib/pty.in.h: New file.
7134         * modules/pty (Files): Ship it.
7135         (Makefile.am): Always build replacement.
7136         * m4/pty.m4: Rename...
7137         * m4/pty_h.m4: ...to this.
7138         (gl_PTY): Modernize setting of witness macros; update check of
7139         forkpty to take proper advantage of cache.
7140         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
7141
7142         getopt: avoid compiler warning
7143         * lib/getopt.c (attribute_hidden): Remove unused macro.
7144
7145 2010-03-18  Bruno Haible  <bruno@clisp.org>
7146
7147         Fix link errors on Solaris 8.
7148         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
7149         * modules/search-tests (test_search_c___LDADD): Likewise.
7150         * modules/signal-tests (test_signal_c___LDADD): Likewise.
7151         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
7152         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
7153         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
7154         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
7155         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
7156         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
7157
7158 2010-03-18  Bruno Haible  <bruno@clisp.org>
7159
7160         Fix bug introduced on 2010-03-14.
7161         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
7162         (gl_SPAWN_H): Require it.
7163         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
7164         Reported by Simon Josefsson.
7165
7166 2010-03-18  Bruno Haible  <bruno@clisp.org>
7167
7168         Fix typo introduced on 2009-12-31.
7169         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
7170         posix_spawn_file_actions_adddup2.
7171
7172 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
7173         and Eric Blake  <eblake@redhat.com>
7174
7175         test-vc-list-files-git: make more robust
7176         * tests/test-vc-list-files-git.sh: Unset problematic environment
7177         variables.  Chain commands together.
7178
7179 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
7180
7181         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
7182         `AC_CHECK_DECL' invocation.
7183
7184 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
7185
7186         * lib/inttostr.c (inttostr): Make sure the invocation of verify
7187         appears before executable statements. Suggested by Petr Sumbera
7188         <Petr.Sumbera@Sun.COM>.
7189
7190 2010-03-14  Bruno Haible  <bruno@clisp.org>
7191
7192         * tests/test-flock.c (test_exclusive): Comment out a test that causes
7193         portability problems. Instead use a simpler test.
7194         (main): Check that invalid arguments are rejected only on Linux.
7195
7196 2010-03-14  Bruno Haible  <bruno@clisp.org>
7197
7198         Fix bug introduced on 2009-12-31.
7199         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
7200         gl_PREREQ_SYS_H_WINSOCK2 always.
7201         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
7202         SYS_SOCKET_H variable.
7203         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
7204         Update comments.
7205         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
7206         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
7207         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
7208         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
7209         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
7210
7211 2010-03-14  Bruno Haible  <bruno@clisp.org>
7212
7213         Fix values returned by sinl, cosl.
7214         * lib/trigl.h: Add specification comments.
7215         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
7216         that combines the values from the precomputed table with the values of
7217         the Chebyshev polynomials.
7218
7219 2010-03-14  Bruno Haible  <bruno@clisp.org>
7220
7221         Fix compilation error when modules 'posix_spawn[p]' are not used.
7222         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
7223         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
7224
7225 2010-03-14  Bruno Haible  <bruno@clisp.org>
7226
7227         Fix compilation error on mingw when module 'time_r' is not used.
7228         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
7229         is 1.
7230         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
7231         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
7232         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
7233         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
7234
7235 2010-03-14  Bruno Haible  <bruno@clisp.org>
7236
7237         Fix compilation error with Sun C.
7238         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
7239         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
7240         instead of GCC specific ULONG_LONG_MAX.
7241         * lib/xstrtoll.c: Likewise.
7242         * lib/xstrtoull.c: Likewise.
7243
7244 2010-03-13  Bruno Haible  <bruno@clisp.org>
7245
7246         Allow the user to disable C++ code and tests.
7247         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
7248         (gl_PROG_ANSI_CXX): Require it.
7249
7250 2010-03-13  Bruno Haible  <bruno@clisp.org>
7251
7252         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
7253         cases.
7254
7255 2010-03-13  Bruno Haible  <bruno@clisp.org>
7256
7257         Test that gnulib does not break the standard C++ headers.
7258         * tests/test-locale-c++2.cc: New file.
7259         * modules/locale-tests (Files): Add it.
7260         (Makefile.am): Compile it for test-locale-c++.
7261         * tests/test-math-c++2.cc: New file.
7262         * modules/math-tests (Files): Add it.
7263         (Makefile.am): Compile it for test-math-c++.
7264         * tests/test-signal-c++2.cc: New file.
7265         * modules/signal-tests (Files): Add it.
7266         (Makefile.am): Compile it for test-signal-c++.
7267         * tests/test-stdio-c++2.cc: New file.
7268         * modules/stdio-tests (Files): Add it.
7269         (Makefile.am): Compile it for test-stdio-c++.
7270         * tests/test-stdlib-c++2.cc: New file.
7271         * modules/stdlib-tests (Files): Add it.
7272         (Makefile.am): Compile it for test-stdlib-c++.
7273         * tests/test-string-c++2.cc: New file.
7274         * modules/string-tests (Files): Add it.
7275         (Makefile.am): Compile it for test-string-c++.
7276         * tests/test-time-c++2.cc: New file.
7277         * modules/time-tests (Files): Add it.
7278         (Makefile.am): Compile it for test-time-c++.
7279         Reported by John W. Eaton <jwe@gnu.org>.
7280
7281 2010-03-13  Bruno Haible  <bruno@clisp.org>
7282
7283         * gnulib-tool (func_usage): Clarify which options are available for
7284         --create-testdir and --create-megatestdir.
7285
7286 2010-03-13  Bruno Haible  <bruno@clisp.org>
7287
7288         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
7289         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
7290         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
7291         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
7292         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
7293         when appropriate.
7294         Reported by Jim Meyering.
7295
7296 2010-03-12  Simon Josefsson  <simon@josefsson.org>
7297
7298         * gnulib-tool (func_import): Explain origin of code.
7299
7300 2010-03-12  Bruno Haible  <bruno@clisp.org>
7301
7302         Fix problem with automake's definition of CXXLINK.
7303         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
7304         Reported by Simon Josefsson and Ludovic Courtès.
7305
7306 2010-03-12  Bruno Haible  <bruno@clisp.org>
7307
7308         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
7309         stable releases.
7310
7311 2010-03-11  Bruno Haible  <bruno@clisp.org>
7312
7313         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
7314         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
7315         whether the system provides one variant or multiple variants of the
7316         function.
7317         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
7318         C++ compilers.
7319         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
7320         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
7321         Reported by Jim Meyering.
7322
7323 2010-03-09  Simon Josefsson  <simon@josefsson.org>
7324
7325         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
7326
7327 2010-03-08  Bruno Haible  <bruno@clisp.org>
7328
7329         gnulib-tool: Add support for --libtool in --create-testdir.
7330         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
7331         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
7332
7333 2010-03-08  Eric Blake  <eblake@redhat.com>
7334
7335         gnulib-tool.texi: mention possibility of git submodule
7336         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
7337         submodules.
7338         * doc/.gitignore: Ignore another generated file.
7339
7340 2010-03-08  Karl Berry  <karl@gnu.org>
7341
7342         * doc/gnulib-tool.texi (VCS Issues): Mention third option
7343         of committing gnulib files while skipping others.
7344
7345 2010-03-07  Bruno Haible  <bruno@clisp.org>
7346
7347         Tests of module 'wctype' in C++ mode.
7348         * tests/test-wctype-c++.cc: New file.
7349         * modules/wctype-tests (Files): Add it and tests/signature.h.
7350         (Depends-on): Add ansi-c++-opt.
7351         (Makefile.am): Arrange to compile and run test-wctype-c++.
7352
7353         Tests of module 'wchar' in C++ mode.
7354         * tests/test-wchar-c++.cc: New file.
7355         * modules/wchar-tests (Files): Add it and tests/signature.h.
7356         (Depends-on): Add ansi-c++-opt.
7357         (Makefile.am): Arrange to compile and run test-wchar-c++.
7358         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
7359         gl_MODULE_INDICATOR.
7360
7361         Tests of module 'unistd' in C++ mode.
7362         * tests/test-unistd-c++.cc: New file.
7363         * modules/unistd-tests (Files): Add it and tests/signature.h.
7364         (Depends-on): Add ansi-c++-opt.
7365         (Makefile.am): Arrange to compile and run test-unistd-c++.
7366         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
7367         gl_MODULE_INDICATOR.
7368
7369         Tests of module 'time' in C++ mode.
7370         * tests/test-time-c++.cc: New file.
7371         * modules/time-tests (Files): Add it and tests/signature.h.
7372         (Depends-on): Add ansi-c++-opt.
7373         (Makefile.am): Arrange to compile and run test-time-c++.
7374         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
7375
7376         Tests of module 'sys_time' in C++ mode.
7377         * tests/test-sys_time-c++.cc: New file.
7378         * modules/sys_time-tests (Files): Add it and tests/signature.h.
7379         (Depends-on): Add ansi-c++-opt.
7380         (Makefile.am): Arrange to compile and run test-sys_time-c++.
7381         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
7382         gl_MODULE_INDICATOR.
7383
7384         Tests of module 'sys_stat' in C++ mode.
7385         * tests/test-sys_stat-c++.cc: New file.
7386         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
7387         (Depends-on): Add ansi-c++-opt.
7388         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
7389         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
7390         gl_MODULE_INDICATOR.
7391
7392         Tests of module 'sys_socket' in C++ mode.
7393         * tests/test-sys_socket-c++.cc: New file.
7394         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
7395         (Depends-on): Add ansi-c++-opt.
7396         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
7397         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
7398         gl_MODULE_INDICATOR.
7399
7400         Tests of module 'sys_select' in C++ mode.
7401         * tests/test-sys_select-c++.cc: New file.
7402         * modules/sys_select-tests (Files): Add it and tests/signature.h.
7403         (Depends-on): Add ansi-c++-opt.
7404         (Makefile.am): Arrange to compile and run test-sys_select-c++.
7405         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
7406         gl_MODULE_INDICATOR.
7407
7408         Tests of module 'sys_ioctl' in C++ mode.
7409         * tests/test-sys_ioctl-c++.cc: New file.
7410         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
7411         (Depends-on): Add ansi-c++-opt.
7412         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
7413         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
7414         gl_MODULE_INDICATOR.
7415
7416         Tests of module 'string' in C++ mode.
7417         * tests/test-string-c++.cc: New file.
7418         * modules/string-tests (Files): Add it and tests/signature.h.
7419         (Depends-on): Add ansi-c++-opt.
7420         (Makefile.am): Arrange to compile and run test-string-c++.
7421         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
7422         gl_MODULE_INDICATOR.
7423
7424         Tests of module 'stdlib' in C++ mode.
7425         * tests/test-stdlib-c++.cc: New file.
7426         * modules/stdlib-tests (Files): Add it and tests/signature.h.
7427         (Depends-on): Add ansi-c++-opt.
7428         (Makefile.am): Arrange to compile and run test-stdlib-c++.
7429         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
7430         gl_MODULE_INDICATOR.
7431
7432         Tests of module 'stdio' in C++ mode.
7433         * tests/test-stdio-c++.cc: New file.
7434         * modules/stdio-tests (Files): Add it and tests/signature.h.
7435         (Depends-on): Add ansi-c++-opt.
7436         (Makefile.am): Arrange to compile and run test-stdio-c++.
7437         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
7438         gl_MODULE_INDICATOR.
7439
7440         Tests of module 'spawn' in C++ mode.
7441         * tests/test-spawn-c++.cc: New file.
7442         * modules/spawn-tests (Files): Add it and tests/signature.h.
7443         (Depends-on): Add ansi-c++-opt.
7444         (Makefile.am): Arrange to compile and run test-spawn-c++.
7445         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
7446         gl_MODULE_INDICATOR.
7447
7448         Tests of module 'signal' in C++ mode.
7449         * tests/test-signal-c++.cc: New file.
7450         * modules/signal-tests (Files): Add it and tests/signature.h.
7451         (Depends-on): Add ansi-c++-opt.
7452         (Makefile.am): Arrange to compile and run test-signal-c++.
7453         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
7454         gl_MODULE_INDICATOR.
7455
7456         Tests of module 'search' in C++ mode.
7457         * tests/test-search-c++.cc: New file.
7458         * modules/search-tests (Files): Add it and tests/signature.h.
7459         (Depends-on): Add ansi-c++-opt.
7460         (Makefile.am): Arrange to compile and run test-search-c++.
7461         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
7462         gl_MODULE_INDICATOR.
7463
7464         Tests of module 'math' in C++ mode.
7465         * tests/test-math-c++.cc: New file.
7466         * modules/math-tests (Files): Add it and tests/signature.h.
7467         (Depends-on): Add ansi-c++-opt.
7468         (Makefile.am): Arrange to compile and run test-math-c++.
7469         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
7470
7471         Tests of module 'locale' in C++ mode.
7472         * tests/test-locale-c++.cc: New file.
7473         * modules/locale-tests (Files): Add it and tests/signature.h.
7474         (Depends-on): Add ansi-c++-opt.
7475         (Makefile.am): Arrange to compile and run test-locale-c++.
7476         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
7477         gl_MODULE_INDICATOR.
7478
7479         Tests of module 'langinfo' in C++ mode.
7480         * tests/test-langinfo-c++.cc: New file.
7481         * modules/langinfo-tests (Files): Add it and tests/signature.h.
7482         (Depends-on): Add ansi-c++-opt.
7483         (Makefile.am): Arrange to compile and run test-langinfo-c++.
7484         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
7485         gl_MODULE_INDICATOR.
7486
7487         Tests of module 'iconv-h' in C++ mode.
7488         * tests/test-iconv-h-c++.cc: New file.
7489         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
7490         (Depends-on): Add ansi-c++-opt.
7491         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
7492
7493         Tests of module 'glob' in C++ mode.
7494         * tests/test-glob-c++.cc: New file.
7495         * modules/glob-tests (Files): Add it.
7496         (Depends-on): Add ansi-c++-opt.
7497         (Makefile.am): Arrange to compile and run test-glob-c++.
7498
7499         Tests of module 'fcntl-h' in C++ mode.
7500         * tests/test-fcntl-h-c++.cc: New file.
7501         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
7502         (Depends-on): Add ansi-c++-opt.
7503         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
7504         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
7505         gl_MODULE_INDICATOR.
7506
7507         Tests of module 'dirent' in C++ mode.
7508         * tests/test-dirent-c++.cc: New file.
7509         * modules/dirent-tests (Files): Add it and tests/signature.h.
7510         (Depends-on): Add ansi-c++-opt.
7511         (Makefile.am): Arrange to compile and run test-dirent-c++.
7512         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
7513         gl_MODULE_INDICATOR.
7514
7515         New module 'ansi-c++-opt'.
7516         * modules/ansi-c++-opt: New file.
7517         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
7518
7519         Document C++ namespace mode.
7520         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
7521
7522         wctype: Avoid #define replacements in C++ mode.
7523         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
7524         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
7525         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
7526         In C++, define a namespaced alias symbol.
7527         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
7528         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
7529         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
7530         rule.
7531
7532         wchar: Avoid #define replacements in C++ mode.
7533         * lib/wchar.in.h: Include c++defs.h.
7534         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
7535         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
7536         symbol.
7537         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
7538         * modules/wchar (Depends-on): Add c++defs.
7539         (Makefile.am): Update wchar.h rule.
7540
7541         unistd: Avoid #define replacements in C++ mode.
7542         * lib/unistd.in.h: Include c++defs.h.
7543         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
7544         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
7545         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
7546         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
7547         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
7548         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
7549         symbol.
7550         (environ): Update.
7551         * modules/unistd (Depends-on): Add c++defs.
7552         (Makefile.am): Update unistd.h rule.
7553
7554         time: Avoid #define replacements in C++ mode.
7555         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
7556         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
7557         define a namespaced alias symbol.
7558         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
7559         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
7560         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
7561         * modules/time (Depends-on): Add c++defs, warn-on-use.
7562         (Makefile.am): Update time.h rule.
7563         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
7564         * modules/nanosleep (configure.ac): Likewise.
7565         * modules/strptime (configure.ac): Likewise.
7566         * modules/timegm (configure.ac): Likewise.
7567
7568         sys_time: Avoid #define replacements in C++ mode.
7569         * lib/sys_time.in.h: Include c++defs.h.
7570         (gettimeofday): In C++, define a namespaced alias symbol.
7571         * modules/sys_time (Depends-on): Add c++defs.
7572         (Makefile.am): Update sys/time.h rule.
7573
7574         sys_stat: Avoid #define replacements in C++ mode.
7575         * lib/sys_stat.in.h: Include c++defs.h.
7576         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
7577         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
7578         namespaced alias symbol.
7579         In C++, define a namespaced alias symbol.
7580         * modules/sys_stat (Depends-on): Add c++defs.
7581         (Makefile.am): Update sys/stat.h rule.
7582
7583         sys_socket: Avoid #define replacements in C++ mode.
7584         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
7585         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
7586         definitions also when the system has a <sys/socket.h>.
7587         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
7588         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
7589         In C++, define a namespaced alias symbol.
7590         * modules/sys_socket (Depends-on): Add c++defs.
7591         (Makefile.am): Update sys/socket.h rule.
7592
7593         sys_select: Avoid #define replacements in C++ mode.
7594         * lib/sys_select.in.h: Include c++defs.h. Enable the function
7595         definitions also when the system has a <sys/select.h>.
7596         (select): In C++, define a namespaced alias symbol.
7597         * modules/sys_select (Depends-on): Add c++defs.
7598         (Makefile.am): Update sys/select.h rule.
7599
7600         sys_ioctl: Avoid #define replacements in C++ mode.
7601         * lib/sys_ioctl.in.h: Include c++defs.h.
7602         (ioctl): In C++, define a namespaced alias symbol.
7603         * modules/sys_ioctl (Depends-on): Add c++defs.
7604         (Makefile.am): Update sys/ioctl.h rule.
7605
7606         string: Avoid #define replacements in C++ mode.
7607         * lib/string.in.h: Include c++defs.h.
7608         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
7609         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
7610         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
7611         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
7612         strsignal, strverscmp): In C++, define a namespaced alias symbol.
7613         * modules/string (Depends-on): Add c++defs.
7614         (Makefile.am): Update string.h rule.
7615
7616         stdlib: Avoid #define replacements in C++ mode.
7617         * lib/stdlib.in.h: Include c++defs.h.
7618         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
7619         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
7620         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
7621         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
7622         symbol.
7623         * modules/stdlib (Depends-on): Add c++defs.
7624         (Makefile.am): Update stdlib.h rule.
7625
7626         stdio: Avoid #define replacements in C++ mode.
7627         * lib/stdio.in.h: Include c++defs.h.
7628         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
7629         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
7630         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
7631         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
7632         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
7633         namespaced alias symbol.
7634         * modules/stdio (Depends-on): Add c++defs.
7635         (Makefile.am): Update stdio.h rule.
7636
7637         spawn: Avoid #define replacements in C++ mode.
7638         * lib/spawn.in.h: Include c++defs.h.
7639         (posix_spawn, posix_spawnp, posix_spawnattr_init,
7640         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
7641         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
7642         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
7643         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
7644         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
7645         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
7646         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
7647         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
7648         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
7649         In C++, define a namespaced alias symbol.
7650         * modules/spawn (Depends-on): Add c++defs.
7651         (Makefile.am): Update spawn.h rule.
7652
7653         signal: Avoid #define replacements in C++ mode.
7654         * lib/signal.in.h: Include c++defs.h.
7655         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
7656         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
7657         namespaced alias symbol.
7658         * modules/signal (Depends-on): Add c++defs.
7659         (Makefile.am): Update signal.h rule.
7660
7661         search: Avoid #define replacements in C++ mode.
7662         * lib/search.in.h: Include c++defs.h.
7663         (_gl_search_compar_fn, _gl_search_action_fn): New types.
7664         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
7665         symbol.
7666         * modules/search (Depends-on): Add c++defs.
7667         (Makefile.am): Update search.h rule.
7668
7669         math: Avoid #define replacements in C++ mode.
7670         * lib/math.in.h: Include c++defs.h.
7671         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
7672         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
7673         trunc, truncl): In C++, define a namespaced alias symbol.
7674         * modules/math (Depends-on): Add c++defs.
7675         (Makefile.am): Update math.h rule.
7676
7677         locale: Avoid #define replacements in C++ mode.
7678         * lib/locale.in.h: Include c++defs.h.
7679         (duplocale): In C++, define a namespaced alias symbol.
7680         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
7681         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
7682         * modules/locale (Depends-on): Add c++defs.
7683         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
7684
7685         langinfo: Avoid #define replacements in C++ mode.
7686         * lib/langinfo.in.h: Include c++defs.h.
7687         (nl_langinfo): In C++, define a namespaced alias symbol.
7688         * modules/langinfo (Depends-on): Add c++defs.
7689         (Makefile.am): Update langinfo.h rule.
7690
7691         iconv-h: Avoid #define replacements in C++ mode.
7692         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
7693         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
7694         symbol.
7695         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
7696         whenever iconv is present.
7697         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
7698         (Makefile.am): Update iconv.h rule.
7699
7700         glob: Avoid #define replacements in C++ mode.
7701         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
7702         (_gl_glob_errfunc_fn): New type.
7703         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
7704         symbol.
7705         * modules/glob (Depends-on): Add c++defs, warn-on-use.
7706         (Makefile.am): Update glob.h rule.
7707
7708         fcntl-h: Avoid #define replacements in C++ mode.
7709         * lib/fcntl.in.h: Include c++defs.h.
7710         (fcntl, open, openat): In C++, define a namespaced alias symbol.
7711         * modules/fcntl-h (Depends-on): Add c++defs.
7712         (Makefile.am): Update fcntl.h rule.
7713
7714         dirent: Avoid #define replacements in C++ mode.
7715         * lib/dirent.in.h: Include c++defs.h.
7716         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
7717         namespaced alias symbol.
7718         (dirfd): Update declaration.
7719         * modules/dirent (Depends-on): Add c++defs.
7720         (Makefile.am): Update dirent.h rule.
7721
7722         ctype: Make it usable in C++ code.
7723         * lib/ctype.in.h: Include c++defs.h.
7724         (isblank): Declare as extern "C".
7725         * modules/ctype (Depends-on): Add c++defs.
7726         (Makefile.am): Update ctype.h rule.
7727
7728         New module 'c++defs'.
7729         * modules/c++defs: New file.
7730         * build-aux/c++defs.h: New file.
7731         Reported by John W. Eaton <jwe@gnu.org>.
7732
7733 2010-03-07  Bruno Haible  <bruno@clisp.org>
7734
7735         logb: Provide missing declaration for Cygwin.
7736         * lib/math.in.h (logb): New declaration.
7737         * m4/logb.m4: New file.
7738         * modules/logb (Files): Add m4/logb.m4.
7739         (Depends-on): Add math.
7740         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
7741         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
7742         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
7743         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
7744         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
7745
7746 2010-03-07  Bruno Haible  <bruno@clisp.org>
7747
7748         Fix test-cond link error.
7749         * tests/test-cond.c: Include <stdio.h>.
7750
7751 2010-03-07  Bruno Haible  <bruno@clisp.org>
7752
7753         Fix test-dirent-safer link error.
7754         * modules/dirent-safer-tests (Makefile.am): Define
7755         test_dirent_safer_LDADD.
7756
7757 2010-03-07  Bruno Haible  <bruno@clisp.org>
7758
7759         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
7760         among default module list.
7761
7762 2010-03-07  Bruno Haible  <bruno@clisp.org>
7763
7764         Fix link error on platforms with GNU libiconv.
7765         * modules/unistr/u8-strcoll-tests (Makefile): Define
7766         test_u8_strcoll_LDADD.
7767         * modules/unistr/u16-strcoll-tests (Makefile): Define
7768         test_u16_strcoll_LDADD.
7769         * modules/unistr/u32-strcoll-tests (Makefile): Define
7770         test_u32_strcoll_LDADD.
7771
7772 2010-03-07  Bruno Haible  <bruno@clisp.org>
7773
7774         Use POSIX declarations for socket functions.
7775         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
7776         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
7777         rpl_sendto): Change declaration to match POSIX.
7778         * lib/connect.c (rpl_connect): Likewise.
7779         * lib/accept.c (rpl_accept): Likewise.
7780         * lib/bind.c (rpl_bind): Likewise.
7781         * lib/getpeername.c (rpl_getpeername): Likewise.
7782         * lib/getsockname.c (rpl_getsockname): Likewise.
7783         * lib/recv.c (rpl_recv): Likewise.
7784         * lib/send.c (rpl_send): Likewise.
7785         * lib/recvfrom.c (rpl_recvfrom): Likewise.
7786         * lib/sendto.c (rpl_sendto): Likewise.
7787
7788 2010-03-06  Bruno Haible  <bruno@clisp.org>
7789
7790         Clarify access, euidaccess, faccessat.
7791         * doc/posix-functions/faccessat.texi: Mention security problem under
7792         "Other problems", not "Portability problems".
7793         * doc/posix-functions/access.texi: Likewise. Mention a related security
7794         problem.
7795         * doc/glibc-functions/euidaccess.texi: Mention security problems.
7796         * lib/euidaccess.c: Add comments about platforms.
7797         * lib/unistd.in.h (access, euidaccess): Add warnings.
7798
7799 2010-03-07  Bruno Haible  <bruno@clisp.org>
7800
7801         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
7802         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
7803         (POSIX_SPAWN_SETSCHEDULER): Likewise.
7804         (POSIX_SPAWN_USEVFORK): Define in a way that works when
7805         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
7806         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
7807         declare when POSIX_SPAWN_SETSCHEDULER is zero.
7808         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
7809         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
7810         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
7811         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
7812         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
7813         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
7814         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
7815         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
7816         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
7817         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
7818         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
7819         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
7820         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
7821         Likewise.
7822         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
7823         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
7824         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
7825         Likewise.
7826         * tests/test-spawn.c (main): Make it work when
7827         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
7828
7829 2010-03-07  Bruno Haible  <bruno@clisp.org>
7830
7831         Fix incorrect Makefile.am generation in German locale.
7832         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
7833         Execute sed command with character range in C locale.
7834
7835 2010-03-06  Bruno Haible  <bruno@clisp.org>
7836
7837         Tests for module 'iconv-h'.
7838         * modules/iconv-h-tests: New file.
7839         * tests/test-iconv-h.c: New file.
7840
7841         New module 'iconv-h'.
7842         * modules/iconv-h: New file.
7843         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
7844         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
7845         (configure.ac): Remove gl_ICONV_H.
7846         (Makefile.am): Remove rule for iconv.h.
7847
7848 2010-03-06  Bruno Haible  <bruno@clisp.org>
7849
7850         More consistent naming of *.m4 files.
7851         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
7852         * modules/wctype (Files): Update.
7853
7854         More consistent naming of *.m4 files.
7855         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
7856         * modules/wchar (Files): Update.
7857
7858 2010-03-06  Jim Meyering  <meyering@redhat.com>
7859
7860         euidaccess: relax license to LGPLv2+
7861         * modules/euidaccess (License): Relax to LGPLv2+.
7862
7863 2010-03-06  Bruno Haible  <bruno@clisp.org>
7864
7865         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
7866         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
7867         (Makefile.am): Augment lib_SOURCES instead.
7868
7869 2010-03-04  Jim Meyering  <meyering@redhat.com>
7870
7871         utime: remove obsolete module
7872         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
7873         unnecessary for years, and has been marked as obsolete for 10 months.
7874         * modules/utime: Remove file.
7875         * lib/utime.c: Remove file.
7876         * m4/utime.m4: Remove file.
7877         * m4/utimes-null.m4: Remove file.
7878         * doc/posix-functions/utime.texi (utime): Remove reference to
7879         the module.  Move the sole "fixed by gnulib" item into the
7880         "problems not fixed by Gnulib" list.
7881         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
7882
7883 2010-03-05  Simon Josefsson  <simon@josefsson.org>
7884
7885         * modules/exit (License): Relax license to LGPLv2+.
7886         (Status): Mark as obsolete.
7887         * NEWS: Mention deprecated 'exit' module.
7888         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
7889         of now obsolete 'exit'.
7890
7891 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
7892
7893         fts-lgpl: remove unused module
7894         * modules/fts-lgpl: Remove.
7895         * MODULES.html.sh (func_all_modules): Adjust.
7896         * check-module (find_included_lib_files): Adjust.
7897         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
7898
7899 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
7900
7901         copy-acl: enhance Solaris ACL error handling
7902         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
7903         * lib/set-mode-acl.c (qset_acl): Likewise.
7904
7905 2010-03-02  Bruno Haible  <bruno@clisp.org>
7906
7907         spawn: Don't override the system defined values on FreeBSD 8.
7908         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
7909         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
7910         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
7911         if HAVE_POSIX_SPAWN is 1.
7912         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
7913
7914 2010-03-01  Bruno Haible  <bruno@clisp.org>
7915
7916         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
7917         regarding Automake.
7918
7919 2010-02-25  Bruno Haible  <bruno@clisp.org>
7920
7921         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
7922         * gnulib-tool: Define 'echo' as a function only before the ksh alias
7923         setting, not afterwards.
7924         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
7925
7926 2010-02-24  Eric Blake  <eblake@redhat.com>
7927
7928         bootstrap, git-version-gen: use timestamp
7929         * build-aux/git-version-gen (scriptversion): Force UTC.
7930         * build-aux/bootstrap (scriptversion): New variable.
7931
7932         bootstrap: allow older git
7933         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
7934         older than 1.6.4.  Requested by the libvirt project.
7935
7936 2010-02-23  Eric Blake  <eblake@redhat.com>
7937
7938         warn-on-use: work with old autoconf
7939         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
7940         AS_VAR semantics of autoconf 2.60.
7941         Reported by Bruno Haible.
7942
7943         bootstrap: improve some comments
7944         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
7945         clarification comments.
7946
7947         gettimeofday: provide correct function
7948         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
7949         when replacement is declared, otherwise provide gettimeofday.
7950         Reported by Michael Goffioul.
7951
7952 2010-02-23  Jim Meyering  <meyering@redhat.com>
7953
7954         lib-ignore: relax license to "unlimited", not LGPLv2+
7955         * modules/lib-ignore (License): Relax to "unlimited".
7956
7957 2010-02-23  Jim Meyering  <meyering@redhat.com>
7958
7959         lib-ignore: relax license to LGPLv2+
7960         * modules/lib-ignore (License): Relax to LGPLv2+.
7961
7962 2010-02-22  Eric Blake  <eblake@redhat.com>
7963
7964         lseek: avoid bash 3.2 broken pipe bug
7965         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
7966         warning from bash 3.2.
7967         Reported by Ben Pfaff, with analysis from Bruno Haible.
7968
7969         bootstrap: support non-FSF copyright holder
7970         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
7971         bootstrap.conf override of COPYRIGHT_HOLDER.
7972         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
7973
7974         bootstrap: interoperate with gettext 0.14.1
7975         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
7976
7977         bootstrap: allow for alternate submodule location
7978         * build-aux/bootstrap (gnulib_path): New variable; use instead of
7979         hardcoding submodule location.
7980         (gnulib_mk): Allow direct use of Makefile.am.
7981
7982         bootstrap: use GNULIB_SRCDIR to reduce disk usage
7983         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
7984         rather than reconfiguring where the submodule points.
7985
7986         gettimeofday: restore support for platforms that lack function
7987         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
7988         replacement if function is missing.
7989         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
7990         * modules/sys_time (Makefile.am): Substitute it.
7991         * lib/sys_time.in.h (gettimeofday): Check it.
7992         Reported by Michael Goffioul.
7993
7994 2010-02-21  Bruno Haible  <bruno@clisp.org>
7995
7996         * lib/stdio.in.h (obstack_printf): Fix typo.
7997
7998 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
7999
8000         vc-list-files: use bzr ls's -R option
8001         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
8002         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
8003
8004 2010-02-21  Jim Meyering  <meyering@redhat.com>
8005
8006         init.sh: fix EXEEXT shims to work also for names like test-prog
8007         * tests/init.sh: Re-exec a better shell, when needed.
8008         If the current shell lacks support for posix $(...), an init.sh-using
8009         test will now try to find a shell that supports that.  If EXEEXT is
8010         nonempty, we also require support for hyphen-in-alias-name and shell
8011         substitutions like ${var#glob}.  Failure to find such a shell results
8012         in a skipped test.
8013
8014 2010-02-21  Bruno Haible  <bruno@clisp.org>
8015
8016         Really work around around "broken pipe" error message from bash 3.2.
8017         * gnulib-tool (func_reset_sigpipe): Remove function.
8018         (echo): In bash 3.2, define to a function that uses printf.
8019         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
8020
8021 2010-02-20  Bruno Haible  <bruno@clisp.org>
8022
8023         Restore support for automake 1.9.6 with autoconf 2.61.
8024         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
8025         Reported by James Youngman <jay@gnu.org>.
8026
8027 2010-02-20  Bruno Haible  <bruno@clisp.org>
8028
8029         Improve *printf warning condition.
8030         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
8031         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
8032         and the function is overridden due to SIGPIPE emulation.
8033
8034 2010-02-20  Bruno Haible  <bruno@clisp.org>
8035
8036         * lib/stdio.in.h: Tweak comments.
8037
8038 2010-02-19  Bruno Haible  <bruno@clisp.org>
8039
8040         Make it easier to find modules. New gnulib-tool option '--find'.
8041         * gnulib-tool: New option --find.
8042         (func_usage): Document it.
8043         (func_sanitize_modulelist): New function, extracted from
8044         func_all_modules.
8045         (func_all_modules): Invoke it.
8046         * doc/gnulib-tool.texi (Which modules?): New node.
8047
8048 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
8049
8050         * lib/sys_select.in.h: Provide select replacement even if
8051         sys/select.h exists on a system, for Interix.
8052
8053 2010-02-18  Jim Meyering  <meyering@redhat.com>
8054
8055         init.sh: don't use $(...) just yet
8056         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
8057         to accommodate e.g., Solaris' /bin/sh.
8058
8059 2010-02-17  Bruno Haible  <bruno@clisp.org>
8060
8061         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
8062         Reported by Ludovic Courtès <ludo@gnu.org>.
8063
8064 2010-02-16  Simon Josefsson  <simon@josefsson.org>
8065
8066         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
8067         linking with -lintl.
8068
8069 2010-02-17  Simon Josefsson  <simon@josefsson.org>
8070
8071         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
8072         if not provided by the system's netdb.h.  Reported by
8073         ludo@gnu.org (Ludovic Courtès).
8074
8075 2010-02-15  Jim Meyering  <meyering@redhat.com>
8076
8077         init.sh: improve portability and efficiency
8078         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
8079         "dummy" in a for loop.
8080         Use '!', not '^' to select the complement of a character set used
8081         in a "case" statement.
8082         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
8083         Suggestions from Eric Blake.
8084
8085         init.sh: automatically accommodate programs with the .exe suffix
8086         Automatically arrange for an invocation of "prog" to execute the
8087         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
8088         may use the simpler "prog", yet still work when built on a system
8089         that requires specifying the added suffix.
8090         Do this by constructing a function named "prog" that invokes
8091         "prog.exe" for each .exe file in selected directories.
8092         * tests/init.sh (find_exe_basenames_): New function.
8093         (create_exe_shim_functions_): New function.
8094         (path_prepend_): Use it.
8095
8096         maint.mk: mark syntax-check sc_*.m rules as .PHONY
8097         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
8098         "make -t syntax-check" doesn't create a ton of sc_*.m files.
8099
8100 2010-02-14  Jim Meyering  <meyering@redhat.com>
8101
8102         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
8103         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
8104         (sc_prohibit_hash_pjw_without_use): New rule.
8105
8106         maint.mk: allow the default upload destination dir to be overridden
8107         * top/maint.mk (upload_dest_dir_): Define with a default that
8108         preserves the status quo.
8109         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
8110         Reported by Peter Simons.
8111
8112         maint.mk: prohibit inclusion of "hash.h" without_use
8113         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
8114
8115 2010-02-10  Jim Meyering  <meyering@redhat.com>
8116
8117         maint.mk: prohibit inclusion of "ignore-value.h" without_use
8118         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
8119
8120 2010-02-09  Eric Blake  <ebb9@byu.net>
8121         and Bruno Haible  <bruno@clisp.org>
8122
8123         obstack-printf-posix: ensure declaration
8124         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
8125         extracted from gl_FUNC_OBSTACK_PRINTF.
8126         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
8127         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
8128         Likewise.
8129         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
8130         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
8131         0.
8132
8133 2010-02-08  Bruno Haible  <bruno@clisp.org>
8134
8135         gnulib-tool: Fix typo in 2010-02-07 commit.
8136         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
8137         Reported by Eric Blake.
8138
8139 2010-02-07  Bruno Haible  <bruno@clisp.org>
8140
8141         gnulib-tool: Fix up caching patches.
8142         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
8143         option --no-cache. Use associative arrays when supported by the shell.
8144         (sed_comments): New variable.
8145         (modcache): Renamed from do_cache.
8146         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
8147         abbreviate unnecessarily.
8148         (have_associative): New variable.
8149         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
8150         way also for ksh and zsh.
8151         (func_init_sed_convert_to_cache_statements): New function, extracted
8152         from func_cache_lookup_module. Add support for associative arrays.
8153         Don't set the c_MODULE_cached variable here. Ignore all lines before
8154         the first field header. Remove only the final newline, not all trailing
8155         newlines. Support empty fields correctly. Limit the use of 'eval' to
8156         assignments.
8157         (func_get_description, func_get_status, func_get_notice,
8158         func_get_applicability, func_get_filelist, func_get_dependencies,
8159         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
8160         func_get_automake_snippet, func_get_include_directive,
8161         func_get_link_directive, func_get_license, func_get_maintainer):
8162         Update documentation. List the unoptimized code first. Add support for
8163         associative arrays. Limit the use of 'eval' to assignments.
8164         (func_get_applicability): Undo stylistic pessimisations.
8165         (func_get_automake_snippet, func_get_include_directive): Reduce code
8166         duplication.
8167         (func_modules_transitive_closure, func_modules_add_dummy,
8168         func_modules_notice, func_modules_to_filelist, func_add_file,
8169         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
8170         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
8171         func_create_testdir, func_create_megatestdir): Update documentation.
8172
8173 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8174
8175         * gnulib-tool (func_cache_lookup_module): Store the module name
8176         belonging to the cache variable; error out if two different
8177         module names map to the same cache variable name.
8178
8179 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8180
8181         gnulib-tool: Make caching optional.
8182         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
8183         Update matching short versions of --no-changelog.
8184         (func_usage): Update.
8185         (sed_extract_cache_prog): Renamed from ...
8186         (sed_extract_prog): ... this; revert to old extraction script.
8187         (func_get_description, func_get_status)
8188         (func_get_notice, func_get_applicability, func_get_filelist)
8189         (func_get_dependencies, func_get_autoconf_early_snippet)
8190         (func_get_autoconf_snippet, func_get_automake_snippet)
8191         (func_get_include_directive, func_get_link_directive)
8192         (func_get_license, func_get_maintainer): If $do_cache is false,
8193         use old, non-caching extraction scripts.
8194         Suggestion by Bruno Haible.
8195
8196 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
8197
8198         gnulib-tool: cache module metainformation.
8199         * gnulib-tool (sed_extract_prog): Match newline before each
8200         header, and rewrite header to a shell variable suffix.
8201         (func_cache_var, func_cache_lookup_module): New functions,
8202         to turn a module name into a cache variable prefix, and to
8203         look up and cache module metainformation.
8204         (func_get_description, func_get_status)
8205         (func_get_notice, func_get_applicability, func_get_filelist)
8206         (func_get_dependencies, func_get_autoconf_early_snippet)
8207         (func_get_autoconf_snippet, func_get_automake_snippet)
8208         (func_get_include_directive, func_get_link_directive)
8209         (func_get_license, func_get_maintainer): Use
8210         func_cache_lookup_module.
8211
8212 2010-02-07  Bruno Haible  <bruno@clisp.org>
8213
8214         fnctl: Fix missing dependency.
8215         * modules/fcntl (Depends-on): Add getdtablesize.
8216         Reported by John W. Eaton <jwe@gnu.org>.
8217
8218 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
8219
8220         Argp: fix recognition of short alias options.
8221
8222         * lib/argp-parse.c (convert_options): Fix improper use of
8223         `|' between character values.
8224         * tests/test-argp.c (group1_option): New alias option
8225         --read (-r).
8226         (group1_parser): Special handling for 'r'.
8227         (test15): New test case.
8228         (test_fun): Add test15.
8229         * tests/test-argp-2.sh: Update expected --help and --usage
8230         outputs.
8231
8232 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
8233
8234         * tests/test-argp.c: Fix indentation.
8235
8236 2010-02-04  Eric Blake  <ebb9@byu.net>
8237
8238         gettimeofday: expose type of second argument
8239         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
8240         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
8241         * tests/test-gettimeofday.c: Use it to silence warning.
8242         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
8243         the issue.
8244
8245 2010-02-03  Jim Meyering  <meyering@redhat.com>
8246
8247         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
8248         * lib/regcomp.c (TYPE_SIGNED): Define.
8249         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
8250
8251         regcomp.c: avoid a new -Wshadow warning
8252         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
8253
8254 2010-02-01  Jim Meyering  <meyering@redhat.com>
8255
8256         removing useless parentheses in cpp #define directives
8257         For motivation, see commit c0221df4, "define STREQ(a,b)
8258         consistently, removing useless parentheses"
8259         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
8260         * lib/mountlist.c (MNT_IGNORE): Likewise.
8261         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
8262
8263 2010-02-01  Eric Blake  <ebb9@byu.net>
8264
8265         sys_time: use link-warning
8266         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
8267         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
8268         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
8269         * modules/sys_time (Depends-on): Add warn-on-use.
8270         (Makefile.am): Always build replacement.
8271         (configure.ac): Update substitutions.
8272         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
8273         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
8274         bother with SYS_TIME_H.
8275         * modules/gettimeofday (configure.ac): Declare indicator.
8276         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
8277         in use.
8278
8279         closein-tests: silence compiler warning
8280         * tests/test-closein.c (main): Ignore fread result.
8281         * modules/closein-tests (Depends-on): Add ignore-value.
8282
8283         tests: silence warning about system return
8284         * tests/test-areadlink-with-size.c (main): Ignore system result.
8285         * tests/test-areadlink.c (main): Likewise.
8286         * tests/test-areadlinkat-with-size.c (main): Likewise.
8287         * tests/test-areadlinkat.c (main): Likewise.
8288         * tests/test-canonicalize-lgpl.c (main): Likewise.
8289         * tests/test-canonicalize.c (main): Likewise.
8290         * tests/test-chown.c (main): Likewise.
8291         * tests/test-fchownat.c (main): Likewise.
8292         * tests/test-fdutimensat.c (main): Likewise.
8293         * tests/test-fstatat.c (main): Likewise.
8294         * tests/test-futimens.c (main): Likewise.
8295         * tests/test-lchown.c (main): Likewise.
8296         * tests/test-link.c (main): Likewise.
8297         * tests/test-linkat.c (main): Likewise.
8298         * tests/test-lstat.c (main): Likewise.
8299         * tests/test-mkdir.c (main): Likewise.
8300         * tests/test-mkdirat.c (main): Likewise.
8301         * tests/test-mkfifo.c (main): Likewise.
8302         * tests/test-mkfifoat.c (main): Likewise.
8303         * tests/test-mknod.c (main): Likewise.
8304         * tests/test-readlink.c (main): Likewise.
8305         * tests/test-remove.c (main): Likewise.
8306         * tests/test-rename.c (main): Likewise.
8307         * tests/test-renameat.c (main): Likewise.
8308         * tests/test-rmdir.c (main): Likewise.
8309         * tests/test-symlink.c (main): Likewise.
8310         * tests/test-symlinkat.c (main): Likewise.
8311         * tests/test-unlink.c (main): Likewise.
8312         * tests/test-unlinkat.c (main): Likewise.
8313         * tests/test-utimens.c (main): Likewise.
8314         * tests/test-utimensat.c (main): Likewise.
8315         * modules/areadlink-tests (Depends-on): Add ignore-value.
8316         * modules/areadlink-with-size-tests (Depends-on): Likewise.
8317         * modules/areadlinkat-tests (Depends-on): Likewise.
8318         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
8319         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
8320         * modules/canonicalize-tests (Depends-on): Likewise.
8321         * modules/chown-tests (Depends-on): Likewise.
8322         * modules/fdutimensat-tests (Depends-on): Likewise.
8323         * modules/futimens-tests (Depends-on): Likewise.
8324         * modules/lchown-tests (Depends-on): Likewise.
8325         * modules/link-tests (Depends-on): Likewise.
8326         * modules/linkat-tests (Depends-on): Likewise.
8327         * modules/lstat-tests (Depends-on): Likewise.
8328         * modules/mkdir-tests (Depends-on): Likewise.
8329         * modules/mkfifo-tests (Depends-on): Likewise.
8330         * modules/mkfifoat-tests (Depends-on): Likewise.
8331         * modules/mknod-tests (Depends-on): Likewise.
8332         * modules/openat-tests (Depends-on): Likewise.
8333         * modules/readlink-tests (Depends-on): Likewise.
8334         * modules/remove-tests (Depends-on): Likewise.
8335         * modules/rename-tests (Depends-on): Likewise.
8336         * modules/renameat-tests (Depends-on): Likewise.
8337         * modules/rmdir-tests (Depends-on): Likewise.
8338         * modules/symlink-tests (Depends-on): Likewise.
8339         * modules/symlinkat-tests (Depends-on): Likewise.
8340         * modules/unlink-tests (Depends-on): Likewise.
8341         * modules/utimens-tests (Depends-on): Likewise.
8342         * modules/utimensat-tests (Depends-on): Likewise.
8343
8344 2010-01-31  Bruno Haible  <bruno@clisp.org>
8345
8346         Perform the same test for many <math.h> functions.
8347         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
8348         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
8349         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
8350         of gl_MATHFUNC.
8351         * modules/acos (configure.ac): Likewise.
8352         * modules/asin (configure.ac): Likewise.
8353         * modules/atan (configure.ac): Likewise.
8354         * modules/atan2 (configure.ac): Likewise.
8355         * modules/cbrt (configure.ac): Likewise.
8356         * modules/copysign (configure.ac): Likewise.
8357         * modules/cos (configure.ac): Likewise.
8358         * modules/cosh (configure.ac): Likewise.
8359         * modules/erf (configure.ac): Likewise.
8360         * modules/erfc (configure.ac): Likewise.
8361         * modules/exp (configure.ac): Likewise.
8362         * modules/fmod (configure.ac): Likewise.
8363         * modules/hypot (configure.ac): Likewise.
8364         * modules/j0 (configure.ac): Likewise.
8365         * modules/j1 (configure.ac): Likewise.
8366         * modules/jn (configure.ac): Likewise.
8367         * modules/lgamma (configure.ac): Likewise.
8368         * modules/log (configure.ac): Likewise.
8369         * modules/log10 (configure.ac): Likewise.
8370         * modules/log1p (configure.ac): Likewise.
8371         * modules/pow (configure.ac): Likewise.
8372         * modules/remainder (configure.ac): Likewise.
8373         * modules/sin (configure.ac): Likewise.
8374         * modules/sinh (configure.ac): Likewise.
8375         * modules/tan (configure.ac): Likewise.
8376         * modules/tanh (configure.ac): Likewise.
8377         * modules/y0 (configure.ac): Likewise.
8378         * modules/y1 (configure.ac): Likewise.
8379         * modules/yn (configure.ac): Likewise.
8380         Suggested by Paolo Bonzini.
8381
8382 2010-01-31  Bruno Haible  <bruno@clisp.org>
8383
8384         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
8385
8386 2010-01-31  Bruno Haible  <bruno@clisp.org>
8387
8388         Work around getdelim() bug on FreeBSD 8.0.
8389         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
8390         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
8391         not work.
8392         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
8393         is 1.
8394         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
8395         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
8396         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
8397         a non-zero size.
8398         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
8399
8400 2010-01-31  Bruno Haible  <bruno@clisp.org>
8401
8402         Work around getline() bug on FreeBSD 8.0.
8403         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
8404         and a non-zero size.
8405         * tests/test-getline.c (main): Likewise.
8406         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
8407         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
8408
8409 2010-01-28  Eric Blake  <ebb9@byu.net>
8410
8411         regex: fix build failure
8412         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
8413         platforms.
8414
8415 2010-01-28  Jim Meyering  <meyering@redhat.com>
8416
8417         regex: do not ignore memory allocation failure
8418         * lib/regex_internal.c (create_cd_newstate): Detect
8419         re_node_set_init_copy failure.   Extracted from glibc commit
8420         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
8421
8422         regex: sync more white-space changes from libc
8423         * lib/regex_internal.c: White-space only changes.
8424         * lib/regexec.c: Likewise.
8425
8426         regex: add many uses of __attribute_warn_unused_result__
8427         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
8428         * lib/regexec.c: Likewise.
8429         Extracted from a messy glibc commit.
8430
8431         regcomp.c: spelling and merge-artifact from glibc
8432         * lib/regcomp.c: Merge remainder of glibc's
8433         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
8434
8435         regcomp.c: sync white-space changes from glibc
8436         * lib/regcomp.c: Merge to accommodate white space
8437         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
8438
8439         regcomp.c: do not ignore internal return values
8440         * lib/regcomp.c: Do not ignore internal return values.
8441         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
8442         but without its white-space changes and spelling fixes.
8443
8444         regex_internal.h: define __attribute_warn_unused_result__
8445         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
8446
8447         maint: add a syntax-check rule to check for vulnerable Makefile.in
8448         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
8449
8450 2010-01-27  Jim Meyering  <meyering@redhat.com>
8451
8452         ncftpput-ftp: clean up spaces
8453         * build-aux/ncftpput-ftp: Make Copyright line consistent.
8454         Remove trailing blanks.
8455
8456 2010-01-27  Simon Josefsson  <simon@josefsson.org>
8457
8458         * build-aux/git-version-gen: Fix copyright statement.
8459         * build-aux/gnupload: Likewise.
8460         * tests/test-arcfour.c: Likewise.
8461         * tests/test-arctwo.c: Likewise.
8462         * tests/test-count-one-bits.c: Likewise.
8463         * tests/test-crc.c: Likewise.
8464         * tests/test-des.c: Likewise.
8465         * tests/test-gc-arcfour.c: Likewise.
8466         * tests/test-gc-arctwo.c: Likewise.
8467         * tests/test-gc-des.c: Likewise.
8468         * tests/test-gc-hmac-md5.c: Likewise.
8469         * tests/test-gc-hmac-sha1.c: Likewise.
8470         * tests/test-gc-md2.c: Likewise.
8471         * tests/test-gc-md4.c: Likewise.
8472         * tests/test-gc-md5.c: Likewise.
8473         * tests/test-gc-pbkdf2-sha1.c: Likewise.
8474         * tests/test-gc-rijndael.c: Likewise.
8475         * tests/test-gc-sha1.c: Likewise.
8476         * tests/test-gc.c: Likewise.
8477         * tests/test-gethostname.c: Likewise.
8478         * tests/test-gettimeofday.c: Likewise.
8479         * tests/test-hash.c: Likewise.
8480         * tests/test-hmac-md5.c: Likewise.
8481         * tests/test-hmac-sha1.c: Likewise.
8482         * tests/test-md2.c: Likewise.
8483         * tests/test-md4.c: Likewise.
8484         * tests/test-md5.c: Likewise.
8485         * tests/test-memchr.c: Likewise.
8486         * tests/test-memchr2.c: Likewise.
8487         * tests/test-memcmp.c: Likewise.
8488         * tests/test-memmem.c: Likewise.
8489         * tests/test-memrchr.c: Likewise.
8490         * tests/test-rawmemchr.c: Likewise.
8491         * tests/test-read-file.c: Likewise.
8492         * tests/test-rijndael.c: Likewise.
8493         * tests/test-sockets.c: Likewise.
8494         * tests/test-strchrnul.c: Likewise.
8495         * tests/test-strstr.c: Likewise.
8496         * tests/test-strtod.c: Likewise.
8497         * build-aux/ncftpput-ftp: Likewise.
8498
8499 2010-01-26  Eric Blake  <ebb9@byu.net>
8500
8501         ignore-value: update recommended header name
8502         * modules/ignore-value (Include): Only use <> for headers that
8503         exist in glibc.
8504
8505 2010-01-26  Jim Meyering  <meyering@redhat.com>
8506
8507         test-userspec.c: avoid compiler warnings
8508         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
8509         and "initialization discards qualifiers..." warnings.
8510         Put the first "uid" in its own scope, and make char* members "const".
8511
8512 2010-01-25  Bruno Haible  <bruno@clisp.org>
8513
8514         gnulib-tool: Make warning diagnostics consistent.
8515         * gnulib-tool (func_warning): New function.
8516         Use it everywhere where gnulib-tool produces output to stderr and it is
8517         not a fatal error.
8518
8519 2010-01-25  Bruno Haible  <bruno@clisp.org>
8520
8521         Fix test dependencies.
8522         * modules/xstrtol-tests (Depends-on): Add inttypes.
8523         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
8524
8525 2010-01-25 Pádraig Brady <P@draigBrady.com>
8526
8527         syntax-check: detect incorrect boolean macro values in config.h
8528         * modules/maintainer-makefile (configure.ac): Parameterize the location
8529         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
8530         The logic is from Eric Blake and the location indicated by Jim Meyering.
8531         Note the more natural CONFIG_HEADER name is prohibited by automake
8532         for backwards compatibility reasons.
8533         * top/maint.mk (sc_Wundef_boolean): New rule.
8534
8535 2010-01-25  Jim Meyering  <meyering@redhat.com>
8536
8537         bootstrap: detect MacOS 10.6's shasum, too
8538         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
8539         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
8540
8541 2010-01-23  Jim Meyering  <meyering@redhat.com>
8542
8543         xstrtoll: new module
8544         * modules/xstrtoll: New file.
8545         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
8546         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
8547         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
8548         ./configure fails if you use this module and lack "long long".
8549         * modules/xstrtoll-tests: New module.
8550         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
8551         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
8552         new init.sh-based test framework.
8553
8554 2010-01-24  Bruno Haible  <bruno@clisp.org>
8555
8556         Tests for module 'yn'.
8557         * modules/yn-tests: New file.
8558         * tests/test-yn.c: New file.
8559
8560         Tests for module 'y1'.
8561         * modules/y1-tests: New file.
8562         * tests/test-y1.c: New file.
8563
8564         Tests for module 'y0'.
8565         * modules/y0-tests: New file.
8566         * tests/test-y0.c: New file.
8567
8568         Tests for module 'tanh'.
8569         * modules/tanh-tests: New file.
8570         * tests/test-tanh.c: New file.
8571
8572         Tests for module 'tan'.
8573         * modules/tan-tests: New file.
8574         * tests/test-tan.c: New file.
8575
8576         Tests for module 'sqrt'.
8577         * modules/sqrt-tests: New file.
8578         * tests/test-sqrt.c: New file.
8579
8580         Tests for module 'sinh'.
8581         * modules/sinh-tests: New file.
8582         * tests/test-sinh.c: New file.
8583
8584         Tests for module 'sin'.
8585         * modules/sin-tests: New file.
8586         * tests/test-sin.c: New file.
8587
8588         Tests for module 'rint'.
8589         * modules/rint-tests: New file.
8590         * tests/test-rint.c: New file.
8591
8592         Tests for module 'remainder'.
8593         * modules/remainder-tests: New file.
8594         * tests/test-remainder.c: New file.
8595
8596         Tests for module 'pow'.
8597         * modules/pow-tests: New file.
8598         * tests/test-pow.c: New file.
8599
8600         Tests for module 'nextafter'.
8601         * modules/nextafter-tests: New file.
8602         * tests/test-nextafter.c: New file.
8603
8604         Tests for module 'modf'.
8605         * modules/modf-tests: New file.
8606         * tests/test-modf.c: New file.
8607
8608         Tests for module 'logb'.
8609         * modules/logb-tests: New file.
8610         * tests/test-logb.c: New file.
8611
8612         Tests for module 'log1p'.
8613         * modules/log1p-tests: New file.
8614         * tests/test-log1p.c: New file.
8615
8616         Tests for module 'log10'.
8617         * modules/log10-tests: New file.
8618         * tests/test-log10.c: New file.
8619
8620         Tests for module 'log'.
8621         * modules/log-tests: New file.
8622         * tests/test-log.c: New file.
8623
8624         Tests for module 'lgamma'.
8625         * modules/lgamma-tests: New file.
8626         * tests/test-lgamma.c: New file.
8627
8628         Tests for module 'ldexp'.
8629         * modules/ldexp-tests: New file.
8630         * tests/test-ldexp.c: New file.
8631
8632         Tests for module 'jn'.
8633         * modules/jn-tests: New file.
8634         * tests/test-jn.c: New file.
8635
8636         Tests for module 'j1'.
8637         * modules/j1-tests: New file.
8638         * tests/test-j1.c: New file.
8639
8640         Tests for module 'j0'.
8641         * modules/j0-tests: New file.
8642         * tests/test-j0.c: New file.
8643
8644         Tests for module 'hypot'.
8645         * modules/hypot-tests: New file.
8646         * tests/test-hypot.c: New file.
8647
8648         Tests for module 'fmod'.
8649         * modules/fmod-tests: New file.
8650         * tests/test-fmod.c: New file.
8651
8652         Tests for module 'fabs'.
8653         * modules/fabs-tests: New file.
8654         * tests/test-fabs.c: New file.
8655
8656         Tests for module 'exp'.
8657         * modules/exp-tests: New file.
8658         * tests/test-exp.c: New file.
8659
8660         Tests for module 'erfc'.
8661         * modules/erfc-tests: New file.
8662         * tests/test-erfc.c: New file.
8663
8664         Tests for module 'erf'.
8665         * modules/erf-tests: New file.
8666         * tests/test-erf.c: New file.
8667
8668         Tests for module 'cosh'.
8669         * modules/cosh-tests: New file.
8670         * tests/test-cosh.c: New file.
8671
8672         Tests for module 'cos'.
8673         * modules/cos-tests: New file.
8674         * tests/test-cos.c: New file.
8675
8676         Tests for module 'copysign'.
8677         * modules/copysign-tests: New file.
8678         * tests/test-copysign.c: New file.
8679
8680         Tests for module 'cbrt'.
8681         * modules/cbrt-tests: New file.
8682         * tests/test-cbrt.c: New file.
8683
8684         Tests for module 'atan2'.
8685         * modules/atan2-tests: New file.
8686         * tests/test-atan2.c: New file.
8687
8688         Tests for module 'atan'.
8689         * modules/atan-tests: New file.
8690         * tests/test-atan.c: New file.
8691
8692         Tests for module 'asin'.
8693         * modules/asin-tests: New file.
8694         * tests/test-asin.c: New file.
8695
8696         Tests for module 'acos'.
8697         * modules/acos-tests: New file.
8698         * tests/test-acos.c: New file.
8699
8700 2010-01-24  Bruno Haible  <bruno@clisp.org>
8701
8702         Fix tests for common <math.h> functions.
8703         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
8704         code snippet that references the function pointer, rather than merely
8705         calling the function. Substitute the FUNC_LIBM variable.
8706         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
8707         * modules/acos (configure.ac): Likewise.
8708         * modules/asin (configure.ac): Likewise.
8709         * modules/atan (configure.ac): Likewise.
8710         * modules/atan2 (configure.ac): Likewise.
8711         * modules/cbrt (configure.ac): Likewise.
8712         * modules/copysign (configure.ac): Likewise.
8713         * modules/cos (configure.ac): Likewise.
8714         * modules/cosh (configure.ac): Likewise.
8715         * modules/erf (configure.ac): Likewise.
8716         * modules/erfc (configure.ac): Likewise.
8717         * modules/exp (configure.ac): Likewise.
8718         * modules/fabs (configure.ac): Likewise.
8719         * modules/fmod (configure.ac): Likewise.
8720         * modules/hypot (configure.ac): Likewise.
8721         * modules/j0 (configure.ac): Likewise.
8722         * modules/j1 (configure.ac): Likewise.
8723         * modules/jn (configure.ac): Likewise.
8724         * modules/ldexp (configure.ac): Likewise.
8725         * modules/lgamma (configure.ac): Likewise.
8726         * modules/log (configure.ac): Likewise.
8727         * modules/log10 (configure.ac): Likewise.
8728         * modules/log1p (configure.ac): Likewise.
8729         * modules/logb (configure.ac): Likewise.
8730         * modules/modf (configure.ac): Likewise.
8731         * modules/nextafter (configure.ac): Likewise.
8732         * modules/pow (configure.ac): Likewise.
8733         * modules/remainder (configure.ac): Likewise.
8734         * modules/rint (configure.ac): Likewise.
8735         * modules/sin (configure.ac): Likewise.
8736         * modules/sinh (configure.ac): Likewise.
8737         * modules/tan (configure.ac): Likewise.
8738         * modules/tanh (configure.ac): Likewise.
8739         * modules/y0 (configure.ac): Likewise.
8740         * modules/y1 (configure.ac): Likewise.
8741         * modules/yn (configure.ac): Likewise.
8742
8743 2010-01-24  Bruno Haible  <bruno@clisp.org>
8744
8745         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
8746         * tests/test-acosl.c (x): New variable.
8747         (main): Store argument in x and fetch it from x.
8748         * tests/test-asinl.c (x): New variable.
8749         (main): Store argument in x and fetch it from x.
8750         * tests/test-atanl.c (x): New variable.
8751         (main): Store argument in x and fetch it from x.
8752         * tests/test-cosl.c (x): New variable.
8753         (main): Store argument in x and fetch it from x.
8754         * tests/test-expl.c (x): New variable.
8755         (main): Store argument in x and fetch it from x.
8756         * tests/test-logl.c (x): New variable.
8757         (main): Store argument in x and fetch it from x.
8758         * tests/test-sinl.c (x): New variable.
8759         (main): Store argument in x and fetch it from x.
8760         * tests/test-sqrtl.c (x): New variable.
8761         (main): Store argument in x and fetch it from x.
8762         * tests/test-tanl.c (x): New variable.
8763         (main): Store argument in x and fetch it from x.
8764
8765 2010-01-24  Bruno Haible  <bruno@clisp.org>
8766
8767         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
8768         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
8769         assignments to the initial TESTS_ENVIRONMENT.
8770         * doc/gnulib.texi (Unit test modules): Document it.
8771         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
8772         TESTS_ENVIRONMENT.
8773         * modules/btowc-tests (Makefile.am): Likewise.
8774         * modules/c-stack-tests (Makefile.am): Likewise.
8775         * modules/c-strcase-tests (Makefile.am): Likewise.
8776         * modules/copy-file-tests (Makefile.am): Likewise.
8777         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
8778         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
8779         * modules/mbrtowc-tests (Makefile.am): Likewise.
8780         * modules/mbscasecmp-tests (Makefile.am): Likewise.
8781         * modules/mbscasestr-tests (Makefile.am): Likewise.
8782         * modules/mbschr-tests (Makefile.am): Likewise.
8783         * modules/mbscspn-tests (Makefile.am): Likewise.
8784         * modules/mbsinit-tests (Makefile.am): Likewise.
8785         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
8786         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
8787         * modules/mbspbrk-tests (Makefile.am): Likewise.
8788         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
8789         * modules/mbsrchr-tests (Makefile.am): Likewise.
8790         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
8791         * modules/mbsspn-tests (Makefile.am): Likewise.
8792         * modules/mbsstr-tests (Makefile.am): Likewise.
8793         * modules/nl_langinfo-tests (Makefile.am): Likewise.
8794         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
8795         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
8796         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
8797         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
8798         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
8799         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
8800         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
8801         * modules/wcrtomb-tests (Makefile.am): Likewise.
8802         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
8803         * modules/wcsrtombs-tests (Makefile.am): Likewise.
8804         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
8805         assignments from TESTS_ENVIRONMENT.
8806         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
8807         augmentation.
8808         * modules/argp-version-etc-tests (Makefile.am): Likewise.
8809         * modules/atexit-tests (Makefile.am): Likewise.
8810         * modules/binary-io-tests (Makefile.am): Likewise.
8811         * modules/closein-tests (Makefile.am): Likewise.
8812         * modules/dprintf-posix-tests (Makefile.am): Likewise.
8813         * modules/exclude-tests (Makefile.am): Likewise.
8814         * modules/fflush-tests (Makefile.am): Likewise.
8815         * modules/fpending-tests (Makefile.am): Likewise.
8816         * modules/fprintf-posix-tests (Makefile.am): Likewise.
8817         * modules/freadahead-tests (Makefile.am): Likewise.
8818         * modules/freadptr-tests (Makefile.am): Likewise.
8819         * modules/freadseek-tests (Makefile.am): Likewise.
8820         * modules/fseek-tests (Makefile.am): Likewise.
8821         * modules/fseeko-tests (Makefile.am): Likewise.
8822         * modules/ftell-tests (Makefile.am): Likewise.
8823         * modules/ftello-tests (Makefile.am): Likewise.
8824         * modules/idpriv-drop-tests (Makefile.am): Likewise.
8825         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
8826         * modules/lseek-tests (Makefile.am): Likewise.
8827         * modules/parse-duration-tests (Makefile.am): Likewise.
8828         * modules/perror-tests (Makefile.am): Likewise.
8829         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
8830         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
8831         * modules/pipe-tests (Makefile.am): Likewise.
8832         * modules/pread-tests (Makefile.am): Likewise.
8833         * modules/printf-posix-tests (Makefile.am): Likewise.
8834         * modules/select-tests (Makefile.am): Likewise.
8835         * modules/sigpipe-tests (Makefile.am): Likewise.
8836         * modules/tsearch-tests (Makefile.am): Likewise.
8837         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
8838         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
8839         * modules/uniname/uniname-tests (Makefile.am): Likewise.
8840         * modules/uniwidth/width-tests (Makefile.am): Likewise.
8841         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
8842         * modules/version-etc-tests (Makefile.am): Likewise.
8843         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
8844         * modules/vprintf-posix-tests (Makefile.am): Likewise.
8845         * modules/xalloc-die-tests (Makefile.am): Likewise.
8846         * modules/xprintf-posix-tests (Makefile.am): Likewise.
8847         * modules/xstrtoimax-tests (Makefile.am): Likewise.
8848         * modules/xstrtol-tests (Makefile.am): Likewise.
8849         * modules/xstrtoumax-tests (Makefile.am): Likewise.
8850         * modules/yesno-tests (Makefile.am): Likewise.
8851         Suggested by Jim Meyering.
8852
8853 2010-01-24  Bruno Haible  <bruno@clisp.org>
8854
8855         More documentation.
8856         * doc/gnulib.texi (Writing modules): New chapter.
8857         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
8858         the new chapter.
8859
8860 2010-01-24  Jim Meyering  <meyering@redhat.com>
8861
8862         maint.mk: do not prepend "./" after filtering
8863         * top/maint.mk (_prepend_srcdir_prefix): New variable
8864         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
8865         "./" when $(srcdir) is ".".
8866
8867         define STREQ(a,b) consistently, removing useless parentheses
8868         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
8869         since the only risk is that "a" or "b" contains an unparenthesized
8870         comma, but if either did that, STREQ would have 3 or more arguments.
8871         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
8872         * lib/fts.c (STREQ): Remove unnecessary parentheses.
8873         * lib/hash-triple.c (STREQ): Likewise.
8874         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
8875         * lib/getugroups.c (STREQ): Likewise.
8876
8877 2010-01-23  Jim Meyering  <meyering@redhat.com>
8878
8879         maint.mk: fix syntax-check in a non-srcdir build directory
8880         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
8881         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
8882
8883 2010-01-22  Jim Meyering  <meyering@redhat.com>
8884
8885         userspec: add unit tests
8886         * tests/test-userspec.c: New file.
8887         * modules/userspec-tests: Likewise.
8888
8889 2010-01-21  Jim Meyering  <meyering@redhat.com>
8890
8891         maint.mk: handle source file names containing "." robustly
8892         * top/maint.mk (_dot_escaped_srcdir): Define.
8893         (VC_LIST): Use it in LHS of sed substitution.
8894
8895 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
8896
8897         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
8898         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
8899         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
8900         from a non-srcdir build.
8901
8902 2010-01-20  Eric Blake  <ebb9@byu.net>
8903
8904         warn-on-use: use instead of link-warning
8905         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
8906         * modules/unistd (Depends-on, Makefile.am): Likewise.
8907         * modules/arpa_inet (Depends-on): Replace link-warning with
8908         warn-on-use.
8909         (Makefile.am): Update rules accordingly.
8910         * modules/ctype (Depends-on, Makefile.am): Likewise.
8911         * modules/dirent (Depends-on, Makefile.am): Likewise.
8912         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
8913         * modules/inttypes (Depends-on, Makefile.am): Likewise.
8914         * modules/langinfo (Depends-on, Makefile.am): Likewise.
8915         * modules/locale (Depends-on, Makefile.am): Likewise.
8916         * modules/math (Depends-on, Makefile.am): Likewise.
8917         * modules/search (Depends-on, Makefile.am): Likewise.
8918         * modules/signal (Depends-on, Makefile.am): Likewise.
8919         * modules/spawn (Depends-on, Makefile.am): Likewise.
8920         * modules/stdlib (Depends-on, Makefile.am): Likewise.
8921         * modules/string (Depends-on, Makefile.am): Likewise.
8922         * modules/strings (Depends-on, Makefile.am): Likewise.
8923         * modules/sys_file (Depends-on, Makefile.am): Likewise.
8924         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
8925         * modules/sys_select (Depends-on, Makefile.am): Likewise.
8926         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
8927         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
8928         * modules/sys_times (Depends-on, Makefile.am): Likewise.
8929         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
8930         * modules/wchar (Depends-on, Makefile.am): Likewise.
8931         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
8932         should be poisoned.
8933         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
8934         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
8935         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
8936         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
8937         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
8938         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
8939         * m4/math_h.m4 (gl_MATH_H): Likewise.
8940         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
8941         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8942         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8943         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
8944         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
8945         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
8946         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
8947         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
8948         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
8949         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
8950         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
8951         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
8952         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
8953         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
8954         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8955         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
8956         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
8957         GL_LINK_WARNING.
8958         * lib/ctype.in.h: Likewise.
8959         * lib/dirent.in.h: Likewise.
8960         * lib/fcntl.in.h: Likewise.
8961         * lib/inttypes.in.h: Likewise.
8962         * lib/langinfo.in.h: Likewise.
8963         * lib/locale.in.h: Likewise.
8964         * lib/math.in.h: Likewise.
8965         * lib/search.in.h: Likewise.
8966         * lib/signal.in.h: Likewise.
8967         * lib/spawn.in.h: Likewise.
8968         * lib/stdio.in.h: Likewise.
8969         * lib/stdlib.in.h: Likewise.
8970         * lib/string.in.h: Likewise.
8971         * lib/strings.in.h: Likewise.
8972         * lib/sys_file.in.h: Likewise.
8973         * lib/sys_ioctl.in.h: Likewise.
8974         * lib/sys_select.in.h: Likewise.
8975         * lib/sys_socket.in.h: Likewise.
8976         * lib/sys_stat.in.h: Likewise.
8977         * lib/sys_times.in.h: Likewise.
8978         * lib/sys_utsname.in.h: Likewise.
8979         * lib/unistd.in.h: Likewise.
8980         * lib/wchar.in.h: Likewise.
8981
8982 2010-01-20  Bruno Haible  <bruno@clisp.org>
8983
8984         Avoid duplicate -lm.
8985         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
8986         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
8987         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
8988         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
8989         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
8990         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
8991         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
8992         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
8993         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
8994         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
8995         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
8996         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
8997         Reported by Paolo Bonzini.
8998
8999 2010-01-19  Bruno Haible  <bruno@clisp.org>
9000
9001         langinfo, nl_langinfo: Relicense under LGPLv2+.
9002         * modules/langinfo (License): Change to LGPLv2+.
9003         * modules/nl_langinfo (License): Likewise.
9004         Patch by David Lutterkort <lutter@redhat.com>.
9005
9006 2010-01-19  Bruno Haible  <bruno@clisp.org>
9007
9008         Avoid compilation error with cc on OSF/1 5.1.
9009         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
9010         statement, not before.
9011         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9012
9013 2010-01-18  Bruno Haible  <bruno@clisp.org>
9014
9015         Avoid a link error due to the __printf__ symbol.
9016         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
9017         and 2.6.x.
9018         (__format__, __printf__): Remove definitions.
9019         * lib/argp-fmtstream.h: Likewise.
9020         * lib/argp.h: Likewise.
9021         * lib/error.h: Likewise.
9022         * lib/vasnprintf.h: Likewise.
9023         * lib/xprintf.h: Likewise.
9024         * lib/xvasprintf.h: Likewise.
9025         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9026
9027 2010-01-18  Bruno Haible  <bruno@clisp.org>
9028
9029         Tests for module 'tanl'.
9030         * modules/tanl-tests: New file.
9031         * tests/test-tanl.c: New file.
9032
9033         Tests for module 'sqrtl'.
9034         * modules/sqrtl-tests: New file.
9035         * tests/test-sqrtl.c: New file.
9036
9037         Tests for module 'sinl'.
9038         * modules/sinl-tests: New file.
9039         * tests/test-sinl.c: New file.
9040
9041         Tests for module 'logl'.
9042         * modules/logl-tests: New file.
9043         * tests/test-logl.c: New file.
9044
9045         Tests for module 'expl'.
9046         * modules/expl-tests: New file.
9047         * tests/test-expl.c: New file.
9048
9049         Tests for module 'cosl'.
9050         * modules/cosl-tests: New file.
9051         * tests/test-cosl.c: New file.
9052
9053         Tests for module 'atanl'.
9054         * modules/atanl-tests: New file.
9055         * tests/test-atanl.c: New file.
9056
9057         Tests for module 'asinl'.
9058         * modules/asinl-tests: New file.
9059         * tests/test-asinl.c: New file.
9060
9061         Tests for module 'acosl'.
9062         * modules/acosl-tests: New file.
9063         * tests/test-acosl.c: New file.
9064
9065         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
9066         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
9067         tanl): Use the standard gnulib idiom.
9068         * lib/cosl.c: Don't include trigl.c and sincosl.c.
9069         * lib/sinl.c: Likewise.
9070         * lib/tanl.c: Don't include trigl.c.
9071         (kernel_tanl): Make static.
9072         * lib/sincosl.c: Include trigl.h first.
9073         * lib/trigl.c: Likewise.
9074         * m4/acosl.m4: New file.
9075         * m4/asinl.m4: New file.
9076         * m4/atanl.m4: New file.
9077         * m4/cosl.m4: New file.
9078         * m4/expl.m4: New file.
9079         * m4/logl.m4: New file.
9080         * m4/sinl.m4: New file.
9081         * m4/sqrtl.m4: New file.
9082         * m4/tanl.m4: New file.
9083         * m4/mathl.m4: Remove file.
9084         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
9085         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
9086         Don't initialize GNULIB_MATHL.
9087         * modules/acosl: New file.
9088         * modules/asinl: New file.
9089         * modules/atanl: New file.
9090         * modules/cosl: New file.
9091         * modules/expl: New file.
9092         * modules/logl: New file.
9093         * modules/sinl: New file.
9094         * modules/sqrtl: New file.
9095         * modules/tanl: New file.
9096         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
9097         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
9098         substitute GNULIB_MATHL.
9099         * modules/mathl: Rewritten.
9100         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
9101         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
9102         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
9103         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
9104         * doc/posix-functions/expl.texi: Mention the 'expl' module.
9105         * doc/posix-functions/logl.texi: Mention the 'logl' module.
9106         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
9107         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
9108         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
9109
9110 2010-01-18  Bruno Haible  <bruno@clisp.org>
9111
9112         sqrt: Make gl_FUNC_SQRT requirable.
9113         * m4/sqrt.m4: New file.
9114         * modules/sqrt (Files): Add it.
9115         (configure.ac): Invoke gl_FUNC_SQRT.
9116
9117 2010-01-18  Bruno Haible  <bruno@clisp.org>
9118
9119         New modules for common <math.h> functions.
9120         * m4/mathfunc.m4: New file.
9121         * modules/acos: New file.
9122         * modules/asin: New file.
9123         * modules/atan: New file.
9124         * modules/atan2: New file.
9125         * modules/cbrt: New file.
9126         * modules/copysign: New file.
9127         * modules/cos: New file.
9128         * modules/cosh: New file.
9129         * modules/erf: New file.
9130         * modules/erfc: New file.
9131         * modules/exp: New file.
9132         * modules/fabs: New file.
9133         * modules/fmod: New file.
9134         * modules/hypot: New file.
9135         * modules/j0: New file.
9136         * modules/j1: New file.
9137         * modules/jn: New file.
9138         * modules/ldexp: New file.
9139         * modules/lgamma: New file.
9140         * modules/log: New file.
9141         * modules/log10: New file.
9142         * modules/log1p: New file.
9143         * modules/logb: New file.
9144         * modules/modf: New file.
9145         * modules/nextafter: New file.
9146         * modules/pow: New file.
9147         * modules/remainder: New file.
9148         * modules/rint: New file.
9149         * modules/sin: New file.
9150         * modules/sinh: New file.
9151         * modules/sqrt: New file.
9152         * modules/tan: New file.
9153         * modules/tanh: New file.
9154         * modules/y0: New file.
9155         * modules/y1: New file.
9156         * modules/yn: New file.
9157         * doc/posix-functions/acos.texi: Mention the 'acos' module.
9158         * doc/posix-functions/asin.texi: Mention the 'asin' module.
9159         * doc/posix-functions/atan.texi: Mention the 'atan' module.
9160         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
9161         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
9162         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
9163         * doc/posix-functions/cos.texi: Mention the 'cos' module.
9164         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
9165         * doc/posix-functions/erf.texi: Mention the 'erf' module.
9166         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
9167         * doc/posix-functions/exp.texi: Mention the 'exp' module.
9168         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
9169         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
9170         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
9171         * doc/posix-functions/j0.texi: Mention the 'j0' module.
9172         * doc/posix-functions/j1.texi: Mention the 'j1' module.
9173         * doc/posix-functions/jn.texi: Mention the 'jn' module.
9174         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
9175         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
9176         * doc/posix-functions/log.texi: Mention the 'log' module.
9177         * doc/posix-functions/log10.texi: Mention the 'log10' module.
9178         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
9179         * doc/posix-functions/logb.texi: Mention the 'logb' module.
9180         * doc/posix-functions/modf.texi: Mention the 'modf' module.
9181         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
9182         * doc/posix-functions/pow.texi: Mention the 'pow' module.
9183         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
9184         * doc/posix-functions/rint.texi: Mention the 'rint' module.
9185         * doc/posix-functions/sin.texi: Mention the 'sin' module.
9186         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
9187         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
9188         * doc/posix-functions/tan.texi: Mention the 'tan' module.
9189         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
9190         * doc/posix-functions/y0.texi: Mention the 'y0' module.
9191         * doc/posix-functions/y1.texi: Mention the 'y1' module.
9192         * doc/posix-functions/yn.texi: Mention the 'yn' module.
9193
9194 2010-01-18  Jim Meyering  <meyering@redhat.com>
9195
9196         ignore-value: relax license to LGPLv2+
9197         * modules/ignore-value (License): Relax to LGPLv2+.
9198
9199         getdate: don't leak when TZ contains two or more '"'s
9200         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
9201         double quote in TZ after the first one.
9202
9203         readtokens: do not leak internal token_lengths buffer
9204         * lib/readtokens.c (readtokens): Free the local, lengths,
9205         when the supplied "token_lengths" parameter is NULL.
9206
9207 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9208
9209         Fix a couple of missing LIBTHREAD link failures on AIX.
9210         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
9211         $(LIBTHREAD).
9212         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
9213
9214         Link test-poll against INET_PTON_LIB.
9215         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
9216         for inet_pton on Solaris 10.
9217
9218 2010-01-17  Bruno Haible  <bruno@clisp.org>
9219
9220         unistdio/*-sprintf: Fix typo in module description.
9221         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
9222         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
9223         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
9224         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
9225         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
9226         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
9227         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
9228         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9229
9230 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
9231
9232         gnulib-tool: fix filelist for AIX, HP-UX ksh.
9233         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
9234         variables in shell case patterns, for AIX and HP-UX ksh.
9235
9236         Split large sed scripts, for HP-UX sed.
9237         * modules/stdio: Split sed scripts around 50 sed commands,
9238         to avoid HP-UX limit of 99 commands, in the near future.
9239         * modules/string: Likewise.
9240         * modules/unistd: Likewise.
9241
9242         gnulib-tool: avoid writing in the current directory.
9243         * gnulib-tool (func_emit_lib_Makefile_am)
9244         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
9245         not in the current directory, so concurrent gnulib-tool
9246         instances do not interfere.
9247
9248 2010-01-16  Jim Meyering  <meyering@redhat.com>
9249
9250         doc: update users.txt
9251         * users.txt: Add grep.
9252         (diffutils, gzip): Update URLs.
9253
9254 2010-01-12  Bruno Haible  <bruno@clisp.org>
9255
9256         posix_spawn: Avoid test failure on Cygwin.
9257         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
9258         characters.
9259         Reported by Simon Josefsson.
9260
9261 2010-01-12  Bruno Haible  <bruno@clisp.org>
9262
9263         * tests/test-cond.c (main): When skipping the test, show the reason.
9264
9265 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9266
9267         * lib/striconv.c (str_cd_iconv): Avoid if before free.
9268
9269 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9270
9271         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
9272         VC_LIST_ALWAYS_EXCLUDE_REGEX.
9273
9274 2010-01-12  Eric Blake  <ebb9@byu.net>
9275
9276         build: guarantee AS_VAR_IF
9277         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
9278         (gl_AS_VAR_IF): Move...
9279         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
9280         Reported by Simon Josefsson.
9281
9282 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9283
9284         * lib/stdio.in.h: Fix typo.
9285
9286 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9287
9288         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
9289         libgpg-error.
9290
9291 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9292
9293         * tests/test-xalloc-die.sh: Use $EXEEXT.
9294
9295 2010-01-12  Simon Josefsson  <simon@josefsson.org>
9296             Bruno Haible  <bruno@clisp.org>
9297
9298         getlogin, getlogin_r: Avoid test failure.
9299         * tests/test-getlogin.c: Include <stdio.h>.
9300         (main): Skip the test when the function fails because stdin is not a
9301         tty.
9302         * tests/test-getlogin_r.c: Include <stdio.h>.
9303         (main): Skip the test when the function fails because stdin is not a
9304         tty.
9305
9306 2010-01-11  Eric Blake  <ebb9@byu.net>
9307
9308         tests: avoid more large file warnings
9309         * tests/test-fflush.c: Avoid warning about ftell use.
9310         * tests/test-fseek.c: Avoid warning about fseek use.
9311
9312 2010-01-10  Bruno Haible  <bruno@clisp.org>
9313
9314         nproc: Work better on Linux when /proc and /sys are not mounted.
9315         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
9316         as lower bound when, on glibc/Linux systems,
9317         sysconf (_SC_NPROCESSORS_CONF) returns 1.
9318         Suggested by Pádraig Brady <P@draigbrady.com>.
9319         Reported by Dmitry V. Levin <ldv@altlinux.org>.
9320
9321         nproc: Refactor.
9322         * lib/nproc.c (num_processors_via_affinity_mask): New function,
9323         extracted from num_processors.
9324         (num_processors): Call it.
9325
9326 2010-01-11  Jim Meyering  <meyering@redhat.com>
9327
9328         utimecmp: avoid new warning from upcoming gcc-4.5.0
9329         * lib/utimecmp.c (BILLION): Define using #define rather than an
9330         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
9331
9332 2010-01-11  Eric Blake  <ebb9@byu.net>
9333
9334         math: add portability warnings for classification macros
9335         * modules/math (Depends-on): Add warn-on-use.
9336         (Makefile.am): Provide new substitutions.
9337         * m4/math_h.m4 (gl_MATH_H): Require inline.
9338         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
9339         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
9340         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
9341         implement warnings.
9342
9343         unistd: warn on use of environ without module
9344         * modules/unistd (Depends-on): Add warn-on-use.
9345         (Makefile.am): Provide new substitutions.
9346         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
9347         * lib/unistd.in.h (environ): Wrap with a warning helper function.
9348
9349         stdio: warn on suspicious uses
9350         * modules/stdio (Depends-on): Add warn-on-use.
9351         (Makefile.am): Provide new substitutions.
9352         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
9353         fseeko.
9354         * lib/stdio.in.h (gets): Always warn on use.
9355         (fseek, ftell): Adjust when warnings are issued, and honor
9356         _GL_NO_LARGE_FILES as a way to silence the warning.
9357         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
9358         any warning about large file offsets.
9359         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
9360         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
9361         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
9362         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
9363         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
9364         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
9365         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
9366         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
9367
9368         warn-on-use: new module
9369         * modules/warn-on-use: New file.
9370         * build-aux/warn-on-use.h: Likewise.
9371         * m4/warn-on-use.m4: Likewise.
9372         * MODULES.html.sh (Support for building): Mention it.
9373
9374 2010-01-10  Bruno Haible  <bruno@clisp.org>
9375
9376         Tests for module 'unistr/u32-strdup'.
9377         * modules/unistr/u32-strdup-tests: New file.
9378         * tests/unistr/test-u32-strdup.c: New file.
9379
9380         Tests for module 'unistr/u16-strdup'.
9381         * modules/unistr/u16-strdup-tests: New file.
9382         * tests/unistr/test-u16-strdup.c: New file.
9383
9384         Tests for module 'unistr/u8-strdup'.
9385         * modules/unistr/u8-strdup-tests: New file.
9386         * tests/unistr/test-u8-strdup.c: New file.
9387         * tests/unistr/test-strdup.h: New file.
9388
9389         Tests for module 'unistr/u32-strncmp'.
9390         * modules/unistr/u32-strncmp-tests: New file.
9391         * tests/unistr/test-u32-strncmp.c: New file.
9392
9393         Tests for module 'unistr/u16-strncmp'.
9394         * modules/unistr/u16-strncmp-tests: New file.
9395         * tests/unistr/test-u16-strncmp.c: New file.
9396
9397         Tests for module 'unistr/u8-strncmp'.
9398         * modules/unistr/u8-strncmp-tests: New file.
9399         * tests/unistr/test-u8-strncmp.c: New file.
9400         * tests/unistr/test-strncmp.h: New file.
9401
9402         Tests for module 'unistr/u32-strcoll'.
9403         * modules/unistr/u32-strcoll-tests: New file.
9404         * tests/unistr/test-u32-strcoll.c: New file.
9405
9406         Tests for module 'unistr/u16-strcoll'.
9407         * modules/unistr/u16-strcoll-tests: New file.
9408         * tests/unistr/test-u16-strcoll.c: New file.
9409
9410         Tests for module 'unistr/u8-strcoll'.
9411         * modules/unistr/u8-strcoll-tests: New file.
9412         * tests/unistr/test-u8-strcoll.c: New file.
9413
9414         Tests for module 'unistr/u32-strcmp'.
9415         * modules/unistr/u32-strcmp-tests: New file.
9416         * tests/unistr/test-u32-strcmp.c: New file.
9417         * tests/unistr/test-u32-strcmp.h: New file.
9418
9419         Tests for module 'unistr/u16-strcmp'.
9420         * modules/unistr/u16-strcmp-tests: New file.
9421         * tests/unistr/test-u16-strcmp.c: New file.
9422         * tests/unistr/test-u16-strcmp.h: New file.
9423
9424         Tests for module 'unistr/u8-strcmp'.
9425         * modules/unistr/u8-strcmp-tests: New file.
9426         * tests/unistr/test-u8-strcmp.c: New file.
9427         * tests/unistr/test-u8-strcmp.h: New file.
9428         * tests/unistr/test-strcmp.h: New file.
9429
9430         Tests for module 'unistr/u32-strncat'.
9431         * modules/unistr/u32-strncat-tests: New file.
9432         * tests/unistr/test-u32-strncat.c: New file.
9433
9434         Tests for module 'unistr/u16-strncat'.
9435         * modules/unistr/u16-strncat-tests: New file.
9436         * tests/unistr/test-u16-strncat.c: New file.
9437
9438         Tests for module 'unistr/u8-strncat'.
9439         * modules/unistr/u8-strncat-tests: New file.
9440         * tests/unistr/test-u8-strncat.c: New file.
9441         * tests/unistr/test-strncat.h: New file.
9442
9443         Tests for module 'unistr/u32-strcat'.
9444         * modules/unistr/u32-strcat-tests: New file.
9445         * tests/unistr/test-u32-strcat.c: New file.
9446
9447         Tests for module 'unistr/u16-strcat'.
9448         * modules/unistr/u16-strcat-tests: New file.
9449         * tests/unistr/test-u16-strcat.c: New file.
9450
9451         Tests for module 'unistr/u8-strcat'.
9452         * modules/unistr/u8-strcat-tests: New file.
9453         * tests/unistr/test-u8-strcat.c: New file.
9454         * tests/unistr/test-strcat.h: New file.
9455
9456         Tests for module 'unistr/u32-stpncpy'.
9457         * modules/unistr/u32-stpncpy-tests: New file.
9458         * tests/unistr/test-u32-stpncpy.c: New file.
9459
9460         Tests for module 'unistr/u16-stpncpy'.
9461         * modules/unistr/u16-stpncpy-tests: New file.
9462         * tests/unistr/test-u16-stpncpy.c: New file.
9463
9464         Tests for module 'unistr/u8-stpncpy'.
9465         * modules/unistr/u8-stpncpy-tests: New file.
9466         * tests/unistr/test-u8-stpncpy.c: New file.
9467         * tests/unistr/test-stpncpy.h: New file.
9468
9469         Tests for module 'unistr/u32-strncpy'.
9470         * modules/unistr/u32-strncpy-tests: New file.
9471         * tests/unistr/test-u32-strncpy.c: New file.
9472
9473         Tests for module 'unistr/u16-strncpy'.
9474         * modules/unistr/u16-strncpy-tests: New file.
9475         * tests/unistr/test-u16-strncpy.c: New file.
9476
9477         Tests for module 'unistr/u8-strncpy'.
9478         * modules/unistr/u8-strncpy-tests: New file.
9479         * tests/unistr/test-u8-strncpy.c: New file.
9480         * tests/unistr/test-strncpy.h: New file.
9481
9482         Tests for module 'unistr/u32-stpcpy'.
9483         * modules/unistr/u32-stpcpy-tests: New file.
9484         * tests/unistr/test-u32-stpcpy.c: New file.
9485
9486         Tests for module 'unistr/u16-stpcpy'.
9487         * modules/unistr/u16-stpcpy-tests: New file.
9488         * tests/unistr/test-u16-stpcpy.c: New file.
9489
9490         Tests for module 'unistr/u8-stpcpy'.
9491         * modules/unistr/u8-stpcpy-tests: New file.
9492         * tests/unistr/test-u8-stpcpy.c: New file.
9493         * tests/unistr/test-stpcpy.h: New file.
9494
9495         Tests for module 'unistr/u32-strcpy'.
9496         * modules/unistr/u32-strcpy-tests: New file.
9497         * tests/unistr/test-u32-strcpy.c: New file.
9498
9499         Tests for module 'unistr/u16-strcpy'.
9500         * modules/unistr/u16-strcpy-tests: New file.
9501         * tests/unistr/test-u16-strcpy.c: New file.
9502
9503         Tests for module 'unistr/u8-strcpy'.
9504         * modules/unistr/u8-strcpy-tests: New file.
9505         * tests/unistr/test-u8-strcpy.c: New file.
9506         * tests/unistr/test-strcpy.h: New file.
9507
9508         Tests for module 'unistr/u32-strnlen'.
9509         * modules/unistr/u32-strnlen-tests: New file.
9510         * tests/unistr/test-u32-strnlen.c: New file.
9511
9512         Tests for module 'unistr/u16-strnlen'.
9513         * modules/unistr/u16-strnlen-tests: New file.
9514         * tests/unistr/test-u16-strnlen.c: New file.
9515
9516         Tests for module 'unistr/u8-strnlen'.
9517         * modules/unistr/u8-strnlen-tests: New file.
9518         * tests/unistr/test-u8-strnlen.c: New file.
9519         * tests/unistr/test-strnlen.h: New file.
9520
9521         Tests for module 'unistr/u32-strlen'.
9522         * modules/unistr/u32-strlen-tests: New file.
9523         * tests/unistr/test-u32-strlen.c: New file.
9524
9525         Tests for module 'unistr/u16-strlen'.
9526         * modules/unistr/u16-strlen-tests: New file.
9527         * tests/unistr/test-u16-strlen.c: New file.
9528
9529         Tests for module 'unistr/u8-strlen'.
9530         * modules/unistr/u8-strlen-tests: New file.
9531         * tests/unistr/test-u8-strlen.c: New file.
9532
9533         Tests for module 'unistr/u32-prev'.
9534         * modules/unistr/u32-prev-tests: New file.
9535         * tests/unistr/test-u32-prev.c: New file.
9536
9537         Tests for module 'unistr/u16-prev'.
9538         * modules/unistr/u16-prev-tests: New file.
9539         * tests/unistr/test-u16-prev.c: New file.
9540
9541         Tests for module 'unistr/u8-prev'.
9542         * modules/unistr/u8-prev-tests: New file.
9543         * tests/unistr/test-u8-prev.c: New file.
9544
9545         Tests for module 'unistr/u32-next'.
9546         * modules/unistr/u32-next-tests: New file.
9547         * tests/unistr/test-u32-next.c: New file.
9548
9549         Tests for module 'unistr/u16-next'.
9550         * modules/unistr/u16-next-tests: New file.
9551         * tests/unistr/test-u16-next.c: New file.
9552
9553         Tests for module 'unistr/u8-next'.
9554         * modules/unistr/u8-next-tests: New file.
9555         * tests/unistr/test-u8-next.c: New file.
9556
9557         Tests for module 'unistr/u32-strmbtouc'.
9558         * modules/unistr/u32-strmbtouc-tests: New file.
9559         * tests/unistr/test-u32-strmbtouc.c: New file.
9560
9561         Tests for module 'unistr/u16-strmbtouc'.
9562         * modules/unistr/u16-strmbtouc-tests: New file.
9563         * tests/unistr/test-u16-strmbtouc.c: New file.
9564
9565         Tests for module 'unistr/u8-strmbtouc'.
9566         * modules/unistr/u8-strmbtouc-tests: New file.
9567         * tests/unistr/test-u8-strmbtouc.c: New file.
9568
9569         Tests for module 'unistr/u32-strmblen'.
9570         * modules/unistr/u32-strmblen-tests: New file.
9571         * tests/unistr/test-u32-strmblen.c: New file.
9572
9573         Tests for module 'unistr/u16-strmblen'.
9574         * modules/unistr/u16-strmblen-tests: New file.
9575         * tests/unistr/test-u16-strmblen.c: New file.
9576
9577         Tests for module 'unistr/u8-strmblen'.
9578         * modules/unistr/u8-strmblen-tests: New file.
9579         * tests/unistr/test-u8-strmblen.c: New file.
9580
9581         Tests for module 'unistr/u32-cpy-alloc'.
9582         * modules/unistr/u32-cpy-alloc-tests: New file.
9583         * tests/unistr/test-u32-cpy-alloc.c: New file.
9584
9585         Tests for module 'unistr/u16-cpy-alloc'.
9586         * modules/unistr/u16-cpy-alloc-tests: New file.
9587         * tests/unistr/test-u16-cpy-alloc.c: New file.
9588
9589         Tests for module 'unistr/u8-cpy-alloc'.
9590         * modules/unistr/u8-cpy-alloc-tests: New file.
9591         * tests/unistr/test-u8-cpy-alloc.c: New file.
9592         * tests/unistr/test-cpy-alloc.h: New file.
9593
9594         Tests for module 'unistr/u32-mbsnlen'.
9595         * modules/unistr/u32-mbsnlen-tests: New file.
9596         * tests/unistr/test-u32-mbsnlen.c: New file.
9597
9598         Tests for module 'unistr/u16-mbsnlen'.
9599         * modules/unistr/u16-mbsnlen-tests: New file.
9600         * tests/unistr/test-u16-mbsnlen.c: New file.
9601
9602         Tests for module 'unistr/u8-mbsnlen'.
9603         * modules/unistr/u8-mbsnlen-tests: New file.
9604         * tests/unistr/test-u8-mbsnlen.c: New file.
9605
9606         Tests for module 'unistr/u32-chr'.
9607         * modules/unistr/u32-chr-tests: New file.
9608         * tests/unistr/test-u32-chr.c: New file.
9609
9610         Tests for module 'unistr/u16-chr'.
9611         * modules/unistr/u16-chr-tests: New file.
9612         * tests/unistr/test-u16-chr.c: New file.
9613
9614         Tests for module 'unistr/u8-chr'.
9615         * modules/unistr/u8-chr-tests: New file.
9616         * tests/unistr/test-u8-chr.c: New file.
9617         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
9618
9619         Tests for module 'unistr/u32-cmp2'.
9620         * modules/unistr/u32-cmp2-tests: New file.
9621         * tests/unistr/test-u32-cmp2.c: New file.
9622
9623         Tests for module 'unistr/u16-cmp2'.
9624         * modules/unistr/u16-cmp2-tests: New file.
9625         * tests/unistr/test-u16-cmp2.c: New file.
9626
9627         Tests for module 'unistr/u8-cmp2'.
9628         * modules/unistr/u8-cmp2-tests: New file.
9629         * tests/unistr/test-u8-cmp2.c: New file.
9630         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
9631
9632         Tests for module 'unistr/u32-cmp'.
9633         * modules/unistr/u32-cmp-tests: New file.
9634         * tests/unistr/test-u32-cmp.c: New file.
9635
9636         Tests for module 'unistr/u16-cmp'.
9637         * modules/unistr/u16-cmp-tests: New file.
9638         * tests/unistr/test-u16-cmp.c: New file.
9639
9640         Tests for module 'unistr/u8-cmp'.
9641         * modules/unistr/u8-cmp-tests: New file.
9642         * tests/unistr/test-u8-cmp.c: New file.
9643         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
9644
9645         Tests for module 'unistr/u32-set'.
9646         * modules/unistr/u32-set-tests: New file.
9647         * tests/unistr/test-u32-set.c: New file.
9648
9649         Tests for module 'unistr/u16-set'.
9650         * modules/unistr/u16-set-tests: New file.
9651         * tests/unistr/test-u16-set.c: New file.
9652
9653         Tests for module 'unistr/u8-set'.
9654         * modules/unistr/u8-set-tests: New file.
9655         * tests/unistr/test-u8-set.c: New file.
9656         * tests/unistr/test-set.h: New file.
9657
9658         Tests for module 'unistr/u32-move'.
9659         * modules/unistr/u32-move-tests: New file.
9660         * tests/unistr/test-u32-move.c: New file.
9661
9662         Tests for module 'unistr/u16-move'.
9663         * modules/unistr/u16-move-tests: New file.
9664         * tests/unistr/test-u16-move.c: New file.
9665
9666         Tests for module 'unistr/u8-move'.
9667         * modules/unistr/u8-move-tests: New file.
9668         * tests/unistr/test-u8-move.c: New file.
9669         * tests/unistr/test-move.h: New file.
9670
9671         Tests for module 'unistr/u32-cpy'.
9672         * modules/unistr/u32-cpy-tests: New file.
9673         * tests/unistr/test-u32-cpy.c: New file.
9674
9675         Tests for module 'unistr/u16-cpy'.
9676         * modules/unistr/u16-cpy-tests: New file.
9677         * tests/unistr/test-u16-cpy.c: New file.
9678
9679         Tests for module 'unistr/u8-cpy'.
9680         * modules/unistr/u8-cpy-tests: New file.
9681         * tests/unistr/test-u8-cpy.c: New file.
9682         * tests/unistr/test-cpy.h: New file.
9683
9684 2010-01-09  Bruno Haible  <bruno@clisp.org>
9685
9686         Tests for module 'unistr/u32-uctomb'.
9687         * modules/unistr/u32-uctomb-tests: New file.
9688         * tests/unistr/test-u32-uctomb.c: New file.
9689
9690         Tests for module 'unistr/u16-uctomb'.
9691         * modules/unistr/u16-uctomb-tests: New file.
9692         * tests/unistr/test-u16-uctomb.c: New file.
9693
9694         Tests for module 'unistr/u8-uctomb'.
9695         * modules/unistr/u8-uctomb-tests: New file.
9696         * tests/unistr/test-u8-uctomb.c: New file.
9697
9698         Tests for module 'unistr/u32-mbtoucr'.
9699         * modules/unistr/u32-mbtoucr-tests: New file.
9700         * tests/unistr/test-u32-mbtoucr.c: New file.
9701
9702         Tests for module 'unistr/u16-mbtoucr'.
9703         * modules/unistr/u16-mbtoucr-tests: New file.
9704         * tests/unistr/test-u16-mbtoucr.c: New file.
9705
9706         Tests for module 'unistr/u8-mbtoucr'.
9707         * modules/unistr/u8-mbtoucr-tests: New file.
9708         * tests/unistr/test-u8-mbtoucr.c: New file.
9709
9710         Tests for module 'unistr/u32-mbtouc'.
9711         * modules/unistr/u32-mbtouc-tests: New file.
9712         * tests/unistr/test-u32-mbtouc.c: New file.
9713
9714         Tests for module 'unistr/u16-mbtouc'.
9715         * modules/unistr/u16-mbtouc-tests: New file.
9716         * tests/unistr/test-u16-mbtouc.c: New file.
9717
9718         Tests for module 'unistr/u8-mbtouc'.
9719         * modules/unistr/u8-mbtouc-tests: New file.
9720         * tests/unistr/test-u8-mbtouc.c: New file.
9721
9722         Tests for module 'unistr/u32-mbtouc-unsafe'.
9723         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
9724         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
9725         * tests/unistr/test-u32-mbtouc.h: New file.
9726
9727         Tests for module 'unistr/u16-mbtouc-unsafe'.
9728         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
9729         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
9730         * tests/unistr/test-u16-mbtouc.h: New file.
9731
9732         Tests for module 'unistr/u8-mbtouc-unsafe'.
9733         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
9734         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
9735         * tests/unistr/test-u8-mbtouc.h: New file.
9736
9737         Tests for module 'unistr/u32-mblen'.
9738         * modules/unistr/u32-mblen-tests: New file.
9739         * tests/unistr/test-u32-mblen.c: New file.
9740
9741         Tests for module 'unistr/u16-mblen'.
9742         * modules/unistr/u16-mblen-tests: New file.
9743         * tests/unistr/test-u16-mblen.c: New file.
9744
9745         Tests for module 'unistr/u8-mblen'.
9746         * modules/unistr/u8-mblen-tests: New file.
9747         * tests/unistr/test-u8-mblen.c: New file.
9748
9749         Tests for module 'unistr/u32-to-u16'.
9750         * modules/unistr/u32-to-u16-tests: New file.
9751         * tests/unistr/test-u32-to-u16.c: New file.
9752
9753         Tests for module 'unistr/u32-to-u8'.
9754         * modules/unistr/u32-to-u8-tests: New file.
9755         * tests/unistr/test-u32-to-u8.c: New file.
9756
9757         Tests for module 'unistr/u16-to-u32'.
9758         * modules/unistr/u16-to-u32-tests: New file.
9759         * tests/unistr/test-u16-to-u32.c: New file.
9760
9761         Tests for module 'unistr/u16-to-u8'.
9762         * modules/unistr/u16-to-u8-tests: New file.
9763         * tests/unistr/test-u16-to-u8.c: New file.
9764
9765         Tests for module 'unistr/u8-to-u32'.
9766         * modules/unistr/u8-to-u32-tests: New file.
9767         * tests/unistr/test-u8-to-u32.c: New file.
9768
9769         Tests for module 'unistr/u8-to-u16'.
9770         * modules/unistr/u8-to-u16-tests: New file.
9771         * tests/unistr/test-u8-to-u16.c: New file.
9772
9773         Tests for module 'unistr/u32-check'.
9774         * modules/unistr/u32-check-tests: New file.
9775         * tests/unistr/test-u32-check.c: New file.
9776
9777         Tests for module 'unistr/u16-check'.
9778         * modules/unistr/u16-check-tests: New file.
9779         * tests/unistr/test-u16-check.c: New file.
9780
9781         Tests for module 'unistr/u8-check'.
9782         * modules/unistr/u8-check-tests: New file.
9783         * tests/unistr/test-u8-check.c: New file.
9784
9785         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
9786         (category_equals): New function.
9787         (main): Add more tests.
9788         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
9789
9790         * tests/unictype/test-bidi_byname.c (main): Add more tests.
9791
9792 2010-01-10  Bruno Haible  <bruno@clisp.org>
9793
9794         unistr/u*-strcoll: Try harder to distinguish different strings.
9795         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
9796         compare s1 and s2 to see if they are different.
9797
9798 2010-01-10  Bruno Haible  <bruno@clisp.org>
9799
9800         unistr/u*-stpncpy: Fix the return value.
9801         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
9802         description of the return value consistent with stpncpy in glibc.
9803         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
9804         written non-NUL unit.
9805
9806 2010-01-10  Bruno Haible  <bruno@clisp.org>
9807
9808         unistr/u*-next: Add missing dependencies.
9809         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
9810         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
9811         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
9812
9813 2010-01-10  Bruno Haible  <bruno@clisp.org>
9814
9815         unistr/u8-mbsnlen: Fix return value for incomplete character.
9816         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
9817         u8_mblen.
9818         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
9819         Remove unistr/u8-mblen.
9820         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
9821         u16_mblen.
9822         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
9823         Remove unistr/u16-mblen.
9824
9825 2010-01-10  Bruno Haible  <bruno@clisp.org>
9826
9827         wchar: Fix compilation error when <wchar.h> is used from coreutils.
9828         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
9829         Reported by Brian Gough <bjg@gnu.org> and
9830         Chris Clayton <chris2553@googlemail.com> via
9831         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
9832
9833 2010-01-09  Bruno Haible  <bruno@clisp.org>
9834
9835         unistr/u16-to-u32: Reject invalid input.
9836         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
9837         u16_mbtouc.
9838         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
9839         Remove unistr/u16-mbtouc.
9840
9841         unistr/u16-to-u8: Reject invalid input.
9842         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
9843         u16_mbtouc.
9844         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
9845         Remove unistr/u16-mbtouc.
9846
9847         unistr/u8-to-u32: Reject invalid input.
9848         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
9849         u8_mbtouc.
9850         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
9851         Remove unistr/u8-mbtouc.
9852
9853         unistr/u8-to-u16: Reject invalid input.
9854         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
9855         u8_mbtouc.
9856         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
9857         Remove unistr/u8-mbtouc.
9858
9859 2010-01-09  Bruno Haible  <bruno@clisp.org>
9860
9861         Tests for module 'getlogin'.
9862         * modules/getlogin-tests: New file.
9863         * tests/test-getlogin.c: New file.
9864
9865         New module 'getlogin'.
9866         * lib/unistd.in.h (getlogin): New declaration.
9867         * lib/getlogin.c: New file.
9868         * m4/getlogin.m4: New file.
9869         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
9870         HAVE_GETLOGIN.
9871         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
9872         HAVE_GETLOGIN.
9873         * modules/getlogin: New file.
9874         * doc/posix-functions/getlogin.texi: Mention the new module.
9875         Reported by John W. Eaton <jwe@gnu.org>.
9876
9877 2010-01-09  Bruno Haible  <bruno@clisp.org>
9878
9879         getlogin_r: Support for native Windows.
9880         * lib/getlogin_r.c: Include <windows.h>
9881         (getlogin_r): Implement for native Windows.
9882         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
9883         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
9884         via John W. Eaton <jwe@gnu.org>.
9885
9886 2010-01-09  Bruno Haible  <bruno@clisp.org>
9887
9888         getlogin_r: Small fixes.
9889         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
9890         succeeds.
9891         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
9892         before testing whether getlogin_r is declared. No need to set
9893         HAVE_DECL_GETLOGIN_R to 1.
9894         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
9895
9896 2010-01-09  Bruno Haible  <bruno@clisp.org>
9897
9898         * lib/unistd.in.h (getlogin_r): Add comment.
9899
9900 2010-01-09  Bruno Haible  <bruno@clisp.org>
9901
9902         Tests for module 'getlogin_r'.
9903         * modules/getlogin_r-tests: New file.
9904         * tests/test-getlogin_r.c: New file.
9905
9906 2010-01-09  Jim Meyering  <meyering@redhat.com>
9907
9908         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
9909         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
9910         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
9911
9912 2010-01-08  Simon Josefsson  <simon@josefsson.org>
9913
9914         * lib/dup2.c (rpl_dup2): Improve comment.
9915
9916 2010-01-08  Eric Blake  <ebb9@byu.net>
9917
9918         maint.mk: allow packages to add makefile @@ exceptions
9919         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
9920         (sc_makefile_check): Rename...
9921         (sc_makefile_at_at_check): ...to this, and use hook.
9922
9923         dup2: work around mingw bug
9924         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
9925         Reported by Simon Josefsson.
9926
9927 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
9928
9929         glob: Fix C++ compilation.
9930         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
9931         C++.
9932
9933 2010-01-07  Bruno Haible  <bruno@clisp.org>
9934
9935         Fix indentation of wctype.in.h, broken since 2007-01-06.
9936         * lib/wctype.in.h: Fix indentation of preprocessor directives.
9937
9938 2010-01-07  Bruno Haible  <bruno@clisp.org>
9939
9940         mbslen: Avoid collision with system function.
9941         * lib/string.in.h [MirBSD]: Include <wchar.h>.
9942         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
9943         * m4/mbslen.m4: New file.
9944         * modules/mbslen (Files): Add it.
9945         (configure.ac): Invoke gl_MBSLEN.
9946         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
9947         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
9948         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
9949         via Ian Beckwith <ianb@erislabs.net>.
9950
9951 2010-01-07  Bruno Haible  <bruno@clisp.org>
9952
9953         dirent: Document the last fix.
9954         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
9955
9956 2010-01-07  Bruno Haible  <bruno@clisp.org>
9957
9958         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
9959         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
9960         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
9961         va_list are defined.
9962         * doc/posix-headers/stdio.texi: Document the bug of missing types.
9963         Reported by Eric Blake.
9964
9965 2010-01-07  Bruno Haible  <bruno@clisp.org>
9966
9967         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
9968         * modules/xlist (Depends-on): Add 'list',
9969         * modules/xoset (Depends-on): Add 'oset'.
9970         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
9971
9972 2010-01-07  Bruno Haible  <bruno@clisp.org>
9973
9974         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
9975         * doc/posix-functions/strncasecmp.texi: Likewise.
9976
9977 2010-01-07  Bruno Haible  <bruno@clisp.org>
9978
9979         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
9980
9981 2010-01-07  John W. Eaton  <jwe@octave.org>
9982
9983         wctype: allow C++ use
9984         * lib/wctype.in.h: Add extern "C" block for C++.
9985
9986 2010-01-06  Eric Blake  <ebb9@byu.net>
9987
9988         maint.mk: detect incorrect GFDL usage
9989         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
9990
9991 2010-01-06  Jim Meyering  <meyering@redhat.com>
9992         and Eric Blake  <ebb9@byu.net>
9993
9994         maint.mk: ignore multi-line copyright in NEWS
9995         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
9996
9997 2010-01-06  Eric Blake  <ebb9@byu.net>
9998
9999         select: add missing dependency
10000         * modules/select-tests (Depends-on): Move sockets dependency...
10001         * modules/select (Depends-on): ...here.
10002         Reported by Ian Beckwith.
10003
10004         doc: regenerate INSTALL
10005         * doc/INSTALL: Reflect recent autoconf update.
10006         * doc/INSTALL.ISO: Likewise.
10007         * doc/INSTALL.UTF-8: Likewise.
10008
10009         pread: fix compilation on glibc
10010         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
10011         Reported by Ralf Wildenhues.
10012
10013         dirent: fix test failure
10014         * lib/dirent.in.h (includes): Guarantee ino_t.
10015         Reported by Ralf Wildenhues.
10016
10017 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
10018
10019         linkat, renameat: avoid bad free
10020         * lib/at-func2.c (at_func2): Fix typo.
10021         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
10022
10023 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
10024
10025         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
10026         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
10027         to avoid failure of symlink test later.
10028
10029 2010-01-06  Eric Blake  <ebb9@byu.net>
10030
10031         stdio, unistd: guarantee ssize_t
10032         * lib/unistd.in.h (includes): Ensure that types required by POSIX
10033         2008 are exposed when needed.
10034         * lib/stdio.in.h (includes): Likewise.
10035         Reported by Ralf Wildenhues.
10036
10037 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
10038
10039         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
10040         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
10041         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
10042
10043 2010-01-06  Jim Meyering  <meyering@redhat.com>
10044
10045         readtokens: this module *does* require xalloc.h
10046         It uses only functions that were omitted by the old syntax-check rule.
10047         * lib/readtokens.c: Include "xalloc.h" once again.
10048         * modules/readtokens (Depends-on): Add xalloc.
10049         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
10050
10051 2010-01-05  Eric Blake  <ebb9@byu.net>
10052
10053         maint: support 'make announcement' from a VPATH build
10054         * top/maint.mk (announcement): Look for correct NEWS file.
10055
10056 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
10057
10058         utimens (fdutimens): ignore a negative FD, per contract
10059         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
10060         when we have a valid file descriptor.  Otherwise, using a brand
10061         new glibc (with just-patched futimens that now fails with EBADF)
10062         would cause this function to fail with ENOSYS.
10063         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
10064         See also http://bugzilla.redhat.com/552320.
10065
10066 2010-01-05  Eric Blake  <ebb9@byu.net>
10067
10068         strcase: document what it provides
10069         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
10070         gnulib module.
10071         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
10072         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
10073
10074 2010-01-05  Jim Meyering  <meyering@redhat.com>
10075
10076         maint: remove useless inclusions of "xalloc.h"
10077         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
10078         * lib/readtokens.c: Likewise.
10079         * lib/same.c: Likewise.
10080         * modules/getloadavg (Depends-on): Remove xalloc.
10081         * modules/readtokens: Likewise.
10082         * modules/same: Likewise.
10083
10084         maint.mk: include 4 more function names in alloca.h-checking regexp
10085         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
10086         regexp.  Before, we would give a false-positive (saying alloca.h
10087         is included unnecessarily) when the only uses involved omitted symbols.
10088
10089         xalloc.h: use consistent formatting
10090         * lib/xalloc.h: Move declarations to start in the first column.
10091
10092 2010-01-05  Eric Blake  <ebb9@byu.net>
10093
10094         mkdir: avoid xalloc
10095         * lib/mkdir.c (includes): Drop unused header.
10096         Reported by John W. Eaton.
10097
10098 2010-01-04  Jim Meyering  <meyering@redhat.com>
10099
10100         nl_langinfo: avoid configure-time syntax error
10101         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
10102         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
10103         the empty string.  Don't let that provoke a shell syntax error.
10104
10105         regcomp, regexec, fnmatch: avoid array bounds read error
10106         * lib/regcomp.c (build_equiv_class): From glibc:
10107         Use only the low 24 bits of a findidx return value as an index
10108         into the weights array.  Patch by Ulrich Drepper:
10109         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
10110         * lib/regexec.c (check_node_accept_bytes): Likewise.
10111         * lib/fnmatch_loop.c (FCT): Likewise.
10112
10113         regcomp: skip collseq lookup when there are no rules
10114         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
10115         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
10116
10117         regcomp: recognize ill-formed { } expressions
10118         * lib/regcomp.c (parse_dup_op): From glibc:
10119         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
10120
10121         regcomp: fix typo in comment
10122         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
10123         s/satisfy/satisfies/.
10124
10125         regcomp: sync from glibc: remove dead store
10126         * lib/regcomp.c (duplicate_node_closure): Remove useless
10127         search_duplicated_node call and dead store.
10128
10129         regcomp: sync from glibc; always use nl_langinfo
10130         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
10131         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
10132         * modules/regex (Depends-on): Add nl_langinfo.
10133
10134 2010-01-04  Eric Blake  <ebb9@byu.net>
10135
10136         fdopendir: fix configure test
10137         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
10138
10139 2010-01-01  Bruno Haible  <bruno@clisp.org>
10140
10141         wchar: Remove unused configure check.
10142         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
10143
10144 2010-01-01  Eric Blake  <ebb9@byu.net>
10145
10146         headers: make check of system header explicit
10147         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
10148         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
10149         ourselves.
10150         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
10151         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10152         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
10153         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
10154         internals.
10155         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
10156         missing.
10157         Suggested by Bruno Haible.
10158
10159 2010-01-01  Jim Meyering  <meyering@redhat.com>
10160
10161         ChangeLog: tweak to eliminate unnecessary copyright line
10162         * ChangeLog: Remove a copyright line that was mistakenly updated
10163         by today's update-copyright run.  Reported by Eric Blake.
10164
10165         test-update-copyright: don't let envvar setting cause test failure
10166         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
10167
10168 2010-01-01  Bruno Haible  <bruno@clisp.org>
10169
10170         localename: Avoid gcc warning.
10171         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
10172         function if it is not used.
10173
10174 2010-01-01  Jim Meyering  <meyering@redhat.com>
10175
10176         update nearly all FSF copyright year lists to include 2010
10177         Use the same procedure as for 2009, outlined in
10178         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
10179
10180         version-etc: set COPYRIGHT_YEAR to 2010
10181         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
10182
10183 2009-12-31  Eric Blake  <ebb9@byu.net>
10184
10185         doc: correct availability of cygwin 1.5.x getopt
10186         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
10187         variables.
10188         * doc/posix-functions/opterr.texi (opterr): Likewise.
10189         * doc/posix-functions/optind.texi (optind): Likewise.
10190         * doc/posix-functions/optopt.texi (optopt): Likewise.
10191         * doc/posix-functions/tzname.texi (tzname): Likewise.
10192
10193         openat: update maintainer
10194         * modules/openat (Maintainer): Add myself.
10195
10196         utimens: avoid shadowing warning
10197         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
10198         buffers into one, to avoid shadowing, as well as avoiding a
10199         redundant stat.
10200         Reported by Jim Meyering.
10201
10202         test-dup2: avoid compiler warning
10203         * tests/test-dup2.c (is_inheritable): Only define if used.
10204
10205 2010-01-01  Bruno Haible  <bruno@clisp.org>
10206
10207         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
10208         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
10209         defined, use wctomb instead of wcrtomb.
10210
10211 2010-01-01  Bruno Haible  <bruno@clisp.org>
10212
10213         iconv: Reject native Solaris iconv.
10214         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
10215         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
10216
10217 2009-12-31  Bruno Haible  <bruno@clisp.org>
10218
10219         * tests/test-signal.c (main): Remove test of 'SIG'.
10220
10221 2009-12-31  Bruno Haible  <bruno@clisp.org>
10222
10223         spawn: Fix incomplete fix.
10224         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
10225         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
10226         warnings for GNULIB_POSIXCHECK again.
10227         Reported by Eric Blake.
10228
10229 2009-12-31  Bruno Haible  <bruno@clisp.org>
10230
10231         Avoid namespace pollution on glibc systems.
10232         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
10233         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
10234         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
10235         glibc systems.
10236
10237 2009-12-31  Bruno Haible  <bruno@clisp.org>
10238
10239         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
10240         (gl_REPLACE_WCHAR_H): Turn into a no-op.
10241         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
10242         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
10243         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
10244         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
10245         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
10246
10247 2009-12-31  Bruno Haible  <bruno@clisp.org>
10248
10249         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
10250         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
10251         afterwards.
10252
10253 2009-12-31  Bruno Haible  <bruno@clisp.org>
10254
10255         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
10256         SYS_UTSNAME_H.
10257
10258 2009-12-31  Bruno Haible  <bruno@clisp.org>
10259
10260         spawn: Fix misapplied patch.
10261         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
10262         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
10263         warnings for GNULIB_POSIXCHECK.
10264
10265 2009-12-31  Bruno Haible  <bruno@clisp.org>
10266
10267         times: Update after sys_times changed.
10268         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
10269         * modules/times (Files): Add it.
10270         (configure.ac): Invoke gl_FUNC_TIMES.
10271
10272 2009-12-31  Bruno Haible  <bruno@clisp.org>
10273
10274         Use AC_C_INLINE where necessary.
10275         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
10276         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
10277         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
10278         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
10279         * m4/mbfile.m4 (gl_MBFILE): Likewise.
10280         * m4/mbiter.m4 (gl_MBITER): Likewise.
10281         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
10282         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
10283         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
10284         * modules/u64 (configure.ac): Likewise.
10285
10286 2009-12-31  Bruno Haible  <bruno@clisp.org>
10287
10288         Use AC_C_INLINE instead of module 'inline' where possible.
10289         * modules/inline (Description): Clarify purpose.
10290         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
10291         * modules/count-one-bits (Depends-on): Remove inline.
10292         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
10293         * modules/openat (Depends-on): Remove inline.
10294         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
10295         instead of depending on module 'inline'.
10296         * modules/filevercmp (Depends-on, configure.ac): Likewise.
10297         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
10298         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
10299         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
10300         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
10301         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
10302         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
10303         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
10304         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
10305         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
10306         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
10307         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
10308         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
10309         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
10310         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
10311         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
10312         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
10313         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
10314         Likewise.
10315         * modules/unictype/property-ascii-hex-digit (Depends-on,
10316         configure.ac): Likewise.
10317         * modules/unictype/property-bidi-arabic-digit (Depends-on,
10318         configure.ac): Likewise.
10319         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
10320         configure.ac): Likewise.
10321         * modules/unictype/property-bidi-block-separator (Depends-on,
10322         configure.ac): Likewise.
10323         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
10324         configure.ac): Likewise.
10325         * modules/unictype/property-bidi-common-separator (Depends-on,
10326         configure.ac): Likewise.
10327         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
10328         Likewise.
10329         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
10330         configure.ac): Likewise.
10331         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
10332         configure.ac): Likewise.
10333         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
10334         configure.ac): Likewise.
10335         * modules/unictype/property-bidi-european-digit (Depends-on,
10336         configure.ac): Likewise.
10337         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
10338         configure.ac): Likewise.
10339         * modules/unictype/property-bidi-left-to-right (Depends-on,
10340         configure.ac): Likewise.
10341         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
10342         configure.ac): Likewise.
10343         * modules/unictype/property-bidi-other-neutral (Depends-on,
10344         configure.ac): Likewise.
10345         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
10346         Likewise.
10347         * modules/unictype/property-bidi-segment-separator (Depends-on,
10348         configure.ac): Likewise.
10349         * modules/unictype/property-bidi-whitespace (Depends-on,
10350         configure.ac): Likewise.
10351         * modules/unictype/property-combining (Depends-on, configure.ac):
10352         Likewise.
10353         * modules/unictype/property-composite (Depends-on, configure.ac):
10354         Likewise.
10355         * modules/unictype/property-currency-symbol (Depends-on,
10356         configure.ac): Likewise.
10357         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
10358         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
10359         Likewise.
10360         * modules/unictype/property-default-ignorable-code-point (Depends-on,
10361         configure.ac): Likewise.
10362         * modules/unictype/property-deprecated (Depends-on, configure.ac):
10363         Likewise.
10364         * modules/unictype/property-diacritic (Depends-on, configure.ac):
10365         Likewise.
10366         * modules/unictype/property-extender (Depends-on, configure.ac):
10367         Likewise.
10368         * modules/unictype/property-format-control (Depends-on, configure.ac):
10369         Likewise.
10370         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
10371         Likewise.
10372         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
10373         Likewise.
10374         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
10375         Likewise.
10376         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
10377         Likewise.
10378         * modules/unictype/property-hyphen (Depends-on, configure.ac):
10379         Likewise.
10380         * modules/unictype/property-id-continue (Depends-on, configure.ac):
10381         Likewise.
10382         * modules/unictype/property-id-start (Depends-on, configure.ac):
10383         Likewise.
10384         * modules/unictype/property-ideographic (Depends-on, configure.ac):
10385         Likewise.
10386         * modules/unictype/property-ids-binary-operator (Depends-on,
10387         configure.ac): Likewise.
10388         * modules/unictype/property-ids-trinary-operator (Depends-on,
10389         configure.ac): Likewise.
10390         * modules/unictype/property-ignorable-control (Depends-on,
10391         configure.ac): Likewise.
10392         * modules/unictype/property-iso-control (Depends-on, configure.ac):
10393         Likewise.
10394         * modules/unictype/property-join-control (Depends-on, configure.ac):
10395         Likewise.
10396         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
10397         Likewise.
10398         * modules/unictype/property-line-separator (Depends-on, configure.ac):
10399         Likewise.
10400         * modules/unictype/property-logical-order-exception (Depends-on,
10401         configure.ac): Likewise.
10402         * modules/unictype/property-lowercase (Depends-on, configure.ac):
10403         Likewise.
10404         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
10405         * modules/unictype/property-non-break (Depends-on, configure.ac):
10406         Likewise.
10407         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
10408         Likewise.
10409         * modules/unictype/property-numeric (Depends-on, configure.ac):
10410         Likewise.
10411         * modules/unictype/property-other-alphabetic (Depends-on,
10412         configure.ac): Likewise.
10413         * modules/unictype/property-other-default-ignorable-code-point
10414         (Depends-on, configure.ac): Likewise.
10415         * modules/unictype/property-other-grapheme-extend (Depends-on,
10416         configure.ac): Likewise.
10417         * modules/unictype/property-other-id-continue (Depends-on,
10418         configure.ac): Likewise.
10419         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
10420         Likewise.
10421         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
10422         Likewise.
10423         * modules/unictype/property-other-math (Depends-on, configure.ac):
10424         Likewise.
10425         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
10426         Likewise.
10427         * modules/unictype/property-paired-punctuation (Depends-on,
10428         configure.ac): Likewise.
10429         * modules/unictype/property-paragraph-separator (Depends-on,
10430         configure.ac): Likewise.
10431         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
10432         Likewise.
10433         * modules/unictype/property-pattern-white-space (Depends-on,
10434         configure.ac): Likewise.
10435         * modules/unictype/property-private-use (Depends-on, configure.ac):
10436         Likewise.
10437         * modules/unictype/property-punctuation (Depends-on, configure.ac):
10438         Likewise.
10439         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
10440         Likewise.
10441         * modules/unictype/property-radical (Depends-on, configure.ac):
10442         Likewise.
10443         * modules/unictype/property-sentence-terminal (Depends-on,
10444         configure.ac): Likewise.
10445         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
10446         Likewise.
10447         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
10448         * modules/unictype/property-terminal-punctuation (Depends-on,
10449         configure.ac): Likewise.
10450         * modules/unictype/property-titlecase (Depends-on, configure.ac):
10451         Likewise.
10452         * modules/unictype/property-unassigned-code-value (Depends-on,
10453         configure.ac): Likewise.
10454         * modules/unictype/property-unified-ideograph (Depends-on,
10455         configure.ac): Likewise.
10456         * modules/unictype/property-uppercase (Depends-on, configure.ac):
10457         Likewise.
10458         * modules/unictype/property-variation-selector (Depends-on,
10459         configure.ac): Likewise.
10460         * modules/unictype/property-white-space (Depends-on, configure.ac):
10461         Likewise.
10462         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
10463         Likewise.
10464         * modules/unictype/property-xid-start (Depends-on, configure.ac):
10465         Likewise.
10466         * modules/unictype/property-zero-width (Depends-on, configure.ac):
10467         Likewise.
10468         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
10469         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
10470         Likewise.
10471
10472 2009-12-31  Bruno Haible  <bruno@clisp.org>
10473
10474         Remove unnecessary AC_C_INLINE invocation.
10475         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
10476         since 2009-08-21.
10477
10478 2009-12-31  Jim Meyering  <meyering@redhat.com>
10479
10480         maint.mk: don't require explicit gpg_key_ID in cfg.mk
10481         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
10482         With this change, we can all remove the gpg_key_ID = ... definition
10483         from our respective cfg.mk files.
10484
10485         maint.mk: create announcement template in ~/, not in /tmp
10486         * top/maint.mk (emit_upload_commands): Adjust.
10487         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
10488         Remove temporary file, .ci-msg.
10489
10490 2009-12-31  Eric Blake  <ebb9@byu.net>
10491
10492         link-warning: always build headers with link warnings
10493         * modules/arpa_inet (Makefile.am): Always build replacement
10494         header.
10495         * modules/ctype (Makefile.am): Likewise.
10496         * modules/dirent (Makefile.am): Likewise.
10497         * modules/inttypes (Makefile.am): Likewise.
10498         * modules/langinfo (Makefile.am): Likewise.
10499         * modules/locale (Makefile.am): Likewise.
10500         * modules/spawn (Makefile.am): Likewise.
10501         * modules/sys_file (Makefile.am): Likewise.
10502         * modules/sys_ioctl (Makefile.am): Likewise.
10503         * modules/sys_select (Makefile.am): Likewise.
10504         * modules/sys_socket (Makefile.am): Likewise.
10505         * modules/sys_times (Makefile.am): Likewise.
10506         * modules/sys_utsname (Makefile.am): Likewise.
10507         * modules/sys_wait (Makefile.am): Likewise.
10508         * modules/wchar (Makefile.am): Likewise.
10509         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
10510         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
10511         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
10512         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
10513         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
10514         Likewise.
10515         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
10516         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
10517         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
10518         Likewise.
10519         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
10520         Likewise.
10521         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
10522         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
10523         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
10524         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
10525         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
10526         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
10527         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
10528         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
10529         (gl_WCHAR_H_DEFAULTS): Likewise.
10530
10531 2009-12-31  Eric Blake  <ebb9@byu.net>
10532
10533         signal, spawn: use link warnings
10534         * lib/signal.in.h (sigset_t): Make unconditional.
10535         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
10536         (sigpending, sigprocmask, sigaction): Add link warnings.
10537         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
10538         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
10539         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
10540         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
10541         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
10542         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
10543         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
10544         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
10545         (posix_spawn_file_actions_destroy)
10546         (posix_spawn_file_actions_addopen)
10547         (posix_spawn_file_actions_addclose)
10548         (posix_spawn_file_actions_adddup2): Likewise.
10549         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
10550         * tests/test-signal.c (main): Enhance test.
10551
10552         spawn: improve wrapper support
10553         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
10554         (gl_SPAWN_H_DEFAULTS): New defaults.
10555         * modules/spawn (Makefile.am): Substitute them.
10556         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
10557         Only declare if missing or broken.
10558
10559         sys_times, sys_utsname: use include_next
10560         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
10561         header.
10562         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
10563         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
10564         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
10565         * modules/sys_times (Depends-on): Add include_next.
10566         (Makefile.am): Substitute additional values.
10567         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
10568         * lib/sys_times.in.h (includes): Include native header, if
10569         available.
10570         * lib/sys_utsname.in.h (includes): Likewise.
10571         * tests/test-sys_times.c (main): Enhance test.
10572
10573         fdutimensat: revert prior patch
10574         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
10575         utimens.h.
10576         Reported by Bruno Haible.
10577
10578 2009-12-30  Eric Blake  <ebb9@byu.net>
10579
10580         sys_wait: drop link-warning dependency
10581         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
10582         link-warning efforts.
10583         * lib/sys_wait.in.h: Likewise.
10584
10585         fdutimensat: remove bogus dependency
10586         * modules/fdutimensat (Depends-on): Drop inline.
10587
10588         unistd: fix typo
10589         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
10590
10591 2009-12-30  Bruno Haible  <bruno@clisp.org>
10592
10593         Fix compilation error with Solaris cc.
10594         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
10595         * lib/unicase/u16-is-invariant.c: Likewise.
10596         * lib/unicase/u32-is-invariant.c: Likewise.
10597         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
10598
10599 2009-12-30  Bruno Haible  <bruno@clisp.org>
10600
10601         Fix test crash.
10602         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
10603         locales.
10604         Reported by Simon Josefsson <simon@josefsson.org>.
10605
10606 2009-12-30  Bruno Haible  <bruno@clisp.org>
10607
10608         Fix compilation error on most platforms.
10609         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
10610         Reported by Simon Josefsson <simon@josefsson.org>
10611         and Nelson H. F. Beebe <beebe@math.utah.edu>.
10612
10613 2009-12-30  Eric Blake  <ebb9@byu.net>
10614
10615         futimens, utimensat: work around ntfs-3g bug
10616         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
10617         a ctime bug is present, and expand workaround to cover ntfs-3g.
10618         * lib/utimens.c (fdutimens, lutimens): Likewise.
10619         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
10620         (validate_timespec): Adjust return value.
10621         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
10622         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
10623         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
10624
10625 2009-12-29  Eric Blake  <ebb9@byu.net>
10626
10627         link-warning: make usage consistent
10628         * modules/ctype (Depends-on): Add link-warning.
10629         (Makefile.am): Update rules accordingly.
10630         * modules/langinfo (Depends-on, Makefile.am): Likewise.
10631         * modules/locale (Depends-on, Makefile.am): Likewise.
10632         * modules/sys_file (Makefile.am): Likewise.
10633         * modules/getopt-posix (Makefile.am): Delete unused link warning
10634         efforts.
10635         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
10636         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
10637         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
10638         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
10639
10640         stdio: remove unused variables
10641         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
10642         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
10643         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
10644
10645         tests: test more substitute headers
10646         * modules/ctype-tests: New file.
10647         * modules/dirent-tests: Likewise.
10648         * modules/spawn-tests: Likewise.
10649         * modules/sys_file-tests: Likewise.
10650         * modules/sys_ioctl-tests: Likewise.
10651         * modules/sys_wait-tests: Likewise.
10652         * tests/test-ctype.c: Likewise.
10653         * tests/test-dirent.c: Likewise.
10654         * tests/test-spawn.c: Likewise.
10655         * tests/test-sys_file.c: Likewise.
10656         * tests/test-sys_ioctl.c: Likewise.
10657         * tests/test-sys_wait.c: Likewise.
10658         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
10659         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
10660         whether or not flock is in use.
10661
10662         tests: remove License section from module
10663         * modules/arpa_inet-tests: Remove unneeded section.
10664         * modules/byteswap-tests: Likewise.
10665         * modules/ceilf-tests: Likewise.
10666         * modules/ceill-tests: Likewise.
10667         * modules/crypto/des-tests: Likewise.
10668         * modules/crypto/gc-arcfour-tests: Likewise.
10669         * modules/crypto/gc-arctwo-tests: Likewise.
10670         * modules/crypto/gc-des-tests: Likewise.
10671         * modules/crypto/gc-hmac-md5-tests: Likewise.
10672         * modules/crypto/gc-hmac-sha1-tests: Likewise.
10673         * modules/crypto/gc-md2-tests: Likewise.
10674         * modules/crypto/gc-md4-tests: Likewise.
10675         * modules/crypto/gc-md5-tests: Likewise.
10676         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
10677         * modules/crypto/gc-rijndael-tests: Likewise.
10678         * modules/crypto/gc-sha1-tests: Likewise.
10679         * modules/crypto/gc-tests: Likewise.
10680         * modules/crypto/md2-tests: Likewise.
10681         * modules/crypto/md4-tests: Likewise.
10682         * modules/fcntl-h-tests: Likewise.
10683         * modules/floorf-tests: Likewise.
10684         * modules/floorl-tests: Likewise.
10685         * modules/frexp-nolibm-tests: Likewise.
10686         * modules/frexp-tests: Likewise.
10687         * modules/frexpl-nolibm-tests: Likewise.
10688         * modules/frexpl-tests: Likewise.
10689         * modules/getaddrinfo-tests: Likewise.
10690         * modules/inttypes-tests: Likewise.
10691         * modules/isfinite-tests: Likewise.
10692         * modules/isinf-tests: Likewise.
10693         * modules/ldexpl-tests: Likewise.
10694         * modules/locale-tests: Likewise.
10695         * modules/math-tests: Likewise.
10696         * modules/netdb-tests: Likewise.
10697         * modules/netinet_in-tests: Likewise.
10698         * modules/printf-frexp-tests: Likewise.
10699         * modules/printf-frexpl-tests: Likewise.
10700         * modules/priv-set-tests: Likewise.
10701         * modules/random_r-tests: Likewise.
10702         * modules/round-tests: Likewise.
10703         * modules/roundf-tests: Likewise.
10704         * modules/roundl-tests: Likewise.
10705         * modules/search-tests: Likewise.
10706         * modules/select-tests: Likewise.
10707         * modules/signal-tests: Likewise.
10708         * modules/stdbool-tests: Likewise.
10709         * modules/stddef-tests: Likewise.
10710         * modules/stdint-tests: Likewise.
10711         * modules/stdio-tests: Likewise.
10712         * modules/stdlib-tests: Likewise.
10713         * modules/string-tests: Likewise.
10714         * modules/strings-tests: Likewise.
10715         * modules/sys_select-tests: Likewise.
10716         * modules/sys_socket-tests: Likewise.
10717         * modules/sys_stat-tests: Likewise.
10718         * modules/sys_time-tests: Likewise.
10719         * modules/sys_utsname-tests: Likewise.
10720         * modules/sysexits-tests: Likewise.
10721         * modules/time-tests: Likewise.
10722         * modules/trunc-tests: Likewise.
10723         * modules/truncf-tests: Likewise.
10724         * modules/truncl-tests: Likewise.
10725         * modules/tsearch-tests: Likewise.
10726         * modules/unistd-tests: Likewise.
10727         * modules/wchar-tests: Likewise.
10728         * modules/wctype-tests: Likewise.
10729
10730         tests: fix license on several tests
10731         * tests/test-des.c: Update to GPLv3+.
10732         * tests/test-flock.c: Likewise.
10733         * tests/test-fsync.c: Likewise.
10734         * tests/test-futimens.h: Likewise.
10735         * tests/test-gc-arcfour.c: Likewise.
10736         * tests/test-gc-arctwo.c: Likewise.
10737         * tests/test-gc-des.c: Likewise.
10738         * tests/test-gc-hmac-md5.c: Likewise.
10739         * tests/test-gc-hmac-sha1.c: Likewise.
10740         * tests/test-gc-md2.c: Likewise.
10741         * tests/test-gc-md4.c: Likewise.
10742         * tests/test-gc-md5.c: Likewise.
10743         * tests/test-gc-pbkdf2-sha1.c: Likewise.
10744         * tests/test-gc-rijndael.c: Likewise.
10745         * tests/test-gc-sha1.c: Likewise.
10746         * tests/test-gc.c: Likewise.
10747         * tests/test-getcwd.c: Likewise.
10748         * tests/test-link.c: Likewise.
10749         * tests/test-link.h: Likewise.
10750         * tests/test-lutimens.h: Likewise.
10751         * tests/test-md2.c: Likewise.
10752         * tests/test-md4.c: Likewise.
10753         * tests/test-mkdir.h: Likewise.
10754         * tests/test-rename.c: Likewise.
10755         * tests/test-rename.h: Likewise.
10756         * tests/test-safe-alloc.c: Likewise.
10757         * tests/test-utimens-common.h: Likewise.
10758         * tests/test-utimens.h: Likewise.
10759
10760         maint: sync license texts
10761         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
10762         * doc/gpl-3.0.texi: Revert copyright year update.
10763         * doc/lgpl-3.0.texi: Likewise.
10764
10765 2009-12-29  Jim Meyering  <meyering@redhat.com>
10766
10767         update nearly all FSF copyright year lists to include 2009
10768         The files named by the following are exempted:
10769             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
10770               test -f "$dst" && { echo "$dst"; continue; }
10771               test -d "$dst" || continue
10772               echo "$dst"/$(basename "$src")
10773             done > exempt
10774             git ls-files tests/unictype >> exempt
10775         In the remaining files, convert to all-interval notation if
10776         - there is already at least one year interval like 2000-2003
10777         - the file is maintained by me
10778         - the file is in lib/uni*/, where that style already prevails
10779         Otherwise, use update-copyright's default.
10780
10781 2009-12-29  Simon Josefsson  <simon@josefsson.org>
10782         and Eric Blake  <ebb9@byu.net>
10783
10784         tests: don't require debug system() to pass
10785         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
10786         * tests/test-rmdir.h (test_rmdir_func): Likewise.
10787         * tests/test-unlink.h (test_unlink_func): Likewise.
10788         * tests/test-fstatat.c (main): ...into callers.
10789         * tests/test-lstat.c (main): Likewise.
10790         * tests/test-rmdir.c (main): Likewise.
10791         * tests/test-unlink.c (main): Likewise.
10792         * tests/test-unlinkat.c (main): Likewise.
10793         * tests/test-areadlink-with-size.c (main): Don't require a
10794         debug-only system call to pass, aiding cross-testing to mingw.
10795         * tests/test-areadlink.c (main): Likewise.
10796         * tests/test-areadlinkat-with-size.c (main): Likewise.
10797         * tests/test-areadlinkat.c (main): Likewise.
10798         * tests/test-canonicalize-lgpl.c (main): Likewise.
10799         * tests/test-canonicalize.c (main): Likewise.
10800         * tests/test-chown.c (main): Likewise.
10801         * tests/test-fchownat.c (main): Likewise.
10802         * tests/test-lchown.c (main): Likewise.
10803         * tests/test-fdutimensat.c (main): Likewise.
10804         * tests/test-futimens.c (main): Likewise.
10805         * tests/test-link.c (main): Likewise.
10806         * tests/test-linkat.c (main): Likewise.
10807         * tests/test-mkdir.c (main): Likewise.
10808         * tests/test-mkdirat.c (main): Likewise.
10809         * tests/test-mkfifo.c (main): Likewise.
10810         * tests/test-mkfifoat.c (main): Likewise.
10811         * tests/test-mknod.c (main): Likewise.
10812         * tests/test-readlink.c (main): Likewise.
10813         * tests/test-remove.c (main): Likewise.
10814         * tests/test-rename.c (main): Likewise.
10815         * tests/test-renameat.c (main): Likewise.
10816         * tests/test-symlink.c (main): Likewise.
10817         * tests/test-symlinkat.c (main): Likewise.
10818         * tests/test-utimens.c (main): Likewise.
10819         * tests/test-utimensat.c (main): Likewise.
10820
10821 2009-12-29  Simon Josefsson  <simon@josefsson.org>
10822
10823         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
10824         on $(UNUSED_PARAMETER_H) to avoid build failure.
10825
10826 2009-12-28  Jim Meyering  <meyering@redhat.com>
10827
10828         update-copyright: you may specify a max. line length other than 72
10829         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
10830
10831         maint: use consistent FSF copyright line syntax
10832         * lib/posixtm.c: Add missing comma in FSF copyright line.
10833         * lib/posixtm.h: Likewise.
10834         * lib/getugroups.c: Add missing ", Inc.".
10835
10836         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
10837         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
10838         FSF copyright line.  Remove trailing blanks.
10839
10840 2009-12-28  Eric Blake  <ebb9@byu.net>
10841
10842         test-dup2: reduce dependencies
10843         * modules/cloexec (Configure.ac): Set witness.
10844         * modules/dup2-tests (Depends-on): Drop cloexec.
10845         * tests/test-dup2.c (main): Skip portion of test if cloexec module
10846         not present.
10847         Suggested by Bruno Haible.
10848
10849 2009-12-26  Bruno Haible  <bruno@clisp.org>
10850
10851         Remove an unneeded dependency.
10852         * modules/fseterr (Depends-on): Remove dup2.
10853
10854 2009-12-26  Eric Blake  <ebb9@byu.net>
10855
10856         tests: use macros.h in more places
10857         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
10858         (ASSERT_STREAM): Provide default of stderr.
10859         * tests/test-dirent-safer.c: Include macros.h, using alternate
10860         stream for assertions.
10861         * tests/test-dup-safer.c: Likewise.
10862         * tests/test-freopen-safer.c: Likewise.
10863         * tests/test-getopt.c: Likewise.
10864         * tests/test-openat-safer.c: Likewise.
10865         * tests/test-pipe.c: Likewise.
10866         * tests/test-popen-safer.c: Likewise.
10867         * modules/dirent-safer-tests (Files): Include macros.h.
10868         * modules/unistd-safer-tests (Files): Likewise.
10869         * modules/freopen-safer-tests (Files): Likewise.
10870         * modules/getopt-posix-tests (Files): Likewise.
10871         * modules/openat-safer-tests (Files): Likewise.
10872         * modules/pipe-tests (Files): Likewise.
10873
10874 2009-12-26  Bruno Haible  <bruno@clisp.org>
10875
10876         javacomp: Portability fix.
10877         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
10878         that it also works on Solaris.
10879
10880 2009-12-26  Bruno Haible  <bruno@clisp.org>
10881
10882         localename: Fix storage allocation of gl_locale_name_thread's result.
10883         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
10884         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
10885         all platforms that have 'uselocale'.
10886         (gl_locale_name_thread_unsafe): New function, extracted from
10887         gl_locale_name_thread.
10888         (gl_locale_name_thread): Call struniq on all platforms that have
10889         'uselocale'.
10890         * tests/test-localename.c (test_locale_name_thread): Check that the
10891         resulting strings are permanently allocated.
10892         * modules/localename-tests (Depends-on): Add strdup.
10893
10894 2009-12-26  Bruno Haible  <bruno@clisp.org>
10895
10896         * tests/test-localename.c (categories): Fill in the strings.
10897
10898 2009-12-26  Jim Meyering  <meyering@redhat.com>
10899
10900         isdir: complete the removal of m4/isdir.m4
10901         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
10902
10903         isdir: clean up, since at least grep still uses it
10904         * lib/isdir.c: Include "isdir.h".
10905         (S_ISDIR): Remove now-unneeded definition.
10906         * modules/isdir (Files): Add lib/isdir.h.
10907         * lib/isdir.h: New file, with declaration.
10908         * m4/isdir.m4: Remove file -- unneeded.
10909
10910 2009-12-25  Bruno Haible  <bruno@clisp.org>
10911
10912         selinux-h: Make generated .h files standalone.
10913         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
10914         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
10915         * lib/se-selinux.in.h: Likewise.
10916         * modules/selinux-h (Depends-on): Add unused-parameter.
10917         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
10918         selinux/selinux.h and selinux/context.h.
10919         Suggested by Eric Blake.
10920
10921 2009-12-25  Bruno Haible  <bruno@clisp.org>
10922
10923         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
10924         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
10925         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
10926         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
10927         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
10928
10929 2009-12-24  Bruno Haible  <bruno@clisp.org>
10930
10931         openat: Fix warning.
10932         * lib/openat-proc.c: Include <unistd.h>.
10933
10934 2009-12-24  Bruno Haible  <bruno@clisp.org>
10935
10936         New module 'unused-parameter'.
10937         * build-aux/unused-parameter.h: New file, extracted from earlier
10938         gnulib-common.m4.
10939         * modules/unused-parameter: New file.
10940         * lib/unistr.h: Include unused-parameter.h.
10941         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
10942         _GL_UNUSED.
10943         * modules/unistr/base (Depends-on): Add unused-parameter.
10944
10945 2009-12-24  Bruno Haible  <bruno@clisp.org>
10946
10947         Add missing dependencies to 'extensions' module.
10948         * m4/extensions.m4: Add comment.
10949         * modules/accept4 (Depends-on): Add extensions.
10950         * modules/dup3 (Depends-on): Likewise.
10951         * modules/fcntl (Depends-on): Likewise.
10952         * modules/futimens (Depends-on): Likewise.
10953         * modules/mknod (Depends-on): Likewise.
10954         * modules/pipe2 (Depends-on): Likewise.
10955         * modules/stat-time (Depends-on): Likewise.
10956         * modules/strcasestr-simple (Depends-on): Likewise.
10957         * modules/strsignal (Depends-on): Likewise.
10958         * modules/utimensat (Depends-on): Likewise.
10959         * modules/localcharset (Depends-on): Likewise. Needed because of
10960         gl_FCNTL_O_FLAGS.
10961         * modules/wcrtomb (Depends-on): Likewise. Needed because of
10962         AC_TYPE_MBSTATE_T.
10963         * modules/wcsnrtombs (Depends-on): Likewise.
10964         * modules/wcsrtombs (Depends-on): Likewise.
10965
10966 2009-12-24  Bruno Haible  <bruno@clisp.org>
10967
10968         binary-io: Avoid gcc warning due to SET_BINARY.
10969         * lib/binary-io.h (SET_BINARY): Cast the result to void.
10970         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
10971
10972 2009-12-24  Bruno Haible  <bruno@clisp.org>
10973
10974         Avoid future namespace pollution on glibc systems.
10975         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
10976         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
10977         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
10978         glibc systems.
10979
10980 2009-12-24  Bruno Haible  <bruno@clisp.org>
10981
10982         Refactor common macros used in tests.
10983         * tests/macros.h: New file.
10984         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
10985         and/or <stdlib.h>, if appropriate.
10986         (ASSERT, SIZEOF): Remove macros.
10987         * tests/test-areadlink-with-size.c: Likewise.
10988         * tests/test-areadlinkat.c: Likewise.
10989         * tests/test-areadlinkat-with-size.c: Likewise.
10990         * tests/test-argmatch.c: Likewise.
10991         * tests/test-argv-iter.c: Likewise.
10992         * tests/test-array-mergesort.c: Likewise.
10993         * tests/test-array_list.c: Likewise.
10994         * tests/test-array_oset.c: Likewise.
10995         * tests/test-avltree_list.c: Likewise.
10996         * tests/test-avltree_oset.c: Likewise.
10997         * tests/test-avltreehash_list.c: Likewise.
10998         * tests/test-base64.c: Likewise.
10999         * tests/test-binary-io.c: Likewise.
11000         * tests/test-bitrotate.c: Likewise.
11001         * tests/test-btowc.c: Likewise.
11002         * tests/test-byteswap.c: Likewise.
11003         * tests/test-c-ctype.c: Likewise.
11004         * tests/test-c-stack.c: Likewise.
11005         * tests/test-c-strcasecmp.c: Likewise.
11006         * tests/test-c-strcasestr.c: Likewise.
11007         * tests/test-c-strncasecmp.c: Likewise.
11008         * tests/test-c-strstr.c: Likewise.
11009         * tests/test-canonicalize-lgpl.c: Likewise.
11010         * tests/test-canonicalize.c: Likewise.
11011         * tests/test-carray_list.c: Likewise.
11012         * tests/test-ceilf1.c: Likewise.
11013         * tests/test-ceilf2.c: Likewise.
11014         * tests/test-ceill.c: Likewise.
11015         * tests/test-chown.c: Likewise.
11016         * tests/test-cloexec.c: Likewise.
11017         * tests/test-copy-acl.c: Likewise.
11018         * tests/test-copy-file.c: Likewise.
11019         * tests/test-count-one-bits.c: Likewise.
11020         * tests/test-dprintf-posix.c: Likewise.
11021         * tests/test-dup2.c: Likewise.
11022         * tests/test-dup3.c: Likewise.
11023         * tests/test-duplocale.c: Likewise.
11024         * tests/test-fbufmode.c: Likewise.
11025         * tests/test-fchdir.c: Likewise.
11026         * tests/test-fchownat.c: Likewise.
11027         * tests/test-fcntl-safer.c: Likewise.
11028         * tests/test-fcntl.c: Likewise.
11029         * tests/test-fdopendir.c: Likewise.
11030         * tests/test-fdutimensat.c: Likewise.
11031         * tests/test-fflush2.c: Likewise.
11032         * tests/test-file-has-acl.c: Likewise.
11033         * tests/test-filevercmp.c: Likewise.
11034         * tests/test-flock.c: Likewise.
11035         * tests/test-floorf1.c: Likewise.
11036         * tests/test-floorf2.c: Likewise.
11037         * tests/test-floorl.c: Likewise.
11038         * tests/test-fnmatch.c: Likewise.
11039         * tests/test-fopen.h: Likewise.
11040         * tests/test-fpending.c: Likewise.
11041         * tests/test-fprintf-posix.c: Likewise.
11042         * tests/test-fpurge.c: Likewise.
11043         * tests/test-freadable.c: Likewise.
11044         * tests/test-freadahead.c: Likewise.
11045         * tests/test-freading.c: Likewise.
11046         * tests/test-freadptr.c: Likewise.
11047         * tests/test-freadptr2.c: Likewise.
11048         * tests/test-freadseek.c: Likewise.
11049         * tests/test-freopen.c: Likewise.
11050         * tests/test-frexp.c: Likewise.
11051         * tests/test-frexpl.c: Likewise.
11052         * tests/test-fseek.c: Likewise.
11053         * tests/test-fseeko.c: Likewise.
11054         * tests/test-fstatat.c: Likewise.
11055         * tests/test-fstrcmp.c: Likewise.
11056         * tests/test-fsync.c: Likewise.
11057         * tests/test-ftell.c: Likewise.
11058         * tests/test-ftello.c: Likewise.
11059         * tests/test-func.c: Likewise.
11060         * tests/test-futimens.c: Likewise.
11061         * tests/test-fwritable.c: Likewise.
11062         * tests/test-fwriting.c: Likewise.
11063         * tests/test-getcwd.c: Likewise.
11064         * tests/test-getdate.c: Likewise.
11065         * tests/test-getdelim.c: Likewise.
11066         * tests/test-getdtablesize.c: Likewise.
11067         * tests/test-getgroups.c: Likewise.
11068         * tests/test-getline.c: Likewise.
11069         * tests/test-getndelim2.c: Likewise.
11070         * tests/test-glob.c: Likewise.
11071         * tests/test-hash.c: Likewise.
11072         * tests/test-i-ring.c: Likewise.
11073         * tests/test-iconv-utf.c: Likewise.
11074         * tests/test-iconv.c: Likewise.
11075         * tests/test-idpriv-drop.c: Likewise.
11076         * tests/test-idpriv-droptemp.c: Likewise.
11077         * tests/test-inet_ntop.c: Likewise.
11078         * tests/test-inet_pton.c: Likewise.
11079         * tests/test-isblank.c: Likewise.
11080         * tests/test-isfinite.c: Likewise.
11081         * tests/test-isinf.c: Likewise.
11082         * tests/test-isnan.c: Likewise.
11083         * tests/test-isnand.h: Likewise.
11084         * tests/test-isnanf.h: Likewise.
11085         * tests/test-isnanl.h: Likewise.
11086         * tests/test-lchown.c: Likewise.
11087         * tests/test-ldexpl.c: Likewise.
11088         * tests/test-link.c: Likewise.
11089         * tests/test-linkat.c: Likewise.
11090         * tests/test-linked_list.c: Likewise.
11091         * tests/test-linkedhash_list.c: Likewise.
11092         * tests/test-localename.c: Likewise.
11093         * tests/test-lseek.c: Likewise.
11094         * tests/test-lstat.c: Likewise.
11095         * tests/test-mbmemcasecmp.c: Likewise.
11096         * tests/test-mbmemcasecoll.c: Likewise.
11097         * tests/test-mbrtowc.c: Likewise.
11098         * tests/test-mbscasecmp.c: Likewise.
11099         * tests/test-mbscasestr1.c: Likewise.
11100         * tests/test-mbscasestr2.c: Likewise.
11101         * tests/test-mbscasestr3.c: Likewise.
11102         * tests/test-mbscasestr4.c: Likewise.
11103         * tests/test-mbschr.c: Likewise.
11104         * tests/test-mbscspn.c: Likewise.
11105         * tests/test-mbsinit.c: Likewise.
11106         * tests/test-mbsncasecmp.c: Likewise.
11107         * tests/test-mbsnrtowcs.c: Likewise.
11108         * tests/test-mbspbrk.c: Likewise.
11109         * tests/test-mbspcasecmp.c: Likewise.
11110         * tests/test-mbsrchr.c: Likewise.
11111         * tests/test-mbsrtowcs.c: Likewise.
11112         * tests/test-mbsspn.c: Likewise.
11113         * tests/test-mbsstr1.c: Likewise.
11114         * tests/test-mbsstr2.c: Likewise.
11115         * tests/test-mbsstr3.c: Likewise.
11116         * tests/test-memchr.c: Likewise.
11117         * tests/test-memchr2.c: Likewise.
11118         * tests/test-memcmp.c: Likewise.
11119         * tests/test-memmem.c: Likewise.
11120         * tests/test-memrchr.c: Likewise.
11121         * tests/test-mkdir.c: Likewise.
11122         * tests/test-mkdirat.c: Likewise.
11123         * tests/test-mkfifo.c: Likewise.
11124         * tests/test-mkfifoat.c: Likewise.
11125         * tests/test-mknod.c: Likewise.
11126         * tests/test-nanosleep.c: Likewise.
11127         * tests/test-nl_langinfo.c: Likewise.
11128         * tests/test-obstack-printf.c: Likewise.
11129         * tests/test-open.c: Likewise.
11130         * tests/test-openat.c: Likewise.
11131         * tests/test-pipe-filter-gi1.c: Likewise.
11132         * tests/test-pipe-filter-gi2-main.c: Likewise.
11133         * tests/test-pipe-filter-ii1.c: Likewise.
11134         * tests/test-pipe-filter-ii2-main.c: Likewise.
11135         * tests/test-pipe2.c: Likewise.
11136         * tests/test-popen.h: Likewise.
11137         * tests/test-posixtm.c: Likewise.
11138         * tests/test-pread.c: Likewise.
11139         * tests/test-printf-frexp.c: Likewise.
11140         * tests/test-printf-frexpl.c: Likewise.
11141         * tests/test-printf-posix.c: Likewise.
11142         * tests/test-priv-set.c: Likewise.
11143         * tests/test-quotearg.c: Likewise.
11144         * tests/test-random_r.c: Likewise.
11145         * tests/test-rawmemchr.c: Likewise.
11146         * tests/test-rbtree_list.c: Likewise.
11147         * tests/test-rbtree_oset.c: Likewise.
11148         * tests/test-rbtreehash_list.c: Likewise.
11149         * tests/test-readlink.c: Likewise.
11150         * tests/test-remove.c: Likewise.
11151         * tests/test-rename.c: Likewise.
11152         * tests/test-renameat.c: Likewise.
11153         * tests/test-rmdir.c: Likewise.
11154         * tests/test-round1.c: Likewise.
11155         * tests/test-roundf1.c: Likewise.
11156         * tests/test-roundl.c: Likewise.
11157         * tests/test-safe-alloc.c: Likewise.
11158         * tests/test-sameacls.c: Likewise.
11159         * tests/test-set-mode-acl.c: Likewise.
11160         * tests/test-setenv.c: Likewise.
11161         * tests/test-sigaction.c: Likewise.
11162         * tests/test-signbit.c: Likewise.
11163         * tests/test-sleep.c: Likewise.
11164         * tests/test-snprintf-posix.c: Likewise.
11165         * tests/test-snprintf.c: Likewise.
11166         * tests/test-sprintf-posix.c: Likewise.
11167         * tests/test-stat-time.c: Likewise.
11168         * tests/test-stat.c: Likewise.
11169         * tests/test-strcasestr.c: Likewise.
11170         * tests/test-strchrnul.c: Likewise.
11171         * tests/test-strerror.c: Likewise.
11172         * tests/test-striconv.c: Likewise.
11173         * tests/test-striconveh.c: Likewise.
11174         * tests/test-striconveha.c: Likewise.
11175         * tests/test-strsignal.c: Likewise.
11176         * tests/test-strstr.c: Likewise.
11177         * tests/test-strtod.c: Likewise.
11178         * tests/test-strverscmp.c: Likewise.
11179         * tests/test-symlink.c: Likewise.
11180         * tests/test-symlinkat.c: Likewise.
11181         * tests/test-trunc1.c: Likewise.
11182         * tests/test-trunc2.c: Likewise.
11183         * tests/test-truncf1.c: Likewise.
11184         * tests/test-truncf2.c: Likewise.
11185         * tests/test-truncl.c: Likewise.
11186         * tests/test-uname.c: Likewise.
11187         * tests/test-unlink.c: Likewise.
11188         * tests/test-unlinkat.c: Likewise.
11189         * tests/test-unsetenv.c: Likewise.
11190         * tests/test-usleep.c: Likewise.
11191         * tests/test-utimens.c: Likewise.
11192         * tests/test-utimensat.c: Likewise.
11193         * tests/test-vasnprintf-posix.c: Likewise.
11194         * tests/test-vasnprintf-posix2.c: Likewise.
11195         * tests/test-vasnprintf.c: Likewise.
11196         * tests/test-vasprintf-posix.c: Likewise.
11197         * tests/test-vasprintf.c: Likewise.
11198         * tests/test-vdprintf-posix.c: Likewise.
11199         * tests/test-vfprintf-posix.c: Likewise.
11200         * tests/test-vprintf-posix.c: Likewise.
11201         * tests/test-vsnprintf-posix.c: Likewise.
11202         * tests/test-vsnprintf.c: Likewise.
11203         * tests/test-vsprintf-posix.c: Likewise.
11204         * tests/test-wcrtomb.c: Likewise.
11205         * tests/test-wcsnrtombs.c: Likewise.
11206         * tests/test-wcsrtombs.c: Likewise.
11207         * tests/test-wctype.c: Likewise.
11208         * tests/test-wcwidth.c: Likewise.
11209         * tests/test-xfprintf-posix.c: Likewise.
11210         * tests/test-xmemdup0.c: Likewise.
11211         * tests/test-xprintf-posix.c: Likewise.
11212         * tests/test-xvasprintf.c: Likewise.
11213         * tests/unicase/test-locale-language.c: Likewise.
11214         * tests/unicase/test-mapping-part1.h: Likewise.
11215         * tests/unicase/test-predicate-part1.h: Likewise.
11216         * tests/unicase/test-u8-casecmp.c: Likewise.
11217         * tests/unicase/test-u8-casecoll.c: Likewise.
11218         * tests/unicase/test-u8-casefold.c: Likewise.
11219         * tests/unicase/test-u8-is-cased.c: Likewise.
11220         * tests/unicase/test-u8-is-casefolded.c: Likewise.
11221         * tests/unicase/test-u8-is-lowercase.c: Likewise.
11222         * tests/unicase/test-u8-is-titlecase.c: Likewise.
11223         * tests/unicase/test-u8-is-uppercase.c: Likewise.
11224         * tests/unicase/test-u8-tolower.c: Likewise.
11225         * tests/unicase/test-u8-totitle.c: Likewise.
11226         * tests/unicase/test-u8-toupper.c: Likewise.
11227         * tests/unicase/test-u16-casecmp.c: Likewise.
11228         * tests/unicase/test-u16-casecoll.c: Likewise.
11229         * tests/unicase/test-u16-casefold.c: Likewise.
11230         * tests/unicase/test-u16-is-cased.c: Likewise.
11231         * tests/unicase/test-u16-is-casefolded.c: Likewise.
11232         * tests/unicase/test-u16-is-lowercase.c: Likewise.
11233         * tests/unicase/test-u16-is-titlecase.c: Likewise.
11234         * tests/unicase/test-u16-is-uppercase.c: Likewise.
11235         * tests/unicase/test-u16-tolower.c: Likewise.
11236         * tests/unicase/test-u16-totitle.c: Likewise.
11237         * tests/unicase/test-u16-toupper.c: Likewise.
11238         * tests/unicase/test-u32-casecmp.c: Likewise.
11239         * tests/unicase/test-u32-casecoll.c: Likewise.
11240         * tests/unicase/test-u32-casefold.c: Likewise.
11241         * tests/unicase/test-u32-is-cased.c: Likewise.
11242         * tests/unicase/test-u32-is-casefolded.c: Likewise.
11243         * tests/unicase/test-u32-is-lowercase.c: Likewise.
11244         * tests/unicase/test-u32-is-titlecase.c: Likewise.
11245         * tests/unicase/test-u32-is-uppercase.c: Likewise.
11246         * tests/unicase/test-u32-tolower.c: Likewise.
11247         * tests/unicase/test-u32-totitle.c: Likewise.
11248         * tests/unicase/test-u32-toupper.c: Likewise.
11249         * tests/unicase/test-ulc-casecmp.c: Likewise.
11250         * tests/unicase/test-ulc-casecoll.c: Likewise.
11251         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
11252         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
11253         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
11254         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
11255         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
11256         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
11257         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
11258         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
11259         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
11260         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
11261         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
11262         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
11263         * tests/unictype/test-bidi_byname.c: Likewise.
11264         * tests/unictype/test-bidi_name.c: Likewise.
11265         * tests/unictype/test-bidi_of.c: Likewise.
11266         * tests/unictype/test-bidi_test.c: Likewise.
11267         * tests/unictype/test-block_list.c: Likewise.
11268         * tests/unictype/test-block_of.c: Likewise.
11269         * tests/unictype/test-block_test.c: Likewise.
11270         * tests/unictype/test-categ_and.c: Likewise.
11271         * tests/unictype/test-categ_and_not.c: Likewise.
11272         * tests/unictype/test-categ_byname.c: Likewise.
11273         * tests/unictype/test-categ_name.c: Likewise.
11274         * tests/unictype/test-categ_none.c: Likewise.
11275         * tests/unictype/test-categ_of.c: Likewise.
11276         * tests/unictype/test-categ_or.c: Likewise.
11277         * tests/unictype/test-categ_test_withtable.c: Likewise.
11278         * tests/unictype/test-combining.c: Likewise.
11279         * tests/unictype/test-decdigit.c: Likewise.
11280         * tests/unictype/test-digit.c: Likewise.
11281         * tests/unictype/test-mirror.c: Likewise.
11282         * tests/unictype/test-numeric.c: Likewise.
11283         * tests/unictype/test-pr_byname.c: Likewise.
11284         * tests/unictype/test-pr_test.c: Likewise.
11285         * tests/unictype/test-predicate-part1.h: Likewise.
11286         * tests/unictype/test-scripts.c: Likewise.
11287         * tests/unictype/test-sy_c_ident.c: Likewise.
11288         * tests/unictype/test-sy_java_ident.c: Likewise.
11289         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
11290         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
11291         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
11292         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
11293         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
11294         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
11295         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
11296         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
11297         * tests/uninorm/test-canonical-decomposition.c: Likewise.
11298         * tests/uninorm/test-compat-decomposition.c: Likewise.
11299         * tests/uninorm/test-composition.c: Likewise.
11300         * tests/uninorm/test-decomposing-form.c: Likewise.
11301         * tests/uninorm/test-decomposition.c: Likewise.
11302         * tests/uninorm/test-u8-nfc.c: Likewise.
11303         * tests/uninorm/test-u8-nfd.c: Likewise.
11304         * tests/uninorm/test-u8-nfkc.c: Likewise.
11305         * tests/uninorm/test-u8-nfkd.c: Likewise.
11306         * tests/uninorm/test-u8-normcmp.c: Likewise.
11307         * tests/uninorm/test-u8-normcoll.c: Likewise.
11308         * tests/uninorm/test-u16-nfc.c: Likewise.
11309         * tests/uninorm/test-u16-nfd.c: Likewise.
11310         * tests/uninorm/test-u16-nfkc.c: Likewise.
11311         * tests/uninorm/test-u16-nfkd.c: Likewise.
11312         * tests/uninorm/test-u16-normcmp.c: Likewise.
11313         * tests/uninorm/test-u16-normcoll.c: Likewise.
11314         * tests/uninorm/test-u32-nfc.c: Likewise.
11315         * tests/uninorm/test-u32-nfd.c: Likewise.
11316         * tests/uninorm/test-u32-nfkc.c: Likewise.
11317         * tests/uninorm/test-u32-nfkd.c: Likewise.
11318         * tests/uninorm/test-u32-normalize-big.c: Likewise.
11319         * tests/uninorm/test-u32-normcmp.c: Likewise.
11320         * tests/uninorm/test-u32-normcoll.c: Likewise.
11321         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
11322         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
11323         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
11324         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
11325         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
11326         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
11327         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
11328         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
11329         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
11330         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
11331         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
11332         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
11333         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
11334         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
11335         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
11336         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
11337         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
11338         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
11339         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
11340         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
11341         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
11342         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
11343         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
11344         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
11345         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
11346         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
11347         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
11348         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
11349         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
11350         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
11351         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
11352         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
11353         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
11354         * tests/uniwidth/test-u8-strwidth.c: Likewise.
11355         * tests/uniwidth/test-u8-width.c: Likewise.
11356         * tests/uniwidth/test-u16-strwidth.c: Likewise.
11357         * tests/uniwidth/test-u16-width.c: Likewise.
11358         * tests/uniwidth/test-u32-strwidth.c: Likewise.
11359         * tests/uniwidth/test-u32-width.c: Likewise.
11360         * tests/uniwidth/test-uc_width.c: Likewise.
11361         * tests/uniwidth/test-uc_width2.c: Likewise.
11362         * modules/acl-tests (Files): Add tests/macros.h.
11363         * modules/areadlink-tests (Files): Likewise.
11364         * modules/areadlink-with-size-tests (Files): Likewise.
11365         * modules/areadlinkat-tests (Files): Likewise.
11366         * modules/areadlinkat-with-size-tests (Files): Likewise.
11367         * modules/argmatch-tests (Files): Likewise.
11368         * modules/argv-iter-tests (Files): Likewise.
11369         * modules/array-list-tests (Files): Likewise.
11370         * modules/array-mergesort-tests (Files): Likewise.
11371         * modules/array-oset-tests (Files): Likewise.
11372         * modules/avltree-list-tests (Files): Likewise.
11373         * modules/avltree-oset-tests (Files): Likewise.
11374         * modules/avltreehash-list-tests (Files): Likewise.
11375         * modules/base64-tests (Files): Likewise.
11376         * modules/binary-io-tests (Files): Likewise.
11377         * modules/bitrotate-tests (Files): Likewise.
11378         * modules/btowc-tests (Files): Likewise.
11379         * modules/byteswap-tests (Files): Likewise.
11380         * modules/c-ctype-tests (Files): Likewise.
11381         * modules/c-stack-tests (Files): Likewise.
11382         * modules/c-strcase-tests (Files): Likewise.
11383         * modules/c-strcasestr-tests (Files): Likewise.
11384         * modules/c-strstr-tests (Files): Likewise.
11385         * modules/canonicalize-lgpl-tests (Files): Likewise.
11386         * modules/canonicalize-tests (Files): Likewise.
11387         * modules/carray-list-tests (Files): Likewise.
11388         * modules/ceilf-tests (Files): Likewise.
11389         * modules/ceill-tests (Files): Likewise.
11390         * modules/chown-tests (Files): Likewise.
11391         * modules/cloexec-tests (Files): Likewise.
11392         * modules/copy-file-tests (Files): Likewise.
11393         * modules/count-one-bits-tests (Files): Likewise.
11394         * modules/dprintf-posix-tests (Files): Likewise.
11395         * modules/dup2-tests (Files): Likewise.
11396         * modules/dup3-tests (Files): Likewise.
11397         * modules/duplocale-tests (Files): Likewise.
11398         * modules/fbufmode-tests (Files): Likewise.
11399         * modules/fchdir-tests (Files): Likewise.
11400         * modules/fcntl-safer-tests (Files): Likewise.
11401         * modules/fcntl-tests (Files): Likewise.
11402         * modules/fdopendir-tests (Files): Likewise.
11403         * modules/fdutimensat-tests (Files): Likewise.
11404         * modules/fflush-tests (Files): Likewise.
11405         * modules/filevercmp-tests (Files): Likewise.
11406         * modules/flock-tests (Files): Likewise.
11407         * modules/floorf-tests (Files): Likewise.
11408         * modules/floorl-tests (Files): Likewise.
11409         * modules/fnmatch-tests (Files): Likewise.
11410         * modules/fopen-safer-tests (Files): Likewise.
11411         * modules/fopen-tests (Files): Likewise.
11412         * modules/fpending-tests (Files): Likewise.
11413         * modules/fprintf-posix-tests (Files): Likewise.
11414         * modules/fpurge-tests (Files): Likewise.
11415         * modules/freadable-tests (Files): Likewise.
11416         * modules/freadahead-tests (Files): Likewise.
11417         * modules/freading-tests (Files): Likewise.
11418         * modules/freadptr-tests (Files): Likewise.
11419         * modules/freadseek-tests (Files): Likewise.
11420         * modules/freopen-tests (Files): Likewise.
11421         * modules/frexp-nolibm-tests (Files): Likewise.
11422         * modules/frexp-tests (Files): Likewise.
11423         * modules/frexpl-nolibm-tests (Files): Likewise.
11424         * modules/frexpl-tests (Files): Likewise.
11425         * modules/fseek-tests (Files): Likewise.
11426         * modules/fseeko-tests (Files): Likewise.
11427         * modules/fstrcmp-tests (Files): Likewise.
11428         * modules/fsync-tests (Files): Likewise.
11429         * modules/ftell-tests (Files): Likewise.
11430         * modules/ftello-tests (Files): Likewise.
11431         * modules/func-tests (Files): Likewise.
11432         * modules/futimens-tests (Files): Likewise.
11433         * modules/fwritable-tests (Files): Likewise.
11434         * modules/fwriting-tests (Files): Likewise.
11435         * modules/getcwd-tests (Files): Likewise.
11436         * modules/getdate-tests (Files): Likewise.
11437         * modules/getdelim-tests (Files): Likewise.
11438         * modules/getdtablesize-tests (Files): Likewise.
11439         * modules/getgroups-tests (Files): Likewise.
11440         * modules/getline-tests (Files): Likewise.
11441         * modules/getndelim2-tests (Files): Likewise.
11442         * modules/glob-tests (Files): Likewise.
11443         * modules/hash-tests (Files): Likewise.
11444         * modules/i-ring-tests (Files): Likewise.
11445         * modules/iconv-tests (Files): Likewise.
11446         * modules/iconv_open-utf-tests (Files): Likewise.
11447         * modules/idpriv-drop-tests (Files): Likewise.
11448         * modules/idpriv-droptemp-tests (Files): Likewise.
11449         * modules/inet_ntop-tests (Files): Likewise.
11450         * modules/inet_pton-tests (Files): Likewise.
11451         * modules/isblank-tests (Files): Likewise.
11452         * modules/isfinite-tests (Files): Likewise.
11453         * modules/isinf-tests (Files): Likewise.
11454         * modules/isnan-tests (Files): Likewise.
11455         * modules/isnand-nolibm-tests (Files): Likewise.
11456         * modules/isnand-tests (Files): Likewise.
11457         * modules/isnanf-nolibm-tests (Files): Likewise.
11458         * modules/isnanf-tests (Files): Likewise.
11459         * modules/isnanl-nolibm-tests (Files): Likewise.
11460         * modules/isnanl-tests (Files): Likewise.
11461         * modules/lchown-tests (Files): Likewise.
11462         * modules/ldexpl-tests (Files): Likewise.
11463         * modules/link-tests (Files): Likewise.
11464         * modules/linkat-tests (Files): Likewise.
11465         * modules/linked-list-tests (Files): Likewise.
11466         * modules/linkedhash-list-tests (Files): Likewise.
11467         * modules/localename-tests (Files): Likewise.
11468         * modules/lseek-tests (Files): Likewise.
11469         * modules/lstat-tests (Files): Likewise.
11470         * modules/mbmemcasecmp-tests (Files): Likewise.
11471         * modules/mbmemcasecoll-tests (Files): Likewise.
11472         * modules/mbrtowc-tests (Files): Likewise.
11473         * modules/mbscasecmp-tests (Files): Likewise.
11474         * modules/mbscasestr-tests (Files): Likewise.
11475         * modules/mbschr-tests (Files): Likewise.
11476         * modules/mbscspn-tests (Files): Likewise.
11477         * modules/mbsinit-tests (Files): Likewise.
11478         * modules/mbsncasecmp-tests (Files): Likewise.
11479         * modules/mbsnrtowcs-tests (Files): Likewise.
11480         * modules/mbspbrk-tests (Files): Likewise.
11481         * modules/mbspcasecmp-tests (Files): Likewise.
11482         * modules/mbsrchr-tests (Files): Likewise.
11483         * modules/mbsrtowcs-tests (Files): Likewise.
11484         * modules/mbsspn-tests (Files): Likewise.
11485         * modules/mbsstr-tests (Files): Likewise.
11486         * modules/memchr-tests (Files): Likewise.
11487         * modules/memchr2-tests (Files): Likewise.
11488         * modules/memcmp-tests (Files): Likewise.
11489         * modules/memmem-tests (Files): Likewise.
11490         * modules/memrchr-tests (Files): Likewise.
11491         * modules/mkdir-tests (Files): Likewise.
11492         * modules/mkfifo-tests (Files): Likewise.
11493         * modules/mkfifoat-tests (Files): Likewise.
11494         * modules/mknod-tests (Files): Likewise.
11495         * modules/nanosleep-tests (Files): Likewise.
11496         * modules/nl_langinfo-tests (Files): Likewise.
11497         * modules/obstack-printf-tests (Files): Likewise.
11498         * modules/open-tests (Files): Likewise.
11499         * modules/openat-tests (Files): Likewise.
11500         * modules/pipe-filter-gi-tests (Files): Likewise.
11501         * modules/pipe-filter-ii-tests (Files): Likewise.
11502         * modules/pipe2-tests (Files): Likewise.
11503         * modules/popen-safer-tests (Files): Likewise.
11504         * modules/popen-tests (Files): Likewise.
11505         * modules/posixtm-tests (Files): Likewise.
11506         * modules/pread-tests (Files): Likewise.
11507         * modules/printf-frexp-tests (Files): Likewise.
11508         * modules/printf-frexpl-tests (Files): Likewise.
11509         * modules/printf-posix-tests (Files): Likewise.
11510         * modules/priv-set-tests (Files): Likewise.
11511         * modules/quotearg-tests (Files): Likewise.
11512         * modules/random_r-tests (Files): Likewise.
11513         * modules/rawmemchr-tests (Files): Likewise.
11514         * modules/rbtree-list-tests (Files): Likewise.
11515         * modules/rbtree-oset-tests (Files): Likewise.
11516         * modules/rbtreehash-list-tests (Files): Likewise.
11517         * modules/readlink-tests (Files): Likewise.
11518         * modules/remove-tests (Files): Likewise.
11519         * modules/rename-tests (Files): Likewise.
11520         * modules/renameat-tests (Files): Likewise.
11521         * modules/rmdir-tests (Files): Likewise.
11522         * modules/round-tests (Files): Likewise.
11523         * modules/roundf-tests (Files): Likewise.
11524         * modules/roundl-tests (Files): Likewise.
11525         * modules/safe-alloc-tests (Files): Likewise.
11526         * modules/setenv-tests (Files): Likewise.
11527         * modules/sigaction-tests (Files): Likewise.
11528         * modules/signbit-tests (Files): Likewise.
11529         * modules/sleep-tests (Files): Likewise.
11530         * modules/snprintf-posix-tests (Files): Likewise.
11531         * modules/snprintf-tests (Files): Likewise.
11532         * modules/sprintf-posix-tests (Files): Likewise.
11533         * modules/stat-tests (Files): Likewise.
11534         * modules/stat-time-tests (Files): Likewise.
11535         * modules/strcasestr-tests (Files): Likewise.
11536         * modules/strchrnul-tests (Files): Likewise.
11537         * modules/strerror-tests (Files): Likewise.
11538         * modules/striconv-tests (Files): Likewise.
11539         * modules/striconveh-tests (Files): Likewise.
11540         * modules/striconveha-tests (Files): Likewise.
11541         * modules/strsignal-tests (Files): Likewise.
11542         * modules/strstr-tests (Files): Likewise.
11543         * modules/strtod-tests (Files): Likewise.
11544         * modules/strverscmp-tests (Files): Likewise.
11545         * modules/symlink-tests (Files): Likewise.
11546         * modules/symlinkat-tests (Files): Likewise.
11547         * modules/trunc-tests (Files): Likewise.
11548         * modules/truncf-tests (Files): Likewise.
11549         * modules/truncl-tests (Files): Likewise.
11550         * modules/uname-tests (Files): Likewise.
11551         * modules/unicase/cased-tests (Files): Likewise.
11552         * modules/unicase/ignorable-tests (Files): Likewise.
11553         * modules/unicase/locale-language-tests (Files): Likewise.
11554         * modules/unicase/tolower-tests (Files): Likewise.
11555         * modules/unicase/totitle-tests (Files): Likewise.
11556         * modules/unicase/toupper-tests (Files): Likewise.
11557         * modules/unicase/u8-casecmp-tests (Files): Likewise.
11558         * modules/unicase/u8-casecoll-tests (Files): Likewise.
11559         * modules/unicase/u8-casefold-tests (Files): Likewise.
11560         * modules/unicase/u8-is-cased-tests (Files): Likewise.
11561         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
11562         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
11563         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
11564         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
11565         * modules/unicase/u8-tolower-tests (Files): Likewise.
11566         * modules/unicase/u8-totitle-tests (Files): Likewise.
11567         * modules/unicase/u8-toupper-tests (Files): Likewise.
11568         * modules/unicase/u16-casecmp-tests (Files): Likewise.
11569         * modules/unicase/u16-casecoll-tests (Files): Likewise.
11570         * modules/unicase/u16-casefold-tests (Files): Likewise.
11571         * modules/unicase/u16-is-cased-tests (Files): Likewise.
11572         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
11573         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
11574         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
11575         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
11576         * modules/unicase/u16-tolower-tests (Files): Likewise.
11577         * modules/unicase/u16-totitle-tests (Files): Likewise.
11578         * modules/unicase/u16-toupper-tests (Files): Likewise.
11579         * modules/unicase/u32-casecmp-tests (Files): Likewise.
11580         * modules/unicase/u32-casecoll-tests (Files): Likewise.
11581         * modules/unicase/u32-casefold-tests (Files): Likewise.
11582         * modules/unicase/u32-is-cased-tests (Files): Likewise.
11583         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
11584         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
11585         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
11586         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
11587         * modules/unicase/u32-tolower-tests (Files): Likewise.
11588         * modules/unicase/u32-totitle-tests (Files): Likewise.
11589         * modules/unicase/u32-toupper-tests (Files): Likewise.
11590         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
11591         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
11592         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
11593         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
11594         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
11595         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
11596         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
11597         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
11598         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
11599         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
11600         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
11601         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
11602         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
11603         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
11604         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
11605         * modules/unictype/bidicategory-name-tests (Files): Likewise.
11606         * modules/unictype/bidicategory-of-tests (Files): Likewise.
11607         * modules/unictype/bidicategory-test-tests (Files): Likewise.
11608         * modules/unictype/block-list-tests (Files): Likewise.
11609         * modules/unictype/block-of-tests (Files): Likewise.
11610         * modules/unictype/block-test-tests (Files): Likewise.
11611         * modules/unictype/category-C-tests (Files): Likewise.
11612         * modules/unictype/category-Cc-tests (Files): Likewise.
11613         * modules/unictype/category-Cf-tests (Files): Likewise.
11614         * modules/unictype/category-Cn-tests (Files): Likewise.
11615         * modules/unictype/category-Co-tests (Files): Likewise.
11616         * modules/unictype/category-Cs-tests (Files): Likewise.
11617         * modules/unictype/category-L-tests (Files): Likewise.
11618         * modules/unictype/category-Ll-tests (Files): Likewise.
11619         * modules/unictype/category-Lm-tests (Files): Likewise.
11620         * modules/unictype/category-Lo-tests (Files): Likewise.
11621         * modules/unictype/category-Lt-tests (Files): Likewise.
11622         * modules/unictype/category-Lu-tests (Files): Likewise.
11623         * modules/unictype/category-M-tests (Files): Likewise.
11624         * modules/unictype/category-Mc-tests (Files): Likewise.
11625         * modules/unictype/category-Me-tests (Files): Likewise.
11626         * modules/unictype/category-Mn-tests (Files): Likewise.
11627         * modules/unictype/category-N-tests (Files): Likewise.
11628         * modules/unictype/category-Nd-tests (Files): Likewise.
11629         * modules/unictype/category-Nl-tests (Files): Likewise.
11630         * modules/unictype/category-No-tests (Files): Likewise.
11631         * modules/unictype/category-P-tests (Files): Likewise.
11632         * modules/unictype/category-Pc-tests (Files): Likewise.
11633         * modules/unictype/category-Pd-tests (Files): Likewise.
11634         * modules/unictype/category-Pe-tests (Files): Likewise.
11635         * modules/unictype/category-Pf-tests (Files): Likewise.
11636         * modules/unictype/category-Pi-tests (Files): Likewise.
11637         * modules/unictype/category-Po-tests (Files): Likewise.
11638         * modules/unictype/category-Ps-tests (Files): Likewise.
11639         * modules/unictype/category-S-tests (Files): Likewise.
11640         * modules/unictype/category-Sc-tests (Files): Likewise.
11641         * modules/unictype/category-Sk-tests (Files): Likewise.
11642         * modules/unictype/category-Sm-tests (Files): Likewise.
11643         * modules/unictype/category-So-tests (Files): Likewise.
11644         * modules/unictype/category-Z-tests (Files): Likewise.
11645         * modules/unictype/category-Zl-tests (Files): Likewise.
11646         * modules/unictype/category-Zp-tests (Files): Likewise.
11647         * modules/unictype/category-Zs-tests (Files): Likewise.
11648         * modules/unictype/category-and-not-tests (Files): Likewise.
11649         * modules/unictype/category-and-tests (Files): Likewise.
11650         * modules/unictype/category-byname-tests (Files): Likewise.
11651         * modules/unictype/category-name-tests (Files): Likewise.
11652         * modules/unictype/category-none-tests (Files): Likewise.
11653         * modules/unictype/category-of-tests (Files): Likewise.
11654         * modules/unictype/category-or-tests (Files): Likewise.
11655         * modules/unictype/category-test-withtable-tests (Files): Likewise.
11656         * modules/unictype/combining-class-tests (Files): Likewise.
11657         * modules/unictype/ctype-alnum-tests (Files): Likewise.
11658         * modules/unictype/ctype-alpha-tests (Files): Likewise.
11659         * modules/unictype/ctype-blank-tests (Files): Likewise.
11660         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
11661         * modules/unictype/ctype-digit-tests (Files): Likewise.
11662         * modules/unictype/ctype-graph-tests (Files): Likewise.
11663         * modules/unictype/ctype-lower-tests (Files): Likewise.
11664         * modules/unictype/ctype-print-tests (Files): Likewise.
11665         * modules/unictype/ctype-punct-tests (Files): Likewise.
11666         * modules/unictype/ctype-space-tests (Files): Likewise.
11667         * modules/unictype/ctype-upper-tests (Files): Likewise.
11668         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
11669         * modules/unictype/decimal-digit-tests (Files): Likewise.
11670         * modules/unictype/digit-tests (Files): Likewise.
11671         * modules/unictype/mirror-tests (Files): Likewise.
11672         * modules/unictype/numeric-tests (Files): Likewise.
11673         * modules/unictype/property-alphabetic-tests (Files): Likewise.
11674         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
11675         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
11676         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
11677         Likewise.
11678         * modules/unictype/property-bidi-block-separator-tests (Files):
11679         Likewise.
11680         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
11681         Likewise.
11682         * modules/unictype/property-bidi-common-separator-tests (Files):
11683         Likewise.
11684         * modules/unictype/property-bidi-control-tests (Files): Likewise.
11685         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
11686         Likewise.
11687         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
11688         Likewise.
11689         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
11690         Likewise.
11691         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
11692         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
11693         Likewise.
11694         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
11695         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
11696         Likewise.
11697         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
11698         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
11699         * modules/unictype/property-bidi-segment-separator-tests (Files):
11700         Likewise.
11701         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
11702         * modules/unictype/property-byname-tests (Files): Likewise.
11703         * modules/unictype/property-combining-tests (Files): Likewise.
11704         * modules/unictype/property-composite-tests (Files): Likewise.
11705         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
11706         * modules/unictype/property-dash-tests (Files): Likewise.
11707         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
11708         * modules/unictype/property-default-ignorable-code-point-tests (Files):
11709         Likewise.
11710         * modules/unictype/property-deprecated-tests (Files): Likewise.
11711         * modules/unictype/property-diacritic-tests (Files): Likewise.
11712         * modules/unictype/property-extender-tests (Files): Likewise.
11713         * modules/unictype/property-format-control-tests (Files): Likewise.
11714         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
11715         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
11716         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
11717         * modules/unictype/property-hex-digit-tests (Files): Likewise.
11718         * modules/unictype/property-hyphen-tests (Files): Likewise.
11719         * modules/unictype/property-id-continue-tests (Files): Likewise.
11720         * modules/unictype/property-id-start-tests (Files): Likewise.
11721         * modules/unictype/property-ideographic-tests (Files): Likewise.
11722         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
11723         * modules/unictype/property-ids-trinary-operator-tests (Files):
11724         Likewise.
11725         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
11726         * modules/unictype/property-iso-control-tests (Files): Likewise.
11727         * modules/unictype/property-join-control-tests (Files): Likewise.
11728         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
11729         * modules/unictype/property-line-separator-tests (Files): Likewise.
11730         * modules/unictype/property-logical-order-exception-tests (Files):
11731         Likewise.
11732         * modules/unictype/property-lowercase-tests (Files): Likewise.
11733         * modules/unictype/property-math-tests (Files): Likewise.
11734         * modules/unictype/property-non-break-tests (Files): Likewise.
11735         * modules/unictype/property-not-a-character-tests (Files): Likewise.
11736         * modules/unictype/property-numeric-tests (Files): Likewise.
11737         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
11738         * modules/unictype/property-other-default-ignorable-code-point-tests
11739         (Files): Likewise.
11740         * modules/unictype/property-other-grapheme-extend-tests (Files):
11741         Likewise.
11742         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
11743         * modules/unictype/property-other-id-start-tests (Files): Likewise.
11744         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
11745         * modules/unictype/property-other-math-tests (Files): Likewise.
11746         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
11747         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
11748         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
11749         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
11750         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
11751         * modules/unictype/property-private-use-tests (Files): Likewise.
11752         * modules/unictype/property-punctuation-tests (Files): Likewise.
11753         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
11754         * modules/unictype/property-radical-tests (Files): Likewise.
11755         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
11756         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
11757         * modules/unictype/property-space-tests (Files): Likewise.
11758         * modules/unictype/property-terminal-punctuation-tests (Files):
11759         Likewise.
11760         * modules/unictype/property-test-tests (Files): Likewise.
11761         * modules/unictype/property-titlecase-tests (Files): Likewise.
11762         * modules/unictype/property-unassigned-code-value-tests (Files):
11763         Likewise.
11764         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
11765         * modules/unictype/property-uppercase-tests (Files): Likewise.
11766         * modules/unictype/property-variation-selector-tests (Files): Likewise.
11767         * modules/unictype/property-white-space-tests (Files): Likewise.
11768         * modules/unictype/property-xid-continue-tests (Files): Likewise.
11769         * modules/unictype/property-xid-start-tests (Files): Likewise.
11770         * modules/unictype/property-zero-width-tests (Files): Likewise.
11771         * modules/unictype/scripts-tests (Files): Likewise.
11772         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
11773         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
11774         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
11775         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
11776         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
11777         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
11778         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
11779         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
11780         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
11781         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
11782         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
11783         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
11784         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
11785         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
11786         * modules/uninorm/composition-tests (Files): Likewise.
11787         * modules/uninorm/decomposing-form-tests (Files): Likewise.
11788         * modules/uninorm/decomposition-tests (Files): Likewise.
11789         * modules/uninorm/filter-tests (Files): Likewise.
11790         * modules/uninorm/nfc-tests (Files): Likewise.
11791         * modules/uninorm/nfd-tests (Files): Likewise.
11792         * modules/uninorm/nfkc-tests (Files): Likewise.
11793         * modules/uninorm/nfkd-tests (Files): Likewise.
11794         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
11795         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
11796         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
11797         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
11798         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
11799         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
11800         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
11801         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
11802         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
11803         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
11804         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
11805         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
11806         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
11807         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
11808         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
11809         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
11810         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
11811         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
11812         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
11813         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
11814         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
11815         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
11816         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
11817         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
11818         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
11819         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
11820         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
11821         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
11822         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
11823         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
11824         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
11825         * modules/uniwidth/u8-width-tests (Files): Likewise.
11826         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
11827         * modules/uniwidth/u16-width-tests (Files): Likewise.
11828         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
11829         * modules/uniwidth/u32-width-tests (Files): Likewise.
11830         * modules/uniwidth/width-tests (Files): Likewise.
11831         * modules/unlink-tests (Files): Likewise.
11832         * modules/unsetenv-tests (Files): Likewise.
11833         * modules/usleep-tests (Files): Likewise.
11834         * modules/utimens-tests (Files): Likewise.
11835         * modules/utimensat-tests (Files): Likewise.
11836         * modules/vasnprintf-posix-tests (Files): Likewise.
11837         * modules/vasnprintf-tests (Files): Likewise.
11838         * modules/vasprintf-posix-tests (Files): Likewise.
11839         * modules/vasprintf-tests (Files): Likewise.
11840         * modules/vdprintf-posix-tests (Files): Likewise.
11841         * modules/vfprintf-posix-tests (Files): Likewise.
11842         * modules/vprintf-posix-tests (Files): Likewise.
11843         * modules/vsnprintf-posix-tests (Files): Likewise.
11844         * modules/vsnprintf-tests (Files): Likewise.
11845         * modules/vsprintf-posix-tests (Files): Likewise.
11846         * modules/wcrtomb-tests (Files): Likewise.
11847         * modules/wcsnrtombs-tests (Files): Likewise.
11848         * modules/wcsrtombs-tests (Files): Likewise.
11849         * modules/wctype-tests (Files): Likewise.
11850         * modules/wcwidth-tests (Files): Likewise.
11851         * modules/xmemdup0-tests (Files): Likewise.
11852         * modules/xprintf-posix-tests (Files): Likewise.
11853         * modules/xvasprintf-tests (Files): Likewise.
11854
11855 2009-12-24  Eric Blake  <ebb9@byu.net>
11856
11857         test-nanosleep: fix typo
11858         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
11859         patch.
11860         Reported by Bruno Haible.
11861
11862 2009-12-24  Bruno Haible  <bruno@clisp.org>
11863
11864         Reduce namespace pollution on glibc systems.
11865         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
11866         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
11867         systems.
11868         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
11869         <getopt.h> on glibc systems.
11870         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
11871         systems.
11872         * lib/fcntl.c: Include <unistd.h> here instead.
11873
11874 2009-12-24  Bruno Haible  <bruno@clisp.org>
11875
11876         * lib/stdlib.in.h (includes): Fix typo in today's commit.
11877
11878 2009-12-24  Eric Blake  <ebb9@byu.net>
11879
11880         tests: add signature checks
11881         * tests/signature.h (SIGNATURE_CHECK): New file.
11882         * modules/atexit-tests (Files): Use it.
11883         * modules/btowc-tests (Files): Likewise.
11884         * modules/canonicalize-lgpl-tests (Files): Likewise.
11885         * modules/ceilf-tests (Files): Likewise.
11886         * modules/ceill-tests (Files): Likewise.
11887         * modules/chown-tests (Files): Likewise.
11888         * modules/dprintf-posix-tests (Files): Likewise.
11889         * modules/dup2-tests (Files): Likewise.
11890         * modules/dup3-tests (Files): Likewise.
11891         * modules/duplocale-tests (Files): Likewise.
11892         * modules/fchdir-tests (Files): Likewise.
11893         * modules/fcntl-tests (Files): Likewise.
11894         * modules/fdopendir-tests (Files): Likewise.
11895         * modules/fflush-tests (Files): Likewise.
11896         * modules/flock-tests (Files): Likewise.
11897         * modules/floorf-tests (Files): Likewise.
11898         * modules/floorl-tests (Files): Likewise.
11899         * modules/fnmatch-tests (Files): Likewise.
11900         * modules/fopen-tests (Files): Likewise.
11901         * modules/fprintf-posix-tests (Files): Likewise.
11902         * modules/freopen-tests (Files): Likewise.
11903         * modules/frexp-nolibm-tests (Files): Likewise.
11904         * modules/frexp-tests (Files): Likewise.
11905         * modules/frexpl-nolibm-tests (Files): Likewise.
11906         * modules/frexpl-tests (Files): Likewise.
11907         * modules/fseek-tests (Files): Likewise.
11908         * modules/fseeko-tests (Files): Likewise.
11909         * modules/fsync-tests (Files): Likewise.
11910         * modules/ftell-tests (Files): Likewise.
11911         * modules/ftello-tests (Files): Likewise.
11912         * modules/futimens-tests (Files): Likewise.
11913         * modules/getaddrinfo-tests (Files): Likewise.
11914         * modules/getcwd-tests (Files): Likewise.
11915         * modules/getdelim-tests (Files): Likewise.
11916         * modules/getdtablesize-tests (Files): Likewise.
11917         * modules/getgroups-tests (Files): Likewise.
11918         * modules/gethostname-tests (Files): Likewise.
11919         * modules/getline-tests (Files): Likewise.
11920         * modules/getopt-posix-tests (Files): Likewise.
11921         * modules/gettimeofday-tests (Files): Likewise.
11922         * modules/glob-tests (Files): Likewise.
11923         * modules/iconv-tests (Files): Likewise.
11924         * modules/inet_ntop-tests (Files): Likewise.
11925         * modules/inet_pton-tests (Files): Likewise.
11926         * modules/isblank-tests (Files): Likewise.
11927         * modules/lchown-tests (Files): Likewise.
11928         * modules/ldexpl-tests (Files): Likewise.
11929         * modules/link-tests (Files): Likewise.
11930         * modules/linkat-tests (Files): Likewise.
11931         * modules/lseek-tests (Files): Likewise.
11932         * modules/lstat-tests (Files): Likewise.
11933         * modules/mbrtowc-tests (Files): Likewise.
11934         * modules/mbsinit-tests (Files): Likewise.
11935         * modules/mbsnrtowcs-tests (Files): Likewise.
11936         * modules/mbsrtowcs-tests (Files): Likewise.
11937         * modules/memchr-tests (Files): Likewise.
11938         * modules/memcmp-tests (Files): Likewise.
11939         * modules/memmem-tests (Files): Likewise.
11940         * modules/memrchr-tests (Files): Likewise.
11941         * modules/mkdir-tests (Files): Likewise.
11942         * modules/mkfifo-tests (Files): Likewise.
11943         * modules/mkfifoat-tests (Files): Likewise.
11944         * modules/mknod-tests (Files): Likewise.
11945         * modules/nanosleep-tests (Files): Likewise.
11946         * modules/nl_langinfo-tests (Files): Likewise.
11947         * modules/obstack-printf-tests (Files): Likewise.
11948         * modules/open-tests (Files): Likewise.
11949         * modules/openat-tests (Files): Likewise.
11950         * modules/perror-tests (Files): Likewise.
11951         * modules/pipe2-tests (Files): Likewise.
11952         * modules/poll-tests (Files): Likewise.
11953         * modules/popen-tests (Files): Likewise.
11954         * modules/posix_spawn-tests (Files): Likewise.
11955         * modules/posix_spawnp-tests (Files): Likewise.
11956         * modules/pread-tests (Files): Likewise.
11957         * modules/printf-posix-tests (Files): Likewise.
11958         * modules/pty-tests (Files): Likewise.
11959         * modules/random_r-tests (Files): Likewise.
11960         * modules/rawmemchr-tests (Files): Likewise.
11961         * modules/readlink-tests (Files): Likewise.
11962         * modules/remove-tests (Files): Likewise.
11963         * modules/rename-tests (Files): Likewise.
11964         * modules/renameat-tests (Files): Likewise.
11965         * modules/rmdir-tests (Files): Likewise.
11966         * modules/round-tests (Files): Likewise.
11967         * modules/roundf-tests (Files): Likewise.
11968         * modules/roundl-tests (Files): Likewise.
11969         * modules/select-tests (Files): Likewise.
11970         * modules/setenv-tests (Files): Likewise.
11971         * modules/sigaction-tests (Files): Likewise.
11972         * modules/sleep-tests (Files): Likewise.
11973         * modules/snprintf-posix-tests (Files): Likewise.
11974         * modules/snprintf-tests (Files): Likewise.
11975         * modules/sprintf-posix-tests (Files): Likewise.
11976         * modules/stat-tests (Files): Likewise.
11977         * modules/strcasestr-tests (Files): Likewise.
11978         * modules/strchrnul-tests (Files): Likewise.
11979         * modules/strerror-tests (Files): Likewise.
11980         * modules/strsignal-tests (Files): Likewise.
11981         * modules/strstr-tests (Files): Likewise.
11982         * modules/strtod-tests (Files): Likewise.
11983         * modules/strverscmp-tests (Files): Likewise.
11984         * modules/symlink-tests (Files): Likewise.
11985         * modules/symlinkat-tests (Files): Likewise.
11986         * modules/times-tests (Files): Likewise.
11987         * modules/trunc-tests (Files): Likewise.
11988         * modules/truncf-tests (Files): Likewise.
11989         * modules/truncl-tests (Files): Likewise.
11990         * modules/tsearch-tests (Files): Likewise.
11991         * modules/uname-tests (Files): Likewise.
11992         * modules/unlink-tests (Files): Likewise.
11993         * modules/unsetenv-tests (Files): Likewise.
11994         * modules/usleep-tests (Files): Likewise.
11995         * modules/utimensat-tests (Files): Likewise.
11996         * modules/vasprintf-tests (Files): Likewise.
11997         * modules/vdprintf-posix-tests (Files): Likewise.
11998         * modules/vfprintf-posix-tests (Files): Likewise.
11999         * modules/vprintf-posix-tests (Files): Likewise.
12000         * modules/vsnprintf-posix-tests (Files): Likewise.
12001         * modules/vsnprintf-tests (Files): Likewise.
12002         * modules/vsprintf-posix-tests (Files): Likewise.
12003         * modules/wcrtomb-tests (Files): Likewise.
12004         * modules/wcsnrtombs-tests (Files): Likewise.
12005         * modules/wcsrtombs-tests (Files): Likewise.
12006         * modules/wcwidth-tests (Files): Likewise.
12007         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
12008         * tests/test-isinf.c (isinf): Likewise.
12009         * tests/test-isnan.c (isnan): Likewise.
12010         * tests/test-signbit.c (signbit): Likewise.
12011         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
12012         declaration, either as macro or with correct signature.
12013         (select): Ensure function under test is declared with correct
12014         signature in correct header.
12015         * tests/test-atexit.c (atexit): Likewise.
12016         * tests/test-btowc.c (btowc): Likewise.
12017         * tests/test-canonicalize-lgpl.c (realpath)
12018         (canonicalize_file_name): Likewise.
12019         * tests/test-ceilf1.c (ceilf): Likewise.
12020         * tests/test-ceill.c (ceill): Likewise.
12021         * tests/test-chown.c (chown): Likewise.
12022         * tests/test-dprintf-posix.c (dprintf): Likewise.
12023         * tests/test-dup2.c (dup2): Likewise.
12024         * tests/test-dup3.c (dup3): Likewise.
12025         * tests/test-duplocale.c (duplocale): Likewise.
12026         * tests/test-fchdir.c (fchdir): Likewise.
12027         * tests/test-fchownat.c (fchownat): Likewise.
12028         * tests/test-fcntl.c (fcntl): Likewise.
12029         * tests/test-fdopendir.c (fdopendir): Likewise.
12030         * tests/test-fflush.c (fflush): Likewise.
12031         * tests/test-flock.c (flock): Likewise.
12032         * tests/test-floorf1.c (floorf): Likewise.
12033         * tests/test-floorl.c (floorl): Likewise.
12034         * tests/test-fnmatch.c (fnmatch): Likewise.
12035         * tests/test-fopen.c (fopen): Likewise.
12036         * tests/test-fprintf-posix.c (fprintf): Likewise.
12037         * tests/test-freopen.c (freopen): Likewise.
12038         * tests/test-frexp.c (frexp): Likewise.
12039         * tests/test-frexpl.c (frexpl): Likewise.
12040         * tests/test-fseek.c (fseek): Likewise.
12041         * tests/test-fseeko.c (fseeko): Likewise.
12042         * tests/test-fstatat.c (fstatat): Likewise.
12043         * tests/test-fsync.c (fsync): Likewise.
12044         * tests/test-ftell.c (ftell): Likewise.
12045         * tests/test-ftello.c (ftello): Likewise.
12046         * tests/test-futimens.c (futimens): Likewise.
12047         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
12048         (gai_strerror): Likewise.
12049         * tests/test-getcwd.c (getcwd): Likewise.
12050         * tests/test-getdelim.c (getdelim): Likewise.
12051         * tests/test-getdtablesize.c (getdtablesize): Likewise.
12052         * tests/test-getgroups.c (getgroups): Likewise.
12053         * tests/test-gethostname.c (gethostname): Likewise.
12054         * tests/test-getline.c (getline): Likewise.
12055         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
12056         Likewise.
12057         * tests/test-gettimeofday.c (gettimeofday): Likewise.
12058         * tests/test-glob.c (glob, globfree): Likewise.
12059         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
12060         * tests/test-inet_ntop.c (inet_ntop): Likewise.
12061         * tests/test-inet_pton.c (inet_pton): Likewise.
12062         * tests/test-isblank.c (isblank): Likewise.
12063         * tests/test-lchown.c (lchown): Likewise.
12064         * tests/test-ldexpl.c (ldexpl): Likewise.
12065         * tests/test-link.c (link): Likewise.
12066         * tests/test-linkat.c (linkat): Likewise.
12067         * tests/test-lseek.c (lseek): Likewise.
12068         * tests/test-lstat.c (lstat): Likewise.
12069         * tests/test-mbrtowc.c (mbrtowc): Likewise.
12070         * tests/test-mbsinit.c (mbsinit): Likewise.
12071         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
12072         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
12073         * tests/test-memchr.c (memchr): Likewise.
12074         * tests/test-memcmp.c (memcmp): Likewise.
12075         * tests/test-memmem.c (memmem): Likewise.
12076         * tests/test-memrchr.c (memrchr): Likewise.
12077         * tests/test-mkdir.c (mkdir): Likewise.
12078         * tests/test-mkdirat.c (mkdirat): Likewise.
12079         * tests/test-mkfifo.c (mkfifo): Likewise.
12080         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
12081         * tests/test-mknod.c (mknod): Likewise.
12082         * tests/test-nanosleep.c (nanosleep): Likewise.
12083         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
12084         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
12085         Likewise.
12086         * tests/test-open.c (open): Likewise.
12087         * tests/test-openat.c (openat): Likewise.
12088         * tests/test-perror.c (perror): Likewise.
12089         * tests/test-pipe2.c (pipe2): Likewise.
12090         * tests/test-poll.c (poll): Likewise.
12091         * tests/test-popen.c (popen, pclose): Likewise.
12092         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
12093         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
12094         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
12095         (posix_spawn_file_actions_destroy)
12096         (posix_spawn_file_actions_addclose)
12097         (posix_spawn_file_actions_addopen)
12098         (posix_spawn_file_actions_adddup2): Likewise.
12099         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
12100         * tests/test-pread.c (pread): Likewise.
12101         * tests/test-printf-posix.c (printf): Likewise.
12102         * tests/test-pty.c (openpty, forkpty): Likewise.
12103         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
12104         (random_r): Likewise.
12105         * tests/test-rawmemchr.c (rawmemchr): Likewise.
12106         * tests/test-readlink.c (readlink): Likewise.
12107         * tests/test-remove.c (remove): Likewise.
12108         * tests/test-rename.c (rename): Likewise.
12109         * tests/test-renameat.c (renameat): Likewise.
12110         * tests/test-rmdir.c (rmdir): Likewise.
12111         * tests/test-round1.c (round): Likewise.
12112         * tests/test-roundf1.c (roundf): Likewise.
12113         * tests/test-roundl.c (roundl): Likewise.
12114         * tests/test-setenv.c (setenv): Likewise.
12115         * tests/test-sigaction.c (sigaction): Likewise.
12116         * tests/test-sleep.c (sleep): Likewise.
12117         * tests/test-snprintf.c (snprintf): Likewise.
12118         * tests/test-sprintf-posix.c (sprintf): Likewise.
12119         * tests/test-stat.c (stat): Likewise.
12120         * tests/test-stpncpy.c (stpncpy): Likewise.
12121         * tests/test-strcasestr.c (strcasestr): Likewise.
12122         * tests/test-strchrnul.c (strchrnul): Likewise.
12123         * tests/test-strerror.c (strerror): Likewise.
12124         * tests/test-strsignal.c (strsignal): Likewise.
12125         * tests/test-strstr.c (strstr): Likewise.
12126         * tests/test-strtod.c (strtod): Likewise.
12127         * tests/test-strverscmp.c (strverscmp): Likewise.
12128         * tests/test-symlink.c (symlink): Likewise.
12129         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
12130         * tests/test-times.c (times): Likewise.
12131         * tests/test-trunc1.c (trunc): Likewise.
12132         * tests/test-truncf1.c (truncf): Likewise.
12133         * tests/test-truncl.c (truncl): Likewise.
12134         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
12135         Likewise.
12136         * tests/test-uname.c (uname): Likewise.
12137         * tests/test-unlink.c (unlink): Likewise.
12138         * tests/test-unlinkat.c (unlinkat): Likewise.
12139         * tests/test-unsetenv.c (unsetenv): Likewise.
12140         * tests/test-usleep.c (usleep): Likewise.
12141         * tests/test-utimensat.c (utimensat): Likewise.
12142         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
12143         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
12144         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
12145         * tests/test-vprintf-posix.c (vprintf): Likewise.
12146         * tests/test-vsnprintf.c (vsnprintf): Likewise.
12147         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
12148         * tests/test-wcrtomb.c (wcrtomb): Likewise.
12149         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
12150         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
12151         * tests/test-wcwidth.c (wcwidth): Likewise.
12152
12153         build: pull in conditional headers during GNULIB_POSIXCHECK
12154         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
12155         definitions from any conditionally-included headers.
12156         * lib/stdlib.in.h (includes): Likewise.
12157         * lib/unistd.in.h (includes): Likewise.
12158
12159 2009-12-24  Bruno Haible  <bruno@clisp.org>
12160
12161         * tests/test-argv-iter.c: Include header file being tested immediately
12162         after config.h.
12163         * tests/test-base64.c: Likewise.
12164         * tests/test-flock.c: Likewise.
12165         * tests/test-fsync.c: Likewise.
12166         * tests/test-getdate.c: Likewise.
12167         * tests/test-getndelim2.c: Likewise.
12168         * tests/test-isfinite.c: Likewise.
12169         * tests/test-isinf.c: Likewise.
12170         * tests/test-strerror.c: Likewise.
12171         * tests/test-strsignal.c: Likewise.
12172
12173 2009-12-23  Eric Blake  <ebb9@byu.net>
12174
12175         unistd: work around cygwin bug
12176         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
12177         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
12178         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
12179
12180 2009-12-23  Bruno Haible  <bruno@clisp.org>
12181
12182         localename: More tests.
12183         * tests/test-localename.c (SIZEOF): New macro.
12184         (categories): New variable.
12185         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
12186         test_locale_name_default): Add test w.r.t. thread locale.
12187         (test_locale_name_thread): New function.
12188         (main): Invoke it.
12189
12190         localename: Make aware of thread locale.
12191         * lib/localename.h (gl_locale_name_thread): New declaration.
12192         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
12193         behaviour with respect to thread locale.
12194         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
12195         <langinfo.h>, glthread/lock.h.
12196         (SIZE_BITS): New macro.
12197         (string_hash): New function.
12198         (struct hash_node): New type.
12199         (HASH_TABLE_SIZE): New macro.
12200         (struniq_hash_table, struniq_lock): New variables.
12201         (struniq): New function.
12202         (gl_locale_name_thread): New function.
12203         (gl_locale_name): Invoke it.
12204         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
12205         * modules/localename (Depends-on): Add lock.
12206         Reported by Mike Gran <spk121@yahoo.com>.
12207
12208 2009-12-23  Eric Blake  <ebb9@byu.net>
12209
12210         va-args: new module
12211         * modules/va-args: New file.
12212         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
12213         * MODULES.html.sh (Core language properties): Mention it.
12214
12215         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
12216         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
12217         named alias for __attribute__((__unused__)).
12218         * lib/chown.c: Update client.
12219         * lib/fchmodat.c: Likewise.
12220         * lib/fts.c: Likewise.
12221         * lib/getdate.y: Likewise.
12222         * lib/getgroups.c: Likewise.
12223         * lib/getopt.c: Likewise.
12224         * lib/getugroups.c: Likewise.
12225         * lib/mkdir.c: Likewise.
12226         * lib/mkfifo.c: Likewise.
12227         * lib/mkfifoat.c: Likewise.
12228         * lib/mknod.c: Likewise.
12229         * lib/mknodat.c: Likewise.
12230         * lib/readlink.c: Likewise.
12231         * lib/se-context.in.h: Likewise.
12232         * lib/se-selinux.in.h: Likewise.
12233         * lib/sockets.c: Likewise.
12234         * lib/symlink.c: Likewise.
12235         * lib/symlinkat.c: Likewise.
12236         * lib/unicodeio.c: Likewise.
12237         * lib/unistr.h: Likewise.
12238         * tests/test-areadlink.c: Likewise.
12239         * tests/test-areadlinkat.c: Likewise.
12240         * tests/test-filenamecat.c: Likewise.
12241         * tests/test-fseeko.c: Likewise.
12242         * tests/test-ftello.c: Likewise.
12243         * tests/test-getdate.c: Likewise.
12244         * tests/test-getgroups.c: Likewise.
12245         * tests/test-gethostname.c: Likewise.
12246         * tests/test-quotearg.c: Likewise.
12247         * tests/test-version-etc.c: Likewise.
12248         * tests/test-xalloc-die.c: Likewise.
12249         * tests/test-xfprintf-posix.c: Likewise.
12250         * tests/test-xprintf-posix.c: Likewise.
12251         * tests/test-xvasprintf.c: Likewise.
12252
12253         tests: avoid compiler warnings
12254         * tests/test-fcntl.c (main): Delete unused parameters.
12255         * tests/test-freopen-safer.c (main): Likewise.
12256         * tests/test-xalloc-die.c (main): Mark unused parameters.
12257         * tests/test-fseeko.c (main): Likewise.
12258         * tests/test-ftello.c (main): Likewise.
12259         * tests/test-nanosleep.c (main): Avoid declaration warning.
12260         * tests/test-sleep.c (main): Likewise.
12261         * tests/test-unsetenv.c (main): Silence warning about string
12262         literal.
12263         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
12264
12265 2009-12-23  Bruno Haible  <bruno@clisp.org>
12266
12267         * tests/test-localename.c (test_locale_name): New function, extracted
12268         from main. Also test mixed situations.
12269         (test_locale_name_posix, test_locale_name_environ,
12270         test_locale_name_default): New functions.
12271         (main): Invoke them all.
12272         * modules/localename-tests (configure.ac): Test for newlocale.
12273
12274 2009-12-23  Bruno Haible  <bruno@clisp.org>
12275
12276         unistd: Ensure getcwd gets declared before being overridden.
12277         * lib/unistd.in.h: Conditionally include <io.h>.
12278
12279 2009-12-22  Bruno Haible  <bruno@clisp.org>
12280
12281         wchar: Diagnose broken combination of glibc and gcc versions and flags.
12282         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
12283         (gl_WCHAR_H): Invoke it.
12284         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
12285         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
12286         Reported by Karl Berry <karl@freefriends.org>.
12287
12288 2009-12-22  Eric Blake  <ebb9@byu.net>
12289
12290         math, unistd: avoid redundant includes
12291         * lib/math.in.h (isnan): No need to re-include <math.h>.
12292         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
12293
12294         getsubopt: work around cygwin bug
12295         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
12296         avoid conflicting with system getsubopt.
12297         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
12298         bug.
12299
12300         getopt: synchronize from glibc
12301         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
12302         parameter order.  Adjust all callers.
12303         (_getopt_internal_r, main): Adjust quoting in error messages.
12304         Drop considerations for outdated POSIX 1003.2 error message.
12305         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
12306         callers.
12307         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
12308
12309         test-getopt: test stderr behavior
12310         * modules/getopt-posix-tests (Depends-on): Add dup2.
12311         * tests/test-getopt.c (ASSERT): Avoid stderr.
12312         (main): Move stderr to a temporary file.
12313         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
12314         Instead, add parameter to inform caller if output occurred.
12315         (test_getopt): Adjust all existing tests to expect silence, and
12316         add new tests of leading ":".
12317         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
12318         glibc shortcomings with leading "-:" or "+:" in optstring.
12319         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12320         Likewise.
12321         * doc/posix-functions/getopt.texi (getopt): Likewise.
12322
12323         test-getopt: enhance test
12324         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
12325         supports optind=0.
12326         * tests/test-getopt.c (OPTIND_MIN): Move...
12327         * tests/test-getopt.h (OPTIND_MIN): ...here.
12328         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
12329         Require that optind=0 works, since modern BSD supports it in
12330         addition to optreset, and since coreutils expects it.
12331         (test_getopt_long_only): New test.
12332         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
12333         glibc shortcomings with 'W;', and enforcement of optind=0.
12334         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
12335         Likewise.
12336
12337 2009-12-21  Bruno Haible  <bruno@clisp.org>
12338
12339         localename: Improvements for MacOS X and Cygwin.
12340         * lib/localename.h (gl_locale_name_environ): New declaration.
12341         * lib/localename.c (gl_locale_name_environ): New function, extracted from
12342         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
12343         (gl_locale_name_posix): Invoke it.
12344         (gl_locale_name_default): Add comments. Use Windows native API also on
12345         Cygwin.
12346
12347 2009-12-21  Bruno Haible  <bruno@clisp.org>
12348
12349         Update list of Win32 locale ids.
12350         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
12351         (LANG_SAMI): Renamed from LANG_SAAMI.
12352         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
12353         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
12354         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
12355         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
12356         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
12357         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
12358         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
12359         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
12360         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
12361         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
12362         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
12363         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
12364         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
12365         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
12366         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
12367         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
12368         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
12369         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
12370         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
12371         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
12372         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
12373         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
12374         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
12375         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
12376         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
12377         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
12378         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
12379         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
12380         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
12381         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
12382         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
12383         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
12384         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
12385         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
12386         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
12387         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
12388         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
12389         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
12390         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
12391         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
12392         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
12393         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
12394         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
12395         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
12396         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
12397         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
12398         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
12399         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
12400         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
12401         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
12402         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
12403         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
12404         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
12405         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
12406         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
12407         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
12408         Add more languages and countries for Sami, Sorbian. Add more countries
12409         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
12410         for Pashto. Change country for Syriac, Tswana.
12411
12412 2009-12-21  Eric Blake  <ebb9@byu.net>
12413
12414         test-utimens: avoid spurious failure
12415         * tests/test-chown.h (nap): Factor...
12416         * tests/nap.h: ...into new file.
12417         * tests/test-lchown.h (nap): Avoid duplication.
12418         * tests/test-utimens-common.h (nap): Use shared implementation,
12419         necessary on file systems with 1-second resolution.
12420         * modules/chown-tests (Files): Include new file.
12421         * modules/fdutimensat-tests (Files): Likewise.
12422         * modules/futimens-tests (Files): Likewise.
12423         * modules/lchown-tests (Files): Likewise.
12424         * modules/openat-tests (Files): Likewise.
12425         * modules/utimens-tests (Files): Likewise.
12426         * modules/utimensat-tests (Files): Likewise.
12427
12428 2009-12-19  Eric Blake  <ebb9@byu.net>
12429
12430         futimens, utimensat: work around Linux bug
12431         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
12432         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
12433         * lib/utimensat.c (rpl_utimensat): Work around it.
12434         * lib/futimens.c (rpl_futimens): Adjust comment.
12435
12436         utimens: work around Linux ctime bug
12437         * lib/utimens.c (detect_ctime_bug): New helper function.
12438         (update_timespec): Differentiate between workaround needed for
12439         this bug vs. what is needed for systems that lack utimensat.
12440         (fdutimens, lutimens): Work around bug.
12441
12442         utimens: check for ctime update
12443         * tests/test-utimens-common.h (check_ctime): Define.
12444         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
12445         * tests/test-futimens.h (test_futimens): Likewise.
12446         * tests/test-lutimens.h (test_lutimens): Likewise.
12447         * doc/posix-functions/futimens.texi (futimens): Document the bug.
12448         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
12449
12450 2009-12-19  Bruno Haible  <bruno@clisp.org>
12451
12452         dprintf-posix: Check against memory leak fixed on 2009-12-15.
12453         * tests/test-dprintf-posix2.sh: New file.
12454         * tests/test-dprintf-posix2.c: New file.
12455         * modules/dprintf-posix-tests (Files): Add them.
12456         (configure.ac): Check for getrlimit and setrlimit.
12457         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
12458
12459 2009-12-19  Bruno Haible  <bruno@clisp.org>
12460
12461         fprintf-posix: Check against memory leak fixed on 2009-12-15.
12462         * tests/test-fprintf-posix3.sh: New file.
12463         * tests/test-fprintf-posix3.c: New file.
12464         * modules/fprintf-posix-tests (Files): Add them.
12465         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
12466
12467 2009-12-19  Eric Blake  <ebb9@byu.net>
12468
12469         dirfd: fix prototype
12470         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
12471         * lib/dirfd.c (dirfd): Likewise.
12472
12473         canonicalize: reduce memory usage
12474         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
12475         allocation to size.
12476         Reported by Solar Designer <solar@openwall.com>.
12477
12478 2009-12-19  Bruno Haible  <bruno@clisp.org>
12479
12480         New module attribute 'Applicability'.
12481         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
12482         * gnulib-tool: New option --extract-applicability.
12483         (func_usage): Document it.
12484         (sed_extract_prog): Recognize it.
12485         (func_get_applicability): New function.
12486         (func_import): Generalize handling of 'link-warning' module.
12487         * modules/link-warning (Applicability): New section.
12488         * modules/arg-nonnull (Applicability): New section.
12489         Repoted by Simon Josefsson <simon@josefsson.org>.
12490
12491 2009-12-19  Bruno Haible  <bruno@clisp.org>
12492
12493         fflush: tweak
12494         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
12495         * lib/fseeko.c (rpl_fseeko): Likewise.
12496
12497 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
12498
12499         * lib/gl_list.h: Fix typo in comment.
12500
12501 2009-12-16  Eric Blake  <ebb9@byu.net>
12502
12503         fcntl: use to simplify other modules
12504         * modules/cloexec (Depends-on): Add fcntl.
12505         * modules/fchdir (Depends-on): Likewise.
12506         * modules/fd-safer-flag (Depends-on): Likewise.
12507         * modules/unistd-safer (Depends-on): Likewise.
12508         * modules/dup3 (configure.ac): Set module indicator.
12509         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
12510         missing.
12511         * lib/fchdir.c (_gl_register_dup): Fix comment.
12512         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
12513         * lib/dup-safer.c (dup_safer): Likewise.
12514         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
12515         * lib/dup3.c (dup3): Likewise.
12516         * tests/test-fchdir.c (main): Enhance test.
12517         Fixes a dup_cloexec bug reported by Ondřej Vašík.
12518
12519         fcntl: port portions of fcntl to mingw
12520         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
12521         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
12522         replacement for mingw.
12523         * modules/fcntl (Description): Update.
12524         (Depends-on): Add dup2.
12525         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
12526         * modules/fcntl-h (Makefile.am): Substitute it.
12527         * lib/fcntl.in.h (fcntl): Update declaration.
12528         (F_DUPFD, F_GETFD): New macros, when needed.
12529         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
12530         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
12531         * tests/test-fcntl.c (check_flags, main): Enhance test for items
12532         we now guarantee.
12533
12534         fcntl: work around cygwin bug in F_DUPFD
12535         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
12536         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
12537         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
12538         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
12539         * doc/posix-functions/fcntl.texi (fcntl): Document it.
12540
12541         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
12542         * modules/fcntl (Files): List new files.
12543         (configure.ac): Run a test.
12544         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
12545         * lib/fcntl.c (rpl_fcntl): Likewise.
12546         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
12547         (gl_FCNTL_H): Always replace fcntl.h.
12548         * modules/fcntl-h (Makefile.am): Substitute witnesses.
12549         * lib/fcntl.in.h (fcntl): Declare replacement.
12550         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
12551         needed, plus a witness.
12552         * doc/posix-functions/fcntl.texi (fcntl): Document this.
12553         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
12554         * tests/test-fcntl.c: New file.
12555         * modules/fcntl-tests: Likewise.
12556
12557         binary-io: avoid potential compilation warning
12558         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
12559         directives.
12560
12561         fflush: avoid compilation error on NetBSD
12562         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
12563         between off_t and fpos_t, since the latter is sometimes a struct.
12564         * lib/fseeko.c (rpl_fseeko): Likewise.
12565         Reported by Alexander Nasonov <alnsn@yandex.ru>.
12566
12567 2009-12-15  Eric Blake  <ebb9@byu.net>
12568
12569         fcntl-h, stdio, sys_ioctl: fix declarations
12570         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
12571         function must not take arguments.
12572         * lib/sys_ioctl.in.h (ioctl): Likewise.
12573         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
12574         (open): Add a link warning.
12575
12576 2009-12-15  Jim Meyering  <meyering@redhat.com>
12577
12578         areadlink, areadlink-with-size: relax license to LGPLv2+
12579         * modules/areadlink (License): Relax to LGPLv2+.
12580         * modules/areadlink-with-size (License): Likewise.
12581
12582 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
12583             Bruno Haible  <bruno@clisp.org>
12584
12585         *printf: Fix memory leak.
12586         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
12587         * lib/vfprintf.c (vfprintf): Likewise.
12588         * lib/dprintf.c (dprintf): Likewise.
12589         * lib/vdprintf.c (vdprintf): Likewise.
12590
12591 2009-12-14  Eric Blake  <ebb9@byu.net>
12592
12593         accept4: adjust module dependencies
12594         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
12595
12596         utimens: one more try at avoiding compiler warning
12597         * lib/utimens.c (lutimens): Lower scope of result.
12598
12599 2009-12-13  Bruno Haible  <bruno@clisp.org>
12600
12601         Move the malloc checking from module 'list' to new module 'xlist'.
12602         * modules/xlist: New file.
12603         * lib/gl_xlist.h: New file.
12604         * lib/gl_xlist.c: New file.
12605         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
12606         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
12607         gl_list_add_last, gl_list_add_before, gl_list_add_after,
12608         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
12609         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
12610         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
12611         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
12612         gl_sortedlist_nx_add): New declarations.
12613         (struct gl_list_implementation): Rename and change methods accordingly.
12614         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
12615         (gl_list_nx_create): Renamed from gl_list_create.
12616         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
12617         (gl_list_nx_set_at): Renamed from gl_list_set_at.
12618         (gl_list_nx_add_first): Renamed from gl_list_add_first.
12619         (gl_list_nx_add_last): Renamed from gl_list_add_last.
12620         (gl_list_nx_add_before): Renamed from gl_list_add_before.
12621         (gl_list_nx_add_after): Renamed from gl_list_add_after.
12622         (gl_list_nx_add_at): Renamed from gl_list_add_at.
12623         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
12624         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
12625         gl_list_create_empty.
12626         (gl_list_nx_create): Renamed from gl_list_create.
12627         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
12628         (gl_list_nx_set_at): Renamed from gl_list_set_at.
12629         (gl_list_nx_add_first): Renamed from gl_list_add_first.
12630         (gl_list_nx_add_last): Renamed from gl_list_add_last.
12631         (gl_list_nx_add_before): Renamed from gl_list_add_before.
12632         (gl_list_nx_add_after): Renamed from gl_list_add_after.
12633         (gl_list_nx_add_at): Renamed from gl_list_add_at.
12634         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
12635         * lib/gl_array_list.c: Don't include xalloc.h.
12636         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
12637         NULL upon out-of-memory.
12638         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
12639         out-of-memory.
12640         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
12641         Change return type to 'int'.
12642         (gl_array_nx_set_at): Renamed from gl_array_set_at.
12643         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
12644         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
12645         upon out-of-memory.
12646         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
12647         upon out-of-memory.
12648         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
12649         upon out-of-memory.
12650         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
12651         upon out-of-memory.
12652         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
12653         out-of-memory.
12654         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
12655         Update.
12656         (gl_array_list_implementation): Update.
12657         * lib/gl_carray_list.c: Don't include xalloc.h.
12658         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
12659         Return NULL upon out-of-memory.
12660         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
12661         out-of-memory.
12662         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
12663         Change return type to 'int'.
12664         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
12665         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
12666         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
12667         upon out-of-memory.
12668         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
12669         upon out-of-memory.
12670         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
12671         out-of-memory.
12672         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
12673         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
12674         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
12675         Update.
12676         (gl_carray_list_implementation): Update.
12677         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
12678         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
12679         gl_linked_create_empty. Return NULL upon out-of-memory.
12680         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
12681         out-of-memory.
12682         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
12683         Change return type to 'int'. Return -1 upon out-of-memory.
12684         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
12685         out-of-memory.
12686         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
12687         upon out-of-memory.
12688         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
12689         upon out-of-memory.
12690         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
12691         NULL upon out-of-memory.
12692         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
12693         upon out-of-memory.
12694         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
12695         out-of-memory.
12696         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
12697         Update.
12698         * lib/gl_linked_list.c: Don't include xalloc.h.
12699         (gl_linked_list_implementation): Update.
12700         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
12701         (add_to_bucket): Change return type to 'int'.
12702         (gl_linkedhash_list_implementation): Update.
12703         * lib/gl_anytree_list1.h (free_subtree): New function.
12704         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
12705         gl_tree_create_empty. Return NULL upon out-of-memory.
12706         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
12707         Change return type to 'int'. Return -1 upon out-of-memory.
12708         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
12709         out-of-memory.
12710         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
12711         (gl_tree_remove_node): New function, moved here from
12712         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
12713         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
12714         Update.
12715         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
12716         malloc, not xmalloc. Return NULL upon out-of-memory.
12717         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
12718         out-of-memory.
12719         (gl_tree_remove_node_from_tree): New function, extracted from
12720         gl_tree_remove_node.
12721         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
12722         upon out-of-memory.
12723         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
12724         out-of-memory.
12725         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
12726         upon out-of-memory.
12727         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
12728         upon out-of-memory.
12729         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
12730         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
12731         not xmalloc. Return NULL upon out-of-memory.
12732         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
12733         out-of-memory.
12734         (gl_tree_remove_node_from_tree): New function, extracted from
12735         gl_tree_remove_node.
12736         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
12737         upon out-of-memory.
12738         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
12739         out-of-memory.
12740         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
12741         upon out-of-memory.
12742         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
12743         upon out-of-memory.
12744         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
12745         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
12746         gl_anytree_list1.h before gl_anyavltree_list2.h.
12747         (gl_avltree_list_implementation): Update.
12748         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
12749         gl_anytree_list1.h before gl_anyavltree_list2.h.
12750         (gl_rbtree_list_implementation): Update.
12751         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
12752         Change return type to 'int'. Return -1 upon out-of-memory. Use
12753         __builtin_expect.
12754         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
12755         (gl_avltreehash_list_implementation): Update.
12756         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
12757         (gl_rbtreehash_list_implementation): Update.
12758         * modules/array-list (Depends-on): Remove xalloc.
12759         * modules/carray-list (Depends-on): Likewise.
12760         * modules/linked-list (Depends-on): Likewise.
12761         * modules/linkedhash-list (Depends-on): Likewise.
12762         * modules/avltree-list (Depends-on): Likewise.
12763         * modules/rbtree-list (Depends-on): Likewise.
12764         * modules/avltreehash-list (Depends-on): Likewise.
12765         * modules/rbtreehash-list (Depends-on): Likewise.
12766
12767         * modules/xsublist: New file.
12768         * lib/gl_xsublist.h: New file.
12769         * lib/gl_xsublist.c: New file.
12770         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
12771         (gl_sublist_nx_create): New declaration.
12772         * lib/gl_sublist.c: Don't include xalloc.h.
12773         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
12774         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
12775         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
12776         Change return type to 'int'. Return -1 upon out-of-memory.
12777         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
12778         upon out-of-memory.
12779         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
12780         NULL upon out-of-memory.
12781         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
12782         upon out-of-memory.
12783         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
12784         NULL upon out-of-memory.
12785         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
12786         NULL upon out-of-memory.
12787         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
12788         upon out-of-memory.
12789         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
12790         (gl_sublist_list_implementation): Update.
12791         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
12792         upon out-of-memory.
12793         * modules/sublist (Depends-on): Remove xalloc.
12794
12795         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
12796         * tests/test-carray_list.c: Likewise.
12797         * tests/test-linked_list.c: Likewise.
12798         * tests/test-linkedhash_list.c: Likewise.
12799         * tests/test-avltree_list.c: Likewise.
12800         * tests/test-rbtree_list.c: Likewise.
12801         * tests/test-avltreehash_list.c: Likewise.
12802         * tests/test-rbtreehash_list.c: Likewise.
12803         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
12804         * modules/carray-list-tests (Makefile.am): Likewise.
12805         * modules/linked-list-tests (Makefile.am): Likewise.
12806         * modules/linkedhash-list-tests (Makefile.am): Likewise.
12807         * modules/avltree-list-tests (Makefile.am): Likewise.
12808         * modules/rbtree-list-tests (Makefile.am): Likewise.
12809         * modules/avltreehash-list-tests (Makefile.am): Likewise.
12810         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
12811
12812         * NEWS: Mention the changes.
12813
12814         * lib/clean-temp.c: Include gl_xlist.h.
12815         * modules/clean-temp (Depends-on): Add xlist.
12816
12817         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
12818         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
12819
12820         * tests/test-array_oset.c: Include gl_xlist.h.
12821         * modules/array-oset-tests (Depends-on): Add xlist.
12822
12823         Reported by José E. Marchesi <jemarch@gnu.org>.
12824
12825 2009-12-13  Bruno Haible  <bruno@clisp.org>
12826
12827         Move the malloc checking from module 'oset' to new module 'xoset'.
12828         * modules/xoset: New file.
12829         * lib/gl_xoset.h: New file.
12830         * lib/gl_xoset.c: New file.
12831         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
12832         declarations.
12833         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
12834         (struct gl_oset_implementation): Rename and change methods accordingly.
12835         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
12836         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
12837         'int'. Mark as __warn_unused_result__.
12838         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
12839         gl_oset_create_empty.
12840         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
12841         'int'.
12842         * lib/gl_array_oset.c: Don't include xalloc.h.
12843         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
12844         malloc, not xmalloc.
12845         (grow): Change return type to 'int'. Don't call xalloc_die.
12846         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
12847         to 'int'.
12848         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
12849         'int'.
12850         (gl_array_oset_implementation): Update.
12851         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
12852         gl_tree_create_empty.
12853         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
12854         'int'.
12855         * lib/gl_avltree_oset.c: Don't include xalloc.h.
12856         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
12857         xmalloc.
12858         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
12859         not xmalloc.
12860         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
12861         xmalloc.
12862         (gl_avltree_oset_implementation): Update.
12863         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
12864         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
12865         xmalloc.
12866         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
12867         not xmalloc.
12868         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
12869         xmalloc.
12870         (gl_rbtree_oset_implementation): Update.
12871         * modules/array-oset (Depends-on): Remove xalloc.
12872         * modules/avltree-oset (Depends-on): Likewise.
12873         * modules/rbtree-oset (Depends-on): Likewise.
12874         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
12875         * tests/test-avltree_oset.c: Likewise.
12876         * tests/test-rbtree_oset.c: Likewise.
12877         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
12878         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
12879         * modules/rbtree-oset-tests (Makefile.am): Likewise.
12880         * NEWS: Mention the change.
12881
12882 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
12883
12884         maint.mk: allow a project to override release-prep commands
12885         * top/maint.mk (alpha, beta, stable): Move release-preparatory
12886         commands into a new rule.
12887         (release-prep): New rule.
12888         (release-prep-hook): New overridable variable.
12889
12890 2009-12-13  Bruno Haible  <bruno@clisp.org>
12891
12892         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
12893
12894 2009-12-13  Jim Meyering  <meyering@redhat.com>
12895
12896         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
12897         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
12898
12899 2009-12-12  Bruno Haible  <bruno@clisp.org>
12900
12901         duplocale: Tweak.
12902         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
12903
12904 2009-12-12  Karl Berry  <karl@gnu.org>
12905
12906         * config/srclist.txt (strtoll.c): tab changes, no more sync.
12907
12908 2009-12-12  Bruno Haible  <bruno@clisp.org>
12909
12910         * m4/po.m4: Undo incorrect untabification.
12911
12912 2009-12-12  Bruno Haible  <bruno@clisp.org>
12913
12914         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
12915         * modules/c-strtod (Depends-on): Add locale.
12916         * modules/c-strtold (Depends-on): Likewise.
12917
12918 2009-12-12  Bruno Haible  <bruno@clisp.org>
12919
12920         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
12921
12922 2009-12-11  Eric Blake  <ebb9@byu.net>
12923
12924         setenv: relax requirement in light of POSIX ruling
12925         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
12926         not NULL.
12927         * tests/test-setenv.c (main): Relax test.
12928         * tests/test-unsetenv.c (main): Likewise.
12929         * doc/posix-functions/setenv.texi (setenv): Document this.
12930         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
12931
12932 2009-12-11  Bruno Haible  <bruno@clisp.org>
12933
12934         New module 'fd-safer-flag'.
12935         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
12936         * lib/dup-safer.c (dup_safer_flag): Remove function.
12937         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
12938         * lib/fd-safer.c (fd_safer_flag): Remove function.
12939         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
12940         * modules/cloexec (configure.ac): Drop indicator macro.
12941         * modules/fd-safer-flag: New file.
12942         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
12943         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
12944         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
12945
12946 2009-12-11  Bruno Haible  <bruno@clisp.org>
12947
12948         Tests for module 'nl_langinfo'.
12949         * modules/nl_langinfo-tests: New file.
12950         * tests/test-nl_langinfo.sh: New file.
12951         * tests/test-nl_langinfo.c: New file.
12952
12953         New module 'nl_langinfo'.
12954         * lib/nl_langinfo.c: New file.
12955         * m4/nl_langinfo.m4: New file.
12956         * modules/nl_langinfo: New file.
12957         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
12958
12959 2009-12-11  Bruno Haible  <bruno@clisp.org>
12960
12961         Tests for module 'langinfo'.
12962         * modules/langinfo-tests: New file.
12963         * tests/test-langinfo.c: New file.
12964
12965         New module 'langinfo'.
12966         * lib/langinfo.in.h: New file.
12967         * m4/langinfo_h.m4: New file.
12968         * modules/langinfo: New file.
12969         * doc/posix-headers/langinfo.texi: Mention the new module.
12970
12971 2009-12-11  Bruno Haible  <bruno@clisp.org>
12972
12973         * lib/config.charset: Untabify.
12974
12975 2009-12-11  Bruno Haible  <bruno@clisp.org>
12976
12977         * modules/unistd-safer (configure.ac): Drop indicator macro.
12978
12979 2009-12-11  Bruno Haible  <bruno@clisp.org>
12980
12981         Move pipe2-safer code to its own file.
12982         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
12983         * lib/pipe-safer.c (pipe2_safer): Remove function.
12984         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
12985         (Makefile.am): Add it to lib_SOURCES.
12986
12987 2009-12-10  Bruno Haible  <bruno@clisp.org>
12988
12989         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
12990
12991 2009-12-10  Bruno Haible  <bruno@clisp.org>
12992
12993         Declare which arguments expect non-NULL values, for GCC and clang.
12994         * build-aux/arg-nonnull.h: New file.
12995         * modules/arg-nonnull: New file.
12996         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
12997         (inet_ntop, inet_pton): Use it.
12998         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
12999         (closedir, dirfd, opendir, scandir, alphasort): Use it.
13000         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
13001         (open, openat): Use it.
13002         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
13003         (fnmatch): Use it.
13004         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
13005         (getopt, getopt_long, getopt_long_only): Use it.
13006         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
13007         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
13008         Use it.
13009         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
13010         (iconv_open): Use it.
13011         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
13012         (strtoimax, strtoumax): Use it.
13013         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
13014         (duplocale): Use it.
13015         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
13016         (frexp, frexpl): Use it.
13017         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
13018         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
13019         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
13020         (tsearch, tfind, tdelete, twalk): Use it.
13021         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
13022         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
13023         sigpending): Use it.
13024         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
13025         (posix_spawn, posix_spawnp, posix_spawnattr_init,
13026         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
13027         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
13028         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
13029         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
13030         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
13031         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
13032         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
13033         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
13034         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
13035         Use it.
13036         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
13037         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
13038         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
13039         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
13040         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
13041         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
13042         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
13043         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
13044         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
13045         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
13046         strtoull, unsetenv): Use it.
13047         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
13048         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
13049         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
13050         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
13051         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
13052         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
13053         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
13054         (strcasecmp, strncasecmp): Use it.
13055         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
13056         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
13057         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
13058         rpl_setsockopt): Use it.
13059         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
13060         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
13061         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
13062         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
13063         (gettimeofday): Use it.
13064         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
13065         (times): Use it.
13066         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
13067         (uname): Use it.
13068         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
13069         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
13070         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
13071         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
13072         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
13073         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
13074         unlinkat, write): Use it.
13075         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
13076         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
13077         * lib/argv-iter.h: Include arg-nonnull.h.
13078         (_ATTRIBUTE_NONNULL_): Remove macro.
13079         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
13080         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
13081         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
13082         optimization.
13083         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
13084         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
13085         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
13086         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
13087         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
13088         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
13089         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
13090         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
13091         * modules/arpa_inet (Depends-on): Add arg-nonnull.
13092         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
13093         * modules/dirent (Depends-on): Add arg-nonnull.
13094         (Makefile.am): Insert arg-nonnull.h into dirent.h.
13095         * modules/fcntl-h (Depends-on): Add arg-nonnull.
13096         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
13097         * modules/fnmatch (Depends-on): Add arg-nonnull.
13098         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
13099         * modules/getopt-posix (Depends-on): Add arg-nonnull.
13100         (Makefile.am): Insert arg-nonnull.h into getopt.h.
13101         * modules/glob (Depends-on): Add arg-nonnull.
13102         (Makefile.am): Insert arg-nonnull.h into glob.h.
13103         * modules/iconv_open (Depends-on): Add arg-nonnull.
13104         (Makefile.am): Insert arg-nonnull.h into iconv.h.
13105         * modules/inttypes (Depends-on): Add arg-nonnull.
13106         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
13107         * modules/locale (Depends-on): Add arg-nonnull.
13108         (Makefile.am): Insert arg-nonnull.h into locale.h.
13109         * modules/math (Depends-on): Add arg-nonnull.
13110         (Makefile.am): Insert arg-nonnull.h into math.h.
13111         * modules/netdb (Depends-on): Add arg-nonnull.
13112         (Makefile.am): Insert arg-nonnull.h into netdb.h.
13113         * modules/search (Depends-on): Add arg-nonnull.
13114         (Makefile.am): Insert arg-nonnull.h into search.h.
13115         * modules/signal (Depends-on): Add arg-nonnull.
13116         (Makefile.am): Insert arg-nonnull.h into signal.h.
13117         * modules/spawn (Depends-on): Add arg-nonnull.
13118         (Makefile.am): Insert arg-nonnull.h into spawn.h.
13119         * modules/stdio (Depends-on): Add arg-nonnull.
13120         (Makefile.am): Insert arg-nonnull.h into stdio.h.
13121         * modules/stdlib (Depends-on): Add arg-nonnull.
13122         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
13123         * modules/string (Depends-on): Add arg-nonnull.
13124         (Makefile.am): Insert arg-nonnull.h into string.h.
13125         * modules/strings (Depends-on): Add arg-nonnull.
13126         (Makefile.am): Insert arg-nonnull.h into strings.h.
13127         * modules/sys_socket (Depends-on): Add arg-nonnull.
13128         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
13129         * modules/sys_stat (Depends-on): Add arg-nonnull.
13130         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
13131         * modules/sys_time (Depends-on): Add arg-nonnull.
13132         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
13133         * modules/sys_times (Depends-on): Add arg-nonnull.
13134         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
13135         * modules/sys_utsname (Depends-on): Add arg-nonnull.
13136         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
13137         * modules/time (Depends-on): Add arg-nonnull.
13138         (Makefile.am): Insert arg-nonnull.h into time.h.
13139         * modules/unistd (Depends-on): Add arg-nonnull.
13140         (Makefile.am): Insert arg-nonnull.h into unistd.h.
13141         * modules/wchar (Depends-on): Add arg-nonnull.
13142         (Makefile.am): Insert arg-nonnull.h into wchar.h.
13143         * modules/argv-iter (Depends-on): Add arg-nonnull.
13144         * tests/test-canonicalize.c (null_ptr): New function.
13145         (main): Use it.
13146         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
13147         (main): Use it.
13148         * tests/test-memmem.c (null_ptr): New function.
13149         (main): Use it.
13150         Reported by Jim Meyering.
13151
13152 2009-12-10  Bruno Haible  <bruno@clisp.org>
13153
13154         Use spaces for indentation, not tabs.
13155         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
13156         * m4/*.m4: Untabify.
13157         * build-aux/*.h: Untabify.
13158         * tests/**/*.[hc]: Untabify.
13159         * README: New section "Indent with spaces, not TABs", based on
13160         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
13161         * NEWS: Mention the change.
13162
13163 2009-12-10  Bruno Haible  <bruno@clisp.org>
13164
13165         pty test: Fix link error.
13166         * modules/pty-tests (Makefile.am): Add the default LDADD value to
13167         test_pty_LDADD.
13168
13169 2009-12-07  Simon Josefsson  <simon@josefsson.org>
13170
13171         * modules/pty: New file.
13172         * modules/pty-tests: New file.
13173         * m4/pty.m4: New file.
13174         * tests/test-pty.c: New file.
13175         * doc/glibc-headers/pty.texi: Modified.
13176         * doc/glibc-functions/forkpty.texi: Modified.
13177         * doc/glibc-functions/openpty.texi: Modified.
13178
13179 2009-12-10  Bruno Haible  <bruno@clisp.org>
13180
13181         Avoid syntax error in C++ mode.
13182         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
13183
13184 2009-12-10  Bruno Haible  <bruno@clisp.org>
13185
13186         Use sed with option -e.
13187         * gnulib-tool (func_version, func_emit_copyright_notice,
13188         func_emit_initmacro_end, func_import, func_create_testdir): Pass
13189         option -e to sed.
13190         * modules/link-warning (Makefile.am): Likewise.
13191
13192 2009-12-10  Jim Meyering  <meyering@redhat.com>
13193
13194         mgetgroups: do not write bytes beyond end of malloc'd buffer
13195         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
13196         username, we call getgroups with a one-element-shorter buffer,
13197         but still told it the length was original, max_n_groups.
13198
13199 2009-12-09  Eric Blake  <ebb9@byu.net>
13200
13201         cloexec: relax license
13202         * modules/cloexec (Maintainer): Add myself.
13203         (License): Use LGPL, not GPL.
13204
13205         link-warning: optimize generation
13206         * modules/link-warning (Makefile.am): Reduce process usage.
13207
13208 2009-12-09  Bruno Haible  <bruno@clisp.org>
13209
13210         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
13211         workaround was added on 2009-11-17.
13212
13213 2009-12-09  Jim Meyering  <meyering@redhat.com>
13214             Bruno Haible  <bruno@clisp.org>
13215
13216         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
13217         * modules/link-warning (Makefile.am): Make the comment-removing sed
13218         command more robust in the face of bootstrap-prepended comment lines.
13219
13220 2009-12-09  Bruno Haible  <bruno@clisp.org>
13221
13222         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
13223         most one group.
13224
13225 2009-12-09  Simon Josefsson <simon@josefsson.org>
13226             Bruno Haible  <bruno@clisp.org>
13227
13228         * build-aux/link-warning.h: Add copyright notice.
13229         * modules/link-warning (Makefile.am): Generate link-warning.h from
13230         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
13231         * NEWS: Mention change in link-warning module.
13232         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
13233         * modules/dirent (Makefile.am): Add dependency to dirent.h.
13234         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
13235         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
13236         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
13237         * modules/math (Makefile.am): Add dependency to math.h.
13238         * modules/search (Makefile.am): Add dependency to search.h.
13239         * modules/signal (Makefile.am): Add dependency to signal.h.
13240         * modules/spawn (Makefile.am): Add dependency to spawn.h.
13241         * modules/stdio (Makefile.am): Add dependency to stdio.h.
13242         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
13243         * modules/string (Makefile.am): Add dependency to string.h.
13244         * modules/strings (Makefile.am): Add dependency to strings.h.
13245         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
13246         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
13247         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
13248         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
13249         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
13250         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
13251         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
13252         * modules/unistd (Makefile.am): Add dependency to unistd.h.
13253         * modules/wchar (Makefile.am): Add dependency to wchar.h.
13254
13255 2009-12-09  Bruno Haible  <bruno@clisp.org>
13256
13257         fchdir: Optimize away rpl_fstat when possible.
13258         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
13259         REPLACE_OPEN_DIRECTORY.
13260         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
13261
13262 2009-12-09  Bruno Haible  <bruno@clisp.org>
13263
13264         * lib/fchdir.c: Update comment.
13265
13266 2009-12-09  Bruno Haible  <bruno@clisp.org>
13267
13268         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
13269
13270 2009-12-08  Eric Blake  <ebb9@byu.net>
13271
13272         fchdir: avoid memory leak on re-registration.
13273         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
13274
13275 2009-12-08  Jim Meyering  <meyering@redhat.com>
13276
13277         init.sh: avoid Solaris 10 /bin/sh portability problem
13278         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
13279         sourced script:
13280           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
13281           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
13282           bar
13283         tests/init.sh relied on that, accepting a --set-path=DIR argument,
13284         and two tests used that idiom.
13285         * tests/init.sh: Update suggested usage comments.
13286         (path_prepend_): New function, to be used in place
13287         of the --src-path=DIR option.
13288         (setup_): Move PATH-prepending code into path_prepend_.
13289         * tests/test-pread.sh: Adapt to new usage.
13290         * tests/test-xalloc-die.sh: Likewise.
13291
13292 2009-12-08  Simon Josefsson  <simon@josefsson.org>
13293
13294         * doc/gnulib.texi (Glibc pty.h): Add.
13295         * doc/glibc-functions/forkpty.texi: Add.
13296         * doc/glibc-functions/openpty.texi: Add.
13297         Suggested by Bruno Haible.
13298
13299 2009-12-08  Eric Blake  <ebb9@byu.net>
13300
13301         fchdir: fix logic bugs
13302         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
13303         * tests/test-fchdir.c (main): Enhance test.
13304         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
13305         is in use.
13306
13307         dup2: fix logic bugs
13308         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
13309         REPLACE_DUP2 to decide when rpl_dup2 is needed.
13310         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
13311         exists.
13312         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
13313
13314 2009-12-07  Eric Blake  <ebb9@byu.net>
13315
13316         unlink: fix m4 detection
13317         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
13318
13319         unistd-safer: add unit test
13320         * modules/unistd-safer-tests: New file.
13321         * tests/test-dup-safer.c: Likewise.
13322         * tests/test-cloexec.c (setmode): Avoid compiler warning.
13323         * tests/test-dup2.c (setmode): Likewise.
13324         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
13325
13326         cloexec: preserve text vs. binary across dup_cloexec
13327         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
13328         mode.
13329         * modules/dup2-tests (Depends-on): Add binary-io.
13330         * modules/cloexec-tests (Depends-on): Likewise.
13331         * tests/test-dup2.c (setmode, is_mode): New helpers.
13332         (main): Add tests that translation mode is preserved.
13333         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
13334         Reported by Bruno Haible.
13335
13336         mgetgroups: reduce duplicate listings
13337         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
13338         resulting array.
13339         * tests/test-chown.h (test_chown): Simplify client.
13340         * tests/test-lchown.h (test_lchown): Likewise.
13341
13342 2009-12-06  Bruno Haible  <bruno@clisp.org>
13343
13344         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
13345         value.
13346
13347 2009-12-06  Bruno Haible  <bruno@clisp.org>
13348
13349         * lib/progname.c: Include stdio.h, stdlib.h.
13350         (set_program_name): Reject a NULL argument.
13351
13352 2009-12-05  Eric Blake  <ebb9@byu.net>
13353
13354         pipe2-safer: new module
13355         * modules/pipe2-safer: New file.
13356         * lib/unistd-safer.h (pipe2_safer): New prototype.
13357         * lib/unistd--.h (pipe2): New wrapper.
13358         * lib/pipe-safer.c (pipe2_safer): New function.
13359         * modules/pipe (Depends-on): Add pipe2-safer.
13360         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
13361
13362         stdlib-safer: preserve cloexec flag for mkostemp[s]
13363         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
13364         fd_safer_flag.
13365
13366         unistd-safer: allow preservation of cloexec status via flag
13367         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
13368         prototypes.
13369         * lib/dup-safer.c (dup_safer_flag): New function.
13370         * lib/fd-safer.c (fd_safer_flag): Likewise.
13371         * modules/cloexec (configure.ac): Set witness.
13372
13373         test-dup2: enhance test
13374         * modules/dup2-tests (Depends-on): Add cloexec.
13375         * tests/test-dup2.c (main): Enhance test.
13376
13377         cloexec: add dup_cloexec
13378         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
13379         header and comments.
13380         * lib/cloexec.c (set_cloexec_flag): Add comments.
13381         (dup_cloexec): New function, with mingw implementation borrowed
13382         from...
13383         * lib/w32spawn.h (dup_noinherit): ...here.
13384         * modules/execute (Depends-on): Add cloexec.
13385         * modules/pipe (Depends-on): Likewise.
13386         * modules/cloexec (Depends-on): Add dup2.
13387         * modules/cloexec-tests (Files): New file.
13388         * tests/test-cloexec.c: Likewise.
13389
13390         test-xalloc-die: fix test for mingw
13391         * modules/xalloc-die-tests (Files): Add tests/init.sh.
13392         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
13393         directory and .exe suffix off argv[0] output.
13394
13395         test-fseeko: fix test for mingw
13396         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
13397         than undefining fseek, so test will pass on mingw.
13398
13399 2009-12-05  Bruno Haible  <bruno@clisp.org>
13400
13401         * lib/progname.h (set_program_name): Clarify specification.
13402         * lib/progname.c (set_program_name): Likewise.
13403         Reported by Jim Meyering.
13404
13405 2009-12-05  Jim Meyering  <meyering@redhat.com>
13406
13407         maint.mk: backslash-escape parens in default regexp
13408         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
13409         backslash-escape the literal parentheses.
13410
13411         maint.mk: news-date-check: use grep -E
13412         * top/maint.mk (today): Define a Make variable, not a...
13413         (news-date-check): ...shell variable.
13414         (news-date-regexp): Use the Make variable.
13415         Use grep's -E option.  Change the failing diagnostic to mention
13416         the variable, $(news-date-regexp).
13417
13418 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
13419
13420         maintainer-makefile: allow customization of NEWS entry format
13421         * top/maint.mk (news-date-regexp): New overridable variable.
13422         (news-date-check): Use it.
13423
13424 2009-12-04  Eric Blake  <ebb9@byu.net>
13425
13426         mgetgroups: add xgetgroups, and avoid ENOSYS failures
13427         * lib/mgetgroups.h (xgetgroups): New prototype.
13428         * lib/mgetgroups.c (xgetgroups): New wrapper.
13429         (mgetgroups): Handle ENOSYS.
13430         * modules/mgetgroups (Depends-on): Add realloc.
13431         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
13432
13433         mgetgroups: avoid argument promotion issues with -1
13434         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
13435         for invalid gid_t.
13436         * tests/test-chown.h (getegid, test_chown): Likewise.
13437         * tests/test-lchown.h (getegid, test_lchown): Likewise.
13438
13439 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
13440
13441         exclude: Fix header file problems.
13442         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
13443
13444 2009-12-01  Jim Meyering  <meyering@redhat.com>
13445
13446         fts: fts_open: do not let an empty string cause immediate failure
13447         This is required in support of GNU rm, for which the command
13448         "rm A '' B" must process and remove both A and B, in spite of
13449         the empty string argument.
13450         * lib/fts.c (fts_open): Do not let the presence of an empty string
13451         cause fts_open to fail immediately.  Most fts-using tools must be
13452         able to process all arguments, in order, and can be expected to
13453         diagnose such arguments themselves.
13454
13455 2009-11-30  Eric Blake  <ebb9@byu.net>
13456
13457         utimens: fix compilation error
13458         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
13459         Declare variable at right scope.
13460
13461 2009-11-29  Jim Meyering  <meyering@redhat.com>
13462
13463         bootstrap: handle perl-5.11's changed --version output
13464         * build-aux/bootstrap (get_version): Handle perl separately,
13465         since perl-5.11's --version output is different.
13466
13467 2009-11-28  Jim Meyering  <meyering@redhat.com>
13468
13469         userspec: depend on the inttostr module, too
13470         * modules/userspec (Depends-on): Add inttostr.
13471
13472         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
13473         * lib/userspec.c (parse_with_separator): Do not accept a user ID
13474         number of MAXUID when it evaluates to (uid_t) -1.
13475         Likewise for group ID.  Reported by Matt McCutchen in
13476         <http://savannah.gnu.org/bugs/?28113>
13477
13478         userspec: reformat to use spaces, not TABs
13479         * lib/userspec.c: Expand TABs to spaces.
13480         Add Emacs' "indent-tabs-mode: nil" hint.
13481
13482 2009-11-27  Eric Blake  <ebb9@byu.net>
13483
13484         getopt-gnu: flush out another BSD bug
13485         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
13486         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
13487         flush out BSD bug.
13488         * tests/test-getopt.h (test_getopt): End lists with NULL.
13489         * tests/test-getopt_long.h (test_getopt_long): Likewise.
13490         (test_getopt_long_posix): Enhance test.
13491         * modules/getopt-posix-tests (Depends-on): Add stdbool.
13492         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
13493         getopt-gnu.
13494         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
13495         Likewise.
13496
13497 2009-11-27  Simon Josefsson  <simon@josefsson.org>
13498
13499         * modules/idpriv-droptemp-tests (Notice): Fix text.
13500
13501 2009-11-27  Jim Meyering  <meyering@redhat.com>
13502
13503         test-xalloc-die: avoid spurious failure due to libtool argv difference
13504         In a libtool-enabled project, this test would fail due to a difference
13505         in the emitted program name, e.g.,
13506         -test-xalloc-die: memory exhausted
13507         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
13508         Use program to avoid that.
13509         * modules/xalloc-die-tests (Depends-on): Add progname.
13510         * tests/test-xalloc-die.c: Include progname.h".
13511         (program_name): Remove decl.
13512         (main): Call set_program_name.
13513         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
13514
13515 2009-11-26  Richard Jones  <rjones@redhat.com>
13516
13517         w32sock: leave win32 error in place.
13518         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
13519
13520 2009-11-26  Eric Blake  <ebb9@byu.net>
13521
13522         init.sh: suggest to use skip_ and fail_ functions in comments
13523         * tests/init.sh: Add a sentence.
13524
13525 2009-11-25  Bruno Haible  <bruno@clisp.org>
13526
13527         init.sh: add documentation in comments
13528         * tests/init.sh: Add some developer and user documentation.
13529
13530 2009-11-26  Jim Meyering  <meyering@redhat.com>
13531
13532         init.sh: accommodate even those who specify bogus srcdir manually
13533         * tests/init.sh: Normally, srcdir is guaranteed by automake and
13534         configure-time tests to be sanitized, so that there is no need to
13535         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
13536         (with no double quotes) suffices.  However, since tests may be
13537         invoked manually, and since you may explicitly set srcdir to the
13538         name of a directory containing spaces, do quote its uses here.
13539         * tests/test-pread.sh: Likewise.
13540         Suggested by Bruno Haible.
13541
13542         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
13543         * tests/test-pread.sh: Write no data into the pipe, because
13544         test-pread actually reads none.  This avoids a diagnostic,
13545         "bash: echo: write error: Broken pipe", that arises in the unusual
13546         event something is ignoring SIGPIPE, and might be interpreted
13547         as some sort of failure.  Reported by Bruno Haible.
13548
13549 2009-11-25  Jim Meyering  <meyering@redhat.com>
13550
13551         test-pread: cover failure with ESPIPE and EINVAL
13552         * tests/test-pread.c (main): Test for failure, too.
13553         * tests/test-pread.sh: Invoke with stdin on a pipe.
13554         Suggested by Eric Blake.
13555
13556         pread: improvement and fix
13557         * modules/pread (Depends-on): Depend on lseek, for portability to
13558         e.g., mingw.  Suggested by Eric Blake.
13559         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
13560
13561         unistd.in.h: correct declaration of pread
13562         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
13563         Reported by Richard W.M. Jones.
13564
13565         test-pread.sh: distribute the test script
13566         * modules/pread-tests (Files): Include test-pread.sh.
13567
13568         test-pread.sh: clean up
13569         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
13570         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
13571         That is unnecessary, since it's always ".".
13572         Suggestion from Eric Blake.
13573
13574         test-pread.sh: make executable
13575         * tests/test-pread.sh: Set executable bit.
13576         Reported by Eric Blake.
13577
13578         correct typo in test-pread.sh
13579         * tests/test-pread.sh: Add #! line.
13580
13581         test pread
13582         * tests/test-pread.c: New file.
13583         * tests/test-pread.sh: Likewise.
13584         * modules/pread-tests: Likewise.
13585
13586         pread: new module
13587         * modules/pread: New file.
13588         * lib/unistd.in.h (pread): Define/declare.
13589         * lib/pread.c (pread): New file.
13590         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
13591         * modules/unistd (Makefile.am): Substitute witnesses.
13592         * doc/posix-functions/pread.texi (pread): Update.
13593         * MODULES.html.sh: Add pread.
13594
13595 2009-11-25  Jim Meyering  <meyering@redhat.com>
13596
13597         tests/init.sh: new file to be used via most *.sh tests
13598         * tests/init.sh: New file.
13599
13600 2009-11-25  Eric Blake  <ebb9@byu.net>
13601
13602         utimens: work around older Linux failure with symlinks
13603         * lib/utimens.c (lutimensat_works_really): New variable.
13604         (fdutimens, lutimens): Use it to manage kernels that support
13605         nanosecond times on files, but not on symlinks.
13606         Reported by Ondřej Vašík.
13607
13608         utimes: fix configure grammar
13609         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
13610
13611 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
13612
13613         regex: Fix fastmap for multibyte character ranges.
13614         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
13615         characters when a multibyte character range is included.
13616
13617 2009-11-22  Andy Wingo  <wingo@pobox.com>
13618
13619         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
13620         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
13621
13622 2009-11-24  Bruno Haible  <bruno@clisp.org>
13623
13624         doc: Most *_l functions exist in MacOS X 10.5.
13625         * doc/posix-functions/duplocale.texi: Update platforms list.
13626         * doc/posix-functions/freelocale.texi: Likewise.
13627         * doc/posix-functions/newlocale.texi: Likewise.
13628         * doc/posix-functions/uselocale.texi: Likewise.
13629         * doc/posix-functions/isalnum_l.texi: Likewise.
13630         * doc/posix-functions/isalpha_l.texi: Likewise.
13631         * doc/posix-functions/isblank_l.texi: Likewise.
13632         * doc/posix-functions/iscntrl_l.texi: Likewise.
13633         * doc/posix-functions/isdigit_l.texi: Likewise.
13634         * doc/posix-functions/isgraph_l.texi: Likewise.
13635         * doc/posix-functions/islower_l.texi: Likewise.
13636         * doc/posix-functions/isprint_l.texi: Likewise.
13637         * doc/posix-functions/ispunct_l.texi: Likewise.
13638         * doc/posix-functions/isspace_l.texi: Likewise.
13639         * doc/posix-functions/isupper_l.texi: Likewise.
13640         * doc/posix-functions/iswalnum_l.texi: Likewise.
13641         * doc/posix-functions/iswalpha_l.texi: Likewise.
13642         * doc/posix-functions/iswblank_l.texi: Likewise.
13643         * doc/posix-functions/iswcntrl_l.texi: Likewise.
13644         * doc/posix-functions/iswctype_l.texi: Likewise.
13645         * doc/posix-functions/iswdigit_l.texi: Likewise.
13646         * doc/posix-functions/iswgraph_l.texi: Likewise.
13647         * doc/posix-functions/iswlower_l.texi: Likewise.
13648         * doc/posix-functions/iswprint_l.texi: Likewise.
13649         * doc/posix-functions/iswpunct_l.texi: Likewise.
13650         * doc/posix-functions/iswspace_l.texi: Likewise.
13651         * doc/posix-functions/iswupper_l.texi: Likewise.
13652         * doc/posix-functions/iswxdigit_l.texi: Likewise.
13653         * doc/posix-functions/isxdigit_l.texi: Likewise.
13654         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
13655         * doc/posix-functions/strcasecmp_l.texi: Likewise.
13656         * doc/posix-functions/strcoll_l.texi: Likewise.
13657         * doc/posix-functions/strfmon_l.texi: Likewise.
13658         * doc/posix-functions/strftime_l.texi: Likewise.
13659         * doc/posix-functions/strncasecmp_l.texi: Likewise.
13660         * doc/posix-functions/strxfrm_l.texi: Likewise.
13661         * doc/posix-functions/tolower_l.texi: Likewise.
13662         * doc/posix-functions/toupper_l.texi: Likewise.
13663         * doc/posix-functions/towctrans_l.texi: Likewise.
13664         * doc/posix-functions/towlower_l.texi: Likewise.
13665         * doc/posix-functions/towupper_l.texi: Likewise.
13666         * doc/posix-functions/wcscoll_l.texi: Likewise.
13667         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
13668         * doc/posix-functions/wctrans_l.texi: Likewise.
13669         * doc/posix-functions/wctype_l.texi: Likewise.
13670         * doc/glibc-functions/strptime_l.texi: Likewise.
13671         * doc/glibc-functions/strtod_l.texi: Likewise.
13672         * doc/glibc-functions/strtof_l.texi: Likewise.
13673         * doc/glibc-functions/strtol_l.texi: Likewise.
13674         * doc/glibc-functions/strtold_l.texi: Likewise.
13675         * doc/glibc-functions/strtoll_l.texi: Likewise.
13676         * doc/glibc-functions/strtoul_l.texi: Likewise.
13677         * doc/glibc-functions/strtoull_l.texi: Likewise.
13678         * doc/glibc-functions/wcsftime_l.texi: Likewise.
13679         * doc/glibc-functions/wcstod_l.texi: Likewise.
13680         * doc/glibc-functions/wcstof_l.texi: Likewise.
13681         * doc/glibc-functions/wcstol_l.texi: Likewise.
13682         * doc/glibc-functions/wcstold_l.texi: Likewise.
13683         * doc/glibc-functions/wcstoll_l.texi: Likewise.
13684         * doc/glibc-functions/wcstoul_l.texi: Likewise.
13685         * doc/glibc-functions/wcstoull_l.texi: Likewise.
13686
13687 2009-11-24  Bruno Haible  <bruno@clisp.org>
13688
13689         duplocale: Fix logic bug.
13690         * lib/duplocale.c: Don't include <langinfo.h>.
13691         (_NL_LOCALE_NAME): Remove macro.
13692         (rpl_duplocale): Use setlocale instead of nl_langinfo.
13693         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
13694
13695 2009-11-23  Jim Meyering  <meyering@redhat.com>
13696
13697         test-update-copyright: don't hard-code /usr/bin/perl
13698         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
13699         perl to print the current year.  Gilles Espinasse reported that
13700         the replaced use of perl was hard-coded as /usr/bin/perl.
13701
13702 2009-11-23  Bruno Haible  <bruno@clisp.org>
13703
13704         duplocale: Add support for glibc 2.3.x.
13705         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
13706
13707 2009-11-22  Bruno Haible  <bruno@clisp.org>
13708
13709         vasnprintf: Tiny optimization.
13710         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
13711         MacOS X.
13712
13713 2009-11-22  Bruno Haible  <bruno@clisp.org>
13714
13715         Tests for module 'duplocale'.
13716         * modules/duplocale-tests: New file.
13717         * tests/test-duplocale.c: New file.
13718
13719         New module 'duplocale'.
13720         * m4/duplocale.m4: New file.
13721         * lib/locale.in.h (duplocale): New declaration.
13722         * lib/duplocale.c: New file.
13723         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
13724         gl_LOCALE_H_DEFAULTS): New macros.
13725         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
13726         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
13727         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
13728         REPLACE_DUPLOCALE.
13729         * modules/duplocale: New file.
13730         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
13731
13732 2009-11-22  Bruno Haible  <bruno@clisp.org>
13733
13734         * modules/locale-tests (configure.ac): Test for newlocale function.
13735         * tests/test-locale.c: When the system has extended locale functions,
13736         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
13737
13738         locale: Make locale_t available when possible.
13739         * lib/locale.in.h: Include <xlocale.h> when it exists.
13740         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
13741         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
13742         * modules/locale (Depends-on): Add extensions.
13743         (Makefile.am): Also substitute HAVE_XLOCALE_H.
13744         * doc/posix-headers/locale.texi: Document the problem with locale_t.
13745
13746 2009-11-22  Bruno Haible  <bruno@clisp.org>
13747
13748         Add comments.
13749         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
13750         invocation.
13751         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
13752         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13753         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
13754
13755 2009-11-22  Bruno Haible  <bruno@clisp.org>
13756
13757         error: account for the possibility of freopen (stdout).
13758         * lib/error.c: Include <unistd.h>.
13759         (flush_stdout): New function, extracted from error and error_at_line.
13760         Determine stdout's fd dynamically.
13761         (error, error_at_line): Invoke flush_stdout.
13762         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
13763         * modules/error (Depends-on): Add unistd.
13764
13765 2009-11-22  Bruno Haible  <bruno@clisp.org>
13766
13767         diffseq: Add comment.
13768         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
13769
13770 2009-11-22  Jim Meyering  <meyering@redhat.com>
13771
13772         c-stack: avoid defining an unused static function
13773         * lib/c-stack.c (find_stack_direction): Do not define this function
13774         when it will not be used.
13775
13776         diffseq: avoid spurious gcc warnings
13777         * lib/diffseq.h (IF_LINT2): Define.
13778         (compareseq): Use it to initialize two members of "part".
13779         This avoids two used-uninitialized warnings.
13780
13781 2009-11-21  Jim Meyering  <meyering@redhat.com>
13782
13783         c-stack: avoid "ignoring return value of `write'" warning
13784         * lib/c-stack.c: Include "ignore-value.h".
13785         (die): Explicitly ignore each write return value.
13786         * modules/c-stack (Depends-on): Add ignore-value.
13787
13788 2009-11-21  Bruno Haible  <bruno@clisp.org>
13789
13790         diffseq: reduce scope of variable 'best'.
13791         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
13792         variable, earlier used for two different purposes.
13793
13794 2009-11-21  Jim Meyering  <meyering@redhat.com>
13795
13796         diffseq: remove useless assignment to "best"
13797         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
13798         assignment.  At that point "best" is already guaranteed to be zero.
13799
13800 2009-11-20  Eric Blake  <ebb9@byu.net>
13801
13802         build: mention ftp redirector in release announcements
13803         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
13804         values that used to come from cfg.mk; mention FTP redirect URL.
13805         * build-aux/announce-gen: Mention the mirror list.
13806         Suggested by Karl Berry.
13807
13808         nanosleep: improve port to mingw
13809         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
13810         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
13811         LIB_NANOSLEEP, but only when needed.
13812         * modules/select (Link): Document LIBSOCKET.
13813         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
13814         enough.
13815
13816         nanosleep: work around cygwin bug
13817         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
13818         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
13819         bug.
13820         (getnow): Delete, not needed.
13821         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
13822         LIB_CLOCK_GETTIME.
13823         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
13824         clock-time, gettime.
13825         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
13826         bug.
13827         * modules/nanosleep-tests: New test.
13828         * tests/test-nanosleep.c: New file.
13829
13830         sleep: work around cygwin bug
13831         * lib/sleep.c (rpl_sleep): Work around the bug.
13832         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
13833         (gl_PREREQ_SLEEP): Delete unused macro.
13834         * modules/sleep (Depends-on): Add verify.
13835         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
13836         * modules/unistd (Makefile.am): Substitute witness.
13837         * lib/unistd.in.h (sleep): Update prototype.
13838         * doc/posix-functions/sleep.texi (sleep): Document the bug.
13839         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
13840         * modules/sleep-tests (Depends-on): Check for alarm.
13841
13842 2009-11-20  Jim Meyering  <meyering@redhat.com>
13843
13844         maint.mk: improve sc_prohibit_magic_number_exit
13845         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
13846         so it does not match uses like System.exit(1).
13847         Add comments showing how to correct all offenders.
13848
13849 2009-11-19  Eric Blake  <ebb9@byu.net>
13850
13851         xalloc-die-tests: add missing library
13852         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
13853
13854         test-xvasprintf: silence compiler warnings
13855         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
13856         empty string from gcc.
13857
13858 2009-11-19  Jim Meyering  <meyering@redhat.com>
13859
13860         xfreopen: new module, from coreutils
13861         * modules/xfreopen: New module.
13862         * lib/xfreopen.c: New file.
13863         * lib/xfreopen.h: New file.
13864         * MODULES.html.sh (File stream based Input/Output"): Add it.
13865
13866 2009-11-19  Eric Blake  <ebb9@byu.net>
13867
13868         manywarnings: depend on warnings
13869         * modules/manywarnings (Depends-on): Add warnings.
13870
13871         build: avoid compiler warnings
13872         * lib/select.c (rpl_select): Delete unused variable.
13873         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
13874
13875 2009-11-18  Eric Blake  <ebb9@byu.net>
13876
13877         tests: avoid false negative with --with-packager
13878         * tests/test-version-etc.sh: Discard packager information.
13879         * tests/test-argp-version-etc-1.sh: Likewise.
13880         Reported by Mike Frysinger.
13881
13882         utimens: fix regression on Solaris
13883         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
13884         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
13885         can only change fd timestamps via futimesat.  Instead, use an
13886         additional witness macro to avoid BSD bug.
13887         Reported by Jim Meyering.
13888
13889 2009-11-17  Eric Blake  <ebb9@byu.net>
13890
13891         usleep: use it to simplify tests
13892         * modules/stat-time-tests (Depends-on): Add usleep.
13893         (configure.ac): Drop usleep check.
13894         * modules/chown-tests (Depends-on, configure.ac): Likewise.
13895         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
13896         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
13897         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
13898         * modules/openat-tests (Depends-on, configure.ac): Likewise.
13899         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
13900         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
13901         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
13902         Likewise.
13903         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
13904         * tests/test-lchown.h (nap): Likewise.
13905         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
13906         * tests/test-stat-time.c (nap): Likewise.
13907         * tests/test-utimens-common.h (nap): Update comments.
13908
13909         usleep: new module
13910         * modules/usleep: New file.
13911         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
13912         * lib/usleep.c (usleep): Likewise.
13913         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
13914         * modules/unistd (Makefile.am): Substitute witnesses.
13915         * lib/unistd.in.h (usleep): Add declaration.
13916         * doc/pastposix-functions/usleep.texi (usleep): Document this.
13917         * MODULES.html.sh (Date and time): Likewise.
13918         * modules/usleep-tests (Depends-on): New test.
13919         * tests/test-usleep.c: New file.
13920
13921         chown: work around OpenBSD bug
13922         * lib/chown.c (rpl_chown): Work around the bug.
13923         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
13924         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
13925         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
13926         * modules/chown (Depends-on): Add stdbool.
13927         * modules/lchown (Depends-on): Likewise.
13928         * doc/posix-functions/chown.texi (chown): Document the bug.
13929         * doc/posix-functions/lchown.texi (lchown): Likewise.
13930         * tests/test-lchown.h (test_chown): Relax test.
13931
13932         mkstemp: avoid conflict with C++ keyword template
13933         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
13934         * lib/mkostemp.c (mkostemp): Likewise.
13935         * lib/mkostemps.c (mkostemps): Likewise.
13936         * lib/mkstemp.c (mkstemp): Likewise.
13937         * lib/mkstemps.c (mkstemps): Likewise.
13938
13939         xalloc-die-tests: optimize
13940         * tests/test-xalloc-die.sh: Reduce number of processes.
13941
13942 2009-11-17  Simon Josefsson  <simon@josefsson.org>
13943
13944         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
13945         patch from ludo@gnu.org (Ludovic Courtès).
13946
13947 2009-11-17  Jim Meyering  <meyering@redhat.com>
13948
13949         version-etc: use proper license string
13950         * modules/version-etc (License): Use LGPL, not LGPLv3+.
13951         * modules/version-etc-fsf: Likewise.
13952
13953 2009-11-17  Simon Josefsson  <simon@josefsson.org>
13954
13955         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
13956         printed to stdout.  Deal with EOL differences.
13957
13958 2009-11-17  Eric Blake  <ebb9@byu.net>
13959
13960         unsetenv: work around Solaris bug
13961         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
13962         * lib/unsetenv.c (rpl_unsetenv): Work around it.
13963         Reported by Jim Meyering.
13964
13965         vasnprintf: avoid compiler warnings
13966         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
13967         variables.
13968         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
13969
13970 2009-11-17  Simon Josefsson  <simon@josefsson.org>
13971
13972         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
13973         settings since xalloc-die is no longer the self test,
13974         xalloc-die.sh is.
13975
13976 2009-11-17  Jim Meyering  <meyering@redhat.com>
13977
13978         test-xalloc-die.sh: make the code agree with the commit log
13979         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
13980         at the end, just in case you happen to have a test-xalloc-die
13981         program in some other PATH directory.
13982
13983         test-xalloc-die.sh: fix a portability bug
13984         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
13985         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
13986         Otherwise, argv[0] (as often seen in diagnostics) would be too
13987         system-dependent, sometimes with, and sometimes without the leading "./".
13988
13989         version-etc-fsf: relax license to LGPLv3+
13990         * modules/version-etc-fsf (License): Relax license.
13991
13992 2009-11-16  Eric Blake  <ebb9@byu.net>
13993
13994         xalloc-die-tests: avoid printing null pointer
13995         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
13996         shell script.
13997         * tests/test-xalloc-die.c (program_name): Declare.
13998         * tests/test-xalloc-die.sh (tmpfiles): New file.
13999
14000         setenv, unsetenv: work around various bugs
14001         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
14002         (setenv) [HAVE_SETENV]: Work around bugs.
14003         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
14004         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
14005         for bugs.
14006         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
14007         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
14008         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
14009         * modules/stdlib (Makefile.am): Update substitutions.
14010         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
14011         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
14012         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
14013         * modules/setenv-tests: New test.
14014         * modules/unsetenv-tests: Likewise.
14015         * tests/test-setenv.c: New file.
14016         * tests/test-unsetenv.c: Likewise.
14017
14018 2009-11-16  Jim Meyering  <meyering@redhat.com>
14019
14020         version-etc: relax license to LGPLv3+
14021         * modules/version-etc (License): Relax license.
14022
14023         better AC_REQUIRE expanded-before-required-warning avoidance
14024         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
14025         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
14026         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
14027         which is no longer needed.
14028
14029 2009-11-16  Eric Blake  <ebb9@byu.net>
14030
14031         test-freading: clean up temporary file
14032         * tests/test-freading.c (main): Remove file on success, and use
14033         ASSERT more liberally.
14034         Reported by Jim Meyering.
14035
14036 2009-11-16  Jim Meyering  <meyering@redhat.com>
14037
14038         avoid new AC_REQUIRE expanded-before-required warnings
14039         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
14040         merely using it.
14041         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
14042         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
14043
14044 2009-11-15  Simon Josefsson  <simon@josefsson.org>
14045
14046         * tests/test-xalloc-die.c: New file.
14047         * modules/xalloc-die-tests: New file.
14048         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
14049         XFAIL_TESTS so it can be appended by modules.
14050
14051 2009-11-15  Simon Josefsson  <simon@josefsson.org>
14052
14053         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
14054         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
14055
14056 2009-11-14  Eric Blake  <ebb9@byu.net>
14057
14058         fnmatch: avoid compiler warning
14059         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
14060         to silence compiler warning about mismatch signedness in ?:.
14061         Reported by Robert Millan.
14062
14063         intprops: add double-inclusion guard
14064         * lib/intprops.h: Allow idempotent includes.
14065         Suggested by Bruce Korb.
14066
14067         openat: detect Solaris fchownat bug
14068         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
14069         penalizing glibc chownat when only lchownat is broken.
14070         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
14071         trailing slash bugs.
14072         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
14073         * modules/openat-tests (Files): Include more files.
14074         (Depends-on): Add mgetgroups, sleep, stat-time.
14075         (configure.ac): Add additional checks.
14076         (Makefile.am): Build new test.
14077         * tests/test-fchownat.c: New file.
14078
14079         lchown: detect Solaris and FreeBSD bug
14080         * lib/lchown.c (rpl_lchown): Work around bug.
14081         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
14082         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14083         * modules/unistd (Makefile.am): Populate it.
14084         * lib/unistd.in.h (lchown): Update declaration.
14085         * doc/posix-functions/lchown.texi (lchown): Document the bug.
14086         * modules/lchown-tests: New file.
14087         * tests/test-lchown.h (test_lchown): Likewise.
14088         * tests/test-lchown.c (main): Likewise.
14089
14090         chown: detect Solaris and FreeBSD bug
14091         * lib/chown.c (rpl_chown): Work around bug.
14092         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
14093         (gl_PREREQ_CHOWN): Delete.
14094         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
14095         * modules/unistd (Makefile.am): Populate it.
14096         * lib/unistd.in.h (chown): Update declaration.
14097         * lib/lchown.c (chown): Update client.
14098         * modules/lchown (Depends-on): Add lstat.
14099         * doc/posix-functions/chown.texi (chown): Document the bug.
14100         * doc/posix-functions/getgroups.texi (getgroups): Document
14101         getgroups pitfall.
14102         * modules/chown-tests: New file.
14103         * tests/test-chown.h (test_chown): Likewise.
14104         * tests/test-chown.c (main): Likewise.
14105
14106 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
14107
14108         gnulib-tool: correctly detect absence of m4 directories
14109         * gnulib-tool: Avoid extra newline on data passed to wc -l.
14110
14111 2009-11-14  Jim Meyering  <meyering@redhat.com>
14112
14113         maint.mk: Prohibit inclusion of "xalloc.h" without use.
14114         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
14115
14116 2009-11-14  John W. Eaton  <jwe@gnu.org>
14117
14118         strftime.h: wrap funtion declaration in extern "C" block
14119         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
14120
14121 2009-11-13  Eric Blake  <ebb9@byu.net>
14122
14123         getgroups: avoid compiler warning
14124         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
14125
14126         getgroups: work around FreeBSD bug
14127         * lib/getgroups.c (rpl_getgroups): Work around the bug.
14128         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
14129         * doc/posix-functions/getgroups.texi (getgroups): Document it.
14130         * tests/test-getgroups.c (main): Fix buffer overrun.
14131
14132         getgroups: avoid compilation failure
14133         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
14134         * modules/getgroups (Depends-on): Add stdint.
14135
14136 2009-11-13  Jim Meyering  <meyering@redhat.com>
14137
14138         test-getgroups: avoid compilation failure
14139         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
14140
14141 2009-11-13  Eric Blake  <ebb9@byu.net>
14142
14143         mgetgroups: new module, taken from coreutils
14144         * modules/mgetgroups: New file.
14145         * lib/mgetgroups.h: Likewise.
14146         * lib/mgetgroups.c (mgetgroups): Likewise.
14147         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
14148         * MODULES.html.sh (Users and groups): Mention it.
14149
14150         getgroups: don't expose GETGROUPS_T to user
14151         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
14152         an element at a time if GETGROUPS_T is wrong size.
14153         * lib/getugroups.h (getugroups): Change signature.
14154         * lib/unistd.in.h (getgroups): Likewise.
14155         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
14156         signature needs fixing.
14157         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
14158         AC_TYPE_GETGROUPS.
14159         * modules/group-member (Depends-on): Add getgroups.
14160         * lib/group-member.c (group_info, get_group_info): Use gid_t.
14161         (group_member): Rely on getgroups replacement.
14162         * lib/getugroups.c (getugroups): Use gid_t.
14163         * tests/test-getgroups.c (main): Likewise.
14164         * NEWS: Mention the signature change.
14165         * doc/posix-functions/getgroups.texi (getgroups): Mention the
14166         problem with signature.
14167         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
14168         GETGROUPS_T is still useful for setgroups.
14169
14170         getgroups, getugroups: provide stubs for mingw
14171         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
14172         * lib/getugroups.c (getugroups): Likewise.
14173         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
14174         function.  Modernize replacement scheme.
14175         (gl_PREREQ_GETGROUPS): Delete.
14176         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
14177         * modules/getgroups (configure.ac): Declare witness.
14178         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
14179         * modules/unistd (Depends-on): Substitute witness.
14180         * lib/unistd.in.h (getgroups): Declare replacement.
14181
14182         getgroups: avoid calling exit
14183         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
14184         drop xalloc.
14185         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
14186         dependencies.
14187         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
14188         exiting, in the rare case of malloc failure.
14189
14190         getgroups: fix logic error
14191         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
14192         has more than 20 groups.
14193         * modules/getgroups-tests: New test.
14194         * tests/test-getgroups.c: New file.
14195
14196 2009-11-13  Simon Josefsson  <simon@josefsson.org>
14197
14198         * tests/test-base64.c: Improve.
14199
14200 2009-11-13  Simon Josefsson  <simon@josefsson.org>
14201
14202         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
14203         Blake <ebb9@byu.net>.
14204
14205 2009-11-13  Simon Josefsson  <simon@josefsson.org>
14206
14207         * tests/test-xvasprintf.c: Add %s%s related checks.
14208
14209 2009-11-12  Eric Blake  <ebb9@byu.net>
14210
14211         version-etc: match standards.texi style
14212         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
14213         and use <> only for URLs.
14214
14215 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
14216
14217         fts: do not fail on a submount during traversal
14218         * lib/fts.c (fts_build): Read the stat info again after opening
14219         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
14220         Original report at http://bugzilla.redhat.com/501848.
14221
14222 2009-11-12  Jim Meyering  <meyering@redhat.com>
14223
14224         bootstrap: sync from coreutils
14225         * build-aux/bootstrap (bootstrap_epilogue): New function.
14226         Use git_modules_config in one more place.  This make bootstrap's
14227         --gnulib-srcdir option more useful for testing.
14228
14229         bootstrap: generalize autoheader check
14230         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
14231         AC_CONFIG_HEADERS.
14232
14233 2009-11-11  Eric Blake  <ebb9@byu.net>
14234
14235         mkfifoat: use new modules for Solaris and BSD bugs
14236         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
14237         * lib/mkfifoat.c (mknodat): Split...
14238         * lib/mknodat.c (mknodat): ...into new file.
14239         * modules/mkfifoat (Files): Ship new file.
14240         (Depends-on): Add mkfifo, mknod.
14241         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
14242         (Depends-on): Add symlink.
14243         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
14244         redundant with test_mkfifo.h.
14245         (do_mkfifoat, do_mknodat): New helpers.
14246
14247         mknod: new module
14248         * modules/mknod: New file.
14249         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
14250         * lib/mknod.c (mknod): Likewise.
14251         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
14252         defaults.
14253         * modules/sys_stat (Makefile.am): Substitute them.
14254         * lib/sys_stat.in.h (mknod): Declare replacement.
14255         * MODULES.html.sh (Support for systems lacking POSIX:2008):
14256         Document it.
14257         * doc/posix-functions/mknod.texi (mknod): Likewise.
14258         * modules/mknod-tests: New test.
14259         * tests/test-mknod.c: Likewise.
14260
14261         mkfifo: new module
14262         * modules/mkfifo: New file.
14263         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
14264         * lib/mkfifo.c (mkfifo): Likewise.
14265         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
14266         defaults.
14267         * modules/sys_stat (Makefile.am): Substitute them.
14268         * lib/sys_stat.in.h (mkfifo): Declare replacement.
14269         * MODULES.html.sh (Support for systems lacking POSIX:2008):
14270         Document it.
14271         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
14272         * modules/mkfifo-tests: New test.
14273         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
14274         from test-mkfifoat.c.
14275         * tests/test-mkfifo.c: New file.
14276
14277         readlink: detect FreeBSD bug
14278         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
14279         slash on symlink.
14280         * doc/posix-functions/readlink.texi (readlink): Document the bug.
14281         * tests/test-readlink.h (test_readlink): Enhance test.
14282
14283         symlink: detect FreeBSD bug
14284         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
14285         slash on symlink.
14286         * doc/posix-functions/symlink.texi (symlink): Document the bug.
14287         * tests/test-symlink.h (test_symlink): Enhance test.
14288
14289 2009-11-10  Eric Blake  <ebb9@byu.net>
14290
14291         link: detect FreeBSD bug
14292         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
14293         symlink.
14294         * doc/posix-functions/link.texi (link): Document the bug.
14295         * tests/test-link.h (test_link): Enhance test.
14296         * tests/test-linkat.c (main): Update caller.
14297
14298         unlink, remove: detect FreeBSD bug
14299         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
14300         slash on symlink.
14301         * doc/posix-functions/unlink.texi (unlink): Document the bug.
14302         * doc/posix-functions/remove.texi (remove): Likewise.
14303         * tests/test-unlink.h (test_unlink): Enhance test.
14304         * tests/test-remove.c (main): Likewise.
14305
14306 2009-11-09  Eric Blake  <ebb9@byu.net>
14307
14308         rename: detect FreeBSD bug
14309         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
14310         slash on symlink.
14311         * modules/renameat-tests (Depends-on): Add filenamecat.
14312         * tests/test-rename.h (test_rename): Allow one more errno.
14313         * tests/test-renameat.c (main): Likewise.
14314         * doc/posix-functions/rename.texi (rename): Document the bug.
14315
14316         open: detect FreeBSD bug
14317         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
14318         symlink.
14319         * doc/posix-functions/open.texi (open): Document the bug.
14320         * doc/posix-functions/utimes.texi (utimes): Likewise.
14321         * tests/test-open.h (test_open): Add parameters, and test symlink
14322         handling.
14323         * tests/test-open.c (main): Adjust caller.
14324         * tests/test-fcntl-safer.c (main): Likewise.
14325         * modules/open-tests (Depends-on): Add stdbool, symlink.
14326         * modules/fcntl-safer-tests (Depends-on): Likewise.
14327         * tests/test-openat.c (main): Add test-open tests.
14328
14329         stat: detect FreeBSD bug
14330         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
14331         symlink.
14332         * doc/posix-functions/stat.texi (stat): Document the bug.
14333         * tests/test-stat.h (test_stat_func): Add argument.
14334         * tests/test-stat.c (main): Adjust caller.
14335         * tests/test-fstatat.c (main): Likewise.
14336         * modules/stat-tests (Depends-on): Add stdbool, symlink.
14337         Reported by Jim Meyering.
14338
14339 2009-11-09  James Youngman  <jay@gnu.org>
14340
14341         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
14342         * lib/strftime.c: Correct placement of #include "ignore-value.h".
14343
14344 2009-11-08  Jim Meyering  <meyering@redhat.com>
14345
14346         utimens: remove invalid futimesat call
14347         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
14348         It used the file descriptor of the target file as the DIR_FD
14349         parameter and NULL as the file name.  That caused failure with
14350         errno == EFAULT on FreeBSD-8.0-rc2
14351
14352 2009-11-07  Eric Blake  <ebb9@byu.net>
14353
14354         fflush, freadseek: use fseeko, not fseek
14355         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
14356         (clear_ungetc_buffer): Avoid potential problems on large files.
14357         * lib/freadseek.c (freadseek): Likewise.
14358         * modules/freadseek (Depends-on): Add fseeko.
14359         * modules/fseek (configure.ac): Set a witness.
14360         * tests/test-fflush.c (main): Use fseeko.
14361         * tests/test-fpurge.c (fseek): Disable link warning.
14362         * tests/test-freadable.c (fseek): Likewise.
14363         * tests/test-freading.c (fseek): Likewise.
14364         * tests/test-fseeko.c (fseek): Likewise.
14365         * tests/test-ftell.c (fseek): Likewise.
14366         * tests/test-ftello.c (fseek): Likewise.
14367         * tests/test-fwritable.c (fseek): Likewise.
14368         * tests/test-fwriting.c (fseek): Likewise.
14369
14370 2009-11-06  Simon Josefsson  <simon@josefsson.org>
14371
14372         * modules/memchr (Depends-on): Drop getpagesize dependency.
14373
14374 2009-11-06  Simon Josefsson  <simon@josefsson.org>
14375
14376         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
14377         Reported by Ludovic Courtès.
14378         * build-aux/pmccabe2html: Improve example usage.
14379         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
14380
14381 2009-11-06  Jim Meyering  <meyering@redhat.com>
14382
14383         do-release-commit-and-tag: New module.
14384         Automate the release-commit and tag process.
14385         * build-aux/do-release-commit-and-tag: New script, from coreutils.
14386         * modules/do-release-commit-and-tag: New file.
14387         * MODULES.html.sh (Support for maintaining and releasing): Add it.
14388
14389 2009-11-06  Simon Josefsson  <simon@josefsson.org>
14390
14391         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
14392         because test-select.c uses inet_pton.
14393
14394 2009-11-06  Simon Josefsson  <simon@josefsson.org>
14395
14396         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
14397         GETADDRINFO_LIB.  Bump serial number.
14398         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
14399         Suggested by Eric Blake <ebb9@byu.net>.
14400
14401 2009-11-05  Eric Blake  <ebb9@byu.net>
14402
14403         strtod: detect darwin bug
14404         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
14405         Reported by Leo Davis.
14406
14407         freopen-safer: new module
14408         * modules/freopen-safer: New module.
14409         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
14410         * lib/freopen-safer.c (freopen_safer): New file.
14411         * lib/stdio-safer.h (freopen_safer): New declaration.
14412         * lib/stdio--.h (freopen): New override.
14413         * MODULES.html.sh (File stream based Input/Output): Mention it.
14414         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
14415         freopen-safer module.
14416         * doc/posix-functions/stderr.texi (stderr): Likewise.
14417         * doc/posix-functions/stdin.texi (stdin): Likewise.
14418         * doc/posix-functions/stdout.texi (stdout): Likewise.
14419         * modules/freopen-safer-tests: New test.
14420         * tests/test-reopen-safer.c: New file.
14421
14422 2009-11-05  Jim Meyering  <meyering@redhat.com>
14423
14424         maint.mk: Prohibit inclusion of "close-stream.h" without use.
14425         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
14426
14427 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14428
14429         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
14430
14431 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14432
14433         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
14434
14435 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14436
14437         Fix link error.
14438         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
14439         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
14440
14441 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14442
14443         * tests/test-func.c: Also test value of __func__.
14444
14445 2009-11-05  Simon Josefsson  <simon@josefsson.org>
14446
14447         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
14448         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
14449
14450 2009-11-05  Bruno Haible  <bruno@clisp.org>
14451
14452         Fix link error.
14453         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
14454         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
14455         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
14456
14457 2009-11-05  Bruno Haible  <bruno@clisp.org>
14458
14459         Tests for module 'inet_pton'.
14460         * modules/inet_pton-tests: New file.
14461         * tests/test-inet_pton.c: New file.
14462
14463 2009-11-05  Bruno Haible  <bruno@clisp.org>
14464
14465         Tests for module 'inet_ntop'.
14466         * modules/inet_ntop-tests: New file.
14467         * tests/test-inet_ntop.c: New file.
14468
14469 2009-11-04  Eric Blake  <ebb9@byu.net>
14470
14471         stdlib-safer: wrap all mkstemp variants
14472         * modules/mkostemp (configure.ac): Set witness.
14473         * modules/mkostemps (configure.ac): Likewise.
14474         * modules/mkstemps (configure.ac): Likewise.
14475         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
14476         (mkstemps_safer): Wrap more functions.
14477         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
14478         wrapping.
14479         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
14480         (mkstemps_safer): Implement the wrappers.
14481
14482         mkstemps, mkostemps: new modules
14483         * modules/mkostemps: New module.
14484         * modules/mkstemps: Likewise.
14485         * lib/mkostemps.c (mkostemps): New file.
14486         * lib/mkstemps.c (mkstemps): Likewise.
14487         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
14488         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
14489         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
14490         * modules/stdlib (Makefile.am): Substitute them.
14491         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
14492         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
14493         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
14494         * doc/gnulib.texi (Glibc stdlib.h): Include them.
14495         * MODULES.html.sh (File system functions): Mention them.
14496
14497         tempname: resync from glibc
14498         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
14499         same values for __GT_FILE as glibc.  Abort even when assertions
14500         are disabled.
14501         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
14502         match its value otherwise.  Allow idempotent inclusion.
14503         * lib/mkdtemp.c (mkdtemp): Adjust caller.
14504         * lib/mkostemp.c (mkostemp): Likewise.
14505         * lib/mkstemp.c (mkstemp): Likewise.
14506         * lib/tmpfile.c (tmpfile): Likewise.
14507         * NEWS: Document this.
14508
14509         utimens: fix use of futimens on older Linux
14510         * lib/utimens.c (fdutimens): Use updated, rather than original,
14511         timespec to avoid bug in older Linux kernel.
14512         Reported by Simon Josefsson.
14513
14514 2009-11-04  Bruno Haible  <bruno@clisp.org>
14515
14516         Make num_processors more flexible and consistent.
14517         * lib/nproc.h (enum nproc_query): New type.
14518         (num_processors): Add a 'query' argument.
14519         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
14520         (num_processors): Add a 'query' argument. Test the value of the
14521         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
14522         mingw, count the number of CPUs available for the current process.
14523         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
14524         Check for sched_getaffinity and sched_getaffinity_np.
14525         * modules/nproc (Depends-on): Add c-ctype, extensions.
14526         * NEWS: Mention the change.
14527
14528 2009-11-03  Bruno Haible  <bruno@clisp.org>
14529
14530         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
14531
14532 2009-11-03  Jim Meyering  <meyering@redhat.com>
14533
14534         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
14535         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
14536         if it is defined.
14537
14538 2009-11-02  Eric Blake  <ebb9@byu.net>
14539
14540         mktime, timegm: share common declaration
14541         * lib/mktime-internal.h: New file.
14542         * lib/mktime.c: Use it rather than open-coding a declaration.
14543         * lib/timegm.c: Likewise.
14544         * modules/mktime (Files): Ship it.
14545         * modules/timegm (Files): Likewise.
14546         Suggested by Bruno Haible.
14547
14548         test-update-copyright: update test to match script changes
14549         * tests/test-update-copyright.sh: Avoid hard-coding perl
14550         location.  Don't update *.bak created by earlier runs.
14551
14552 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
14553             Simon Josefsson  <simon@josefsson.org>
14554             Bruno Haible  <bruno@clisp.org>
14555
14556         Fix link error on Solaris 8.
14557         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
14558         also in libnsl. Define also INET_PTON_LIB.
14559         * modules/inet_pton (Link): New section.
14560
14561 2009-11-02  Simon Josefsson  <simon@josefsson.org>
14562             Bruno Haible  <bruno@clisp.org>
14563
14564         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
14565         * modules/inet_ntop (Link): New section.
14566         Reported by Boyan Kasarov <bkasarov@gmail.com>.
14567
14568 2009-11-02  Eric Blake  <ebb9@byu.net>
14569
14570         maint: avoid compiler warnings in m4 macros
14571         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
14572         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
14573
14574 2009-11-02  Simon Josefsson  <simon@josefsson.org>
14575
14576         * m4/pmccabe2html.m4: Remove file.
14577         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
14578         function.  Change maintainer.
14579         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
14580         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
14581         Courtès).
14582
14583 2009-10-31  Eric Blake  <ebb9@byu.net>
14584
14585         fseeko: fix m4 regression
14586         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
14587         regression from 2009-10-27.
14588         Reported by Ralf Wildenhues.
14589
14590 2009-10-31  Jim Meyering  <meyering@redhat.com>
14591
14592         inttostr: aesthetics and improved (compile-time) safety
14593         Define inttype_is_signed rather than inttype_is_unsigned,
14594         since the sole use is via "#if inttype_is_signed".
14595         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
14596         inttype_is_unsigned.
14597         * lib/offtostr.c (inttype_is_signed): Likewise.
14598         * lib/uinttostr.c (inttype_is_signed): Likewise.
14599         * lib/umaxtostr.c (inttype_is_signed): Likewise.
14600         * lib/inttostr.c (inttostr): Use verify to cross-check the
14601         inttype_is_signed value and the signedness of the actual type.
14602         * modules/inttostr (Depends-on): Add verify.
14603
14604 2009-10-30  Eric Blake  <ebb9@byu.net>
14605
14606         build: avoid compiler warnings
14607         * lib/fchmodat.c (lchmod): Mark unused variables.
14608         * lib/getopt.c (_getopt_initialize): Likewise.
14609         * lib/mktime.c (__mktime_internal): Provide prototype.
14610         * lib/inttostr.c (inttostr): Avoid compiler warning even with
14611         older gcc that do not understand #pragma GCC diagnostic.
14612         * lib/uinttostr.c (inttype_is_unsigned): Define.
14613         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
14614
14615 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
14616
14617         stat: fix compilation on AIX
14618         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
14619         only see struct stat64.
14620
14621 2009-10-30  Eric Blake  <ebb9@byu.net>
14622
14623         exclude: make more robust
14624         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
14625         rather than masking a coding bug.
14626         Suggested by Bruno Haible.
14627
14628 2009-10-30  Jim Meyering  <meyering@redhat.com>
14629
14630         perl scripts: remove #!/usr/bin/perl in favor of more portable...
14631         Rather than putting #!/usr/bin/perl on the first line,
14632         start with a variant of what's recommended by "man perlrun" that
14633         invokes the first "perl" program from your shell's search path.
14634         * build-aux/gitlog-to-changelog: Replace #!... as above.
14635         Add a "Local Variables" perl mode setting.
14636         Prompted by a patch from Ludovic Courtès.
14637         Improved by Eric Blake.
14638         * build-aux/useless-if-before-free: Likewise.
14639         * build-aux/announce-gen: Likewise.
14640         * build-aux/update-copyright: Likewise.
14641
14642 2009-10-29  Eric Blake  <ebb9@byu.net>
14643
14644         filenamecat-lgpl: adjust clients
14645         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
14646         filenamecat.
14647         * modules/renameat (Depends-on): Likewise.
14648
14649         filenamecat: split into filenamecat-lgpl
14650         * modules/filenamecat-lgpl: New module.
14651         * modules/filenamecat (Files): Move library-safe files into
14652         filenamecat-lgpl.
14653         (Depends-on): Add filenamecat-lgpl.
14654         (configure.ac): Declare witness.
14655         * lib/filenamecat.h (file_name_concat): Only declare when using
14656         GPL module.
14657         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
14658         Move...
14659         * lib/filenamecat-lgpl.c: ...into new file.
14660         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
14661         (gl_FILE_NAME_CONCAT): Use it.
14662         * MODULES.html.sh (File system functions): Mention new module.
14663
14664         argp: avoid memory leak
14665         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
14666         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
14667         base_name, since the latter malloc()s and can call exit().
14668         Leak introduced 2006-07-03.
14669
14670         dirname-lgpl: adjust clients that don't need full dirname
14671         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
14672         * modules/filenamecat (Depends-on): Likewise.
14673         * modules/linkat (Depends-on): Likewise.
14674         * modules/mkancesdirs (Depends-on): Likewise.
14675         * modules/mkdir (Depends-on): Likewise.
14676         * modules/openat (Depends-on): Likewise.
14677         * modules/savewd (Depends-on): Likewise.
14678         * modules/rename (Depends-on): Likewise.
14679         (License): Relax license.
14680         * modules/mkdir-tests (Depends-on): Drop progname.
14681         (Makefile.am): Delete unneeded LDADD.
14682         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
14683
14684         dirname: split into dirname-lgpl
14685         * modules/dirname-lgpl: New module.
14686         * modules/dirname (Files): Move library-safe files into
14687         dirname-lgpl.
14688         (Depends-on): Add dirname-lgpl.
14689         (configure.ac): Declare witness.
14690         * modules/double-slash-root (License): Relax license.
14691         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
14692         module.
14693         * lib/dirname.c (dir_len, mdir_name): Move...
14694         * lib/dirname-lgpl.c: ...into new file.
14695         * lib/basename.c (last_component, base_len): Move...
14696         * lib/basename-lgpl.c: ...into new file.
14697         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
14698         (gl_DIRNAME): Use it.
14699         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
14700         Mention new module.
14701         * modules/dirname-tests (Depends-on): Add progname.
14702         * tests/test-dirname.c (program_name): Delete.
14703
14704         mkdir: make safe for libraries
14705         * modules/mkdir (Depends-on): Drop xalloc.
14706         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
14707         exit.
14708
14709         tests: avoid some compiler warnings
14710         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
14711         literals.
14712         * tests/test-memchr.c (main): Avoid type mismatch.
14713         * tests/test-arpa_inet.c (main): Avoid unused parameters.
14714         * tests/test-base64.c (main): Likewise.
14715         * tests/test-getdelim.c (main): Likewise.
14716         * tests/test-gethostname.c (main): Likewise.
14717         * tests/test-getline.c (main): Likewise.
14718         * tests/test-netinet_in.c (main): Likewise.
14719         * tests/test-select.c (open_server_socket, main): Likewise.
14720         * tests/test-select-stdin.c (main): Likewise.
14721         * tests/test-sockets.c (main): Likewise.
14722         * tests/test-strsignal.c (main): Likewise.
14723         * tests/test-sys_select.c (main): Likewise.
14724         * tests/test-sys_socket.c (main): Likewise.
14725         * tests/test-u64.c (main): Likewise.
14726         * tests/test-xfprintf-posix.c (main): Likewise.
14727         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
14728
14729         sockets: avoid compiler warning
14730         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
14731
14732         maint: detect usage(1) and other suspicious exits
14733         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
14734
14735 2009-10-29  Jim Meyering  <meyering@redhat.com>
14736
14737         timespec: long-to-int truncation could make timespec_cmp malfunction
14738         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
14739         a multiple of 2^32 nanoseconds as no difference.
14740
14741 2009-10-28  Jim Meyering  <meyering@redhat.com>
14742
14743         fprintftime: wrap macro code argument in "do {...} while(0)"
14744         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
14745         cpy macro must be a statement that can be followed by a semicolon.
14746         Now that the else clause contains a comment and is hence longer
14747         than one line, I require curly braces.  That in turn requires
14748         that we wrap this code block in the standard do...while(0).
14749
14750         fprintftime: remove stray semicolon from previous change
14751         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
14752
14753         fprintftime: avoid a warning about ignored fwrite return value
14754         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
14755         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
14756         that is unsafe.
14757         * modules/fprintftime (Depends-on): Add ignore-value.
14758
14759         exclude: avoid an unwarranted warning
14760         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
14761
14762 2009-10-27  Eric Blake  <ebb9@byu.net>
14763
14764         fseek: avoid compilation failure when fflush is replaced
14765         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
14766         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
14767         module is in use.
14768         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
14769         module is not in use; since REPLACE_FSEEK worked otherwise.
14770         (GNULIB_FTELLO): Likewise for ftell.
14771         Reported by Ian Beckwith and others.
14772
14773 2009-10-27  Bruno Haible  <bruno@clisp.org>
14774
14775         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
14776         Reported by Jim Meyering.
14777
14778 2009-10-27  Jim Meyering  <jim@meyering.net>
14779             Bruno Haible  <bruno@clisp.org>
14780
14781         Avoid warning despite dropping the return value of fwrite.
14782         * lib/unicodeio.c: Include ignore-value.h.
14783         (fwrite_success_callback): Explicitly ignore fwrite's return value.
14784         * modules/unicodeio (Depends-on): Add ignore-value.
14785
14786 2009-10-26  Eric Blake  <ebb9@byu.net>
14787
14788         areadlinkat: fix fallback path
14789         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
14790         pointer and zero.
14791
14792 2009-10-22  Pádraig Brady  <P@draigBrady.com>
14793
14794         Use a better IO block size for modern systems
14795         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
14796         * lib/md2.c: Likewise.
14797         * lib/md4.c: Likewise.
14798         * lib/md5.c: Likewise.
14799         * lib/sha1.c: Likewise.
14800         * lib/sha256.c: Likewise.
14801         * lib/sha512.c: Likewise.
14802
14803 2009-10-22  Eric Blake  <ebb9@byu.net>
14804
14805         tests: avoid several compiler warnings
14806         * tests/test-getcwd.c (main): Avoid buffer underflow.
14807         * tests/test-getdate.c (main): String literals are not safe with
14808         putenv, so use setenv.  Declare unused argument.
14809         * modules/getdate-tests (Depends-on): Add setenv.
14810         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
14811         problems with string literals in char *.
14812         * tests/test-hash.c (main): Avoid shadowing declaration.
14813         (insert_new): Treat string literals as char const *.
14814         * tests/test-getopt.h (test_getopt): Likewise.
14815         (getopt_loop): Alter types to minimize casting elsewhere.
14816         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
14817         (test_getopt_long_posix): Likewise.
14818         (do_getopt_long): Add wrapper to minimize casting.
14819         * tests/test-atexit.c (clear_temp_file): Use void.
14820         * tests/test-areadlink-with-size.c (main): Declare unused
14821         arguments.
14822         * tests/test-areadlink.c (main): Likewise.
14823         * tests/test-areadlinkat-with-size.c (main): Likewise.
14824         * tests/test-areadlinkat.c (main): Likewise.
14825         * tests/test-canonicalize-lgpl.c (main): Likewise.
14826         * tests/test-canonicalize.c (main): Likewise.
14827         * tests/test-dirent-safer.c (main): Likewise.
14828         * tests/test-dirname.c (main): Likewise.
14829         * tests/test-dup2.c (main): Likewise.
14830         * tests/test-fchdir.c (main): Likewise.
14831         * tests/test-fcntl-h.c (main): Likewise.
14832         * tests/test-fcntl-safer.c (main): Likewise.
14833         * tests/test-fdopendir.c (main): Likewise.
14834         * tests/test-fdutimensat.c (main): Likewise.
14835         * tests/test-fflush.c (main): Likewise.
14836         * tests/test-filenamecat.c (main): Likewise.
14837         * tests/test-filevercmp.c (main): Likewise.
14838         * tests/test-fopen-safer.c (main): Likewise.
14839         * tests/test-fopen.c (main): Likewise.
14840         * tests/test-fpending.c (main): Likewise.
14841         * tests/test-fpurge.c (main): Likewise.
14842         * tests/test-freading.c (main): Likewise.
14843         * tests/test-fstatat.c (main): Likewise.
14844         * tests/test-fsync.c (main): Likewise.
14845         * tests/test-futimens.c (main): Likewise.
14846         * tests/test-getndelim2.c (main): Likewise.
14847         * tests/test-gettimeofday.c (main): Likewise.
14848         * tests/test-getopt.c (main): Likewise.
14849         * tests/test-i-ring.c (main): Likewise.
14850         * tests/test-inttypes.c (main): Likewise.
14851         * tests/test-link.c (main): Likewise.
14852         * tests/test-lstat.c (main): Likewise.
14853         * tests/test-math.c (main): Likewise.
14854         * tests/test-md5.c (main): Likewise.
14855         * tests/test-memchr2.c (main): Likewise.
14856         * tests/test-memrchr.c (main): Likewise.
14857         * tests/test-mkdir.c (main): Likewise.
14858         * tests/test-mkdirat.c (main): Likewise.
14859         * tests/test-mkfifoat.c (main): Likewise.
14860         * tests/test-open.c (main): Likewise.
14861         * tests/test-openat-safer.c (main): Likewise.
14862         * tests/test-openat.c (main): Likewise.
14863         * tests/test-quotearg.c (main): Likewise.
14864         * tests/test-rawmemchr.c (main): Likewise.
14865         * tests/test-readlink.c (main): Likewise.
14866         * tests/test-remove.c (main): Likewise.
14867         * tests/test-rename.c (main): Likewise.
14868         * tests/test-renameat.c (main): Likewise.
14869         * tests/test-rmdir.c (main): Likewise.
14870         * tests/test-sha1.c (main): Likewise.
14871         * tests/test-signal.c (main): Likewise.
14872         * tests/test-sigaction.c (main): Likewise.
14873         * tests/test-stat.c (main): Likewise.
14874         * tests/test-stat-time.c (main): Likewise.
14875         * tests/test-stddef.c (main): Likewise.
14876         * tests/test-stdint.c (main): Likewise.
14877         * tests/test-stdio.c (main): Likewise.
14878         * tests/test-stdlib.c (main): Likewise.
14879         * tests/test-strchrnul.c (main): Likewise.
14880         * tests/test-strerror.c (main): Likewise.
14881         * tests/test-string.c (main): Likewise.
14882         * tests/test-strtod.c (main): Likewise.
14883         * tests/test-strverscmp.c (main): Likewise.
14884         * tests/test-symlink.c (main): Likewise.
14885         * tests/test-symlinkat.c (main): Likewise.
14886         * tests/test-sys_stat.c (main): Likewise.
14887         * tests/test-sys_time.c (main): Likewise.
14888         * tests/test-time.c (main): Likewise.
14889         * tests/test-unistd.c (main): Likewise.
14890         * tests/test-unlink.c (main): Likewise.
14891         * tests/test-unlinkat.c (main): Likewise.
14892         * tests/test-utimens.c (main): Likewise.
14893         * tests/test-utimensat.c (main): Likewise.
14894         * tests/test-version-etc.c (main): Likewise.
14895         * tests/test-wchar.c (main): Likewise.
14896         * tests/test-wctype.c (main): Likewise.
14897         * tests/test-xprintf-posix.c (main): Likewise.
14898         * tests/test-posixtm.c (main): Likewise.
14899         (STREQ): Delete unused macro.
14900         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
14901         shadowed variables.
14902         * tests/test-memchr.c (main): Likewise.
14903
14904 2009-10-21  Eric Blake  <ebb9@byu.net>
14905
14906         areadlinkat: avoid failure on older glibc
14907         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
14908         rather than mis-comparing 0 against FUNC_RESULT of char*.
14909
14910 2009-10-21  Bruno Haible  <bruno@clisp.org>
14911
14912         * modules/stpncpy (License): Relicense under LGPLv2+.
14913         Reported by David Lutterkort <lutter@redhat.com>.
14914
14915 2009-10-20  Eric Blake  <ebb9@byu.net>
14916
14917         utimensat: work around Solaris 9 bug
14918         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
14919         has trailing slash bugs.
14920         * tests/test-lutimens.h (test_lutimens): Enhance test.
14921         * tests/test-utimens.h (test_utimens): Likewise.
14922         * doc/posix-functions/utime.texi (utime): Enhance documentation.
14923         * doc/posix-functions/utimes.texi (utimes): Likewise.
14924         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
14925         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
14926         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
14927         * doc/posix-functions/futimens.texi (futimens): Likewise.
14928
14929         fdutimensat: new module
14930         * modules/fdutimensat: New file.
14931         * lib/fdutimensat.c (fdutimensat): Likewise.
14932         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
14933         * MODULES.html.sh (File system functions): Mention module.
14934         * modules/fdutimensat-tests: New test.
14935         * tests/test-fdutimensat.c: Likewise.
14936
14937         doc: regenerate INSTALL
14938         * doc/INSTALL: Reflect recent autoconf update.
14939         * doc/INSTALL.ISO: Likewise.
14940         * doc/INSTALL.UTF-8: Likewise.
14941
14942 2009-10-20  Pádraig Brady  <P@draigBrady.com>
14943
14944         acl: warn if ACL support is not detected
14945         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
14946
14947 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
14948
14949         * lib/nproc.h: Add extern "C" block for C++.
14950
14951 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
14952             Bruno Haible  <bruno@clisp.org>
14953
14954         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
14955         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
14956         * doc/posix-functions/isalpha.texi: Likewise.
14957         * doc/posix-functions/isblank.texi: Likewise.
14958         * doc/posix-functions/iscntrl.texi: Likewise.
14959         * doc/posix-functions/isdigit.texi: Likewise.
14960         * doc/posix-functions/isgraph.texi: Likewise.
14961         * doc/posix-functions/islower.texi: Likewise.
14962         * doc/posix-functions/isprint.texi: Likewise.
14963         * doc/posix-functions/ispunct.texi: Likewise.
14964         * doc/posix-functions/isspace.texi: Likewise.
14965         * doc/posix-functions/isupper.texi: Likewise.
14966         * doc/posix-functions/isxdigit.texi: Likewise.
14967
14968 2009-10-18  Bruno Haible  <bruno@clisp.org>
14969
14970         Tests for module 'isblank'.
14971         * modules/isblank-tests: New file.
14972         * tests/test-isblank.c: New file.
14973
14974         New module 'isblank'.
14975         * lib/isblank.c: New file.
14976         * m4/isblank.m4: New file.
14977         * modules/isblank: New file.
14978         * doc/posix-functions/isblank.texi: Mention the new module.
14979
14980 2009-10-18  Bruno Haible  <bruno@clisp.org>
14981
14982         New module 'ctype'.
14983         * lib/ctype.in.h: New file.
14984         * m4/ctype.m4: New file.
14985         * modules/ctype: New file.
14986         * doc/posix-headers/ctype.texi: Mention the new module.
14987
14988 2009-10-18  Jim Meyering  <meyering@redhat.com>
14989
14990         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
14991         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
14992         right after its initialization, rather than farther down.
14993         Keeping these in close proximity makes it easier to ensure
14994         that each such variable is initialized.  E.g.,
14995
14996             LIB_CLOCK_GETTIME=
14997             AC_SUBST([LIB_CLOCK_GETTIME])
14998
14999         This change also increments these serial numbers.
15000         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
15001         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
15002         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15003
15004 2009-10-18  Bruno Haible  <bruno@clisp.org>
15005
15006         Don't let environment variables perturb build.
15007         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
15008         (gl_PREREQ_GETHRXTIME): ... not here.
15009
15010 2009-10-18  Bruno Haible  <bruno@clisp.org>
15011
15012         Avoid symlink attack in localcharset module.
15013         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
15014         (O_NOFOLLOW): Define fallback.
15015         (get_charset_aliases): Don't open the file if it is a symbolic link.
15016         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
15017         gl_FCNTL_H.
15018         (gl_FCNTL_H): Require it.
15019         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
15020         * modules/localcharset (Files): Add m4/fcntl_h.m4.
15021         Reported by Fergal Glynn <fglynn@veracode.com>.
15022
15023 2009-10-18  Bruno Haible  <bruno@clisp.org>
15024
15025         Implement nproc for mingw.
15026         * lib/nproc.c: Include <windows.h>
15027         (num_processors): On native Windows platforms, try GetSystemInfo.
15028
15029 2009-10-18  Bruno Haible  <bruno@clisp.org>
15030
15031         Implement nproc for IRIX.
15032         * lib/nproc.c: Include <sys/sysmp.h>.
15033         (num_processors): On IRIX systems, try sysmp.
15034         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
15035
15036 2009-10-18  Bruno Haible  <bruno@clisp.org>
15037
15038         Implement nproc for HP-UX.
15039         * lib/nproc.c: Include <sys/pstat.h>
15040         (num_processors): On HP-UX systems, try pstat_getdynamic.
15041         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
15042         pstat_getdynamic.
15043
15044 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
15045             Bruno Haible  <bruno@clisp.org>
15046
15047         Implement nproc for NetBSD, OpenBSD.
15048         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
15049         (ARRAY_SIZE): New macro.
15050         (num_processors): On BSD systems, try sysctl of HW_NCPU.
15051         * m4/nproc.m4: New file.
15052         * modules/nproc (Files): Add m4/nproc.m4.
15053         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
15054         (Makefile.am): Instead, augment lib_SOURCES.
15055
15056 2009-10-18  Bruno Haible  <bruno@clisp.org>
15057
15058         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
15059         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
15060         sys/param.h.
15061
15062 2009-10-16  Eric Blake  <ebb9@byu.net>
15063
15064         utimensat: new module
15065         * modules/utimensat: New file.
15066         * lib/utimensat.c (utimensat): Likewise.
15067         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
15068         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
15069         so we can work around Linux bugs.
15070         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
15071         * modules/sys_stat (Makefile.am): Substitute them.
15072         * lib/sys_stat.in.h (utimensat): Declare it.
15073         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15074         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
15075         * modules/utimensat-tests: New test.
15076         * tests/test-utimensat.c: Likewise.
15077
15078         utimens: let lutimens work on non-symlinks
15079         * lib/utimens.c (lutimens): Fall back to utimens rather than
15080         failing with ENOSYS, when file is not a symlink.
15081         (utimens): Reduce redirection.
15082         * tests/test-lutimens.h (test_lutimens): Update test to cover
15083         non-symlinks.
15084         * tests/test-utimens.h (test_utimens): Update test to cover
15085         symlinks.
15086         * tests/test-utimens.c (main): Update caller.
15087
15088         utimens: cache whether utimensat syscall works
15089         * lib/utimens.c (utimensat_works_really): New cache variable.
15090         (fdutimens, lutimens): Use it to avoid failing syscall.
15091
15092         test-stat-time, test-utimens: improve portability
15093         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
15094         ext4 on alpha, and for cygwin.
15095         * tests/test-utimens-common.h: New file.
15096         (nap): Factor delays into single function.
15097         * tests/test-lutimens.h (test_lutimens): Use new header.
15098         * tests/test-futimens.h (test_futimens): Likewise.
15099         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
15100         timestamps to occur from same machine, as was done previously for
15101         test_utimens.
15102         * modules/utimens-tests (Files): Ship new file.
15103         * modules/futimens-tests (Files): Likewise.
15104         Reported in part by Jim Meyering.
15105
15106         sys_stat: sort replacement declarations
15107         * lib/sys_stat.in.h: Sort declarations.
15108         * lib/futimens.c (futimens): Fix typo.
15109
15110 2009-10-15  Jim Meyering  <meyering@redhat.com>
15111
15112         don't let environment settings perturb build
15113         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
15114         could cause a configure-time and/or build-time malfunction.
15115         Typically, a configure-time function-in-library test is performed
15116         via code like this:
15117
15118           LIB_VAR=
15119           AC_SUBST([LIB_VAR])
15120           prefix_saved_LIBS=$LIBS
15121             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
15122                        [test "$ac_cv_search_FUNC" = "none required" ||
15123                         LIB_VAR=$ac_cv_search_FUNC])
15124           LIBS=$prefix_saved_LIBS
15125
15126         However, in each of the files affected by this change, the LIB_VAR=
15127         initialization was omitted.  Thus, when set in the environment, its
15128         value would propagate into generated Makefiles when FUNC is not found
15129         in LIB_NAME.
15130         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
15131         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
15132         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
15133
15134 2009-10-14  Eric Blake  <ebb9@byu.net>
15135
15136         fchdir: avoid infinite recursion in mingw
15137         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
15138         recursing.
15139
15140         test-stat-time: port to mingw
15141         * tests/test-stat-time.c (force_unlink): Return a value.
15142         (test_ctime) [W32]: Fix compilation error.
15143         (nap): Don't call usleep with too large an argument.  Use
15144         force_unlink.
15145         * doc/pastposix-functions/usleep.texi (usleep): Document the
15146         portability issue.
15147
15148 2009-10-13  Jim Meyering  <meyering@redhat.com>
15149
15150         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
15151         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
15152         * modules/pipe-filter-ii: Likewise.
15153         * modules/sys_socket-tests: Likewise.
15154         * modules/tsearch-tests: Likewise.
15155         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
15156         (check): Depend on it.
15157
15158 2009-10-12  Eric Blake  <ebb9@byu.net>
15159
15160         utimens-tests: port to NFS file systems
15161         * tests/test-utimens.h (test_utimens): Refactor utimecmp
15162         comparisons to avoid spurious failures from timestamp drift
15163         between NFS machines.
15164
15165 2009-10-12  Eric Blake  <ebb9@byu.net>
15166
15167         stat-time-tests: minor cleanups
15168         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
15169         * tests/test-stat-time.c (nap): Separate assignment from call.
15170         Suggested by Paolo Bonzini and Bruno Haible.
15171
15172         sys_stat: guarantee struct timespec
15173         * lib/sys_stat.in.h (includes): Always include <time.h>
15174         * modules/sys_stat (Depends-on): Add time.
15175         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
15176         mode_t permission values.
15177         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
15178         get at subsecond timestamps.
15179
15180 2009-10-10  Eric Blake  <ebb9@byu.net>
15181
15182         futimens: new module
15183         * modules/futimens: New file.
15184         * lib/futimens.c (futimens): Likewise.
15185         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
15186         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
15187         we can work around Linux bugs.
15188         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
15189         * modules/sys_stat (Makefile.am): Substitute them.
15190         * lib/sys_stat.in.h (futimens): Declare it.
15191         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15192         * doc/posix-functions/futimens.texi (futimens): Likewise.
15193         * modules/futimens-tests: New test.
15194         * tests/test-futimens.c: Likewise.
15195
15196         utimens: introduce fdutimens
15197         * lib/utimens.h (fdutimens): New prototype.
15198         * lib/utimens.c (gl_futimens): Move guts...
15199         (fdutimens): ...to new interface.
15200         * tests/test-utimens.c (do_fdutimens): Use it.
15201
15202         utimens: add UTIME_NOW and UTIME_OMIT support
15203         * lib/utimens.c (validate_timespec, update_timespec): New helper
15204         functions.
15205         (gl_futimens, lutimens): Use them.
15206         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
15207         stdbool, sys_stat.
15208         (Link): Mention resulting library dependency.
15209         * modules/utimecmp (Link): Likewise.
15210         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
15211         (Makefile.am): Pick up library dependency.
15212         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
15213         definition.
15214         * tests/test-sys_stat.c: Test the definitions.
15215         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
15216         * NEWS: Document library dependency.
15217
15218         utimecmp: support symlink timestamps
15219         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
15220         hashing when possible.  Use pathconf when available.
15221         (SYSCALL_RESOLUTION): Recognize tighter resolution.
15222         * modules/utimecmp (Depends-on): Add lstat.
15223
15224         utimens: add lutimens interface
15225         * lib/utimens.c (lutimens): New function.
15226         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
15227         * lib/utimens.h (lutimens): Declare new interface.
15228         * tests/test-utimens.c (main): Enhance test.
15229         * tests/test-lutimens.h (test_lutimens): New file.
15230         * modules/utimens-tests (Files): Distribute it.
15231         (Depends-on): Add symlink.
15232         (configure.ac): Check for usleep.
15233
15234         utimens: validate futimens usage
15235         * lib/utimens.c (gl_futimens): Require valid fd up front, using
15236         fewer syscalls on failure later on.  Avoid compiler warning on
15237         mingw.
15238         * modules/utimens (Depends-on): Add dup2.
15239
15240         utimens: add test
15241         * modules/utimens-tests: New test.
15242         * tests/test-utimens.h: New file.
15243         * tests/test-futimens.h: Likewise.
15244         * tests/test-utimens.c: Likewise.
15245
15246         doc: mention timestamp portability issues
15247         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
15248         instead.
15249         * doc/posix-functions/utime.texi (utime): Likewise.
15250         * doc/posix-functions/utimes.texi (utimes): Likewise.
15251         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
15252         instead.
15253         * doc/posix-functions/futimens.texi (futimens): Mention utimens
15254         module.
15255         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
15256         Mention weakness with symlink timestamps.
15257         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
15258         to utimensat/futimens instead.
15259         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
15260
15261         test-dup2: enhance test
15262         * tests/test-dup2.c (main): Also check AT_FDCWD.
15263
15264         test-stat-time: avoid more spurious failures
15265         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
15266         xfs; and avoid race if the two timestamps cross quantization edge.
15267
15268         relocatable: prefer 'file system' over 'filesystem'
15269         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
15270         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
15271         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
15272         * doc/relocatable.texi (Enabling Relocatability): Likewise.
15273         * lib/relocatable.c (compute_curr_prefix): Likewise.
15274
15275 2009-10-10  Jim Meyering  <meyering@redhat.com>
15276
15277         stat-time-tests: check for the usleep function
15278         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
15279
15280 2009-10-10  Bruno Haible  <bruno@clisp.org>
15281
15282         * modules/xnanosleep: Put the Link section after the Include section.
15283
15284 2009-10-09  Eric Blake  <ebb9@byu.net>
15285
15286         dup2: work around FreeBSD 6.1 bug
15287         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
15288         * doc/posix-functions/dup2.texi (dup2): Document it.
15289         Reported by Nelson H. F. Beebe and Jim Meyering.
15290
15291         test-stat-time: port to buggy NFS clients
15292         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
15293         (test_ctime): Also skip test if mtime and ctime are skewed.
15294
15295         maint: prefer 'file system' over 'filesystem'
15296         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
15297         * doc/posix-functions/lstat.texi (lstat): Likewise.
15298         * lib/file-has-acl.c (file_has_acl): Likewise.
15299         * lib/fwriteerror.c [TEST]: Likewise.
15300         * tests/test-areadlink.h (test_areadlink): Likewise.
15301         * tests/test-areadlinkat-with-size.c (main): Likewise.
15302         * tests/test-areadlinkat.c (main): Likewise.
15303         * tests/test-canonicalize-lgpl.c (main): Likewise.
15304         * tests/test-canonicalize.c (main): Likewise.
15305         * tests/test-fstatat.c (main): Likewise.
15306         * tests/test-linkat.c (main): Likewise.
15307         * tests/test-lstat.h (test_lstat_func): Likewise.
15308         * tests/test-mkdir.h (test_mkdir): Likewise.
15309         * tests/test-readlink.h (test_readlink): Likewise.
15310         * tests/test-remove.c (main): Likewise.
15311         * tests/test-rename.h (test_rename): Likewise.
15312         * tests/test-renameat.c (main): Likewise.
15313         * tests/test-rmdir.h (test_rmdir_func): Likewise.
15314         * tests/test-symlink.h (test_symlink): Likewise.
15315         * tests/test-symlinkat.c (main): Likewise.
15316         * tests/test-unlink.h (test_unlink_func): Likewise.
15317         * tests/test-unlinkat.c (main): Likewise.
15318
15319         maint: make realtime library usage explicit
15320         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
15321         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
15322         * modules/settime (Link): Likewise.
15323         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
15324
15325         test-stat-time: speed up execution
15326         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
15327         warning on mingw.
15328         (nap): New helper function.
15329         (prepare_test): Use it to reduce sleep time.
15330         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
15331         execution.
15332         * modules/stat-time-tests (configure.ac): Check for usleep.
15333
15334 2009-10-09  Jim Meyering  <meyering@redhat.com>
15335
15336         selinux-h: always use getfilecon wrappers
15337         * lib/getfilecon.c: New file.
15338         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
15339         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
15340         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
15341         (fgetfilecon): Provide a stub.
15342         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
15343         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
15344         file unconditionally.
15345         When <selinux/selinux.h> is found, arrange to use wrappers.
15346         * modules/selinux-h (Files): Add getfilecon.c.
15347         (Makefile.am): Substitute include-next-related bits
15348         into the now-always-generated selinux/selinux.h file.
15349         * doc/glibc-functions/lgetfilecon.texi: New file.
15350         * doc/glibc-functions/fgetfilecon.texi: New file.
15351         * doc/glibc-functions/getfilecon.texi: New file.
15352         * doc/glibc-functions/getfilecon-desc.texi: New file.
15353         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
15354         which to pull in the new files.
15355         * MODULES.html.sh (Misc): Add selinux-h.
15356
15357 2009-10-08  Jim Meyering  <meyering@redhat.com>
15358
15359         unistd: fix comment typo
15360         * lib/unistd.in.h (euidaccess): Fix a comment typo.
15361
15362 2009-10-08  Eric Blake  <ebb9@byu.net>
15363
15364         areadlink: use SIZE_MAX consistently
15365         * modules/areadlink (Depends-on): Add stdint.
15366         * modules/areadlink-with-size (Depends-on): Likewise.
15367         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
15368         gives NULL; drop sys/types, since unistd gives size_t; and add
15369         stdint for SIZE_MAX.
15370         (SIZE_MAX): Rely on headers.
15371         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
15372         and add stdint.
15373         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
15374         (SIZE_MAX): Likewise.
15375         (INITIAL_BUF_SIZE): Turn into enum.
15376         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
15377
15378 2009-10-08  Jim Meyering  <meyering@redhat.com>
15379
15380         areadlinkat: avoid compilation failure
15381         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
15382         Fix typo in comment.
15383
15384 2009-10-07  Eric Blake  <ebb9@byu.net>
15385
15386         areadlinkat-with-size: new module
15387         * modules/areadlinkat-with-size: New module.
15388         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
15389         * lib/areadlink.h (areadlinkat): Declare it.
15390         * MODULES.html.sh (File system functions): Mention it.
15391         * modules/areadlinkat-with-size-tests: New test.
15392         * tests/test-areadlinkat-with-size.c: New file.
15393
15394         xreadlinkat: new module
15395         * modules/xreadlinkat: New module.
15396         * lib/xreadlinkat.c (xreadlinkat): New file.
15397         * lib/xreadlink.h (xreadlinkat): Declare it.
15398         * MODULES.html.sh (File system functions): Mention it.
15399
15400         areadlinkat: new module
15401         * lib/at-func.c (FUNC_FAIL): New define.
15402         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
15403         * modules/areadlinkat: New module.
15404         * lib/linkat.c (areadlinkat): Move...
15405         * lib/areadlinkat.c (areadlinkat): ...to new file.
15406         * lib/areadlink.h (areadlinkat): Declare it.
15407         * modules/linkat (Depends-on): Add areadlinkat.
15408         * MODULES.html.sh (File system functions): Mention it.
15409         * modules/areadlinkat-tests: New test.
15410         * tests/test-areadlinkat.c: New file.
15411
15412         areadlink, areadlink-with-size: add tests
15413         * modules/areadlink-tests: New test.
15414         * modules/areadlink-with-size-tests: Likewise.
15415         * tests/test-areadlink.h: New file.
15416         * tests/test-areadlink.c: Likewise.
15417         * tests/test-areadlink-with-size.c: Likewise.
15418
15419         maint: minor cleanups
15420         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
15421         _UNUSED_PARAMETER_ instead.
15422         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
15423         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
15424         * modules/linkat-tests (Files): Distribute test-link.h.
15425
15426         openat, utimens: whitespace cleanup
15427         * lib/openat.c: Prefer space throughout, rather than mix of 8
15428         spaces vs. tabs.
15429         * lib/at-func.c: Likewise.
15430         * lib/utimens.c: Likewise.
15431
15432         openat: avoid using wrong fd
15433         * lib/openat.c (openat_permissive): Reject user's fd if saving the
15434         working directory chooses same fd.
15435         * lib/at-func.c (AT_FUNC_NAME): Likewise.
15436
15437         mkdir, mkdirat: fix cygwin 1.5.x bug
15438         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
15439         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
15440         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
15441         bug.
15442         (gl_PREREQ_MKDIR): Delete unused macro.
15443         * modules/mkdir (Files): Track file rename.
15444         (configure.ac): Update macro name.
15445         * modules/openat (Depends-on): Add mkdir.
15446         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
15447
15448         mkdir, mkdirat: add tests
15449         * modules/mkdir-tests: New test.
15450         * tests/test-mkdir.h: New file.
15451         * tests/test-mkdir.c: Likewise.
15452         * tests/test-mkdirat.c: Likewise.
15453         * modules/openat-tests (Files): Add new files.
15454         (Makefile.am): Run new test.
15455
15456 2009-10-06  Eric Blake  <ebb9@byu.net>
15457
15458         doc: tweak *at function documentation
15459         * doc/posix-functions/faccessat.texi (faccessat): Mention
15460         known issue with replacement.
15461         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
15462         * doc/posix-functions/linkat.texi (linkat): Likewise.
15463         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
15464         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
15465         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
15466         * doc/posix-functions/renameat.texi (renameat): Likewise.
15467         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
15468
15469         openat: fix GNU/Hurd bug in unlinkat
15470         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
15471         broken.
15472         * doc/posix-functions/unlink.texi (unlink): Document this.
15473         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
15474
15475         fdopendir: fix GNU/Hurd bug
15476         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
15477         allowing non-directory fds.
15478         * lib/fdopendir.c (rpl_fdopendir): Work around it.
15479         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
15480         * modules/dirent (Makefile.am): Substitute it.
15481         * lib/dirent.in.h (fdopendir): Declare replacement.
15482         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
15483         * tests/test-fdopendir.c (main): Test something other than
15484         /dev/null, since on Hurd that behaves like a directory.
15485
15486         test-symlink: port to GNU/Hurd
15487         * tests/test-symlink.h (test_symlink): Relax expected errno.
15488
15489         doc: tweak more cygwin information
15490         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
15491         now compatible with glibc.
15492         * doc/posix-functions/getopt.texi (getopt): Likewise.
15493
15494         getopt-gnu: add another test
15495         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
15496         guarantee behavior relied on by m4.
15497         * tests/test-getopt.c (main): Use it.
15498         * modules/getopt-posix-tests (Depends-on): Add setenv.
15499         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
15500
15501         getopt: fix compilation on darwin
15502         * lib/getopt.in.h (includes): Leave breadcrumbs during system
15503         include.
15504         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
15505         Reported by Ludovic Courtès.
15506
15507 2009-10-06  Bruno Haible  <bruno@clisp.org>
15508
15509         * modules/size_max (Description): Discourage its use.
15510         Reported by Simon Josefsson.
15511
15512 2009-10-06  Jim Meyering  <meyering@redhat.com>
15513
15514         linkat: avoid compilation failure
15515         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
15516
15517 2009-10-05  Eric Blake  <ebb9@byu.net>
15518
15519         linkat: support Linux 2.6.17
15520         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
15521         linkat on Linux, but allow cache variable override.
15522         * lib/linkat.c (rpl_linkat): Define override.
15523         * modules/linkat (Depends-on): Add symlinkat.
15524         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
15525         * modules/unistd (Makefile.am): Substitute it.
15526         * lib/unistd.in.h (linkat): Declare replacement.
15527         Reported by Pádraig Brady.
15528
15529         quotearg: port test to systems with C.UTF-8 locale
15530         * tests/test-quotearg.c (struct result_strings): Add another
15531         member, differentiating between C.ASCII and C.UTF-8 handling.
15532         (compare_strings): Add parameter.
15533         (main): Adjust all callers.
15534
15535         getopt: avoid clash with FreeBSD _getopt_internal
15536         * lib/getopt.in.h (_getopt_internal): Override the name.
15537         * lib/getopt_int.h (includes): Pick up any overrides.
15538         Reported by Reuben Thomas.
15539
15540         hash: allow C89 compilation
15541         * lib/hash.c (check_tuning): Move declaration before statement.
15542         Reported by Reuben Thomas.
15543
15544 2009-10-05  Karl Berry  <karl@gnu.org>
15545
15546         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
15547
15548 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
15549             Bruno Haible  <bruno@clisp.org>
15550
15551         * lib/uname.c (uname): Use a table-driven algorithm to compute
15552         Windows NT versions.
15553
15554 2009-10-04  Bruno Haible  <bruno@clisp.org>
15555
15556         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
15557         program_invocation_short_name.
15558         * modules/progname (configure.ac): Test for presence of
15559         program_invocation_short_name.
15560         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
15561
15562 2009-10-04  Bruno Haible  <bruno@clisp.org>
15563
15564         * lib/progname.c (set_program_name): Fix comment.
15565         Reported by Jim Meyering.
15566
15567 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
15568             Bruno Haible  <bruno@clisp.org>
15569
15570         * lib/uname.c: Include <string.h>.
15571         (uname): Do only one call to GetVersionEx in the common case.
15572
15573 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
15574             Bruno Haible  <bruno@clisp.org>
15575
15576         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
15577         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
15578         (uname): Add support for Windows CE and various non-x86 CPU types.
15579
15580 2009-10-03  Bruno Haible  <bruno@clisp.org>
15581
15582         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
15583         invocation to tests/configure.ac.
15584         Reported by Ian Beckwith <ianb@erislabs.net>.
15585
15586 2009-10-02  Eric Blake  <ebb9@byu.net>
15587
15588         fchdir: avoid compiler warning
15589         * lib/fchdir.c (canonicalize_file_name)
15590         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
15591
15592         test-open: support mingw errno values
15593         * tests/test-open.h (test_open): Relax test.
15594         * tests/test-fopen.h (test_fopen): Likewise.
15595         * tests/test-openat-safer.c (main): Likewise.
15596
15597         open: fix opening directory on mingw
15598         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
15599
15600         test-open: on GNU/Hurd, /dev/null is a directory
15601         * tests/test-fopen.h (main): Rename...
15602         (test_fopen): ...to this.  Use a guaranteed non-directory when
15603         confirming open behavior on trailing slash.
15604         * tests/test-openat-safer.c (main): Likewise.
15605         * tests/test-open.h (main): Likewise....
15606         (test_open): ...to this.
15607         * tests/test-fopen.c (main): Adjust caller.
15608         * tests/test-fopen-safer.c (main): Likewise.
15609         * tests/test-open.c (main): Likewise.
15610         * tests/test-fcntl-safer.c (main): Likewise.
15611         Reported by Samuel Thibault.
15612
15613         rename, fchdir: don't ignore chdir failure
15614         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
15615         * lib/rename.c (rpl_rename) [W32]: Likewise.
15616         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
15617         an empty destination directory if source cannot be renamed,
15618         although there is still possibility for failure.
15619         * doc/posix-functions/rename.texi (rename): Document the race.
15620         Reported by Jim Meyering.
15621
15622         maint: cleanup whitespace in recent commits
15623         * lib/rename.c (rpl_rename): Remove tabs.
15624         * tests/test-link.h (test_link): Likewise.
15625         * lib/fchdir.c (get_name): Likewise.
15626         Reported by Jim Meyering.
15627
15628 2009-10-02  Ben Pfaff  <blp@gnu.org>
15629
15630         relocatable-prog-wrapper: Add missing dependency on
15631         double-slash-root.
15632         * modules/relocatable-prog-wrapper: Add dependency.
15633         Reported by Ian Beckwith <ianb@erislabs.net>.
15634
15635 2009-10-02  Eric Blake  <ebb9@byu.net>
15636
15637         renameat: fix Solaris bugs
15638         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
15639         needed fixing.
15640         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
15641         * modules/stdio (Makefile.am): Substitute it.
15642         * lib/stdio.in.h (renameat): Declare replacement.
15643         * lib/renameat.c (rpl_renameat): Implement fix.
15644
15645         renameat: new module
15646         * modules/renameat: New file.
15647         * lib/renameat.c (renameat): Likewise.
15648         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
15649         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
15650         * modules/stdio (Makefile.am): Substitute them.
15651         * lib/stdio.in.h (renameat): Declare it.
15652         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15653         * doc/posix-functions/renameat.texi (renameat): Likewise.
15654         * modules/renameat-tests: New test.
15655         * tests/test-renameat.c: Likewise.
15656
15657         rename: fix mingw bugs
15658         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
15659         directory overwrite bugs.
15660
15661         rename: fix another cygwin 1.5 bug
15662         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
15663         checks.
15664         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
15665         unnecessary cygwin workarounds.  Also work around bug with moving
15666         full directory onto an empty one.
15667         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
15668
15669         rename-dest-slash: merge into rename module
15670         * modules/rename-dest-slash (Status): Mark obsolete.
15671         (Depends-on): Add rename.
15672         (Files): Let rename do it all.
15673         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
15674         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
15675         * m4/rename-dest-slash.m4: ...so this file can be deleted.
15676         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
15677         * lib/rename.c (rpl_rename): Update comments.
15678
15679         rename: fix cygwin 1.5.x bugs
15680         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
15681         * lib/rename.c (rpl_rename): Work around them.
15682         * modules/rename (Depends-on): Add same-inode.
15683
15684         rename: fix Solaris 10 bug
15685         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
15686         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
15687         was the only bug.
15688
15689         rename: fix Solaris 9 bug
15690         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
15691         on non-directory.  Avoid calling exit.
15692         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
15693         strdup.
15694         * modules/rename-tests (Depends-on): Drop lstat.
15695         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
15696         (gl_PREREQ_RENAME): Delete unused macro.
15697
15698         rename-dest-slash: fix NetBSD bug
15699         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
15700         links.
15701         * modules/rename-dest-slash (Depends-on): Add same-inode.
15702
15703         rename-tests: new test, exposes several platform bugs
15704         * modules/rename-tests: New file.
15705         * tests/test-rename.h: Likewise.
15706         * tests/test-rename.c: Likewise.
15707         * doc/posix-functions/rename.texi (rename): Improve documentation,
15708         including bugs that will eventually be fixed in gnulib.
15709
15710 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
15711
15712         * lib/uname.c: Include <stdlib.h>
15713         (uname): Assume version info is available.
15714
15715 2009-10-02  Jim Meyering  <meyering@redhat.com>
15716
15717         gnu-web-doc-update: correct --help output
15718         * build-aux/gnu-web-doc-update: Make --help output relevant.
15719
15720         gnu-web-doc-update: add standard options
15721         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
15722
15723         gnu-web-doc-update: New module.
15724         Use this script to automatically update the on-line web documentation
15725         for your GNU project at http://www.gnu.org/software/$pkg/manual/
15726         * modules/gnu-web-doc-update: New file, from coreutils.
15727         * build-aux/gnu-web-doc-update: New script.
15728
15729 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
15730
15731         link: LoadLibrary is not needed.
15732         * lib/link.c: Use GetModuleHandle.
15733
15734 2009-10-01  Eric Blake  <ebb9@byu.net>
15735
15736         getopt: bump serial number
15737         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
15738         change.
15739
15740         tests: tighten link, rmdir, and remove tests
15741         * tests/test-link.h (includes): No need to use <config.h> here.
15742         Clean up if directory hard link was created, otherwise test for
15743         trailing '.'.
15744         * tests/test-linkat.c (main): Simplify.
15745         * tests/test-remove.c (main): Enhance test for trailing '.'.
15746         * tests/test-rmdir.h (test_rmdir_func): Likewise.
15747
15748 2009-10-01  Jim Meyering  <meyering@redhat.com>
15749
15750         maint.mk: requiring "make major" was annoying, for a "minor" release.
15751         What is intended is "stable", to contrast with alpha and beta,
15752         so require "make stable", not "make major".
15753         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
15754         (get_tool_versions): Likewise.
15755         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
15756
15757 2009-09-30  Ben Pfaff  <blp@gnu.org>
15758
15759         Fix broken build of replacement for Windows tmpfile().
15760         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
15761         flags argument added along with the 'mkostemp' module.
15762
15763 2009-09-28  Bruno Haible  <bruno@clisp.org>
15764
15765         Avoid identifier clash with POSIX function 'remove' defined as a macro.
15766         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
15767         to 'remove_elt'.
15768         (gl_list_remove): Update.
15769         * lib/gl_list.c (gl_list_remove): Update.
15770         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
15771         to 'remove_elt'.
15772         (gl_oset_remove): Update.
15773         * lib/gl_list.c (gl_oset_remove): Update.
15774         Reported by Eric Blake.
15775
15776 2009-09-28  Eric Blake  <ebb9@byu.net>
15777
15778         doc: mention yet more cygwin 1.7 status
15779         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
15780         cygwin.
15781         * doc/glibc-functions/execvpe.texi (execvpe): New file.
15782         * doc/gnulib.texi (Glibc unistd.h): Mention it.
15783
15784         argp: fix test failure
15785         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
15786         that are not upper-case.  Pass correct range to tolower.
15787
15788 2009-09-27  Jim Meyering  <meyering@redhat.com>
15789
15790         test-yesno: work around sparc-dash here-document infelicity
15791         Without this change, the literal \177 byte in a here document
15792         would make dash 0.5.5.1-3 access uninitialized memory.
15793         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
15794         Instead, use a marker, "@", and filter through tr to create the desired
15795         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
15796
15797 2009-09-27  Bruno Haible  <bruno@clisp.org>
15798
15799         Disable untested support for new flavours of ACLs on AIX.
15800         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
15801         progress.
15802         * lib/set-mode-acl.c (qset_acl): Likewise.
15803
15804 2008-12-07  Bruno Haible  <bruno@clisp.org>
15805
15806         Add support for new flavours of ACLs on AIX. (Untested.)
15807         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
15808         (file_has_acl): Add support for newer AIX.
15809         * lib/set-mode-acl.c (qset_acl): Likewise.
15810         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
15811         Rainer Tammer <tammer@tammer.net>.
15812
15813 2009-09-26  Eric Blake  <ebb9@byu.net>
15814
15815         argp: fix compilation of getopt
15816         * lib/getopt.in.h (includes): Use different guard than glibc.
15817         Reported by Sergey Poznyakoff.
15818
15819         doc: mention more cygwin 1.7 status
15820         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
15821         bug.
15822         * doc/posix-functions/execl.texi (execl): Likewise.
15823         * doc/posix-functions/execle.texi (execle): Likewise.
15824         * doc/posix-functions/execlp.texi (execlp): Likewise.
15825         * doc/posix-functions/execv.texi (execv): Likewise.
15826         * doc/posix-functions/execve.texi (execve): Likewise.
15827         * doc/posix-functions/execvp.texi (execvp): Likewise.
15828         * doc/glibc-functions/canonicalize_file_name.texi
15829         (canonicalize_file_name): Cygwin 1.7 now provides this.
15830         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
15831         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
15832         on AT_SYMLINK_NOFOLLOW.
15833
15834 2009-09-24  Eric Blake  <ebb9@byu.net>
15835
15836         test-linkat: make test more robust
15837         * tests/test-linkat.c (main): Avoid collision with EEXIST.
15838
15839         getopt: fix inclusion guards for cygwin
15840         * modules/getopt-posix (Depends-on): Add include-next.
15841         (Makefile.am): Substitute more items in replacement header.
15842         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
15843         <getopt.h>.
15844         * lib/getopt.in.h (includes): Use split inclusion guard, and
15845         prefer <getopt.h> over include <unistd.h> when one is present.
15846         (option): Also override name of 'struct option'.
15847
15848         same-inode: revert prior change; it is not yet ready
15849         * NEWS: Undo mention of this change.
15850         * lib/same-inode.h (same-inode.h): Undo tri-state change.
15851         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
15852         * lib/cycle-check.c (cycle_check): Likewise.
15853         * lib/same.c (same_name): Likewise.
15854         * lib/at-func2.c (at_func2): Likewise.
15855
15856 2009-09-23  Eric Blake  <ebb9@byu.net>
15857
15858         linkat: new module
15859         * modules/linkat: New file.
15860         * lib/at-func2.c (at_func2): Likewise.
15861         * lib/linkat.c (linkat): Likewise.
15862         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
15863         * lib/openat-priv.h (at_func2): Add declaration.
15864         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
15865         * modules/unistd (Makefile.am): Substitute them.
15866         * lib/unistd.in.h (linkat): Declare it.
15867         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
15868         * doc/posix-functions/linkat.texi (linkat): Likewise.
15869         * doc/posix-functions/link.texi (link): Tweak wording.
15870         * tests/test-link.c (main): Move guts...
15871         * tests/test-link.h (test_link): ...into new file.
15872         * modules/linkat-tests: New test.
15873         * tests/test-linkat.c: Likewise.
15874         * modules/link-tests (Files): Ship new file.
15875         (Depends-on): Add stdbool.
15876
15877         dirname: add library-safe mdir_name
15878         * lib/dirname.h (mdir_name): New prototype.
15879         * lib/dirname.c (dir_name): Move guts...
15880         (mdir_name): ...to new function that avoids xalloc_die.
15881
15882         fchdir: another mingw fix
15883         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
15884         * lib/fchdir.c (get_name): New helper method; skips canonicalize
15885         on mingw (where it has not yet been ported), and make it optional
15886         elsewhere.
15887         (_gl_register_fd): Use it.
15888
15889         same-inode: make SAME_INODE tri-state, to port to mingw
15890         * NEWS: Mention this change.
15891         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
15892         st_ino always being 0.
15893         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
15894         * lib/cycle-check.c (cycle_check): Likewise.
15895         * lib/same.c (same_name): Likewise.
15896
15897         lstat: avoid mingw compilation error
15898         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
15899         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
15900         lstat ourselves.
15901         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
15902         was adequate.
15903         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
15904         the checks for lstat.
15905         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
15906
15907         link: fix test failure on Solaris 9
15908         * lib/link.c (rpl_link): Don't assume link will catch bogus
15909         trailing slash on source.
15910
15911         test-symlinkat: enhance test
15912         * tests/test-readlink.c (main): Move guts...
15913         * tests/test-readlink.h (test_readlink): ...into new file.
15914         * tests/test-symlink.c (main): Move guts...
15915         * tests/test-symlink.h (test_symlink): ...into new file.
15916         * tests/test-symlinkat.c (main): Use new files for further
15917         coverage.
15918         (do_symlink, do_readlink): New helper functions.
15919         * modules/symlink-tests (Files): Ship new file.
15920         (Depends-on): Add stdbool.
15921         * modules/readlink-tests (Files): Ship new file.
15922         (Depends-on): Add stdbool.
15923         * modules/symlinkat-tests (Files): Use new files.
15924
15925 2009-09-23  Eric Blake  <ebb9@byu.net>
15926
15927         readlink: document portability issue with symlink length
15928         * doc/posix-functions/lstat.texi (lstat): Mention that some file
15929         systems have bogus st_size on symlinks, and mention the
15930         areadlink-with-size module.
15931         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
15932         * doc/posix-functions/readlink.texi (readlink): Mention the
15933         areadlink module, and ERANGE failure.
15934         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
15935         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
15936
15937         readlink: fix Solaris 9 bug with trailing slash
15938         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
15939         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
15940         * doc/posix-functions/readlink.texi (readlink): Document this.
15941         * modules/readlink-tests: New test.
15942         * tests/test-readlink.c: Likewise.
15943
15944         readlink: fix cygwin 1.5.x bug with return type
15945         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
15946         * lib/unistd.in.h (readlink): Use ssize_t.
15947         * lib/readlink.c (readlink): Likewise.
15948         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
15949         * modules/unistd (Makefile.am): Substitute it.
15950         * lib/unistd.in.h (readlink): Declare replacement.
15951         * doc/posix-functions/readlink.texi (readlink): Document this.
15952
15953         symlink: use throughout gnulib
15954         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
15955         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
15956         symlink is not used.
15957         * modules/symlinkat (Depends-on): Add symlink.
15958         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
15959         * modules/canonicalize-tests (Depends-on): Likewise.
15960         * modules/lstat-tests (Depends-on): Likewise.
15961         * modules/openat-tests (Depends-on): Likewise.
15962         * modules/remove-tests (Depends-on): Likewise.
15963         * modules/rmdir-tests (Depends-on): Likewise.
15964         * modules/unlink-tests (Depends-on): Likewise.
15965         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
15966         * tests/test-canonicalize.c (symlink): Likewise.
15967         * tests/test-fstatat.c (symlink): Likewise.
15968         * tests/test-lstat.c (symlink): Likewise.
15969         * tests/test-remove.c (symlink): Likewise.
15970         * tests/test-rmdir.c (symlink): Likewise.
15971         * tests/test-unlink.c (symlink): Likewise.
15972         * tests/test-unlinkat.c (symlink): Likewise.
15973
15974         symlink: new module, for Solaris 9 bug
15975         * modules/symlink: New file.
15976         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
15977         * lib/symlink.c: Likewise.
15978         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
15979         * modules/unistd (Makefile.am): Substitute them.
15980         * lib/unistd.in.h (symlink): Declare replacement.
15981         * MODULES.html.sh (File system functions): Mention it.
15982         * doc/posix-functions/symlink.texi (symlink): Likewise.
15983         * modules/symlink-tests: New test.
15984         * tests/test-symlink.c: Likewise.
15985
15986 2009-09-23  Bruno Haible  <bruno@clisp.org>
15987
15988         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
15989         when needed.
15990         Test case: gnulib-tool --import --with-tests atexit inttypes.
15991         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
15992
15993 2009-09-23  Bruno Haible  <bruno@clisp.org>
15994
15995         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
15996         subcommand, not in a subshell.
15997
15998 2009-09-22  Eric Blake  <ebb9@byu.net>
15999
16000         unistd: sort replacement declarations
16001         * lib/unistd.in.h: Sort declarations.
16002
16003         open, openat: minor optimization
16004         * lib/open.c (open): If open succeeded, len is non-zero.
16005         * lib/openat.c (rpl_openat): Likewise.
16006
16007         link-follow: ensure correct result
16008         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
16009         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
16010         distinguish between possible failures.
16011
16012 2009-09-21  Eric Blake  <ebb9@byu.net>
16013
16014         fts: avoid compiler warning
16015         * lib/fts.c (dirent_inode_sort_may_be_useful)
16016         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
16017
16018 2009-09-19  Bruno Haible  <bruno@clisp.org>
16019
16020         * lib/progreloc.c (canonicalize_file_name): New declaration.
16021
16022 2009-09-19  Eric Blake  <ebb9@byu.net>
16023
16024         link: fix quoting
16025         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
16026
16027         openat: fix openat bugs on Solaris 9
16028         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
16029         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
16030         * modules/openat (Depends-on): Add open.
16031         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
16032         * modules/fcntl-h (Makefile.am): Substitute it.
16033         * lib/fcntl.in.h (openat): Declare replacement.
16034         * doc/posix-functions/openat.texi (openat): Document this.
16035
16036         openat: move fstatat and unlinkat into correct files
16037         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
16038         compiled.
16039         * lib/openat.c (fstatat, unlinkat): Move...
16040         * lib/fstatat.c (fstatat): ...into correct files.
16041         * lib/unlinkat.c (unlinkat): Likewise.
16042
16043         openat: fix unlinkat bugs on Solaris 9
16044         * lib/unlinkat.c (unlinkat): New file.
16045         * modules/openat (Depends-on): Add unlink.
16046         (Files): Distribute it.
16047         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
16048         trailing slash behavior is broken.
16049         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16050         * modules/unistd (Makefile.am): Substitute it.
16051         * lib/unistd.in.h (unlinkat): Declare replacement.
16052         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
16053
16054         openat: fix fstatat bugs on Solaris 9
16055         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
16056         stat.
16057         * doc/posix-functions/fstatat.texi (fstatat): Document this.
16058
16059         test-unlinkat: enhance test, to expose Solaris 9 bug
16060         * tests/test-unlink.c (main): Factor guts...
16061         * tests/test-unlink.h (test_rmdir_func): ...into new file.
16062         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
16063         * tests/test-rmdir.c (main): Adjust caller.
16064         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
16065         (unlinker): New helper function.
16066         (rmdirat): Enhance check.
16067         * modules/rmdir-tests (Depends-on): Add stdbool.
16068         * modules/unlink-tests (Depends-on): Likewise.
16069         (Files): Add test-unlink.h.
16070         * modules/openat-tests (Files): Likewise.
16071         (Depends-on): Add unlinkdir.
16072
16073         test-fstatat: new test, to expose Solaris 9 bugs
16074         * tests/test-stat.c (main): Factor guts...
16075         * tests/test-stat.h (test_stat_func): ...into new file.
16076         * tests/test-lstat.c (main): Factor guts...
16077         * tests/test-lstat.h (test_lstat_func): ...into new file.
16078         * tests/test-fstatat.c: New file.
16079         * modules/stat-tests (Files): Add test-stat.h.
16080         * modules/lstat-tests (Files): Add test-lstat.h.
16081         (Depends-on): Add stdbool.
16082         * modules/openat-tests (Depends-on): Add pathmax.
16083         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
16084         (Makefile.am): Run new test.
16085
16086         remove: new module, for mingw and Solaris 9 bugs
16087         * modules/remove: New file.
16088         * lib/remove.c: Likewise.
16089         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
16090         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
16091         * modules/stdio (Makefile.am): Use them.
16092         * lib/stdio.in.h (remove): Declare replacement.
16093         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16094         * doc/posix-functions/remove.texi (remove): Likewise.
16095         * modules/remove-tests: New test.
16096         * tests/test-remove.c: Likewise.
16097
16098         unlink: new module, for Solaris 9 bug
16099         * modules/unlink: New file.
16100         * lib/unlink.c: Likewise.
16101         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
16102         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
16103         * modules/unistd (Makefile.am): Use them.
16104         * lib/unistd.in.h (stat): Declare replacement.
16105         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16106         * doc/posix-functions/unlink.texi (unlink): Likewise.
16107         * modules/unlink-tests: New test.
16108         * tests/test-unlink.c: Likewise.
16109
16110         lstat: fix Solaris 9 bug
16111         * lib/lstat.c (lstat): Also check for trailing slash on
16112         non-symlink, non-directories.  Use stat module to simplify logic.
16113         * doc/posix-functions/lstat.texi (lstat): Document it.
16114         * modules/lstat-tests (Depends-on): Add errno, same-inode.
16115         (configure.ac): Check for symlink.
16116         * tests/test-lstat.c (main): Add more tests.
16117
16118         stat: add as dependency to other modules
16119         * modules/chown (Depends-on): Add stat.
16120         * modules/euidaccess (Depends-on): Likewise.
16121         * modules/fchdir (Depends-on): Likewise.
16122         * modules/isdir (Depends-on): Likewise.
16123         * modules/link (Depends-on): Likewise.
16124         * modules/lstat (Depends-on): Likewise.
16125         * modules/mkdir-p (Depends-on): Likewise.
16126         * modules/modechange (Depends-on): Likewise.
16127         * modules/open (Depends-on): Likewise.
16128         * modules/readlink (Depends-on): Likewise.
16129         * modules/same (Depends-on): Likewise.
16130
16131         stat: fix Solaris 9 bug
16132         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
16133         slash.
16134         * lib/stat.c (rpl_stat): Work around it.
16135         * doc/posix-functions/stat.texi (stat): Update documentation.
16136
16137         stat: new module, for mingw bug
16138         * modules/stat: New file.
16139         * lib/stat.c: Likewise.
16140         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
16141         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
16142         * modules/sys_stat (Makefile.am): Use them.
16143         * lib/sys_stat.in.h (stat): Declare replacement.
16144         * lib/openat.c (fstatat): Deal with lstat and stat being function
16145         macros.
16146         * modules/openat (Depends-on): Add inline.
16147         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
16148         * doc/posix-functions/stat.texi (stat): Likewise.
16149         * modules/stat-tests: New test.
16150         * tests/test-stat.c: Likewise.
16151
16152 2009-09-19  Jim Meyering  <meyering@redhat.com>
16153
16154         syntax-check: detect unnecessary inclusion of canonicalize.h
16155         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
16156
16157 2009-09-19  Eric Blake  <ebb9@byu.net>
16158
16159         canonicalize-lgpl: adjust clients to use correct header
16160         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
16161         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
16162         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
16163         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
16164         * lib/progreloc.c (includes): Likewise.
16165
16166 2009-09-19  Jim Meyering  <meyering@redhat.com>
16167
16168         test-posixtm.c: correct a comment
16169         * tests/test-posixtm.c: Correct first-line comment.
16170         Spotted by Eric Blake.
16171
16172 2009-09-16  Jim Meyering  <meyering@redhat.com>
16173
16174         posixtm-tests: make T const-correct; add a test case
16175         * tests/test-posixtm.c (T): Declare const.
16176         Add a test for -(2^31+1).
16177         Remove useless can-succeed-only-in-2002 test.
16178
16179         posixtm-tests: adjust the sole failing test
16180         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
16181         expected output matches what mktime now produces.  Cross-checked via
16182         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
16183
16184         posixtm: move #ifdef'd tests into a new module
16185         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
16186         * tests/test-posixtm.c: ... this new file.
16187         * modules/posixtm-tests: New module.
16188
16189 2009-09-19  Eric Blake  <ebb9@byu.net>
16190
16191         openat: simplify use of at-func.c
16192         * lib/at-func.c (includes): Include prerequisites here, to
16193         simplify requirements on client files.
16194         * lib/openat-priv.h: Add double-inclusion guard.
16195         * lib/faccessat.c (includes): Simplify.
16196         * lib/fchmodat.c (includes): Likewise.
16197         * lib/fchownat.c (includes): Likewise.
16198         * lib/mkdirat.c (includes): Likewise.
16199         * lib/mkfifoat.c (includes): Likewise.
16200         * lib/symlinkat.c (includes): Likewise.
16201
16202         openat: allow return of fd 0
16203         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
16204         * modules/save-cwd (Depends-on): Replace fcntl-safer with
16205         unistd-safer.
16206         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
16207         <fcntl.h>; this module does not leak fds.
16208         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
16209         must be allowed to return 0, leaving openat_safer to add the
16210         safety.
16211         (openat_permissive): Avoid writing to just-opened fd 2 if
16212         restoring the current directory fails.
16213         * lib/openat-die.c (openat_restore_fail): Add comment.
16214         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
16215         (save_cwd): Guarantee safe fd, but without use of open_safer.
16216         * tests/test-openat.c: New test.
16217         * modules/openat-tests (Files, Makefile.am): Distribute and build
16218         new file.
16219
16220         relocatable-prog-wrapper: fix build
16221         * modules/relocatable-prog-wrapper (Files): Update name of
16222         canonicalize m4 file, broken on 2009-09-17.
16223         Reported by emad hajjar <aleppos@hotmail.com>.
16224
16225 2009-09-19  Bruno Haible  <bruno@clisp.org>
16226
16227         * lib/safe-alloc.h: Use the standard header with GPL copyright.
16228         * lib/safe-alloc.c: Likewise.
16229         Reported by Ian Beckwith <ianb@erislabs.net>.
16230
16231 2009-09-18  Bruno Haible  <bruno@clisp.org>
16232
16233         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
16234         Reported by <erobles@sensacd.com.mx>.
16235
16236 2009-09-17  Eric Blake  <ebb9@byu.net>
16237
16238         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
16239         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
16240         slashes when checking if last component is missing.
16241         * tests/test-canonicalize.c (main): Test this.
16242
16243         canonicalize, canonicalize-lgpl: honor // if distinct from /
16244         * modules/canonicalize (Files): Add double-slash-root.m4.
16245         * modules/canonicalize-lgpl (Files): Likewise.
16246         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
16247         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
16248         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
16249         fallback definition.
16250         (canonicalize_filename_mode): Use it to protect //.
16251         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
16252         (__realpath): Likewise.
16253         * tests/test-canonicalize.c (main): Test this.
16254         * tests/test-canonicalize-lgpl.c (main): Likewise.
16255         * modules/canonicalize-tests (Depends-on): Add same-inode.
16256         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
16257
16258         canonicalize-lgpl: fix glibc bug with trailing slash
16259         * m4/canonicalize-lgpl.m4: Move contents...
16260         * m4/canonicalize.m4: ...here.
16261         (gl_CANONICALIZE_LGPL): Factor realpath check...
16262         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
16263         glibc 2.3.5 bug, fixed 2005-04-27.
16264         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
16265         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
16266         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
16267         * modules/canonicalize-lgpl (Files): Manage file rename.
16268         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
16269         * modules/stdlib (Makefile.am): Substitute witness.
16270         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
16271         is needed.
16272         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
16273         replacement is required.
16274         * lib/canonicalize.c (canonicalize_file_name): Likewise.
16275         * doc/glibc-functions/canonicalize_file_name.texi
16276         (canonicalize_file_name): Document this.
16277         * doc/posix-functions/realpath.texi (realpath): Likewise.
16278
16279         canonicalize-lgpl: reject non-directory with trailing slash
16280         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
16281         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
16282         catches failures in glibc 2.3.5.
16283         * tests/test-canonicalize.c (main): Likewise.
16284
16285         canonicalize-lgpl: use native realpath if it works
16286         * lib/canonicalize-lgpl.c (realpath): Guard with
16287         FUNC_REALPATH_WORKS.
16288         * lib/stdlib.in.h (realpath): Make declaration optional based on
16289         HAVE_REALPATH.
16290         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
16291         native realpath works.
16292         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
16293         * modules/stdlib (Makefile.am): Substitute witness.
16294
16295         canonicalize, canonicalize-lgpl: use <stdlib.h>
16296         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
16297         (Include): Mention <stdlib.h>.
16298         (configure.ac): Mention functions we provide.
16299         * modules/canonicalize (configure.ac): Likewise.
16300         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
16301         realpath if canonicalize_file_name is missing.
16302         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
16303         * modules/stdlib (Makefile.am): Substitute witnesses.
16304         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
16305         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
16306         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
16307         * NEWS: Document this.
16308         * doc/glibc-functions/canonicalize_file_name.texi
16309         (canonicalize_file_name): Likewise.
16310         * doc/posix-functions/realpath.texi (realpath): Likewise.
16311         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
16312
16313         test-canonicalize: consolidate into single C program
16314         * tests/test-canonicalize.sh: Delete; move setup into...
16315         * tests/test-canonicalize.c (main): ...the program, making it
16316         easier to run in debugger.  Add some tests.
16317         * modules/canonicalize-tests (Files): Remove unused file.
16318         (Depends-on): Add progname.
16319         (configure.ac, Makefile.am): Simplify.
16320
16321         test-canonicalize-lgpl: consolidate into single C program
16322         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
16323         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
16324         easier to run in debugger.  Add some tests.
16325         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
16326         (configure.ac, Makefile.am): Simplify.
16327
16328         canonicalize: avoid resolvepath
16329         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
16330         unnecessary checks.
16331         * lib/canonicalize.c (includes): Simplify.
16332         (canonicalize_file_name): Drop resolvepath implementation.
16333         * modules/canonicalize (Depends-on): Drop filenamecat.
16334
16335         canonicalize: don't lose errno
16336         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
16337         over calls to free.
16338
16339         canonicalize: simplify errno handling
16340         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
16341         assignment.
16342
16343         canonicalize, canonicalize-lgpl: update module dependencies
16344         * modules/canonicalize (Depends-on): Add extensions, lstat,
16345         pathmax, stdlib.
16346         (Files): Drop pathmax.h.
16347         (configure.ac): Adjust macro name.
16348         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
16349         lstat, stdlib, sys_stat.
16350         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
16351         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
16352         extensions.
16353         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
16354         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
16355         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
16356         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
16357         declaration, if available.
16358         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
16359         we can rely on the readlink module.
16360         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
16361         (includes): Use <unistd.h> unconditionally.
16362
16363 2009-09-17  Eric Blake  <ebb9@byu.net>
16364
16365         maint: make Include sections of modules consistent
16366         * modules/alloca: Use only header name; no need to list #include.
16367         * modules/alloca-opt: Likewise.
16368         * modules/arpa_inet: Likewise.
16369         * modules/canon-host: Likewise.
16370         * modules/configmake: Likewise.
16371         * modules/dirent: Likewise.
16372         * modules/eealloc: Likewise.
16373         * modules/environ: Likewise.
16374         * modules/fchdir: Likewise.
16375         * modules/fcntl: Likewise.
16376         * modules/fcntl-h: Likewise.
16377         * modules/gethrxtime: Likewise.
16378         * modules/gettime: Likewise.
16379         * modules/ignore-value: Likewise.
16380         * modules/inet_ntop: Likewise.
16381         * modules/inet_pton: Likewise.
16382         * modules/inttypes: Likewise.
16383         * modules/isnand-nolibm: Likewise.
16384         * modules/isnanf-nolibm: Likewise.
16385         * modules/mbchar: Likewise.
16386         * modules/mbfile: Likewise.
16387         * modules/mbiter: Likewise.
16388         * modules/mbuiter: Likewise.
16389         * modules/netdb: Likewise.
16390         * modules/netinet_in: Likewise.
16391         * modules/nproc: Likewise.
16392         * modules/pagealign_alloc: Likewise.
16393         * modules/poll: Likewise.
16394         * modules/printf-frexp: Likewise.
16395         * modules/pthread: Likewise.
16396         * modules/putenv: Likewise.
16397         * modules/random_r: Likewise.
16398         * modules/relocatable-prog: Likewise.
16399         * modules/search: Likewise.
16400         * modules/select: Likewise.
16401         * modules/selinux-h: Likewise.
16402         * modules/settime: Likewise.
16403         * modules/signal: Likewise.
16404         * modules/size_max: Likewise.
16405         * modules/socklen: Likewise.
16406         * modules/ssize_t: Likewise.
16407         * modules/stdarg: Likewise.
16408         * modules/stdbool: Likewise.
16409         * modules/stddef: Likewise.
16410         * modules/stdint: Likewise.
16411         * modules/stdio: Likewise.
16412         * modules/stdlib: Likewise.
16413         * modules/string: Likewise.
16414         * modules/strings: Likewise.
16415         * modules/sys_file: Likewise.
16416         * modules/sys_ioctl: Likewise.
16417         * modules/sys_select: Likewise.
16418         * modules/sys_socket: Likewise.
16419         * modules/sys_stat: Likewise.
16420         * modules/sys_time: Likewise.
16421         * modules/sys_times: Likewise.
16422         * modules/sys_utsname: Likewise.
16423         * modules/sys_wait: Likewise.
16424         * modules/sysexits: Likewise.
16425         * modules/time: Likewise.
16426         * modules/times: Likewise.
16427         * modules/tmpfile: Likewise.
16428         * modules/trim: Likewise.
16429         * modules/unistd: Likewise.
16430         * modules/wchar: Likewise.
16431         * modules/wctype: Likewise.
16432
16433 2009-09-17  Bruno Haible  <bruno@clisp.org>
16434
16435         Make getdate.y compile on QNX and NetBSD 5 / i386.
16436         * m4/getdate.m4 (gl_GETDATE): Conditionally define
16437         TIME_T_FITS_IN_LONG_INT.
16438         * lib/getdate.y (long_time_t): New type.
16439         (relative_time): Change type of 'seconds' field to long_time_t.
16440         (get_date): Update types of local variables. Check against overflow
16441         during conversion from long_time_t to time_t.
16442         Reported by Matt Kraai <kraai@ftbfs.org>
16443         and Hasso Tepper <hasso@netbsd.org>.
16444
16445 2009-09-17  Bruno Haible  <bruno@clisp.org>
16446
16447         * modules/COPYING: Update copyright years.
16448         * modules/README: Likeiwse.
16449         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
16450         Reported by Ian Beckwith <ianb@erislabs.net>.
16451
16452 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
16453
16454         * users.txt: Update references for gnuit package.
16455
16456 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
16457
16458         * m4/getdelim.m4: Fix typo in copyright line.
16459
16460 2009-09-17  Bruno Haible  <bruno@clisp.org>
16461
16462         * lib/atoll.c: Use the standard header with GPL copyright.
16463         * lib/argz.in.h: Likewise.
16464         * lib/glob.c: Likewise.
16465         * lib/glob-libc.h: Likewise.
16466         * lib/random_r.c: Likewise.
16467         * lib/siglist.h: Likewise.
16468         * lib/strsignal.c: Likewise.
16469         Reported by Ian Beckwith <ianb@erislabs.net>.
16470
16471 2009-09-17  Eric Blake  <ebb9@byu.net>
16472
16473         rmdir: ensure correct dependency order
16474         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
16475
16476 2009-09-17  Bruno Haible  <bruno@clisp.org>
16477
16478         Disable assertion that fails on NetBSD 5 / i386.
16479         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
16480         Reported by Sam Steingold <sds@gnu.org>
16481         and Hasso Tepper <hasso@netbsd.org>.
16482
16483 2009-09-16  Eric Blake  <ebb9@byu.net>
16484
16485         unlinkdir: port to mingw
16486         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
16487         on which no one can unlink a directory.
16488
16489         stdlib: sort witness names
16490         * modules/stdlib (Makefile.am): Sort replacements.
16491         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
16492         * lib/stdlib.in.h: Likewise.
16493
16494         parse-duration-tests: avoid link failure
16495         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
16496         LIBINTL.
16497         Reported by Tom G. Christensen.
16498
16499         openat-tests: ensure unlinkat behaves like rmdir
16500         * tests/test-rmdir.c (main): Factor guts...
16501         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
16502         * modules/rmdir-tests (Files): Ship new file.
16503         * modules/openat-tests: New test.
16504         * tests/test-unlinkat.c: Likewise.
16505
16506         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
16507         * modules/rmdir-errno (Status, Notice): Now obsolete.
16508
16509         rmdir: work around cygwin 1.5.x and mingw bugs
16510         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
16511         * lib/rmdir.c (rmdir): Work around it.
16512         * modules/rmdir (Status, Notice): No longer obsolete.
16513         (Files): Add dos.m4.
16514         (Depends-on): Add unistd.
16515         (configure.ac): Set witnesses.
16516         (License): Relax to LGPLv2+.
16517         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
16518         * modules/unistd (Makefile.am): Substitute witnesses.
16519         * lib/unistd.in.h (rmdir): Declare replacement.
16520         * doc/posix-functions/rmdir.texi (rmdir): Document this.
16521         * modules/rmdir-tests: New tests.
16522         * tests/test-rmdir.c: Likewise.
16523
16524 2009-09-15  Eric Blake  <ebb9@byu.net>
16525
16526         fchdir: improve use of replacement functions
16527         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
16528         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
16529         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
16530         REPLACE_CLOSEDIR.
16531         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
16532         * modules/sys_stat (Makefile.am): Substitute correct witness.
16533         * modules/dirent (Makefile.am): Likewise.
16534         * modules/unistd (Makefile.am): Likewise.
16535         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
16536         * lib/unistd.in.h (dup): Likewise.
16537         * lib/sys_stat.in.h (fstat): Likewise.
16538
16539         maint: ignore gnulib-tool temp files
16540         * .gitignore: Ignore files created during gnulib-tool --test.
16541
16542 2009-09-13  Jim Meyering  <meyering@redhat.com>
16543
16544         posixtm: don't reject a time that specify "60" as the number of seconds
16545         * lib/posixtm.c (posixtime): The code to reject invalid dates
16546         would also reject a time specified with the .60 suffix.
16547         But POSIX allows that, in order to accommodate leap seconds.
16548         So don't reject it.
16549         (main): Adjust tests accordingly.
16550         * modules/posixtm (Depends-on): Add stpcpy.
16551
16552 2009-09-11  Jim Meyering  <meyering@redhat.com>
16553
16554         announce-gen: include [$release_type] in emitted Subject:
16555         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
16556         e.g., [stable] in the emitted Subject: line.
16557
16558 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
16559
16560         Remove obsolete macros from several modules.
16561         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
16562         obsolete Autoconf macros with their modern counterparts.
16563         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
16564         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
16565         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
16566         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
16567         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
16568         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
16569         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
16570         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
16571         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
16572         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
16573         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16574         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16575         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
16576         * m4/sockets.m4 (gl_SOCKETS): Likewise.
16577         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
16578         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
16579         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
16580         * m4/time_r.m4 (gl_TIME_R): Likewise.
16581         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
16582         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
16583         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
16584
16585         Fix copyright header in build-aux scripts.
16586         * build-aux/git-version-gen: Fix copyright header to match GPLv3
16587         recommendation.
16588         * build-aux/ncftpput-ftp: Likewise.
16589         * build-aux/update-copyright: Likewise.
16590
16591 2009-09-09  Eric Blake  <ebb9@byu.net>
16592
16593         test-link: allow Linux choice of errno
16594         * tests/test-link.c (main): Relax test for alternate error.
16595
16596         strndup: fix improper m4 caching
16597         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
16598         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
16599         (gl_PREREQ_STRNDUP): Delete.
16600         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
16601         * modules/string (Makefile.am): Substitute it.
16602         * lib/string.in.h (strndup): Modernize prototype.
16603
16604         getcwd: port to mingw
16605         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
16606         different from the POSIX assumptions made throughout the getcwd
16607         module; fortunately, the mingw getcwd does not need replacement.
16608         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
16609         * modules/getcwd-tests: New test.
16610         * tests/test-getcwd.c: Likewise.
16611
16612         link: fix platform bugs
16613         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
16614         * lib/link.c (link): Work around them.  Fix related mingw bug.
16615         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
16616         * modules/unistd (Makefile.am): Substitute it.
16617         * lib/unistd.in.h (link): Declare replacement.
16618         * doc/posix-functions/link.texi (link): Document this.
16619         * modules/link (Depends-on): Add strdup-posix, sys_stat.
16620
16621         test-link: consolidate into single C program, test more cases
16622         * tests/test-link.sh: Delete.
16623         * tests/test-link.c: Test more error conditions.  Exposes bugs on
16624         at least Cygwin and Solaris.
16625         * modules/link-tests (Files): Remove unused file.
16626         (Depends-on): Add errno, sys_stat.
16627         (Makefile.am): Simplify.
16628
16629 2009-09-08  Bruno Haible  <bruno@clisp.org>
16630
16631         Work around towlower, towupper bug on mingw.
16632         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
16633         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
16634         * doc/posix-functions/towlower.texi: Mention the mingw bug.
16635         * doc/posix-functions/towupper.texi: Likewise.
16636         Reported by Eric Blake.
16637
16638 2009-09-08  Jim Meyering  <meyering@redhat.com>
16639
16640         build: don't try to run autoheader if we don't use it
16641         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
16642         is not used in configure.ac.
16643
16644 2009-09-08  Eric Blake  <ebb9@byu.net>
16645
16646         euidaccess: fix compilation error
16647         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
16648
16649         rawmemchr: relax license
16650         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
16651         okay.
16652         Reported by Jim Meyering.
16653
16654         mkfifoat: new module
16655         * modules/mkfifoat: New file.
16656         * lib/mkfifoat.c: Likewise.
16657         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
16658         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
16659         * modules/sys_stat (Makefile.am): Use them.
16660         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
16661         * MODULES.html.sh (File system functions): Mention module.
16662         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
16663         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
16664         * modules/mkfifoat-tests: New test.
16665         * tests/test-mkfifoat.c: Likewise.
16666
16667         strchrnul: relax license
16668         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
16669         okay.
16670         Reported by Jim Meyering.
16671
16672 2009-09-08  Eric Blake  <ebb9@byu.net>
16673
16674         fstatat: fix compilation on Solaris
16675         * lib/fstatat.c (includes): Add fcntl.h.
16676         Reported by Pádraig Brady.
16677
16678 2009-09-07  Eric Blake  <ebb9@byu.net>
16679
16680         rename: modernize replacement
16681         * modules/rename (Depends-on): Add stdio.
16682         (configure.ac): Declare witness.
16683         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
16684         stdio take care of replacement.
16685         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
16686         * modules/stdio (Makefile.am): Substitute them.
16687         * lib/stdio.in.h (rename): Declare replacement.
16688         * lib/rename.c (includes): Allow cross-compilation to non-windows
16689         machines.
16690         * doc/posix-functions/rename.texi (rename): Improve
16691         documentation.
16692
16693         stdio: sort witness names
16694         * modules/stdio (Makefile.am): Sort replacements.
16695         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
16696         * lib/stdio.in.h: Likewise.
16697
16698         getcwd: minor cleanups
16699         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
16700         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
16701
16702         openat: provide more convenience names
16703         * modules/faccessat (configure.ac): Add C witness.
16704         * lib/unistd.in.h (readlinkat): Fix typo.
16705         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
16706         convenience wrappers.
16707         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
16708         wrappers in syntax checks.
16709
16710 2009-09-06  Eric Blake  <ebb9@byu.net>
16711
16712         doc: fix comments in recent patches
16713         * lib/faccessat.c: Mention correct function.
16714         * lib/fchmodat.c: Likewise.
16715         * lib/fchownat.c: Likewise.
16716         * lib/symlinkat.c: Likewise.
16717         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
16718         constants.
16719
16720         faccessat, symlinkat: continue cleanup of previous patch
16721         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
16722         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
16723         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
16724         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
16725         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
16726         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
16727         set.
16728
16729 2009-09-06  Bruno Haible  <bruno@clisp.org>
16730
16731         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
16732         (fstatat): Declare if GNULIB_FSTATAT is set.
16733         (mkdirat): Declare if GNULIB_MKDIRAT is set.
16734         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
16735         (unlinkat): Declare if GNULIB_UNLINKAT is set.
16736         * modules/fcntl-h (Files): Remove m4/openat.m4.
16737         * modules/sys_stat (Files): Remove m4/openat.m4.
16738         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
16739         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
16740         * modules/unistd (Files): Remove m4/openat.m4.
16741         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
16742         GNULIB_OPENAT.
16743         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
16744         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
16745         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
16746         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
16747         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
16748         gl_OPENAT_DEFAULTS.
16749         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
16750         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
16751         Don't require gl_OPENAT_DEFAULTS.
16752         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
16753         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
16754         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
16755         (gl_OPENAT_DEFAULTS): Remove macro.
16756
16757 2009-09-06  Bruno Haible  <bruno@clisp.org>
16758
16759         * modules/openat (configure.ac): Remove unneeded witness.
16760
16761 2009-09-06  Bruno Haible  <bruno@clisp.org>
16762
16763         Set errno to ENOSYS when a function is entirely unsupported.
16764         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
16765         EOPNOTSUPP.
16766         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
16767         * modules/chown (Depends-on): Remove errno.
16768
16769 2009-09-06  Bruno Haible  <bruno@clisp.org>
16770
16771         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
16772
16773 2009-09-06  Bruno Haible  <bruno@clisp.org>
16774
16775         * lib/sys_stat.in.h: Fix preprocessor command indentation.
16776
16777 2009-09-06  Ben Pfaff  <blp@gnu.org>
16778             Bruno Haible  <bruno@clisp.org>
16779
16780         Work around a glibc bug in strtok_r.
16781         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
16782         Undefine if UNDEFINE_STRTOK_R is set.
16783         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
16784         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
16785         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
16786         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
16787         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
16788         UNDEFINE_STRTOK_R.
16789         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
16790
16791 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
16792
16793         exclude: minor fix
16794         * lib/exclude.c: Include wctype.h
16795
16796 2009-09-06  Akim Demaille  <demaille@gostai.com>
16797
16798         bootstrap: improve error message
16799         * build-aux/bootstrap (find_tool): Upon failure, report the list
16800         of candidates.
16801         Honor the initial value of the envvar.
16802
16803 2009-09-05  Eric Blake  <ebb9@byu.net>
16804
16805         symlinkat: new module
16806         * modules/symlinkat: New file.
16807         * lib/symlinkat.c: Likewise.
16808         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
16809         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
16810         * modules/unistd (Makefile.am): Use them.
16811         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
16812         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
16813         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
16814         * MODULES.html.sh (File system functions): Mention module.
16815         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
16816         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
16817         * modules/symlinkat-tests: New test.
16818         * tests/test-symlinkat.c: Likewise.
16819
16820         test-openat-safer: add more checks
16821         * tests/test-openat-safer.c (main): Check more code paths.
16822
16823 2009-09-05  Jim Meyering  <meyering@redhat.com>
16824
16825         syntax-check: detect unnecessary inclusion of openat.h
16826         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
16827
16828 2009-09-05  Bruno Haible  <bruno@clisp.org>
16829
16830         Support towlower, towupper.
16831         * doc/posix-functions/towlower.texi: Mention module wctype.
16832         * doc/posix-functions/towupper.texi: Likewise.
16833         * lib/wctype.in.h (towlower, towupper): New functions.
16834         * tests/test-wctype.c: Include stdio.h, stdlib.h.
16835         (ASSERT): New macro.
16836         (e): New variable.
16837         (main): Test also towlower, towupper. Test WEOF argument.
16838         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
16839
16840 2009-09-05  Bruno Haible  <bruno@clisp.org>
16841
16842         Fix conversion behaviour when the input is invalid.
16843         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
16844         mark occurring in first pass of indirect conversion.
16845         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
16846         input.
16847         Found by clang's static analyzer.
16848
16849 2009-09-05  Bruno Haible  <bruno@clisp.org>
16850
16851         * tests/test-striconveh.c (main): Test indirect conversion on platforms
16852         where direct conversion is possible.
16853
16854 2009-09-04  Eric Blake  <ebb9@byu.net>
16855
16856         openat: fail with ENOENT on empty name
16857         * lib/openat-proc.c (openat_proc_name): Special-case the empty
16858         buffer.
16859
16860         link-follow: fix logic bug in prior patch
16861         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
16862         reversed sense of yes and no in prior patch.  Avoid confusing
16863         compilation failure with desired semantics.
16864
16865         link-follow: accomodate mingw and cross-compilation
16866         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
16867         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
16868         cross-compilation results to -1, to make linkat easier to
16869         implement when cross-compiling.  Trivially support mingw.
16870         * modules/link-follow (configure.ac): Call new name.
16871         * NEWS: Mention this.
16872
16873 2009-09-03  Eric Blake  <ebb9@byu.net>
16874
16875         faccessat: compile replacement
16876         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
16877         needed.
16878
16879         fts: fix compilation error
16880         * lib/fts.c (includes): Re-add "openat.h", for
16881         openat_needs_fchdir.
16882
16883         faccessat: new module
16884         * modules/faccessat: New file.
16885         * lib/faccessat.c: Likewise.
16886         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
16887         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
16888         * modules/unistd (Makefile.am): Use it.
16889         * lib/unistd.in.h (faccessat): Declare it.
16890         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
16891         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
16892         * MODULES.html.sh (File system functions): Mention it.
16893         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
16894         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
16895
16896         euidaccess: prefer POSIX over non-standard implementation
16897         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
16898         * lib/euidaccess.c (euidaccess): Use it if available.
16899
16900         openat: make template easier to use
16901         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
16902         AT_FUNC_F2 to be undefined.
16903         (VALIDATE_FLAG): New macro; use it to reject bad flags.
16904         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
16905         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
16906         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
16907         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
16908         Likewise.
16909         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
16910         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
16911         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
16912         Likewise.
16913
16914         openat: declare in POSIX headers
16915         * NEWS: Mention this.
16916         * modules/openat (configure.ac): Declare witnesses.
16917         (Depends-on): Add fcntl-h, sys_stat, unistd.
16918         (Include): Mention correct headers.
16919         * modules/fcntl-h (Depends-on): Add link-warning.
16920         (Files): Add openat.m4.
16921         (Makefile.am): Substitute witnesses.
16922         * modules/sys_stat (Files, Makefile.am): Likewise.
16923         * modules/unistd (Files, Makefile.am): Likewise.
16924         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
16925         (gl_OPENAT_DEFAULTS): New macro.
16926         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
16927         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
16928         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
16929         (SYS_STAT_H): Remove unused variable.
16930         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
16931         * lib/fcntl--.h (includes): Remove unneeded header.
16932         * lib/openat-safer.c (includes): Likewise.
16933         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
16934         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
16935         appropriate headers.
16936         (__OPENAT_PREFIX): Delete.
16937         * lib/fcntl.in.h (openat): Provide declaration.
16938         (AT_FDCWD): Fix Solaris bug.
16939         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
16940         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
16941         * lib/fchmodat.c (includes):  Adjust to find declaration.
16942         * lib/fchownat.c (includes): Likewise.
16943         * lib/mkdirat.c (includes): Likewise.
16944         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
16945         still visible.
16946
16947 2009-09-02  Eric Blake  <ebb9@byu.net>
16948
16949         errno: use consistently
16950         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
16951         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
16952         * lib/canonicalize.c (ELOOP): Likewise.
16953         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
16954         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
16955         * lib/lchown.c (EOPNOTSUPP): Likewise.
16956         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
16957         * lib/savewd.c (ESTALE): Likewise.
16958         * lib/settime.c (ENOSYS): Likewise.
16959         * lib/utimens.c (ENOSYS): Likewise.
16960         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
16961         * lib/chdir-safer.c (ELOOP): Likewise.
16962         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
16963         * modules/c-stack (Depends-on): Add errno.
16964         * modules/canonicalize (Depends-on): Likewise.
16965         * modules/chdir-safer (Depends-on): Likewise.
16966         * modules/fdopendir (Depends-on): Likewise.
16967         * modules/inet_ntop (Depends-on): Likewise.
16968         * modules/inet_pton (Depends-on): Likewise.
16969         * modules/lchown (Depends-on): Likewise.
16970         * modules/openat (Depends-on): Likewise.
16971         * modules/savewd (Depends-on): Likewise.
16972         * modules/settime (Depends-on): Likewise.
16973         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
16974
16975         fts: avoid leaking fds
16976         * modules/fts (Depends-on): Add cloexec.
16977         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
16978         flag.
16979
16980         fts: make directory fds more robust
16981         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
16982         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
16983
16984         backupfile, chdir-long, fts, savedir: make safer
16985         * lib/backupfile.c (includes): Use "dirent--.h", since
16986         numbered_backup can write to stderr during readdir.
16987         * lib/savedir.c (includes): Likewise.
16988         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
16989         emulation can write to stderr on failure.
16990         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
16991         * lib/getcwd.c: Document why opendir_safer is unused.
16992         * lib/glob.c: Likewise.
16993         * lib/scandir.c: Likewise.
16994         * lib/openat-proc.c: Likewise, for open_safer.
16995         * modules/backupfile (Depends-on): Add dirent-safer.
16996         * modules/savedir (Depends-on): Likewise.
16997         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
16998         * modules/chdir-long (Depends-on): Add openat-safer.
16999
17000         openat-safer: new module
17001         * modules/openat-safer: New file.
17002         * lib/openat-safer.c: Likewise.
17003         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
17004         * lib/fcntl-safer.h (openat_safer): Declare.
17005         * lib/fcntl--.h (openat): Override.
17006         * MODULES.html.sh (File descriptor based I/O): Mention it.
17007         * lib/openat.h: Add double-inclusion guards.
17008         * lib/openat.c (includes): Only include "fcntl-safer.h", not
17009         "fcntl--.h", so we can implement openat.
17010         * modules/openat-safer-tests: New test.
17011         * tests/test-openat-safer.c: New file.
17012
17013         dirent-safer: new module
17014         * modules/dirent-safer: New file.
17015         * lib/dirent--.h: Likewise.
17016         * lib/dirent-safer.h: Likewise.
17017         * lib/opendir-safer.c: Likewise.
17018         * m4/dirent-safer.m4: Likewise.
17019         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
17020         * modules/dirent-safer-tests: New test.
17021         * tests/test-dirent-safer.c: New file.
17022         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
17023
17024         fdopendir: optimize on mingw
17025         * lib/unistd.in.h (_gl_directory_name): New prototype.
17026         * lib/fchdir.c (_gl_directory_name): Implement it.
17027         (fchdir): Use it to simplify implementation.
17028         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
17029         fchdir, when available, to avoid calling [f]chdir().
17030
17031         fdopendir: split into its own module
17032         * lib/openat.c (fdopendir): Move...
17033         * lib/fdopendir.c: ...into new file.
17034         * modules/fdopendir: New module.
17035         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
17036         * modules/openat (Depends-on): Add fdopendir.
17037         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
17038         fdopendir here.
17039         * modules/savedir (Depends-on): Only need fdopendir, not full
17040         openat.
17041         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
17042         * lib/openat.h (fdopendir): Drop prototype.
17043         * lib/dirent.in.h (fdopendir): Provide prototype.
17044         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
17045         * modules/dirent (Makefile.am): Substitute them.
17046         * MODULES.html.sh (File system functions): Mention it.
17047         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
17048         * modules/fdopendir-tests: New file.
17049         * tests/test-fdopendir.c: Likewise.
17050
17051         fchdir: use more consistent macro convention
17052         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
17053         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
17054         REPLACE_FCHDIR, rather than relying on config.h macros.
17055         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
17056         inside a single make-time REPLACE_FCHDIR block, rather than using
17057         the config.h FCHDIR_REPLACEMENT.
17058         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
17059         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
17060         Manage fstat replacement.
17061         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
17062         REPLACE_FCHDIR.
17063         * modules/sys_stat (Files): Add m4/unistd_h.m4.
17064         (Makefile.am): Substitute REPLACE_FCHDIR.
17065         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
17066         FCHDIR_REPLACEMENT.
17067         * lib/dup-safer.c (dup_safer): Likewise.
17068         * lib/dup2.c (rpl_dup2): Likewise.
17069         * lib/dup3.c (rpl_dup3): Likewise.
17070         * lib/open.c (rpl_open): Likewise.
17071
17072         fchdir: simplify error handling, and support dup3
17073         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
17074         stdbool, malloc-posix, realloc-posix.
17075         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
17076         (ensure_dirs_slot): Return false on allocation failure.
17077         (rpl_dup2): Delete.
17078         (_gl_register_dup): New function.
17079         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
17080         (_gl_register_fd): Close fd on allocation failure.
17081         * lib/fcntl.in.h (_gl_register_fd): Update signature.
17082         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
17083         prototype.
17084         (rpl_dup2_fchdir): Delete prototype.
17085         * lib/open.c (open): Update caller.
17086         * lib/dup2.c (dup2): Track fchdir metadata.
17087         * lib/dup3.c (dup3): Likewise.
17088         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
17089         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
17090
17091 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17092
17093         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
17094         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
17095         don't pass arguments to AC_OUTPUT.
17096
17097 2009-09-02  Bruno Haible  <bruno@clisp.org>
17098
17099         * modules/mkdtemp (License): Relicense under LGPLv2+.
17100         Reported by Paolo Bonzini.
17101
17102 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17103
17104         Replace uses of obsolete autoconf macros in Jim's modules.
17105         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
17106         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
17107         can evoke a warning from autoconf when run with -Wobsolete
17108         enabled.  They were declared obsolete for good reasons (see
17109         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
17110         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
17111         should not continue using the deprecated macros.
17112         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
17113         obsolete Autoconf macros with modern counterparts.
17114         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
17115         * m4/dos.m4 (gl_AC_DOS): Likewise.
17116         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
17117         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
17118         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
17119         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
17120         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
17121         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
17122         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
17123         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
17124         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
17125         Likewise.
17126         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
17127         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
17128         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
17129         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
17130         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
17131         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
17132
17133 2009-09-01  Eric Blake  <ebb9@byu.net>
17134
17135         fchdir: fix off-by-one bug in previous patch
17136         * lib/fchdir.c (rpl_fstat): Use correct bounds.
17137         (_gl_unregister_fd): Delete useless if.
17138
17139 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
17140
17141         maint.mk: sort the list of syntax-check rules
17142         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
17143         easier to get a sense of progress when the rules are run sequentially
17144         and take a long time.
17145
17146 2009-09-01  Simon Josefsson  <simon@josefsson.org>
17147
17148         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
17149         * modules/netinet_in: Likewise.
17150         * modules/sys_file: Likewise.
17151         * modules/sys_ioctl: Likewise.
17152         * modules/sys_select: Likewise.
17153         * modules/sys_socket: Likewise.
17154         * modules/sys_stat: Likewise.
17155         * modules/sys_time: Likewise.
17156         * modules/sys_times: Likewise.
17157         * modules/sys_utsname: Likewise.
17158         * modules/sys_wait: Likewise.
17159
17160 2009-09-01  Jim Meyering  <meyering@redhat.com>
17161
17162         fts: help ensure that return values are not ignored
17163         * lib/fts_.h (__GNUC_PREREQ): Define.
17164         (__attribute_warn_unused_result__): Define.
17165         (fts_children, fts_close, fts_open, fts_read): Declare with
17166         __attribute_warn_unused_result__.
17167
17168         fts: fts_close now fails also when closing a dir file descriptor fails
17169         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
17170         and propagate to caller, along with errno.
17171
17172         announce-gen: correct formatting in --help output
17173         * build-aux/announce-gen (usage): Move the one-line description in
17174         --help output "up", to where it belongs, just after Usage:.
17175
17176 2009-08-31  Eric Blake  <ebb9@byu.net>
17177
17178         fchdir: port to mingw
17179         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
17180         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
17181         opened, then use a substitute.
17182         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
17183         replacement.
17184         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
17185         (_gl_register_fd): No need to check stat if open already filters
17186         all directories.
17187         (fchdir): Fix error condition to match POSIX.
17188         * modules/fchdir (Depends-on): Add sys_stat.
17189         * doc/posix-functions/open.texi (open): Document the limitation.
17190         * modules/fchdir-tests: New file.
17191         * tests/test-fchdir.c: Likewise.
17192
17193         canonicalize: allow cross-testing from cygwin to mingw
17194         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
17195         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
17196         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
17197         Likewise.
17198         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
17199         target does not support symlinks.
17200         * tests/test-canonicalize-lgpl.sh: Likewise.
17201
17202         chown: avoid compilation warning on mingw
17203         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
17204         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
17205         mingw.
17206         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
17207         * modules/chown (Depends-on): Add errno.
17208
17209 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17210
17211         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
17212         command.
17213
17214 2009-08-31  Jim Meyering  <meyering@redhat.com>
17215
17216         canonicalize: remove useless initialization
17217         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
17218         initialization of local, "end".
17219
17220 2009-08-30  Bruno Haible  <bruno@clisp.org>
17221
17222         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
17223         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
17224         ENOSYS.
17225
17226 2009-08-30  Bruno Haible  <bruno@clisp.org>
17227
17228         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
17229         /usr/xpg4/bin/tr when it exists.
17230         * tests/test-pipe-filter-gi1.sh: Likewise.
17231
17232 2009-08-30  Bruno Haible  <bruno@clisp.org>
17233
17234         Work around deficient /usr/bin/id program on Solaris.
17235         * tests/test-file-has-acl.sh (ID): New variable.
17236         * tests/test-set-mode-acl.sh (ID): Likewise.
17237         * tests/test-copy-acl.sh (ID): Likewise.
17238         * tests/test-copy-file.sh (ID): Likewise.
17239
17240 2009-08-30  Bruno Haible  <bruno@clisp.org>
17241
17242         New module 'xstriconveh'.
17243         * lib/xstriconveh.h: New file.
17244         * lib/xstriconveh.c: New file.
17245         * modules/xstriconveh: New file.
17246
17247 2009-08-30  Bruno Haible  <bruno@clisp.org>
17248
17249         Make it easier to use mem_cd_iconveh.
17250         * lib/striconveh.h (iconveh_t): New type.
17251         (iconveh_open, iconveh_close): New declarations.
17252         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
17253         with a single 'const iconveh_t *' argument.
17254         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
17255         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
17256         with a single 'const iconveh_t *' argument.
17257         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
17258         * tests/test-striconveh.c (main): Update.
17259         * NEWS: Mention the change.
17260
17261 2009-08-30  Bruno Haible  <bruno@clisp.org>
17262
17263         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
17264         problem.
17265
17266 2009-08-30  Bruno Haible  <bruno@clisp.org>
17267
17268         Work around iconv_open problem on Solaris.
17269         * lib/iconv_open-solaris.gperf: New file.
17270         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
17271         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
17272         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
17273         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
17274         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
17275         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
17276
17277 2009-08-29  Jim Meyering  <meyering@redhat.com>
17278
17279         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
17280         * top/maint.mk (cvs-check): Remove target; it was just an alias
17281         to the better-named vc-diff-check.
17282         (maintainer-distcheck): Remove rule.  It was used only from
17283         the (alpha/beta/major) target, and all of its commands but one
17284         were coreutils-specific.
17285         (vc-dist): Remove rule.
17286         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
17287         Run vc-diff-check, not vc-dist.
17288         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
17289
17290 2009-08-27  Bruno Haible  <bruno@clisp.org>
17291
17292         * tests/test-bitrotate.c (main): Remove test that uses a shift count
17293         of 0.
17294
17295 2009-08-27  Bruno Haible  <bruno@clisp.org>
17296
17297         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
17298         compilers.
17299         * doc/func.texi: Document the SunPRO C bug.
17300
17301 2009-08-27  Bruno Haible  <bruno@clisp.org>
17302
17303         Fix link error on Solaris.
17304         * tests/test-parse-duration.c (xstrdup): Remove function.
17305
17306 2009-08-26  Pádraig Brady  <P@draigbrady.com>
17307
17308         ignore-value: handle pointer types, too
17309         * lib/ignore-value.h (__attribute__): Remove definition.
17310         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
17311         of a more concise and more-often effective "(void) i" statement.
17312         (ignore_ptr): New function to suppress warnings from functions that
17313         return pointers, and to make it explicit that one function doesn't
17314         handle all cases.
17315
17316 2009-08-25  Bruno Haible  <bruno@clisp.org>
17317
17318         dup2: work around a Linux bug.
17319         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
17320         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
17321         * doc/posix-functions/dup2.texi: Mention the Linux bug.
17322         Reported by Simon Josefsson.
17323
17324 2009-08-25  Jim Meyering  <meyering@redhat.com>
17325
17326         libguestfs uses gnulib
17327         * users.txt: Add libguestfs.
17328
17329 2009-08-24  Eric Blake  <ebb9@byu.net>
17330
17331         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
17332         * lib/pipe2.c (includes): Add binary-io.h.
17333         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
17334
17335 2009-08-24  Bruno Haible  <bruno@clisp.org>
17336
17337         Tolerate declared but missing accept4 syscall.
17338         * lib/accept4.c (accept4): Invoke original accept4 function first, if
17339         available.
17340         * lib/sys_socket.in.h (accept4): If the function is already present,
17341         override it.
17342         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
17343         * modules/accept4 (Makefile.am): Compile accept4.c always.
17344         Reported by Paolo Bonzini and Eric Blake.
17345
17346 2009-08-23  Bruno Haible  <bruno@clisp.org>
17347
17348         New module 'accept4'.
17349         * lib/sys_socket.in.h (accept4): New declaration.
17350         * lib/accept4.c: New file.
17351         * m4/accept4.m4: New file.
17352         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
17353         GNULIB_ACCEPT4, HAVE_ACCEPT4.
17354         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
17355         HAVE_ACCEPT4.
17356         * modules/accept4: New file.
17357         * doc/glibc-functions/accept4.texi: Mention the new module.
17358
17359 2009-08-24  Jim Meyering  <meyering@redhat.com>
17360
17361         progname: also set global program_invocation_name, when possible
17362         Before this change, a libtool-enabled program that calls glibc's
17363         error function would report the program name as
17364         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
17365         * modules/progname (configure.ac): Check for a declaration of
17366         program_invocation_name.
17367         * lib/progname.c:  Include <errno.h>.
17368         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
17369         Set program_invocation_name.
17370
17371 2009-08-23  Bruno Haible  <bruno@clisp.org>
17372
17373         * lib/dup3.c: Include <string.h>.
17374
17375 2009-08-23  Bruno Haible  <bruno@clisp.org>
17376
17377         * lib/dup3.c (dup3): Test only once whether the system actually exists.
17378         * lib/pipe2.c (pipe2): Likewise.
17379         Suggested by Eric Blake.
17380
17381 2009-08-23  Bruno Haible  <bruno@clisp.org>
17382
17383         Tolerate declared but missing dup3 syscall.
17384         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
17385         * lib/unistd.in.h (dup3): If the function is already present,
17386         override it.
17387         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
17388         * modules/dup3 (Makefile.am): Compile dup3.c always.
17389         Reported by Paolo Bonzini.
17390
17391 2009-08-23  Bruno Haible  <bruno@clisp.org>
17392
17393         Tolerate declared but missing pipe2 syscall.
17394         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
17395         available.
17396         * lib/unistd.in.h (pipe2): If the function is already present,
17397         override it.
17398         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
17399         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
17400         Reported by Paolo Bonzini.
17401
17402 2009-08-23  Bruno Haible  <bruno@clisp.org>
17403
17404         * lib/pipe2.c (pipe2): Move #ifs inside function.
17405
17406 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
17407
17408         quotearg: document limitations of quote_these_too
17409         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
17410         those limitations are created.
17411         * lib/quotearg.h (set_char_quoting): Document that digits and
17412         letters that are special after backslash are not permitted.
17413         (quotearg_char): Cross-reference set_char_quoting documentation.
17414
17415 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
17416
17417         quotearg: implement custom_quoting_style
17418         * lib/quotearg.c: (struct quoting_options): Add left_quote and
17419         right_quote fields.
17420         (set_custom_quoting): New public function.
17421         (quotearg_buffer_restyled): Add left_quote and right_quote
17422         arguments, handle them very much like locale quoting, and update
17423         all uses.
17424         (quotearg_n_custom): New public function.
17425         (quotearg_n_custom_mem): New public function.
17426         (quotearg_custom): New public function.
17427         (quotearg_custom_mem): New public function.
17428         * lib/quotearg.h: Prototype and document new public functions.
17429         (enum quoting_style): For escape_quoting_style and
17430         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
17431         ignored even though they're otherwise like c_quoting_style.
17432         Add custom_quoting_style member and document with comparison to
17433         clocale_quoting_style.
17434         * tests/test-quotearg.c (custom_quotes): New array.
17435         (custom_results): New array.
17436         (main): Extend to test custom quoting.
17437
17438 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
17439
17440         quotearg: fix right quote escaping when it's in quote_these_too
17441         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
17442         quote, be sure to prepend only one backslash.
17443         * tests/test-quotearg.c (use_quote_double_quotes): New function.
17444         (main): Test it.
17445
17446 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
17447
17448         quotearg-tests: test escaping of embedded locale quotes
17449         * tests/test-quotearg.c (struct result_strings): Add member for
17450         new input.
17451         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
17452         (inputs): Add new input.
17453         (results_g): Add expected results.
17454         (flag_results): Likewise.
17455         (locale_results): Likewise.
17456         (compare_strings): Check those.
17457
17458 2009-08-23  Bruno Haible  <bruno@clisp.org>
17459
17460         Tests for module 'dup3'.
17461         * modules/dup3-tests: New file.
17462         * tests/test-dup3.c: New file.
17463
17464         New module 'dup3'.
17465         * lib/unistd.in.h (dup3): New declaration.
17466         * lib/dup3.c: New file.
17467         * m4/dup3.m4: New file.
17468         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
17469         HAVE_DUP3.
17470         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
17471         * modules/dup3: New file.
17472         * doc/glibc-functions/dup3.texi: Mention the new module.
17473
17474 2009-08-23  Bruno Haible  <bruno@clisp.org>
17475
17476         Tweak the dup2 test.
17477         * tests/test-dup2.c (main): Create the test file empty. Verify that an
17478         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
17479         the test file is still empty. Fix argument order of lseek.
17480
17481 2009-08-23  Bruno Haible  <bruno@clisp.org>
17482
17483         Avoid test link errors when the modules getopt-gnu, gettext are used.
17484         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
17485         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17486
17487 2009-08-23  Bruno Haible  <bruno@clisp.org>
17488
17489         Fix getdtablesize() on mingw.
17490         * lib/getdtablesize.c (getdtablesize): Implement differently.
17491         * lib/unistd.in.h (getdtablesize): Improve comment.
17492
17493 2009-08-23  Bruno Haible  <bruno@clisp.org>
17494
17495         New module 'mkostemp'.
17496         Based on Ulrich Drepper's 2007-08-10 change in glibc.
17497         * lib/stdlib.in.h (mksotemp): New declaration.
17498         * lib/mkostemp.c: New file, from glibc with modifications.
17499         * lib/tempname.h (GT_FILE): Remove outdated comment.
17500         (gen_tempname): Add flags argument.
17501         * lib/tempname.c (__GT_BIGFILE): Remove macro.
17502         (__GT_FILE): Map to 1.
17503         (small_open, large_open): Remove macros.
17504         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
17505         * lib/mkstemp.c (mkstemp): Update.
17506         * lib/mkdtemp.c (mkdtemp): Likewise.
17507         * m4/mkostemp.m4: New file.
17508         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
17509         HAVE_MKOSTEMP.
17510         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
17511         HAVE_MKOSTEMP.
17512         * modules/mkostemp: New file, based on modules/mkstemp.
17513         * doc/glibc-functions/mkostemp.texi: Mention the new module.
17514         * NEWS: Mention the change.
17515
17516 2009-08-23  Bruno Haible  <bruno@clisp.org>
17517
17518         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
17519         Reported by Eric Blake.
17520
17521 2009-08-23  Bruno Haible  <bruno@clisp.org>
17522
17523         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
17524         Reported by Eric Blake.
17525
17526 2009-08-23  Bruno Haible  <bruno@clisp.org>
17527
17528         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
17529         * modules/pipe2 (Depends-on): Likewise.
17530
17531 2009-08-23  Eric Blake  <ebb9@byu.net>
17532
17533         fcntl-h: add O_TTY_INIT support
17534         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
17535         * tests/test-fcntl-h.c (o): Test it.
17536         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
17537
17538         fcntl-h: rename from fcntl, in preparation for fcntl(2)
17539         * modules/fcntl: Move <fcntl.h> header replacement...
17540         * modules/fcntl-h: ...to new name, so as not to collide with
17541         like-named function.
17542         * tests/test-fcntl.c: Rename...
17543         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
17544         * modules/fcntl-tests: Rename...
17545         * modules/fcntl-h-tests: ...to this.  Update test file name.
17546         * modules/chdir-long (Depends-on): Update clients.
17547         * modules/chdir-safer (Depends-on): Likewise.
17548         * modules/fcntl-safer (Depends-on): Likewise.
17549         * modules/fts (Depends-on): Likewise.
17550         * modules/mkancesdirs (Depends-on): Likewise.
17551         * modules/mkdir-p (Depends-on): Likewise.
17552         * modules/open (Depends-on): Likewise.
17553         * modules/savewd (Depends-on): Likewise.
17554         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
17555         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
17556
17557 2009-08-22  Bruno Haible  <bruno@clisp.org>
17558
17559         * modules/binary-io (License): Relicense under LGPL.
17560         * modules/pipe2 (License): Likewise.
17561
17562 2009-08-22  Bruno Haible  <bruno@clisp.org>
17563
17564         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
17565         return value.
17566         * lib/pipe-filter-gi.c (filter_init): Likewise.
17567         Reported by Eric Blake.
17568
17569 2009-08-22  Bruno Haible  <bruno@clisp.org>
17570
17571         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
17572         * modules/pipe (Depends-on): Add pipe2.
17573
17574 2009-08-22  Bruno Haible  <bruno@clisp.org>
17575
17576         Tests for module 'pipe2'.
17577         * modules/pipe2-tests: New file.
17578         * tests/test-pipe2.c: New file.
17579
17580         New module 'pipe2'.
17581         * lib/unistd.in.h (pipe2): New declaration.
17582         * lib/pipe2.c: New file.
17583         * m4/pipe2.m4: New file.
17584         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
17585         HAVE_PIPE2.
17586         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
17587         * modules/pipe2: New file.
17588         * doc/glibc-functions/pipe2.texi: Mention the new module.
17589
17590 2009-08-22  Bruno Haible  <bruno@clisp.org>
17591
17592         Reference some new glibc functions.
17593         * doc/glibc-functions/accept4.texi: New file.
17594         * doc/glibc-functions/dup3.texi: New file.
17595         * doc/glibc-functions/mkostemp.texi: New file.
17596         * doc/glibc-functions/pipe2.texi: New file.
17597         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
17598         (Glibc sys/socket.h): Refer to accept4.
17599         (Glibc unistd.h): Refer to dup3, pipe2.
17600         Reported by Eric Blake.
17601
17602 2009-08-22  Jim Meyering  <meyering@redhat.com>
17603             Bruno Haible  <bruno@clisp.org>
17604
17605         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
17606         This makes it so packages using automake-1.11's silent-rules option
17607         can print e.g., a single "GEN    configmake.h" line, rather than
17608         the 30+ statements that perform the job.  If you want to see the
17609         actual commands, you can still run "make V=1".
17610         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
17611         so that make output is abbreviated when those variables are defined
17612         appropriately.
17613         * modules/argz: Likewise.
17614         * modules/arpa_inet: Likewise.
17615         * modules/byteswap: Likewise.
17616         * modules/configmake: Likewise.
17617         * modules/dirent: Likewise.
17618         * modules/errno: Likewise.
17619         * modules/fcntl: Likewise.
17620         * modules/float: Likewise.
17621         * modules/fnmatch: Likewise.
17622         * modules/getopt-posix: Likewise.
17623         * modules/glob: Likewise.
17624         * modules/iconv_open: Likewise.
17625         * modules/inttypes: Likewise.
17626         * modules/localcharset: Likewise.
17627         * modules/locale: Likewise.
17628         * modules/math: Likewise.
17629         * modules/netdb: Likewise.
17630         * modules/netinet_in: Likewise.
17631         * modules/poll: Likewise.
17632         * modules/posix_spawnp-tests: Likewise.
17633         * modules/sched: Likewise.
17634         * modules/search: Likewise.
17635         * modules/selinux-h: Likewise.
17636         * modules/signal: Likewise.
17637         * modules/spawn: Likewise.
17638         * modules/stdarg: Likewise.
17639         * modules/stdbool: Likewise.
17640         * modules/stddef: Likewise.
17641         * modules/stdint: Likewise.
17642         * modules/stdio: Likewise.
17643         * modules/stdlib: Likewise.
17644         * modules/string: Likewise.
17645         * modules/strings: Likewise.
17646         * modules/sys_file: Likewise.
17647         * modules/sys_ioctl: Likewise.
17648         * modules/sys_select: Likewise.
17649         * modules/sys_socket: Likewise.
17650         * modules/sys_stat: Likewise.
17651         * modules/sys_time: Likewise.
17652         * modules/sys_times: Likewise.
17653         * modules/sys_utsname: Likewise.
17654         * modules/sys_wait: Likewise.
17655         * modules/sysexits: Likewise.
17656         * modules/time: Likewise.
17657         * modules/unistd: Likewise.
17658         * modules/wchar: Likewise.
17659         * modules/wctype: Likewise.
17660
17661 2009-08-22  Jim Meyering  <meyering@redhat.com>
17662
17663         announce-gen: detect write failure
17664         * build-aux/announce-gen: Add Coda at end.
17665         Remove equivalent-but-more-verbose block at top.
17666
17667 2009-08-19  Akim Demaille  <demaille@gostai.com>
17668
17669         bootstrap: --help to stdout.
17670         * bootstrap (usage): Don't send --help to stderr.
17671         Use a here doc instead of a long string.
17672
17673 2009-08-21  Eric Blake  <ebb9@byu.net>
17674
17675         test-popen-safer: split from test-popen
17676         * tests/test-popen.c (main): Move...
17677         * tests/test-popen.h: ...into new file.
17678         * tests/test-popen-safer2.c: New file.
17679         * modules/popen-tests (Files): Add test-popen.h.
17680         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
17681         Suggested by Bruno Haible.
17682
17683         test-fcntl-safer: split from test-open
17684         * tests/test-open.c (main): Move...
17685         * tests/test-open.h: ...into new file.
17686         * tests/test-fcntl-safer.c: New file.
17687         * modules/open-tests (Files): Add test-open.h.
17688         * modules/fcntl-safer-tests: New file.
17689         Suggested by Bruno Haible.
17690
17691         test-fopen-safer: split from test-fopen
17692         * tests/test-fopen.c (main): Move...
17693         * tests/test-fopen.h: ...into new file.
17694         * tests/test-fopen-safer.c: New file.
17695         * modules/fopen-tests (Files): Add test-fopen.h.
17696         * modules/fopen-safer-tests: New file.
17697         Suggested by Bruno Haible.
17698
17699 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
17700
17701         popen-safer: test O_CLOEXEC at run-time.
17702         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
17703
17704 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
17705
17706         fcntl: move more flags to the header
17707         * lib/cloexec.c: Do not define FD_CLOEXEC here.
17708         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
17709         * lib/fcntl.in.h: Do both things here.
17710
17711 2009-08-21  Jim Meyering  <meyering@redhat.com>
17712
17713         consistently remove $@-t before redirecting to it
17714         * modules/argz: Remove $@-t and $@ before redirecting to the former.
17715         * modules/alloca-opt: Likewise.
17716         * modules/byteswap: Likewise.
17717         * modules/fnmatch: Likewise.
17718         * modules/getopt-posix: Likewise.
17719         * modules/glob: Likewise.
17720         * modules/poll: Likewise.
17721         * modules/posix_spawnp-tests: Likewise.
17722         * modules/sys_socket: Likewise.
17723         * modules/sysexits: Likewise.
17724
17725 2009-08-21  Eric Blake  <ebb9@byu.net>
17726
17727         popen: simplify access to original popen
17728         * lib/popen.c (rpl_popen): No need to worry about popen being a
17729         macro.
17730         Reported by Bruno Haible.
17731
17732 2009-08-20  Eric Blake  <ebb9@byu.net>
17733
17734         build: avoid some compiler warnings
17735         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
17736         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
17737         type.
17738         (new_exclude_segment, excluded_file_pattern_p)
17739         (excluded_file_name_p): Reduce scope.
17740         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
17741         old-style declaration.
17742
17743 2009-08-20  Simon Josefsson  <simon@josefsson.org>
17744
17745         * tests/test-exclude1.sh: Handle Windows EOL.
17746         * tests/test-exclude2.sh: Likewise.
17747         * tests/test-exclude3.sh: Likewise.
17748         * tests/test-exclude4.sh: Likewise.
17749         * tests/test-exclude5.sh: Likewise.
17750         * tests/test-exclude6.sh: Likewise.
17751         * tests/test-exclude7.sh: Likewise.
17752
17753 2009-08-19  Akim Demaille  <demaille@gostai.com>
17754
17755         bootstrap: find sha1sum when named gsha1sum.
17756         * bootstrap (find_tool): New.
17757         ($SHA1SUM): New.
17758         Use it.
17759
17760 2009-08-20  Jim Meyering  <meyering@redhat.com>
17761
17762         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
17763         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
17764         expression that converts "." in a file name to "\." in the resulting
17765         regexp.  Start with a dummy statement, so that prior shell variable
17766         definitions are expanded portably.  Reported by Simon Josefsson.
17767
17768 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
17769
17770         Fix polling for writeability of a screen buffer.
17771         * lib/poll.c: Distinguish input and screen buffers for the
17772         Win32 implementation.
17773         * lib/select.c: Likewise.
17774
17775 2009-08-19  Eric Blake  <ebb9@byu.net>
17776
17777         popen-safer: prevent popen from clobbering std descriptors
17778         * modules/popen-safer: New file.
17779         * lib/popen-safer.c: Likewise.
17780         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
17781         * lib/stdio--.h (popen): Provide override.
17782         * lib/stdio-safer.h (popen_safer): Provide declaration.
17783         * tests/test-popen.c (includes): Partially test this.
17784         * modules/popen-safer-tests: New file, for more tests.
17785         * tests/test-popen-safer.c: Likewise.
17786         * MODULES.html.sh (file stream based Input/Output): Mention it.
17787
17788         tests: test some of the *-safer modules
17789         * modules/fopen-safer (Depends-on): Add fopen.
17790         * modules/fcntl-safer (Depends-on): Add fcntl.
17791         * modules/stdlib-safer (Depends-on): Add stdlib.
17792         (configure.ac): Set indicator.
17793         * modules/unistd-safer (configure.ac): Likewise.
17794         * modules/tmpfile-safer (configure.ac): Likewise.
17795         (Depends-on): Add tmpfile.
17796         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
17797         active.
17798         * tests/test-fopen.c (includes): Test safer versions when they are
17799         in use.
17800         * tests/test-open.c (includes): Likewise.
17801
17802         popen: fix cygwin 1.5 bug when stdin closed
17803         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
17804         * modules/popen: New file.
17805         * modules/popen-tests: Likewise.
17806         * tests/test-popen.c: Likewise.
17807         * m4/popen.m4: Likewise.
17808         * lib/popen.c: Likewise.
17809         * lib/stdio.in.h (popen): New declaration.
17810         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
17811         * modules/stdio (Makefile.am): Likewise.
17812         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
17813
17814 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
17815
17816         maint.mk: give full control over update-copyright exclusions
17817         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
17818         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
17819         (update-copyright): Don't force inclusion of top-level
17820         ChangeLog.  Don't force exclusion of all COPYING files, but make
17821         them the default exclusion instead.
17822
17823 2009-08-16  Bruno Haible  <bruno@clisp.org>
17824
17825         Fix test failures on Solaris 10.
17826         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
17827         tests when Solaris iconv() is used.
17828         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
17829         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
17830         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
17831         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
17832         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
17833
17834 2009-08-16  Bruno Haible  <bruno@clisp.org>
17835
17836         Fix test failures on Solaris 10.
17837         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
17838         'tr' program and pass it as first argument.
17839         * tests/test-pipe-filter-gi1.sh: Likewise.
17840         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
17841         program as first argument.
17842         * tests/test-pipe-filter-gi1.c (main): Likewise.
17843
17844 2009-08-16  Eric Blake  <ebb9@byu.net>
17845
17846         fpurge: fix previous commits
17847         * modules/fpurge (Makefile.am): Make replacement conditional,
17848         partially reverting 2007-04-29 change; missed in previous
17849         attempt.
17850         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
17851         is missing.
17852
17853 2009-08-16  Bruno Haible  <bruno@clisp.org>
17854
17855         Clarify fpurge's effect on the file position.
17856         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
17857         * tests/test-fpurge.c (main): Make a second pass for checking the file
17858         position.
17859
17860 2009-08-16  Bruno Haible  <bruno@clisp.org>
17861
17862         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
17863         declaration of fpurge is missing.
17864         * tests/test-fpurge.c (main): Check that the file has not more contents
17865         than expected. Close the file before removing it.
17866
17867 2009-08-15  Eric Blake  <ebb9@byu.net>
17868
17869         fpurge: don't wrap working cygwin implementation
17870         * lib/fpurge.c (fpurge): Fix comment typo.
17871         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
17872         1.7 to avoid replacement.
17873         * tests/test-fpurge.c (main): Enhance test.
17874
17875 2009-08-15  Eric Blake  <ebb9@byu.net>
17876         and Jim Meyering  <meyering@redhat.com>
17877
17878         test-update-copyright: skip if perl is insufficient
17879         * tests/test-update-copyright.sh: Failure to run maintainer tool
17880         should not cause testsuite failure on cygwin 1.5.
17881
17882 2009-08-14  Eric Blake  <ebb9@byu.net>
17883
17884         doc: mention more functions added in cygwin 1.7.0
17885         * doc/posix-headers/limits.texi (limits.h): Update for recent
17886         cygwin additions.
17887         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
17888         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
17889         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
17890         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
17891         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
17892
17893 2009-08-14  Eric Blake  <ebb9@byu.net>
17894
17895         maint.mk: simplify update-copyright rule
17896         * top/maint.mk (update-copyright-local): Delete, and document how
17897         to do it in cfg.mk instead.
17898         (update-copyright-exclude-regexp): Delete, and document how to do
17899         it in .x-update-copyright instead.
17900         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
17901         exclude ChangeLog.
17902
17903 2009-08-14  Bruno Haible  <bruno@clisp.org>
17904
17905         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
17906
17907 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
17908
17909         maint.mk: support update-copyright-env
17910         * top/maint.mk (update-copyright-env): Define place-holder.
17911         (update-copyright): Expand $(update-copyright-env) before
17912         invoking update-copyright.
17913
17914 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
17915
17916         update-copyright: implement forced reformatting
17917         * build-aux/update-copyright: Implement and document
17918         UPDATE_COPYRIGHT_FORCE.
17919         * tests/test-update-copyright.sh: Test it.
17920
17921 2009-08-14  Eric Blake  <ebb9@byu.net>
17922         and Bruno Haible  <bruno@clisp.org>
17923
17924         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
17925         * tests/test-locale.c: Revert previous patch related to NULL.
17926         * tests/test-stdio.c: Likewise.
17927         * tests/test-stdlib.c: Likewise.
17928         * tests/test-string.c: Likewise.
17929         * tests/test-unistd.c: Likewise.
17930         * modules/time-tests (Depends-on): Add verify.
17931         * modules/wchar-tests (Depends-on): Likewise.
17932         * tests/test-time.c: Test for NULL compliance.
17933         * tests/test-wchar.c: Likewise.
17934         * modules/locale (Depends-on): Add stddef.
17935         * modules/stdio (Depends-on): Likewise.
17936         * modules/stdlib (Depends-on): Likewise.
17937         * modules/string (Depends-on): Likewise.
17938         * modules/time (Depends-on): Likewise.
17939         * modules/unistd (Depends-on): Likewise.
17940         * modules/wchar (Depends-on): Likewise.
17941         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
17942         * lib/stdlib.in.h (includes): Likewise.
17943         * lib/string.in.h (includes): Likewise.
17944         * lib/time.in.h (includes): Likewise.
17945         * lib/unistd.in.h (includes): Likewise.
17946         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
17947         replaced.
17948         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
17949         * m4/stddef_h.m4: New file.
17950         * modules/stddef: Likewise.
17951         * lib/stddef.in.h: Likewise.
17952         * modules/stddef-tests: Likewise.
17953         * tests/test-stddef.c: Likewise.
17954         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
17955         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
17956         * doc/posix-headers/locale.texi (locale.h): Likewise.
17957         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
17958         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
17959         * doc/posix-headers/string.texi (string.h): Likewise.
17960         * doc/posix-headers/time.texi (time.h): Likewise.
17961         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
17962         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
17963
17964 2009-08-14  Eric Blake  <ebb9@byu.net>
17965
17966         doc: improve git diff of texinfo files
17967         * .gitattributes: Add rule for *.texi files, with hint on how to
17968         use it.
17969         Copied from m4, and based on a report by Bruno Haible.
17970
17971 2009-08-14  Bruno Haible  <bruno@clisp.org>
17972
17973         Disable multithread support by default on Cygwin 1.5.x for real.
17974         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
17975
17976 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
17977
17978         update-copyright: much ado about intervals
17979         * build-aux/update-copyright: Implement and document
17980         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
17981         of copyright year intervals.
17982         Also, document UPDATE_COPYRIGHT_YEAR.
17983         * tests/test-update-copyright.sh: Test it.
17984
17985         update-copyright: convert 2-digit to 4-digit years
17986         * build-aux/update-copyright: Implement and document.
17987         * tests/test-update-copyright.sh: Update.
17988
17989 2009-08-14  Jim Meyering  <meyering@redhat.com>
17990
17991         test-exclude: avoid coreutils "make check" failure
17992         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
17993         just as in test-argmatch.c.
17994
17995 2009-08-13  Eric Blake  <ebb9@byu.net>
17996
17997         test-dup2: fix bad assumption
17998         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
17999         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
18000
18001         test-version-etc: fix CRLF portability issue
18002         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
18003         recognize \r.
18004         * tests/test-argp-version-etc-1.sh: Likewise.
18005
18006         getopt: update client modules
18007         * modules/argp (Depends-on): Use getopt-gnu.
18008         * modules/git-merge-changelog (Depends-on): Likewise.
18009         * modules/long-options (Depends-on): Likewise.
18010         * modules/xstrtol (Depends-on): Likewise.
18011
18012 2009-08-13  Simon Josefsson  <simon@josefsson.org>
18013
18014         * tests/test-version-etc.sh: Don't fail on different
18015         project/version.  Don't fail on CRLF differences.  Rewrite to use
18016         multiple -e instead of multiple sed forks, suggested by Eric Blake
18017         <ebb9@byu.net>.
18018         * tests/test-argp-version-etc-1.sh: Likewise.
18019
18020 2009-08-13  Simon Josefsson  <simon@josefsson.org>
18021
18022         * tests/test-version-etc.sh: Don't fail on different
18023         project/version.
18024
18025 2009-08-12  Bruno Haible  <bruno@clisp.org>
18026
18027         Tests for modules 'getopt-posix', 'getopt-gnu'.
18028         * modules/getopt-posix-tests: New file.
18029         * tests/test-getopt.c: New file.
18030         * tests/test-getopt.h: New file.
18031         * tests/test-getopt_long.h: New file.
18032
18033         New modules 'getopt-posix', 'getopt-gnu'.
18034         * modules/getopt-gnu: New file, renamed from modules/getopt.
18035         * modules/getopt-posix: New file.
18036         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
18037         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
18038         (gl_GETOPT): Remove macro.
18039         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
18040         Disable the test against BSD systems that declare optreset. Test
18041         against mingw bug. Test against lack of support of optional arguments
18042         on many platforms.
18043         * doc/glibc-headers/getopt.texi: Update module name and list of
18044         relevant platforms.
18045         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
18046         'getopt-gnu' and more portability problems.
18047         * NEWS: Mention the changes.
18048
18049 2009-08-12  Bruno Haible  <bruno@clisp.org>
18050
18051         Ensure that optarg etc. get declared by <unistd.h>.
18052         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
18053         AC_USE_SYSTEM_EXTENSIONS.
18054         * modules/getopt (Depends-on): Add 'extensions'.
18055
18056 2009-08-12  Bruno Haible  <bruno@clisp.org>
18057
18058         Avoid test link errors.
18059         * modules/pipe-filter-ii-tests (Makefile.am): Define
18060         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
18061         * modules/pipe-filter-gi-tests (Makefile.am): Define
18062         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
18063         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18064
18065 2009-08-12  Bruno Haible  <bruno@clisp.org>
18066
18067         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
18068         gl_GETOPT_SUBSTITUTE before.
18069         (gl_GETOPT): Use it.
18070         * m4/argp.m4 (gl_ARGP): Update.
18071         Reported by Sergey Poznyakoff.
18072
18073         * m4/getopt.m4: Reorder macros.
18074         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
18075         (gl_GETOPT_SUBSTITUTE): Remove macro.
18076
18077 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
18078
18079         Minor improvement in gitlog-to-changelog
18080
18081         * build-aux/gitlog-to-changelog: New option `--format' makes
18082         output format string configurable.
18083
18084 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
18085
18086         Optimize exclude: use hash tables for non-wildcard patterns.
18087
18088         * lib/exclude.c: Include hash.h and mbuiter.h
18089         (struct exclude_pattern, exclude_segment): New data types.
18090         (struct exclude): Rewrite.
18091         (fnmatch_pattern_has_wildcards): New function.
18092         (new_exclude_segment, free_exclude_segment): New functions.
18093         (excluded_file_pattern_p, excluded_file_name_p): New functions.
18094         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
18095         * lib/exclude.h (is_fnmatch_pattern): New prototype.
18096         * modules/exclude: Depend on hash and mbuiter.
18097
18098         * modules/exclude-tests: New file.
18099         * tests/test-exclude.c: New file.
18100         * tests/test-exclude1.sh: New file.
18101         * tests/test-exclude2.sh: New file.
18102         * tests/test-exclude3.sh: New file.
18103         * tests/test-exclude4.sh: New file.
18104         * tests/test-exclude5.sh: New file.
18105         * tests/test-exclude6.sh: New file.
18106         * tests/test-exclude7.sh: New file.
18107
18108 2009-08-12  Bruno Haible  <bruno@clisp.org>
18109
18110         Ensure that getopt() gets declared by <unistd.h>.
18111         * lib/unistd.in.h: Conditionally include getopt.h.
18112         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
18113         Set GNULIB_UNISTD_H_GETOPT.
18114         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18115         GNULIB_UNISTD_H_GETOPT.
18116         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
18117
18118 2009-08-12  Bruno Haible  <bruno@clisp.org>
18119
18120         Clarify logic.
18121         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
18122         gl_replace_getopt instead of GETOPT_H.
18123
18124 2009-08-12  Bruno Haible  <bruno@clisp.org>
18125
18126         * m4/getopt.m4: Add comments.
18127
18128 2009-08-12  Bruno Haible  <bruno@clisp.org>
18129
18130         Disable multithread support by default on Cygwin 1.5.x.
18131         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
18132         set gl_use_threads=no if not specified otherwise.
18133
18134 2009-08-11  Bruno Haible  <bruno@clisp.org>
18135
18136         Avoid compilation error on NetBSD 5.0.
18137         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
18138         * tests/test-stdio.c: Likewise.
18139         * tests/test-stdlib.c: Likewise.
18140         * tests/test-string.c: Likewise.
18141         * tests/test-unistd.c: Likewise.
18142         Reported by Greg Troxel <gdt@ir.bbn.com>
18143         at <https://savannah.gnu.org/support/?106973>.
18144
18145 2009-08-11  Bruno Haible  <bruno@clisp.org>
18146
18147         * modules/dup2-tests (Depends-on): Remove close.
18148
18149         Undo 2009-07-19 commit.
18150         * modules/acl-tests (Depends-on): Remove close.
18151         * modules/binary-io-tests (Depends-on): Likewise.
18152         * modules/closein-tests (Depends-on): Likewise.
18153         * modules/flock-tests (Depends-on): Likewise.
18154         * modules/fsync-tests (Depends-on): Likewise.
18155         * modules/lseek-tests (Depends-on): Likewise.
18156         * modules/pipe-tests (Depends-on): Likewise.
18157         * modules/posix_spawn-tests (Depends-on): Likewise.
18158         * modules/posix_spawnp-tests (Depends-on): Likewise.
18159         * modules/stat-time-tests (Depends-on): Likewise.
18160         * modules/yesno-tests (Depends-on): Likewise.
18161
18162 2009-08-10  Bruno Haible  <bruno@clisp.org>
18163
18164         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
18165
18166 2009-08-10  Bruno Haible  <bruno@clisp.org>
18167
18168         Fix a gcc warning.
18169         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
18170
18171 2009-08-10  Bruno Haible  <bruno@clisp.org>
18172
18173         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
18174         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
18175         not only the first time.
18176         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
18177         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
18178         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
18179         is 1, not only the the first time.
18180
18181 2009-08-10  Bruno Haible  <bruno@clisp.org>
18182
18183         Make it possible to use module 'gethostname' without module 'close'.
18184         * lib/unistd.in.h (close): Evoke a link error only if
18185         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
18186         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
18187         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18188         * modules/unistd (Makefile.am): Substitute
18189         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18190         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
18191         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
18192         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
18193         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18194         * modules/sys_ioctl (Makefile.am): Substitute
18195         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18196         * modules/socket (configure.ac): On native Windows, set
18197         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
18198         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
18199         Reported by Sam Steingold <sds@gnu.org>.
18200
18201 2009-08-10  Bruno Haible  <bruno@clisp.org>
18202
18203         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
18204         * modules/ioctl (configure.ac): Likewise.
18205
18206 2009-08-10  Bruno Haible  <bruno@clisp.org>
18207
18208         Avoid collision between gnulib wrapper and libintl wrapper.
18209         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
18210         already defined in intl/printf.c.
18211         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
18212         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
18213
18214 2009-08-09  Bruno Haible  <bruno@clisp.org>
18215
18216         Make <sys/select.h> really self-contained, also on Solaris 10.
18217         * lib/sys_select.in.h: Include <string.h>.
18218         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
18219         Solaris 10 problem.
18220         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
18221         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
18222         Reported by Jim Meyering.
18223
18224 2009-08-09  Bruno Haible  <bruno@clisp.org>
18225
18226         Avoid warnings from 'aclocal' that are due to a use of macro name
18227         AM_XGETTEXT_OPTION that is not defined in automake.
18228         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
18229         automake.
18230         * modules/error (configure.ac): Likewise.
18231         * modules/propername (configure.ac): Likewise.
18232         * modules/vasprintf (configure.ac): Likewise.
18233         * modules/verror (configure.ac): Likewise.
18234         * modules/xprintf (configure.ac): Likewise.
18235         * modules/xvasprintf (configure.ac): Likewise.
18236
18237 2009-08-08  Bruno Haible  <bruno@clisp.org>
18238
18239         Avoid compilation error in C++ mode.
18240         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
18241         Reported by Sam Steingold <sds@gnu.org>.
18242
18243 2009-08-08  Bruno Haible  <bruno@clisp.org>
18244
18245         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
18246         for the various Unix platforms.
18247         * doc/posix-headers/limits.texi: Update platforms list regarding
18248         HOST_NAME_MAX.
18249         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
18250
18251 2009-08-07  Jim Meyering  <meyering@redhat.com>
18252
18253         selinux-at: fix typo in a comment
18254         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
18255         Spotted by Paolo Bonzini.
18256
18257         selinux-at: remove redundant m4 code, add documentation
18258         * modules/selinux-at (configure.ac): Remove redundant code.
18259         LIB_SELINUX is already set via the dependent module, selinux-h.
18260         (Include): Add quotes around selinux-at.h.
18261         * lib/selinux-at.h: Add documentation.
18262         Reported by Bruno Haible in
18263         http://marc.info/?l=gnulib-bug&m=124958988300749
18264
18265 2009-08-07  Bruno Haible  <bruno@clisp.org>
18266
18267         Avoid link error on MacOS X 10.3 and 10.4.
18268         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
18269         on non-ELF systems.
18270         * lib/argp-pv.c (argp_program_version): Likewise.
18271         Reported by Simon Josefsson.
18272
18273 2009-08-07  Simon Josefsson  <simon@josefsson.org>
18274
18275         * tests/test-version-etc.sh: Use $EXEEXT.
18276
18277 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
18278
18279         update-copyright: update documentation to point to maint.mk
18280         * build-aux/update-copyright: Here.
18281
18282 2009-08-06  Jim Meyering  <meyering@redhat.com>
18283
18284         maint.mk: support update-copyright-local
18285         * top/maint.mk (update-copyright-local): Define place-holder.
18286         (update-copyright): Depend on $(update-copyright-local).
18287
18288 2009-08-06  Jim Meyering  <meyering@redhat.com>
18289
18290         selinux-at: new module
18291         Initially written for coreutils, this module will soon be
18292         used by findutils, too.
18293         * MODULES.html.sh [Misc]: Add selinux-at.
18294         * lib/selinux-at.h: New file, from coreutils.
18295         * lib/selinux-at.c: Likewise.
18296         * modules/selinux-at: Likewise.
18297         (License): Change from LGPL to GPL, since it depends
18298         on the GPL'd openat module.
18299
18300         doc: update README
18301         * README: Remove references to cogito.
18302         Remove cvs-repo-updating instructions from 2007.
18303         Don't imply that CVS is better if you have limited disk space.
18304
18305 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18306
18307         update-copyright: support C-style comments
18308         * build-aux/update-copyright: Implement and document.
18309         * tests/test-update-copyright.sh: Test.
18310
18311 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18312
18313         update-copyright: support omitted "(C)"
18314         * build-aux/update-copyright: Implement and document.  Also,
18315         allow variable whitespace before "(C)".
18316         * tests/test-update-copyright.sh: Test.
18317
18318 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18319
18320         update-copyright: don't trip on non-FSF copyright statements
18321         * build-aux/update-copyright: Fix so that the first correctly
18322         formatted FSF copyright statement is recognized no matter what
18323         appears before it.  Update documentation.
18324         * tests/test-update-copyright.sh: Test that.
18325
18326 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18327
18328         update-copyright: clean up code a little
18329         * build-aux/update-copyright: Append "_re" to the name of any
18330         variable holding a regular expression.
18331         Replace "old" and "new" with "stmt" in variable names.
18332         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
18333         handled correctly.
18334         Format code more consistently.
18335
18336 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
18337
18338         update-copyright-tests: improve portability
18339         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
18340         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
18341
18342 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
18343
18344         update-copyright: support @copyright{} and &copy;
18345         * build-aux/update-copyright: Implement and document.
18346         * tests/test-update-copyright.sh: Test.
18347
18348 2009-08-04  Jim Meyering  <meyering@redhat.com>
18349
18350         update-copyright-tests: correctly test EOL=\r\n handling
18351         * tests/test-update-copyright.sh: Put \r at the end of some lines
18352         for the dos-eol tests.  Based on a patch by Joel E. Denny.
18353
18354         maint.mk: make update-copyright exclusion list more configurable
18355         * top/maint.mk (update-copyright): Default to excluding COPYING,
18356         but allow an override, in case someone does want to update that file.
18357
18358         maint.mk: don't update copyright date in COPYING
18359         * top/maint.mk (update-copyright): Exclude COPYING.
18360
18361         maint.mk: add a copyright-updating rule
18362         * top/maint.mk (update-copyright): New rule.
18363         Derived from coreutils/Makefile.am.
18364
18365         update-copyright: rename some variables
18366         * build-aux/update-copyright: Rename a few variables for clarity.
18367         Tweak syntax.  List Joel E. Denny as coauthor.
18368
18369 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
18370
18371         update-copyright: fix bug for 2-digit last year and add tests
18372         * build-aux/update-copyright: Fix bug.
18373         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
18374         specified.
18375         * modules/update-copyright-tests: New
18376         * tests/test-update-copyright.sh: New.
18377
18378 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
18379
18380         update-copyright: handle leading tabs in line prefix
18381         * build-aux/update-copyright: Count leading tabs as 8 spaces
18382         when computing margin.  This helps with the formatting of
18383         ChangeLogs, for example.
18384         Fix documentation a little.
18385
18386 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
18387
18388         update-copyright: support EOL=\r\n
18389         * build-aux/update-copyright: Implement that.
18390
18391 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
18392
18393         update-copyright: automatically format copyright statements
18394         * build-aux/update-copyright: Implement that.
18395         Also, be a little more predictable and safer by always failing
18396         when the full copyright format is not perfectly recognized as an
18397         unbroken whole.  Discussed at
18398         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
18399         Rewrite documentation.
18400
18401 2009-08-03  Bruno Haible  <bruno@clisp.org>
18402
18403         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
18404
18405 2009-08-02  Bruno Haible  <bruno@clisp.org>
18406
18407         Tests for module 'uname'.
18408         * modules/uname-tests: New file.
18409         * tests/test-uname.c: New file.
18410
18411         New module 'uname'.
18412         * lib/uname.c: New file.
18413         * m4/uname.m4: New file.
18414         * modules/uname: New file.
18415         * doc/posix-functions/uname.texi: Mention the new module.
18416
18417 2009-08-02  Bruno Haible  <bruno@clisp.org>
18418
18419         Tests for module 'sys_utsname'.
18420         * modules/sys_utsname-tests: New file.
18421         * tests/test-sys_utsname.c: New file.
18422
18423         New module 'sys_utsname'.
18424         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
18425         * m4/sys_utsname_h.m4: New file.
18426         * modules/sys_utsname: New file.
18427         * doc/posix-headers/sys_utsname.texi: Mention the new module.
18428
18429 2009-08-02  Bruno Haible  <bruno@clisp.org>
18430
18431         Implicitly initialize the sockets library.
18432         * lib/gethostname.c: Include sockets.h.
18433         (rpl_gethostname): Invoke gl_sockets_startup.
18434         * lib/socket.c: Include sockets.h.
18435         (rpl_socket): Invoke gl_sockets_startup.
18436         * modules/gethostname (Depends-on): Add sockets.
18437         * modules/socket (Depends-on): Likewise.
18438         * tests/test-poll.c: Don't include sockets.h.
18439         (main): Don't invoke gl_sockets_startup.
18440         * tests/test-select.c: Don't include sockets.h.
18441         (main): Don't invoke gl_sockets_startup.
18442
18443 2009-08-02  Bruno Haible  <bruno@clisp.org>
18444
18445         Allow multiple calls to gl_sockets_startup.
18446         * lib/sockets.c (initialized_sockets_version): New variable.
18447         (gl_sockets_startup): Do nothing if already called for this or a higher
18448         version.
18449         (gl_sockets_cleanup): Reset initialized_sockets_version.
18450
18451 2009-08-03  Simon Josefsson  <simon@josefsson.org>
18452
18453         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
18454         different project/version.
18455
18456 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
18457             Bruno Haible  <bruno@clisp.org>
18458
18459         Tests for module 'pipe-filter-gi'.
18460         * modules/pipe-filter-gi-tests: New file.
18461         * tests/test-pipe-filter-gi1.sh: New file.
18462         * tests/test-pipe-filter-gi1.c: New file.
18463         * tests/test-pipe-filter-gi2.sh: New file.
18464         * tests/test-pipe-filter-gi2-main.c: New file.
18465         * tests/test-pipe-filter-gi2-child.c: New file.
18466
18467         New module 'pipe-filter-gi'.
18468         * lib/pipe-filter-gi.c: New file.
18469         * modules/pipe-filter-gi: New file.
18470
18471 2009-08-02  Bruno Haible  <bruno@clisp.org>
18472             Paolo Bonzini  <bonzini@gnu.org>
18473
18474         Tests for module 'pipe-filter-ii'.
18475         * modules/pipe-filter-ii-tests: New file.
18476         * tests/test-pipe-filter-ii1.sh: New file.
18477         * tests/test-pipe-filter-ii1.c: New file.
18478         * tests/test-pipe-filter-ii2.sh: New file.
18479         * tests/test-pipe-filter-ii2-main.c: New file.
18480         * tests/test-pipe-filter-ii2-child.c: New file.
18481
18482         New module 'pipe-filter-ii'.
18483         * lib/pipe-filter.h: New file.
18484         * lib/pipe-filter-ii.c: New file.
18485         * lib/pipe-filter-aux.h: New file.
18486         * modules/pipe-filter-ii: New file.
18487
18488 2009-08-02  Simon Josefsson  <simon@josefsson.org>
18489
18490         * lib/gc-libgcrypt.c: Change copyright to FSF.
18491         * lib/gc-gnulib.c: Likewise.
18492
18493 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
18494
18495         * lib/gethostname.c: Include limits.h.
18496
18497 2009-08-02  Simon Josefsson  <simon@josefsson.org>
18498             Bruno Haible  <bruno@clisp.org>
18499
18500         Ensure HOST_NAME_MAX as part of the gethostname module.
18501         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
18502         define also HOST_NAME_MAX.
18503         * tests/test-gethostname.c: Include <limits.h>.
18504         (main): Check also HOST_NAME_MAX.
18505         * doc/posix-headers/limits.texi: Document the mingw problem.
18506
18507 2009-08-02  Bruno Haible  <bruno@clisp.org>
18508
18509         * lib/gethostname.c (gethostname): Fix handling of large len argument.
18510         Add comments.
18511
18512 2009-03-31  Simon Josefsson  <simon@josefsson.org>
18513
18514         * lib/gethostname.c: Add Windows wrapper.
18515         * m4/gethostname.m4: Look for gethostname in -lws2_32.
18516         * modules/gethostname: Depend on sys_socket & errno, for also
18517         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
18518         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
18519
18520 2009-07-31  Jim Meyering  <meyering@redhat.com>
18521
18522         getloadavg: fix symbol name in comment
18523         * lib/getloadavg.c: Correct a typo I introduced when adding
18524         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
18525         Matt Kraai spotted the problem.
18526
18527 2009-07-29  Matt Kraai  <mkraai@beckman.com>
18528
18529         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
18530         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
18531         code also if ! defined N_NAME_POINTER.
18532         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
18533         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
18534         but the n_name member is a 12-byte array.
18535
18536 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
18537
18538         update-copyright: generalize comment handling
18539         * build-aux/update-copyright: Handle copyright statements
18540         within more comment styles.
18541         Document usage.
18542         Report any file with an external copyright holder or parse failure.
18543
18544 2009-07-29  Jim Meyering  <meyering@redhat.com>
18545
18546         mktime: correct setting of REPLACE_MKTIME
18547         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
18548
18549         update-copyright: new module
18550         * modules/update-copyright: New file.
18551         * build-aux/update-copyright: New file.
18552         * MODULES.html.sh (maint+release support): Add update-copyright.
18553
18554 2009-07-27  Bruno Haible  <bruno@clisp.org>
18555
18556         Fix compilation error when <ctime> is used and mktime is replaced.
18557         * lib/time.in.h (mktime): New declaration.
18558         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
18559         REPLACE_MKTIME instead of defining mktime in config.h.
18560         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
18561         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
18562         Reported by Ross McFarland <rwmcfa1@neces.com>.
18563
18564 2009-07-27  Bruno Haible  <bruno@clisp.org>
18565
18566         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
18567         Reported by Matt Kraai <mkraai@beckman.com>.
18568
18569 2009-07-25  Jim Meyering  <meyering@redhat.com>
18570
18571         maint.mk: avoid warnings about missing files
18572         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
18573         diagnostic when .prev-version does not exist.
18574         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
18575         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
18576         nonexistent cfg.mk.
18577         Suggestions from Simon Josefsson.
18578
18579 2009-07-25  Bruno Haible  <bruno@clisp.org>
18580
18581         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
18582         defined as macros. Needed on QNX 6.4.1.
18583         Reported by Matt Kraai <mkraai@beckman.com>.
18584
18585 2009-07-23  Jim Meyering  <meyering@redhat.com>
18586
18587         maint.mk: invoke "make dist" with a working value of XZ_OPT
18588         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
18589
18590 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
18591
18592         Make fseeko.c compile on QNX.
18593         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
18594
18595 2009-07-22  Peter Simons  <simons@cryp.to>
18596
18597         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
18598         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
18599         * lib/md4.h: Likewise.
18600         * lib/md5.h: Likewise.
18601         * lib/sha1.h: Likewise.
18602         * lib/sha256.h: Likewise.
18603         * lib/sha512.h: Likewise.
18604
18605         tests-sha1: don't assign literal string to 'char *' variable
18606         * tests/test-sha1.c (main): Declare locals with "const" to match
18607         attributes of the right hand side.
18608
18609 2009-07-21  Eric Blake  <ebb9@byu.net>
18610
18611         dup2: fix more mingw problems
18612         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
18613         fd to itself.
18614         * doc/posix-functions/dup2.texi (dup2): Document the bug.
18615         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
18616         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
18617         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
18618         care of mingw bugs.
18619
18620 2009-07-21  Jim Meyering  <meyering@redhat.com>
18621
18622         vc-list-files: avoid failure when /bin/sh is dash
18623         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
18624         On some Debian based systems, /bin/sh is a symlink to dash, and running
18625         this command would omit the "/" following each 'tests' prefix:
18626           dash -x build-aux/vc-list-files -C . tests
18627         That is because bash and dash work differently:
18628           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
18629           bash ok
18630           dash odd
18631
18632 2009-07-21  Eric Blake  <ebb9@byu.net>
18633
18634         dup2-tests: test previous patch
18635         * modules/dup2-tests: New file.
18636         * tests/test-dup2.c: Likewise.
18637         * tests/test-open.c (main): Avoid unspecified behavior.
18638         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
18639         test.
18640
18641         dup2: work around mingw and cygwin 1.5 bug
18642         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
18643         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
18644         * modules/unistd (Makefile.am): Substitute it.
18645         * lib/unistd.in.h (dup2): Declare the replacement.
18646         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
18647         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
18648         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
18649         * modules/execute (Depends-on): Add dup2.
18650         * modules/fseterr (Depends-on): Likewise.
18651         * modules/pipe (Depends-on): Likewise.
18652         * modules/posix_spawn-internal (Depends-on): Likewise.
18653
18654 2009-07-21  Bruno Haible  <bruno@clisp.org>
18655
18656         * modules/.gitattributes: New file.
18657
18658 2009-07-20  Bruno Haible  <bruno@clisp.org>
18659
18660         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
18661         (main): Use it.
18662
18663 2009-07-20  Eric Blake  <ebb9@byu.net>
18664
18665         test-pipe: make a bit more robust.
18666         * tests/test-pipe.c (myerr): Allow error messages regardless of
18667         what we do to stderr.
18668         (test_pipe): Rearrange to avoid deadlock.
18669         (child_main): Try a larger read, to ensure we avoided deadlock.
18670         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
18671         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
18672         if misused.
18673
18674 2009-07-19  Jim Meyering  <meyering@redhat.com>
18675
18676         fts: avoid false-positive cycle-detection
18677         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
18678         for each new command line argument.
18679
18680 2009-07-19  Bruno Haible  <bruno@clisp.org>
18681
18682         Fix build error on mingw with the modules sys_select and unistd.
18683         * modules/acl-tests (Depends-on): Add close.
18684         * modules/binary-io-tests (Depends-on): Likewise.
18685         * modules/closein-tests (Depends-on): Likewise.
18686         * modules/flock-tests (Depends-on): Likewise.
18687         * modules/fsync-tests (Depends-on): Likewise.
18688         * modules/lseek-tests (Depends-on): Likewise.
18689         * modules/pipe-tests (Depends-on): Likewise.
18690         * modules/posix_spawn-tests (Depends-on): Likewise.
18691         * modules/posix_spawnp-tests (Depends-on): Likewise.
18692         * modules/stat-time-tests (Depends-on): Likewise.
18693         * modules/yesno-tests (Depends-on): Likewise.
18694
18695 2009-07-19  Bruno Haible  <bruno@clisp.org>
18696
18697         Unify conditionals.
18698         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
18699         macros, not at the compiler macros.
18700         * lib/pipe.c: Likewise.
18701         * lib/execute.c: Likewise.
18702         * lib/spawni.c: Likewise.
18703
18704 2009-07-19  Bruno Haible  <bruno@clisp.org>
18705
18706         Fix handling of closed stdin/stdout/stderr on mingw.
18707         * lib/w32spawn.h: Include unistd.h.
18708         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
18709         file descriptor with O_NOINHERIT flag.
18710         (fd_safer_noinherit): New function, based on fd-safer.c.
18711         (dup_safer_noinherit): New function, based on dup-safer.c.
18712         (undup_safer_noinherit): New function.
18713         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
18714         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
18715         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
18716         instead of fd_safer.
18717         * tests/test-pipe.c: Include <windows.h>.
18718         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close() result.
18719
18720         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
18721         from main.
18722         (test_pipe): Pass an extra argument for disambiguation.
18723         (main): Invoke parent_main or child_main.
18724
18725         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
18726         consistently.
18727
18728 2009-07-18  Eric Blake  <ebb9@byu.net>
18729
18730         test-pipe: fix mingw build
18731         * tests/test-pipe.c (main): Avoid fcntl on mingw.
18732
18733 2009-07-18  Bruno Haible  <bruno@clisp.org>
18734
18735         * modules/pipe-tests (Makefile.am): Fix typo.
18736
18737 2009-07-18  Eric Blake  <ebb9@byu.net>
18738
18739         error: fix mingw build
18740         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
18741         Reported by Bruno Haible.
18742
18743         error: avoid undefined use of stdout
18744         * lib/error.c (error, error_at_line): Check that fd 1 is open
18745         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
18746         is handling faults and the close_stdout module wants to report the
18747         detection of closed stdout as an error.
18748
18749 2009-07-17  Eric Blake  <ebb9@byu.net>
18750
18751         pipe: be robust in face of closed fds
18752         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
18753         should cause child to misbehave.
18754         * modules/pipe-tests: New module.
18755         * tests/test-pipe.c: New file.
18756         * tests/test-pipe.sh: New file.
18757         Reported by Akim Demaille.
18758
18759 2009-07-14  Bruno Haible  <bruno@clisp.org>
18760
18761         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
18762         Reported by anonymous kc.
18763
18764 2009-07-07  Jim Meyering  <meyering@redhat.com>
18765
18766         maint.mk: don't look for translatable strings in *.m4 or *.mk
18767         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
18768         when searching for translatable strings.
18769
18770 2009-07-05  Jim Meyering  <meyering@redhat.com>
18771
18772         remove superfluous parentheses in STREQ definition
18773         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
18774         * lib/getugroups.c (STREQ): Likewise.
18775         * lib/fnmatch.c (STREQ): Likewise.
18776         Spotted by Bruno Haible.
18777
18778 2009-07-04  Jim Meyering  <meyering@redhat.com>
18779
18780         argv-iter: new module
18781         * MODULES.html.sh: Add argv-iter.
18782         * lib/argv-iter.c, lib/argv-iter.h: New files.
18783         * modules/argv-iter: New file.
18784         * modules/argv-iter-tests: New file.
18785         * tests/test-argv-iter.c: Test it.
18786
18787 2009-07-04  Bruno Haible  <bruno@clisp.org>
18788
18789         Fix assertion.
18790         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
18791         contains more exact copies of a given entry than file2, leave the extra
18792         copies unpaired rather than aborting.
18793         Reported by Eric Blake.
18794
18795 2009-07-02  Bruno Haible  <bruno@clisp.org>
18796
18797         Speedup git-merge-changelog for git cherry-pick.
18798         * lib/git-merge-changelog.c (struct entries_mapping): New type.
18799         (entries_mapping_get): New function, extracted from compute_mapping.
18800         (entries_mapping_reverse_get): New function.
18801         (compute_mapping): Add a 'full' argument. Return the result in a
18802         'struct entries_mapping'.
18803         (main): Update. Access the mappings through entries_mapping_get.
18804         Reported by Eric Blake.
18805
18806 2009-07-02  Bruno Haible  <bruno@clisp.org>
18807
18808         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
18809         best_i.
18810
18811 2009-07-02  Bruno Haible  <bruno@clisp.org>
18812
18813         Speed up approximate search for matching ChangeLog entries.
18814         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
18815         argument. Call fstrcmp_bounded instead of fstrcmp.
18816         (compute_mapping, try_split_merged_entry, main): Update callers.
18817
18818 2009-07-02  Bruno Haible  <bruno@clisp.org>
18819
18820         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
18821
18822 2009-06-30  Bruno Haible  <bruno@clisp.org>
18823
18824         Reduce the number of uc_is_cased calls.
18825         * lib/unicase.h (casing_suffix_context_t): Add
18826         'first_char_except_ignorable' field.
18827         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
18828         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
18829         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
18830         Update initializer.
18831         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
18832         case-ignorable characters.
18833         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
18834         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
18835         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
18836         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
18837         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
18838
18839 2009-06-30  Bruno Haible  <bruno@clisp.org>
18840
18841         Tests for module 'unicase/ignorable'.
18842         * modules/unicase/ignorable-tests: New file.
18843         * tests/unicase/test-ignorable.c: New file, generated by
18844         gen-uni-tables.
18845
18846         Tests for module 'unicase/cased'.
18847         * modules/unicase/cased-tests: New file.
18848         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
18849         * tests/unicase/test-predicate-part1.h: New file, derived from
18850         tests/unictype/test-predicate-part1.h.
18851         * tests/unicase/test-predicate-part2.h: New file, same as
18852         tests/unictype/test-predicate-part2.h.
18853
18854         Fix evaluation of "Before C" condition of FINAL_SIGMA.
18855         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
18856         (output_casing_properties): New function.
18857         (main): Call it.
18858         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
18859         * lib/unicase/cased.c: Include unictype/bitmap.h.
18860         (uc_is_cased): Define through a bitmap lookup.
18861         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
18862         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
18863         (uc_is_case_ignorable): Define through a bitmap lookup.
18864         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
18865         lib/unictype/bitmap.h.
18866         (Depends-on): Add inline. Clean up.
18867         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
18868         lib/unictype/bitmap.h.
18869         (Depends-on): Add inline. Clean up.
18870         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
18871         recognition.
18872         * tests/unicase/test-u16-tolower.c (main): Likewise.
18873         * tests/unicase/test-u32-tolower.c (main): Likewise.
18874
18875 2009-06-30  Bruno Haible  <bruno@clisp.org>
18876
18877         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
18878         * lib/unicase/u16-casemap.c: Likewise.
18879         * lib/unicase/u32-casemap.c: Likewise.
18880
18881 2009-06-29  Bruno Haible  <bruno@clisp.org>
18882
18883         Define u32_casefold as a wrapper around u32_ct_casefold.
18884         * lib/unicase/u32-casefold.c: Update.
18885         * modules/unicase/u32-casefold (Depends-on): Add
18886         unicase/u32-ct-casefold, unicase/empty-prefix-context,
18887         unicase/empty-suffix-context. Clean up.
18888
18889         Define u16_casefold as a wrapper around u16_ct_casefold.
18890         * lib/unicase/u16-casefold.c: Update.
18891         * modules/unicase/u16-casefold (Depends-on): Add
18892         unicase/u16-ct-casefold, unicase/empty-prefix-context,
18893         unicase/empty-suffix-context. Clean up.
18894
18895         Define u8_casefold as a wrapper around u8_ct_casefold.
18896         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
18897         * lib/unicase/u8-casefold.c: Update.
18898         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
18899         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
18900
18901         Define u32_totitle as a wrapper around u32_ct_totitle.
18902         * lib/unicase/u32-totitle.c: Update.
18903         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
18904         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
18905
18906         Define u16_totitle as a wrapper around u16_ct_totitle.
18907         * lib/unicase/u16-totitle.c: Update.
18908         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
18909         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
18910
18911         Define u8_totitle as a wrapper around u8_ct_totitle.
18912         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
18913         functions.
18914         (FUNC): Delegate to U_CT_TOTITLE.
18915         * lib/unicase/u8-totitle.c: Update.
18916         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
18917         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
18918
18919         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
18920         invocation.
18921         * modules/unicase/u32-tolower (Depends-on): Add
18922         unicase/empty-prefix-context, unicase/empty-suffix-context.
18923
18924         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
18925         invocation.
18926         * modules/unicase/u16-tolower (Depends-on): Add
18927         unicase/empty-prefix-context, unicase/empty-suffix-context.
18928
18929         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
18930         * modules/unicase/u8-tolower (Depends-on): Add
18931         unicase/empty-prefix-context, unicase/empty-suffix-context.
18932
18933         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
18934         invocation.
18935         * modules/unicase/u32-toupper (Depends-on): Add
18936         unicase/empty-prefix-context, unicase/empty-suffix-context.
18937
18938         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
18939         invocation.
18940         * modules/unicase/u16-toupper (Depends-on): Add
18941         unicase/empty-prefix-context, unicase/empty-suffix-context.
18942
18943         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
18944         * modules/unicase/u8-toupper (Depends-on): Add
18945         unicase/empty-prefix-context, unicase/empty-suffix-context.
18946
18947         New module 'unicase/u32-ct-casefold'.
18948         * lib/unicase/u32-ct-casefold.c: New file.
18949         * modules/unicase/u32-ct-casefold: New file.
18950
18951         New module 'unicase/u16-ct-casefold'.
18952         * lib/unicase/u16-ct-casefold.c: New file.
18953         * modules/unicase/u16-ct-casefold: New file.
18954
18955         New module 'unicase/u8-ct-casefold'.
18956         * lib/unicase/u8-ct-casefold.c: New file.
18957         * lib/unicase/u-ct-casefold.h: New file, derived from
18958         lib/unicase/u-casefold.h.
18959         * modules/unicase/u8-ct-casefold: New file.
18960
18961         New module 'unicase/u32-ct-totitle'.
18962         * lib/unicase/u32-ct-totitle.c: New file.
18963         * modules/unicase/u32-ct-totitle: New file.
18964
18965         New module 'unicase/u16-ct-totitle'.
18966         * lib/unicase/u16-ct-totitle.c: New file.
18967         * modules/unicase/u16-ct-totitle: New file.
18968
18969         New module 'unicase/u8-ct-totitle'.
18970         * lib/unicase/u8-ct-totitle.c: New file.
18971         * lib/unicase/u-ct-totitle.h: New file, derived from
18972         lib/unicase/u-totitle.h.
18973         * modules/unicase/u8-ct-totitle: New file.
18974
18975         New module 'unicase/u32-ct-tolower'.
18976         * lib/unicase/u32-ct-tolower.c: New file.
18977         * modules/unicase/u32-ct-tolower: New file.
18978
18979         New module 'unicase/u16-ct-tolower'.
18980         * lib/unicase/u16-ct-tolower.c: New file.
18981         * modules/unicase/u16-ct-tolower: New file.
18982
18983         New module 'unicase/u8-ct-tolower'.
18984         * lib/unicase/u8-ct-tolower.c: New file.
18985         * modules/unicase/u8-ct-tolower: New file.
18986
18987         New module 'unicase/u32-ct-toupper'.
18988         * lib/unicase/u32-ct-toupper.c: New file.
18989         * modules/unicase/u32-ct-toupper: New file.
18990
18991         New module 'unicase/u16-ct-toupper'.
18992         * lib/unicase/u16-ct-toupper.c: New file.
18993         * modules/unicase/u16-ct-toupper: New file.
18994
18995         New module 'unicase/u8-ct-toupper'.
18996         * lib/unicase/u8-ct-toupper.c: New file.
18997         * modules/unicase/u8-ct-toupper: New file.
18998
18999         Add context arguments to u*_casemap functions.
19000         * lib/unicase/unicasemap.h: Include unicase.h.
19001         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
19002         suffix_context arguments.
19003         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
19004         functions.
19005         (FUNC): Add prefix_context and suffix_context arguments. Use
19006         uc_is_cased and uc_is_case_ignorable.
19007         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
19008         * lib/unicase/u16-casemap.c: Likewise.
19009         * lib/unicase/u32-casemap.c: Likewise.
19010         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
19011         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
19012         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
19013         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
19014         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
19015         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
19016
19017         New module 'unicase/u32-suffix-context'.
19018         * lib/unicase/u32-suffix-context.c: New file.
19019         * modules/unicase/u32-suffix-context: New file.
19020
19021         New module 'unicase/u16-suffix-context'.
19022         * lib/unicase/u16-suffix-context.c: New file.
19023         * modules/unicase/u16-suffix-context: New file.
19024
19025         New module 'unicase/u8-suffix-context'.
19026         * lib/unicase/u8-suffix-context.c: New file.
19027         * lib/unicase/u-suffix-context.h: New file.
19028         * modules/unicase/u8-suffix-context: New file.
19029
19030         New module 'unicase/empty-suffix-context'.
19031         * lib/unicase/empty-suffix-context.c: New file.
19032         * modules/unicase/empty-suffix-context: New file.
19033
19034         New module 'unicase/u32-prefix-context'.
19035         * lib/unicase/u32-prefix-context.c: New file.
19036         * modules/unicase/u32-prefix-context: New file.
19037
19038         New module 'unicase/u16-prefix-context'.
19039         * lib/unicase/u16-prefix-context.c: New file.
19040         * modules/unicase/u16-prefix-context: New file.
19041
19042         New module 'unicase/u8-prefix-context'.
19043         * lib/unicase/u8-prefix-context.c: New file.
19044         * lib/unicase/u-prefix-context.h: New file.
19045         * lib/unicase/context.h: New file.
19046         * modules/unicase/u8-prefix-context: New file.
19047
19048         New module 'unicase/empty-prefix-context'.
19049         * lib/unicase/empty-prefix-context.c: New file.
19050         * modules/unicase/empty-prefix-context: New file.
19051
19052         New module 'unicase/ignorable'.
19053         * lib/unicase/ignorable.c: New file.
19054         * modules/unicase/ignorable: New file.
19055
19056         New module 'unicase/cased'.
19057         * lib/unicase/caseprop.h: New file.
19058         * lib/unicase/cased.c: New file.
19059         * modules/unicase/cased: New file.
19060
19061         New functions for case mapping of substrings.
19062         * lib/unicase.h (casing_prefix_context_t): New type.
19063         (unicase_empty_prefix_context): New variable.
19064         (u8_casing_prefix_context, u16_casing_prefix_context,
19065         u32_casing_prefix_context, u8_casing_prefixes_context,
19066         u16_casing_prefixes_context, u32_casing_prefixes_context): New
19067         declarations.
19068         (casing_suffix_context_t): New type.
19069         (unicase_empty_suffix_context): New variable.
19070         (u8_casing_suffix_context, u16_casing_suffix_context,
19071         u32_casing_suffix_context, u8_casing_suffixes_context,
19072         u16_casing_suffixes_context, u32_casing_suffixes_context,
19073         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
19074         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
19075         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
19076         declarations.
19077
19078 2009-06-28  Jim Meyering  <meyering@redhat.com>
19079
19080         boostrap: indent only with spaces
19081         * build-aux/bootstrap: Indent only with spaces, never TABs.
19082
19083         bootstrap: split long lines
19084         * build-aux/bootstrap: Keep line length < 80.
19085
19086         bootstrap: sync from coreutils
19087         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
19088         just as autoreconf does.  Verify a list of prerequisite
19089         package-name,version-number pairs if defined in bootstrap.conf.
19090         Refer to README-prereq, if prerequisites are not satisfied.
19091
19092 2009-06-27  Eric Blake  <ebb9@byu.net>
19093
19094         tests: add test for bogus NULL definition
19095         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
19096         * tests/test-stdlib.c: Likewise.
19097         * tests/test-string.c: Likewise.
19098         * tests/test-locale.c: Likewise.
19099         * tests/test-unistd.c: Likewise.
19100         * modules/stdio-tests (Depends-on): Add verify.
19101         * modules/stdlib-tests (Depends-on): Likewise.
19102         * modules/string-tests (Depends-on): Likewise.
19103         * modules/locale-tests (Depends-on): Likewise.
19104         * modules/unistd-tests (Depends-on): Likewise.
19105
19106 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
19107
19108         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
19109         self-explaining comment.
19110         * m4/selinux-selinux-h: Update serial.
19111         (gl_LIBSELINUX): New macro, adding a warning for missing development
19112         packages to code extracted from...
19113         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
19114         Add warning for missing development packages here, too.
19115
19116 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
19117
19118         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
19119
19120 2009-06-25  Eric Blake  <ebb9@byu.net>
19121
19122         version-etc: fix regression
19123         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
19124         gcc.
19125         (version_etc): Use it, to catch bugs with trailing NULL.
19126         * lib/version-etc.c (version_etc_arn): Delete unused argument.
19127         (version_etc_va): Fix logic bug.
19128         * modules/version-etc-tests: Add test.
19129         * tests/test-version-etc.c: New file.
19130         * tests/test-version-etc.sh: Likewise.
19131
19132 2009-06-25  Sam Steingold  <sds@gnu.org>
19133
19134         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
19135         mbtowc declaration.
19136
19137 2009-06-25  Eric Blake  <ebb9@byu.net>
19138
19139         fpurge: migrate into <stdio.h>
19140         * lib/fpurge.h: Delete...
19141         * lib/stdio.in.h (fpurge): ...and declare here, instead.
19142         * lib/fpurge.c (fpurge): Change declaring header.
19143         * modules/fpurge (Files): Drop deleted file.
19144         (Depends-on): Add stdio.
19145         (configure.ac): Set witness.
19146         * modules/stdio (Makefile.am): Support fpurge macros.
19147         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
19148         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
19149         * lib/fflush.c: Update client.
19150         * tests/test-fpurge.c: Likewise.
19151         * NEWS: Mention the change.
19152
19153 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19154
19155         * lib/argp-version-etc.c (program_authors): Add const
19156         qualifier.
19157         * lib/version-etc.c: Fix typos in the comments.
19158         * modules/argp-version-etc: Depends on version-etc.
19159
19160 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19161
19162         argp-version-etc: new module.
19163
19164         * lib/argp-version-etc.c: New file.
19165         * lib/argp-version-etc.h: New file.
19166         * modules/argp-version-etc: New file.
19167         * modules/argp-version-etc-tests: New file.
19168         * tests/test-argp-version-etc.c: New test.
19169         * tests/test-argp-version-etc-1.sh: New test.
19170
19171 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
19172
19173         Provide additional interfaces and documentation for version-etc
19174         module.
19175
19176         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
19177         interfaces.
19178         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
19179         prototypes.
19180
19181 2009-06-24  Bruno Haible  <bruno@clisp.org>
19182
19183         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
19184         HAVE_LIB${NAME} macro.
19185         Reported by Sam Steingold <sds@gnu.org>.
19186
19187 2009-06-23  Simon Josefsson  <simon@josefsson.org>
19188
19189         * modules/hash-tests (test_hash_LDADD): Link to libintl when
19190         needed.
19191
19192 2009-06-21  Bruno Haible  <bruno@clisp.org>
19193
19194         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
19195         work.
19196         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
19197         together with LIB${NAME}, LTLIB${NAME}.
19198         Reported by Sam Steingold <sds@gnu.org>.
19199
19200 2009-06-20  Jim Meyering  <meyering@redhat.com>
19201
19202         tests: make sc_require_test_exit_idiom more generic
19203         * top/maint.mk (Exit_witness_file): New overridable variable.
19204         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
19205         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
19206
19207 2009-06-19  Jim Meyering  <meyering@redhat.com>
19208
19209         hash: reverse order of src/dst parameters in an internal interface
19210         * lib/hash.c (transfer_entries): Reverse order of parameters to
19211         put DST before SRC.  Adjust callers.
19212
19213         tests: test-hash: avoid wholesale duplication
19214         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
19215         Instead, use a loop and add a single conditional.
19216
19217         tests: test-hash: allow seed selection via a command line argument
19218         * tests/test-hash.c (get_seed): New function.
19219         (main): Use it.
19220
19221 2009-06-19  Eric Blake  <ebb9@byu.net>
19222
19223         hash: avoid memory leak on allocation failure
19224         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
19225         failure.  Factor repeated algorithm...
19226         (transfer_entries): ...into new helper routine.
19227         (hash_delete): React to hash_rehash return value.
19228
19229         hash: reduce memory pressure in hash_rehash no-op case
19230         * lib/hash.c (next_prime): Avoid overflow.
19231         (hash_initialize): Factor bucket size computation...
19232         (compute_bucket_size): ...into new helper function.
19233         (hash_rehash): Use new function and open coding to reduce memory
19234         pressure, and avoid a memory leak in USE_OBSTACK code.
19235         Reported by Jim Meyering.
19236
19237 2009-06-18  Eric Blake  <ebb9@byu.net>
19238
19239         hash: make rotation more obvious
19240         * modules/hash (Depends-on): Add bitrotate and stdint.
19241         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
19242         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
19243         (SIZE_MAX): Rely on headers for definition.
19244         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
19245         (raw_hasher): Use rotr_sz.
19246         Suggested by Jim Meyering.
19247
19248         hash: fix memory leak in last patch
19249         * lib/hash.c (hash_rehash): Avoid memory leak.
19250
19251         hash: avoid no-op rehashing
19252         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
19253
19254         hash: provide default callback functions
19255         * lib/hash.c (raw_hasher, raw_comparator): New functions.
19256         (hash_initialize): Use them as defaults.
19257         * tests/test-hash.c (main): Test this.
19258
19259         hash: minor optimization
19260         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
19261         when possible.
19262         (hash_initialize): Document this promise.
19263         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
19264         * tests/test-hash.c (hash_compare_strings): Test this.
19265
19266 2009-06-18  Bruno Haible  <bruno@clisp.org>
19267
19268         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
19269         going to be replaced anyway.
19270
19271 2009-06-18  Bruno Haible  <bruno@clisp.org>
19272
19273         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
19274         in one place.
19275         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
19276         be replaced anyway.
19277
19278 2009-06-18  Eric Blake  <ebb9@byu.net>
19279
19280         hash: check for resize before insertion
19281         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
19282         threshold before insertion, so that a pathological hash_rehash
19283         that fills every bucket can still trigger another rehash.
19284
19285 2009-06-18  Jim Meyering  <meyering@redhat.com>
19286
19287         hash-tests: add a loop around the small tests
19288         * tests/test-hash.c (main): Repeat small tests with selected
19289         small initial table sizes.
19290
19291 2009-06-17  Eric Blake  <ebb9@byu.net>
19292
19293         hash: minor cleanups
19294         * lib/hash.h (hash_entry): Make opaque, by moving...
19295         * lib/hash.c (hash_entry): ...here.
19296         (hash_insert): Clarify restrictions on what can be inserted.
19297         (hash_get_next): Clarify when it is safe to remove an element
19298         during traversal.
19299         (check_tuning): Skip verification when tuning is known safe.
19300         (hash_initialize): Clarify restrictions on tuning.
19301
19302 2009-06-17  Jim Meyering  <jim@meyering.net>
19303         and Eric Blake  <ebb9@byu.net>
19304
19305         hash-tests: new module
19306         * modules/hash-tests: New file.
19307         * tests/test-hash.c: New file.
19308
19309 2009-06-17  Eric Blake  <ebb9@byu.net>
19310
19311         strstr-simple: document new module
19312         * MODULES.html.sh: Document new module.
19313
19314         strstr, strcasestr: replace on platforms with broken memchr
19315         * modules/strstr: Split into...
19316         * modules/strstr-simple: ...new module that does not care about
19317         performance, but does care about glibc bug.
19318         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
19319         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
19320         if platform memchr is broken, per Debian bug 521737.
19321         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
19322         memchr.
19323         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
19324         * doc/posix-functions/strstr.texi (strstr): Document the fix.
19325         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
19326         * modules/mountlist (Depends-on): Add strstr-simple.
19327         * modules/gen-uni-tables (Depends-on): Likewise.
19328         * modules/argz (Depends-on): Add strstr.
19329
19330 2009-06-17  Bruno Haible  <bruno@clisp.org>
19331
19332         * modules/posix_spawn-internal (Depends-on): Add errno.
19333
19334 2009-06-17  Bruno Haible  <bruno@clisp.org>
19335
19336         Define missing ESTALE on Interix 3.5.
19337         * lib/errno.in.h (ESTALE): Assign a value if missing.
19338         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
19339         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
19340         missing.
19341         * doc/posix-headers/errno.texi: Mention the Interix bug.
19342         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
19343
19344 2009-06-15  Eric Blake  <ebb9@byu.net>
19345
19346         memchr, memchr2: add valgrind exception
19347         * lib/memchr.valgrind: New file.
19348         * lib/memchr2.valgrind: New file.
19349         * modules/memchr (Files): Distribute valgrind file.
19350         * modules/memchr2 (Files): Likewise.
19351
19352         docs: memchr is no longer obsolete
19353         * MODULES.html.sh: Move memchr from obsolete to string.h section.
19354         * lib/string.in.h (memchr): Simplify logic.
19355
19356 2009-06-14  Jim Meyering  <meyering@redhat.com>
19357
19358         link-follow: fix the "checking..." message to not mention trailing slash
19359         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
19360         never considered trailing slashes.
19361
19362 2009-06-14  Bruno Haible  <bruno@clisp.org>
19363
19364         * m4/memchr.m4: Mention also the bug on IA-64.
19365         * doc/posix-functions/memchr.texi: Likewise.
19366
19367 2009-06-12  Eric Blake  <ebb9@byu.net>
19368
19369         memchr: detect broken x86_64 and alpha implementations
19370         * modules/memchr-tests (Depends-on): Move mmap detection...
19371         * modules/memchr (Depends-on): ...here.
19372         (configure.ac): Set indicator.
19373         * lib/string.in.h (memchr): Declare replacement.
19374         * modules/string (Makefile.am): Trigger replacement.
19375         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
19376         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
19377         bugs.
19378         * doc/posix-functions/memchr.texi (memchr): Document the bug.
19379         * modules/getpagesize (License): Relax license.
19380
19381 2009-06-11  Bruno Haible  <bruno@clisp.org>
19382
19383         * lib/idpriv.h: Add more references.
19384
19385 2009-06-08  Bruno Haible  <bruno@clisp.org>
19386
19387         Tests for module 'idpriv-droptemp'.
19388         * modules/idpriv-droptemp-tests: New file.
19389         * tests/test-idpriv-droptemp.sh: New file.
19390         * tests/test-idpriv-droptemp.su.sh: New file.
19391         * tests/test-idpriv-droptemp.c: New file.
19392
19393         New module 'idpriv-droptemp'.
19394         * lib/idpriv-droptemp.c: New file.
19395         * modules/idpriv-droptemp: New file.
19396
19397 2009-06-08  Bruno Haible  <bruno@clisp.org>
19398
19399         Tests for module 'idpriv-drop'.
19400         * modules/idpriv-drop-tests: New file.
19401         * tests/test-idpriv-drop.sh: New file.
19402         * tests/test-idpriv-drop.su.sh: New file.
19403         * tests/test-idpriv-drop.c: New file.
19404
19405         New module 'idpriv-drop'.
19406         * lib/idpriv.h: New file.
19407         * lib-idpriv-drop.c: New file.
19408         * m4/idpriv.m4: New file.
19409         * modules/idpriv-drop: New file.
19410
19411 2009-06-08  Bruno Haible  <bruno@clisp.org>
19412
19413         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
19414         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
19415         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
19416         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
19417         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
19418         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
19419         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
19420
19421 2009-06-08  Eric Blake  <ebb9@byu.net>
19422
19423         test-strstr: use memory fence, when possible
19424         * tests/test-strstr.c (main): Use memory fence, in order to be
19425         more likely to trigger Debian bug 521737.
19426         * modules/strstr-tests (Files): Pull in additional files.
19427
19428         memchr: no longer obsolete, for wider field testing
19429         * modules/memchr (Status, Notice): Delete, this module is no
19430         longer obsolete.
19431         * modules/vasnprintf (Depends-on): Add memchr.
19432
19433 2009-06-07  Jim Meyering  <meyering@redhat.com>
19434
19435         hash: declare some functions with the warn_unused_result attribute
19436         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
19437
19438 2009-06-07  Bruno Haible  <bruno@clisp.org>
19439
19440         * tests/test-alignof.c: Don't test int64_t if it does not exist.
19441         Reported by Eric Blake.
19442
19443 2009-06-06  Eric Blake  <ebb9@byu.net>
19444
19445         test-alignof: fix typo with long double
19446         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
19447         compiler error.
19448
19449 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
19450
19451         Escape non-texinfo { and }s.
19452         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
19453         markup error.
19454
19455 2009-06-04  Jim Meyering  <meyering@redhat.com>
19456
19457         gitlog-to-changelog: don't infloop on an empty commit log
19458         * build-aux/gitlog-to-changelog: Warn about an empty log message.
19459         Reported by Boris Petersen <transacid@centerim.org>.
19460
19461 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
19462
19463         version-etc: extend for packagers
19464         Add three new configure options, intended for packagers:
19465           --with-packager="packager name"
19466           --with-packager-version="packager-specific version"
19467           --with-packager-bug-reports="packager bug reporting"
19468         An example with coreutils:
19469           $ ./configure \
19470             --with-packager=Gentoo \
19471             --with-packager-bug-report=http://bugs.gentoo.org/ \
19472             --with-packager-version="patchset 1.6"
19473           $ ./src/ls --version | head -n2
19474           ls (GNU coreutils) 7.1-dirty
19475           Packaged by Gentoo (patchset 1.6)
19476         Note that the bug reporting info via --help doesn't show up because
19477         coreutils uses its own custom emit_bug_reporting_address() implementation
19478         in src/system.h.  If it didn't, it'd look like:
19479           $ ./src/ls --help | tail -n4
19480           Report bugs to <bug-coreutils@gnu.org>.
19481           Report Gentoo bugs to <http://bugs.gentoo.org/>.
19482           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
19483           General help using GNU software: <http://www.gnu.org/gethelp/>.
19484         * lib/version-etc.c: Print new information, if provided.
19485         * m4/version-etc.m4: New file.
19486         * modules/version-etc (Files): Add m4/version-etc.m4.
19487         (configure.ac): Add gl_VERSION_ETC.
19488
19489 2009-05-31  Bruno Haible  <bruno@clisp.org>
19490
19491         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
19492         and 'int64_t'.
19493         * modules/alignof-tests (Dependencies): Add stdint.
19494         Reported by Eric Blake.
19495
19496 2009-05-31  Bruno Haible  <bruno@clisp.org>
19497
19498         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
19499         restriction due to compiler bugs.
19500         Reported by Eric Blake.
19501
19502 2009-05-31  Simon Josefsson  <simon@josefsson.org>
19503             Bruno Haible  <bruno@clisp.org>
19504
19505         Fix test-alignof failure.
19506         * lib/alignof.h (alignof_slot): New macro.
19507         (alignof_type): New macro, with the same semantics as the previous
19508         'alignof'.
19509         (alignof): Alias to alignof_slot.
19510         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
19511         check that the results are usable as constant expressions.
19512
19513 2009-05-31  Bruno Haible  <bruno@clisp.org>
19514
19515         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
19516         * tests/test-memchr.c (main): Check that memchr does not read past the
19517         first occurrence of the byte.
19518         * tests/test-strstr.c (main): Update comment.
19519         Suggested by Eric Blake.
19520
19521 2009-05-30  Bruno Haible  <bruno@clisp.org>
19522
19523         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
19524         detail how to use dumpbin.
19525         Reported by David Byron <dbyron@dbyron.com>.
19526
19527 2009-06-02  Simon Josefsson  <simon@josefsson.org>
19528
19529         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
19530
19531 2009-06-02  Simon Josefsson  <simon@josefsson.org>
19532
19533         * m4/manywarnings.m4: Add GCC 4.4 warnings.
19534
19535 2009-05-28  Bruno Haible  <bruno@clisp.org>
19536
19537         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
19538         build-aux/ files.
19539
19540 2009-05-28  Simon Josefsson  <simon@josefsson.org>
19541
19542         * gnulib-tool (func_import): Transform license on build-aux/ files too.
19543
19544 2009-05-27  Simon Josefsson  <simon@josefsson.org>
19545
19546         * gnulib-tool (sed_transform_main_lib_file)
19547         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
19548         regexps.
19549
19550 2009-05-26  Simon Josefsson  <simon@josefsson.org>
19551
19552         * tests/test-strstr.c: Add another self-test.
19553         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
19554         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
19555
19556 2009-05-23  Bruno Haible  <bruno@clisp.org>
19557
19558         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
19559         change.
19560
19561 2009-05-21  Bruno Haible  <bruno@clisp.org>
19562
19563         Simplify use of mode_t varargs.
19564         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
19565         uses 'mode_t' or 'int'.
19566         * lib/openat.c (openat): Likewise.
19567         * lib/open-safer.c (open_safer): Likewise.
19568         * m4/mode_t.m4: New file.
19569         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
19570         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
19571         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
19572         * modules/open (Files): Add m4/mode_t.m4.
19573         * modules/openat (Files): Likewise.
19574         * modules/fcntl-safer (Files): Likewise.
19575         Suggested by Eric Blake.
19576
19577 2009-05-21  Pádraig Brady  <P@draigbrady.com>
19578
19579         * doc/glibc-functions/fallocate.texi: New file.
19580         * doc/gnulib.texi: Include it.
19581
19582 2009-05-21  Eric Blake  <ebb9@byu.net>
19583             Bruno Haible  <bruno@clisp.org>
19584
19585         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
19586         invocations.
19587         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
19588
19589 2009-05-21  Eric Blake  <ebb9@byu.net>
19590             Bruno Haible  <bruno@clisp.org>
19591
19592         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
19593         include_next. Fix of 2008-11-20 commit.
19594         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
19595         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
19596         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
19597         NEXT_MATH_H.
19598         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
19599         instead of NEXT_MATH_H.
19600
19601 2009-05-21  Bruno Haible  <bruno@clisp.org>
19602
19603         Avoid redefinition warnings for SIZE_MAX.
19604         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
19605         Reported by Simon Josefsson.
19606
19607 2009-05-21  Bruno Haible  <bruno@clisp.org>
19608
19609         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
19610         AC_CACHE_VAL.
19611
19612 2009-05-20  Bruno Haible  <bruno@clisp.org>
19613
19614         Make zeroptr.h work on mingw.
19615         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
19616         mprotect.
19617         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
19618         * modules/memchr2-tests (configure.ac): Likewise.
19619         * modules/memcmp-tests (configure.ac): Likewise.
19620         * modules/memmem-tests (configure.ac): Likewise.
19621         * modules/memrchr-tests (configure.ac): Likewise.
19622         Reported by Simon Josefsson.
19623
19624 2009-05-20  Simon Josefsson  <simon@josefsson.org>
19625
19626         * tests/test-glob.c: Include string.h for strcmp prototype.
19627
19628 2009-05-20  Simon Josefsson  <simon@josefsson.org>
19629
19630         * modules/getdelim (Depends-on): Add explicit stdint, although it
19631         was implicitly already pulled in via realloc-posix.
19632         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
19633
19634 2009-05-20  Simon Josefsson  <simon@josefsson.org>
19635
19636         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
19637         G. Christensen" <tgc@jupiterrise.com>.
19638         * m4/sys_socket_h.m4: Check for sa_family_t.
19639         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
19640         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
19641         * tests/test-sys_socket.c: Check that sa_family_t works.
19642
19643 2009-05-18  Eric Blake  <ebb9@byu.net>
19644
19645         maint.mk: allow gnulib_dir in VPATH build
19646         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
19647
19648 2009-05-15  Jim Meyering  <meyering@redhat.com>
19649
19650         maint.mk: Give gnulib_dir a default definition.
19651         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
19652         Thus, most packages no longer need to specify this variable in cfg.mk
19653
19654 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
19655
19656         rename.m4: fix typos that would make non-mingw cross-configure fail
19657         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
19658
19659 2009-05-13  Eric Blake  <ebb9@byu.net>
19660
19661         mmap-anon: avoid out-of-order autoconf expansion
19662         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
19663         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
19664         * modules/memchr-tests (Depends-on): Add extensions.
19665         * modules/memchr2-tests (Depends-on): Add extensions.
19666         * modules/memcmp-tests (Depends-on): Add extensions.
19667         * modules/memmem-tests (Depends-on): Add extensions.
19668         * modules/memrchr-tests (Depends-on): Add extensions.
19669
19670 2009-05-13  Bruno Haible  <bruno@clisp.org>
19671
19672         Make some tests ISO C 99 compliant.
19673         * tests/zerosize-ptr.h: New file.
19674         * tests/test-memchr.c: Include zerosize-ptr.h.
19675         (main): Use a zero-size object pointer instead of NULL.
19676         * tests/test-memchr2.c: Include zerosize-ptr.h.
19677         (main): Use a zero-size object pointer instead of NULL.
19678         * tests/test-memcmp.c: Include zerosize-ptr.h.
19679         (main): Use a zero-size object pointer instead of NULL.
19680         * tests/test-memmem.c: Include zerosize-ptr.h.
19681         (main): Use a zero-size object pointer instead of NULL.
19682         * tests/test-memrchr.c: Include zerosize-ptr.h.
19683         (main): Use a zero-size object pointer instead of NULL.
19684         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
19685         m4/mmap-anon.m4.
19686         (Depends-on): Add getpagesize.
19687         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19688         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
19689         m4/mmap-anon.m4.
19690         (Depends-on): Add getpagesize.
19691         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19692         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
19693         m4/mmap-anon.m4.
19694         (Depends-on): Add getpagesize.
19695         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19696         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
19697         m4/mmap-anon.m4.
19698         (Depends-on): Add getpagesize.
19699         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19700         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
19701         m4/mmap-anon.m4.
19702         (Depends-on): Add getpagesize.
19703         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
19704
19705 2009-05-12  Bruno Haible  <bruno@clisp.org>
19706
19707         Tests for module 'alignof'.
19708         * modules/alignof-tests: New file.
19709         * tests/test-alignof.c: New file.
19710
19711 2009-05-12  Bruno Haible  <bruno@clisp.org>
19712
19713         Fix alignof macro.
19714         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
19715         vendor compilers that are always correct.
19716
19717 2009-05-12  Bruno Haible  <bruno@clisp.org>
19718
19719         Make the MAP_ANONYMOUS detection work on HP-UX 11.
19720         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
19721         not whether its fully works.
19722
19723 2009-05-12  Bruno Haible  <bruno@clisp.org>
19724
19725         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
19726
19727 2009-05-12  Jim Meyering  <meyering@redhat.com>
19728
19729         * top/maint.mk: Adjust backslash alignment.
19730
19731 2009-05-11  Simon Josefsson  <simon@josefsson.org>
19732
19733         * top/maint.mk: Make $(srcdir)/build-aux configurable.
19734
19735 2009-05-11  Eric Blake  <ebb9@byu.net>
19736
19737         argp: avoid undefined behavior
19738         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
19739         macros.
19740
19741 2009-05-08  Simon Josefsson  <simon@josefsson.org>
19742
19743         * tests/test-vc-list-files-git.sh: Do git config of user.email and
19744         user.name to prevent git commit from complaining.
19745
19746 2009-05-10  Bruno Haible  <bruno@clisp.org>
19747
19748         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
19749         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
19750         it rewrites every file name only once.
19751         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
19752
19753 2009-05-08  Bruno Haible  <bruno@clisp.org>
19754
19755         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
19756         instead of 'max'.
19757
19758 2009-05-08  Simon Josefsson  <simon@josefsson.org>
19759
19760         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
19761         sockaddr_storage test.
19762
19763 2009-05-07  Simon Josefsson  <simon@josefsson.org>
19764
19765         * modules/sys_socket (Makefile.am): Substitute
19766         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
19767         * m4/sys_socket_h.m4: Check for sockaddr_storage.
19768         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
19769         * tests/test-sys_socket.c: Check sockaddr_storage.
19770
19771 2009-05-08  Bruno Haible  <bruno@clisp.org>
19772
19773         New module 'alignof'.
19774         * lib/alignof.h: New file.
19775         * modules/alignof: New file.
19776
19777 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
19778             Bruno Haible  <bruno@clisp.org>
19779
19780         Fix test-file-has-acl on FreeBSD.
19781         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
19782         mask is implicitly added.
19783         * tests/test-file-has-acl.c: Include <signal.h>.
19784         (main): Terminate the test after 5 seconds.
19785         * modules/acl-tests (configure.ac): Check for alarm function.
19786
19787 2009-05-04  Bruno Haible  <bruno@clisp.org>
19788
19789         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
19790         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
19791         * modules/errno (configure.ac): Drop AC_REQUIRE.
19792         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
19793         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
19794
19795 2009-05-04  Simon Josefsson  <simon@josefsson.org>
19796
19797         * modules/glob-tests: New module.
19798         * tests/test-glob.c: Add.
19799
19800 2009-05-04  Simon Josefsson  <simon@josefsson.org>
19801
19802         * modules/fnmatch-tests: New module.
19803         * tests/test-fnmatch.c: Add.
19804
19805 2009-05-04  Eric Blake  <ebb9@byu.net>
19806
19807         maint: make the new no-submodule-changes rule VPATH-safe
19808         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
19809
19810 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
19811             Bruno Haible  <bruno@clisp.org>
19812
19813         acl: Fix infinite loop on FreeBSD.
19814         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
19815         of return value from acl_get_entry.
19816         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
19817         Likewise.
19818
19819 2009-05-03  Bruno Haible  <bruno@clisp.org>
19820
19821         * lib/acl-internal.h (acl_entries): Clarify return value.
19822         * lib/acl_entries.c (acl_entries): Likewise.
19823
19824 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
19825
19826         Bug fix in acl module.
19827         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
19828
19829 2009-05-03  Bruno Haible  <bruno@clisp.org>
19830
19831         Create gperf-generated file in the source dir, not in the build dir.
19832         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
19833         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
19834         * modules/unicase/locale-language (unicase/locale-languages.h):
19835         Likewise.
19836         * modules/unicase/special-casing (unicase/special-casing-table.h):
19837         Likewise.
19838         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
19839         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
19840         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
19841         Reported by Ralf Wildenhues.
19842
19843 2009-05-03  Bruno Haible  <bruno@clisp.org>
19844
19845         * modules/fnmatch (Description, configure.ac): Taken from
19846         fnmatch-posix.
19847         * modules/fnmatch-posix: Turn into a symbolic reference to the
19848         'fnmatch' module, and deprecate.
19849         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
19850
19851 2009-05-03  Bruno Haible  <bruno@clisp.org>
19852
19853         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
19854         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
19855         Reported by Ralf Wildenhues.
19856
19857 2009-05-04  Simon Josefsson  <simon@josefsson.org>
19858
19859         * m4/fnmatch.m4: Fix fnmatch re-define.
19860
19861 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
19862
19863         priv-set: new module and tests; adapt write-any-file
19864         * lib/priv-set.c: New file.
19865         * lib/priv-set.h: New file.
19866         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
19867         * lib/write-any-file.c: Simplify by using priv-set module.
19868         * m4/priv-set.m4: New file.
19869         * modules/priv-set: New file.
19870         * modules/unlinkdir: Add dependency on priv-set module.
19871         * modules/write-any-file: Likewise.
19872
19873         Tests for module 'priv-set'.
19874         * modules/priv-set-tests: New file.
19875         * tests/test-priv-set.c: New file.
19876
19877 2009-05-03  Jim Meyering  <meyering@redhat.com>
19878             Bruno Haible  <bruno@clisp.org>
19879
19880         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
19881         use the converted UTF-8 variant of the name instead.
19882
19883 2009-05-03  Jim Meyering  <meyering@redhat.com>
19884
19885         tests: tighten some getdate tests
19886         * tests/test-getdate.c (main): Tighten tests: require equality,
19887         not just greater than.  Set TZ envvar to UTC0.
19888
19889 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
19890
19891         getdate: correctly interpret "next monday" when run on a Monday
19892         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
19893         that e.g., "next tues" (when run on a tuesday) results in a date
19894         that is one week in the future, and not today's date.
19895         I.e., add a week when the wday is the same as the current one.
19896         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
19897         and earlier by Martin Bernreuther and Jan Minář.
19898         * tests/test-getdate.c (main): Check that "next DAY" is always in
19899         the future and that "last DAY" is always in the past.
19900
19901 2009-05-02  Jim Meyering  <meyering@redhat.com>
19902
19903         build: ensure that a release build fails when a submodule is unclean
19904         * top/maint.mk (no-submodule-changes): New rule.
19905         (alpha beta major): Depend on it.
19906
19907 2009-05-02  Bruno Haible  <bruno@clisp.org>
19908
19909         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
19910         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
19911         shell variable gl_fnmatch_required to detect which variant is
19912         requested.
19913         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
19914         gl_FUNC_FNMATCH_POSIX.
19915         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
19916         exclude fnmatch-posix.
19917
19918 2009-05-02  Bruno Haible  <bruno@clisp.org>
19919
19920         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
19921         * modules/mbsrtowcs (License): Change to LGPLv2+.
19922         * modules/strnlen1 (License): Likewise.
19923         Reported by Simon Josefsson.
19924
19925 2009-05-02  Bruno Haible  <bruno@clisp.org>
19926
19927         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
19928         "cross".
19929         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
19930         gnulib-tool was called with option --source-base=lib.
19931
19932 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19933
19934         Use automake *-local hooks without commands, for extensibility.
19935         * modules/localcharset (Makefile.am): Rename install-exec-local
19936         rule to install-exec-localcharset, and make it a prerequisite of
19937         install-exec-local.  Likewise, rename the uninstall-local rule to
19938         uninstall-localcharset, and make it a prerequisite of the former.
19939
19940 2009-05-01  Bruno Haible  <bruno@clisp.org>
19941
19942         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
19943         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
19944         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
19945         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
19946         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
19947         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
19948         m4/locale-zh.m4, m4/codeset.m4.
19949
19950         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
19951         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
19952         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
19953         m4/locale-zh.m4.
19954
19955         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
19956         REPLACE_WCRTOMB if mbstate_t must be replaced.
19957         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
19958         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
19959
19960 2009-05-01  Bruno Haible  <bruno@clisp.org>
19961
19962         Avoid compiler warnings when redefining macros defined by <libintl.h>.
19963         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
19964         dngettext, dcngettext, textdomain, bindtextdomain,
19965         bind_textdomain_codeset): Undefine before redefining.
19966
19967 2009-04-30  Bruno Haible  <bruno@clisp.org>
19968
19969         Fix bug introduced on 2009-04-25.
19970         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
19971         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
19972         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
19973         is defined.
19974         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
19975         is defined.
19976         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
19977         is defined.
19978         Reported by Elbert_Pol <elbert.pol@gmail.com>.
19979
19980 2009-04-28  Bruno Haible  <bruno@clisp.org>
19981
19982         Comment tweaks.
19983         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
19984         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
19985         * lib/unicase.h (u*_casexfrm): Likewise.
19986         Reported by Paolo Bonzini.
19987
19988 2009-04-28  Bruno Haible  <bruno@clisp.org>
19989
19990         Fix a compilation error.
19991         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
19992         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
19993         Reported by Jim Meyering.
19994
19995 2009-04-27  Bruno Haible  <bruno@clisp.org>
19996
19997         New module 'libunistring'.
19998         * modules/libunistring: New file.
19999         * m4/libunistring.m4: New file.
20000         * MODULES.html.sh (Unicode string functions): Add it.
20001
20002 2009-04-27  Eric Blake  <ebb9@byu.net>
20003
20004         maint.mk: allow package-specific header to provide <config.h>
20005         * top/maint.mk (sc_require_config_h): New variable.
20006         (sc_require_config_h, sc_require_config_h_first): Use it.
20007
20008 2009-04-27  Simon Josefsson  <simon@josefsson.org>
20009
20010         * top/maint.mk (sc_avoid_if_before_free): Except
20011         useless-if-before-free script.
20012
20013 2009-04-27  Eric Blake  <ebb9@byu.net>
20014
20015         maintainer-makefile: depend on all required helper scripts
20016         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
20017         useless-if-before-free.
20018         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
20019         version, rather than assuming gnulib checkout is available.
20020         Reported by Simen Josefsson.
20021
20022 2009-04-26  Bruno Haible  <bruno@clisp.org>
20023
20024         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
20025         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
20026         "../" or "..".
20027
20028 2009-04-26  Bruno Haible  <bruno@clisp.org>
20029
20030         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
20031         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
20032         AC_LIB_HAVE_LINKFLAGS.
20033
20034 2009-04-26  Bruno Haible  <bruno@clisp.org>
20035
20036         Simplify calling convention of u*_conv_from_encoding.
20037         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
20038         u32_conv_from_encoding): Expect a resultbuf argument and return the
20039         result directly as a pointer.
20040         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
20041         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
20042         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
20043         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
20044         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
20045         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
20046         Update.
20047         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
20048         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
20049         * lib/vasnprintf.c (VASNPRINTF): Update.
20050         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
20051         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
20052         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
20053         * NEWS: Mention the change.
20054
20055 2009-04-26  Bruno Haible  <bruno@clisp.org>
20056
20057         Simplify calling convention of u*_conv_to_encoding.
20058         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
20059         u32_conv_to_encoding): Expect a resultbuf argument and return the
20060         result directly as a pointer.
20061         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
20062         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
20063         freeing scaled_offsets if mem_iconveha failed.
20064         * lib/unicase/u-casexfrm.h (FUNC): Update.
20065         * lib/uninorm/u-normxfrm.h (FUNC): Update.
20066         * lib/vasnprintf.c (VASNPRINTF): Update.
20067         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
20068         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
20069         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
20070         * NEWS: Mention the change.
20071
20072 2009-04-26  Bruno Haible  <bruno@clisp.org>
20073
20074         Avoid test failures on AIX and OSF/1.
20075         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
20076         malloc(0).
20077         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
20078         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
20079         Likewise.
20080         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
20081         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
20082         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
20083         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
20084         * doc/posix-functions/malloc.texi: Document the portability problem
20085         related to malloc(0).
20086
20087 2009-04-26  Bruno Haible  <bruno@clisp.org>
20088
20089         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
20090         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
20091         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
20092
20093 2009-04-25  Bruno Haible  <bruno@clisp.org>
20094
20095         Avoid link error when creating a namespace clean library.
20096         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
20097         as macro with arguments if already defined as an alias.
20098         * lib/signbitf.c (gl_signbitf): Don't undefine.
20099         * lib/signbitd.c (gl_signbitd): Don't undefine.
20100         * lib/signbitl.c (gl_signbitl): Don't undefine.
20101
20102 2009-04-25  Jim Meyering  <meyering@redhat.com>
20103
20104         vc-list-files: fix another quoting bug
20105         * build-aux/vc-list-files: Avoid sed backslash expansion
20106         of pathological directory names.
20107
20108 2009-04-25  Eric Blake  <ebb9@byu.net>
20109
20110         vc-list-files: fix shell quoting error
20111         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
20112         timestamp.
20113
20114 2009-04-25  Jim Meyering  <meyering@redhat.com>
20115
20116         vc-list-files: restore lost functionality with subdir argument
20117         * build-aux/vc-list-files: When given a non-"." sub-directory
20118         argument, substitute the $dir/ prefix back onto each resulting name.
20119         Otherwise, coreutils' root_tests check would fail.
20120
20121 2009-04-24  Eric Blake  <ebb9@byu.net>
20122
20123         vc-list-files: ignore git symlinks
20124         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
20125         than ls-files, to ignore git symlinks.
20126
20127         maint.mk: import improvements from m4
20128         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
20129         (move_if_change): Delete unused macro.
20130         (news-date-check, vc-diff-check): Support VPATH builds.
20131         (announcement): Likewise.  Split --bootstrap-tools list...
20132         (boostrap-tools): ...into separate list, which can be overridden
20133         in cfg.mk.
20134         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
20135         requiring dependency on useless-if-before-free module.
20136         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
20137         Support VPATH builds.
20138
20139 2009-04-24  Jim Meyering  <meyering@redhat.com>
20140
20141         maint.mk: remove coreutils-specific rules and variables
20142         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
20143         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
20144         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
20145
20146         maint.mk: remove obsolete rule
20147         * top/maint.mk (rel-check): Remove rule.
20148         (WGET, WGETFLAGS): Remove now-unused variables.
20149
20150 2009-04-24  Simon Josefsson  <simon@josefsson.org>
20151
20152         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
20153         consistency.
20154
20155         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
20156         '$(PATH_SEPARATOR)' instead of ':'.
20157
20158 2009-04-24  Simon Josefsson  <simon@josefsson.org>
20159
20160         * lib/getopt1.c (main): Use 'const' for static array.
20161
20162 2009-04-24  Simon Josefsson  <simon@josefsson.org>
20163
20164         * top/maint.mk: Sync with coreutils.
20165         * NEWS: Explain incompatibilities.
20166
20167 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
20168             Bruno Haible  <bruno@clisp.org>
20169
20170         Fix cross-compilation results.
20171         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
20172         statement, as third argument of AC_TRY_RUN.
20173         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
20174         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
20175         Likewise.
20176         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
20177         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
20178         Likewise.
20179         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
20180         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
20181         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
20182
20183 2009-04-20  Bruno Haible  <bruno@clisp.org>
20184
20185         Avoid test failure on mingw.
20186         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
20187
20188 2009-04-20  Bruno Haible  <bruno@clisp.org>
20189
20190         Avoid compilation error on mingw.
20191         * modules/localename-tests (Depends-on): Add locale.
20192
20193 2009-04-19  Bruno Haible  <bruno@clisp.org>
20194
20195         Support for building a shared library on Windows platforms.
20196         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
20197         (main): Test the presence of UNINORM_NFC here.
20198         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
20199         (main): Test the presence of UNINORM_NFD here.
20200         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
20201         (main): Test the presence of UNINORM_NFKC here.
20202         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
20203         (main): Test the presence of UNINORM_NFKD here.
20204
20205 2009-04-19  Bruno Haible  <bruno@clisp.org>
20206
20207         Avoid a compiler warning.
20208         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
20209         Change type of variable 'sequence'.
20210
20211 2009-04-19  Bruno Haible  <bruno@clisp.org>
20212
20213         * modules/configmake (Makefile.am): When the contents of configmake.h
20214         does not change, arrange to preserve its modification time.
20215
20216 2009-04-17  Simon Josefsson  <simon@josefsson.org>
20217
20218         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
20219         gettext domain.
20220
20221 2009-04-16  Jim Meyering  <meyering@redhat.com>
20222
20223         useless-if-before-free: improve conversion code
20224         * build-aux/useless-if-before-free: Adjust code-in-comment to match
20225         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
20226
20227 2009-04-14  Bruno Haible  <bruno@clisp.org>
20228
20229         * modules/fcntl (Depends-on): Add extensions.
20230         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
20231
20232 2009-04-12  Ben Pfaff  <blp@gnu.org>
20233
20234         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
20235         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
20236
20237 2009-03-20  Ben Pfaff  <blp@gnu.org>
20238
20239         Make rename replace existing destinations on Windows.
20240         * m4/rename.m4: Add test for Mingw.
20241         * lib/rename.c: Add rename replacement that uses MoveFileEx with
20242         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
20243         * doc/posix-functions/rename.texi: Document.
20244
20245 2009-04-10  Bruno Haible  <bruno@clisp.org>
20246
20247         New include file "iconveh.h".
20248         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
20249         * lib/striconveh.h: Include it.
20250         (enum iconv_ilseq_handler): Remove definition.
20251         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
20252         striconveh.h.
20253         * lib/striconveha.c: Include striconveh.h.
20254         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
20255         * modules/striconveh (Files): Add lib/iconveh.h.
20256         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
20257         lib/striconveh.h.
20258
20259 2009-04-10  Bruno Haible  <bruno@clisp.org>
20260
20261         * lib/uniconv.h: Update comment.
20262
20263 2009-04-10  Bruno Haible  <bruno@clisp.org>
20264
20265         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
20266         always.
20267         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
20268         * lib/unistr/u16-mbtouc-aux.c: Likewise.
20269         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
20270         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
20271         "unistring-notinline.h", so that the function gets defined always.
20272         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
20273         * lib/unistr/u8-uctomb.c: Likewise.
20274         * lib/unistr/u16-mbtouc.c: Likewise.
20275         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
20276         * lib/unistr/u16-uctomb.c: Likewise.
20277         * lib/unistr/u32-mbtouc.c: Likewise.
20278         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
20279         * lib/unistr/u32-uctomb.c: Likewise.
20280
20281 2009-04-10  Bruno Haible  <bruno@clisp.org>
20282
20283         Mark 'utime' obsolete.
20284         * modules/utime (Status, Notice): New sections.
20285         Suggested by Jim Meyering.
20286
20287         Fix cross-compile guess for utime test.
20288         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
20289         autoconf.
20290         * doc/posix-functions/utime.texi: Give more precisions.
20291         Reported by Jan <ipif@ymail.com>.
20292
20293 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
20294
20295         filevercmp: correct today's change
20296         * lib/filevercmp.c: Also handle coreutils' test inputs.
20297         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
20298
20299         Fix regression in 'filevercmp' module. Thanks Sven Joachim
20300         for reporting it.
20301         * lib/filevercmp.c: Special handle for "", "." and "..".
20302         * tests/test-filevercmp.c: Enlarge the set suite.
20303
20304 2009-04-07  Jim Meyering  <meyering@redhat.com>
20305
20306         useless-if-before-free: show how to remove braced useless free, too
20307         * build-aux/useless-if-before-free: still only in a comment, though.
20308
20309 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
20310
20311         maint.mk: import changes to syntax-check macros from coreutils
20312         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
20313         Use them in the relevant macros.
20314
20315 2009-04-06  Bruno Haible  <bruno@clisp.org>
20316
20317         Fix unportable use of bit-fields.
20318         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
20319         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
20320         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
20321
20322 2009-04-06  Bruno Haible  <bruno@clisp.org>
20323
20324         Avoid test failures on AIX and OSF/1.
20325         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
20326         that malloc(0) = NULL.
20327         * tests/unicase/test-u8-tolower.c (check): Likewise.
20328         * tests/unicase/test-u8-totitle.c (check): Likewise.
20329         * tests/unicase/test-u8-toupper.c (check): Likewise.
20330         * tests/unicase/test-u16-casefold.c (check): Likewise.
20331         * tests/unicase/test-u16-tolower.c (check): Likewise.
20332         * tests/unicase/test-u16-totitle.c (check): Likewise.
20333         * tests/unicase/test-u16-toupper.c (check): Likewise.
20334         * tests/unicase/test-u32-casefold.c (check): Likewise.
20335         * tests/unicase/test-u32-tolower.c (check): Likewise.
20336         * tests/unicase/test-u32-totitle.c (check): Likewise.
20337         * tests/unicase/test-u32-toupper.c (check): Likewise.
20338         * tests/uninorm/test-u8-nfc.c (check): Likewise.
20339         * tests/uninorm/test-u8-nfd.c (check): Likewise.
20340         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
20341         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
20342         * tests/uninorm/test-u16-nfc.c (check): Likewise.
20343         * tests/uninorm/test-u16-nfd.c (check): Likewise.
20344         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
20345         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
20346         * tests/uninorm/test-u32-nfc.c (check): Likewise.
20347         * tests/uninorm/test-u32-nfd.c (check): Likewise.
20348         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
20349         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
20350
20351 2009-04-05  Bruno Haible  <bruno@clisp.org>
20352
20353         Work around an autoconf limitation.
20354         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
20355         comment line if it would be longer than 3 KB.
20356
20357 2009-04-05  Bruno Haible  <bruno@clisp.org>
20358
20359         Avoid test failure with libiconv-1.13.
20360         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
20361         of the expected test results.
20362
20363 2009-04-05  Bruno Haible  <bruno@clisp.org>
20364
20365         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
20366         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
20367         that it should be installed.
20368
20369 2009-04-05  Bruno Haible  <bruno@clisp.org>
20370
20371         * gnulib-tool: New option --copy-file.
20372         (func_usage): Document it.
20373         (func_dest_tmpfilename): Moved out of func_import.
20374         (func_add_file, func_update_file): New functions, extracted from
20375         func_import.
20376         (func_import): Update.
20377
20378 2009-04-05  Karl Berry  <karl@gnu.org>
20379
20380         * README: prominently mention gnulib-tool.
20381         Rearrange sections so getting the code is near the top.
20382
20383 2009-04-05  Bruno Haible  <bruno@clisp.org>
20384
20385         * lib/unicase.h: Mention u*_cmp2.
20386         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
20387         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
20388         * lib/unicase/ulc-casecmp.c: Likewise.
20389         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
20390         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
20391         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
20392         unistr/u8-cmp.
20393         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
20394         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
20395         unistr/u16-cmp.
20396         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
20397         unistr/u32-cmp.
20398
20399         * lib/uninorm.h: Mention u*_cmp2.
20400         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
20401         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
20402         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
20403         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
20404         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
20405         unistr/u8-cmp.
20406         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
20407         unistr/u16-cmp.
20408         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
20409         unistr/u32-cmp.
20410
20411         New module 'unistr/u32-cmp2'.
20412         * lib/unistr/u32-cmp2.c: New file.
20413         * modules/unistr/u32-cmp2: New file.
20414
20415         New module 'unistr/u16-cmp2'.
20416         * lib/unistr/u16-cmp2.c: New file.
20417         * modules/unistr/u16-cmp2: New file.
20418
20419         New module 'unistr/u8-cmp2'.
20420         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
20421         * lib/unistr/u8-cmp2.c: New file.
20422         * lib/unistr/u-cmp2.h: New file.
20423         * modules/unistr/u8-cmp2: New file.
20424
20425 2009-04-05  Bruno Haible  <bruno@clisp.org>
20426
20427         * lib/unictype.h (uc_property_is_valid): New macro.
20428         * tests/unictype/test-pr_byname.c (main): Use it.
20429
20430         * lib/unistr.h: Doc fixes.
20431         * lib/uniconv.h: Doc fixes.
20432         * lib/unictype.h: Doc fixes.
20433
20434 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
20435
20436         Port coreutils 7.2 to Solaris 8.
20437
20438         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
20439         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
20440         for Solaris 8.  This is a bit of a hack, as it means it's the
20441         caller's responsibility to add -lnsl if needed, but most likely it
20442         won't be needed since only getaddrinfo uses this and getaddrinfo
20443         isn't needed on Solaris 8.
20444
20445         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
20446         problem to Solaris 8 encountered with coreutils 7.2, which
20447         resulted in a message "fnmatch.c:292: warning: passing argument 4
20448         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
20449         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
20450
20451 2009-04-03  Simon Josefsson  <simon@josefsson.org>
20452
20453         * m4/ld-version-script.m4: Add FIXME comment.
20454
20455 2009-04-02  Simon Josefsson  <simon@josefsson.org>
20456
20457         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
20458         SOVERSION variable.
20459
20460 2009-04-02  Bruno Haible  <bruno@clisp.org>
20461
20462         * Makefile (info, html, dvi, pdf): Combine the rules.
20463         Suggested by Jim Meyering.
20464
20465 2009-04-01  Bruno Haible  <bruno@clisp.org>
20466
20467         * Makefile (info, html, dvi, pdf): New targets.
20468         Reported by Reuben Thomas <rrt@sc3d.org>.
20469
20470 2009-04-01  Bruno Haible  <bruno@clisp.org>
20471
20472         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
20473         can be put into PATH.
20474         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
20475
20476 2009-04-01  Bruno Haible  <bruno@clisp.org>
20477
20478         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
20479
20480 2009-04-01  Bruno Haible  <bruno@clisp.org>
20481
20482         Rename module 'visibility'.
20483         * modules/lib-symbol-visibility: Renamed from modules/visibility.
20484         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
20485         * doc/gnulib.texi: Update.
20486         * MODULES.html.sh (Misc): Update.
20487         * NEWS: Mention the change.
20488
20489 2009-04-01  Simon Josefsson  <simon@josefsson.org>
20490
20491         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
20492         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
20493         Eric Blake <ebb9@byu.net> for review.
20494         * MODULES.html.sh: Add lib-msvc-compat.
20495         * doc/gnulib.texi: Link to new section.
20496         * m4/ld-output-def.m4: New file.
20497         * doc/ld-output-def.texi: New file.
20498
20499 2009-04-01  Simon Josefsson  <simon@josefsson.org>
20500
20501         Rename ld-version-script to lib-symbol-versions.  Suggested by
20502         Bruno Haible <bruno@clisp.org>.
20503         * modules/ld-version-script: Renamed to lib-symbol-versions.
20504         * doc/ld-version-script.texi: Fix module name.
20505         * MODULES.html.sh: Add lib-symbol-versions.
20506
20507 2009-03-31  Simon Josefsson  <simon@josefsson.org>
20508
20509         * modules/u64-tests: New file.
20510         * tests/test-u64.c: New file.
20511
20512 2009-03-04  Simon Josefsson  <simon@josefsson.org>
20513
20514         * MODULES.html.sh: Mention u64.
20515         * modules/u64: New module.
20516         * modules/crypto/sha512: Depend on u64 module instead of providing
20517         u64.h.
20518
20519 2009-03-27  Eric Blake  <ebb9@byu.net>
20520
20521         test-strerror: make debugging EAI_SYSTEM easier
20522         * modules/getaddrinfo-tests (Depends-on): Add strerror.
20523         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
20524         failure was EAI_SYSTEM.
20525
20526 2009-03-25  Bruno Haible  <bruno@clisp.org>
20527
20528         Fix a problem with --enable-relocatable on Solaris 7.
20529         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
20530         since 2008-02-24.
20531
20532 2009-03-25  Eric Blake  <ebb9@byu.net>
20533
20534         test-sockets: avoid gcc warning
20535         * tests/test-sockets.c (main): Silence compiler warning.
20536
20537 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
20538
20539         New modules nproc, pthread, contributed by Glen Lenker.
20540
20541         * MODULES.html.sh: Add pthread, nproc.
20542         * lib/nproc.c: New file.
20543         * lib/nproc.h: New file.
20544         * lib/pthread.in.h: New file.
20545         * m4/pthread.m4: New file.
20546         * modules/nproc: New file.
20547         * modules/pthread: New file.
20548
20549 2009-03-24  Simon Josefsson  <simon@josefsson.org>
20550
20551         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
20552         New variable.
20553
20554 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
20555
20556         filevercmp: handle simple~ and numbered.~3~ backup suffixes
20557         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
20558         * tests/test-filevercmp.c: Add tests for backup suffixes.
20559
20560 2009-03-24  Simon Josefsson  <simon@josefsson.org>
20561
20562         * modules/stdlib (Depends-on): Add stdint, needed when defining
20563         struct random_data on, for example, HP-UX 10.20.  Reported by
20564         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
20565
20566 2009-03-24  Simon Josefsson  <simon@josefsson.org>
20567
20568         * lib/readline.c (readline): Call fflush on stdout after printing
20569         prompt.
20570
20571 2009-03-20  Bruno Haible  <bruno@clisp.org>
20572
20573         Remove dependency from 'close' module to -lws2_32 on native Windows.
20574         * lib/close-hook.h: New file.
20575         * lib/close-hook.c: New file.
20576         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
20577         w32sock.h.
20578         (_gl_close_fd_maybe_socket): Remove function.
20579         (rpl_close): Invoke execute_all_close_hooks instead of
20580         _gl_close_fd_maybe_socket.
20581         * lib/sockets.c: Include close-hook.h, w32sock.h.
20582         (close_fd_maybe_socket): New function, essentially from lib/close.c.
20583         (close_sockets_hook): New variable.
20584         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
20585         (gl_sockets_cleanup): Unregister it.
20586         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
20587         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
20588         * modules/close-hook: New file.
20589         * modules/close (Files): Remove lib/w32sock.h.
20590         (Depends-on): Add close-hook.
20591         (Link): Remove section.
20592         * modules/sockets (Files): Add lib/w32sock.h.
20593         (Depends-on): Add close-hook.
20594         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
20595         invocation.
20596         * NEWS: Mention that LIB_CLOSE is gone.
20597
20598 2009-03-23  Eric Blake  <ebb9@byu.net>
20599
20600         signal-tests: test previous patch
20601         * tests/test-signal.c: New file.
20602         * modules/signal-tests: Likewise.
20603
20604         signal.h: always support 'volatile sig_atomic_t'
20605         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
20606         (gl_SIGNAL_H_DEFAULTS): Add a default.
20607         * modules/signal (Makefile.am): Substitute if needed.
20608         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
20609         users can blindly add volatile.
20610         * doc/posix-headers/signal.texi (signal.h): Document it.
20611         Reported by Matthew Woehlke.
20612
20613 2009-03-23  Jim Meyering  <meyering@redhat.com>
20614
20615         pathmax: PATH_MAX: use pathconf only when available
20616         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
20617         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
20618         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
20619         This avoids a link failure in a PSP cross-compilation environment
20620         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
20621
20622         * lib/vasnprintf.c (divide): Fix typo in comment.
20623
20624 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20625
20626         * gnulib-tool (func_filter_filelist): Fix comment.
20627
20628 2009-03-20  Bruno Haible  <bruno@clisp.org>
20629
20630         Make sockets.h self-contained.
20631         * lib/sockets.c: Include sockets.h first.
20632         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
20633
20634 2009-03-19  Eric Blake  <ebb9@byu.net>
20635
20636         doc: mention more functions added in cygwin 1.7.0
20637         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
20638         addition.
20639         * doc/posix-functions/log2f.texi: Likewise.
20640
20641 2009-03-19  Jim Meyering  <meyering@redhat.com>
20642
20643         fsusage: avoid syntax error due to statement-before-declaration
20644         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
20645         after all declarations.  Reported by Matthew Woehlke in
20646         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
20647
20648 2009-03-18  Eric Blake  <ebb9@byu.net>
20649
20650         build-aux/compile: sync from automake
20651         * build-aux/compile: New file, from automake.
20652         * config/srclist.txt: Mention build-aux/compile.
20653
20654 2009-03-17  Bruno Haible  <bruno@clisp.org>
20655
20656         * lib/git-merge-changelog.c: Fix typo in comment.
20657         Reported by Reuben Thomas <rrt@sc3d.org>.
20658
20659 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
20660
20661         * m4/regex.m4: update and improve help for
20662         --without-included-regex.
20663
20664 2009-03-17  Simon Josefsson  <simon@josefsson.org>
20665
20666         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
20667         failure on missing include files.
20668
20669 2009-03-17  Eric Blake  <ebb9@byu.net>
20670
20671         doc: mention more functions added in cygwin 1.7.0
20672         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
20673         addition.
20674         * doc/posix-functions/fwscanf.texi: Likewise.
20675         * doc/posix-functions/swprintf.texi: Likewise.
20676         * doc/posix-functions/swscanf.texi: Likewise.
20677         * doc/posix-functions/vfwprintf.texi: Likewise.
20678         * doc/posix-functions/vfwscanf.texi: Likewise.
20679         * doc/posix-functions/vswprintf.texi: Likewise.
20680         * doc/posix-functions/vswscanf.texi: Likewise.
20681         * doc/posix-functions/vwprintf.texi: Likewise.
20682         * doc/posix-functions/vwscanf.texi: Likewise.
20683         * doc/posix-functions/wcscasecmp.texi: Likewise.
20684         * doc/posix-functions/wcsdup.texi: Likewise.
20685         * doc/posix-functions/wcsftime.texi: Likewise.
20686         * doc/posix-functions/wcsncasecmp.texi: Likewise.
20687         * doc/posix-functions/wprintf.texi: Likewise.
20688         * doc/posix-functions/wscanf.texi: Likewise.
20689         * doc/glibc-functions/gethostbyname2.texi: Likewise.
20690
20691 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
20692
20693         maint.mk: really add $(AM_MAKEFLAGS)
20694         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
20695         was inadvertently omitted in the last commit.
20696         Spotted by Bruno Haible.
20697
20698         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
20699         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
20700         $(AM_MAKEFLAGS)' rather than plain `make'.
20701
20702         gnulib-tool: execute $MAKE not make
20703         * gnulib-tool: Default $MAKE to 'make'.
20704         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
20705         than make.  Initialize $MAKE in the do-autobuild script.
20706
20707         gnulib-tool: use $MAKE not make in generated files
20708         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
20709         make, in generated files.  Initialize $MAKE in the do-autobuild
20710         script.
20711
20712         * top/GNUmakefile (_have-git-version-gen): Fix typo.
20713
20714         GNUmakefile: disable parallelism only for multiple, recursive targets
20715         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
20716         additions in the Makefile.
20717         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
20718         by Automake.
20719         (.NOTPARALLEL): Only disable parallel builds if multiple targets
20720         are listed on the command line and at least one of them is
20721         listed in $(ALL_RECURSIVE_TARGETS).
20722
20723 2009-03-14  Bruno Haible  <bruno@clisp.org>
20724
20725         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
20726         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
20727         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
20728         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
20729         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
20730         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
20731         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
20732         unistr/u8-uctomb.
20733         * modules/unistr/u8-strchr (Depends-on): Likewise.
20734         * modules/unistr/u8-strrchr (Depends-on): Likewise.
20735         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
20736         unistr/u16-uctomb.
20737         * modules/unistr/u16-strchr (Depends-on): Likewise.
20738         * modules/unistr/u16-strrchr (Depends-on): Likewise.
20739
20740 2009-03-12  Bruno Haible  <bruno@clisp.org>
20741
20742         Work around select() bug on Interix 3.5.
20743         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
20744         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
20745         * m4/select.m4: New file.
20746         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
20747         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
20748         * modules/select (Files): Add m4/select.m4.
20749         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
20750         * modules/nanosleep (Depends-on): Add select.
20751         * modules/poll (Depends-on): Likewise.
20752         * doc/posix-functions/select.texi: Mention the Interix bug.
20753         Reported by Markus Duft <mduft@gentoo.org>.
20754
20755         * lib/select.c: Renamed from lib/winsock-select.c.
20756         * modules/select (Files): Add lib/select.c, remove
20757         lib/winsock-select.c.
20758         (configure.ac): Update.
20759
20760 2009-03-12  Jim Meyering  <meyering@redhat.com>
20761
20762         avoid gcc warnings about unused macro definitions
20763         * lib/readtokens.c (STREQ): Remove unused definition.
20764         * lib/xmalloc.c (SIZE_MAX): Likewise.
20765         * lib/openat-die.c (N_): Likewise.
20766         * lib/mountlist.c (SIZE_MAX): Remove definition.
20767         Instead, include <stdint.h>.
20768         * lib/readutmp.c: Likewise.
20769         * modules/readutmp (Depends-on): Add stdint.
20770         * modules/mountlist (Depends-on): Add stdint.
20771         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
20772
20773 2009-03-10  Bruno Haible  <bruno@clisp.org>
20774
20775         Tests for module 'mbmemcasecoll'.
20776         * modules/mbmemcasecoll-tests: New file.
20777         * tests/test-mbmemcasecoll1.sh: New file.
20778         * tests/test-mbmemcasecoll2.sh: New file.
20779         * tests/test-mbmemcasecoll3.sh: New file.
20780         * tests/test-mbmemcasecoll.c: New file.
20781
20782         New module 'mbmemcasecoll'.
20783         * lib/mbmemcasecoll.h: New file.
20784         * lib/mbmemcasecoll.c: New file.
20785         * modules/mbmemcasecoll: New file.
20786
20787         * tests/test-mbmemcasecmp.h: New file, extracted from
20788         tests/test-mbmemcasecmp.c.
20789         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
20790         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
20791         (main): Update.
20792         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
20793
20794 2009-03-09  Bruno Haible  <bruno@clisp.org>
20795
20796         Tests for module 'mbmemcasecmp'.
20797         * modules/mbmemcasecmp-tests: New file.
20798         * tests/test-mbmemcasecmp1.sh: New file.
20799         * tests/test-mbmemcasecmp2.sh: New file.
20800         * tests/test-mbmemcasecmp3.sh: New file.
20801         * tests/test-mbmemcasecmp.c: New file.
20802
20803         New module 'mbmemcasecmp'.
20804         * lib/mbmemcasecmp.h: New file.
20805         * lib/mbmemcasecmp.c: New file.
20806         * modules/mbmemcasecmp: New file.
20807
20808 2009-03-09  Bruno Haible  <bruno@clisp.org>
20809
20810         Tests for module 'unicase/ulc-casecoll'.
20811         * modules/unicase/ulc-casecoll-tests: New file.
20812         * tests/unicase/test-ulc-casecoll1.sh: New file.
20813         * tests/unicase/test-ulc-casecoll2.sh: New file.
20814         * tests/unicase/test-ulc-casecoll.c: New file.
20815
20816         New module 'unicase/ulc-casecoll'.
20817         * lib/unicase.h (ulc_casecoll): New declaration.
20818         * lib/unicase/ulc-casecoll.c: New file.
20819         * modules/unicase/ulc-casecoll: New file.
20820
20821         New module 'unicase/ulc-casexfrm'.
20822         * lib/unicase.h (ulc_casexfrm): New declaration.
20823         * lib/unicase/ulc-casexfrm.c: New file.
20824         * modules/unicase/ulc-casexfrm: New file.
20825
20826 2009-03-09  Bruno Haible  <bruno@clisp.org>
20827
20828         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
20829         invocations.
20830
20831         * m4/mbscasecmp.m4: Remove file.
20832         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
20833         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
20834
20835         * m4/mbscasestr.m4: Remove file.
20836         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
20837         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
20838
20839         * m4/mbschr.m4: Remove file.
20840         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
20841         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
20842
20843         * m4/mbscspn.m4: Remove file.
20844         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
20845         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
20846
20847         * m4/mbslen.m4: Remove file.
20848         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
20849         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
20850
20851         * m4/mbsncasecmp.m4: Remove file.
20852         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
20853         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
20854
20855         * m4/mbsnlen.m4: Remove file.
20856         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
20857         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
20858
20859         * m4/mbspbrk.m4: Remove file.
20860         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
20861         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
20862
20863         * m4/mbspcasecmp.m4: Remove file.
20864         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
20865         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
20866
20867         * m4/mbsrchr.m4: Remove file.
20868         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
20869         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
20870
20871         * m4/mbssep.m4: Remove file.
20872         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
20873         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
20874
20875         * m4/mbsspn.m4: Remove file.
20876         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
20877         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
20878
20879         * m4/mbsstr.m4: Remove file.
20880         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
20881         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
20882
20883         * m4/mbstok_r.m4: Remove file.
20884         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
20885         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
20886
20887         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
20888
20889         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
20890         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
20891
20892         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
20893
20894 2009-03-08  Bruno Haible  <bruno@clisp.org>
20895
20896         Tests for module 'unicase/ulc-casecmp'.
20897         * modules/unicase/ulc-casecmp-tests: New file.
20898         * tests/unicase/test-ulc-casecmp1.sh: New file.
20899         * tests/unicase/test-ulc-casecmp2.sh: New file.
20900         * tests/unicase/test-ulc-casecmp.c: New file.
20901
20902         New module 'unicase/ulc-casecmp'.
20903         * lib/unicase.h (ulc_casecmp): New declaration.
20904         * lib/unicase/ulc-casecmp.c: New file.
20905         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
20906         'const SRC_UNIT *'.
20907         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
20908         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
20909         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
20910         * modules/unicase/ulc-casecmp: New file.
20911
20912         Tests for module 'unicase/u32-is-cased'.
20913         * modules/unicase/u32-is-cased-tests: New file.
20914         * tests/unicase/test-u32-is-cased.c: New file.
20915
20916         Tests for module 'unicase/u16-is-cased'.
20917         * modules/unicase/u16-is-cased-tests: New file.
20918         * tests/unicase/test-u16-is-cased.c: New file.
20919
20920         Tests for module 'unicase/u8-is-cased'.
20921         * modules/unicase/u8-is-cased-tests: New file.
20922         * tests/unicase/test-u8-is-cased.c: New file.
20923         * tests/unicase/test-is-cased.h: New file.
20924
20925         New module 'unicase/u32-is-cased'.
20926         * lib/unicase/u32-is-cased.c: New file.
20927         * modules/unicase/u32-is-cased: New file.
20928
20929         New module 'unicase/u16-is-cased'.
20930         * lib/unicase/u16-is-cased.c: New file.
20931         * modules/unicase/u16-is-cased: New file.
20932
20933         New module 'unicase/u8-is-cased'.
20934         * lib/unicase/u8-is-cased.c: New file.
20935         * lib/unicase/u-is-cased.h: New file.
20936         * modules/unicase/u8-is-cased: New file.
20937
20938         Tests for module 'unicase/u32-is-casefolded'.
20939         * modules/unicase/u32-is-casefolded-tests: New file.
20940         * tests/unicase/test-u32-is-casefolded.c: New file.
20941
20942         Tests for module 'unicase/u16-is-casefolded'.
20943         * modules/unicase/u16-is-casefolded-tests: New file.
20944         * tests/unicase/test-u16-is-casefolded.c: New file.
20945
20946         Tests for module 'unicase/u8-is-casefolded'.
20947         * modules/unicase/u8-is-casefolded-tests: New file.
20948         * tests/unicase/test-u8-is-casefolded.c: New file.
20949         * tests/unicase/test-is-casefolded.h: New file.
20950
20951         New module 'unicase/u32-is-casefolded'.
20952         * lib/unicase/u32-is-casefolded.c: New file.
20953         * modules/unicase/u32-is-casefolded: New file.
20954
20955         New module 'unicase/u16-is-casefolded'.
20956         * lib/unicase/u16-is-casefolded.c: New file.
20957         * modules/unicase/u16-is-casefolded: New file.
20958
20959         New module 'unicase/u8-is-casefolded'.
20960         * lib/unicase/u8-is-casefolded.c: New file.
20961         * modules/unicase/u8-is-casefolded: New file.
20962
20963         Tests for module 'unicase/u32-is-titlecase'.
20964         * modules/unicase/u32-is-titlecase-tests: New file.
20965         * tests/unicase/test-u32-is-titlecase.c: New file.
20966
20967         Tests for module 'unicase/u16-is-titlecase'.
20968         * modules/unicase/u16-is-titlecase-tests: New file.
20969         * tests/unicase/test-u16-is-titlecase.c: New file.
20970
20971         Tests for module 'unicase/u8-is-titlecase'.
20972         * modules/unicase/u8-is-titlecase-tests: New file.
20973         * tests/unicase/test-u8-is-titlecase.c: New file.
20974         * tests/unicase/test-is-titlecase.h: New file.
20975
20976         New module 'unicase/u32-is-titlecase'.
20977         * lib/unicase/u32-is-titlecase.c: New file.
20978         * modules/unicase/u32-is-titlecase: New file.
20979
20980         New module 'unicase/u16-is-titlecase'.
20981         * lib/unicase/u16-is-titlecase.c: New file.
20982         * modules/unicase/u16-is-titlecase: New file.
20983
20984         New module 'unicase/u8-is-titlecase'.
20985         * lib/unicase/u8-is-titlecase.c: New file.
20986         * modules/unicase/u8-is-titlecase: New file.
20987
20988         Tests for module 'unicase/u32-is-lowercase'.
20989         * modules/unicase/u32-is-lowercase-tests: New file.
20990         * tests/unicase/test-u32-is-lowercase.c: New file.
20991
20992         Tests for module 'unicase/u16-is-lowercase'.
20993         * modules/unicase/u16-is-lowercase-tests: New file.
20994         * tests/unicase/test-u16-is-lowercase.c: New file.
20995
20996         Tests for module 'unicase/u8-is-lowercase'.
20997         * modules/unicase/u8-is-lowercase-tests: New file.
20998         * tests/unicase/test-u8-is-lowercase.c: New file.
20999         * tests/unicase/test-is-lowercase.h: New file.
21000
21001         New module 'unicase/u32-is-lowercase'.
21002         * lib/unicase/u32-is-lowercase.c: New file.
21003         * modules/unicase/u32-is-lowercase: New file.
21004
21005         New module 'unicase/u16-is-lowercase'.
21006         * lib/unicase/u16-is-lowercase.c: New file.
21007         * modules/unicase/u16-is-lowercase: New file.
21008
21009         New module 'unicase/u8-is-lowercase'.
21010         * lib/unicase/u8-is-lowercase.c: New file.
21011         * modules/unicase/u8-is-lowercase: New file.
21012
21013         Tests for module 'unicase/u32-is-uppercase'.
21014         * modules/unicase/u32-is-uppercase-tests: New file.
21015         * tests/unicase/test-u32-is-uppercase.c: New file.
21016
21017         Tests for module 'unicase/u16-is-uppercase'.
21018         * modules/unicase/u16-is-uppercase-tests: New file.
21019         * tests/unicase/test-u16-is-uppercase.c: New file.
21020
21021         Tests for module 'unicase/u8-is-uppercase'.
21022         * modules/unicase/u8-is-uppercase-tests: New file.
21023         * tests/unicase/test-u8-is-uppercase.c: New file.
21024         * tests/unicase/test-is-uppercase.h: New file.
21025
21026         New module 'unicase/u32-is-uppercase'.
21027         * lib/unicase/u32-is-uppercase.c: New file.
21028         * modules/unicase/u32-is-uppercase: New file.
21029
21030         New module 'unicase/u16-is-uppercase'.
21031         * lib/unicase/u16-is-uppercase.c: New file.
21032         * modules/unicase/u16-is-uppercase: New file.
21033
21034         New module 'unicase/u8-is-uppercase'.
21035         * lib/unicase/u8-is-uppercase.c: New file.
21036         * modules/unicase/u8-is-uppercase: New file.
21037
21038         New module 'unicase/u32-is-invariant'.
21039         * lib/unicase/u32-is-invariant.c: New file.
21040         * modules/unicase/u32-is-invariant: New file.
21041
21042         New module 'unicase/u16-is-invariant'.
21043         * lib/unicase/u16-is-invariant.c: New file.
21044         * modules/unicase/u16-is-invariant: New file.
21045
21046         New module 'unicase/u8-is-invariant'.
21047         * lib/unicase/u8-is-invariant.c: New file.
21048         * lib/unicase/invariant.h: New file.
21049         * lib/unicase/u-is-invariant.h: New file.
21050         * modules/unicase/u8-is-invariant: New file.
21051
21052         Tests for module 'unicase/u32-casecoll'.
21053         * modules/unicase/u32-casecoll-tests: New file.
21054         * tests/unicase/test-u32-casecoll.c: New file.
21055
21056         Tests for module 'unicase/u16-casecoll'.
21057         * modules/unicase/u16-casecoll-tests: New file.
21058         * tests/unicase/test-u16-casecoll.c: New file.
21059
21060         Tests for module 'unicase/u8-casecoll'.
21061         * modules/unicase/u8-casecoll-tests: New file.
21062         * tests/unicase/test-u8-casecoll.c: New file.
21063
21064         New module 'unicase/u32-casecoll'.
21065         * lib/unicase/u32-casecoll.c: New file.
21066         * modules/unicase/u32-casecoll: New file.
21067
21068         New module 'unicase/u16-casecoll'.
21069         * lib/unicase/u16-casecoll.c: New file.
21070         * modules/unicase/u16-casecoll: New file.
21071
21072         New module 'unicase/u8-casecoll'.
21073         * lib/unicase/u8-casecoll.c: New file.
21074         * lib/unicase/u-casecoll.h: New file.
21075         * modules/unicase/u8-casecoll: New file.
21076
21077         New module 'unicase/u32-casexfrm'.
21078         * lib/unicase/u32-casexfrm.c: New file.
21079         * modules/unicase/u32-casexfrm: New file.
21080
21081         New module 'unicase/u16-casexfrm'.
21082         * lib/unicase/u16-casexfrm.c: New file.
21083         * modules/unicase/u16-casexfrm: New file.
21084
21085         New module 'unicase/u8-casexfrm'.
21086         * lib/unicase/u8-casexfrm.c: New file.
21087         * lib/unicase/u-casexfrm.h: New file.
21088         * modules/unicase/u8-casexfrm: New file.
21089
21090         Tests for module 'unicase/u32-casecmp'.
21091         * modules/unicase/u32-casecmp-tests: New file.
21092         * tests/unicase/test-u32-casecmp.c: New file.
21093
21094         Tests for module 'unicase/u16-casecmp'.
21095         * modules/unicase/u16-casecmp-tests: New file.
21096         * tests/unicase/test-u16-casecmp.c: New file.
21097
21098         Tests for module 'unicase/u8-casecmp'.
21099         * modules/unicase/u8-casecmp-tests: New file.
21100         * tests/unicase/test-u8-casecmp.c: New file.
21101         * tests/unicase/test-casecmp.h: New file.
21102
21103         New module 'unicase/u32-casecmp'.
21104         * lib/unicase/u32-casecmp.c: New file.
21105         * modules/unicase/u32-casecmp: New file.
21106
21107         New module 'unicase/u16-casecmp'.
21108         * lib/unicase/u16-casecmp.c: New file.
21109         * modules/unicase/u16-casecmp: New file.
21110
21111         New module 'unicase/u8-casecmp'.
21112         * lib/unicase/u8-casecmp.c: New file.
21113         * lib/unicase/u-casecmp.h: New file.
21114         * modules/unicase/u8-casecmp: New file.
21115
21116         Tests for module 'unicase/u32-casefold'.
21117         * modules/unicase/u32-casefold-tests: New file.
21118         * tests/unicase/test-u32-casefold.c: New file.
21119
21120         Tests for module 'unicase/u16-casefold'.
21121         * modules/unicase/u16-casefold-tests: New file.
21122         * tests/unicase/test-u16-casefold.c: New file.
21123
21124         Tests for module 'unicase/u8-casefold'.
21125         * modules/unicase/u8-casefold-tests: New file.
21126         * tests/unicase/test-u8-casefold.c: New file.
21127
21128         New module 'unicase/u32-casefold'.
21129         * lib/unicase/u32-casefold.c: New file.
21130         * modules/unicase/u32-casefold: New file.
21131
21132         New module 'unicase/u16-casefold'.
21133         * lib/unicase/u16-casefold.c: New file.
21134         * modules/unicase/u16-casefold: New file.
21135
21136         New module 'unicase/u8-casefold'.
21137         * lib/unicase/u8-casefold.c: New file.
21138         * lib/unicase/u-casefold.h: New file.
21139         * modules/unicase/u8-casefold: New file.
21140
21141         New module 'unicase/tocasefold'.
21142         * lib/unicase/casefold.h: New file.
21143         * lib/unicase/tocasefold.c: New file.
21144         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
21145         * modules/unicase/tocasefold: New file.
21146
21147         Tests for module 'unicase/u32-totitle'.
21148         * modules/unicase/u32-totitle-tests: New file.
21149         * tests/unicase/test-u32-totitle.c: New file.
21150
21151         Tests for module 'unicase/u16-totitle'.
21152         * modules/unicase/u16-totitle-tests: New file.
21153         * tests/unicase/test-u16-totitle.c: New file.
21154
21155         Tests for module 'unicase/u8-totitle'.
21156         * modules/unicase/u8-totitle-tests: New file.
21157         * tests/unicase/test-u8-totitle.c: New file.
21158
21159         New module 'unicase/u32-totitle'.
21160         * lib/unicase/u32-totitle.c: New file.
21161         * modules/unicase/u32-totitle: New file.
21162
21163         New module 'unicase/u16-totitle'.
21164         * lib/unicase/u16-totitle.c: New file.
21165         * modules/unicase/u16-totitle: New file.
21166
21167         New module 'unicase/u8-totitle'.
21168         * lib/unicase/u8-totitle.c: New file.
21169         * lib/unicase/u-totitle.h: New file.
21170         * modules/unicase/u8-totitle: New file.
21171
21172         Tests for module 'unicase/u32-tolower'.
21173         * modules/unicase/u32-tolower-tests: New file.
21174         * tests/unicase/test-u32-tolower.c: New file.
21175
21176         Tests for module 'unicase/u16-tolower'.
21177         * modules/unicase/u16-tolower-tests: New file.
21178         * tests/unicase/test-u16-tolower.c: New file.
21179
21180         Tests for module 'unicase/u8-tolower'.
21181         * modules/unicase/u8-tolower-tests: New file.
21182         * tests/unicase/test-u8-tolower.c: New file.
21183
21184         New module 'unicase/u32-tolower'.
21185         * lib/unicase/u32-tolower.c: New file.
21186         * modules/unicase/u32-tolower: New file.
21187
21188         New module 'unicase/u16-tolower'.
21189         * lib/unicase/u16-tolower.c: New file.
21190         * modules/unicase/u16-tolower: New file.
21191
21192         New module 'unicase/u8-tolower'.
21193         * lib/unicase/u8-tolower.c: New file.
21194         * modules/unicase/u8-tolower: New file.
21195
21196         Tests for module 'unicase/u32-toupper'.
21197         * modules/unicase/u32-toupper-tests: New file.
21198         * tests/unicase/test-u32-toupper.c: New file.
21199
21200         Tests for module 'unicase/u16-toupper'.
21201         * modules/unicase/u16-toupper-tests: New file.
21202         * tests/unicase/test-u16-toupper.c: New file.
21203
21204         Tests for module 'unicase/u8-toupper'.
21205         * modules/unicase/u8-toupper-tests: New file.
21206         * tests/unicase/test-u8-toupper.c: New file.
21207
21208         New module 'unicase/u32-toupper'.
21209         * lib/unicase/u32-toupper.c: New file.
21210         * modules/unicase/u32-toupper: New file.
21211
21212         New module 'unicase/u16-toupper'.
21213         * lib/unicase/u16-toupper.c: New file.
21214         * modules/unicase/u16-toupper: New file.
21215
21216         New module 'unicase/u8-toupper'.
21217         * lib/unicase/u8-toupper.c: New file.
21218         * modules/unicase/u8-toupper: New file.
21219
21220         New module 'unicase/u32-casemap'.
21221         * lib/unicase/u32-casemap.c: New file.
21222         * modules/unicase/u32-casemap: New file.
21223
21224         New module 'unicase/u16-casemap'.
21225         * lib/unicase/u16-casemap.c: New file.
21226         * modules/unicase/u16-casemap: New file.
21227
21228         New module 'unicase/u8-casemap'.
21229         * lib/unicase/unicasemap.h: New file.
21230         * lib/unicase/u8-casemap.c: New file.
21231         * lib/unicase/u-casemap.h: New file.
21232         * modules/unicase/u8-casemap: New file.
21233
21234         New module 'unicase/special-casing'.
21235         * lib/unicase/special-casing.h: New file.
21236         * lib/unicase/special-casing.c: New file.
21237         * lib/unicase/special-casing-table.gperf: New file, generated by
21238         gen-uni-tables.c.
21239         * modules/unicase/special-casing: New file.
21240
21241         Tests for module 'unicase/locale-language'.
21242         * modules/unicase/locale-language-tests: New file.
21243         * tests/unicase/test-locale-language.sh: New file.
21244         * tests/unicase/test-locale-language.c: New file.
21245
21246         New module 'unicase/locale-language'.
21247         * lib/unicase/locale-language.c: New file.
21248         * lib/unicase/locale-languages.gperf: New file.
21249         * modules/unicase/locale-language: New file.
21250
21251         Generate more tables for case conversion and case folding.
21252         * lib/gen-uni-tables.c (SCC_*): New enum items.
21253         (struct special_casing_rule): New type.
21254         (casing_rules, num_casing_rules, allocated_casing_rules): New
21255         variables.
21256         (add_casing_rule, fill_casing_rules): New functions.
21257         (struct casefold_rule): New type.
21258         (casefolding_rules, num_casefolding_rules,
21259         allocated_casefolding_rules): New variables.
21260         (fill_casefolding_rules): New function.
21261         (unicode_casefold): New variable.
21262         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
21263         sort_casing_rules, output_casing_rules): New functions.
21264         (main): Accept to more arguments: SpecialCasing.txt and
21265         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
21266         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
21267         Output mapping for casefolding.
21268
21269         * lib/unicase.h: Include stdbool.h, uninorm.h.
21270         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
21271         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
21272         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
21273         arguments.
21274         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
21275         resultp arguments.
21276         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
21277         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
21278         resultp arguments.
21279         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
21280         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
21281         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
21282         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
21283         declarations.
21284         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
21285
21286 2009-03-08  Bruno Haible  <bruno@clisp.org>
21287
21288         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
21289         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
21290         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
21291         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
21292
21293 2009-03-07  Bruno Haible  <bruno@clisp.org>
21294
21295         Adjust u*_normcmp, u*_normcoll API.
21296         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
21297         u16_normcoll, u32_normcoll): Change failure conventions.
21298         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
21299         errno and return -1.
21300         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
21301
21302 2009-03-07  Bruno Haible  <bruno@clisp.org>
21303
21304         Tests for module 'uninorm/u32-normcoll'.
21305         * modules/uninorm/u32-normcoll-tests: New file.
21306         * tests/uninorm/test-u32-normcoll.c: New file.
21307
21308         Tests for module 'uninorm/u16-normcoll'.
21309         * modules/uninorm/u16-normcoll-tests: New file.
21310         * tests/uninorm/test-u16-normcoll.c: New file.
21311
21312         Tests for module 'uninorm/u8-normcoll'.
21313         * modules/uninorm/u8-normcoll-tests: New file.
21314         * tests/uninorm/test-u8-normcoll.c: New file.
21315
21316 2009-03-07  Bruno Haible  <bruno@clisp.org>
21317
21318         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
21319         tests/uninorm/test-u32-normcmp.c.
21320         * tests/uninorm/test-u32-normcmp.c: Include it.
21321         (test_nonascii): New function, extracted from main. Add some more
21322         tests.
21323         (main): Invoke test_ascii and test_nonascii.
21324         * modules/uninorm/u32-normcmp-tests (Files): Add
21325         tests/uninorm/test-u32-normcmp.h.
21326         (Depends-on): Remove uninorm/u32-normcmp.
21327
21328         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
21329         tests/uninorm/test-u16-normcmp.c.
21330         * tests/uninorm/test-u16-normcmp.c: Include it.
21331         (test_nonascii): New function, extracted from main. Add some more
21332         tests.
21333         (main): Invoke test_ascii and test_nonascii.
21334         * modules/uninorm/u16-normcmp-tests (Files): Add
21335         tests/uninorm/test-u16-normcmp.h.
21336         (Depends-on): Remove uninorm/u16-normcmp.
21337
21338         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
21339         tests/uninorm/test-u8-normcmp.c.
21340         * tests/uninorm/test-u8-normcmp.c: Include it.
21341         (test_nonascii): New function, extracted from main. Add some more
21342         tests.
21343         (main): Invoke test_ascii and test_nonascii.
21344         * modules/uninorm/u8-normcmp-tests (Files): Add
21345         tests/uninorm/test-u8-normcmp.h.
21346         (Depends-on): Remove uninorm/u8-normcmp.
21347
21348 2009-03-07  Bruno Haible  <bruno@clisp.org>
21349
21350         New module 'uninorm/u32-normcoll'.
21351         * lib/uninorm/u32-normcoll.c: New file.
21352         * modules/uninorm/u32-normcoll: New file.
21353
21354         New module 'uninorm/u16-normcoll'.
21355         * lib/uninorm/u16-normcoll.c: New file.
21356         * modules/uninorm/u16-normcoll: New file.
21357
21358         New module 'uninorm/u8-normcoll'.
21359         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
21360         declarations.
21361         * lib/uninorm/u8-normcoll.c: New file.
21362         * lib/uninorm/u-normcoll.h: New file.
21363         * modules/uninorm/u8-normcoll: New file.
21364
21365         New module 'uninorm/u32-normxfrm'.
21366         * lib/uninorm/u32-normxfrm.c: New file.
21367         * modules/uninorm/u32-normxfrm: New file.
21368
21369         New module 'uninorm/u16-normxfrm'.
21370         * lib/uninorm/u16-normxfrm.c: New file.
21371         * modules/uninorm/u16-normxfrm: New file.
21372
21373         New module 'uninorm/u8-normxfrm'.
21374         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
21375         declarations.
21376         * lib/uninorm/u8-normxfrm.c: New file.
21377         * lib/uninorm/u-normxfrm.h: New file.
21378         * modules/uninorm/u8-normxfrm: New file.
21379
21380 2009-03-07  Bruno Haible  <bruno@clisp.org>
21381
21382         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
21383         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
21384         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
21385
21386 2009-03-07  Bruno Haible  <bruno@clisp.org>
21387
21388         New module 'memxfrm'.
21389         * lib/memxfrm.h: New file.
21390         * lib/memxfrm.c: New file.
21391         * modules/memxfrm: New file.
21392
21393 2009-03-07  Bruno Haible  <bruno@clisp.org>
21394
21395         New module 'memcmp2'.
21396         * lib/memcmp2.h: New file.
21397         * lib/memcmp2.c: New file.
21398         * modules/memcmp2: New file.
21399
21400 2009-03-07  Bruno Haible  <bruno@clisp.org>
21401
21402         Tests for module 'uninorm/decomposing-form'.
21403         * modules/uninorm/decomposing-form-tests: New file.
21404         * tests/uninorm/test-decomposing-form.c: New file.
21405
21406         New module 'uninorm/decomposing-form'.
21407         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
21408         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
21409         Add 'decomposing_variant' field.
21410         * lib/uninorm/decomposing-form.c: New file.
21411         * lib/uninorm/nfc.c (uninorm_nfc): Update.
21412         * lib/uninorm/nfd.c (uninorm_nfd): Update.
21413         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
21414         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
21415         * modules/uninorm/decomposing-form: New file.
21416         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
21417         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
21418
21419 2009-03-07  Bruno Haible  <bruno@clisp.org>
21420
21421         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
21422         strings.
21423
21424 2009-03-06  Bruno Haible  <bruno@clisp.org>
21425
21426         Tests for module 'uninorm/u32-normcmp'.
21427         * tests/uninorm/test-u32-normcmp.c: New file.
21428         * modules/uninorm/u32-normcmp-tests: New file.
21429
21430         Tests for module 'uninorm/u16-normcmp'.
21431         * tests/uninorm/test-u16-normcmp.c: New file.
21432         * modules/uninorm/u16-normcmp-tests: New file.
21433
21434         Tests for module 'uninorm/u8-normcmp'.
21435         * tests/uninorm/test-u8-normcmp.c: New file.
21436         * modules/uninorm/u8-normcmp-tests: New file.
21437
21438         New module 'uninorm/u32-normcmp'.
21439         * lib/uninorm/u32-normcmp.c: New file.
21440         * modules/uninorm/u32-normcmp: New file.
21441
21442         New module 'uninorm/u16-normcmp'.
21443         * lib/uninorm/u16-normcmp.c: New file.
21444         * modules/uninorm/u16-normcmp: New file.
21445
21446         New module 'uninorm/u8-normcmp'.
21447         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
21448         declarations.
21449         * lib/uninorm/u8-normcmp.c: New file.
21450         * lib/uninorm/u-normcmp.h: New file.
21451         * modules/uninorm/u8-normcmp: New file.
21452
21453 2009-03-06  Bruno Haible  <bruno@clisp.org>
21454
21455         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
21456         Reported by Eric Blake.
21457
21458 2009-03-06  Eric Blake  <ebb9@byu.net>
21459             Bruno Haible  <bruno@clisp.org>
21460
21461         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
21462         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
21463         condition.
21464         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
21465         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
21466         condition.
21467         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
21468
21469 2009-03-06  Eric Blake  <ebb9@byu.net>
21470
21471         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
21472         to avoid compiler warnings.
21473         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
21474
21475 2009-03-05  Bruno Haible  <bruno@clisp.org>
21476
21477         * tests/test-ftell.c (main): Disable test beyond end of file on
21478         FreeMiNT.
21479         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
21480
21481 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
21482
21483         * lib/filevercmp.c: Move hidden files up in ordering.
21484         * tests/test-filevercmp.c: Add tests for hidden files.
21485
21486 2009-03-04  Bruno Haible  <bruno@clisp.org>
21487
21488         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
21489         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
21490         AM_CFLAGS.
21491         Reported by Simon Josefsson.
21492
21493 2009-03-03  Bruno Haible  <bruno@clisp.org>
21494
21495         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
21496         Reported by Simon Josefsson.
21497
21498         * doc/ld-version-script.texi: Update node reference.
21499
21500 2009-03-03  Bruno Haible  <bruno@clisp.org>
21501
21502         * modules/visibility (License): Change to 'unlimited'.
21503         Suggested by Simon Josefsson.
21504
21505 2009-03-03  Jim Meyering  <meyering@redhat.com>
21506
21507         unlinkdir: cannot_unlink_dir may modify process state
21508         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
21509         it's neither thread-safe nor appropriate for use in a library.
21510
21511 2009-03-03  Eric Blake  <ebb9@byu.net>
21512
21513         test-closein: silence test under Darwin
21514         * tests/test-closein.sh: Ignore stderr from cat, since we don't
21515         care if it dies from EPIPE or EBADF.
21516
21517 2009-03-03  Bruno Haible  <bruno@clisp.org>
21518
21519         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
21520         earlier.
21521         * doc/visibility.texi: Fix @node and @section.
21522
21523 2009-03-03  Simon Josefsson  <simon@josefsson.org>
21524
21525         * doc/gnulib.texi: Link to sections for ld version script and
21526         visibility.
21527         * doc/visibility.texi: Add @node and @section.
21528         * modules/ld-version-script: New module.
21529         * m4/ld-version-script.m4: New file.
21530         * doc/ld-version-script.texi: New file.
21531
21532 2009-03-02  David Lutterkort  <lutter@redhat.com>
21533
21534         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
21535         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21536
21537 2009-03-02  Bruno Haible  <bruno@clisp.org>
21538
21539         * doc/visibility.texi: Mention libtool's -export-symbols option.
21540
21541 2009-03-02  Jim Meyering  <meyering@redhat.com>
21542
21543         announce-gen: new option: --no-print-checksums
21544         * build-aux/announce-gen (usage): Describe it.
21545         (print_checksums): Print a newline here, not in the [*] footnote.
21546         (main): Honor it.
21547
21548 2009-03-01  Bruno Haible  <bruno@clisp.org>
21549
21550         Use socklen_t in the native Windows replacements prototypes.
21551         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
21552         instead of 'int'.
21553         * lib/getsockopt.c (rpl_getsockopt): Likewise.
21554         * lib/setsockopt.c (rpl_setsockopt): Likewise.
21555         * modules/getsockopt (Depends-on): Add socklen.
21556         * modules/setsockopt (Depends-on): Add socklen.
21557
21558 2009-03-01  Bruno Haible  <bruno@clisp.org>
21559
21560         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
21561         least 4.2.
21562
21563 2009-03-01  Eric Blake  <ebb9@byu.net>
21564             Bruno Haible  <bruno@clisp.org>
21565
21566         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
21567         error messages.
21568         * lib/wait-process.c (wait_subprocess): Omit error message about
21569         deadly signal sent to the child of termsigp != NULL.
21570
21571 2009-03-01  Eric Blake  <ebb9@byu.net>
21572
21573         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
21574
21575 2009-03-01  Bruno Haible  <bruno@clisp.org>
21576
21577         Avoid a gcc warning.
21578         * tests/test-sched.c (b): Make global.
21579         Reported by Eric Blake.
21580
21581 2009-01-19  Martin Lambers  <marlam@marlam.de>
21582
21583         Provide POSIX semantics for socket timeout options on W32.
21584         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
21585         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
21586         * modules/setsockopt: Depend on sys_time module for struct timeval.
21587         * modules/getsockopt: Depend on sys_time module for struct timeval.
21588
21589 2009-03-01  Simon Josefsson  <simon@josefsson.org>
21590
21591         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
21592         __USE_GNU, for consistency with netdb.in.h.
21593         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21594
21595 2009-03-01  Bruno Haible  <bruno@clisp.org>
21596
21597         More support for FreeMiNT.
21598         * lib/fseeko.c (rpl_fseeko): Complete last commit.
21599         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21600
21601 2009-03-01  Bruno Haible  <bruno@clisp.org>
21602
21603         More support for FreeMiNT.
21604         * lib/fpurge.c (fpurge): Correct last commit.
21605         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21606
21607 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
21608
21609         Fix unportable awk script in vc-list-files.
21610         * build-aux/vc-list-files: In the replacement awk script, use
21611         substr with a second argument of 1, not zero.
21612         Report by Simon Josefsson.
21613
21614 2009-02-28  Bruno Haible  <bruno@clisp.org>
21615
21616         More support for FreeMiNT.
21617         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
21618         to FreeMiNT today.
21619         * lib/fwriting.c (fwriting): Likewise.
21620         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
21621
21622 2009-02-28  Bruno Haible  <bruno@clisp.org>
21623
21624         * tests/test-freadseek.c (main): Disable test beyond end of file on
21625         FreeMiNT.
21626         * tests/test-ftello.c (main): Likewise.
21627         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
21628
21629 2009-02-28  Bruno Haible  <bruno@clisp.org>
21630
21631         Add tentative support for FreeMiNT.
21632         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
21633         * lib/fpurge.c (fpurge): Likewise.
21634         * lib/freadable.c (freadable): Likewise.
21635         * lib/freading.c (freading): Likewise.
21636         * lib/freadptr.c (freadptr): Likewise.
21637         * lib/freadseek.c (freadptrinc): Likewise.
21638         * lib/fseeko.c (rpl_fseeko): Likewise.
21639         * lib/fseterr.c (fseterr): Likewise.
21640         * lib/fwritable.c (fwritable): Likewise.
21641         * lib/fwriting.c (fwriting): Likewise.
21642         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
21643         Hourihane.
21644         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
21645
21646 2009-02-28  Bruno Haible  <bruno@clisp.org>
21647
21648         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
21649         SIGCHLD.
21650         Reported by Jim Meyering.
21651
21652 2009-02-28  Bruno Haible  <bruno@clisp.org>
21653
21654         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
21655         Mention the results of these tests on various platforms.
21656         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
21657         order.
21658         * doc/posix-functions/printf.texi: Likewise.
21659         * doc/posix-functions/snprintf.texi: Likewise.
21660         * doc/posix-functions/sprintf.texi: Likewise.
21661         * doc/posix-functions/vfprintf.texi: Likewise.
21662         * doc/posix-functions/vprintf.texi: Likewise.
21663         * doc/posix-functions/vsnprintf.texi: Likewise.
21664         * doc/posix-functions/vsprintf.texi: Likewise.
21665         * doc/glibc-functions/obstack_printf.texi: Likewise.
21666         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
21667
21668 2009-02-28  Bruno Haible  <bruno@clisp.org>
21669
21670         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
21671         Reported by Loïc Minier <lool@dooz.org>.
21672
21673 2009-02-27  Bruno Haible  <bruno@clisp.org>
21674
21675         * gnulib-tool (func_import): Make the sed expression used to create the
21676         sed script for updating the .gitignore file POSIX compliant.
21677         Reported by Eric Blake.
21678
21679 2009-02-27  Bruno Haible  <bruno@clisp.org>
21680
21681         * gnulib-tool (sed): Don't alias as "sed --posix".
21682         Reported by Eric Blake.
21683
21684 2009-02-27  Bruno Haible  <bruno@clisp.org>
21685
21686         Avoid test link errors.
21687         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
21688         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
21689         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
21690         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
21691         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
21692
21693 2009-02-27  Bruno Haible  <bruno@clisp.org>
21694
21695         Avoid spurious "(cached)" in configure output.
21696         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
21697         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
21698         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
21699         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
21700         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
21701         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
21702         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
21703         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
21704         Reported by Eric Blake.
21705
21706 2009-02-27  Eric Blake  <ebb9@byu.net>
21707
21708         printf: fix regression in previous patch
21709         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
21710
21711 2009-02-27  Bruno Haible  <bruno@clisp.org>
21712
21713         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
21714         value.
21715         * lib/stdint.in.h: Likewise.
21716         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
21717
21718 2009-02-27  Eric Blake  <ebb9@byu.net>
21719
21720         doc: mention more functions added in cygwin 1.7.0
21721         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
21722         addition.
21723         * doc/posix-functions/open_wmemstream.texi: Likewise.
21724         * doc/posix-functions/wcsnlen.texi: Likewise.
21725         * doc/posix-functions/wcsnrtombs.texi: Likewise.
21726         * doc/posix-functions/wcstod.texi: Likewise.
21727         * doc/posix-functions/wcstof.texi: Likewise.
21728         * doc/posix-functions/wcstoimax.texi: Likewise.
21729         * doc/posix-functions/wcstok.texi: Likewise.
21730         * doc/posix-functions/wcstoumax.texi: Likewise.
21731
21732         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
21733         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
21734         * doc/posix-functions/fprintf.texi: Update.
21735         * doc/posix-functions/printf.texi: Update.
21736         * doc/posix-functions/snprintf.texi: Update.
21737         * doc/posix-functions/sprintf.texi: Update.
21738         * doc/posix-functions/vfprintf.texi: Update.
21739         * doc/posix-functions/vprintf.texi: Update.
21740         * doc/posix-functions/vsnprintf.texi: Update.
21741         * doc/posix-functions/vsprintf.texi: Update.
21742         * doc/glibc-functions/obstack_printf.texi: Update.
21743         * doc/glibc-functions/obstack_vprintf.texi: Update.
21744
21745 2009-02-26  Eric Blake  <ebb9@byu.net>
21746
21747         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
21748         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
21749         compilation bug by using runtime conversion.
21750         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
21751         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
21752         * modules/ceill-tests (Files): Use nan.h.
21753         * modules/floorl-tests (Files): Likewise.
21754         * modules/frexpl-tests (Files): Likewise.
21755         * modules/isnanl-tests (Files): Likewise.
21756         * modules/ldexpl-tests (Files): Likewise.
21757         * modules/roundl-tests (Files): Likewise.
21758         * modules/truncl-tests (Files): Likewise.
21759         * tests/test-ceill.c (main): Use a working NaN.
21760         * tests/test-floorl.c (main): Likewise.
21761         * tests/test-frexpl.c (main): Likewise.
21762         * tests/test-isnan.c (test_long_double): Likewise.
21763         * tests/test-isnanl.h (main): Likewise.
21764         * tests/test-ldexpl.h (main): Likewise.
21765         * tests/test-roundl.h (main): Likewise.
21766         * tests/test-truncl.h (main): Likewise.
21767         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
21768
21769 2009-02-26  Eric Blake  <ebb9@byu.net>
21770             Bruno Haible  <bruno@clisp.org>
21771
21772         Work around a *printf bug with %ls on Solaris.
21773         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
21774         precision is specified, sprintf stops converting the wide string
21775         argument when the number of bytes that have been produced by this
21776         conversion equals or exceeds the precision.
21777         * doc/posix-functions/fprintf.texi: Update.
21778         * doc/posix-functions/printf.texi: Update.
21779         * doc/posix-functions/snprintf.texi: Update.
21780         * doc/posix-functions/sprintf.texi: Update.
21781         * doc/posix-functions/vfprintf.texi: Update.
21782         * doc/posix-functions/vprintf.texi: Update.
21783         * doc/posix-functions/vsnprintf.texi: Update.
21784         * doc/posix-functions/vsprintf.texi: Update.
21785         * doc/glibc-functions/obstack_printf.texi: Update.
21786         * doc/glibc-functions/obstack_vprintf.texi: Update.
21787
21788 2009-02-26  Eric Blake  <ebb9@byu.net>
21789
21790         stdlib: favor compiler check of random.h
21791         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
21792         to avoid an ObjC random.h installed by Swarm.
21793
21794 2009-02-26  Bruno Haible  <bruno@clisp.org>
21795
21796         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
21797         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
21798         Reported by Gary V. Vaughan <gary@gnu.org>.
21799
21800 2009-02-26  Bruno Haible  <bruno@clisp.org>
21801
21802         Fix *printf behaviour regarding the %ls directive.
21803         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
21804         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
21805         NEED_PRINTF_DIRECTIVE_LS.
21806         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
21807         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
21808         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
21809         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
21810         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
21811         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
21812         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
21813         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
21814         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
21815         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
21816         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
21817         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
21818         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
21819         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
21820         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
21821         * doc/posix-functions/fprintf.texi: Update.
21822         * doc/posix-functions/printf.texi: Update.
21823         * doc/posix-functions/snprintf.texi: Update.
21824         * doc/posix-functions/sprintf.texi: Update.
21825         * doc/posix-functions/vfprintf.texi: Update.
21826         * doc/posix-functions/vprintf.texi: Update.
21827         * doc/posix-functions/vsnprintf.texi: Update.
21828         * doc/posix-functions/vsprintf.texi: Update.
21829         * doc/glibc-functions/obstack_printf.texi: Update.
21830         * doc/glibc-functions/obstack_vprintf.texi: Update.
21831         Reported by Eric Blake.
21832
21833 2009-02-25  Bruno Haible  <bruno@clisp.org>
21834
21835         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
21836         with known value.
21837         Reported by Gary V. Vaughan <gary@gnu.org>.
21838
21839 2009-02-25  Bruno Haible  <bruno@clisp.org>
21840
21841         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
21842         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
21843         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
21844         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
21845         Reported by Gary V. Vaughan <gary@gnu.org>.
21846
21847 2009-02-25  Bruno Haible  <bruno@clisp.org>
21848
21849         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
21850         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
21851         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
21852         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
21853         Reported by Gary V. Vaughan <gary@gnu.org>.
21854
21855 2009-02-25  Eric Blake  <ebb9@byu.net>
21856
21857         tests: skip fseek/ftell tests if ungetc is broken
21858         * m4/ungetc.m4: New file.
21859         * modules/fseek-tests: Split test, so ungetc dependency is
21860         separate from rest of test.
21861         * modules/fseeko-tests: Likewise.
21862         * modules/ftell-tests: Likewise.
21863         * modules/ftello-tests: Likewise.
21864         * tests/test-fseek.c (main): Isolate ungetc dependency.
21865         * tests/test-fseeko.c (main): Likewise.
21866         * tests/test-ftell.c (main): Likewise.
21867         * tests/test-ftello.c (main): Likewise.
21868         * tests/test-fseek2.sh: New file.
21869         * tests/test-fseeko2.sh: Likewise.
21870         * tests/test-ftell2.sh: Likewise.
21871         * tests/test-ftello2.sh: Likewise.
21872
21873 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
21874
21875         test-getaddrinfo: fix usage of skip return code 77
21876         * tests/test-gettaddrinfo.c: Return skip code 77 only
21877         for first occurance of skip (4x77 is not 77)
21878
21879 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
21880
21881         strtod: avoid C99 decl-after-statement
21882         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
21883
21884 2009-02-24  Eric Blake  <ebb9@byu.net>
21885
21886         strtod: detect HP-UX 11.31 bug
21887         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
21888         Reported by Gary V. Vaughan.
21889
21890 2009-02-23  Bruno Haible  <bruno@clisp.org>
21891
21892         Fix invalid read past end of memory block.
21893         * lib/vasnprintf.c (DCHAR_SET): Define.
21894         (local_wcslen): Define only when needed.
21895         (local_strnlen, local_wcsnlen): New functions.
21896         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
21897         directives that involve a conversion ourselves.
21898         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
21899         wcsnlen, mbrtowc, wcrtomb.
21900         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
21901         * tests/test-vasprintf-posix.c (test_function): Likewise.
21902         * tests/test-snprintf-posix.h (test_function): Likewise.
21903         * tests/test-sprintf-posix.h (test_function): Likewise.
21904         Reported by Ben Pfaff <blp@cs.stanford.edu>.
21905
21906 2009-02-22  Bruno Haible  <bruno@clisp.org>
21907
21908         Implement new clarified decomposition of Hangul syllables.
21909         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
21910         of type LTV, return only a pairwise decomposition.
21911         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
21912         Likewise.
21913         * tests/uninorm/test-decomposition.c (main): Updated expected result.
21914         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
21915         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
21916
21917 2009-02-22  Bruno Haible  <bruno@clisp.org>
21918
21919         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
21920         zero-length results and shrink excess allocated memory.
21921         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
21922         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
21923         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
21924         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
21925         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
21926         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
21927         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
21928         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
21929         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
21930         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
21931         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
21932         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
21933
21934 2009-02-21  Bruno Haible  <bruno@clisp.org>
21935
21936         * doc/gnulib.texi: Include safe-alloc.texi earlier.
21937         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
21938         spaces after a period. Put a space between a macro name and its
21939         argument list. Trivial rewordings.
21940         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
21941         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
21942         (main): Return 0 explicitly.
21943
21944 2009-02-21  Bruno Haible  <bruno@clisp.org>
21945
21946         Tests for module 'uninorm/filter'.
21947         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
21948         * modules/uninorm/filter-tests: New file.
21949
21950         New module 'uninorm/filter'.
21951         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
21952         uninorm_filter_flush, uninorm_filter_free): New declarations.
21953         * lib/uninorm/uninorm-filter.c: New file.
21954         * modules/uninorm/filter: New file.
21955
21956 2009-02-21  Bruno Haible  <bruno@clisp.org>
21957
21958         Tests for module 'uninorm/nfkc'.
21959         * tests/uninorm/test-nfkc.c: New file.
21960         * tests/uninorm/test-u8-nfkc.c: New file.
21961         * tests/uninorm/test-u16-nfkc.c: New file.
21962         * tests/uninorm/test-u32-nfkc.c: New file.
21963         * tests/uninorm/test-u32-nfkc-big.sh: New file.
21964         * tests/uninorm/test-u32-nfkc-big.c: New file.
21965         * modules/uninorm/nfkc-tests: New file.
21966
21967         New module 'uninorm/nfkc'.
21968         * lib/uninorm/nfkc.c: New file.
21969         * modules/uninorm/nfkc: New file.
21970
21971         Tests for module 'uninorm/nfkd'.
21972         * tests/uninorm/test-nfkd.c: New file.
21973         * tests/uninorm/test-u8-nfkd.c: New file.
21974         * tests/uninorm/test-u16-nfkd.c: New file.
21975         * tests/uninorm/test-u32-nfkd.c: New file.
21976         * tests/uninorm/test-u32-nfkd-big.sh: New file.
21977         * tests/uninorm/test-u32-nfkd-big.c: New file.
21978         * modules/uninorm/nfkd-tests: New file.
21979
21980         New module 'uninorm/nfkd'.
21981         * lib/uninorm/nfkd.c: New file.
21982         * modules/uninorm/nfkd: New file.
21983
21984         Tests for module 'uninorm/nfc'.
21985         * tests/uninorm/test-nfc.c: New file.
21986         * tests/uninorm/test-u8-nfc.c: New file.
21987         * tests/uninorm/test-u16-nfc.c: New file.
21988         * tests/uninorm/test-u32-nfc.c: New file.
21989         * tests/uninorm/test-u32-nfc-big.sh: New file.
21990         * tests/uninorm/test-u32-nfc-big.c: New file.
21991         * modules/uninorm/nfc-tests: New file.
21992
21993         New module 'uninorm/nfc'.
21994         * lib/uninorm/nfc.c: New file.
21995         * modules/uninorm/nfc: New file.
21996
21997         Tests for module 'uninorm/nfd'.
21998         * tests/uninorm/test-nfd.c: New file.
21999         * tests/uninorm/test-u8-nfd.c: New file.
22000         * tests/uninorm/test-u16-nfd.c: New file.
22001         * tests/uninorm/test-u32-nfd.c: New file.
22002         * tests/uninorm/test-u32-nfd-big.sh: New file.
22003         * tests/uninorm/test-u32-nfd-big.c: New file.
22004         * tests/uninorm/test-u32-normalize-big.h: New file.
22005         * tests/uninorm/test-u32-normalize-big.c: New file.
22006         * tests/uninorm/NormalizationTest.txt: New file, created from
22007         Unicode 5.1.0 NormalizationTest.txt.
22008         * modules/uninorm/nfd-tests: New file.
22009
22010         New module 'uninorm/nfd'.
22011         * lib/uninorm/nfd.c: New file.
22012         * modules/uninorm/nfd: New file.
22013
22014         New module 'uninorm/u32-normalize'.
22015         * lib/uninorm/u32-normalize.c: New file.
22016         * modules/uninorm/u32-normalize: New file.
22017
22018         New module 'uninorm/u16-normalize'.
22019         * lib/uninorm/u16-normalize.c: New file.
22020         * modules/uninorm/u16-normalize: New file.
22021
22022         New module 'uninorm/u8-normalize'.
22023         * lib/uninorm/u8-normalize.c: New file.
22024         * lib/uninorm/normalize-internal.h: New file.
22025         * lib/uninorm/u-normalize-internal.h: New file.
22026         * modules/uninorm/u8-normalize: New file.
22027
22028         New module 'uninorm/decompose-internal'.
22029         * lib/uninorm/decompose-internal.c: New file.
22030         * modules/uninorm/decompose-internal: New file.
22031
22032         Tests for module 'uninorm/composition'.
22033         * tests/uninorm/test-composition.c: New file.
22034         * modules/uninorm/composition-tests: New file.
22035
22036         New module 'uninorm/composition'.
22037         * lib/uninorm/composition.c: New file.
22038         * lib/uninorm/composition-table.gperf: New file, generated by
22039         gen-uni-tables.
22040         * modules/uninorm/composition: New file.
22041
22042         Tests for module 'uninorm/compat-decomposition'.
22043         * tests/uninorm/test-compat-decomposition.c: New file.
22044         * modules/uninorm/compat-decomposition-tests: New file.
22045
22046         New module 'uninorm/compat-decomposition'.
22047         * lib/uninorm/decompose-internal.h: New file.
22048         * lib/uninorm/compat-decomposition.c: New file.
22049         * modules/uninorm/compat-decomposition: New file.
22050
22051         Tests for module 'uninorm/canonical-decomposition'.
22052         * tests/uninorm/test-canonical-decomposition.c: New file.
22053         * modules/uninorm/canonical-decomposition-tests: New file.
22054
22055         New module 'uninorm/canonical-decomposition'.
22056         * lib/uninorm/canonical-decomposition.c: New file.
22057         * modules/uninorm/canonical-decomposition: New file.
22058
22059         Tests for module 'uninorm/decomposition'.
22060         * tests/uninorm/test-decomposition.c: New file.
22061         * modules/uninorm/decomposition-tests: New file.
22062
22063         New module 'uninorm/decomposition'.
22064         * lib/uninorm/decomposition.c: New file.
22065         * modules/uninorm/decomposition: New file.
22066
22067         New module 'uninorm/decomposition-table'.
22068         * lib/uninorm/decomposition-table.h: New file.
22069         * lib/uninorm/decomposition-table.c: New file.
22070         * lib/uninorm/decomposition-table1.h: New file, generated by
22071         gen-uni-tables.
22072         * lib/uninorm/decomposition-table2.h: New file, generated by
22073         gen-uni-tables.
22074         * modules/uninorm/decomposition-table: New file.
22075
22076         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
22077         (UC_DECOMP_*): New enumeration items.
22078         (get_decomposition): New function.
22079         (struct decomp_table): New type.
22080         (output_decomposition, output_decomposition_tables): New functions.
22081         (unicode_composition_exclusions): New variable.
22082         (fill_composition_exclusions, debug_output_composition_tables): New
22083         functions.
22084         (main): Accept one more argument. Invoke fill_composition_exclusions.
22085         Output decomposition and composition tables.
22086
22087         New module 'uninorm/base'.
22088         * lib/uninorm.h: New file.
22089         * lib/unictype.h: Update comment.
22090         * modules/uninorm/base: New file.
22091
22092 2009-02-21  David Lutterkort  <lutter@redhat.com>
22093
22094         Tests for module 'safe-alloc'.
22095         * tests/test-safe-alloc.c: New file.
22096         * modules/safe-alloc-tests: New file.
22097
22098         New module 'safe-alloc'.
22099         * lib/safe-alloc.h: New file.
22100         * lib/safe-alloc.c: New file.
22101         * m4/safe-alloc.m4: New file.
22102         * modules/safe-alloc: New file.
22103         * doc/safe-alloc.texi: New file.
22104         * doc/gnulib.texi: Include it.
22105         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
22106         safe-alloc.
22107
22108 2009-02-18  Bruno Haible  <bruno@clisp.org>
22109
22110         Fix link error on non-glibc systems.
22111         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
22112         variable.
22113         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22114
22115 2009-02-18  Jim Meyering  <meyering@redhat.com>
22116
22117         fts: avoid used-uninitialized error due to recent change
22118         * lib/fts.c (fts_read): Guard uses of the new member,
22119         parent->fts_n_dirs_remaining, since it's not relevant for
22120         the parent of a directory specified on the command-line.
22121
22122 2009-02-17  James Youngman  <jay@gnu.org>
22123             Bruno Haible  <bruno@clisp.org>
22124
22125         * m4/include_next.m4: Reformulate comment.
22126
22127 2009-02-16  Jim Meyering  <meyering@redhat.com>
22128
22129         fts: add #if guards so that the fts_lgpl module still builds
22130         * lib/fts.c: Guard just-added hash-table-using parts with
22131         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
22132         Reported by Simon Josefsson.
22133
22134 2009-02-15  Bruno Haible  <bruno@clisp.org>
22135
22136         * modules/array-mergesort-tests: New file.
22137         * tests/test-array-mergesort.c: New file.
22138
22139         New module 'array-mergesort'.
22140         * modules/array-mergesort: New file.
22141         * lib/array-mergesort.h: New file.
22142
22143 2009-02-15  Bruno Haible  <bruno@clisp.org>
22144
22145         Fix 2009-02-07 commit.
22146         * lib/gen-uni-tables.c (output_predicate, output_category,
22147         output_combclass, output_bidi_category, output_decimal_digit,
22148         output_digit, output_numeric, output_mirror, output_scripts,
22149         output_ident_category, output_simple_mapping): Fix format directives.
22150         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
22151
22152 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
22153
22154         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
22155         fixes are available from IBM.
22156
22157 2009-02-13  Jim Meyering  <meyering@redhat.com>
22158
22159         fts: arrange not to stat non-directories in more cases
22160         This makes GNU find (when it doesn't need to stat each file)
22161         *much* more efficient at traversing reiserfs file systems.
22162         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
22163         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
22164         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
22165         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
22166         (leaf_optimization_applies): New function.
22167         (LCO_hash, LCO_compare): New helper functions.
22168         (link_count_optimize_ok): New function.
22169         (fts_stat): Initialize new member (if dir).
22170         (fts_read): Decrement parent's fts_n_dirs_remaining count if
22171         we've just stat'ed a directory.  Skip the stat call when possible.
22172         ---
22173         Note this AFS-related exchange:
22174         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
22175         and note find's pioctl call in find/fstype.c.
22176         But that is necessary only if you want to enable the
22177         optimization for AFS, and for now, I don't.
22178
22179         fts: move a function definition "up" (no semantic change)
22180         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
22181         "up" to precede upcoming use of a related function.
22182
22183 2009-02-11  Jim Meyering  <meyering@redhat.com>
22184
22185         fts: correct internal computation of nlinks (optimization-related)
22186         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
22187         whether the current entry is a directory, so don't test it.
22188
22189 2009-02-10  Bruno Haible  <bruno@clisp.org>
22190
22191         Tests for module 'uniwbrk/ulc-wordbreaks'.
22192         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
22193         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
22194         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
22195
22196         Tests for module 'uniwbrk/u32-wordbreaks'.
22197         * modules/uniwbrk/u32-wordbreaks-tests: New file.
22198         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
22199
22200         Tests for module 'uniwbrk/u16-wordbreaks'.
22201         * modules/uniwbrk/u16-wordbreaks-tests: New file.
22202         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
22203
22204         Tests for module 'uniwbrk/u8-wordbreaks'.
22205         * modules/uniwbrk/u8-wordbreaks-tests: New file.
22206         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
22207
22208 2009-02-10  Bruno Haible  <bruno@clisp.org>
22209
22210         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
22211         property.
22212         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
22213         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
22214         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
22215
22216 2009-02-10  Simon Josefsson  <simon@josefsson.org>
22217
22218         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
22219         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
22220
22221 2009-02-10  Bruno Haible  <bruno@clisp.org>
22222
22223         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
22224         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
22225         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
22226         * lib/unilbrk/u8-possible-linebreaks.c: Update.
22227         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
22228         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
22229
22230 2009-02-09  Simon Josefsson  <simon@josefsson.org>
22231
22232         * lib/sockets.h (gl_fd_to_handle): New function.
22233
22234         * tests/test-sockets.c: Call gl_fd_to_handle.
22235
22236 2009-02-09  Bruno Haible  <bruno@clisp.org>
22237
22238         * doc/havelib.texi: Document the conventions on bi-arch systems.
22239
22240 2009-02-08  Bruno Haible  <bruno@clisp.org>
22241
22242         Document the AC_LIB_LINKFLAGS macro.
22243         * doc/havelib.texi: New file, mostly written on 2005-05-24.
22244         * doc/gnulib.texi: Include it.
22245
22246 2009-02-08  Bruno Haible  <bruno@clisp.org>
22247
22248         Fix wrong order of sections, compared to TOC.
22249         * doc/gnulib.texi: Include relocatable-maint.texi after the
22250         "Regular expressions" node, not before.
22251
22252 2009-02-08  Bruno Haible  <bruno@clisp.org>
22253
22254         Tests for module 'unicase/totitle'.
22255         * modules/unicase/totitle-tests: New file.
22256
22257         Tests for module 'unicase/tolower'.
22258         * modules/unicase/tolower-tests: New file.
22259
22260         Tests for module 'unicase/toupper'.
22261         * modules/unicase/toupper-tests: New file.
22262         * tests/unicase/test-mapping-part1.h: New file.
22263         * tests/unicase/test-mapping-part2.h: New file.
22264
22265         New module 'unicase/totitle'.
22266         * modules/unicase/totitle: New file.
22267         * lib/unicase/totitle.c: New file.
22268
22269         New module 'unicase/tolower'.
22270         * modules/unicase/tolower: New file.
22271         * lib/unicase/tolower.c: New file.
22272
22273         New module 'unicase/toupper'.
22274         * modules/unicase/toupper: New file.
22275         * lib/unicase/toupper.c: New file.
22276         * lib/unicase/simple-mapping.h: New file.
22277
22278         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
22279         (mapping_table): New structure.
22280         (output_simple_mapping): New function.
22281         (main): Invoke output_simple_mapping_test and output_simple_mapping.
22282         * modules/gen-uni-tables (Description): Update.
22283         * lib/unicase/toupper.h: New file, automatically generated by
22284         gen-uni-tables.
22285         * lib/unicase/tolower.h: New file, automatically generated by
22286         gen-uni-tables.
22287         * lib/unicase/totitle.h: New file, automatically generated by
22288         gen-uni-tables.
22289         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
22290         gen-uni-tables.
22291         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
22292         gen-uni-tables.
22293         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
22294         gen-uni-tables.
22295
22296         New module 'unicase/base'.
22297         * modules/unicase/base: New file.
22298         * lib/unicase.h: New file.
22299
22300 2009-02-08  Bruno Haible  <bruno@clisp.org>
22301
22302         New module 'uniwbrk/ulc-wordbreaks'.
22303         * modules/uniwbrk/ulc-wordbreaks: New file.
22304         * lib/uniwbrk/ulc-wordbreaks.c: New file.
22305
22306         New module 'uniwbrk/u32-wordbreaks'.
22307         * modules/uniwbrk/u32-wordbreaks: New file.
22308         * lib/uniwbrk/u32-wordbreaks.c: New file.
22309
22310         New module 'uniwbrk/u16-wordbreaks'.
22311         * modules/uniwbrk/u16-wordbreaks: New file.
22312         * lib/uniwbrk/u16-wordbreaks.c: New file.
22313
22314         New module 'uniwbrk/u8-wordbreaks'.
22315         * modules/uniwbrk/u8-wordbreaks: New file.
22316         * lib/uniwbrk/u8-wordbreaks.c: New file.
22317         * lib/uniwbrk/u-wordbreaks.h: New file.
22318
22319         New module 'uniwbrk/table'.
22320         * modules/uniwbrk/table: New file.
22321         * lib/uniwbrk/wbrktable.h: New file.
22322         * lib/uniwbrk/wbrktable.c: New file.
22323
22324         New module 'uniwbrk/wordbreak-property'.
22325         * modules/uniwbrk/wordbreak-property: New file.
22326         * lib/uniwbrk/wordbreak-property.c: New file.
22327
22328         * lib/gen-uni-tables.c (WBP_*): New enum items.
22329         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
22330         (unicode_org_wbp): New variable.
22331         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
22332         New functions.
22333         (wbp_table): New structure.
22334         (output_wbp, output_wbrk_tables): New functions.
22335         (main): Accept additional argument. Invoke fill_org_wbp,
22336         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
22337         output_wbrk_tables.
22338         * modules/gen-uni-tables (Description): Update.
22339         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
22340         gen-uni-tables.
22341
22342         New module 'uniwbrk/base'.
22343         * modules/uniwbrk/base: New file.
22344         * lib/uniwbrk.h: New file.
22345
22346 2009-02-08  Bruno Haible  <bruno@clisp.org>
22347
22348         Update to Unicode 5.1.0.
22349         * lib/gen-uni-tables.c (is_property_alphabetic): Include
22350         U+2185..U+2188.
22351         (is_property_default_ignorable_code_point): Don't include characters
22352         of category Cc or Cs and not-a-characters.
22353         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
22354         U+0D79, U+109E, U+109F, U+A60C.
22355         * lib/unictype/bidi_of.h: Regenerated.
22356         * lib/unictype/blocks.h: Regenerated.
22357         * lib/unictype/categ_C.h: Regenerated.
22358         * lib/unictype/categ_Cf.h: Regenerated.
22359         * lib/unictype/categ_Cn.h: Regenerated.
22360         * lib/unictype/categ_L.h: Regenerated.
22361         * lib/unictype/categ_Ll.h: Regenerated.
22362         * lib/unictype/categ_Lm.h: Regenerated.
22363         * lib/unictype/categ_Lo.h: Regenerated.
22364         * lib/unictype/categ_Lu.h: Regenerated.
22365         * lib/unictype/categ_M.h: Regenerated.
22366         * lib/unictype/categ_Mc.h: Regenerated.
22367         * lib/unictype/categ_Me.h: Regenerated.
22368         * lib/unictype/categ_Mn.h: Regenerated.
22369         * lib/unictype/categ_N.h: Regenerated.
22370         * lib/unictype/categ_Nd.h: Regenerated.
22371         * lib/unictype/categ_Nl.h: Regenerated.
22372         * lib/unictype/categ_No.h: Regenerated.
22373         * lib/unictype/categ_P.h: Regenerated.
22374         * lib/unictype/categ_Pd.h: Regenerated.
22375         * lib/unictype/categ_Pe.h: Regenerated.
22376         * lib/unictype/categ_Pf.h: Regenerated.
22377         * lib/unictype/categ_Pi.h: Regenerated.
22378         * lib/unictype/categ_Po.h: Regenerated.
22379         * lib/unictype/categ_Ps.h: Regenerated.
22380         * lib/unictype/categ_S.h: Regenerated.
22381         * lib/unictype/categ_Sk.h: Regenerated.
22382         * lib/unictype/categ_Sm.h: Regenerated.
22383         * lib/unictype/categ_So.h: Regenerated.
22384         * lib/unictype/categ_of.h: Regenerated.
22385         * lib/unictype/combining.h: Regenerated.
22386         * lib/unictype/ctype_alnum.h: Regenerated.
22387         * lib/unictype/ctype_alpha.h: Regenerated.
22388         * lib/unictype/ctype_graph.h: Regenerated.
22389         * lib/unictype/ctype_lower.h: Regenerated.
22390         * lib/unictype/ctype_print.h: Regenerated.
22391         * lib/unictype/ctype_punct.h: Regenerated.
22392         * lib/unictype/ctype_upper.h: Regenerated.
22393         * lib/unictype/decdigit.h: Regenerated.
22394         * lib/unictype/digit.h: Regenerated.
22395         * lib/unictype/mirror.h: Regenerated.
22396         * lib/unictype/numeric.h: Regenerated.
22397         * lib/unictype/pr_alphabetic.h: Regenerated.
22398         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
22399         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
22400         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
22401         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
22402         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
22403         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
22404         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
22405         * lib/unictype/pr_combining.h: Regenerated.
22406         * lib/unictype/pr_dash.h: Regenerated.
22407         * lib/unictype/pr_decimal_digit.h: Regenerated.
22408         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
22409         * lib/unictype/pr_deprecated.h: Regenerated.
22410         * lib/unictype/pr_diacritic.h: Regenerated.
22411         * lib/unictype/pr_extender.h: Regenerated.
22412         * lib/unictype/pr_format_control.h: Regenerated.
22413         * lib/unictype/pr_grapheme_base.h: Regenerated.
22414         * lib/unictype/pr_grapheme_extend.h: Regenerated.
22415         * lib/unictype/pr_grapheme_link.h: Regenerated.
22416         * lib/unictype/pr_id_continue.h: Regenerated.
22417         * lib/unictype/pr_id_start.h: Regenerated.
22418         * lib/unictype/pr_ideographic.h: Regenerated.
22419         * lib/unictype/pr_ignorable_control.h: Regenerated.
22420         * lib/unictype/pr_lowercase.h: Regenerated.
22421         * lib/unictype/pr_math.h: Regenerated.
22422         * lib/unictype/pr_numeric.h: Regenerated.
22423         * lib/unictype/pr_other_alphabetic.h: Regenerated.
22424         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
22425         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
22426         * lib/unictype/pr_other_id_continue.h: Regenerated.
22427         * lib/unictype/pr_other_lowercase.h: Regenerated.
22428         * lib/unictype/pr_other_math.h: Regenerated.
22429         * lib/unictype/pr_punctuation.h: Regenerated.
22430         * lib/unictype/pr_sentence_terminal.h: Regenerated.
22431         * lib/unictype/pr_soft_dotted.h: Regenerated.
22432         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
22433         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
22434         * lib/unictype/pr_unified_ideograph.h: Regenerated.
22435         * lib/unictype/pr_uppercase.h: Regenerated.
22436         * lib/unictype/pr_xid_continue.h: Regenerated.
22437         * lib/unictype/pr_xid_start.h: Regenerated.
22438         * lib/unictype/pr_zero_width.h: Regenerated.
22439         * lib/unictype/scripts.h: Regenerated.
22440         * lib/unictype/scripts_byname.gperf: Regenerated.
22441         * lib/unictype/sy_java_ident.h: Regenerated.
22442         * lib/unilbrk/lbrkprop1.h: Regenerated.
22443         * lib/unilbrk/lbrkprop2.h: Regenerated.
22444         * tests/unictype/test-categ_C.c: Regenerated.
22445         * tests/unictype/test-categ_Cf.c: Regenerated.
22446         * tests/unictype/test-categ_Cn.c: Regenerated.
22447         * tests/unictype/test-categ_L.c: Regenerated.
22448         * tests/unictype/test-categ_Ll.c: Regenerated.
22449         * tests/unictype/test-categ_Lm.c: Regenerated.
22450         * tests/unictype/test-categ_Lo.c: Regenerated.
22451         * tests/unictype/test-categ_Lu.c: Regenerated.
22452         * tests/unictype/test-categ_M.c: Regenerated.
22453         * tests/unictype/test-categ_Mc.c: Regenerated.
22454         * tests/unictype/test-categ_Me.c: Regenerated.
22455         * tests/unictype/test-categ_Mn.c: Regenerated.
22456         * tests/unictype/test-categ_N.c: Regenerated.
22457         * tests/unictype/test-categ_Nd.c: Regenerated.
22458         * tests/unictype/test-categ_Nl.c: Regenerated.
22459         * tests/unictype/test-categ_No.c: Regenerated.
22460         * tests/unictype/test-categ_P.c: Regenerated.
22461         * tests/unictype/test-categ_Pd.c: Regenerated.
22462         * tests/unictype/test-categ_Pe.c: Regenerated.
22463         * tests/unictype/test-categ_Pf.c: Regenerated.
22464         * tests/unictype/test-categ_Pi.c: Regenerated.
22465         * tests/unictype/test-categ_Po.c: Regenerated.
22466         * tests/unictype/test-categ_Ps.c: Regenerated.
22467         * tests/unictype/test-categ_S.c: Regenerated.
22468         * tests/unictype/test-categ_Sk.c: Regenerated.
22469         * tests/unictype/test-categ_Sm.c: Regenerated.
22470         * tests/unictype/test-categ_So.c: Regenerated.
22471         * tests/unictype/test-ctype_alnum.c: Regenerated.
22472         * tests/unictype/test-ctype_alpha.c: Regenerated.
22473         * tests/unictype/test-ctype_graph.c: Regenerated.
22474         * tests/unictype/test-ctype_lower.c: Regenerated.
22475         * tests/unictype/test-ctype_print.c: Regenerated.
22476         * tests/unictype/test-ctype_punct.c: Regenerated.
22477         * tests/unictype/test-ctype_upper.c: Regenerated.
22478         * tests/unictype/test-decdigit.h: Regenerated.
22479         * tests/unictype/test-digit.h: Regenerated.
22480         * tests/unictype/test-numeric.h: Regenerated.
22481         * tests/unictype/test-pr_alphabetic.c: Regenerated.
22482         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
22483         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
22484         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
22485         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
22486         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
22487         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
22488         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
22489         * tests/unictype/test-pr_combining.c: Regenerated.
22490         * tests/unictype/test-pr_dash.c: Regenerated.
22491         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
22492         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
22493         * tests/unictype/test-pr_deprecated.c: Regenerated.
22494         * tests/unictype/test-pr_diacritic.c: Regenerated.
22495         * tests/unictype/test-pr_extender.c: Regenerated.
22496         * tests/unictype/test-pr_format_control.c: Regenerated.
22497         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
22498         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
22499         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
22500         * tests/unictype/test-pr_id_continue.c: Regenerated.
22501         * tests/unictype/test-pr_id_start.c: Regenerated.
22502         * tests/unictype/test-pr_ideographic.c: Regenerated.
22503         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
22504         * tests/unictype/test-pr_lowercase.c: Regenerated.
22505         * tests/unictype/test-pr_math.c: Regenerated.
22506         * tests/unictype/test-pr_numeric.c: Regenerated.
22507         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
22508         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
22509         Regenerated.
22510         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
22511         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
22512         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
22513         * tests/unictype/test-pr_other_math.c: Regenerated.
22514         * tests/unictype/test-pr_punctuation.c: Regenerated.
22515         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
22516         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
22517         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
22518         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
22519         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
22520         * tests/unictype/test-pr_uppercase.c: Regenerated.
22521         * tests/unictype/test-pr_xid_continue.c: Regenerated.
22522         * tests/unictype/test-pr_xid_start.c: Regenerated.
22523         * tests/unictype/test-pr_zero_width.c: Regenerated.
22524
22525         Update to Unicode 5.1.0.
22526         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
22527         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
22528         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
22529         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
22530         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
22531         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
22532         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
22533         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
22534         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
22535         (nonspacing_table_ind): Update.
22536         * tests/uniwidth/test-uc_width2.sh: Update expected result.
22537
22538         Update to Unicode 5.1.0.
22539         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
22540         code transform.
22541         * lib/uniname/uniname.c (unicode_character_name,
22542         unicode_name_character): Add the range 0x1Fxxx to the code transform.
22543         * lib/uniname/uninames.h: Regenerated.
22544         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
22545
22546 2009-02-07  Bruno Haible  <bruno@clisp.org>
22547
22548         Merge gen-ctype and gen-lbrk into a single program.
22549         * lib/gen-uni-tables.c: New file, incorporating
22550         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
22551         Add directory prefixes to the names of the generated files.
22552         * lib/unictype/gen-ctype.c: Remove file.
22553         * lib/unilbrk/gen-lbrk.c: Remove file.
22554         * modules/gen-uni-tables: New file.
22555         * modules/unictype/gen-ctype: Remove file.
22556         * modules/unilbrk/gen-lbrk: Remove file.
22557
22558 2009-02-07  Bruno Haible  <bruno@clisp.org>
22559
22560         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
22561
22562         New module 'unistr/u32-strcoll'.
22563         * modules/unistr/u32-strcoll: New file.
22564         * lib/unistr/u32-strcoll.c: New file.
22565
22566         New module 'unistr/u16-strcoll'.
22567         * modules/unistr/u16-strcoll: New file.
22568         * lib/unistr/u16-strcoll.c: New file.
22569
22570         New module 'unistr/u8-strcoll'.
22571         * modules/unistr/u8-strcoll: New file.
22572         * lib/unistr/u8-strcoll.c: New file.
22573         * lib/unistr/u-strcoll.h: New file.
22574
22575 2009-02-07  Bruno Haible  <bruno@clisp.org>
22576
22577         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
22578         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
22579         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
22580         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
22581         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
22582         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
22583
22584 2009-02-07  Bruno Haible  <bruno@clisp.org>
22585
22586         Make 64-bit clean.
22587         * lib/unictype/gen-ctype.c (output_predicate, output_category,
22588         output_combclass, output_bidi_category, output_decimal_digit,
22589         output_digit, output_numeric, output_mirror, output_scripts,
22590         output_ident_category): Use proper width specifier in format strings.
22591
22592 2009-02-07  Bruno Haible  <bruno@clisp.org>
22593
22594         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
22595         failure behaviour.
22596
22597 2009-02-07  Jim Meyering  <meyering@redhat.com>
22598
22599         regex: avoid compilation failure with upcoming gcc-4.4
22600         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
22601         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
22602         "... error: integer overflow in preprocessor expression".
22603
22604 2009-02-05  Ben Pfaff  <blp@gnu.org>
22605
22606         Fix link errors on Windows when close module is used.
22607         * modules/close: Add $(LIB_CLOSE) to Link section.
22608         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
22609         $(LIB_CLOSE) on Windows.
22610
22611 2009-02-05  Jim Meyering  <meyering@redhat.com>
22612
22613         still avoid unused-parameter warnings, but do it cleanly
22614         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
22615         (get_fs_usage): Cast to void instead.
22616         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
22617         (dev_from_mount_options, read_file_system_list): Cast to void.
22618         Prompted by Bruno Haible.
22619
22620 2009-02-04  Jim Meyering  <meyering@redhat.com>
22621
22622         fsusage.c: correct copyright year
22623         * lib/fsusage.c: Reflect year in which the change is pushed into
22624
22625         avoid misc. warnings
22626         * lib/fsusage.c (UNUSED_PARAM): Define.
22627         (get_fs_usage): Mark parameter "disk" as unused.
22628         * lib/getugroups.c (getgrent): Use "void" in prototype.
22629         * lib/mountlist.c: Mark unused parameters.
22630         (read_file_system_list): Declare a local with "const".
22631         * lib/nanosleep.c (getnow): Declare static.
22632         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
22633
22634         dirfd: set errno upon failure
22635         * lib/dirfd.c: Include <errno.h>.
22636         Set errno to ENOTSUP when returning -1.
22637         * modules/dirfd (Depends-on): Add errno.
22638         Suggested by John Kodis <kodis@comcast.net>.
22639
22640 2009-02-01  Bruno Haible  <bruno@clisp.org>
22641
22642         Don't assume sizeof (long) >= sizeof (void *).
22643         * lib/memcmp.c: Include stdint.h.
22644         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
22645         srcp2 to 'const byte *'.
22646         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
22647         types to uintptr_t.
22648         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
22649         * modules/memcmp (Depends-on): Add stdint.
22650         Reported by Ozkan Sezer <sezeroz@gmail.com>.
22651
22652 2009-01-30  Eric Blake  <ebb9@byu.net>
22653
22654         fix more require-before-expand issues
22655         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
22656         expand, AC_PROG_AWK.
22657         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
22658
22659 2009-01-28  Eric Blake  <ebb9@byu.net>
22660
22661         version-etc: use consistent URL formatting
22662         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
22663         Improve formatting.  Use fputs for string without %.
22664
22665 2009-01-28  Jim Meyering  <meyering@redhat.com>
22666
22667         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
22668         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
22669         "underquoted definition of NAME" from autoconf-2.59.
22670
22671 2009-01-28  Bruno Haible  <bruno@clisp.org>
22672
22673         * doc/gnulib.texi: Add "Obsolete modules" to index.
22674
22675 2009-01-28  Jim Meyering  <meyering@redhat.com>
22676
22677         useless-if-before-free: recognize more variants
22678         * build-aux/useless-if-before-free: Also recognize e.g.,
22679         if (NULL != p) free (p);
22680
22681 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
22682
22683         test-getaddrinfo: skip (don't fail) this test when there's no network
22684         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
22685         on the presumption that it means you lack network access.
22686
22687 2009-01-26  Jim Meyering  <meyering@redhat.com>
22688
22689         fflush: avoid warnings on modern systems
22690         * lib/fflush.c (rpl_fflush): Move declarations of locals,
22691         pos and result, into scopes where they're used.
22692
22693 2009-01-26  Eric Blake  <ebb9@byu.net>
22694
22695         Silence warning reintroduced by recent extensions patch.
22696         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
22697         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
22698         autoconf.
22699
22700         Backport improved autoconf semantics of AC_DEFUN_ONCE.
22701         * m4/00gnulib.m4: New file.
22702         * gnulib-tool (func_get_filelist): Always use it.
22703         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
22704         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
22705
22706 2009-01-25  Bruno Haible  <bruno@clisp.org>
22707
22708         Make test-quotearg work on MacOS X and AIX.
22709         * tests/test-quotearg.sh: New file.
22710         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
22711         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
22712         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
22713         include <libintl.h>.
22714         (fake_locale): Remove variable.
22715         (gettext, dgettext, dcgettext): Remove functions.
22716         (main): Instead of setting a fake locale, set a real locale. Call
22717         textdomain and bindtextdomain.
22718         * modules/quotearg-tests (Files): Add the new files.
22719         (Depends-on): Add gettext, setenv, unsetenv.
22720         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
22721         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
22722         Augment TESTS_ENVIRONMENT.
22723
22724 2009-01-25  Bruno Haible  <bruno@clisp.org>
22725
22726         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
22727         fr_FR.ISO8859-1 locale on MacOS X.
22728         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
22729         ja_JP.eucJP locale on MacOS X.
22730         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
22731         zh_CN.GB18030 locale on MacOS X.
22732
22733 2009-01-25  Bruno Haible  <bruno@clisp.org>
22734
22735         Avoid link errors on MacOS X 10.3.
22736         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
22737         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
22738
22739 2009-01-25  Bruno Haible  <bruno@clisp.org>
22740
22741         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
22742         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
22743         * modules/pipe (Files): Remove m4/posix_spawn.m4.
22744         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
22745         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
22746         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
22747         posix_spawnattr_init, posix_spawnattr_setsigmask,
22748         posix_spawnattr_setflags, posix_spawnattr_destroy.
22749
22750         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
22751         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
22752         * modules/execute (Files): Remove m4/posix_spawn.m4.
22753         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
22754         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
22755         posix_spawnattr_init, posix_spawnattr_setsigmask,
22756         posix_spawnattr_setflags, posix_spawnattr_destroy.
22757
22758 2009-01-25  Bruno Haible  <bruno@clisp.org>
22759
22760         * lib/glthread/threadlib.c: Include <stdlib.h>.
22761
22762 2009-01-25  Bruno Haible  <bruno@clisp.org>
22763
22764         * lib/glthread/threadlib.c (dummy): New declaration.
22765
22766 2009-01-25  Bruno Haible  <bruno@clisp.org>
22767
22768         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
22769         multibyte characters also for the GB18030 encoding. Don't crash when
22770         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
22771
22772 2009-01-25  Bruno Haible  <bruno@clisp.org>
22773
22774         Avoid redefining 'struct random_data' on OSF/1 5.1.
22775         * lib/stdlib.in.h: Include <random.h> if it exists.
22776         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
22777         HAVE_RANDOM_H. Include <random.h> when testing whether
22778         'struct random_data' exists.
22779         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
22780
22781 2009-01-25  Bruno Haible  <bruno@clisp.org>
22782
22783         Don't install charset.alias on MacOS X >= 10.3.
22784         * lib/localcharset.c (DARWIN7): New macro.
22785         (get_charset_aliases): Hardcode the result for Darwin7.
22786         * modules/localcharset (install-exec-local): Don't install
22787         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
22788
22789 2009-01-25  Bruno Haible  <bruno@clisp.org>
22790
22791         Don't install charset.alias on mingw and Cygwin.
22792         * modules/localcharset (install-exec-local): Don't install
22793         charset.alias on mingw and Cygwin, if the file does not yet exist.
22794         The result for these platforms is hardcoded in localcharset.c.
22795
22796 2009-01-25  Bruno Haible  <bruno@clisp.org>
22797
22798         Make it possible again to use AC_GNU_SOURCE together with gnulib.
22799         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
22800         before requiring AC_USE_SYSTEM_EXTENSIONS.
22801
22802 2009-01-25  Jim Meyering  <meyering@redhat.com>
22803
22804         c-strtod: avoid warnings
22805         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
22806         "assignment discards qualifiers from pointer target type" warnings.
22807
22808 2009-01-24  Bruno Haible  <bruno@clisp.org>
22809
22810         Add support for non-UTF-8 locales on MacOS X.
22811         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
22812         canonical encodings. For Darwin 7 and newer, don't map traditional
22813         encodings to UTF-8.
22814         Reported by Vincent Lefevre <vincent@vinc17.org>
22815         at <http://savannah.gnu.org/bugs/?25235>.
22816
22817 2009-01-24  Bruno Haible  <bruno@clisp.org>
22818
22819         * doc/gnulib.texi (Obsolete modules): New section.
22820         Reported by Mike Frysinger <vapier@gentoo.org>.
22821
22822 2009-01-24  Bruno Haible  <bruno@clisp.org>
22823
22824         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
22825         (%.dvi): New rule.
22826
22827 2009-01-24  Bruno Haible  <bruno@clisp.org>
22828
22829         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
22830         Reported by Eric Blake.
22831
22832 2009-01-24  Bruno Haible  <bruno@clisp.org>
22833
22834         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
22835         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
22836         Reported by Gary V. Vaughan <gary@gnu.org>.
22837
22838 2009-01-24  Bruno Haible  <bruno@clisp.org>
22839
22840         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
22841
22842 2009-01-23  Bruno Haible  <bruno@clisp.org>
22843
22844         Make c-strtod, c-strtold usable in libraries.
22845         * lib/c-strtod.c: Include string.h instead of xalloc.h.
22846         (C_STRTOD): Call strdup instead of xstrdup.
22847         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
22848         * modules/c-strtold (Depends-on): Likewise.
22849         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
22850         * NEWS: Mention the change.
22851         Reported by Michael Gold <mgold@ncf.ca>.
22852
22853 2009-01-23  Jim Meyering  <meyering@redhat.com>
22854
22855         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
22856         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
22857         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
22858
22859 2009-01-23  Simon Josefsson  <simon@josefsson.org>
22860
22861         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
22862         GNU CoreUtils.
22863         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
22864         * modules/version-etc (Description): Update.
22865
22866 2009-01-22  Bruno Haible  <bruno@clisp.org>
22867
22868         Cache the C locale object.
22869         * lib/c-strtod.c (c_locale_cache): New variable.
22870         (c_locale): New function.
22871         (C_STRTOD): Use it, and don't call freelocale.
22872         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
22873         Suggested by Paolo Bonzini.
22874
22875 2009-01-21  Bruno Haible  <bruno@clisp.org>
22876
22877         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
22878         conditions other than overflow.
22879
22880 2009-01-21  Bruno Haible  <bruno@clisp.org>
22881
22882         * lib/c-strtod.c: Include errno.h.
22883         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
22884         value from STRTOD_L and STRTOD.
22885
22886 2009-01-21  Bruno Haible  <bruno@clisp.org>
22887         and Jim Meyering  <meyering@redhat.com>
22888
22889         nanosleep: skip configure test (fail it) for apple universal builds
22890         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
22891         universal builds, assume that nanosleep does not work.
22892         * modules/nanosleep (Depends-on): Add multiarch.
22893
22894         mktime: skip configure test (fail it) for apple universal builds
22895         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
22896         universal builds, assume that mktime does not work.
22897         * modules/mktime (Depends-on): Add multiarch.
22898
22899 2009-01-21  Eric Blake  <ebb9@byu.net>
22900
22901         multiarch: avoid expand-before-require warning
22902         * modules/multiarch (configure.ac): Require, rather than expand,
22903         gl_MULTIARCH.
22904         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
22905         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
22906         enforce that all clients require it.  Partial reversion of
22907         2008-12-29 patch.
22908
22909         error: avoid expand-before-require warning
22910         * modules/errno (configure.ac): Require, rather than expand,
22911         gl_HEADER_ERRNO_H.
22912         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
22913         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
22914         enforce that all clients require it.
22915
22916         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
22917         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
22918         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
22919         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
22920
22921 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
22922
22923         Revert:
22924         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
22925
22926         regex: do not depend on obsolete modules.
22927         * modules/regex: Remove memcmp and memmove.
22928
22929 2009-01-20  Bruno Haible  <bruno@clisp.org>
22930
22931         Make the 'link' module link on Windows NT 4.
22932         * lib/link.c (_WIN32_WINNT): Don't define.
22933         (CreateHardLinkFuncType): New type.
22934         (CreateHardLinkFunc, initialized): New variables.
22935         (initialize): New function.
22936         (link): Invoke CreateHardLink indirectly through the function pointer.
22937
22938 2009-01-20  Bruno Haible  <bruno@clisp.org>
22939
22940         Fix compilation failure on mingw.
22941         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
22942
22943 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
22944
22945         * doc/c-strtod.texi: Mention a couple of restrictions.
22946
22947 2009-01-20  Jim Meyering  <meyering@redhat.com>
22948
22949         gettimeofday: move more declarations out of functions
22950         * lib/gettimeofday.c: Move extern declarations of tzset and
22951         gmtime out of containing functions.  Prompted by Bruno Haible.
22952
22953 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
22954
22955         regex: do not depend on obsolete modules.
22956         * modules/regex: Remove memcmp and memmove.
22957
22958 2009-01-19  Bruno Haible  <bruno@clisp.org>
22959
22960         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
22961         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
22962         gl_BIGENDIAN, not AC_C_BIGENDIAN.
22963         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
22964         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
22965
22966 2009-01-19  Bruno Haible  <bruno@clisp.org>
22967
22968         * tests/test-link.c: Include <errno.h>.
22969         (main): Exit with code 77 when a hard link cannot be created due to
22970         the file system.
22971         * tests/test-link.sh: Skip test when a hard link cannot be created due
22972         to the file system.
22973         Suggested by Eric Blake.
22974
22975 2009-01-19  Martin Lambers  <marlam@marlam.de>
22976
22977         * modules/link-tests: New file.
22978         * tests/test-link.sh: New file.
22979         * tests/test-link.c: New file.
22980
22981 2009-01-19  Eric Blake  <ebb9@byu.net>
22982
22983         doc: mention another function added in cygwin 1.7.0
22984         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
22985         Another new function in cygwin 1.7.
22986
22987 2009-01-19  Bruno Haible  <bruno@clisp.org>
22988
22989         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
22990         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
22991         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
22992         gl_BIGENDIAN, not AC_C_BIGENDIAN.
22993         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22994         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
22995         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22996         * m4/md4.m4 (gl_MD4): Likewise.
22997         * m4/md5.m4 (gl_MD5): Likewise.
22998         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
22999         * m4/sha1.m4 (gl_SHA1): Likewise.
23000         * m4/sha256.m4 (gl_SHA256): Likewise.
23001         * m4/sha512.m4 (gl_SHA512): Likewise.
23002
23003 2009-01-19  Bruno Haible  <bruno@clisp.org>
23004
23005         * modules/uniname/uniname-tests (Depends-on): Add progname.
23006         * tests/uniname/test-uninames.c: Include progname.h.
23007         (main): Call set_program_name.
23008
23009         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
23010         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
23011         (main): Call set_program_name.
23012
23013         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
23014         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
23015         (main): Call set_program_name.
23016
23017         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
23018         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
23019         (main): Call set_program_name.
23020
23021         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
23022         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
23023         (main): Call set_program_name.
23024
23025         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
23026         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
23027         (main): Call set_program_name.
23028
23029         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
23030         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
23031         (main): Call set_program_name.
23032
23033         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
23034         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
23035         (main): Call set_program_name.
23036
23037         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
23038         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
23039         (main): Call set_program_name.
23040
23041 2009-01-19  Eric Blake  <ebb9@byu.net>
23042
23043         test-unistd: test previous patch
23044         * tests/test-unistd.c: Test *_FILENO macros.
23045
23046         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
23047         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
23048         Guarantee a definition.
23049         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
23050         * modules/unistd-safer (Depends-on): Add dependency on unistd.
23051         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
23052         * lib/dup-safer.c (STDERR_FILENO): Likewise.
23053         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
23054         Likewise.
23055         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
23056         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
23057         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
23058         Likewise.
23059         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
23060         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
23061         (STDERR_FILENO): Likewise.
23062         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
23063         (STDERR_FILENO): Likewise.
23064         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
23065         (STDERR_FILENO): Likewise.
23066         Reported by Elbert Pol.
23067
23068 2009-01-19  Eric Blake  <ebb9@byu.net>
23069
23070         doc: mention more functions added in cygwin 1.7.0
23071         * doc/posix-functions/abort.texi (abort): Update wording related
23072         to cygwin.
23073         * doc/posix-functions/daylight.texi (daylight): Likewise.
23074         * doc/posix-functions/optarg.texi (optarg): Likewise.
23075         * doc/posix-functions/optarg.texi (opterr): Likewise.
23076         * doc/posix-functions/optarg.texi (optind): Likewise.
23077         * doc/posix-functions/optarg.texi (optopt): Likewise.
23078         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
23079         worked in 1.5.x, and was withdrawn in 1.7.
23080         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
23081         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
23082         cygwin versions.
23083         * doc/posix-functions/perror.texi (perror): Likewise.
23084         * doc/posix-functions/printf.texi (printf): Likewise.
23085         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
23086         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
23087         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
23088         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
23089         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
23090         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
23091         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
23092         Likewise.
23093         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
23094         Likewise.
23095         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
23096         this function.
23097         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
23098         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
23099         Likewise.
23100         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
23101         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
23102         * doc/posix-functions/confstr.texi (confstr): Likewise.
23103         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
23104         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
23105         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
23106         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
23107         * doc/posix-functions/fputws.texi (fputws): Likewise.
23108         * doc/posix-functions/fwide.texi (fwide): Likewise.
23109         * doc/posix-functions/getwc.texi (getwc): Likewise.
23110         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
23111         * doc/posix-functions/putwc.texi (putwc): Likewise.
23112         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
23113         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
23114         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
23115         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
23116         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
23117         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
23118         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
23119         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
23120         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
23121         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
23122         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
23123
23124 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
23125
23126         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
23127         * lib/ioctl.c: Include <sys/ioctl.h>.
23128
23129 2009-01-19  Simon Josefsson  <simon@josefsson.org>
23130
23131         * modules/getdate-tests (Depends-on): Add progname.
23132         * tests/test-getdate.c: Use progname module, to avoid link errors
23133         on non-glibc systems.
23134
23135 2009-01-18  Simon Josefsson  <simon@josefsson.org>
23136
23137         * modules/filenamecat-tests (Depends-on): Add progname.
23138         * modules/fstrcmp-tests (Depends-on): Likewise.
23139
23140         * tests/test-filenamecat.c: Use progname module, to avoid link
23141         errors on non-glibc systems.
23142         * tests/test-fstrcmp.c: Likewise.
23143
23144 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
23145
23146         gettimeofday: avoid warning: nested extern declaration of 'localtime'
23147         * lib/gettimeofday.c: Move extern declaration out of function.
23148
23149 2009-01-18  Bruno Haible  <bruno@clisp.org>
23150
23151         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
23152         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
23153         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
23154
23155 2009-01-18  Bruno Haible  <bruno@clisp.org>
23156
23157         * lib/strftime.c (MEMPCPY): Remove unused macro.
23158         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
23159
23160 2009-01-18  Martin Lambers  <marlam@marlam.de>
23161
23162         New module 'link'.
23163         * lib/unistd.in.h (link): New declaration.
23164         * lib/link.c: New file.
23165         * m4/link.m4: New file.
23166         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
23167         HAVE_LINK.
23168         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
23169         * modules/link: New file.
23170         * doc/posix-functions/link.texi: Mention the new module.
23171
23172 2009-01-18  Bruno Haible  <bruno@clisp.org>
23173
23174         * tests/test-avltree_list.c (main): Call set_program_name.
23175         * tests/test-avltree_oset.c (main): Likewise.
23176         * tests/test-obstack-printf.c: Include progname.h.
23177         (main): Call set_program_name.
23178         * tests/test-quotearg.c: Include progname.h.
23179         (main): Call set_program_name.
23180         * tests/test-xmemdup0.c: Include progname.h.
23181         (main): Call set_program_name.
23182
23183 2009-01-18  Bruno Haible  <bruno@clisp.org>
23184
23185         New module 'alphasort'.
23186         * lib/dirent.in.h (alphasort): New declaration.
23187         * lib/alphasort.c: New file, from glibc with modifications.
23188         * m4/alphasort.m4: New file.
23189         * modules/alphasort: New file.
23190         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
23191         HAVE_ALPHASORT.
23192         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
23193         HAVE_ALPHASORT.
23194         * doc/posix-functions/alphasort.texi: Mention the new module and the
23195         portability problems.
23196
23197 2009-01-18  Bruno Haible  <bruno@clisp.org>
23198
23199         New module 'scandir'.
23200         * lib/dirent.in.h (scandir): New declaration.
23201         * lib/scandir.c: New file, from glibc with modifications.
23202         * m4/scandir.m4: New file.
23203         * modules/scandir: New file.
23204         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
23205         HAVE_SCANDIR.
23206         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
23207         HAVE_SCANDIR.
23208         * doc/posix-functions/scandir.texi: Mention the new module and the
23209         portability problems.
23210
23211 2009-01-17  Bruno Haible  <bruno@clisp.org>
23212
23213         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
23214         Update documentation.
23215         (func_remove_suffix): Escape all dots in the suffix. Update
23216         documentation.
23217         (func_filter_filelist): Update documentation.
23218         Reported by Ralf Wildenhues.
23219
23220 2009-01-17  Bruno Haible  <bruno@clisp.org>
23221
23222         * modules/dprintf-posix-tests: New file.
23223         * tests/test-dprintf-posix.sh: New file.
23224         * tests/test-dprintf-posix.c: New file.
23225
23226         New modules 'dprintf', 'dprintf-posix'.
23227         * lib/stdio.in.h (dprintf): New declaration.
23228         * lib/dprintf.c: New file.
23229         * m4/dprintf.m4: New file.
23230         * m4/dprintf-posix.m4: New file.
23231         * modules/dprintf: New file.
23232         * modules/dprintf-posix: New file.
23233         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
23234         HAVE_DPRINTF, REPLACE_DPRINTF.
23235         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
23236         HAVE_DPRINTF, REPLACE_DPRINTF.
23237         * doc/posix-functions/dprintf.texi: Mention the new modules.
23238
23239 2009-01-17  Bruno Haible  <bruno@clisp.org>
23240
23241         * modules/vdprintf-posix-tests: New file.
23242         * tests/test-vdprintf-posix.sh: New file.
23243         * tests/test-vdprintf-posix.c: New file.
23244
23245         New modules 'vdprintf', 'vdprintf-posix'.
23246         * lib/stdio.in.h (vdprintf): New declaration.
23247         * lib/vdprintf.c: New file.
23248         * m4/vdprintf.m4: New file.
23249         * m4/vdprintf-posix.m4: New file.
23250         * modules/vdprintf: New file.
23251         * modules/vdprintf-posix: New file.
23252         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
23253         HAVE_VDPRINTF, REPLACE_VDPRINTF.
23254         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
23255         HAVE_VDPRINTF, REPLACE_VDPRINTF.
23256         * doc/posix-functions/vdprintf.texi: Mention the new modules.
23257
23258 2009-01-17  Bruno Haible  <bruno@clisp.org>
23259
23260         Fix replacement of fopen on mingw.
23261         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
23262         mingw.
23263
23264 2009-01-17  Bruno Haible  <bruno@clisp.org>
23265
23266         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
23267         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
23268
23269 2009-01-17  Bruno Haible  <bruno@clisp.org>
23270
23271         Avoid test-fflush2.sh failure on mingw.
23272         * tests/test-fflush2.c: Include binary-io.h.
23273         (main): Put standard input into binary mode.
23274         * modules/fflush-tests (Depends-on): Add binary-io.
23275
23276 2009-01-17  Bruno Haible  <bruno@clisp.org>
23277
23278         * lib/wchar.in.h: In another particular situation, include only the
23279         system's <wchar.h> file.
23280         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
23281         Reported by Albert Chin-A-Young <china@thewrittenword.com>
23282         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
23283
23284 2009-01-17  Bruno Haible  <bruno@clisp.org>
23285
23286         Support for stripping executables in --enable-relocatable.
23287         * build-aux/install-reloc: Expect one more argument, or an environment
23288         variable RELOC_STRIP_PROG. If set, strip the destination program and
23289         its wrapper.
23290         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
23291         RELOC_STRIP_PROG.
23292         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
23293         to set RELOCATABLE_STRIP.
23294         * NEWS: Mention the new Makefile requirement.
23295
23296 2009-01-17  Bruno Haible  <bruno@clisp.org>
23297
23298         * build-aux/install-reloc: Remove debugging information left over by
23299         C compiler on MacOS X.
23300
23301 2009-01-17  Bruno Haible  <bruno@clisp.org>
23302
23303         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
23304         * lib/progreloc.c (find_executable): Fix type of pointer passed to
23305         _NSGetExecutablePath.
23306
23307 2009-01-16  Jim Meyering  <meyering@redhat.com>
23308
23309         strerror: avoid warnings about discarding "const"
23310         * lib/strerror.c (rpl_strerror): Instead of returning a const
23311         string from each and every "case", use a variable, and add a single
23312         cast after the switch.
23313
23314 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
23315
23316         * lib/arpa_inet.in.h: Add extern "C" block for C++.
23317
23318 2009-01-16  Bruno Haible  <bruno@clisp.org>
23319
23320         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
23321         array initializer syntax that also works in C++ mode.
23322         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23323
23324 2009-01-16  Jim Meyering  <meyering@redhat.com>
23325
23326         poll: suppress a warning
23327         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
23328         to ignore "...unsigned expression < 0 is always false" warnings.
23329
23330 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
23331
23332         poll: remove declarations of unused variables
23333         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
23334         sockbuf and optlen.
23335
23336 2009-01-15  Bruno Haible  <bruno@clisp.org>
23337
23338         Make fflush-after-ungetc POSIX compliant on BSD systems.
23339         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
23340         (clear_ungetc_buffer): Implement also for other systems.
23341         (rpl_fflush): On glibc systems, invoke
23342         clear_ungetc_buffer_preserving_position. Otherwise, invoke
23343         clear_ungetc_buffer after fetching the stream's position, not before.
23344
23345 2009-01-15  Bruno Haible  <bruno@clisp.org>
23346
23347         Make fflush-after-ungetc POSIX compliant on glibc systems.
23348         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
23349         after ungetc.
23350         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
23351         (rpl_fflush): On glibc systems, simply call the system's fflush
23352         function after clearing the ungetc buffer.
23353         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
23354         Instead, lseek only to the end of file, then use the system's fseeko
23355         for the rest. On glibc systems, reset the EOF indicator bit.
23356
23357 2009-01-15  Jim Meyering  <meyering@redhat.com>
23358
23359         openmp.m4: revert quote-adding change, for portability to older autoconf
23360         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
23361         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
23362         Simon Josefsson noticed the problem when using autoconf-2.61.
23363
23364 2009-01-15  Bruno Haible  <bruno@clisp.org>
23365
23366         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
23367         * tests/test-fflush2.c (ASSERT): Always fail.
23368         (main): Add two tests for fflush() after ungetc(), taking into account
23369         the Austin Group's clarification.
23370         Suggested by Eric Blake.
23371
23372 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
23373
23374         mktime.m4: remove K&R-style function prototypes
23375         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
23376         for the Sun C++ compiler.
23377
23378 2009-01-14  Bruno Haible  <bruno@clisp.org>
23379
23380         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
23381         while including <wchar.h>.
23382         * lib/wchar.in.h: In two particular situations on HP-UX, include only
23383         the system's <wchar.h> file.
23384         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
23385
23386 2009-01-14  Bruno Haible  <bruno@clisp.org>
23387
23388         * m4/csharp.m4: Don't mention gettext on the serial number line.
23389         * m4/csharpexec.m4: Likewise.
23390         * m4/eaccess.m4: Likewise.
23391         * m4/javaexec.m4: Likewise.
23392         * m4/sig_atomic_t.m4: Likewise.
23393         * m4/tmpdir.m4: Likewise.
23394         * m4/intldir.m4: Bump gettext version.
23395         * m4/lib-ld.m4: Likewise.
23396
23397 2009-01-14  Bruno Haible  <bruno@clisp.org>
23398
23399         * lib/progname.c (set_program_name): Add more comments.
23400         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
23401
23402 2009-01-14  Simon Josefsson  <simon@josefsson.org>
23403
23404         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
23405         were sys/stat.h does not define it.
23406
23407 2009-01-14  Jim Meyering  <meyering@redhat.com>
23408
23409         many *.m4 files: improve m4 quoting
23410         99% of this change was performed by running the following commands:
23411         git ls-files | grep '\.m4$' | xargs perl -pi \
23412           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
23413           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
23414           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
23415           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
23416         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
23417         The remainder were to add Copyright dates, increment serial numbers,
23418         undo some changes in comments, exclude m4/intl.m4, and add quotes
23419         around the "1" in ",1" where the unusual spacing prohibited the
23420         above regexps from doing the job.  For more details, see
23421         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
23422         * m4/acl.m4: Modified.
23423         * m4/afs.m4: Likewise.
23424         * m4/alloca.m4: Likewise.
23425         * m4/argp.m4: Likewise.
23426         * m4/argz.m4: Likewise.
23427         * m4/atexit.m4: Likewise.
23428         * m4/bison-i18n.m4: Likewise.
23429         * m4/bison.m4: Likewise.
23430         * m4/byteswap.m4: Likewise.
23431         * m4/c-stack.m4: Likewise.
23432         * m4/c-strtod.m4: Likewise.
23433         * m4/calloc.m4: Likewise.
23434         * m4/canonicalize-lgpl.m4: Likewise.
23435         * m4/chown.m4: Likewise.
23436         * m4/clock_time.m4: Likewise.
23437         * m4/codeset.m4: Likewise.
23438         * m4/copy-file.m4: Likewise.
23439         * m4/csharp.m4: Likewise.
23440         * m4/csharpcomp.m4: Likewise.
23441         * m4/csharpexec.m4: Likewise.
23442         * m4/d-ino.m4: Likewise.
23443         * m4/d-type.m4: Likewise.
23444         * m4/dirfd.m4: Likewise.
23445         * m4/double-slash-root.m4: Likewise.
23446         * m4/eaccess.m4: Likewise.
23447         * m4/eealloc.m4: Likewise.
23448         * m4/environ.m4: Likewise.
23449         * m4/errno_h.m4: Likewise.
23450         * m4/euidaccess.m4: Likewise.
23451         * m4/execute.m4: Likewise.
23452         * m4/fatal-signal.m4: Likewise.
23453         * m4/fchdir.m4: Likewise.
23454         * m4/fcntl_h.m4: Likewise.
23455         * m4/fileblocks.m4: Likewise.
23456         * m4/filenamecat.m4: Likewise.
23457         * m4/findprog.m4: Likewise.
23458         * m4/flexmember.m4: Likewise.
23459         * m4/fnmatch.m4: Likewise.
23460         * m4/fopen.m4: Likewise.
23461         * m4/fpending.m4: Likewise.
23462         * m4/fprintf-posix.m4: Likewise.
23463         * m4/free.m4: Likewise.
23464         * m4/frexp.m4: Likewise.
23465         * m4/frexpl.m4: Likewise.
23466         * m4/fsusage.m4: Likewise.
23467         * m4/ftruncate.m4: Likewise.
23468         * m4/gc-camellia.m4: Likewise.
23469         * m4/gc-random.m4: Likewise.
23470         * m4/gc.m4: Likewise.
23471         * m4/getaddrinfo.m4: Likewise.
23472         * m4/getcwd-abort-bug.m4: Likewise.
23473         * m4/getcwd-path-max.m4: Likewise.
23474         * m4/getdate.m4: Likewise.
23475         * m4/getdomainname.m4: Likewise.
23476         * m4/getgroups.m4: Likewise.
23477         * m4/gethostname.m4: Likewise.
23478         * m4/gethrxtime.m4: Likewise.
23479         * m4/getline.m4: Likewise.
23480         * m4/getloadavg.m4: Likewise.
23481         * m4/getndelim2.m4: Likewise.
23482         * m4/getpass.m4: Likewise.
23483         * m4/gettext.m4: Likewise.
23484         * m4/gettime.m4: Likewise.
23485         * m4/gettimeofday.m4: Likewise.
23486         * m4/gnulib-common.m4: Likewise.
23487         * m4/group-member.m4: Likewise.
23488         * m4/host-os.m4: Likewise.
23489         * m4/iconv.m4: Likewise.
23490         * m4/iconv_open.m4: Likewise.
23491         * m4/inet_ntop.m4: Likewise.
23492         * m4/inet_pton.m4: Likewise.
23493         * m4/inline.m4: Likewise.
23494         * m4/intldir.m4: Likewise.
23495         * m4/intlmacosx.m4: Likewise.
23496         * m4/intmax.m4: Likewise.
23497         * m4/intmax_t.m4: Likewise.
23498         * m4/inttypes.m4: Likewise.
23499         * m4/inttypes_h.m4: Likewise.
23500         * m4/inttypes-pri.m4: Likewise.
23501         * m4/isapipe.m4: Likewise.
23502         * m4/isnand.m4: Likewise.
23503         * m4/isnanf.m4: Likewise.
23504         * m4/isnanl.m4: Likewise.
23505         * m4/javacomp.m4: Likewise.
23506         * m4/javaexec.m4: Likewise.
23507         * m4/jm-winsz1.m4: Likewise.
23508         * m4/jm-winsz2.m4: Likewise.
23509         * m4/lchown.m4: Likewise.
23510         * m4/lcmessage.m4: Likewise.
23511         * m4/ldexpl.m4: Likewise.
23512         * m4/lib-ld.m4: Likewise.
23513         * m4/lib-link.m4: Likewise.
23514         * m4/libsigsegv.m4: Likewise.
23515         * m4/link-follow.m4: Likewise.
23516         * m4/localcharset.m4: Likewise.
23517         * m4/locale-fr.m4: Likewise.
23518         * m4/locale-ja.m4: Likewise.
23519         * m4/locale-tr.m4: Likewise.
23520         * m4/locale-zh.m4: Likewise.
23521         * m4/lock.m4: Likewise.
23522         * m4/longlong.m4: Likewise.
23523         * m4/ls-mntd-fs.m4: Likewise.
23524         * m4/lstat.m4: Likewise.
23525         * m4/malloc.m4: Likewise.
23526         * m4/mathl.m4: Likewise.
23527         * m4/mbrtowc.m4: Likewise.
23528         * m4/mbstate_t.m4: Likewise.
23529         * m4/mbswidth.m4: Likewise.
23530         * m4/memchr.m4: Likewise.
23531         * m4/memcmp.m4: Likewise.
23532         * m4/memcpy.m4: Likewise.
23533         * m4/memmem.m4: Likewise.
23534         * m4/memmove.m4: Likewise.
23535         * m4/mempcpy.m4: Likewise.
23536         * m4/memrchr.m4: Likewise.
23537         * m4/memset.m4: Likewise.
23538         * m4/minmax.m4: Likewise.
23539         * m4/mkdir-slash.m4: Likewise.
23540         * m4/mkdtemp.m4: Likewise.
23541         * m4/mktime.m4: Likewise.
23542         * m4/mmap-anon.m4: Likewise.
23543         * m4/mountlist.m4: Likewise.
23544         * m4/nanosleep.m4: Likewise.
23545         * m4/nls.m4: Likewise.
23546         * m4/nocrash.m4: Likewise.
23547         * m4/open.m4: Likewise.
23548         * m4/openat.m4: Likewise.
23549         * m4/openmp.m4: Likewise.
23550         * m4/pathmax.m4: Likewise.
23551         * m4/perl.m4: Likewise.
23552         * m4/physmem.m4: Likewise.
23553         * m4/pipe.m4: Likewise.
23554         * m4/po.m4: Likewise.
23555         * m4/poll.m4: Likewise.
23556         * m4/posixtm.m4: Likewise.
23557         * m4/posixver.m4: Likewise.
23558         * m4/printf-frexp.m4: Likewise.
23559         * m4/printf-frexpl.m4: Likewise.
23560         * m4/printf-posix.m4: Likewise.
23561         * m4/printf-posix-rpl.m4: Likewise.
23562         * m4/printf.m4: Likewise.
23563         * m4/progtest.m4: Likewise.
23564         * m4/putenv.m4: Likewise.
23565         * m4/readline.m4: Likewise.
23566         * m4/readlink.m4: Likewise.
23567         * m4/readutmp.m4: Likewise.
23568         * m4/realloc.m4: Likewise.
23569         * m4/regex.m4: Likewise.
23570         * m4/relocatable.m4: Likewise.
23571         * m4/relocatable-lib.m4: Likewise.
23572         * m4/rename-dest-slash.m4: Likewise.
23573         * m4/rename.m4: Likewise.
23574         * m4/rmdir-errno.m4: Likewise.
23575         * m4/rmdir.m4: Likewise.
23576         * m4/roundf.m4: Likewise.
23577         * m4/roundl.m4: Likewise.
23578         * m4/rpmatch.m4: Likewise.
23579         * m4/save-cwd.m4: Likewise.
23580         * m4/selinux-selinux-h.m4: Likewise.
23581         * m4/setenv.m4: Likewise.
23582         * m4/settime.m4: Likewise.
23583         * m4/sig2str.m4: Likewise.
23584         * m4/sig_atomic_t.m4: Likewise.
23585         * m4/signalblocking.m4: Likewise.
23586         * m4/signbit.m4: Likewise.
23587         * m4/sigpipe.m4: Likewise.
23588         * m4/sockets.m4: Likewise.
23589         * m4/sockpfaf.m4: Likewise.
23590         * m4/st_dm_mode.m4: Likewise.
23591         * m4/stat-time.m4: Likewise.
23592         * m4/stdbool.m4: Likewise.
23593         * m4/stdint.m4: Likewise.
23594         * m4/stdint_h.m4: Likewise.
23595         * m4/stpcpy.m4: Likewise.
23596         * m4/stpncpy.m4: Likewise.
23597         * m4/strcase.m4: Likewise.
23598         * m4/strchrnul.m4: Likewise.
23599         * m4/strcspn.m4: Likewise.
23600         * m4/strdup.m4: Likewise.
23601         * m4/strftime.m4: Likewise.
23602         * m4/strndup.m4: Likewise.
23603         * m4/strnlen.m4: Likewise.
23604         * m4/strpbrk.m4: Likewise.
23605         * m4/strptime.m4: Likewise.
23606         * m4/strsep.m4: Likewise.
23607         * m4/strtod.m4: Likewise.
23608         * m4/strtoimax.m4: Likewise.
23609         * m4/strtok_r.m4: Likewise.
23610         * m4/strtol.m4: Likewise.
23611         * m4/strtoll.m4: Likewise.
23612         * m4/strtoul.m4: Likewise.
23613         * m4/strtoull.m4: Likewise.
23614         * m4/strtoumax.m4: Likewise.
23615         * m4/strverscmp.m4: Likewise.
23616         * m4/threadlib.m4: Likewise.
23617         * m4/timegm.m4: Likewise.
23618         * m4/tm_gmtoff.m4: Likewise.
23619         * m4/tmpdir.m4: Likewise.
23620         * m4/tmpfile.m4: Likewise.
23621         * m4/tzset.m4: Likewise.
23622         * m4/uintmax_t.m4: Likewise.
23623         * m4/unlinkdir.m4: Likewise.
23624         * m4/unlocked-io.m4: Likewise.
23625         * m4/uptime.m4: Likewise.
23626         * m4/userspec.m4: Likewise.
23627         * m4/utimbuf.m4: Likewise.
23628         * m4/utime.m4: Likewise.
23629         * m4/utimes-null.m4: Likewise.
23630         * m4/utimes.m4: Likewise.
23631         * m4/vararrays.m4: Likewise.
23632         * m4/vasnprintf.m4: Likewise.
23633         * m4/vfprintf-posix.m4: Likewise.
23634         * m4/vprintf-posix.m4: Likewise.
23635         * m4/wait-process.m4: Likewise.
23636         * m4/wchar_t.m4: Likewise.
23637         * m4/wint_t.m4: Likewise.
23638         * m4/write-any-file.m4: Likewise.
23639         * m4/yield.m4: Likewise.
23640
23641 2009-01-13  Bruno Haible  <bruno@clisp.org>
23642
23643         Avoid test-copy-file.sh failures when ACL support insufficient.
23644         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
23645         TESTS_ENVIRONMENT.
23646         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
23647         Reported by Jim Meyering.
23648
23649 2009-01-13  Bruno Haible  <bruno@clisp.org>
23650
23651         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
23652         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
23653         * modules/unistdio/u8-printf-parse (Files): Likewise.
23654         * modules/unistdio/u32-printf-parse (Files): Likewise.
23655         * modules/unistdio/ulc-printf-parse (Files): Likewise.
23656
23657 2009-01-13  Simon Josefsson  <simon@josefsson.org>
23658
23659         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
23660         and m4/inttypes_h.m4 too.
23661
23662 2009-01-12  Eric Blake  <ebb9@byu.net>
23663
23664         tests: IRIX 6.2 cc can't compile -0.0 into .data
23665         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
23666         rather than at compile-time.
23667         * tests/test-floorl.c (minus_zero): Likewise.
23668         * tests/test-frexpl.c (minus_zero): Likewise.
23669         * tests/test-isnan.c (minus_zerol): Likewise.
23670         * tests/test-isnanl.h (minus_zero): Likewise.
23671         * tests/test-ldexpl.c (minus_zero): Likewise.
23672         * tests/test-roundl.c (minus_zero): Likewise.
23673         * tests/test-signbit.c (minus_zerol): Likewise.
23674         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
23675         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
23676         * tests/test-truncl.c (minus_zero): Likewise.
23677         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
23678         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
23679         Reported by Tom G. Christensen and Nelson H. F. Beebe.
23680
23681 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
23682
23683         regex: fix glibc bug 9697
23684         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
23685         handling.
23686
23687 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
23688
23689         regex: fix glibc bug 697
23690         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
23691         being NULL also if there are no backreferences.
23692
23693 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
23694
23695         regex: merge glibc changes
23696         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
23697         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
23698         re_string_skip_chars, re_string_reconstruct): Likewise.
23699         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
23700
23701 2009-01-07  Jim Meyering  <meyering@redhat.com>
23702
23703         poll: filter through cppi
23704         * lib/poll.c: Indent cpp directives to reflect nesting.
23705
23706 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
23707
23708         poll: don't return uninitialized
23709         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
23710
23711 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
23712
23713         avoid compile failure on AIX 6.1
23714         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
23715         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
23716
23717 2009-01-04  Jim Meyering  <meyering@redhat.com>
23718
23719         remove duplicate inclusion of <stdio.h>
23720         * tests/test-fprintf-posix.c: Likewise.
23721         * tests/test-printf-posix.c: Likewise.
23722         * tests/test-snprintf-posix.c: Likewise.
23723         * tests/test-sprintf-posix.c: Likewise.
23724         * tests/test-vasprintf-posix.c: Likewise.
23725         * tests/test-vfprintf-posix.c: Likewise.
23726         * tests/test-vprintf-posix.c: Likewise.
23727         * tests/test-vsnprintf-posix.c: Likewise.
23728         * tests/test-vsprintf-posix.c: Likewise.
23729
23730 2009-01-03  Jim Meyering  <meyering@redhat.com>
23731
23732         gnulib-tool: fix sed-based filtering
23733         * gnulib-tool (func_filter_filelist): Remove extra backslash
23734         in sed_fff_filter definition.
23735
23736 2009-01-02  Jim Meyering  <meyering@redhat.com>
23737
23738         strftime: avoid compilation failure on Solaris 2.6
23739         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
23740         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
23741         Don't #define mbrlen or mbsinit, since now they're guaranteed to
23742         be available.  Reported by Tom G. Christensen.  Details in
23743         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
23744
23745 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23746             Bruno Haible  <bruno@clisp.org>
23747
23748         Speed up gnulib-tool by doing more string processing through shell
23749         built-ins.
23750         * gnulib-tool (fast_func_append): New variable.
23751         (func_remove_prefix, func_remove_suffix): New functions.
23752         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
23753         (func_filter_filelist): New function.
23754         (func_get_dependencies): Use func_remove_suffix instead of sed.
23755         (func_get_automake_snippet): Use func_filter_filelist instead of a
23756         subshell and sed invocation.
23757
23758 2009-01-01  Bruno Haible  <bruno@clisp.org>
23759
23760         Fix a security bug.
23761         * gnulib-tool (func_import, import, update): Don't allow the characters
23762         '"', '$', '`', '\' in macro arguments that become part of commands that
23763         are evaluated.
23764
23765 2009-01-01  Bruno Haible  <bruno@clisp.org>
23766
23767         * gnulib-tool (func_reset_sigpipe): Add more comments.
23768
23769 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23770
23771         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
23772         func_emit_tests_Makefile_am, func_import): Abort loops early if we
23773         already know the answer.
23774
23775 2009-01-01  Jim Meyering  <meyering@redhat.com>
23776
23777         * lib/version-etc.c (version_etc_va): Update copyright year.
23778
23779 2008-12-30  Bruno Haible  <bruno@clisp.org>
23780
23781         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
23782         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
23783         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
23784
23785 2008-12-29  Eric Blake  <ebb9@byu.net>
23786
23787         multiarch: avoid autoconf AC_REQUIRE bug
23788         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
23789         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
23790         2.63 and older.
23791         Reported by Bruno Haible, and analyzed in
23792         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
23793
23794 2008-12-29  Bruno Haible  <bruno@clisp.org>
23795
23796         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
23797         files in subdirectories correctly.
23798         Reported by Ralf Wildenhues.
23799
23800 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23801
23802         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
23803         rather than 'join FILE -', for Solaris join.
23804
23805 2008-12-29  Bruno Haible  <bruno@clisp.org>
23806
23807         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
23808         quoting.
23809         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
23810         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
23811         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
23812         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
23813         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
23814         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
23815         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
23816         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
23817         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
23818         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
23819         * m4/nls.m4 (AM_NLS): Likewise.
23820         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
23821         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
23822         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
23823         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
23824         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
23825         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
23826         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
23827         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
23828         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
23829         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
23830         * m4/xsize.m4 (gl_XSIZE): Likewise.
23831         Suggested by Jim Meyering.
23832
23833 2008-11-17  Bruce Korb  <bkorb@gnu.org>
23834
23835         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
23836         * lib/parse-duration.c: use a switch instead of cascading if's.
23837
23838 2008-12-29  Eric Blake  <ebb9@byu.net>
23839
23840         wchar.h: supply WEOF on Irix 5.3
23841         * lib/wchar.in.h (wint_t): Also supply WEOF.
23842         * lib/wctype.in.h (wint_t): Likewise.
23843         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
23844         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
23845         Reported by Tom G. Christensen.
23846
23847 2008-12-26  Bruno Haible  <bruno@clisp.org>
23848
23849         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
23850         i486, i586, i686.
23851
23852 2008-12-26  Bruno Haible  <bruno@clisp.org>
23853
23854         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
23855
23856 2008-12-26  Bruno Haible  <bruno@clisp.org>
23857
23858         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
23859         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
23860         not __STDC_CONSTANT_MACROS.
23861         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
23862
23863 2008-12-25  Bruno Haible  <bruno@clisp.org>
23864
23865         Add support for universal builds to vasnprintf.
23866         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
23867         universal builds, guess no.
23868         * modules/vasnprintf-posix (Depends-on): Add multiarch.
23869         * modules/vasprintf-posix (Depends-on): Likewise.
23870         * modules/fprintf-posix (Depends-on): Likewise.
23871         * modules/vfprintf-posix (Depends-on): Likewise.
23872         * modules/snprintf-posix (Depends-on): Likewise.
23873         * modules/vsnprintf-posix (Depends-on): Likewise.
23874         * modules/sprintf-posix (Depends-on): Likewise.
23875         * modules/vsprintf-posix (Depends-on): Likewise.
23876         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23877         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23878         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23879         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23880         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23881         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23882         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23883
23884         Add support for universal builds to <inttypes.h>.
23885         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
23886         _SCNu64_PREFIX): In Apple
23887         universal builds, define directly, using _LP64.
23888         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
23889         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
23890         * modules/inttypes (Depends-on): Add multiarch.
23891         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
23892
23893         Add support for universal builds to <stdint.h>.
23894         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
23895         universal builds, define directly, using _LP64.
23896         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
23897         Apple universal builds, don't test for the size and suffix of ptrdiff_t
23898         and size_t.
23899         * modules/stdint (Depends-on): Add multiarch.
23900         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
23901
23902         New module 'multiarch'.
23903         * modules/multiarch: New file.
23904         * m4/multiarch.m4: New file.
23905
23906 2008-12-25  Bruno Haible  <bruno@clisp.org>
23907
23908         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
23909
23910 2008-12-25  Bruno Haible  <bruno@clisp.org>
23911
23912         * modules/btowc (License): Relicense under LGPLv2+.
23913         * modules/mbsinit (License): Likewise.
23914         * modules/mbrtowc (License): Likewise.
23915         * modules/wcrtomb (License): Likewise.
23916         * modules/streq (License): Likewise.
23917         Reported by David Lutterkort <lutter@redhat.com>.
23918
23919 2008-12-23  Bruno Haible  <bruno@clisp.org>
23920
23921         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
23922
23923 2008-12-23  Bruno Haible  <bruno@clisp.org>
23924
23925         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
23926         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
23927         GETADDRINFO_LIB, not in LIBS.
23928         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
23929         * modules/canon-host (Link): Likewise.
23930         * NEWS: Mention the change.
23931         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
23932         GETADDRINFO_LIB.
23933
23934 2008-12-22  Bruno Haible  <bruno@clisp.org>
23935
23936         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
23937         * doc/posix-functions/iswalpha_l.texi: Likewise.
23938         * doc/posix-functions/iswblank_l.texi: Likewise.
23939         * doc/posix-functions/iswcntrl_l.texi: Likewise.
23940         * doc/posix-functions/iswctype_l.texi: Likewise.
23941         * doc/posix-functions/iswdigit_l.texi: Likewise.
23942         * doc/posix-functions/iswgraph_l.texi: Likewise.
23943         * doc/posix-functions/iswlower_l.texi: Likewise.
23944         * doc/posix-functions/iswprint_l.texi: Likewise.
23945         * doc/posix-functions/iswpunct_l.texi: Likewise.
23946         * doc/posix-functions/iswspace_l.texi: Likewise.
23947         * doc/posix-functions/iswupper_l.texi: Likewise.
23948         * doc/posix-functions/iswxdigit_l.texi: Likewise.
23949         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
23950         * doc/posix-functions/open_wmemstream.texi: Likewise.
23951         * doc/posix-functions/swscanf.texi: Likewise.
23952         * doc/posix-functions/towctrans_l.texi: Likewise.
23953         * doc/posix-functions/towlower.texi: Likewise.
23954         * doc/posix-functions/towlower_l.texi: Likewise.
23955         * doc/posix-functions/towupper.texi: Likewise.
23956         * doc/posix-functions/towupper_l.texi: Likewise.
23957         * doc/posix-functions/vfwprintf.texi: Likewise.
23958         * doc/posix-functions/vfwscanf.texi: Likewise.
23959         * doc/posix-functions/vswscanf.texi: Likewise.
23960         * doc/posix-functions/vwprintf.texi: Likewise.
23961         * doc/posix-functions/vwscanf.texi: Likewise.
23962         * doc/posix-functions/wcpcpy.texi: Likewise.
23963         * doc/posix-functions/wcpncpy.texi: Likewise.
23964         * doc/posix-functions/wcscasecmp.texi: Likewise.
23965         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
23966         * doc/posix-functions/wcscoll_l.texi: Likewise.
23967         * doc/posix-functions/wcsdup.texi: Likewise.
23968         * doc/posix-functions/wcsncasecmp.texi: Likewise.
23969         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
23970         * doc/posix-functions/wcsnlen.texi: Likewise.
23971         * doc/posix-functions/wcsnrtombs.texi: Likewise.
23972         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
23973         * doc/posix-functions/wctrans_l.texi: Likewise.
23974         * doc/posix-functions/wctype_l.texi: Likewise.
23975         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
23976         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
23977         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
23978         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
23979         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
23980         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
23981         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
23982         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
23983         * doc/glibc-functions/wcschrnul.texi: Likewise.
23984         * doc/glibc-functions/wcsftime_l.texi: Likewise.
23985         * doc/glibc-functions/wcstod_l.texi: Likewise.
23986         * doc/glibc-functions/wcstof_l.texi: Likewise.
23987         * doc/glibc-functions/wcstol_l.texi: Likewise.
23988         * doc/glibc-functions/wcstold_l.texi: Likewise.
23989         * doc/glibc-functions/wcstoll_l.texi: Likewise.
23990         * doc/glibc-functions/wcstoq.texi: Likewise.
23991         * doc/glibc-functions/wcstoul_l.texi: Likewise.
23992         * doc/glibc-functions/wcstoull_l.texi: Likewise.
23993         * doc/glibc-functions/wcstouq.texi: Likewise.
23994         * doc/glibc-functions/wmempcpy.texi: Likewise.
23995
23996 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
23997             Eric Blake  <ebb9@byu.net>
23998             Paolo Bonzini  <bonzini@gnu.org>
23999             Bruno Haible  <bruno@clisp.org>
24000
24001         Make c-stack work on Haiku.
24002         * lib/c-stack.c (SA_ONSTACK): Define fallback.
24003         (c_stack_action): Use SA_ONSTACK flag.
24004
24005 2008-12-22  Bruno Haible  <bruno@clisp.org>
24006
24007         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
24008
24009 2008-12-22  Bruno Haible  <bruno@clisp.org>
24010
24011         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
24012         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
24013         being overridden.
24014         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
24015         New macros.
24016         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
24017         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
24018         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
24019         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
24020
24021 2008-12-22  Bruno Haible  <bruno@clisp.org>
24022
24023         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
24024         from test code.
24025
24026 2008-12-22  Eric Blake  <ebb9@byu.net>
24027
24028         Avoid gcc warnings on cygwin.
24029         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
24030         Avoid unused variable.
24031         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
24032         Likewise.
24033
24034 2008-12-22  Bruno Haible  <bruno@clisp.org>
24035
24036         Remove HAVE_MBRTOWC conditionals.
24037         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
24038         (mbscasecmp): Assume mbrtowc function.
24039         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
24040         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
24041         * lib/mbschr.c: Include mbuiter.h unconditionally.
24042         (mbschr): Assume mbrtowc function.
24043         * lib/mbscspn.c: Include mbuiter.h unconditionally.
24044         (mbscspn): Assume mbrtowc function.
24045         * lib/mbslen.c: Include mbuiter.h unconditionally.
24046         (mbslen): Assume mbrtowc function.
24047         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
24048         (mbsncasecmp): Assume mbrtowc function.
24049         * lib/mbsnlen.c: Include mbiter.h unconditionally.
24050         (mbsnlen): Assume mbrtowc function.
24051         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
24052         (mbspbrk): Assume mbrtowc function.
24053         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
24054         (mbspcasecmp): Assume mbrtowc function.
24055         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
24056         (mbsrchr): Assume mbrtowc function.
24057         * lib/mbssep.c: Include mbuiter.h unconditionally.
24058         (mbssep): Assume mbrtowc function.
24059         * lib/mbsspn.c: Include mbuiter.h unconditionally.
24060         (mbsspn): Assume mbrtowc function.
24061         * lib/mbsstr.c: Include mbuiter.h unconditionally.
24062         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
24063         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
24064         (mbstok_r): Assume mbrtowc function.
24065         * lib/propername.c: Include mbuiter.h unconditionally.
24066         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
24067         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
24068         (trim2): Assume mbrtowc function.
24069         * lib/mbswidth.c (mbsinit): Remove fallback definition.
24070         (mbsnwidth): Assume mbrtowc function.
24071         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
24072         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
24073         fallback definitions.
24074         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
24075
24076 2008-12-22  Bruno Haible  <bruno@clisp.org>
24077
24078         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
24079
24080 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
24081
24082         * modules/regex: Request emulations for the mb*/wc* functions we need.
24083         * m4/regex.m4: Don't look for those functions here.
24084         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
24085
24086 2008-12-22  Bruno Haible  <bruno@clisp.org>
24087
24088         * modules/fnmatch (Depends-on): Remove duplicated dependency.
24089
24090 2008-12-21  Bruno Haible  <bruno@clisp.org>
24091
24092         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
24093         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
24094         (Include): Remove conditionalization.
24095         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
24096         (Include): Remove conditionalization.
24097         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
24098         (Include): Remove conditionalization.
24099         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
24100         * m4/mbfile.m4 (gl_MBFILE): Likewise.
24101         * NEWS: Mention the change.
24102         Reported by Alan Hourihane <alanh@fairlite.co.uk>
24103         via Sergey Poznyakoff <gray@gnu.org.ua>.
24104
24105 2008-12-21  Bruno Haible  <bruno@clisp.org>
24106
24107         * MODULES.html.sh (Extended multibyte and wide character utilities
24108         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
24109         wcrtomb, wcsrtombs.
24110         (Support for systems lacking POSIX:2008): Add accept, bind, close,
24111         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
24112         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
24113         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
24114
24115 2008-12-21  Bruno Haible  <bruno@clisp.org>
24116
24117         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
24118
24119 2008-12-21  Bruno Haible  <bruno@clisp.org>
24120
24121         * modules/wcsnrtombs-tests: New file.
24122         * tests/test-wcsnrtombs1.sh: New file.
24123         * tests/test-wcsnrtombs2.sh: New file.
24124         * tests/test-wcsnrtombs3.sh: New file.
24125         * tests/test-wcsnrtombs4.sh: New file.
24126         * tests/test-wcsnrtombs.c: New file.
24127
24128         New module 'wcsnrtombs'.
24129         * lib/wchar.in.h (wcsnrtombs): New declaration.
24130         * lib/wcsnrtombs.c: New file.
24131         * lib/wcsrtombs-state.c: New file.
24132         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
24133         (internal_state): Remove variable.
24134         * m4/wcsnrtombs.m4: New file.
24135         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
24136         compilation units.
24137         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
24138         HAVE_WCSNRTOMBS.
24139         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
24140         HAVE_WCSNRTOMBS.
24141         * modules/wcsnrtombs: New file.
24142         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
24143         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
24144
24145 2008-12-21  Bruno Haible  <bruno@clisp.org>
24146
24147         * modules/wcsrtombs-tests: New file.
24148         * tests/test-wcsrtombs1.sh: New file.
24149         * tests/test-wcsrtombs2.sh: New file.
24150         * tests/test-wcsrtombs3.sh: New file.
24151         * tests/test-wcsrtombs4.sh: New file.
24152         * tests/test-wcsrtombs.c: New file.
24153
24154         New module 'wcsrtombs'.
24155         * lib/wchar.in.h (wcsrtombs): New declaration.
24156         * lib/wcsrtombs.c: New file.
24157         * m4/wcsrtombs.m4: New file.
24158         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
24159         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
24160         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
24161         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
24162         * modules/wcsrtombs: New file.
24163         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
24164         bugs.
24165
24166 2008-12-21  Bruno Haible  <bruno@clisp.org>
24167
24168         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
24169         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
24170         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
24171         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
24172         if not correct.
24173         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
24174         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
24175         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
24176         m4/locale-zh.m4, m4/codeset.m4.
24177         * doc/posix-functions/wcrtomb.texi: Document the bug.
24178
24179 2008-12-21  Bruno Haible  <bruno@clisp.org>
24180
24181         Work around a btowc() bug on IRIX 6.5.
24182         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
24183         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
24184         REPLACE_WTOBC if not.
24185         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
24186         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
24187         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
24188
24189 2008-12-21  Bruno Haible  <bruno@clisp.org>
24190
24191         * modules/wcrtomb-tests: New file.
24192         * tests/test-wcrtomb.sh: New file.
24193         * tests/test-wcrtomb.c: New file.
24194
24195         New module 'wcrtomb'.
24196         * lib/wchar.in.h (wcrtomb): New declaration.
24197         * lib/wcrtomb.c: New file.
24198         * m4/wcrtomb.m4: New file.
24199         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
24200         HAVE_WCRTOMB.
24201         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
24202         HAVE_WCRTOMB.
24203         * modules/wcrtomb: New file.
24204         * doc/posix-functions/wcrtomb.texi: Mention the new module.
24205
24206 2008-12-21  Bruno Haible  <bruno@clisp.org>
24207
24208         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
24209         * modules/mbsrtowcs (Files): Likewise.
24210         * modules/wctob (Files): Likewise.
24211         * modules/c-strcase-tests (Files): Likewise.
24212         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
24213         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
24214         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
24215         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
24216         * modules/vasnprintf-posix-tests (Files): Likewise.
24217
24218 2008-12-21  William Pursell  <bill.pursell@gmail.com>
24219
24220         gitlog-to-changelog: pass all command-line arguments to git-log
24221         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
24222         it is sometimes convenient to filter the commits in various ways.
24223         gitlog-to-changelog only allows --since to specify a start date,
24224         but git-log itself supports many other filtering mechanisms.
24225         At the moment, I want to filter by branch name.  Rather than
24226         adding a --branch option to gitlog-to-changelog, it seems more
24227         flexible to simply pass all options directly to git-log and let
24228         git do the work.  Notice that this effectively makes --since a
24229         redundant option for gitlog-to-changelog, but removing it would
24230         require current usage to change since calls would then require
24231         an additional '--'.
24232
24233 2008-12-21  Bruno Haible  <bruno@clisp.org>
24234
24235         * modules/mbsnrtowcs-tests: New file.
24236         * tests/test-mbsnrtowcs1.sh: New file.
24237         * tests/test-mbsnrtowcs2.sh: New file.
24238         * tests/test-mbsnrtowcs3.sh: New file.
24239         * tests/test-mbsnrtowcs4.sh: New file.
24240         * tests/test-mbsnrtowcs.c: New file.
24241
24242         New module 'mbsnrtowcs'.
24243         * lib/wchar.in.h (mbsnrtowcs): New declaration.
24244         * lib/mbsnrtowcs.c: New file.
24245         * lib/mbsrtowcs-state.c: New file.
24246         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
24247         (internal_state): Remove variable.
24248         * m4/mbsnrtowcs.m4: New file.
24249         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
24250         compilation units.
24251         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
24252         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
24253         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
24254         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
24255         * modules/mbsnrtowcs: New file.
24256         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
24257         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
24258         portability problem.
24259
24260 2008-12-21  Bruno Haible  <bruno@clisp.org>
24261
24262         Work around mbsrtowcs bug.
24263         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
24264         (gl_FUNC_MBSRTOWCS): Invoke it.
24265         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
24266         m4/locale-zh.m4.
24267         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
24268
24269 2008-12-21  Bruno Haible  <bruno@clisp.org>
24270
24271         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
24272
24273 2008-12-21  Bruno Haible  <bruno@clisp.org>
24274
24275         Update doc for AIX.
24276         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
24277         16-bit wchar_t type.
24278         * doc/posix-functions/btowc.texi: Likewise.
24279         * doc/posix-functions/fgetwc.texi: Likewise.
24280         * doc/posix-functions/fgetws.texi: Likewise.
24281         * doc/posix-functions/fputwc.texi: Likewise.
24282         * doc/posix-functions/fputws.texi: Likewise.
24283         * doc/posix-functions/fwide.texi: Likewise.
24284         * doc/posix-functions/fwprintf.texi: Likewise.
24285         * doc/posix-functions/fwscanf.texi: Likewise.
24286         * doc/posix-functions/getwchar.texi: Likewise.
24287         * doc/posix-functions/getwc.texi: Likewise.
24288         * doc/posix-functions/iswalnum.texi: Likewise.
24289         * doc/posix-functions/iswalpha.texi: Likewise.
24290         * doc/posix-functions/iswblank.texi: Likewise.
24291         * doc/posix-functions/iswcntrl.texi: Likewise.
24292         * doc/posix-functions/iswctype.texi: Likewise.
24293         * doc/posix-functions/iswdigit.texi: Likewise.
24294         * doc/posix-functions/iswgraph.texi: Likewise.
24295         * doc/posix-functions/iswlower.texi: Likewise.
24296         * doc/posix-functions/iswprint.texi: Likewise.
24297         * doc/posix-functions/iswpunct.texi: Likewise.
24298         * doc/posix-functions/iswspace.texi: Likewise.
24299         * doc/posix-functions/iswupper.texi: Likewise.
24300         * doc/posix-functions/iswxdigit.texi: Likewise.
24301         * doc/posix-functions/mbrtowc.texi: Likewise.
24302         * doc/posix-functions/mbsrtowcs.texi: Likewise.
24303         * doc/posix-functions/mbstowcs.texi: Likewise.
24304         * doc/posix-functions/mbtowc.texi: Likewise.
24305         * doc/posix-functions/putwchar.texi: Likewise.
24306         * doc/posix-functions/putwc.texi: Likewise.
24307         * doc/posix-functions/swprintf.texi: Likewise.
24308         * doc/posix-functions/tolower.texi: Likewise.
24309         * doc/posix-functions/toupper.texi: Likewise.
24310         * doc/posix-functions/towctrans.texi: Likewise.
24311         * doc/posix-functions/ungetwc.texi: Likewise.
24312         * doc/posix-functions/vswprintf.texi: Likewise.
24313         * doc/posix-functions/wcrtomb.texi: Likewise.
24314         * doc/posix-functions/wcscat.texi: Likewise.
24315         * doc/posix-functions/wcschr.texi: Likewise.
24316         * doc/posix-functions/wcscmp.texi: Likewise.
24317         * doc/posix-functions/wcscoll.texi: Likewise.
24318         * doc/posix-functions/wcscpy.texi: Likewise.
24319         * doc/posix-functions/wcscspn.texi: Likewise.
24320         * doc/posix-functions/wcsftime.texi: Likewise.
24321         * doc/posix-functions/wcslen.texi: Likewise.
24322         * doc/posix-functions/wcsncat.texi: Likewise.
24323         * doc/posix-functions/wcsncmp.texi: Likewise.
24324         * doc/posix-functions/wcsncpy.texi: Likewise.
24325         * doc/posix-functions/wcspbrk.texi: Likewise.
24326         * doc/posix-functions/wcsrchr.texi: Likewise.
24327         * doc/posix-functions/wcsrtombs.texi: Likewise.
24328         * doc/posix-functions/wcsspn.texi: Likewise.
24329         * doc/posix-functions/wcsstr.texi: Likewise.
24330         * doc/posix-functions/wcstod.texi: Likewise.
24331         * doc/posix-functions/wcstof.texi: Likewise.
24332         * doc/posix-functions/wcstoimax.texi: Likewise.
24333         * doc/posix-functions/wcstok.texi: Likewise.
24334         * doc/posix-functions/wcstold.texi: Likewise.
24335         * doc/posix-functions/wcstoll.texi: Likewise.
24336         * doc/posix-functions/wcstol.texi: Likewise.
24337         * doc/posix-functions/wcstombs.texi: Likewise.
24338         * doc/posix-functions/wcstoull.texi: Likewise.
24339         * doc/posix-functions/wcstoul.texi: Likewise.
24340         * doc/posix-functions/wcstoumax.texi: Likewise.
24341         * doc/posix-functions/wcswidth.texi: Likewise.
24342         * doc/posix-functions/wcsxfrm.texi: Likewise.
24343         * doc/posix-functions/wctob.texi: Likewise.
24344         * doc/posix-functions/wctomb.texi: Likewise.
24345         * doc/posix-functions/wctrans.texi: Likewise.
24346         * doc/posix-functions/wctype.texi: Likewise.
24347         * doc/posix-functions/wcwidth.texi: Likewise.
24348         * doc/posix-functions/wmemchr.texi: Likewise.
24349         * doc/posix-functions/wmemcmp.texi: Likewise.
24350         * doc/posix-functions/wmemcpy.texi: Likewise.
24351         * doc/posix-functions/wmemmove.texi: Likewise.
24352         * doc/posix-functions/wmemset.texi: Likewise.
24353         * doc/posix-functions/wprintf.texi: Likewise.
24354         * doc/posix-functions/wscanf.texi: Likewise.
24355
24356 2008-12-21  Bruno Haible  <bruno@clisp.org>
24357
24358         Update doc for HP-UX 11.11.
24359         * doc/posix-functions/btowc.texi: Clarify that the function is missing
24360         in HP-UX version 11.00, not in all versions of HP-UX 11.
24361         * doc/posix-functions/fwide.texi: Likewise.
24362         * doc/posix-functions/fwprintf.texi: Likewise.
24363         * doc/posix-functions/fwscanf.texi: Likewise.
24364         * doc/posix-functions/inet_ntop.texi: Likewise.
24365         * doc/posix-functions/inet_pton.texi: Likewise.
24366         * doc/posix-functions/mbrlen.texi: Likewise.
24367         * doc/posix-functions/mbrtowc.texi: Likewise.
24368         * doc/posix-functions/mbsinit.texi: Likewise.
24369         * doc/posix-functions/mbsrtowcs.texi: Likewise.
24370         * doc/posix-functions/swprintf.texi: Likewise.
24371         * doc/posix-functions/swscanf.texi: Likewise.
24372         * doc/posix-functions/towctrans.texi: Likewise.
24373         * doc/posix-functions/vfwprintf.texi: Likewise.
24374         * doc/posix-functions/vswprintf.texi: Likewise.
24375         * doc/posix-functions/vwprintf.texi: Likewise.
24376         * doc/posix-functions/wcrtomb.texi: Likewise.
24377         * doc/posix-functions/wcsrtombs.texi: Likewise.
24378         * doc/posix-functions/wcsstr.texi: Likewise.
24379         * doc/posix-functions/wctob.texi: Likewise.
24380         * doc/posix-functions/wctrans.texi: Likewise.
24381         * doc/posix-functions/wmemchr.texi: Likewise.
24382         * doc/posix-functions/wmemcmp.texi: Likewise.
24383         * doc/posix-functions/wmemcpy.texi: Likewise.
24384         * doc/posix-functions/wmemmove.texi: Likewise.
24385         * doc/posix-functions/wmemset.texi: Likewise.
24386         * doc/posix-functions/wprintf.texi: Likewise.
24387         * doc/posix-functions/wscanf.texi: Likewise.
24388
24389 2008-12-21  Bruno Haible  <bruno@clisp.org>
24390
24391         Work around a portability problem.
24392         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
24393         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
24394
24395 2008-12-20  Bruno Haible  <bruno@clisp.org>
24396
24397         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
24398         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
24399         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
24400         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
24401         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
24402
24403         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
24404         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
24405         set.
24406         (GNULIB_defined_mbstate_t): New macro.
24407         (mbsinit): Redefine if REPLACE_MBSINIT is set.
24408         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
24409         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
24410         reuses the system's mbrtowc function but works around the bugs.
24411         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
24412         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
24413         macros.
24414         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
24415         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
24416         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
24417         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
24418         REPLACE_MBSINIT if mbsinit needs to be overridden.
24419         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
24420         REPLACE_MBSINIT, REPLACE_MBRTOWC.
24421         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
24422         REPLACE_MBSINIT, REPLACE_MBRTOWC.
24423         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
24424         m4/locale-zh.m4.
24425         (Depends): Add mbsinit.
24426         * modules/mbsinit (Depends): Add mbrtowc.
24427         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
24428
24429 2008-12-20  Bruno Haible  <bruno@clisp.org>
24430
24431         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
24432         so that there are no conversion errors on AIX.
24433         * tests/test-mbsrtowcs.c (main): LIkewise.
24434
24435 2008-12-20  Bruno Haible  <bruno@clisp.org>
24436
24437         Work around wctob bug on Solaris <= 9.
24438         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
24439         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
24440         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
24441         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
24442         * modules/wctob (Files): Add m4/locale-fr.m4.
24443         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
24444
24445 2008-12-20  Bruno Haible  <bruno@clisp.org>
24446
24447         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
24448         /dev/null.
24449         * tests/test-select-in.sh: Likewise.
24450         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24451
24452 2008-12-20  Bruno Haible  <bruno@clisp.org>
24453
24454         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
24455         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
24456         Cygwin 1.5.x.
24457
24458 2008-12-20  Bruno Haible  <bruno@clisp.org>
24459
24460         Ensure mbstate_t is defined on HP-UX 11.11.
24461         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
24462         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
24463         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
24464         AC_USE_SYSTEM_EXTENSIONS.
24465         * modules/fnmatch (Depends-on): Add extensions.
24466         * modules/mbrlen (Depends-on): Likewise.
24467         * modules/mbrtowc (Depends-on): Likewise.
24468         * modules/mbsinit (Depends-on): Likewise.
24469         * modules/mbsrtowcs (Depends-on): Likewise.
24470         * modules/mbswidth (Depends-on): Likewise.
24471         * modules/quotearg (Depends-on): Likewise.
24472         * modules/strftime (Depends-on): Likewise.
24473
24474 2008-12-20  Bruno Haible  <bruno@clisp.org>
24475
24476         Ensure wctob is declared on IRIX 6.5.
24477         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
24478         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
24479         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
24480         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
24481         of HAVE_WCTOB.
24482         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
24483         HAVE_WCTOB.
24484         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
24485
24486 2008-12-19  Bruno Haible  <bruno@clisp.org>
24487
24488         * modules/mbsrtowcs-tests: New file.
24489         * tests/test-mbsrtowcs1.sh: New file.
24490         * tests/test-mbsrtowcs2.sh: New file.
24491         * tests/test-mbsrtowcs3.sh: New file.
24492         * tests/test-mbsrtowcs4.sh: New file.
24493         * tests/test-mbsrtowcs.c: New file.
24494
24495         New module 'mbsrtowcs'.
24496         * lib/wchar.in.h (mbsrtowcs): New declaration.
24497         * lib/mbsrtowcs.c: New file.
24498         * m4/mbsrtowcs.m4: New file.
24499         * modules/mbsrtowcs: New file.
24500         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
24501         HAVE_MBSRTOWCS.
24502         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
24503         HAVE_MBSRTOWCS.
24504         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
24505
24506 2008-12-19  Bruno Haible  <bruno@clisp.org>
24507
24508         New module 'mbrlen'.
24509         * lib/wchar.in.h (mbrlen): New declaration.
24510         * lib/mbrlen.c: New file.
24511         * m4/mbrlen.m4: New file.
24512         * modules/mbrlen: New file.
24513         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
24514         HAVE_MBRLEN.
24515         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
24516         HAVE_MBRLEN.
24517         * doc/posix-functions/mbrlen.texi: Document the new module.
24518
24519 2008-12-19  Bruno Haible  <bruno@clisp.org>
24520
24521         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
24522         * modules/mbrtowc (Depends-on): Add verify.
24523         Suggested by Paul Eggert.
24524
24525 2008-12-18  Bruno Haible  <bruno@clisp.org>
24526
24527         * modules/mbsinit-tests: New file.
24528         * tests/test-mbsinit.sh: New file.
24529         * tests/test-mbsinit.c: New file.
24530
24531 2008-12-18  Bruno Haible  <bruno@clisp.org>
24532
24533         * modules/mbrtowc-tests: New file.
24534         * tests/test-mbrtowc1.sh: New file.
24535         * tests/test-mbrtowc2.sh: New file.
24536         * tests/test-mbrtowc3.sh: New file.
24537         * tests/test-mbrtowc4.sh: New file.
24538         * tests/test-mbrtowc.c: New file.
24539
24540         New module 'mbrtowc'.
24541         * lib/wchar.in.h (mbstate_t): Override when the system does not have
24542         mbsinit and mbrtowc.
24543         (mbrtowc): New declaration.
24544         * lib/mbrtowc.c: New file.
24545         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
24546         * modules/mbrtowc: New file.
24547         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
24548         HAVE_MBRTOWC.
24549         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
24550         HAVE_MBRTOWC.
24551         * doc/posix-functions/mbrtowc.texi: Document the new module.
24552
24553 2008-12-18  Bruno Haible  <bruno@clisp.org>
24554
24555         New module 'wctob'.
24556         * lib/wchar.in.h (wctob): New declaration.
24557         * lib/wctob.c: New file.
24558         * m4/wctob.m4: New file.
24559         * modules/wctob: New file.
24560         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
24561         HAVE_WCTOB.
24562         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
24563         * doc/posix-functions/wctob.texi: Document the new module.
24564
24565 2008-12-18  Bruno Haible  <bruno@clisp.org>
24566
24567         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
24568         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
24569
24570 2008-12-18  Simon Josefsson  <simon@josefsson.org>
24571
24572         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
24573         G. Christensen" <tgc@jupiterrise.com>.
24574
24575         * lib/flock.c: Need to include errno.h.  Reported by "Tom
24576         G. Christensen" <tgc@jupiterrise.com>.
24577
24578         * lib/flock.c: Need to include string.h.  Reported by "Tom
24579         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
24580         <ebb9@byu.net>.
24581
24582 2008-12-18  Bruno Haible  <bruno@clisp.org>
24583
24584         * m4/locale-ja.m4: New file, from GNU gettext.
24585
24586 2008-12-17  Bruno Haible  <bruno@clisp.org>
24587
24588         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
24589         Suggested by Eric Blake.
24590
24591 2008-12-17  Bruno Haible  <bruno@clisp.org>
24592
24593         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
24594
24595 2008-12-17  Bruno Haible  <bruno@clisp.org>
24596
24597         * lib/mbsinit.c: Include verify.h. Verify an assumption.
24598         * modules/mbsinit (Depends-on): Add verify.
24599         Suggested by Paul Eggert.
24600
24601 2008-12-17  Bruno Haible  <bruno@clisp.org>
24602
24603         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
24604         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
24605         gl_FUNC_MBRTOWC.
24606         * m4/mbiter.m4 (gl_MBITER): LIkewise.
24607         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
24608         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
24609         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
24610         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
24611         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
24612         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
24613         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
24614         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
24615         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
24616         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
24617         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
24618         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
24619         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
24620         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
24621         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
24622         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
24623         * modules/trim (configure.ac): Likewise.
24624
24625 2008-12-17  Bruno Haible  <bruno@clisp.org>
24626
24627         * modules/btowc-tests: New file.
24628         * tests/test-btowc1.sh: New file.
24629         * tests/test-btowc2.sh: New file.
24630         * tests/test-btowc.c: New file.
24631
24632         New module 'btowc'.
24633         * lib/wchar.in.h (btowc): New declaration.
24634         * lib/btowc.c: New file.
24635         * m4/btowc.m4: New file.
24636         * modules/btowc: New file.
24637         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
24638         HAVE_BTOWC.
24639         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
24640         * doc/posix-functions/btowc.texi: Document the new module.
24641
24642 2008-12-17  Bruno Haible  <bruno@clisp.org>
24643
24644         New module 'mbsinit'.
24645         * lib/wchar.in.h (mbsinit): New declaration.
24646         * lib/mbsinit.c: New file.
24647         * m4/mbsinit.m4: New file.
24648         * modules/mbsinit: New file.
24649         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
24650         HAVE_MBSINIT.
24651         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
24652         HAVE_MBSINIT.
24653         * doc/posix-functions/mbsinit.texi: Document the new module.
24654
24655 2008-12-16  Bruno Haible  <bruno@clisp.org>
24656
24657         * lib/unistd.in.h: Add comment.
24658         * tests/test-environ.c: Don't include <stdlib.h>.
24659
24660 2008-12-16  Bruno Haible  <bruno@clisp.org>
24661
24662         * lib/parse-duration.h (parse_duration): Document return value
24663         convention.
24664         * lib/parse-duration.c: Include specification header first. Add
24665         comments.
24666         (_): Remove macro.
24667         (parse_year_month_day, parse_hour_minute_second): Move side effects
24668         outside of strchr call.
24669         (parse_non_iso8601): Move side effects outside of isspace call.
24670         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
24671         call.
24672
24673 2008-12-16  Bruno Haible  <bruno@clisp.org>
24674
24675         * tests/test-parse-duration.sh: Produce no output when the test
24676         succeeds.
24677
24678 2008-12-16  Bruno Haible  <bruno@clisp.org>
24679
24680         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
24681         expressions.
24682
24683 2008-12-15  Bruno Haible  <bruno@clisp.org>
24684
24685         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
24686         * doc/glibc-functions/flistxattr.texi: Likewise.
24687         * doc/glibc-functions/fopencookie.texi: Likewise.
24688         * doc/glibc-functions/fremovexattr.texi: Likewise.
24689         * doc/glibc-functions/fsetxattr.texi: Likewise.
24690         * doc/glibc-functions/getxattr.texi: Likewise.
24691         * doc/glibc-functions/lgetxattr.texi: Likewise.
24692         * doc/glibc-functions/listxattr.texi: Likewise.
24693         * doc/glibc-functions/llistxattr.texi: Likewise.
24694         * doc/glibc-functions/lremovexattr.texi: Likewise.
24695         * doc/glibc-functions/lsetxattr.texi: Likewise.
24696         * doc/glibc-functions/removexattr.texi: Likewise.
24697         * doc/glibc-functions/setxattr.texi: Likewise.
24698         * doc/posix-functions/open_memstream.texi: Likewise.
24699
24700 2008-12-15  Eric Blake  <ebb9@byu.net>
24701
24702         Update doc for cygwin 1.7.
24703         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
24704         functions.
24705         * doc/posix-functions/fchmodat.texi: Likewise.
24706         * doc/posix-functions/fchownat.texi: Likewise.
24707         * doc/posix-functions/fdopendir.texi: Likewise.
24708         * doc/posix-functions/fmemopen.texi: Likewise.
24709         * doc/posix-functions/freeaddrinfo.texi: Likewise.
24710         * doc/posix-functions/fstatat.texi: Likewise.
24711         * doc/posix-functions/futimens.texi: Likewise.
24712         * doc/posix-functions/gai_strerror.texi: Likewise.
24713         * doc/posix-functions/getaddrinfo.texi: Likewise.
24714         * doc/posix-functions/getnameinfo.texi: Likewise.
24715         * doc/posix-functions/if_freenameindex.texi: Likewise.
24716         * doc/posix-functions/if_indextoname.texi: Likewise.
24717         * doc/posix-functions/if_nameindex.texi: Likewise.
24718         * doc/posix-functions/if_nametoindex.texi: Likewise.
24719         * doc/posix-functions/insque.texi: Likewise.
24720         * doc/posix-functions/linkat.texi: Likewise.
24721         * doc/posix-functions/llrint.texi: Likewise.
24722         * doc/posix-functions/llrintf.texi: Likewise.
24723         * doc/posix-functions/llrintl.texi: Likewise.
24724         * doc/posix-functions/lockf.texi: Likewise.
24725         * doc/posix-functions/lrintl.texi: Likewise.
24726         * doc/posix-functions/mkdirat.texi: Likewise.
24727         * doc/posix-functions/mkfifoat.texi: Likewise.
24728         * doc/posix-functions/mknodat.texi: Likewise.
24729         * doc/posix-functions/mq_close.texi: Likewise.
24730         * doc/posix-functions/mq_getattr.texi: Likewise.
24731         * doc/posix-functions/mq_notify.texi: Likewise.
24732         * doc/posix-functions/mq_open.texi: Likewise.
24733         * doc/posix-functions/mq_receive.texi: Likewise.
24734         * doc/posix-functions/mq_send.texi: Likewise.
24735         * doc/posix-functions/mq_setattr.texi: Likewise.
24736         * doc/posix-functions/mq_timedreceive.texi: Likewise.
24737         * doc/posix-functions/mq_timedsend.texi: Likewise.
24738         * doc/posix-functions/mq_unlink.texi: Likewise.
24739         * doc/posix-functions/open_memstream.texi: Likewise.
24740         * doc/posix-functions/openat.texi: Likewise.
24741         * doc/posix-functions/posix_fadvise.texi: Likewise.
24742         * doc/posix-functions/posix_fallocate.texi: Likewise.
24743         * doc/posix-functions/posix_madvise.texi: Likewise.
24744         * doc/posix-functions/posix_memalign.texi: Likewise.
24745         * doc/posix-functions/posix_openpt.texi: Likewise.
24746         * doc/posix-functions/readlinkat.texi: Likewise.
24747         * doc/posix-functions/remque.texi: Likewise.
24748         * doc/posix-functions/renameat.texi: Likewise.
24749         * doc/posix-functions/rintl.texi: Likewise.
24750         * doc/posix-functions/sem_unlink.texi: Likewise.
24751         * doc/posix-functions/shm_open.texi: Likewise.
24752         * doc/posix-functions/shm_unlink.texi: Likewise.
24753         * doc/posix-functions/signgam.texi: Likewise.
24754         * doc/posix-functions/sigset.texi: Likewise.
24755         * doc/posix-functions/stpcpy.texi: Likewise.
24756         * doc/posix-functions/stpncpy.texi: Likewise.
24757         * doc/posix-functions/strerror.texi: Likewise.
24758         * doc/posix-functions/strtod.texi: Likewise.
24759         * doc/posix-functions/symlinkat.texi: Likewise.
24760         * doc/posix-functions/unlinkat.texi: Likewise.
24761         * doc/posix-functions/utimensat.texi: Likewise.
24762         * doc/glibc-functions/bindresvport.texi: Likewise.
24763         * doc/glibc-functions/dn_expand.texi: Likewise.
24764         * doc/glibc-functions/exp10.texi: Likewise.
24765         * doc/glibc-functions/exp10f.texi: Likewise.
24766         * doc/glibc-functions/fgetxattr.texi: Likewise.
24767         * doc/glibc-functions/flistxattr.texi: Likewise.
24768         * doc/glibc-functions/fopencookie.texi: Likewise.
24769         * doc/glibc-functions/freeifaddrs.texi: Likewise.
24770         * doc/glibc-functions/fremovexattr.texi: Likewise.
24771         * doc/glibc-functions/fsetxattr.texi: Likewise.
24772         * doc/glibc-functions/getifaddrs.texi: Likewise.
24773         * doc/glibc-functions/getxattr.texi: Likewise.
24774         * doc/glibc-functions/lgetxattr.texi: Likewise.
24775         * doc/glibc-functions/listxattr.texi: Likewise.
24776         * doc/glibc-functions/llistxattr.texi: Likewise.
24777         * doc/glibc-functions/lremovexattr.texi: Likewise.
24778         * doc/glibc-functions/lsetxattr.texi: Likewise.
24779         * doc/glibc-functions/pow10.texi: Likewise.
24780         * doc/glibc-functions/pow10f.texi: Likewise.
24781         * doc/glibc-functions/rcmd_af.texi: Likewise.
24782         * doc/glibc-functions/removexattr.texi: Likewise.
24783         * doc/glibc-functions/res_init.texi: Likewise.
24784         * doc/glibc-functions/res_mkquery.texi: Likewise.
24785         * doc/glibc-functions/res_query.texi: Likewise.
24786         * doc/glibc-functions/res_querydomain.texi: Likewise.
24787         * doc/glibc-functions/res_send.texi: Likewise.
24788         * doc/glibc-functions/rresvport_af.texi: Likewise.
24789         * doc/glibc-functions/setxattr.texi: Likewise.
24790         * doc/glibc-functions/strcasestr.texi: Likewise.
24791
24792 2008-12-15  Bruno Haible  <bruno@clisp.org>
24793
24794         Fix compilation error on OSF/1 4.0.
24795         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
24796         <sys/time.h>, simply delegate to the system header.
24797         Reported by Daniel Richard G. <oss@teragram.com>.
24798
24799 2008-12-15  Bruno Haible  <bruno@clisp.org>
24800
24801         * doc/posix-functions/openat.texi: Mention the 'openat' module.
24802         * doc/posix-functions/fchmodat.texi: Likewise.
24803         * doc/posix-functions/fchownat.texi: Likewise.
24804         * doc/posix-functions/fdopendir.texi: Likewise.
24805         * doc/posix-functions/fstatat.texi: Likewise.
24806         * doc/posix-functions/mkdirat.texi: Likewise.
24807         * doc/posix-functions/unlinkat.texi: Likewise.
24808
24809 2008-12-14  Bruno Haible  <bruno@clisp.org>
24810
24811         Update doc for POSIX:2008.
24812         * doc/posix-functions/faccessat.texi: New file.
24813         * doc/posix-functions/fchmodat.texi: New file.
24814         * doc/posix-functions/fchownat.texi: New file.
24815         * doc/posix-functions/fdopendir.texi: New file.
24816         * doc/posix-functions/fstatat.texi: New file.
24817         * doc/posix-functions/futimens.texi: New file.
24818         * doc/posix-functions/linkat.texi: New file.
24819         * doc/posix-functions/mkdirat.texi: New file.
24820         * doc/posix-functions/mkfifoat.texi: New file.
24821         * doc/posix-functions/mknodat.texi: New file.
24822         * doc/posix-functions/open_wmemstream.texi: New file.
24823         * doc/posix-functions/openat.texi: New file.
24824         * doc/posix-functions/psiginfo.texi: New file.
24825         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
24826         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
24827         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
24828         * doc/posix-functions/readlinkat.texi: New file.
24829         * doc/posix-functions/renameat.texi: New file.
24830         * doc/posix-functions/strerror_l.texi: New file.
24831         * doc/posix-functions/symlinkat.texi: New file.
24832         * doc/posix-functions/unlinkat.texi: New file.
24833         * doc/posix-functions/utimensat.texi: New file.
24834         * doc/gnulib.texi (Function Substitutes): Add these subsections.
24835
24836 2008-12-14  Bruno Haible  <bruno@clisp.org>
24837
24838         Update doc for POSIX:2008.
24839         * doc/posix-functions/alphasort.texi: Renamed from
24840         doc/glibc-functions/alphasort.texi.
24841         * doc/posix-functions/dirfd.texi: Renamed from
24842         doc/glibc-functions/dirfd.texi.
24843         * doc/posix-functions/dprintf.texi: Renamed from
24844         doc/glibc-functions/dprintf.texi.
24845         * doc/posix-functions/duplocale.texi: Renamed from
24846         doc/glibc-functions/duplocale.texi.
24847         * doc/posix-functions/fexecve.texi: Renamed from
24848         doc/glibc-functions/fexecve.texi.
24849         * doc/posix-functions/fmemopen.texi: Renamed from
24850         doc/glibc-functions/fmemopen.texi.
24851         * doc/posix-functions/freelocale.texi: Renamed from
24852         doc/glibc-functions/freelocale.texi.
24853         * doc/posix-functions/getdate_err.texi: Renamed from
24854         doc/glibc-functions/getdate_err.texi.
24855         * doc/posix-functions/isalnum_l.texi: Renamed from
24856         doc/glibc-functions/isalnum_l.texi.
24857         * doc/posix-functions/isalpha_l.texi: Renamed from
24858         doc/glibc-functions/isalpha_l.texi.
24859         * doc/posix-functions/isblank_l.texi: Renamed from
24860         doc/glibc-functions/isblank_l.texi.
24861         * doc/posix-functions/iscntrl_l.texi: Renamed from
24862         doc/glibc-functions/iscntrl_l.texi.
24863         * doc/posix-functions/isdigit_l.texi: Renamed from
24864         doc/glibc-functions/isdigit_l.texi.
24865         * doc/posix-functions/isgraph_l.texi: Renamed from
24866         doc/glibc-functions/isgraph_l.texi.
24867         * doc/posix-functions/islower_l.texi: Renamed from
24868         doc/glibc-functions/islower_l.texi.
24869         * doc/posix-functions/isprint_l.texi: Renamed from
24870         doc/glibc-functions/isprint_l.texi.
24871         * doc/posix-functions/ispunct_l.texi: Renamed from
24872         doc/glibc-functions/ispunct_l.texi.
24873         * doc/posix-functions/isspace_l.texi: Renamed from
24874         doc/glibc-functions/isspace_l.texi.
24875         * doc/posix-functions/isupper_l.texi: Renamed from
24876         doc/glibc-functions/isupper_l.texi.
24877         * doc/posix-functions/iswalnum_l.texi: Renamed from
24878         doc/glibc-functions/iswalnum_l.texi.
24879         * doc/posix-functions/iswalpha_l.texi: Renamed from
24880         doc/glibc-functions/iswalpha_l.texi.
24881         * doc/posix-functions/iswblank_l.texi: Renamed from
24882         doc/glibc-functions/iswblank_l.texi.
24883         * doc/posix-functions/iswcntrl_l.texi: Renamed from
24884         doc/glibc-functions/iswcntrl_l.texi.
24885         * doc/posix-functions/iswctype_l.texi: Renamed from
24886         doc/glibc-functions/iswctype_l.texi.
24887         * doc/posix-functions/iswdigit_l.texi: Renamed from
24888         doc/glibc-functions/iswdigit_l.texi.
24889         * doc/posix-functions/iswgraph_l.texi: Renamed from
24890         doc/glibc-functions/iswgraph_l.texi.
24891         * doc/posix-functions/iswlower_l.texi: Renamed from
24892         doc/glibc-functions/iswlower_l.texi.
24893         * doc/posix-functions/iswprint_l.texi: Renamed from
24894         doc/glibc-functions/iswprint_l.texi.
24895         * doc/posix-functions/iswpunct_l.texi: Renamed from
24896         doc/glibc-functions/iswpunct_l.texi.
24897         * doc/posix-functions/iswspace_l.texi: Renamed from
24898         doc/glibc-functions/iswspace_l.texi.
24899         * doc/posix-functions/iswupper_l.texi: Renamed from
24900         doc/glibc-functions/iswupper_l.texi.
24901         * doc/posix-functions/iswxdigit_l.texi: Renamed from
24902         doc/glibc-functions/iswxdigit_l.texi.
24903         * doc/posix-functions/isxdigit_l.texi: Renamed from
24904         doc/glibc-functions/isxdigit_l.texi.
24905         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
24906         doc/glibc-functions/mbsnrtowcs.texi.
24907         * doc/posix-functions/mkdtemp.texi: Renamed from
24908         doc/glibc-functions/mkdtemp.texi.
24909         * doc/posix-functions/newlocale.texi: Renamed from
24910         doc/glibc-functions/newlocale.texi.
24911         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
24912         doc/glibc-functions/nl_langinfo_l.texi.
24913         * doc/posix-functions/open_memstream.texi: Renamed from
24914         doc/glibc-functions/open_memstream.texi.
24915         * doc/posix-functions/opterr.texi: Renamed from
24916         doc/glibc-functions/opterr.texi.
24917         * doc/posix-functions/optind.texi: Renamed from
24918         doc/glibc-functions/optind.texi.
24919         * doc/posix-functions/optopt.texi: Renamed from
24920         doc/glibc-functions/optopt.texi.
24921         * doc/posix-functions/psignal.texi: Renamed from
24922         doc/glibc-functions/psignal.texi.
24923         * doc/posix-functions/scandir.texi: Renamed from
24924         doc/glibc-functions/scandir.texi.
24925         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
24926         doc/glibc-functions/sched_get_priority_min.texi.
24927         * doc/posix-functions/signgam.texi: Renamed from
24928         doc/glibc-functions/signgam.texi.
24929         * doc/posix-functions/stpcpy.texi: Renamed from
24930         doc/glibc-functions/stpcpy.texi.
24931         * doc/posix-functions/stpncpy.texi: Renamed from
24932         doc/glibc-functions/stpncpy.texi.
24933         * doc/posix-functions/strcasecmp_l.texi: Renamed from
24934         doc/glibc-functions/strcasecmp_l.texi.
24935         * doc/posix-functions/strcoll_l.texi: Renamed from
24936         doc/glibc-functions/strcoll_l.texi.
24937         * doc/posix-functions/strfmon_l.texi: Renamed from
24938         doc/glibc-functions/strfmon_l.texi.
24939         * doc/posix-functions/strftime_l.texi: Renamed from
24940         doc/glibc-functions/strftime_l.texi.
24941         * doc/posix-functions/strncasecmp_l.texi: Renamed from
24942         doc/glibc-functions/strncasecmp_l.texi.
24943         * doc/posix-functions/strndup.texi: Renamed from
24944         doc/glibc-functions/strndup.texi.
24945         * doc/posix-functions/strnlen.texi: Renamed from
24946         doc/glibc-functions/strnlen.texi.
24947         * doc/posix-functions/strsignal.texi: Renamed from
24948         doc/glibc-functions/strsignal.texi.
24949         * doc/posix-functions/strxfrm_l.texi: Renamed from
24950         doc/glibc-functions/strxfrm_l.texi.
24951         * doc/posix-functions/timer_gettime.texi: Renamed from
24952         doc/glibc-functions/timer_gettime.texi.
24953         * doc/posix-functions/tolower_l.texi: Renamed from
24954         doc/glibc-functions/tolower_l.texi.
24955         * doc/posix-functions/toupper_l.texi: Renamed from
24956         doc/glibc-functions/toupper_l.texi.
24957         * doc/posix-functions/towctrans_l.texi: Renamed from
24958         doc/glibc-functions/towctrans_l.texi.
24959         * doc/posix-functions/towlower_l.texi: Renamed from
24960         doc/glibc-functions/towlower_l.texi.
24961         * doc/posix-functions/towupper_l.texi: Renamed from
24962         doc/glibc-functions/towupper_l.texi.
24963         * doc/posix-functions/uselocale.texi: Renamed from
24964         doc/glibc-functions/uselocale.texi.
24965         * doc/posix-functions/vdprintf.texi: Renamed from
24966         doc/glibc-functions/vdprintf.texi.
24967         * doc/posix-functions/wcpcpy.texi:
24968         Renamed from doc/glibc-functions/wcpcpy.texi.
24969         * doc/posix-functions/wcpncpy.texi: Renamed from
24970         doc/glibc-functions/wcpncpy.texi.
24971         * doc/posix-functions/wcscasecmp.texi: Renamed from
24972         doc/glibc-functions/wcscasecmp.texi.
24973         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
24974         doc/glibc-functions/wcscasecmp_l.texi.
24975         * doc/posix-functions/wcscoll_l.texi: Renamed from
24976         doc/glibc-functions/wcscoll_l.texi.
24977         * doc/posix-functions/wcsdup.texi: Renamed from
24978         doc/glibc-functions/wcsdup.texi.
24979         * doc/posix-functions/wcsncasecmp.texi: Renamed from
24980         doc/glibc-functions/wcsncasecmp.texi.
24981         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
24982         doc/glibc-functions/wcsncasecmp_l.texi.
24983         * doc/posix-functions/wcsnlen.texi: Renamed from
24984         doc/glibc-functions/wcsnlen.texi.
24985         * doc/posix-functions/wcsnrtombs.texi: Renamed from
24986         doc/glibc-functions/wcsnrtombs.texi.
24987         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
24988         doc/glibc-functions/wcsxfrm_l.texi.
24989         * doc/posix-functions/wctrans_l.texi: Renamed from
24990         doc/glibc-functions/wctrans_l.texi.
24991         * doc/posix-functions/wctype_l.texi: Renamed from
24992         doc/glibc-functions/wctype_l.texi.
24993         * doc/gnulib.texi (Function Substitutes): Add these subsections.
24994         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
24995         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
24996         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
24997         these subsections.
24998         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
24999         Remove sections.
25000
25001 2008-12-14  Bruno Haible  <bruno@clisp.org>
25002
25003         Update doc for POSIX:2008.
25004         * doc/posix-functions/*.texi: Update URL of POSIX specification.
25005
25006 2008-12-14  Bruno Haible  <bruno@clisp.org>
25007
25008         Update doc for POSIX:2008.
25009         * doc/pastposix-functions/bcmp.texi: Renamed from
25010         doc/posix-functions/bcmp.texi.
25011         * doc/pastposix-functions/bcopy.texi: Renamed from
25012         doc/posix-functions/bcopy.texi.
25013         * doc/pastposix-functions/bsd_signal.texi: Renamed from
25014         doc/posix-functions/bsd_signal.texi.
25015         * doc/pastposix-functions/bzero.texi: Renamed from
25016         doc/posix-functions/bzero.texi.
25017         * doc/pastposix-functions/ecvt.texi: Renamed from
25018         doc/posix-functions/ecvt.texi.
25019         * doc/pastposix-functions/fcvt.texi: Renamed from
25020         doc/posix-functions/fcvt.texi.
25021         * doc/pastposix-functions/ftime.texi: Renamed from
25022         doc/posix-functions/ftime.texi.
25023         * doc/pastposix-functions/gcvt.texi: Renamed from
25024         doc/posix-functions/gcvt.texi.
25025         * doc/pastposix-functions/getcontext.texi: Renamed from
25026         doc/posix-functions/getcontext.texi.
25027         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
25028         doc/posix-functions/gethostbyaddr.texi.
25029         * doc/pastposix-functions/gethostbyname.texi: Renamed from
25030         doc/posix-functions/gethostbyname.texi.
25031         * doc/pastposix-functions/getwd.texi: Renamed from
25032         doc/posix-functions/getwd.texi.
25033         * doc/pastposix-functions/h_errno.texi: Renamed from
25034         doc/posix-functions/h_errno.texi.
25035         * doc/pastposix-functions/index.texi: Renamed from
25036         doc/posix-functions/index.texi.
25037         * doc/pastposix-functions/makecontext.texi: Renamed from
25038         doc/posix-functions/makecontext.texi.
25039         * doc/pastposix-functions/mktemp.texi: Renamed from
25040         doc/posix-functions/mktemp.texi.
25041         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
25042         doc/posix-functions/pthread_attr_getstackaddr.texi.
25043         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
25044         doc/posix-functions/pthread_attr_setstackaddr.texi.
25045         * doc/pastposix-functions/rindex.texi: Renamed from
25046         doc/posix-functions/rindex.texi.
25047         * doc/pastposix-functions/scalb.texi: Renamed from
25048         doc/posix-functions/scalb.texi.
25049         * doc/pastposix-functions/setcontext.texi: Renamed from
25050         doc/posix-functions/setcontext.texi.
25051         * doc/pastposix-functions/swapcontext.texi: Renamed from
25052         doc/posix-functions/swapcontext.texi.
25053         * doc/pastposix-functions/ualarm.texi: Renamed from
25054         doc/posix-functions/ualarm.texi.
25055         * doc/pastposix-functions/usleep.texi: Renamed from
25056         doc/posix-functions/usleep.texi.
25057         * doc/pastposix-functions/vfork.texi: Renamed from
25058         doc/posix-functions/vfork.texi.
25059         * doc/pastposix-functions/wcswcs.texi: Renamed from
25060         doc/posix-functions/wcswcs.texi.
25061         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
25062         (Function Substitutes): Update.
25063
25064 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25065
25066         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
25067         m4/strerror.m4.
25068
25069 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25070             Bruno Haible  <bruno@clisp.org>
25071
25072         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
25073
25074 2008-12-13  Bruno Haible  <bruno@clisp.org>
25075
25076         * modules/strtoull (Depends-on): Remove unistd.
25077
25078 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25079
25080         * modules/strtoull (Depends-on): Add stdlib.
25081
25082 2008-12-11  Simon Josefsson  <simon@josefsson.org>
25083
25084         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
25085
25086 2008-12-10  Jim Meyering  <meyering@redhat.com>
25087
25088         gl_ASSERT: don't say assertions are disabled when they're not
25089         * m4/assert.m4 (gl_ASSERT): Do not make configure report
25090         "checking whether to enable assertions... no", when they are in
25091         fact enabled.  This is solely a bug in the output of configure.
25092         In spite of saying "no", NDEBUG was not defined in that case.
25093         Also, as noted by Eric Blake, leave assertions enabled upon
25094         --enable-assert=INVALID.
25095
25096 2008-12-10  Bruno Haible  <bruno@clisp.org>
25097
25098         Change MODULES.html to refer to POSIX:2008 where possible.
25099         * MODULES.html.sh (POSIX2008_URL): New variable.
25100         (posix_headers): Remove sys/timeb, ucontext.
25101         (posix2001_headers): New variable.
25102         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
25103         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
25104         index, makecontext, mktemp, pthread_attr_getstackaddr,
25105         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
25106         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
25107         (posix2001_functions): New variable.
25108         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
25109         otherwise.
25110
25111 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25112
25113         add missing include to parse-duration.c
25114         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
25115         * modules/parse-duration (Depends-on): Add xalloc.
25116
25117         fix sed script reading maint.mk
25118         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
25119         (syntax-check-rules): Use it.
25120
25121 2008-12-09  Bruno Haible  <bruno@clisp.org>
25122
25123         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
25124         MacOS X 10.4/PowerPC.
25125         Reported by Simon Josefsson.
25126
25127 2008-12-08  Jim Meyering  <meyering@redhat.com>
25128
25129         work around mingw's lack of some S_IF definitions
25130         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
25131         Reported by Simon Josefsson.
25132
25133 2008-12-08  Bruno Haible  <bruno@clisp.org>
25134
25135         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
25136         applied to variables. Needed on MacOS X 10.4/PowerPC.
25137         Reported by Simon Josefsson.
25138
25139 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
25140         and Eric Blake  <ebb9@byu.net>
25141
25142         assert: honor --enable-assert
25143         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
25144         order to honor --enable-assert, rather than treating it as a
25145         synonym for --disable-assert.
25146
25147 2008-12-08  Jim Meyering  <meyering@redhat.com>
25148
25149         * lib/posixtm.c: Remove now-useless declaration of mktime.
25150
25151         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
25152
25153 2008-12-07  Bruno Haible  <bruno@clisp.org>
25154
25155         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
25156         test_once): Mark functions as static.
25157         * tests/test-tls.c (test_tls): Likewise.
25158
25159 2008-12-07  Bruno Haible  <bruno@clisp.org>
25160
25161         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
25162         iconv_register_autodetect.
25163
25164 2008-12-07  Jim Meyering  <meyering@redhat.com>
25165
25166         posixtm.c: avoid a warning
25167         * lib/posixtm.c (posixtime): Don't initialize tm0.
25168         It's no longer needed to placate gcc4's -Wuninitialized,
25169         and the attempt to placate would elicit a new warning.
25170
25171         unicodeio.c: mark unused parameters
25172         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
25173         (fallback_failure_callback): Likewise.
25174
25175 2008-12-07  Bruno Haible  <bruno@clisp.org>
25176
25177         * gnulib-tool (func_create_testdir): When building the tests
25178         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
25179         Reported by Simon Josefsson.
25180
25181 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25182
25183         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
25184
25185 2008-12-06  Bruno Haible  <bruno@clisp.org>
25186
25187         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
25188         Suggested by Eric Blake.
25189
25190 2008-12-06  Bruno Haible  <bruno@clisp.org>
25191
25192         Fix a c-stack test failure on MacOS X.
25193         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
25194         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
25195         handler for SIGBUS as well.
25196         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
25197         install a signal handler for SIGBUS as well.
25198         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
25199
25200 2008-12-06  Bruno Haible  <bruno@clisp.org>
25201
25202         Advocacy documentation.
25203         * doc/gnulib-intro.texi (Benefits): New section.
25204         * doc/gnulib.texi: Update.
25205
25206 2008-12-06  Bruno Haible  <bruno@clisp.org>
25207
25208         Document the 'manywarnings' module.
25209         * doc/manywarnings.texi: New file.
25210         * doc/gnulib.texi: Include it.
25211
25212 2008-12-05  Eric Blake  <ebb9@byu.net>
25213
25214         tests: silence some gcc warnings
25215         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
25216         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
25217         type mismatches.
25218
25219 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25220             Bruno Haible  <bruno@clisp.org>
25221
25222         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
25223
25224 2008-11-29  Jim Meyering  <meyering@redhat.com>
25225
25226         unicodeio.c: mark unused parameters
25227         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
25228         (fallback_failure_callback): Likewise.
25229
25230         fts: fix a thinko
25231         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
25232         (set_stat_type): Return S_IF*-valued "type" directly.
25233         Prompted by James Youngman's spotting a related bug.
25234         Confirmed by further testing through find.
25235
25236         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
25237         * lib/fts.c (D_TYPE): Define.
25238         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
25239         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
25240         (s_ifmt_shift_bits): New function.
25241         (set_stat_type): New function.
25242         (fts_build): When not calling fts_stat, call set_stat_type
25243         to propagate dirent.d_type info to fts_read caller.
25244         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
25245         fts_statp->st_mode type information may be valid.
25246
25247 2008-11-28  Simon Josefsson  <simon@josefsson.org>
25248
25249         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
25250         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
25251         <sds@gnu.org>.
25252
25253 2008-11-20  Bruno Haible  <bruno@clisp.org>
25254
25255         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
25256         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
25257         INCLUDE_NEXT.
25258         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
25259         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
25260         * modules/math (Makefile.am): Substitute
25261         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
25262         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
25263
25264 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
25265             Bruno Haible  <bruno@clisp.org>
25266
25267         * lib/stdint.in.h: Define all type macros so that their expansion is
25268         a single typedef'ed token. Fixes a compilation failure in Boost which
25269         does "using ::int8_t;".
25270
25271 2008-11-18  Simon Josefsson  <simon@josefsson.org>
25272
25273         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
25274         gl_MANYWARN_ALL_GCC.
25275         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
25276         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
25277         * modules/manywarnings: New file.
25278         * MODULES.html.sh: Mention manywarnings module.
25279
25280 2008-11-18  Bruno Haible  <bruno@clisp.org>
25281
25282         * doc/gnulib-tool.texi (Unit tests): New section.
25283
25284 2008-11-18  Simon Josefsson  <simon@josefsson.org>
25285
25286         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
25287         paths like 'lib/po/foo.po'.
25288
25289 2008-11-17  Simon Josefsson  <simon@josefsson.org>
25290
25291         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
25292         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
25293
25294 2008-11-17  Simon Josefsson  <simon@josefsson.org>
25295
25296         * m4/warnings.m4: Use CPPFLAGS to really check whether the
25297         parameter works.
25298
25299 2008-11-17  Simon Josefsson  <simon@josefsson.org>
25300
25301         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
25302
25303 2008-11-17  Bruce Korb  <bkorb@gnu.org>
25304
25305         * modules/parse-duration-tests: New file.
25306         * tests/test-parse-duration.sh: New file.
25307         * tests/test-parse-duration.c: New file.
25308
25309         New module 'parse-duration'.
25310         * lib/parse-duration.h: New file.
25311         * lib/parse-duration.c: New file.
25312         * modules/parse-duration: New file.
25313
25314 2008-11-17  Bruno Haible  <bruno@clisp.org>
25315
25316         * tests/test-select-out.sh: Comment out the first pipe test.
25317         Reported by Simon Josefsson.
25318
25319 2008-11-17  Bruno Haible  <bruno@clisp.org>
25320
25321         * modules/getaddrinfo (Depends-on): Add servent, hostent.
25322         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
25323         gl_HOSTENT.
25324
25325 2008-11-17  Bruno Haible  <bruno@clisp.org>
25326
25327         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
25328         -lnetwork and -lnet. Needed for Haiku and BeOS.
25329
25330 2008-11-16  Bruno Haible  <bruno@clisp.org>
25331
25332         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
25333
25334 2008-11-16  Bruno Haible  <bruno@clisp.org>
25335
25336         Avoid test failure on Haiku.
25337         * tests/test-fsync.c: Include <errno.h>.
25338         (main): Don't require that fsync (0) fails.
25339
25340 2008-11-15  Bruno Haible  <bruno@clisp.org>
25341
25342         New module 'hostent'.
25343         * modules/hostent: New file.
25344         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
25345
25346 2008-11-15  Bruno Haible  <bruno@clisp.org>
25347
25348         New module 'servent'.
25349         * modules/servent: New file.
25350         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
25351
25352 2008-11-15  Bruno Haible  <bruno@clisp.org>
25353
25354         Avoid generating same test program with two different rules.
25355         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
25356         test-frexp to test-frexp-nolibm.
25357         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
25358         test-frexpl to test-frexpl-nolibm.
25359
25360 2008-11-15  Bruno Haible  <bruno@clisp.org>
25361
25362         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
25363         $(FREXPL_LIBM).
25364
25365 2008-11-15  Bruno Haible  <bruno@clisp.org>
25366
25367         * lib/netdb.in.h: Activate the definitions also when the system's
25368         <netdb.h> has 'struct addrinfo'.
25369         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
25370         EAI_OVERFLOW or AI_NUMERICSERV.
25371         * doc/posix-headers/netdb.texi: Document the problem.
25372
25373 2008-11-15  Bruno Haible  <bruno@clisp.org>
25374
25375         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
25376
25377         Make the 'sched' module work on platforms where <sched.h> exists but
25378         is incomplete (such as Haiku).
25379         * lib/sched.in.h; Include the system's <sched.h> if it exists.
25380         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
25381         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
25382         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
25383         HAVE_STRUCT_SCHED_PARAM.
25384         * modules/sched (Depends-on): Add include_next.
25385         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
25386         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
25387         * doc/posix-headers/sched.texi: Document the issue.
25388
25389 2008-11-13  Jim Meyering  <meyering@redhat.com>
25390
25391         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
25392         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
25393         test would fail due to the difference in the Report bugs to ...
25394         line.  The expected address is empty, "<>", while the actual
25395         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
25396
25397 2008-11-12  Bruno Haible  <bruno@clisp.org>
25398
25399         lstat: don't compile lstat.c on systems lacking lstat
25400         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
25401         which don't have lstat; this is handled by lib/sys_stat.in.h already.
25402         Reported by Daniel P. Berrange via Jim Meyering.
25403
25404 2008-11-12  Jim Meyering  <meyering@redhat.com>
25405
25406         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
25407
25408 2008-11-12  Simon Josefsson  <simon@josefsson.org>
25409
25410         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
25411         instead.
25412
25413 2008-11-12  Bruno Haible  <bruno@clisp.org>
25414
25415         * lib/unicodeio.c: Include unistr.h.
25416         (utf8_wctomb): Remove function.
25417         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
25418
25419 2008-11-12  Simon Josefsson  <simon@josefsson.org>
25420
25421         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
25422         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
25423         <bruno@clisp.org>.
25424         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
25425
25426 2008-11-12  Simon Josefsson  <simon@josefsson.org>
25427
25428         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
25429         * doc/gnulib.texi: Add section for warnings.
25430
25431 2008-11-11  Bruno Haible  <bruno@clisp.org>
25432
25433         * lib/sockets.h: Add a comment.
25434
25435 2008-11-11  Karl Berry  <karl@gnu.org>
25436
25437         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
25438
25439 2008-11-11  Eric Blake  <ebb9@byu.net>
25440
25441         fdl.texi: avoid git symlinks
25442         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
25443
25444 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
25445
25446         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
25447
25448 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
25449
25450         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
25451         (gl_WARN_ADD): Substitute $2 if literal.
25452
25453 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
25454
25455         * m4/warning.m4: Remove.
25456
25457 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
25458
25459         * m4/warnings.m4: Almost complete rewrite. :-)
25460
25461 2008-11-10  Simon Josefsson  <simon@josefsson.org>
25462
25463         * modules/warnings: New module.
25464         * m4/warnings.m4: New file.
25465         * MODULES.html.sh: Mention warnings module.
25466         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
25467         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
25468
25469 2008-11-10  Eric Blake  <ebb9@byu.net>
25470
25471         fdl.texi: make a symlink to the latest version
25472         * doc/standards.texi: Revert today's earlier change.
25473         * doc/fdl-1.2.texi: Rename from old fdl.texi...
25474         * doc/fdl.texi: ...and replace this with a symlink to the newer
25475         fdl-1.3.texi.
25476
25477 2008-11-10  Bruno Haible  <bruno@clisp.org>
25478
25479         * tests/test-select-fd.c (main): Accept the result file name as fourth
25480         argument.
25481         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
25482         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
25483
25484 2008-11-10  Bruno Haible  <bruno@clisp.org>
25485
25486         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
25487         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
25488         as autoconf-substituted macros.
25489         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
25490         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
25491         gl_NETDB_H_DEFAULTS. Set these variables.
25492         * modules/netdb (Makefile.am): Substitute these variables.
25493
25494 2008-11-10  Eric Blake  <ebb9@byu.net>
25495
25496         standards.texi: include correct file for FDL 1.3
25497         * doc/standards.texi (GNU Free Documentation License): Change
25498         include file to pull in FDL 1.3, not 1.2.
25499
25500         fdl.texi: revert accidental change to license
25501         * doc/fdl.texi: This is FDL 1.2, not 1.3.
25502
25503 2008-11-10  Bruno Haible  <bruno@clisp.org>
25504
25505         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
25506         cross-compiling guesses also when the native compile gives no result.
25507
25508 2008-11-10  Bruno Haible  <bruno@clisp.org>
25509
25510         * lib/spawni.c (__spawni): Force variable into the stack.
25511
25512 2008-11-10  Bruno Haible  <bruno@clisp.org>
25513
25514         Add support for Haiku.
25515         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
25516         glibc and BeOS, but also on Haiku.
25517         * lib/fpurge.c (fpurge): Likewise.
25518         * lib/freadable.c (freadable): Likewise.
25519         * lib/freadahead.c (freadahead): Likewise.
25520         * lib/freading.c (freading): Likewise.
25521         * lib/freadptr.c (freadptr): Likewise.
25522         * lib/freadseek.c (freadptrinc): Likewise.
25523         * lib/fseeko.c (rpl_fseeko): Likewise.
25524         * lib/fseterr.c (fseterr): Likewise.
25525         * lib/fwritable.c (fwritable): Likewise.
25526         * lib/fwriting.c (fwriting): Likewise.
25527         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
25528
25529 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
25530
25531         * lib/config.charset: Treat Haiku like BeOS.
25532
25533 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
25534
25535         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
25536         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
25537
25538 2008-11-08  Bruno Haible  <bruno@clisp.org>
25539
25540         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
25541         AC_CACHE_CHECK.
25542
25543 2008-11-08  Bruno Haible  <bruno@clisp.org>
25544
25545         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
25546
25547 2008-11-08  Bruno Haible  <bruno@clisp.org>
25548
25549         * tests/test-select-fd.c: New file.
25550         * tests/test-select-in.sh: New file.
25551         * tests/test-select-out.sh: New file.
25552         * tests/test-select-stdin.c: New file.
25553         * modules/select-tests (Files): Add the new files.
25554         (Depends-on): Add gettimeofday.
25555         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
25556         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
25557         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
25558
25559 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
25560             Bruno Haible  <bruno@clisp.org>
25561
25562         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
25563
25564 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
25565
25566         * build-aux/pmccabe2html: Added support for C++ source files.
25567
25568 2008-11-05  Ben Pfaff  <blp@gnu.org>
25569
25570         Fix lib/close.c build on Windows.
25571         * modules/close (Files): Add lib/w32sock.h.
25572
25573 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
25574
25575         Accept Bison's NEWS format.
25576         * build-aux/announce-gen (print_news_deltas): Tweak
25577         $re_prefix.
25578
25579 2008-11-04  Bruno Haible  <bruno@clisp.org>
25580
25581         * modules/random_r (Maintainer): Add glibc.
25582
25583 2008-11-04  Simon Josefsson  <simon@josefsson.org>
25584
25585         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
25586         by karl@freefriends.org (Karl Berry).
25587         * doc/alloca.texi: Likewise.
25588         * doc/c-ctype.texi: Likewise.
25589         * doc/c-strcase.texi: Likewise.
25590         * doc/c-strcaseeq.texi: Likewise.
25591         * doc/c-strcasestr.texi: Likewise.
25592         * doc/c-strstr.texi: Likewise.
25593         * doc/c-strtod.texi: Likewise.
25594         * doc/c-strtold.texi: Likewise.
25595         * doc/ctime.texi: Likewise.
25596         * doc/error.texi: Likewise.
25597         * doc/fdl.texi: Likewise.
25598         * doc/gcd.texi: Likewise.
25599         * doc/getdate.texi: Likewise.
25600         * doc/gnulib-intro.texi: Likewise.
25601         * doc/gnulib-tool.texi: Likewise.
25602         * doc/gnulib.texi: Likewise.
25603         * doc/inet_ntoa.texi: Likewise.
25604         * doc/maintain.texi: Likewise.
25605         * doc/make-stds.texi: Likewise.
25606         * doc/quote.texi: Likewise.
25607         * doc/regexprops-generic.texi: Likewise.
25608         * doc/standards.texi: Likewise.
25609         * doc/verify.texi: Likewise.
25610         * doc/visibility.texi: Likewise.
25611         * doc/gnulib.texi (GNU Free Documentation License): Include
25612         fdl-1.3.texi instead of fdl.texi.
25613
25614 2008-11-04  Simon Josefsson  <simon@josefsson.org>
25615
25616         * doc/fdl-1.3.texi: New file, from
25617         <http://www.gnu.org/licenses/fdl-1.3.texi>.
25618         * modules/fdl-1.3: Add.
25619         * MODULES.html.sh: Add fdl-1.3.
25620
25621 2008-11-03  Bruno Haible  <bruno@clisp.org>
25622
25623         Make determination of absolute name of header file work with AIX xlc.
25624         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
25625         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
25626         preprocessing.
25627         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
25628         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
25629
25630 2008-11-03  Simon Josefsson  <simon@josefsson.org>
25631
25632         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
25633         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
25634         <ludo@gnu.org>.
25635
25636 2008-11-02  Bruno Haible  <bruno@clisp.org>
25637
25638         Mark 'strpbrk' obsolete.
25639         * modules/strpbrk (Status, Notice): New sections.
25640         * modules/strtok_r (Depends-on): Add strpbrk.
25641
25642 2008-11-02  Bruno Haible  <bruno@clisp.org>
25643
25644         Mark 'strdup' obsolete.
25645         * modules/strdup (Status, Notice): New sections.
25646         * modules/findprog (Depends-on): Add strdup.
25647         * modules/getaddrinfo (Depends-on): Likewise.
25648         * modules/localename (Depends-on): Likewise.
25649         * modules/relocatable-lib (Depends-on): Likewise.
25650         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
25651         * modules/relocatable-prog (Depends-on): Likewise.
25652         * modules/trim (Depends-on): Likewise.
25653         * modules/unictype/gen-ctype (Depends-on): Likewise.
25654         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
25655
25656 2008-11-02  Bruno Haible  <bruno@clisp.org>
25657
25658         Mark 'strcspn' obsolete.
25659         * modules/strcspn (Status, Notice): New sections.
25660
25661 2008-11-02  Bruno Haible  <bruno@clisp.org>
25662
25663         Mark 'rmdir' obsolete.
25664         * modules/rmdir (Status, Notice): New sections.
25665         * modules/clean-temp (Depends-on): Add rmdir.
25666         * modules/openat (Depends-on): Likewise.
25667
25668 2008-11-02  Bruno Haible  <bruno@clisp.org>
25669
25670         Mark 'raise' obsolete.
25671         * modules/raise (Status, Notice): New sections.
25672         (Include): Specify <signal.h>.
25673         * modules/stdio (Depends-on): Add raise.
25674         * modules/write (Depends-on): Likewise.
25675
25676 2008-11-02  Bruno Haible  <bruno@clisp.org>
25677
25678         Mark 'memset' obsolete.
25679         * modules/memset (Status, Notice): New sections.
25680
25681 2008-11-02  Bruno Haible  <bruno@clisp.org>
25682
25683         Mark 'memmove' obsolete.
25684         * modules/memmove (Status, Notice): New sections.
25685         * modules/argp (Depends-on): Add memmove.
25686         * modules/argz (Depends-on): Likewise.
25687         * modules/canonicalize (Depends-on): Likewise.
25688         * modules/canonicalize-lgpl (Depends-on): Likewise.
25689         * modules/fts (Depends-on): Likewise.
25690         * modules/getcwd (Depends-on): Likewise.
25691         * modules/human (Depends-on): Likewise.
25692         * modules/regex (Depends-on): Likewise.
25693         * modules/striconveh (Depends-on): Likewise.
25694         * modules/trim (Depends-on): Likewise.
25695         * modules/unistr/u8-move (Depends-on): Likewise.
25696         * modules/unistr/u16-move (Depends-on): Likewise.
25697         * modules/unistr/u32-move (Depends-on): Likewise.
25698
25699 2008-11-02  Bruno Haible  <bruno@clisp.org>
25700
25701         Mark 'memcpy' obsolete.
25702         * modules/memcpy (Status, Notice): New sections.
25703
25704 2008-11-02  Bruno Haible  <bruno@clisp.org>
25705
25706         Mark 'memcmp' obsolete.
25707         * modules/memcmp (Status, Notice): New sections.
25708         * modules/argmatch (Depends-on): Add memchr.
25709         * modules/backupfile (Depends-on): Likewise.
25710         * modules/c-strcasestr (Depends-on): Likewise.
25711         * modules/crypto/des (Depends-on): Likewise.
25712         * modules/csharpcomp (Depends-on): Likewise.
25713         * modules/fnmatch (Depends-on): Likewise.
25714         * modules/git-merge-changelog (Depends-on): Likewise.
25715         * modules/isnand (Depends-on): Likewise.
25716         * modules/isnand-nolibm (Depends-on): Likewise.
25717         * modules/isnanf (Depends-on): Likewise.
25718         * modules/isnanf-nolibm (Depends-on): Likewise.
25719         * modules/isnanl (Depends-on): Likewise.
25720         * modules/isnanl-nolibm (Depends-on): Likewise.
25721         * modules/mbchar (Depends-on): Likewise.
25722         * modules/memcoll (Depends-on): Likewise.
25723         * modules/quotearg (Depends-on): Likewise.
25724         * modules/regex (Depends-on): Likewise.
25725         * modules/relocatable-prog (Depends-on): Likewise.
25726         * modules/same (Depends-on): Likewise.
25727         * modules/signbit (Depends-on): Likewise.
25728         * modules/strcasestr-simple (Depends-on): Likewise.
25729         * modules/unictype/gen-ctype (Depends-on): Likewise.
25730         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
25731         * modules/uniname/uniname (Depends-on): Likewise.
25732         * modules/unistr/u8-cmp (Depends-on): Likewise.
25733
25734 2008-11-02  Bruno Haible  <bruno@clisp.org>
25735
25736         Mark 'memchr' obsolete.
25737         * modules/memchr (Status, Notice): New sections.
25738         * modules/argp (Depends-on): Add memchr.
25739         * modules/base64 (Depends-on): Likewise.
25740         * modules/c-strcasestr (Depends-on): Likewise.
25741         * modules/chdir-long (Depends-on): Likewise.
25742         * modules/fnmatch (Depends-on): Likewise.
25743         * modules/getsubopt (Depends-on): Likewise.
25744         * modules/git-merge-changelog (Depends-on): Likewise.
25745         * modules/glob (Depends-on): Likewise.
25746         * modules/strcasestr-simple (Depends-on): Likewise.
25747         * modules/strnlen (Depends-on): Likewise.
25748
25749 2008-11-02  Bruno Haible  <bruno@clisp.org>
25750
25751         Mark 'atexit' obsolete.
25752         * modules/atexit (Status, Notice): New sections.
25753         * modules/chdir-long (Depends-on): Add atexit.
25754         * modules/wait-process (Depends-on): Likewise.
25755
25756 2008-11-02  Bruno Haible  <bruno@clisp.org>
25757
25758         * gnulib-tool: New option --with-obsolete.
25759         (func_usage): Document it.
25760         (func_modules_transitive_closure): Drop obsolete dependencies if
25761         incobsolete is not true.
25762         (func_import): Read and save the incobsolete variable to the cache.
25763
25764 2008-11-02  Bruno Haible  <bruno@clisp.org>
25765
25766         * modules/TEMPLATE-EXTENDED: New field 'Status'.
25767         * gnulib-tool: New option --extract-status.
25768         (func_usage): Document it.
25769         (sed_extract_prog): Recognize it.
25770         (func_get_status): New function.
25771
25772 2008-10-30  Simon Josefsson  <simon@josefsson.org>
25773
25774         * modules/sockets (License): Change from LGPL to LGPLv2+.
25775
25776 2008-10-28  Simon Josefsson  <simon@josefsson.org>
25777
25778         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
25779
25780 2008-10-28  Simon Josefsson  <simon@josefsson.org>
25781
25782         * MODULES.html.sh (Support for systems lacking POSIX:2001):
25783         Mention times and sys_times.
25784         * modules/sys_times, modules/sys_times-tests: New modules.
25785         * modules/times, modules/times-tests: Likewise
25786         * m4/sys_times_h.m4: New file.
25787         * lib/sys_times.in.h: Likewise
25788         * lib/times.c: Likewise.
25789         * tests/test-sys_times.c: Likewise.
25790         * tests/test-times.c: Likewise.
25791         * doc/posix-headers/sys_times.texi: Update.
25792         * doc/posix-functions/times.texi: Update.
25793
25794 2008-10-28  Jim Meyering  <meyering@redhat.com>
25795
25796         * modules/tempname (Depends-on): Add lstat.
25797
25798         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
25799
25800 2008-10-28  Simon Josefsson  <simon@josefsson.org>
25801
25802         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
25803         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
25804         using idiom used elsewhere in gnulib.
25805
25806 2008-10-27  Jim Meyering  <meyering@redhat.com>
25807
25808         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
25809
25810 2008-10-27  Simon Josefsson  <simon@josefsson.org>
25811
25812         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
25813         TESTS_ENVIRONMENT, for shell scripts that needs to call built
25814         programs.
25815         * tests/test-argp-2.sh: Use $EXEEXT when needed.
25816
25817 2008-10-27  Simon Josefsson  <simon@josefsson.org>
25818
25819         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
25820
25821 2008-10-27  Bruno Haible  <bruno@clisp.org>
25822
25823         * tests/test-lstat.c: Include <stdio.h>.
25824
25825 2008-10-27  Simon Josefsson  <simon@josefsson.org>
25826
25827         * modules/lstat-tests: New module.
25828         * tests/test-lstat.c: New file.
25829
25830 2008-10-26  Jim Meyering  <meyering@redhat.com>
25831
25832         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
25833
25834 2008-10-26  Simon Josefsson  <simon@josefsson.org>
25835             Bruno Haible  <bruno@clisp.org>
25836
25837         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
25838         * modules/configmake (Include): Add a note that the include must come
25839         after all system headers.
25840         * lib/javaversion.c: Include configmake.h after all other includes.
25841
25842 2008-10-26  Bruno Haible  <bruno@clisp.org>
25843
25844         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
25845         HAVE_STRUCT_RANDOM_DATA to 1.
25846         (gl_STDLIB_H): Simplify.
25847
25848 2008-10-26  Simon Josefsson  <simon@josefsson.org>
25849
25850         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
25851         substitute HAVE_STRUCT_RANDOM_DATA.
25852         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
25853         random_data.
25854         * modules/stdlib (Makefile.am): Substitute
25855         HAVE_STRUCT_RANDOM_DATA.
25856
25857 2008-10-26  Simon Josefsson  <simon@josefsson.org>
25858
25859         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
25860         * doc/gnulib-intro.texi (Copyright): Likewise.
25861
25862 2008-10-26  Simon Josefsson  <simon@josefsson.org>
25863
25864         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
25865         findings.
25866
25867 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
25868             Bruno Haible  <bruno@clisp.org>
25869
25870         * lib/unistd.in.h: Include <winsock2.h>.
25871         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
25872         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
25873         Provide dummy declarations.
25874         (gethostname): Override.
25875         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
25876         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
25877         gl_PREREQ_SYS_H_WINSOCK2.
25878         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
25879         * doc/posix-functions/gethostname.texi: More details.
25880
25881 2008-10-25  Bruno Haible  <bruno@clisp.org>
25882
25883         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
25884         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
25885         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
25886
25887         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
25888         here ...
25889         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
25890         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
25891         gl_UNISTD_H_DEFAULTS.
25892
25893 2008-10-25  Eric Blake  <ebb9@byu.net>
25894
25895         signbit: avoid spurious compiler failure
25896         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
25897         declarations inside function.
25898
25899 2008-10-24  Simon Josefsson  <simon@josefsson.org>
25900             Bruno Haible  <bruno@clisp.org>
25901
25902         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
25903         * modules/random_r (Depends-on): Add stdint.
25904
25905 2008-10-24  Bruno Haible  <bruno@clisp.org>
25906
25907         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
25908         Eggert.
25909         * modules/strerror (License): Likewise.
25910
25911 2008-10-24  Jim Meyering  <meyering@redhat.com>
25912
25913         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
25914         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
25915
25916 2008-10-24  Eric Blake  <ebb9@byu.net>
25917
25918         getgroups: fix compilation when getgroups is available
25919         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
25920         but with <config.h> override of getgroups disabled.
25921
25922 2008-10-24  Simon Josefsson  <simon@josefsson.org>
25923
25924         * doc/gnulib.texi (Header files): Add note about C++ problems.
25925         Explained by Bruno Haible <bruno@clisp.org>.
25926
25927 2008-10-23  Bruno Haible  <bruno@clisp.org>
25928
25929         Define a dummy SA_NODEFER macro on Interix.
25930         * lib/signal.in.h (SA_NODEFER): Define fallback.
25931         Reported by Aleksey Cheusov <cheusov@tut.by> via
25932         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
25933
25934 2008-10-23  Bruno Haible  <bruno@clisp.org>
25935
25936         * modules/freadahead (License): Change to LGPLv2+.
25937         Suggested by Simon Josefsson.
25938
25939 2008-10-23  Jim Meyering  <meyering@redhat.com>
25940
25941         random_r: new module
25942         * modules/random_r: New file.
25943         * m4/random_r.m4: New file.
25944         * lib/random_r.c: New file, from glibc.
25945         * modules/random_r-tests: New file.
25946         * tests/test-random_r.c: New file.
25947         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
25948          Declare.
25949         (RAND_MAX): Define.
25950         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
25951         * modules/stdlib: Substitute them, too.
25952         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
25953         * doc/glibc-functions/initstate_r.texi: Mention the new module.
25954         * doc/glibc-functions/random_r.texi: Likewise.
25955         * doc/glibc-functions/setstate_r.texi: Likewise.
25956         * doc/glibc-functions/srandom_r.texi: Likewise.
25957         * config/srclist.txt: Mention it.
25958
25959 2008-10-23  David Lutterkort  <lutter@redhat.com>
25960
25961         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
25962         link requirement
25963
25964 2008-10-23  Jim Meyering  <meyering@redhat.com>
25965
25966         selinux-h: mark parameters of stub functions as intentionally unused
25967         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
25968         * lib/se-context.in.h: Likewise.
25969
25970 2008-10-22  Simon Josefsson  <simon@josefsson.org>
25971
25972         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
25973
25974 2008-10-22  Simon Josefsson  <simon@josefsson.org>
25975
25976         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
25977
25978 2008-10-22  Eric Blake  <ebb9@byu.net>
25979
25980         glthread/thread: avoid compiler warning
25981         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
25982         Add unreachable abort to silence compiler.
25983
25984 2008-10-22  Eric Blake  <ebb9@byu.net>
25985
25986         netdb: also supply struct addrinfo for cygwin 1.5.x
25987         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
25988         older cygwin.
25989         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
25990         cygwin.
25991         * doc/posix-headers/netdb.texi (netdb.h): Document this.
25992
25993 2008-10-22  Bruno Haible  <bruno@clisp.org>
25994
25995         * users.txt: Update entry about pspp.
25996
25997 2008-10-21  Bruno Haible  <bruno@clisp.org>
25998
25999         Simplification.
26000         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
26001         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
26002
26003         Simplification.
26004         * lib/ioctl.c (ioctl): Don't undefine.
26005         * lib/socket.c (socket): Don't undefine.
26006
26007         Remove unused module indicator macros.
26008         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
26009         GNULIB_$1 as a C macro.
26010
26011         * doc/posix-functions/close.texi: Undo last change.
26012         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
26013         Windows platforms.
26014
26015 2008-10-21  Bruno Haible  <bruno@clisp.org>
26016
26017         Add gethostname() declaration to <unistd.h>.
26018         * lib/unistd.in.h (gethostname): New declaration.
26019         * lib/gethostname.c: Include <unistd.h>.
26020         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
26021         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
26022         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
26023         and HAVE_GETHOSTNAME.
26024         * modules/gethostname (Depends-on): Add unistd.
26025         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26026         (Include): Specify <unistd.h>.
26027         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
26028         HAVE_GETHOSTNAME.
26029         * tests/test-gethostname.c: Include <unistd.h> first.
26030
26031 2008-10-21  Bruno Haible  <bruno@clisp.org>
26032
26033         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
26034         * modules/select-tests (Depends-on): Likewise.
26035         Reported by Simon Josefsson.
26036
26037 2008-10-21  Simon Josefsson  <simon@josefsson.org>
26038
26039         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
26040         * lib/accept.c: New file, based on winsock.c.
26041         * lib/bind.c: New file, based on winsock.c.
26042         * lib/connect.c: New file, based on winsock.c.
26043         * lib/getpeername.c: New file, based on winsock.c.
26044         * lib/getsockname.c: New file, based on winsock.c.
26045         * lib/getsockopt.c: New file, based on winsock.c.
26046         * lib/ioctl.c: New file, based on winsock.c.
26047         * lib/listen.c: New file, based on winsock.c.
26048         * lib/recv.c: New file, based on winsock.c.
26049         * lib/recvfrom.c: New file, based on winsock.c.
26050         * lib/send.c: New file, based on winsock.c.
26051         * lib/sendto.c: New file, based on winsock.c.
26052         * lib/setsockopt.c: New file, based on winsock.c.
26053         * lib/shutdown.c: New file, based on winsock.c.
26054         * lib/socket.c: New file, based on winsock.c.
26055         * lib/w32sock.h: New file, based on winsock.c.
26056         * lib/winsock.c: Remove file.
26057         * modules/accept: Likewise.
26058         * modules/bind: Likewise.
26059         * modules/connect: Likewise.
26060         * modules/getpeername: Likewise.
26061         * modules/getsockname: Likewise.
26062         * modules/getsockopt: Likewise.
26063         * modules/ioctl: Likewise.
26064         * modules/listen: Likewise.
26065         * modules/recv: Likewise.
26066         * modules/recvfrom: Likewise.
26067         * modules/send: Likewise.
26068         * modules/sendto: Likewise.
26069         * modules/setsockopt: Likewise.
26070         * modules/shutdown: Likewise.
26071         * modules/socket: Use socket.c instead of winsock.c.
26072         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
26073         * doc/posix-functions/accept.texi: Doc fix.
26074         * doc/posix-functions/bind.texi: Doc fix.
26075         * doc/posix-functions/close.texi: Doc fix.
26076         * doc/posix-functions/connect.texi: Doc fix.
26077         * doc/posix-functions/getpeername.texi: Doc fix.
26078         * doc/posix-functions/getsockname.texi: Doc fix.
26079         * doc/posix-functions/getsockopt.texi: Doc fix.
26080         * doc/posix-functions/ioctl.texi: Doc fix.
26081         * doc/posix-functions/listen.texi: Doc fix.
26082         * doc/posix-functions/recv.texi: Doc fix.
26083         * doc/posix-functions/recvfrom.texi: Doc fix.
26084         * doc/posix-functions/send.texi: Doc fix.
26085         * doc/posix-functions/sendto.texi: Doc fix.
26086         * doc/posix-functions/setsockopt.texi: Doc fix.
26087         * doc/posix-functions/shutdown.texi: Doc fix.
26088         * doc/posix-functions/socket.texi: Doc fix.
26089
26090 2008-10-20  Bruno Haible  <bruno@clisp.org>
26091
26092         Take into account the role of SIGABRT_COMPAT on Windows 2008.
26093         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
26094         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
26095         as an alias for SIGABRT.
26096         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
26097         (sigaction): Map it to SIGABRT.
26098         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
26099
26100 2008-10-20  Bruno Haible  <bruno@clisp.org>
26101
26102         * lib/fts.c: Don't include lstat.h.
26103         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
26104
26105         Move the lstat() declaration to <sys/stat.h>.
26106         * lib/lstat.h: Remove file.
26107         * lib/sys_stat.in.h: Add special invocation convention.
26108         (lstat): New declaration.
26109         * lib/lstat.c (orig_lstat): New function.
26110         (rpl_lstat): Use orig_lstat instead of lstat.
26111         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
26112         AC_C_INLINE. Set REPLACE_LSTAT.
26113         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
26114         and REPLACE_LSTAT.
26115         * modules/lstat (Files): Remove lib/lstat.h.
26116         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
26117         (Include): Specify <sys/stat.h> instead of lstat.h.
26118         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
26119         REPLACE_LSTAT.
26120         * NEWS: Mention the change.
26121
26122 2008-10-20  Bruno Haible  <bruno@clisp.org>
26123
26124         * modules/posix_spawn-tests: New file.
26125         * tests/test-posix_spawn3.c: New file.
26126
26127 2008-10-20  Bruno Haible  <bruno@clisp.org>
26128
26129         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
26130         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
26131         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
26132         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
26133         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
26134
26135 2008-10-20  Bruno Haible  <bruno@clisp.org>
26136
26137         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
26138         of posix_spawn on AIX 5.3.
26139
26140 2008-10-20  Bruno Haible  <bruno@clisp.org>
26141
26142         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
26143
26144 2008-10-20  Bruno Haible  <bruno@clisp.org>
26145
26146         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
26147         of AC_LANG_PROGRAM.
26148
26149 2008-10-20  Simon Josefsson  <simon@josefsson.org>
26150
26151         * lib/netdb.in.h: Don't define GNU specific constants until they
26152         are supported or needed.  Reported by Bruno Haible
26153         <bruno@clisp.org>.
26154
26155 2008-10-20  Simon Josefsson  <simon@josefsson.org>
26156
26157         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
26158
26159 2008-10-20  Simon Josefsson  <simon@josefsson.org>
26160
26161         * lib/getaddrinfo.h: Remove file.
26162         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
26163         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
26164         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
26165         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
26166         * modules/netdb: Substitute GNULIB_GETADDRINFO.
26167         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
26168         * tests/test-getaddrinfo.c: Likewise.
26169         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
26170         * NEWS: Mention change.
26171
26172 2008-10-19  Bruno Haible  <bruno@clisp.org>
26173
26174         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
26175
26176 2008-10-19  Bruno Haible  <bruno@clisp.org>
26177
26178         * lib/wait-process.c: Include simply <sys/wait.h>.
26179         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
26180         WIFSTOPPED): Remove fallback definitions.
26181         * modules/wait-process (Depends-on): Add sys_wait.
26182
26183         New module 'sys_wait'.
26184         * modules/sys_wait: New file.
26185         * lib/sys_wait.in.h: New file, partially copied from
26186         lib/wait-process.c.
26187         * m4/sys_wait_h.m4: New file.
26188         * doc/posix-headers/sys_wait.texi: Mention the new module.
26189
26190 2008-10-19  Bruno Haible  <bruno@clisp.org>
26191
26192         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
26193
26194 2008-10-19  Bruno Haible  <bruno@clisp.org>
26195
26196         Assume that waitpid() fills an 'int' status, not a 'union wait'.
26197         * lib/wait-process.c (WAIT_T): Remove type.
26198         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
26199         (wait_subprocess): Update.
26200
26201 2008-10-19  Bruno Haible  <bruno@clisp.org>
26202
26203         New module 'atoll'.
26204         * modules/atoll: New file.
26205         * lib/stdlib.in.h (atoll): New declaration.
26206         * lib/atoll.c: New file, from glibc with modifications.
26207         * m4/atoll.m4: New file.
26208         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
26209         HAVE_ATOLL.
26210         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
26211         * doc/posix-functions/atoll.texi: Mention the new module.
26212
26213 2008-10-19  Bruno Haible  <bruno@clisp.org>
26214
26215         Add strtoull() declaration to <stdlib.h>.
26216         * lib/stdlib.in.h (strtoull): New declaration.
26217         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
26218         Set HAVE_STRTOULL.
26219         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
26220         HAVE_STRTOULL.
26221         * modules/strtoull (Depends-on): Add stdlib.
26222         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26223         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
26224         HAVE_STRTOULL.
26225
26226 2008-10-19  Bruno Haible  <bruno@clisp.org>
26227
26228         Add strtoll() declaration to <stdlib.h>.
26229         * lib/stdlib.in.h (strtoll): New declaration.
26230         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
26231         Set HAVE_STRTOLL.
26232         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
26233         HAVE_STRTOLL.
26234         * modules/strtoll (Depends-on): Add stdlib.
26235         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26236         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
26237
26238 2008-10-19  Bruno Haible  <bruno@clisp.org>
26239
26240         * modules/bcopy (Depends-on): Add strings.
26241         (Include): Specify <strings.h>.
26242
26243 2008-10-19  Bruno Haible  <bruno@clisp.org>
26244
26245         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
26246
26247 2008-10-19  Bruno Haible  <bruno@clisp.org>
26248
26249         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
26250         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
26251         mingw.
26252
26253 2008-10-19  Bruno Haible  <bruno@clisp.org>
26254
26255         * lib/atanl.c: Don't include isnanl.h.
26256         * lib/cosl.c: Likewise.
26257         * lib/ldexpl.c: Likewise.
26258         * lib/logl.c: Likewise.
26259         * lib/sinl.c: Likewise.
26260         * lib/sqrtl.c: Likewise.
26261         * lib/tanl.c: Likewise.
26262
26263         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
26264         * lib/isnanf.h: Remove file.
26265         * lib/isnand.h: Remove file.
26266         * lib/isnanl.h: Remove file.
26267         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
26268         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
26269         macros.
26270         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
26271         HAVE_ISNANF, don't define it as a C macro.
26272         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
26273         HAVE_ISNAND, don't define it as a C macro.
26274         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
26275         HAVE_ISNANL, don't define it as a C macro.
26276         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
26277         HAVE_ISNAN[FDL].
26278         * modules/isnanf (Files): Remove lib/isnanf.h.
26279         (Depends-on): Add math.
26280         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26281         (Include): Specify <math.h> instead of isnanf.h.
26282         * modules/isnand (Files): Remove lib/isnand.h.
26283         (Depends-on): Add math.
26284         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26285         (Include): Specify <math.h> instead of isnand.h.
26286         * modules/isnanl (Files): Remove lib/isnanl.h.
26287         (Depends-on): Add math.
26288         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
26289         (Include): Specify <math.h> instead of isnanl.h.
26290         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
26291         HAVE_ISNAN[FDL].
26292         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
26293         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
26294         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
26295         * NEWS: Mention the change.
26296
26297 2008-10-18  Bruno Haible  <bruno@clisp.org>
26298
26299         Add getusershell(), setusershell(), endusershell() declarations to
26300         <unistd.h>.
26301         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
26302         declarations.
26303         * lib/getusershell.c: Include unistd.h.
26304         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
26305         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
26306         HAVE_GETUSERSHELL.
26307         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
26308         and HAVE_GETUSERSHELL.
26309         * modules/getusershell (Depends-on): Add unistd, extensions.
26310         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26311         (Include): Specify <unistd.h>.
26312         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
26313         HAVE_GETUSERSHELL.
26314
26315 2008-10-18  Bruno Haible  <bruno@clisp.org>
26316
26317         Add a getloadavg() declaration to <stdlib.h>.
26318         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
26319         getloadavg declaration.
26320         (getloadavg): New declaration.
26321         * lib/getloadavg.c: Include <stdlib.h> first.
26322         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
26323         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
26324         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
26325         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
26326         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
26327         * modules/getloadavg (Depends-on): Add stdlib, extensions.
26328         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
26329         (Include): Specify <stdlib.h>.
26330         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
26331         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
26332
26333 2008-10-18  Bruno Haible  <bruno@clisp.org>
26334
26335         * lib/dirchownmod.c: Don't include lchmod.h.
26336
26337         Move the lchmod() declaration to <sys/stat.h>.
26338         * lib/lchmod.h: Remove file.
26339         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
26340         (lchmod): New declaration, moved here from lib/lchown.h.
26341         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
26342         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
26343         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
26344         and HAVE_LCHMOD.
26345         * modules/lchmod (Files): Remove lib/lchmod.h.
26346         (Depends-on): Add sys_stat, extensions.
26347         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
26348         (Include): Specify <sys/stat.h> instead of lchmod.h.
26349         * modules/sys_stat (Depends-on): Add link-warning.
26350         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
26351         definition of GL_LINK_WARNING.
26352         * NEWS: Mention the change.
26353
26354 2008-10-18  Bruno Haible  <bruno@clisp.org>
26355
26356         * lib/fchdir.c: Don't include dirfd.h.
26357         * lib/fts.c: Likewise.
26358         * lib/getcwd.c: Likewise.
26359         * lib/glob.c: Likewise.
26360
26361         Move the dirfd() declaration to <dirent.h>.
26362         * lib/dirfd.h: Remove file.
26363         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
26364         (dirfd): New declaration.
26365         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
26366         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
26367         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
26368         HAVE_DECL_DIRFD.
26369         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
26370         HAVE_DECL_DIRFD.
26371         * modules/dirfd (Files): Remove lib/dirfd.h.
26372         (Depends-on): Add dirent, extensions.
26373         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
26374         (Include): Specify <dirent.h> instead of dirfd.h.
26375         * modules/dirent (Depends-on): Add link-warning.
26376         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
26377         definition of GL_LINK_WARNING.
26378         * NEWS: Mention the change.
26379
26380 2008-10-18  Bruno Haible  <bruno@clisp.org>
26381
26382         Move the euidaccess() declaration to <unistd.h>.
26383         * lib/euidaccess.h: Remove file.
26384         * lib/unistd.in.h (euidaccess): New declaration.
26385         * lib/euidaccess.c: Don't include euidaccess.h.
26386         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
26387         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
26388         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
26389         and HAVE_EUIDACCESS.
26390         * modules/euidaccess (Files): Remove lib/euidaccess.h.
26391         (Depends-on): Add unistd.
26392         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26393         (Include): Specify <unistd.h> instead of euidaccess.h.
26394         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
26395         HAVE_EUIDACCESS.
26396         * NEWS: Mention the change.
26397
26398 2008-10-18  Bruno Haible  <bruno@clisp.org>
26399
26400         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
26401
26402         Move the getdomainname() declaration to <unistd.h>.
26403         * lib/getdomainname.h: Remove file.
26404         * lib/unistd.in.h (getdomainname): New declaration.
26405         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
26406         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
26407         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
26408         HAVE_GETDOMAINNAME.
26409         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26410         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
26411         * modules/getdomainname (Files): Remove lib/getdomainname.h.
26412         (Depends-on): Add unistd, extensions.
26413         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
26414         (Includes): Specify <unistd.h> instead of getdomainname.h.
26415         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
26416         HAVE_GETDOMAINNAME.
26417         * NEWS: Mention the change.
26418
26419 2008-10-18  Bruno Haible  <bruno@clisp.org>
26420
26421         * modules/dirent: New file.
26422         * m4/dirent_h.m4: New file.
26423         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
26424         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
26425         * modules/fchdir (Files): Remove lib/dirent.in.h.
26426         (Depends-on): Add dirent.
26427         (Makefile.am): Move rules to modules/dirent.
26428         * doc/posix-headers/dirent.texi: Mention the new module.
26429
26430 2008-10-18  Bruno Haible  <bruno@clisp.org>
26431
26432         Avoid -Wunused-parameter warnings in public gnulib header files.
26433         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
26434         macro.
26435         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
26436
26437 2008-10-18  Bruno Haible  <bruno@clisp.org>
26438
26439         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
26440         * doc/glibc-functions/error.texi: Mention the module 'error'.
26441         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
26442         * doc/glibc-functions/getdomainname.texi: Mention the module
26443         'getdomainname'.
26444         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
26445         * doc/glibc-functions/getpagesize.texi: Mention the module
26446         'getpagesize'.
26447         * doc/glibc-functions/getusershell.texi: Mention the module
26448         'getusershell'.
26449         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
26450         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
26451         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
26452         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
26453         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
26454         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
26455         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
26456         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
26457         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
26458         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
26459         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
26460         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
26461         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
26462         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
26463
26464 2008-10-17  Bruno Haible  <bruno@clisp.org>
26465
26466         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
26467         HP-UX and IRIX, use -0.0L.
26468         * tests/test-ceill.c (minus_zero): Likewise.
26469         * tests/test-floorl.c (minus_zero): Likewise.
26470         * tests/test-frexpl.c (minus_zero): Likewise.
26471         * tests/test-isnan.c (minus_zerol): Likewise.
26472         * tests/test-isnanl.h (minus_zero): Likewise.
26473         * tests/test-ldexpl.c (minus_zero): Likewise.
26474         * tests/test-roundl.c (minus_zero): Likewise.
26475         * tests/test-signbit.c (minus_zerol): Likewise.
26476         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
26477         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
26478         * tests/test-truncl.c (minus_zero): Likewise.
26479         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
26480         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
26481         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
26482         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
26483
26484 2008-10-17  Bruno Haible  <bruno@clisp.org>
26485
26486         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
26487         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
26488         that it gets activated only for gcc >= 3.0.
26489         * lib/dirent.in.h: Likewise.
26490         * lib/errno.in.h: Likewise.
26491         * lib/fcntl.in.h: Likewise.
26492         * lib/float.in.h: Likewise.
26493         * lib/iconv.in.h: Likewise.
26494         * lib/inttypes.in.h: Likewise.
26495         * lib/locale.in.h: Likewise.
26496         * lib/math.in.h: Likewise.
26497         * lib/netdb.in.h: Likewise.
26498         * lib/netinet_in.in.h: Likewise.
26499         * lib/search.in.h: Likewise.
26500         * lib/signal.in.h: Likewise.
26501         * lib/spawn.in.h: Likewise.
26502         * lib/stdarg.in.h: Likewise.
26503         * lib/stdint.in.h: Likewise.
26504         * lib/stdio.in.h: Likewise.
26505         * lib/stdlib.in.h: Likewise.
26506         * lib/string.in.h: Likewise.
26507         * lib/strings.in.h: Likewise.
26508         * lib/sys_file.in.h: Likewise.
26509         * lib/sys_ioctl.in.h: Likewise.
26510         * lib/sys_select.in.h: Likewise.
26511         * lib/sys_socket.in.h: Likewise.
26512         * lib/sys_stat.in.h: Likewise.
26513         * lib/sys_time.in.h: Likewise.
26514         * lib/sysexits.in.h: Likewise.
26515         * lib/time.in.h: Likewise.
26516         * lib/unistd.in.h: Likewise.
26517         * lib/wchar.in.h: Likewise.
26518         * lib/wctype.in.h: Likewise.
26519         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
26520
26521 2008-10-17  Jim Meyering  <meyering@redhat.com>
26522
26523         ignore-value: don't depend on inline module
26524         * modules/ignore-value (Depends-on): Remove 'inline'.
26525         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
26526         Suggestion from Bruno Haible.
26527
26528 2008-10-17  Bruno Haible  <bruno@clisp.org>
26529
26530         New implementation of condition variables for Win32.
26531         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
26532         (gl_linked_waitqueue_t): New type.
26533         (gl_cond_t): Use it.
26534         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
26535         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
26536         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
26537         (glthread_cond_init_func, glthread_cond_wait_func,
26538         glthread_cond_timedwait_func, glthread_cond_signal_func,
26539         glthread_cond_broadcast_func, glthread_cond_destroy_func):
26540         Reimplemented on the basis of gl_linked_waitqueue_t.
26541         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
26542         gl_waitqueue_t.
26543         (gl_rwlock_t): Update.
26544         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
26545
26546 2008-10-17  Simon Josefsson  <simon@josefsson.org>
26547
26548         * modules/recvfrom (Depends-on): Add dependency on getpeername.
26549         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
26550
26551 2008-10-17  Jim Meyering  <meyering@redhat.com>
26552
26553         ignore-value: new module
26554         * modules/ignore-value: New file.
26555         * lib/ignore-value.h: New file.
26556         * MODULES.html.sh (Compiler warning management): New section,
26557         just for this module.  More to come.
26558
26559 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
26560
26561         open-safer.c: avoid 'signed and unsigned in conditional...' warning
26562         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
26563         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
26564
26565 2008-10-16  Jim Meyering  <meyering@redhat.com>
26566
26567         openat-die.c: avoid 'no previous prototype' warning
26568         * lib/openat-die.c: Include "openat.h".
26569         Reported by Reuben Thomas <rrt@sc3d.org>.
26570
26571 2008-10-16  Simon Josefsson  <simon@josefsson.org>
26572
26573         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
26574         * lib/netdb.in.h: Fix typo.
26575         Reported by Bruno Haible  <bruno@clisp.org>
26576
26577         * lib/netdb.in.h: Include sys/socket.h for platforms without
26578         netdb.h, to get structures like hostent on MinGW.
26579         * modules/netdb (Depends-on): Add sys_socket.
26580
26581 2008-10-15  Simon Josefsson  <simon@josefsson.org>
26582
26583         * modules/netdb, modules/netdb-tests: New file.
26584         * m4/netdb_h.m4: New file.
26585         * lib/netdb.in.h: Add, currently just an empty file pending
26586         definitions.
26587         * tests/test-netdb.c: New file.
26588         * doc/posix-headers/netdb.texi: Mention that we replace it if
26589         needed.
26590         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
26591         netdb.
26592
26593 2008-10-15  Simon Josefsson  <simon@josefsson.org>
26594
26595         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
26596         with code.
26597
26598 2008-10-13  Bruno Haible  <bruno@clisp.org>
26599
26600         * lib/glthread/cond.c (glthread_cond_wait_func,
26601         glthread_cond_timedwait_func): Add a comment.
26602
26603 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26604
26605         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
26606         * tests/test-select.c: Likewise,
26607
26608 2008-10-13  Bruno Haible  <bruno@clisp.org>
26609
26610         * lib/glthread/cond.c (glthread_cond_wait_func,
26611         glthread_cond_timedwait_func): Fix variable name.
26612         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
26613
26614 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
26615
26616         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
26617         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
26618         struct sockaddr.sa_len.
26619         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
26620
26621 2008-10-13  Simon Josefsson  <simon@josefsson.org>
26622
26623         * build-aux/pmccabe2html: Add css and css_url parameters.
26624
26625 2008-10-12  Bruno Haible  <bruno@clisp.org>
26626
26627         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
26628         calling aclx_get.
26629         Reported by Rainer Tammer <tammer@tammer.net>.
26630
26631 2008-10-12  Bruno Haible  <bruno@clisp.org>
26632
26633         Use msvcrt aware primitives for creation/termination of Win32 threads.
26634         * lib/glthread/thread.c: Include <process.h>.
26635         (glthread_create_func): Use _beginthreadex instead of CreateThread.
26636         (wrapper_func): Update signature.
26637         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
26638
26639 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
26640             Bruno Haible  <bruno@clisp.org>
26641
26642         Provide a Win32 implementation of the 'cond' module.
26643         * lib/glthread/cond.h [USE_WIN32]: New implementation.
26644         * lib/glthread/cond.c (glthread_cond_init_func,
26645         glthread_cond_wait_func, glthread_cond_timedwait_func,
26646         glthread_cond_signal_func, glthread_cond_broadcast_func,
26647         glthread_cond_destroy_func) [USE_WIN32]: New functions.
26648         * modules/cond (Dependencies): Add gettimeofday.
26649
26650 2008-10-11  Bruno Haible  <bruno@clisp.org>
26651
26652         Make sleep work on older versions of mingw.
26653         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
26654         only whether it exists.
26655         * doc/posix-functions/sleep.texi: Mention the problem with older
26656         versions of mingw.
26657
26658 2008-10-11  Bruno Haible  <bruno@clisp.org>
26659
26660         New module 'shutdown'.
26661         * modules/shutdown: New file.
26662         * lib/sys_socket.in.h (shutdown): New declaration.
26663         * lib/winsock.c (shutdown): New function.
26664         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
26665         GNULIB_SHUTDOWN.
26666         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
26667         * doc/posix-functions/shutdown.texi: Document the new module.
26668
26669 2008-10-11  Jim Meyering  <meyering@redhat.com>
26670
26671         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
26672
26673 2008-10-11  Bruno Haible  <bruno@clisp.org>
26674
26675         New module 'fclose'.
26676         * modules/fclose: New file.
26677         * lib/stdio.in.h (fclose): New declaration.
26678         * lib/fclose.c: New file.
26679         * m4/fclose.m4: New file.
26680         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
26681         REPLACE_FCLOSE.
26682         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
26683         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
26684         REPLACE_FCLOSE.
26685         * modules/close (Depends-on): fclose.
26686         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
26687
26688 2008-10-11  Bruno Haible  <bruno@clisp.org>
26689
26690         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
26691         set errno and don't call _close.
26692
26693 2008-10-10  Bruno Haible  <bruno@clisp.org>
26694
26695         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
26696         ACL, not afterwards. Fixes test failure on Cygwin.
26697
26698 2008-10-09  Ben Pfaff  <blp@gnu.org>
26699
26700         * build-aux/announce-gen: Fix gnulib version related part of usage
26701         message.  Die with a useful error message if no tarballs are
26702         found.
26703
26704 2008-10-10  Jim Meyering  <meyering@redhat.com>
26705
26706         bootstrap: use git's --depth=N option only if it's supported
26707         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
26708         recognize the --depth option.  Reported by Pádraig Brady.
26709
26710 2008-10-09  Bruno Haible  <bruno@clisp.org>
26711
26712         New module 'ioctl'.
26713         * modules/ioctl: New file.
26714         * lib/sys_socket.in.h (ioctl): Remove declaration.
26715         * lib/winsock.c: Include <sys/ioctl.h>.
26716         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
26717         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
26718         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
26719         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
26720         * doc/posix-functions/ioctl.texi: Mention the new module.
26721
26722 2008-10-09  Bruno Haible  <bruno@clisp.org>
26723
26724         New module 'sys_ioctl'.
26725         * lib/sys_ioctl.in.h: New file.
26726         * m4/sys_ioctl_h.m4: New file.
26727         * modules/sys_ioctl: New file.
26728         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
26729
26730 2008-10-09  Bruno Haible  <bruno@clisp.org>
26731
26732         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
26733         * lib/winsock.c: Include <stdarg.h>.
26734         (rpl_ioctl): Change to second argument 'int' and then varargs.
26735
26736 2008-10-09  Bruno Haible  <bruno@clisp.org>
26737
26738         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
26739         when the sys_socket module is present and the system has <winsock2.h>.
26740
26741 2008-10-09  Bruno Haible  <bruno@clisp.org>
26742
26743         * doc/posix-functions/close.texi: Mention module 'close' instead of
26744         module 'sys_socket'.
26745
26746 2008-10-09  Bruno Haible  <bruno@clisp.org>
26747
26748         * doc/glibc-headers/sys_ioctl.texi: New file.
26749         * doc/gnulib.texi: Include it.
26750
26751 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26752             Bruno Haible  <bruno@clisp.org>
26753
26754         Combine the two replacements of 'close'.
26755         * lib/sys_socket.in.h (close): Define to a reminder to include
26756         <unistd.h>.
26757         (_gl_close_fd_maybe_socket): New declaration.
26758         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
26759         * lib/winsock.c (close): Remove undefinition.
26760         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
26761         needed for the gnulib module 'close'.
26762         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
26763         define to an error symbol or to a warning, if suitable.
26764         * lib/close.c: Include <sys/socket.h>.
26765         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
26766         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
26767         UNISTD_H_HAVE_WINSOCK2_H.
26768         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
26769         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
26770         UNISTD_H_HAVE_WINSOCK2_H.
26771         * modules/sys_socket (Files): Add m4/unistd_h.m4.
26772         (configure.ac): Set a module indicator.
26773         (Makefile.am): Substitute GNULIB_CLOSE.
26774         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
26775         * modules/poll-tests (Depends-on): Add close.
26776         * modules/select-tests (Depends-on): Likewise.
26777
26778 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26779             Bruno Haible  <bruno@clisp.org>
26780
26781         New module 'close'.
26782         * modules/close: New file.
26783         * lib/unistd.in.h (close): Move declaration out of the
26784         FCHDIR_REPLACEMENT scope.
26785         (_gl_unregister_fd): New declaration.
26786         * lib/close.c: New file.
26787         * lib/fchdir.c (rpl_close): Remove function.
26788         * m4/close.m4: New file.
26789         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
26790         close.
26791         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
26792         REPLACE_CLOSE.
26793         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
26794         REPLACE_CLOSE.
26795         * modules/fchdir (Depends-on): Add close.
26796
26797 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26798             Bruno Haible  <bruno@clisp.org>
26799
26800         * lib/fcntl.in.h (open): Simplify conditionals.
26801         (_gl_register_fd): New declaration.
26802         * lib/fchdir.c (rpl_open): Remove function.
26803         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
26804         also.
26805         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
26806         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
26807         open.
26808
26809 2008-10-09  Jim Meyering  <meyering@redhat.com>
26810
26811         GNUmakefile: use the more name-space-friendly "_version"
26812         * top/GNUmakefile (_dummy): Update.
26813         (_version): Rename from "version".
26814
26815 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26816             Bruno Haible  <bruno@clisp.org>
26817
26818         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
26819         rpl_close.
26820         (_gl_register_fd): New function, extracted from rpl_open.
26821         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
26822         (rpl_open, rpl_opendir): Use _gl_register_fd.
26823
26824 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
26825
26826         Fix organization of 'open' replacement.
26827         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
26828         (gl_FUNC_OPEN): Use it.
26829         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
26830
26831 2008-10-08  Bruno Haible  <bruno@clisp.org>
26832
26833         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
26834
26835 2008-10-08  Simon Josefsson  <simon@josefsson.org>
26836
26837         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
26838         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
26839         listen).
26840
26841 2008-10-08  Eric Blake  <ebb9@byu.net>
26842
26843         GNUmakefile: add 'make version' target
26844         * top/GNUmakefile (_curr-ver): Split version update rules...
26845         (version): ...into a target.
26846
26847 2008-10-07  Bruno Haible  <bruno@clisp.org>
26848
26849         Use a more portable replacement expression for -0.0L.
26850         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
26851         instead of -0.0L. Fix m4 quotation.
26852
26853         * tests/test-signbit.c: Include <float.h>.
26854         (minus_zero): New variable.
26855         (test_signbitl): Use minus_zero instead of -zero.
26856         * modules/signbit-tests (Depends-on): Add float.
26857
26858         * tests/test-ceill.c: Include <float.h>.
26859         (zero): Remove variable.
26860         (minus_zero): New variable.
26861         (main): Use minus_zero instead of -zero.
26862         * modules/ceill-tests (Depends-on): Add float.
26863
26864         * tests/test-floorl.c: Include <float.h>.
26865         (zero): Remove variable.
26866         (minus_zero): New variable.
26867         (main): Use minus_zero instead of -zero.
26868         * modules/floorl-tests (Depends-on): Add float.
26869
26870         * tests/test-roundl.c: Include <float.h>.
26871         (zero): Remove variable.
26872         (minus_zero): New variable.
26873         (main): Use minus_zero instead of -zero.
26874         * modules/roundl-tests (Depends-on): Add float.
26875
26876         * tests/test-truncl.c: Include <float.h>.
26877         (zero): Remove variable.
26878         (minus_zero): New variable.
26879         (main): Use minus_zero instead of -zero.
26880         * modules/truncl-tests (Depends-on): Add float.
26881
26882         * tests/test-frexpl.c (zero): Remove variable.
26883         (minus_zero): New variable.
26884         (main): Use minus_zero instead of -zero.
26885         * modules/frexpl-tests (Depends-on): Add float.
26886
26887         * tests/test-isnan.c (zerol): Remove variable.
26888         (minus_zerol): New variable.
26889         (test_long_double): Use minus_zerol instead of -zerol.
26890         * modules/isnan-tests (Depends-on): Add float.
26891
26892         * tests/test-isnanl.h (zero): Remove variable.
26893         (minus_zero): New variable.
26894         (main): Use minus_zero instead of -zero.
26895         * modules/isnanl-nolibm-tests (Depends-on): Add float.
26896         * modules/isnanl-tests (Depends-on): Add float.
26897
26898         * tests/test-ldexpl.c (zero): Remove variable.
26899         (minus_zero): New variable.
26900         (main): Use minus_zero instead of -zero.
26901         * modules/ldexpl-tests (Depends-on): Add float.
26902
26903         * tests/test-snprintf-posix.h (zerol): Remove variable.
26904         (minus_zerol): New variable.
26905         (test_function): Use minus_zerol instead of -zerol.
26906         * modules/snprintf-posix-tests (Depends-on): Add float.
26907         * modules/vsnprintf-posix-tests (Depends-on): Add float.
26908
26909         * tests/test-sprintf-posix.h (zerol): Remove variable.
26910         (minus_zerol): New variable.
26911         (test_function): Use minus_zerol instead of -zerol.
26912         * modules/sprintf-posix-tests (Depends-on): Add float.
26913         * modules/vsprintf-posix-tests (Depends-on): Add float.
26914
26915         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
26916         (minus_zerol): New variable.
26917         (test_function): Use minus_zerol instead of -zerol.
26918         * modules/vasnprintf-posix-tests (Depends-on): Add float.
26919
26920         * tests/test-vasprintf-posix.c (zerol): Remove variable.
26921         (minus_zerol): New variable.
26922         (test_function): Use minus_zerol instead of -zerol.
26923         * modules/vasprintf-posix-tests (Depends-on): Add float.
26924
26925 2008-10-07  Simon Josefsson  <simon@josefsson.org>
26926
26927         * MODULES.html.sh (Support for building documentation): Mention
26928         pmccabe2html.  Sort entries.
26929
26930         Add pmccabe2html module, from gnupdf.
26931         * build-aux/pmccabe.css: New file.
26932         * build-aux/pmccabe2html: New file.
26933         * m4/pmccabe2html.m4: New file.
26934         * modules/pmccabe2html: New file.
26935
26936 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
26937
26938         flock: new module
26939         * MODULES.html.sh: Add to list of modules.
26940         * lib/flock.c: flock implementation for Windows and Unix systems
26941         which have fcntl.
26942         * doc/glibc-functions/flock.texi: Update documentation.
26943         * lib/sys_file.in.h: <sys/file.h> header file.
26944         * m4/flock.m4: M4 macros.
26945         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
26946         * modules/flock: flock module.
26947         * modules/flock-tests: flock tests module.
26948         * modules/sys_file: sys/file.h module.
26949         * tests/test-flock.c: test suite for flock.
26950
26951 2008-10-06  Jim Meyering  <meyering@redhat.com>
26952
26953         bootstrap: check for LT_INIT more portably still ;-)
26954         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
26955         Spotted by Bruno Haible.
26956
26957 2008-10-06  Eric Blake  <ebb9@byu.net>
26958
26959         test-signbit: avoid tripping Irix cc bug on -0.0L
26960         * tests/test-signbit.c (minus_zerol): Delete, and replace with
26961         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
26962         entire testsuite consistent and avoids an Irix 6.2 bug.
26963
26964 2008-10-05  Bruno Haible  <bruno@clisp.org>
26965             Jim Meyering  <jim@meyering.net>
26966
26967         Add an option for ignoring EPIPE during close_stdout.
26968         * lib/closeout.h: Include <stdbool.h>.
26969         (close_stdout_set_ignore_EPIPE): New declaration.
26970         * lib/closeout.c: Include <stdbool.h>.
26971         (ignore_EPIPE): New variable.
26972         (close_stdout_set_ignore_EPIPE): New function.
26973         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
26974         * lib/close-stream.c (close_stream): Mention the possible EPIPE
26975         failure.
26976         * modules/closeout (Depends-on): Add stdbool.
26977
26978 2008-10-05  Bruno Haible  <bruno@clisp.org>
26979
26980         * modules/accept: New file.
26981         * modules/bind: New file.
26982         * modules/connect: New file.
26983         * modules/getpeername: New file.
26984         * modules/getsockname: New file.
26985         * modules/getsockopt: New file.
26986         * modules/listen: New file.
26987         * modules/recv: New file.
26988         * modules/recvfrom: New file.
26989         * modules/send: New file.
26990         * modules/sendto: New file.
26991         * modules/setsockopt: New file.
26992         * modules/socket: New file.
26993         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
26994         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
26995         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
26996         the particular module is requested. Add a link warning when the
26997         particular module is not requested.
26998         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
26999         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
27000         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
27001         the particular module is requested.
27002         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
27003         gl_SYS_SOCKET_H_DEFAULTS): New macros.
27004         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
27005         * modules/sys_socket (Depends-on): Add link-warning.
27006         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
27007         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
27008         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
27009         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
27010         GL_LINK_WARNING.
27011         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
27012         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
27013         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
27014         * doc/posix-functions/getpeername.texi: Mention the new module
27015         'getpeername'.
27016         * doc/posix-functions/getsockname.texi: Mention the new module
27017         'getsockname'.
27018         * doc/posix-functions/getsockopt.texi: Mention the new module
27019         'getsockopt'.
27020         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
27021         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
27022         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
27023         * doc/posix-functions/send.texi: Mention the new module 'send'.
27024         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
27025         * doc/posix-functions/setsockopt.texi: Mention the new module
27026         'setsockopt'.
27027         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
27028         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
27029         listen, connect, accept.
27030         * modules/select-tests (Depends-on): Likewise.
27031
27032 2008-10-05  Bruno Haible  <bruno@clisp.org>
27033
27034         * lib/winsock.c (strerror): Remove unused #undef.
27035         (rpl_close): Remove unused local variable.
27036
27037         * modules/sys_socket (Depends-on); Add errno.
27038
27039 2008-10-05  Bruno Haible  <bruno@clisp.org>
27040
27041         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
27042         (select): Add a link warning when the 'select' module is not used.
27043         * modules/sys_select (Depends-on): Add link-warning.
27044         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
27045         Suggested by Paolo Bonzini.
27046
27047 2008-10-05  Jim Meyering  <meyering@redhat.com>
27048
27049         bootstrap: check for LT_INIT more portably
27050         * build-aux/bootstrap: Avoid using grep -E, since it's not
27051         portable enough.  Suggestion from Bruno Haible.
27052
27053 2008-10-05  Bruno Haible  <bruno@clisp.org>
27054
27055         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
27056         as being fixed by gnulib.
27057
27058 2008-10-05  Bruno Haible  <bruno@clisp.org>
27059
27060         * modules/select-tests: New file, mostly copied from
27061         modules/sys_select-tests.
27062         * tests/test-select.c: New file, mostly copied from
27063         tests/test-sys_select.c.
27064         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
27065         * modules/sys_select-tests (Depends-on): Remove all dependencies.
27066         (Makefile.am): Remove test_sys_select_LDADD.
27067
27068         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
27069         to an undefined symbol, for an error message.
27070         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
27071         (gl_SYS_SELECT_H_DEFAULTS): New macro.
27072         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
27073         winsock-select.c here.
27074         * modules/sys_select (Files): Remove lib/winsock-select.c.
27075         (Depends-on): Remove alloca.
27076         (Makefile.am): Substitute GNULIB_SELECT.
27077         * modules/select: New file.
27078         * doc/posix-functions/select.texi: Update.
27079
27080 2008-10-05  Bruno Haible  <bruno@clisp.org>
27081
27082         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
27083         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
27084         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
27085         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
27086         getdtablesize.
27087         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
27088         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
27089
27090 2008-10-05  Bruno Haible  <bruno@clisp.org>
27091
27092         * modules/getdtablesize-tests: New file.
27093         * tests/test-getdtablesize.c: New file.
27094
27095         New module 'getdtablesize'.
27096         * lib/unistd.in.h (getdtablesize): New declaration.
27097         * lib/getdtablesize.c: New file.
27098         * m4/getdtablesize.m4: New file.
27099         * modules/getdtablesize: New file.
27100         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27101         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
27102         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
27103         HAVE_GETDTABLESIZE.
27104         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
27105
27106 2008-10-05  Bruno Haible  <bruno@clisp.org>
27107
27108         * modules/sched (Makefile.am): Fix typo.
27109         Reported by Simon Josefsson.
27110
27111 2008-10-05  Jim Meyering  <meyering@redhat.com>
27112
27113         bootstrap: check for LT_INIT, too
27114         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
27115         are deprecated.  Suggestion from Ralf Wildenhues.
27116
27117 2008-10-05  Bruno Haible  <bruno@clisp.org>
27118
27119         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
27120         overriding them by ours.
27121         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
27122
27123 2008-10-05  Jim Meyering  <meyering@redhat.com>
27124
27125         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
27126         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
27127         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
27128
27129 2008-10-04  Bruno Haible  <bruno@clisp.org>
27130
27131         * modules/dup2 (License): Change to LGPLv2+.
27132         * modules/sleep (License): Likewise.
27133         * modules/perror (License): Likewise.
27134         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
27135         Blake.
27136         * modules/signal (License): Likewise.
27137         * modules/sigprocmask (License): Likewise.
27138         * modules/raise (License): Change to LGPLv2+, with approval by Jim
27139         Meyering.
27140
27141 2008-10-04  Bruno Haible  <bruno@clisp.org>
27142
27143         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
27144         Reported by Rainer Tammer <tammer@tammer.net>.
27145
27146 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
27147             Bruno Haible  <bruno@clisp.org>
27148
27149         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
27150         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
27151         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
27152
27153 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
27154
27155         filevercmp: new module
27156         * lib/filevercmp.h: New function filevercmp comparing version strings.
27157         * lib/filevercmp.c: Implementation of filevercmp function.
27158         * modules/filevercmp: Module metadata.
27159         * tests/test-filevercmp.c: Unit test for new module.
27160         * modules/filevercmp-tests: Unit test metadata.
27161         * MODULES.html.sh: Add filevercmp module.
27162
27163 2008-10-03  Bruno Haible  <bruno@clisp.org>
27164
27165         * lib/c-ctype.h: Add comment.
27166         Reported by Jim Meyering.
27167
27168 2008-10-02  Bruno Haible  <bruno@clisp.org>
27169
27170         * modules/posix_spawn-internal (Depends-on): Add 'open'.
27171
27172 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
27173
27174         * build-aux/bootstrap: Allow renaming bootstrap, and change the
27175         name of bootstrap.conf accordingly.
27176
27177 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
27178
27179         * build-aux/bootstrap: Install git-merge-changelog configuration
27180         items into .gitconfig if needed.
27181
27182 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
27183
27184         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
27185         git repository, and initialize/update it accordingly.
27186
27187 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
27188
27189         * modules/fsync-tests: New file.
27190         * tests/test-fsync.c: New file.
27191
27192         New module 'fsync'.
27193         * lib/fsync.c: New file.
27194         * m4/fsync.m4: New file.
27195         * modules/fsync: New file.
27196         * lib/unistd.in.h (fsync): New declaration.
27197         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
27198         GNULIB_FSYNC and HAVE_FSYNC.
27199         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
27200         * MODULES.html.sh (posix_functions): Add fsync.
27201         * doc/posix-functions/fsync.texi: Mention the new module.
27202
27203 2008-10-02  Jim Meyering  <meyering@redhat.com>
27204
27205         fts.c: sync with similar code from coreutils' remove.c
27206         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
27207         Guard also with "#if defined __linux__", since for now at least,
27208         this code is Linux-kernel-specific.
27209
27210 2008-10-02  Jim Meyering  <meyering@redhat.com>
27211
27212         fts: bug fixes
27213         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
27214         Include <sys/vfs.h>, not <sys/statfs.h>.
27215
27216         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
27217         Include <sys/vfs.h>, not <sys/statfs.h>.
27218
27219 2008-10-01  Bruno Haible  <bruno@clisp.org>
27220
27221         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
27222         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
27223         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
27224         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
27225         * doc/posix-functions/posix_spawnp.texi: Likewise.
27226         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
27227         whether posix_spawn actually works.
27228         * m4/pipe.m4 (gl_PIPE): Likewise.
27229         * modules/execute (Files): Add m4/posix_spawn.m4.
27230         * modules/pipe (Files): Add m4/posix_spawn.m4.
27231         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
27232
27233 2008-10-01  Jim Meyering  <meyering@redhat.com>
27234
27235         remove trailing spaces
27236         * NEWS: Likewise.
27237         * lib/poll.c (poll): Likewise.
27238         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
27239         * lib/winsock.c (rpl_close): Likewise.
27240         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
27241         * modules/yield: Likewise.
27242         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
27243         * tests/test-sys_select.c (connect_to_socket): Likewise.
27244
27245         fts.c: adjust a new interface to be more generally useful
27246         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
27247         (fts_build): Adjust caller.
27248
27249 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27250
27251         * modules/cond-tests: New file.
27252         * tests/test-cond.c: New file.
27253
27254 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27255             Bruno Haible  <bruno@clisp.org>
27256
27257         * modules/cond (Dependencies): Add errno, time.
27258         * lib/glthread/cond.h: Include <time.h>.
27259         (gl_cond_define, gl_cond_define_initialized): Use the same definition
27260         across platforms.
27261
27262 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27263             Bruno Haible  <bruno@clisp.org>
27264
27265         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
27266
27267 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27268             Bruno Haible  <bruno@clisp.org>
27269
27270         * modules/tls-tests (Depends-on): Add thread, yield.
27271         (configure.ac): Remove all checks.
27272         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
27273         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
27274         gl_thread_self): Remove definitions. Include glthread/thread.h and
27275         glthread/yield.h instead.
27276         (test_tls): Pass an additional NULL argument to gl_thread_join.
27277
27278 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27279             Bruno Haible  <bruno@clisp.org>
27280
27281         * modules/lock-tests (Depends-on): Add thread, yield.
27282         (configure.ac): Remove all checks.
27283         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
27284         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
27285         gl_thread_self): Remove definitions. Include glthread/thread.h and
27286         glthread/yield.h instead.
27287         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
27288         additional NULL argument to gl_thread_join.
27289
27290 2008-09-30  Bruno Haible  <bruno@clisp.org>
27291
27292         Fix the Win32 implementation of the 'thread' module.
27293         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
27294         pointer type.
27295         (gl_thread_self): Invoke gl_thread_self_func.
27296         (gl_thread_self_func): New declaration.
27297         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
27298         (do_init_self_key, init_self_key): New functions.
27299         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
27300         Remove some fields.
27301         (running_threads, running_lock): Remove variables.
27302         (get_current_thread_handle): New function.
27303         (gl_thread_self_func, wrapper_func, glthread_create_func,
27304         glthread_join_func, gl_thread_exit_func): Largely rewritten and
27305         simplified.
27306
27307 2008-09-30  Bruno Haible  <bruno@clisp.org>
27308
27309         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
27310         files.
27311
27312 2008-09-30  Jim Meyering  <meyering@redhat.com>
27313
27314         fts.m4: correct the test for statfs.f_type
27315         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
27316         when checking for statfs.f_type.
27317
27318 2008-09-15  Simon Josefsson  <simon@josefsson.org>
27319
27320         tests: avoid some compiler warnings
27321         * tests/test-memchr.c (main): Pass NULL indirectly.
27322         * tests/test-getdate.c (main): Remove unused variable 'ret'.
27323
27324 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
27325
27326         getdate.y: disallow countable dayshifts like "4 yesterday ago"
27327         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
27328         exactly specified dayshifts.
27329         (dayshift): New rule.
27330         (rel): Add dayshift.
27331         (relative_time_table) [tomorrow, yesterday, today, now]:
27332         Use tDAY_SHIFT in place of tDAY_UNIT.
27333         * tests/test-getdate.c: Add tests for now-disallowed countable
27334         dayshifts, e.g., "4 yesterday ago".
27335
27336 2008-09-29  Bruno Haible  <bruno@clisp.org>
27337
27338         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
27339         * tests/test-posix_spawn1.in.sh: Renamed from
27340         tests/test-posix_spawn.in.sh.
27341         * tests/test-posix_spawn2.c: New file.
27342         * tests/test-posix_spawn2.in.sh: New file.
27343         * modules/posix_spawnp-tests (Files): Update.
27344         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
27345
27346 2008-09-29  Bruno Haible  <bruno@clisp.org>
27347
27348         Propagate effects of putenv/setenv/unsetenv to child processes.
27349         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
27350         * lib/pipe.c (create_pipe): Likewise.
27351
27352 2008-09-29  Bruno Haible  <bruno@clisp.org>
27353
27354         Enable use of shell scripts as executables in mingw.
27355         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
27356         run the program as a shell script.
27357         * lib/pipe.c (create_pipe): Likewise.
27358         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
27359         resulting array.
27360
27361 2008-09-29  Eric Blake  <ebb9@byu.net>
27362
27363         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
27364
27365 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
27366
27367         * doc/posix-functions/accept.texi: Update mingw problems.
27368         * doc/posix-functions/bind.texi: Update mingw problems.
27369         * doc/posix-functions/close.texi: Update mingw problems.
27370         * doc/posix-functions/connect.texi: Update mingw problems.
27371         * doc/posix-functions/getpeername.texi: Update mingw problems.
27372         * doc/posix-functions/getsockname.texi: Update mingw problems.
27373         * doc/posix-functions/getsockopt.texi: Update mingw problems.
27374         * doc/posix-functions/ioctl.texi: Update mingw problems.
27375         * doc/posix-functions/listen.texi: Update mingw problems.
27376         * doc/posix-functions/recv.texi: Update mingw problems.
27377         * doc/posix-functions/recvfrom.texi: Update mingw problems.
27378         * doc/posix-functions/select.texi: Update mingw problems.
27379         * doc/posix-functions/send.texi: Update mingw problems.
27380         * doc/posix-functions/sendto.texi: Update mingw problems.
27381         * doc/posix-functions/setsockopt.texi: Update mingw problems.
27382         * doc/posix-functions/socket.texi: Update mingw problems.
27383
27384 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
27385             Bruno Haible  <bruno@clisp.org>
27386
27387         * lib/sys_select.in.h: Include sys/time.h.
27388         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
27389         * modules/sys_select: Depend on sys_time.
27390         * tests/test-sys_select.c: Test that sys/select.h defines struct
27391         timeval fully.
27392
27393 2008-09-29  Bruno Haible  <bruno@clisp.org>
27394
27395         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
27396         * lib/sys_select.in.h: Likewise.
27397
27398 2008-09-29  Bruno Haible  <bruno@clisp.org>
27399
27400         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
27401
27402 2008-09-29  Bruno Haible  <bruno@clisp.org>
27403
27404         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
27405         Set LIBSOCKET instead of augmenting LIBS.
27406         * modules/sockets (Link): New section.
27407         * modules/sockets-tests (test_sockets_LDADD): New variable.
27408         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
27409         * modules/poll-tests (test_poll_LDADD): New variable.
27410         * NEWS: Document the change.
27411
27412 2008-09-29  Bruno Haible  <bruno@clisp.org>
27413
27414         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
27415         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
27416         ARPA_INET_H directly.
27417         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
27418
27419 2008-09-28  Bruno Haible  <bruno@clisp.org>
27420
27421         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
27422         from gl_HEADER_SYS_SOCKET.
27423         (gl_HEADER_SYS_SOCKET): Invoke it.
27424         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
27425
27426 2008-09-28  Bruno Haible  <bruno@clisp.org>
27427
27428         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
27429         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
27430         Needed on OSF/1 4.0.
27431
27432 2008-09-28  Bruno Haible  <bruno@clisp.org>
27433
27434         Override open more carefully.
27435         * lib/open.c (orig_open): New function.
27436         (rpl_open): Use orig_open instead of open.
27437         * lib/fcntl.in.h: Add special invocation convention.
27438         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
27439         (gl_FUNC_OPEN): Invoke it.
27440
27441         Override freopen more carefully.
27442         * lib/freopen.c (orig_freopen): New function.
27443         (rpl_freopen): Use orig_freopen instead of freopen.
27444         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
27445         (gl_FUNC_FREOPEN): Invoke it.
27446
27447         Override fopen more carefully.
27448         * lib/fopen.c (orig_fopen): New function.
27449         (rpl_fopen): Use orig_fopen instead of fopen.
27450         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
27451         (gl_FUNC_FOPEN): Invoke it.
27452         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
27453
27454 2008-09-28  Bruno Haible  <bruno@clisp.org>
27455
27456         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
27457         SIGPIPE.
27458
27459 2008-09-28  Bruno Haible  <bruno@clisp.org>
27460
27461         * tests/test-sigaction.c (handler, main): Disable the check whether
27462         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
27463         glibc systems with LinuxThreads.
27464
27465 2008-09-28  Bruno Haible  <bruno@clisp.org>
27466
27467         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
27468
27469         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
27470         with AIX xlc.
27471         * lib/fcntl.in.h (open): Likewise.
27472         Reported by Rainer Tammer <tammer@tammer.net>.
27473
27474 2008-09-28  Bruno Haible  <bruno@clisp.org>
27475
27476         * modules/posix_spawnp-tests: New file.
27477         * tests/test-posix_spawn.c: New file.
27478         * tests/test-posix_spawn.in.sh: New file.
27479
27480         New module 'posix_spawnp'.
27481         * modules/posix_spawnp: New file.
27482         * lib/spawnp.c: New file, from GNU libc with modifications.
27483         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
27484
27485         New module 'posix_spawn'.
27486         * modules/posix_spawn: New file.
27487         * lib/spawn.c: New file, from GNU libc with modifications.
27488         * doc/posix-functions/posix_spawn.texi: Mention the new module.
27489
27490         New module 'posix_spawnattr_destroy'.
27491         * modules/posix_spawnattr_destroy: New file.
27492         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
27493         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
27494         module.
27495
27496         New module 'posix_spawnattr_setsigmask'.
27497         * modules/posix_spawnattr_setsigmask: New file.
27498         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
27499         modifications.
27500         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
27501         new module.
27502
27503         New module 'posix_spawnattr_getsigmask'.
27504         * modules/posix_spawnattr_getsigmask: New file.
27505         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
27506         modifications.
27507         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
27508         new module.
27509
27510         New module 'posix_spawnattr_setsigdefault'.
27511         * modules/posix_spawnattr_setsigdefault: New file.
27512         * lib/spawnattr_setdefault.c: New file, from GNU libc with
27513         modifications.
27514         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
27515         new module.
27516
27517         New module 'posix_spawnattr_getsigdefault'.
27518         * modules/posix_spawnattr_getsigdefault: New file.
27519         * lib/spawnattr_getdefault.c: New file, from GNU libc with
27520         modifications.
27521         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
27522         new module.
27523
27524         New module 'posix_spawnattr_setschedpolicy'.
27525         * modules/posix_spawnattr_setschedpolicy: New file.
27526         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
27527         modifications.
27528         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
27529         new module.
27530
27531         New module 'posix_spawnattr_getschedpolicy'.
27532         * modules/posix_spawnattr_getschedpolicy: New file.
27533         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
27534         modifications.
27535         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
27536         new module.
27537
27538         New module 'posix_spawnattr_setschedparam'.
27539         * modules/posix_spawnattr_setschedparam: New file.
27540         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
27541         modifications.
27542         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
27543         new module.
27544
27545         New module 'posix_spawnattr_getschedparam'.
27546         * modules/posix_spawnattr_getschedparam: New file.
27547         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
27548         modifications.
27549         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
27550         new module.
27551
27552         New module 'posix_spawnattr_setpgroup'.
27553         * modules/posix_spawnattr_setpgroup: New file.
27554         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
27555         modifications.
27556         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
27557         module.
27558
27559         New module 'posix_spawnattr_getpgroup'.
27560         * modules/posix_spawnattr_getpgroup: New file.
27561         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
27562         modifications.
27563         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
27564         module.
27565
27566         New module 'posix_spawnattr_setflags'.
27567         * modules/posix_spawnattr_setflags: New file.
27568         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
27569         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
27570         module.
27571
27572         New module 'posix_spawnattr_getflags'.
27573         * modules/posix_spawnattr_getflags: New file.
27574         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
27575         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
27576         module.
27577
27578         New module 'posix_spawnattr_init'.
27579         * modules/posix_spawnattr_init: New file.
27580         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
27581         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
27582         module.
27583
27584         New module 'posix_spawn_file_actions_destroy'.
27585         * modules/posix_spawn_file_actions_destroy: New file.
27586         * lib/spawn_faction_destroy.c: New file, from GNU libc with
27587         modifications.
27588         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
27589         the new module.
27590
27591         New module 'posix_spawn_file_actions_addopen'.
27592         * modules/posix_spawn_file_actions_addopen: New file.
27593         * lib/spawn_faction_addopen.c: New file, from GNU libc with
27594         modifications.
27595         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
27596         the new module.
27597
27598         New module 'posix_spawn_file_actions_adddup2'.
27599         * modules/posix_spawn_file_actions_adddup2: New file.
27600         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
27601         modifications.
27602         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
27603         the new module.
27604
27605         New module 'posix_spawn_file_actions_addclose'.
27606         * modules/posix_spawn_file_actions_addclose: New file.
27607         * lib/spawn_faction_addclose.c: New file, from GNU libc with
27608         modifications.
27609         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
27610         the new module.
27611
27612         New module 'posix_spawn_file_actions_init'.
27613         * modules/posix_spawn_file_actions_init: New file.
27614         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
27615         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
27616         new module.
27617
27618         New module 'posix_spawn-internal'.
27619         * modules/posix_spawn-internal: New file.
27620         * lib/spawn_int.h: New file, from GNU libc with modifications.
27621         * lib/spawni.c: New file, from GNU libc with modifications.
27622         * m4/posix_spawn.m4: New file.
27623
27624         New module 'spawn'.
27625         * modules/spawn: New file.
27626         * lib/spawn.in.h: New file, from GNU libc with modifications.
27627         * m4/spawn_h.m4: New file.
27628         * doc/posix-headers/spawn.texi: Mention the new module.
27629
27630 2008-09-28  Bruno Haible  <bruno@clisp.org>
27631
27632         * modules/sched-tests: New file.
27633         * tests/test-sched.c: New file.
27634
27635         New module 'sched'.
27636         * modules/sched: New file.
27637         * lib/sched.in.h: New file.
27638         * m4/sched_h.m4: New file.
27639         * doc/posix-headers/sched.texi: Mention the new module.
27640
27641 2008-09-27  Eric Blake  <ebb9@byu.net>
27642
27643         Fix previous patch, and tweak references to $0.
27644         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
27645         (func_version, func_gnulib_dir): Don't call this program
27646         gnulib-tool.
27647         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
27648         with using $0 in function.
27649         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
27650         (func_fatal_error): Reuse the name the user invoked us with.
27651
27652 2008-09-27  Bruno Haible  <bruno@clisp.org>
27653
27654         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
27655         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
27656         (gl_ICONV_H): Not here.
27657         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
27658         instead of assigning ICONV_H directly.
27659
27660         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
27661         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
27662         WCHAR_H directly.
27663
27664 2008-09-27  Bruno Haible  <bruno@clisp.org>
27665
27666         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
27667         * modules/arpa_inet (Depends-on): Add link-warning.
27668         (Makefile.am): Insert the definition of GL_LINK-WARNING.
27669         * modules/unistd (Makefile.am): Likewise.
27670
27671 2008-09-26  Bruno Haible  <bruno@clisp.org>
27672
27673         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
27674         variables.
27675         (func_version): Essentially copied from gnulib-tool.
27676         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
27677         func_readlink): Copied from gnulib-tool.
27678
27679 2008-09-26  Bruno Haible  <bruno@clisp.org>
27680
27681         * gnulib-tool (func_version): Change directory to $gnulib_dir before
27682         invoking git-version-gen.
27683
27684 2008-09-26  Bruno Haible  <bruno@clisp.org>
27685
27686         * posix-modules: Update to directory names changed on 2008-01-19.
27687         Remove commas in output before splitting into words. No more need to
27688         avoid 'ftruncate' since 2007-02-19.
27689
27690 2008-09-26  Bruno Haible  <bruno@clisp.org>
27691
27692         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
27693
27694 2008-09-26  Bruno Haible  <bruno@clisp.org>
27695
27696         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
27697         * modules/fwriteerror (Depends-on): Add errno.
27698
27699 2008-09-26  Bruno Haible  <bruno@clisp.org>
27700
27701         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
27702         * tests/test-vc-list-files-cvs.sh: Likewise.
27703
27704 2008-09-26  Bruno Haible  <bruno@clisp.org>
27705
27706         * doc/posix-headers/sys_resource.texi: Reorder items.
27707
27708 2008-09-26  Jim Meyering  <meyering@redhat.com>
27709
27710         fts: tweak inode comparison function
27711         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
27712         inode numbers, as documented.
27713
27714         fts: sort dirent entries on inode number before traversing
27715         This avoids a quadratic, seek-related performance penalty when
27716         operating on a directory containing many entries (measurable at 10k;
27717         3.5 hours at 2 million entries with a cold cache) on certain types
27718         of file systems, including ext3 and ext4, but not tmpfs.
27719         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
27720         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
27721         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
27722         (fs_handles_readdir_ordered_dirents_efficiently): New function.
27723         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
27724         (fts_build): Set the stat.st_ino member from D_INO.
27725         If it is likely to be useful, sort dirent entries on inode number.
27726
27727         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
27728         and the struct statfs.f_type member.
27729         * modules/fts (Depends-on): Add d-ino.
27730
27731 2008-09-26  Bruno Haible  <bruno@clisp.org>
27732
27733         * modules/sigpipe-die (Depends-on): Add sigpipe.
27734
27735         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
27736         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
27737         and GNULIB_STDIO_H_SIGPIPE are set.
27738         * lib/stdio-write.c: New file.
27739         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
27740         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
27741         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
27742         REPLACE_STDIO_WRITE_FUNCS.
27743         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
27744         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
27745         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
27746         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
27747         * modules/stdio (Files): Add lib/stdio-write.c.
27748         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
27749         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
27750         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
27751         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
27752         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
27753         REPLACE_FPRINTF_POSIX.
27754         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
27755         REPLACE_PRINTF_POSIX.
27756         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
27757         REPLACE_VFPRINTF_POSIX.
27758         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
27759         REPLACE_VPRINTF_POSIX.
27760         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
27761         SIGPIPE issue.
27762         * doc/posix-functions/fputc.texi: Likewise.
27763         * doc/posix-functions/fputs.texi: Likewise.
27764         * doc/posix-functions/fwrite.texi: Likewise.
27765         * doc/posix-functions/printf.texi: Likewise.
27766         * doc/posix-functions/putc.texi: Likewise.
27767         * doc/posix-functions/putchar.texi: Likewise.
27768         * doc/posix-functions/puts.texi: Likewise.
27769         * doc/posix-functions/vfprintf.texi: Likewise.
27770         * doc/posix-functions/vprintf.texi: Likewise.
27771
27772         * modules/safe-write (Depends-on): Add write.
27773
27774         * modules/sigpipe-tests: New file.
27775         * tests/test-sigpipe.c: New file.
27776         * tests/test-sigpipe.sh: New file.
27777
27778         * modules/write: New file.
27779         * lib/unistd.in.h: Include <sys/types.h>.
27780         (write): New declaration.
27781         * lib/write.c: New file.
27782         * m4/write.m4: New file.
27783         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27784         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
27785         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
27786         GNULIB_WRITE, REPLACE_WRITE.
27787         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
27788         and the SIGPIPE issue.
27789
27790         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
27791         (raise): New declaration.
27792         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
27793         (ext_signal): New function.
27794         (rpl_raise): New function.
27795         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
27796         GNULIB_SIGNAL_H_SIGPIPE.
27797         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
27798         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
27799
27800         * modules/sigpipe: New file.
27801         * m4/sigpipe.m4: New file.
27802
27803 2008-09-25  Derek Price  <derek@ximbiot.com>
27804             Bruno Haible  <bruno@clisp.org>
27805
27806         * gnulib-tool (func_import): Report all license incompatibilities, not
27807         just the first one.
27808
27809 2008-09-25  Bruno Haible  <bruno@clisp.org>
27810
27811         * gnulib-tool (func_import): When computing the edits, consider not
27812         only the Makefile.ams that exist but also those that will be generated.
27813
27814 2008-09-25  Simon Josefsson  <simon@josefsson.org>
27815
27816         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
27817         fixes gnulib-tool --test warning about duplicate dependency.
27818
27819 2008-09-25  Bruno Haible  <bruno@clisp.org>
27820
27821         * gnulib-tool: Don't ask the user to perform edits in the generated
27822         Makefile.ams.
27823         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
27824         apply to the Makefile.am being generated.
27825         (func_emit_tests_Makefile_am): Execute edits that apply to the
27826         Makefile.am being generated.
27827         (func_import): Setup list of Makefile.am edits before emitting the
27828         Makefile.ams, not at the end.
27829         (func_create_testdir): Update.
27830         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
27831
27832 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
27833
27834         * gnulib-tool (func_import): Store the --tests-base option in the
27835         comment in gnulib-cache.m4.
27836
27837 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
27838
27839         * NEWS: Document increased portability that sys_select now provides.
27840
27841         * lib/sys_select.in.h: Install select wrapper.
27842         * lib/sys_socket.in.h: Use more descriptive name when there is no
27843         select wrapper.
27844         * lib/winsock-select.c: New.
27845         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
27846         Require gl_HEADER_SYS_SOCKET.
27847         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
27848         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
27849         * tests/test-sys_select.c: Add functional tests.
27850
27851 2008-09-24  Eric Blake  <ebb9@byu.net>
27852
27853         open, fopen: close fd leak in last patch
27854         * lib/open.c (rpl_open): Close fd before returning error.
27855         * lib/fopen.c (rpl_fopen): Close fd before returning error.
27856         * doc/posix-functions/open.texi (open): Document that Irix also
27857         has the bug.
27858         * doc/posix-functions/fopen.texi (fopen): Likewise.
27859         Reported by Paolo Bonzini.
27860
27861 2008-09-24  Bruno Haible  <bruno@clisp.org>
27862
27863         Ensure that a filename ending in a slash cannot be used to access a
27864         non-directory.
27865         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
27866         to check whether it's really a directory.
27867         * lib/fopen.c: Include fcntl.h, unistd.h.
27868         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
27869         and fdopen().
27870         * modules/fopen (Depends-on): Add unistd.
27871         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
27872         * tests/test-fopen.c (main): Likewise.
27873         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
27874         * doc/posix-functions/fopen.texi: Likewise.
27875         Reported by Eric Blake.
27876
27877 2008-09-23  Eric Blake  <ebb9@byu.net>
27878
27879         c-stack: avoid compiler optimizations when provoking overflow
27880         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
27881         recursion harder to optimize, to ensure a stack overflow occurs.
27882         * tests/test-c-stack.c (recurse): Likewise.
27883         Borrowed from libsigsegv.
27884
27885         c-stack: work around Irix sigaltstack bug
27886         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
27887         whether sigaltstack uses wrong end of stack_t (copied in part from
27888         libsigsegv).
27889         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
27890         Irix bug, without requiring an over-allocation.
27891         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
27892         bug.
27893
27894         fopen: document mingw bug on directories
27895         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
27896         not allowing a stream visiting a directory, even though reading
27897         from such a stream is not portable.
27898
27899 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
27900
27901         * lib/poll.c: Rewrite.
27902         * modules/poll: Depend on alloca.
27903
27904 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
27905
27906         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
27907         instead define prototypes for a full set of wrappers.  Ensure
27908         that Cygwin does not use the compatibility code, which is only
27909         for MinGW.
27910         * lib/winsock.c: New.
27911         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
27912         * modules/sys_socket: Add lib/winsock.c.
27913
27914         * modules/poll-tests: Add errno and perror.
27915         * tests/test-poll.c: Use ioctl, not ioctlsocket.
27916
27917 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
27918
27919         * tests/test-poll.c: Downgrade minimum needed Winsock version.
27920
27921 2008-09-23  Bruno Haible  <bruno@clisp.org>
27922
27923         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
27924         * doc/glibc-functions/*: Likewise.
27925
27926 2008-09-23  Simon Josefsson  <simon@josefsson.org>
27927
27928         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
27929         success.
27930
27931 2008-09-22  Eric Blake  <ebb9@byu.net>
27932             Bruno Haible  <bruno@clisp.org>
27933
27934         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
27935         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
27936         supply %A but mishandle pseudo-NaN.
27937         Reported by Simon Josefsson.
27938
27939 2008-09-21  Bruno Haible  <bruno@clisp.org>
27940
27941         * tests/test-lock.c (main): Tweak skip message.
27942         * tests/test-tls.c (main): Likewise.
27943
27944 2008-09-21  Bruno Haible  <bruno@clisp.org>
27945
27946         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
27947         whether 'struct sigaction' has sa_sigaction here...
27948         (gl_PREREQ_SIG_HANDLER_H): ... not here.
27949         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
27950
27951 2008-09-21  Bruno Haible  <bruno@clisp.org>
27952
27953         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
27954         section.
27955         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
27956         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
27957         the new section.
27958         (Support for obsolete systems lacking POSIX:2001): New section.
27959         (String handling <string.h>): Move strdup to the new section.
27960         Suggested by Simon Josefsson and Paolo Bonzini.
27961
27962 2008-09-21  Bruno Haible  <bruno@clisp.org>
27963
27964         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
27965         exponents in %e and %g results on 'long double'. Needed for mingw's
27966         improved *printf functions.
27967         * tests/test-vasprintf-posix.c (test_function): Likewise.
27968         * tests/test-snprintf-posix.h (test_function): Likewise.
27969         * tests/test-sprintf-posix.h (test_function): Likewise.
27970         Reported by Eric Blake.
27971
27972 2008-09-21  Bruno Haible  <bruno@clisp.org>
27973
27974         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
27975         * tests/test-sprintf-posix.h (test_function): Likewise.
27976
27977 2008-09-21  Bruno Haible  <bruno@clisp.org>
27978
27979         * modules/getpass (Depends-on): Add strdup-posix.
27980
27981         New module 'strdup-posix'.
27982         * modules/strdup-posix: New file.
27983         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
27984         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
27985         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
27986         REPLACE_STRDUP.
27987         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
27988         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
27989         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
27990         strdup-posix.
27991
27992         * modules/strdup (Depends-on): Remove malloc-posix.
27993
27994 2008-09-20  Bruno Haible  <bruno@clisp.org>
27995
27996         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
27997         Wildenhues.
27998
27999 2008-09-20  Bruno Haible  <bruno@clisp.org>
28000
28001         Ensure that wint_t gets defined on IRIX 5.3.
28002         * lib/wchar.in.h (wint_t): Define if not defined by the system.
28003         * lib/wctype.in.h (wint_t): Likewise.
28004         (__wctype_wint_t): Remove type.
28005         (isw*): Use wint_t instead of __wctype_wint_t.
28006         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
28007         * modules/wchar (Files): Add m4/wint_t.m4.
28008         (Makefile.am): Substitute HAVE_WINT_T.
28009         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
28010         * tests/test-wctype.c: Check that wint_t is defined.
28011         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
28012         * doc/posix-headers/wctype.texi: Likewise.
28013         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
28014
28015 2008-09-18  Bruno Haible  <bruno@clisp.org>
28016
28017         * gnulib-tool (func_exit): Update comment.
28018
28019 2008-09-18  Simon Josefsson  <simon@josefsson.org>
28020
28021         * modules/getaddrinfo (Depends-on): Remove strdup, this module
28022         assumes strdup exists and does not depend on strdup to return
28023         ENOMEM on out of memory conditions.
28024
28025 2008-09-18  Bruno Haible  <bruno@clisp.org>
28026
28027         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
28028         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
28029         digits for the exponent.
28030
28031 2008-09-18  Jim Meyering  <meyering@redhat.com>
28032             Bruno Haible  <bruno@clisp.org>
28033
28034         * lib/vasnprintf.c (decimal_point_char): Define also if
28035         NEED_PRINTF_INFINITE_LONG_DOUBLE.
28036
28037 2008-09-16  Bruno Haible  <bruno@clisp.org>
28038         and Eric Blake  <ebb9@byu.net>
28039
28040         vasnprintf: support Irix 5.3
28041         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
28042         that mishandle long double infinity.
28043         Reported by Tom G. Christensen.
28044
28045 2008-09-16  Bruno Haible  <bruno@clisp.org>
28046
28047         * doc/glibc-functions/scandir.texi: Mention the function is missing on
28048         Solaris 9.
28049         * doc/glibc-functions/alphasort.texi: Likewise.
28050         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
28051
28052 2008-09-16  Jim Meyering  <meyering@redhat.com>
28053
28054         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
28055         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
28056         a umask modification leak out of a subshell.  Otherwise, the
28057         opensolaris /bin/sh would be accepted and thus cause unwarranted
28058         failures in the coreutils test suite.
28059
28060 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
28061
28062         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
28063         to succeed.
28064
28065 2008-09-16  Jim Meyering  <meyering@redhat.com>
28066
28067         avoid spurious test failure when library is built without ACL support
28068         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
28069         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
28070         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
28071         * tests/test-copy-acl.sh: Likewise.
28072
28073 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28074
28075         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
28076         based on character occurrence counts.
28077
28078 2008-09-15  Eric Blake  <ebb9@byu.net>
28079
28080         tests: avoid some compiler warnings
28081         * tests/test-memchr.c (main): Pass NULL indirectly.
28082         * tests/test-closein.c (main): Avoid unused variable.
28083
28084 2008-09-15  Bruno Haible  <bruno@clisp.org>
28085
28086         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
28087         are missing on OpenBSD 4.0 individually.
28088         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
28089
28090 2008-09-15  Bruno Haible  <bruno@clisp.org>
28091
28092         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
28093         * doc/posix-functions/strerror.texi: Mention also Cygwin.
28094         * doc/posix-functions/perror.texi: Likewise.
28095         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
28096         is missing.
28097         Reported by Eric Blake.
28098
28099         * lib/errno.in.h: Use replacement values >= 2000.
28100         Reported by Eric Blake.
28101
28102 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28103
28104         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
28105         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
28106         limit.
28107         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
28108         compareseq was aborted.
28109
28110 2008-09-14  Bruno Haible  <bruno@clisp.org>
28111
28112         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
28113         yvec_edit_count.
28114         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
28115         (fstrcmp_bounded): Simplify result computation accordingly.
28116
28117 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28118
28119         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
28120         (fstrcmp): Define in terms of fstrcmp_bounded.
28121         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
28122         lower_bound argument.
28123         Return quickly if the result is certainly < lower_bound.
28124         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
28125
28126 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28127
28128         * lib/diffseq.h (EARLY_ABORT): New macro.
28129         (compareseq): Change return type to bool. Return true when EARLY_ABORT
28130         evaluates to true.
28131
28132 2008-09-14  Bruno Haible  <bruno@clisp.org>
28133
28134         * modules/perror-tests: New file.
28135         * tests/test-perror.sh: New file.
28136         * tests/test-perror.c: New file.
28137
28138         New module 'perror'.
28139         * lib/stdio.in.h (perror): New declaration.
28140         * lib/perror.c: New file.
28141         * m4/perror.m4: New file.
28142         * modules/perror: New file.
28143         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
28144         * doc/posix-functions/perror.texi: Mention the perror module.
28145         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
28146         REPLACE_PERROR.
28147         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
28148         REPLACE_PERROR.
28149
28150 2008-09-14  Bruno Haible  <bruno@clisp.org>
28151
28152         * modules/stdio (Makefile.am): Reorder to match the order in
28153         lib/stdio.in.h.
28154         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
28155
28156 2008-09-13  Bruno Haible  <bruno@clisp.org>
28157
28158         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
28159
28160 2008-09-13  Bruno Haible  <bruno@clisp.org>
28161
28162         Extend strerror to cover the added errno values.
28163         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
28164         (rpl_strerror): Provide error messages for the added errno values and
28165         for the WSA* values.
28166         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
28167         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
28168         strerror.
28169         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
28170         * modules/strerror (Depends-on): Add errno.
28171         * doc/posix-functions/strerror.texi: Document the change.
28172         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
28173         and EOVERFLOW.
28174
28175 2008-09-13  Bruno Haible  <bruno@clisp.org>
28176
28177         * modules/EOVERFLOW: Remove file.
28178         * m4/eoverflow.m4: Remove file.
28179         * modules/EOVERFLOW-tests: Remove file.
28180         * tests/test-EOVERFLOW.c: Remove file.
28181         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
28182         * modules/ftell (Depends-on): Likewise.
28183         * modules/getdelim (Depends-on): Likewise.
28184         * modules/getugroups (Depends-on): Likewise.
28185         * modules/poll (Depends-on): Likewise.
28186         * modules/snprintf (Depends-on): Likewise.
28187         * modules/sprintf-posix (Depends-on): Likewise.
28188         * modules/vasnprintf (Depends-on): Likewise.
28189         * modules/vasprintf (Depends-on): Likewise.
28190         * modules/vfprintf-posix (Depends-on): Likewise.
28191         * modules/vsnprintf (Depends-on): Likewise.
28192         * modules/vsprintf-posix (Depends-on): Likewise.
28193         * modules/xvasprintf (Depends-on): Likewise.
28194         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28195         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
28196         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
28197         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
28198         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28199         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
28200         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
28201         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
28202         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28203         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
28204         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
28205         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
28206         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28207         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
28208         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
28209         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
28210         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28211         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
28212         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
28213         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
28214         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28215         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
28216         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
28217         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
28218         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
28219         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28220         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
28221         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
28222         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
28223         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
28224         * MODULES.html.sh: Remove EOVERFLOW.
28225         * NEWS: Mention the change.
28226
28227 2008-09-13  Bruno Haible  <bruno@clisp.org>
28228
28229         * modules/errno-tests: New file.
28230         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
28231
28232         * lib/errno.in.h: New file.
28233         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
28234         * modules/errno: New file.
28235         * doc/posix-headers/errno.texi: Update documentation.
28236         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
28237
28238 2008-09-13  Bruno Haible  <bruno@clisp.org>
28239
28240         * tests/test-poll.c: Use #if for native Windows, rather than testing
28241         __MSVCRT__.
28242
28243 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28244             Bruno Haible  <bruno@clisp.org>
28245
28246         * lib/glob.c: Don't include <pwd.h> on native Windows.
28247         (WINDOWS32): New macro.
28248         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
28249
28250 2008-09-13  Bruno Haible  <bruno@clisp.org>
28251
28252         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
28253         (ETIMEDOUT): Remove macro.
28254         (glthread_cond_timedwait_multithreaded): New declaration.
28255         (glthread_cond_timedwait): Use it.
28256         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
28257         (glthread_cond_timedwait_multithreaded): New function.
28258
28259 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
28260
28261         * modules/poll-tests: Do not check for io.h.
28262         * tests/test-poll.c: Check for __MSVCRT__ instead.
28263
28264 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
28265
28266         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
28267         * modules/poll-tests: Add inet_pton, stdbool, sockets.
28268         * tests/test-poll.c: Use them.  Use _pipe on Windows.
28269
28270 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
28271
28272         * modules/poll-tests: New.
28273         * tests/test-poll.c: New.
28274
28275 2008-09-12  Eric Blake  <ebb9@byu.net>
28276
28277         frexp: test for NetBSD failure on -0.0
28278         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
28279         not all, bugs from NetBSD 3.0 have been fixed.
28280         * doc/posix-functions/frexp.texi (frexp): Document bug.
28281         Reported by Thomas Klausner.
28282
28283         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
28284         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
28285         literal -0.0.
28286         Reported by Jonathan C. Patschke <jp@centtech.com>.
28287
28288 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28289
28290         * lib/glthread/cond.h: Use dummy implementation also if
28291         USE_WIN32_THREADS.
28292
28293 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28294
28295         * modules/fnmatch-posix (License): Change to LGPLv2+.
28296         * modules/fnmatch-gnu (License): Likewise.
28297
28298 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28299
28300         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
28301
28302 2008-09-11  Jim Meyering  <meyering@redhat.com>
28303
28304         * users.txt: Add gtk-vnc.
28305
28306 2008-09-08  Simon Josefsson  <simon@josefsson.org>
28307
28308         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
28309         rotate amounts.
28310
28311         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
28312         required for 16-bit and 8-bit rotates.
28313         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
28314         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
28315         UINT8_MAX instead of hard-coded constants.
28316         Suggested by Paul Eggert.
28317
28318 2008-09-07  Bruno Haible  <bruno@clisp.org>
28319
28320         * tests/test-striconveh.c (main): Check behaviour when converting from
28321         UTF-7.
28322
28323         Make striconveh work better with stateful encodings.
28324         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
28325         that iconv does not increment the inptr when returning -1/EINVAL.
28326
28327 2008-09-07  Bruno Haible  <bruno@clisp.org>
28328
28329         * build-aux/config.rpath: Update according to libtool-2.2.6.
28330         * build-aux/config.libpath: Likewise.
28331
28332 2008-09-06  Bruno Haible  <bruno@clisp.org>
28333
28334         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
28335         * lib/freadptr.c (freadptr): Likewise.
28336         * lib/freadseek.c (freadptrinc): Likewise.
28337         Reported by Simon Josefsson.
28338
28339 2008-09-06  Bruno Haible  <bruno@clisp.org>
28340
28341         * modules/freadptr (License): Change to LGPLv2+.
28342         * modules/freadseek (License): Likewise.
28343         Suggested by Eric Blake.
28344
28345         * modules/memchr2 (License): Change to LGPLv2+.
28346         Approved by Eric Blake.
28347
28348 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
28349             Bruno Haible  <bruno@clisp.org>
28350
28351         Make gnulib-tool work with native 'sed' on AIX.
28352         * gnulib-tool (sed_noop): New variable.
28353         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
28354         func_add_or_update, func_create_testdir): Use it to initialize sed
28355         script variables.
28356         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28357
28358 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
28359             Bruno Haible  <bruno@clisp.org>
28360
28361         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
28362         also works after #include directives.
28363
28364 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
28365
28366         getdate.y: reject an out-of-range timezone value
28367         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
28368         the range [-24...+24].  When specified with only one or two digits,
28369         * tests/test-getdate.c: Tests for the fix.
28370         * doc/getdate.texi: Document this change.
28371
28372 2008-09-03  Bruno Haible  <bruno@clisp.org>
28373
28374         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
28375
28376 2008-09-02  Simon Josefsson  <simon@josefsson.org>
28377
28378         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
28379         <bruce.korb@gmail.com> with ideas from Ben Pfaff
28380         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
28381         Blake <ebb9@byu.net>.
28382
28383         * tests/test-bitrotate.c: Add more test vectors.
28384
28385 2008-09-02  Eric Blake  <ebb9@byu.net>
28386
28387         vasnprintf-posix: handle large precision via %.*d
28388         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
28389         when handling it ourselves.
28390         * tests/test-vasnprintf-posix.c (test_function): Add test.
28391         * tests/test-snprintf-posix.h (test_function): Likewise.
28392         * tests/test-sprintf-posix.h (test_function): Likewise.
28393         * tests/test-vasprintf-posix.c (test_function): Likewise.
28394         Reported by Alain Guibert.
28395
28396 2008-09-01  Eric Blake  <ebb9@byu.net>
28397
28398         c-stack: make configure-time check more robust
28399         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
28400         successful sigaction call.
28401         Reported by Tom G. Christensen.
28402
28403 2008-09-01  Bruno Haible  <bruno@clisp.org>
28404
28405         New module 'findprog-lgpl'.
28406         * modules/findprog-lgpl: New file.
28407         * lib/findprog-lgpl.c: New file.
28408         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
28409         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
28410         to decide whether to use strdup or xstrdup, concatenated_filename or
28411         xconcatenated_filename.
28412
28413 2008-09-01  Bruno Haible  <bruno@clisp.org>
28414
28415         Split module 'concat-filename' into 'concat-filename' (LGPL) and
28416         'xconcat-filename' (GPL).
28417         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
28418         (License): Change to LGPLv2+.
28419         * modules/xconcat-filename: New file.
28420         * lib/concat-filename.h (concatenated_filename): Change specification.
28421         (xconcatenated_filename): New declaration.
28422         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
28423         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
28424         memory situations.
28425         * lib/xconcat-filename.c: New file.
28426         * NEWS: Mention the change.
28427         * lib/findprog.c: Include concat-filename.h, not filename.h.
28428         (find_in_path): Use xconcatenated_filename instead of
28429         concatenated_filename.
28430         * lib/javacomp.c: Include concat-filename.h, not filename.h.
28431         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
28432         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
28433         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
28434         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
28435         instead of concatenated_filename.
28436         * lib/javaexec.c: Include concat-filename.h, not filename.h.
28437         (execute_java_class): Use xconcatenated_filename instead of
28438         concatenated_filename.
28439         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
28440         * modules/javacomp (Depends-on): Likewise.
28441         * modules/javaexec (Depends-on): Likewise.
28442
28443 2008-09-01  Bruno Haible  <bruno@clisp.org>
28444
28445         Split module 'filename' into 'filename' and 'concat-filename'.
28446         * modules/filename: Keep only lib/filename.h.
28447         (License): Change to LGPLv2+.
28448         * modules/concat-filename: New file, extracted from modules/filename.
28449         * lib/filename.h (concatenated_filename): Remove declaration.
28450         * lib/concat-filename.h: New file, extracted from lib/filename.h.
28451         * lib/concat-filename.c: Include concat-filename.h.
28452         * NEWS: Mention the change.
28453
28454 2008-09-01  Simon Josefsson  <simon@josefsson.org>
28455
28456         * lib/bitrotate.h (rotl8, rotr8): Add.
28457
28458         * modules/bitrotate (configure.ac): Need
28459         AC_REQUIRE([AC_C_INLINE]).
28460         (Description): Mention stdint.h.  Reported by Bruno Haible
28461         <bruno@clisp.org>.
28462
28463         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
28464         Paolo Bonzini <bonzini@gnu.org>.
28465
28466 2008-08-31  Bruno Haible  <bruno@clisp.org>
28467
28468         Assume Solaris specific bi-arch conventions on Solaris systems.
28469         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
28470         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
28471         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
28472         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
28473         like acl_libdirstem.
28474         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
28475         acl_libdirstem.
28476         * NEWS: Mention the change.
28477         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
28478
28479 2008-08-31  Jim Meyering  <meyering@redhat.com>
28480
28481         * lib/strftime.h: Add comments describing the two added arguments.
28482
28483         remove duplicate #include directives
28484         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
28485         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
28486
28487 2008-08-31  Bruno Haible  <bruno@clisp.org>
28488
28489         New module 'sigpipe-die'.
28490         * modules/sigpipe-die: New file.
28491         * lib/sigpipe-die.h: New file.
28492         * lib/sigpipe-die.c: New file.
28493         * MODULES.html.sh (Signal handling): Add sigpipe-die.
28494
28495 2008-08-31  Bruno Haible  <bruno@clisp.org>
28496
28497         Don't override previously installed signal handlers.
28498         * lib/fatal-signal.c (saved_sigactions): New variable.
28499         (uninstall_handlers): Reset the signal to the saved handler, not
28500         to SIG_DFL (except when ignored).
28501         (install_handlers): Save the previous handlers.
28502
28503 2008-08-30  Bruno Haible  <bruno@clisp.org>
28504
28505         * gnulib-tool (func_reset_sigpipe): New function.
28506         (func_get_automake_snippet, func_modules_transitive_closure,
28507         func_import): Invoke it before a join command that reads from stdin,
28508         to avoid "echo: write error: Broken pipe" error messages on stderr.
28509         Reported by Sam Steingold <sds@gnu.org>.
28510
28511 2008-08-30  Bruno Haible  <bruno@clisp.org>
28512
28513         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
28514         Code copied from m4/open.m4.
28515         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
28516         access and the filename ends in a slash. Code copied from lib/open.c.
28517         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
28518         * tests/test-fopen.c (main): Check against bug with trailing slash.
28519
28520 2008-08-29  Bruno Haible  <bruno@clisp.org>
28521
28522         Avoid some "gcc -pedantic" warnings.
28523         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
28524         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
28525         * lib/dirent.in.h: Likewise.
28526         * lib/fcntl.in.h: Likewise.
28527         * lib/float.in.h: Likewise.
28528         * lib/iconv.in.h: Likewise.
28529         * lib/inttypes.in.h: Likewise.
28530         * lib/locale.in.h: Likewise.
28531         * lib/math.in.h: Likewise.
28532         * lib/netinet_in.in.h: Likewise.
28533         * lib/search.in.h: Likewise.
28534         * lib/signal.in.h: Likewise.
28535         * lib/stdarg.in.h: Likewise.
28536         * lib/stdint.in.h: Likewise.
28537         * lib/stdio.in.h: Likewise.
28538         * lib/stdlib.in.h: Likewise.
28539         * lib/string.in.h: Likewise.
28540         * lib/strings.in.h: Likewise.
28541         * lib/sys_select.in.h: Likewise.
28542         * lib/sys_socket.in.h: Likewise.
28543         * lib/sys_stat.in.h: Likewise.
28544         * lib/sys_time.in.h: Likewise.
28545         * lib/sysexits.in.h: Likewise.
28546         * lib/time.in.h: Likewise.
28547         * lib/unistd.in.h: Likewise.
28548         * lib/wchar.in.h: Likewise.
28549         * lib/wctype.in.h: Likewise.
28550         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
28551         * modules/fchdir (Makefile.am): Likewise.
28552         * modules/fcntl (Makefile.am): Likewise.
28553         * modules/float (Makefile.am): Likewise.
28554         * modules/iconv_open (Makefile.am): Likewise.
28555         * modules/inttypes (Makefile.am): Likewise.
28556         * modules/locale (Makefile.am): Likewise.
28557         * modules/math (Makefile.am): Likewise.
28558         * modules/netinet_in (Makefile.am): Likewise.
28559         * modules/search (Makefile.am): Likewise.
28560         * modules/signal (Makefile.am): Likewise.
28561         * modules/stdarg (Makefile.am): Likewise.
28562         * modules/stdint (Makefile.am): Likewise.
28563         * modules/stdio (Makefile.am): Likewise.
28564         * modules/stdlib (Makefile.am): Likewise.
28565         * modules/string (Makefile.am): Likewise.
28566         * modules/strings (Makefile.am): Likewise.
28567         * modules/sys_select (Makefile.am): Likewise.
28568         * modules/sys_socket (Makefile.am): Likewise.
28569         * modules/sys_stat (Makefile.am): Likewise.
28570         * modules/sys_time (Makefile.am): Likewise.
28571         * modules/sysexits (Makefile.am): Likewise.
28572         * modules/time (Makefile.am): Likewise.
28573         * modules/unistd (Makefile.am): Likewise.
28574         * modules/wchar (Makefile.am): Likewise.
28575         * modules/wctype (Makefile.am): Likewise.
28576         Reported by Reuben Thomas <rrt@sc3d.org>.
28577
28578 2008-08-29  Bruno Haible  <bruno@clisp.org>
28579
28580         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
28581         any more.
28582
28583 2008-08-29  Simon Josefsson  <simon@josefsson.org>
28584
28585         * MODULES.html.sh (Misc): Add bitrotate.
28586
28587         * modules/bitrotate: New file.
28588
28589         * lib/bitrotate.h: New file.
28590
28591         * modules/bitrotate-tests: New file.
28592
28593         * tests/test-bitrotate.c: New file.
28594
28595         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
28596         on the bitrotate module.
28597
28598         * lib/arctwo.c: Use new bitrotate module.
28599
28600 2008-08-29  Jim Meyering  <meyering@redhat.com>
28601
28602         bootstrap: merge changes from coreutils
28603         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
28604         of copied files.  Remove a kludge, now that this is fixed.
28605         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
28606         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
28607         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
28608
28609 2008-08-29  Bruno Haible  <bruno@clisp.org>
28610
28611         * MODULES.html.sh: Remove --cvs-urls option.
28612
28613 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
28614
28615         maint.mk: adjust to file name change
28616         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
28617
28618 2008-08-28  Jim Meyering  <meyering@redhat.com>
28619
28620         * modules/getndelim2 (License): Relicense to LGPLv2+.
28621         Approved by Richard Stallman for the version of 1995, and by
28622         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
28623
28624 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
28625
28626         * lib/getdelim.c (flockfile, funlockfile): Make all of them
28627         dummy if one is not available.  Do not touch them if
28628         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
28629         (getc_maybe_unlocked): New.
28630         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
28631
28632 2008-08-26  Eric Blake  <ebb9@byu.net>
28633
28634         doc/INSTALL: resync from autoconf
28635         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
28636         (INSTALL_PRELUDE): Delete; this is done more efficiently by
28637         moving...
28638         * install.texi [!autoconf]: ...here.  Resync from autoconf.
28639         * INSTALL: Regenerate.
28640         * INSTALL.ISO: New file.
28641         * INSTALL.UTF-8: Likewise.
28642
28643 2008-08-26  Jim Meyering  <meyering@redhat.com>
28644
28645         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
28646         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
28647         these definitions conditional, so that they may be overridden, too.
28648
28649 2008-08-26  Bruno Haible  <bruno@clisp.org>
28650
28651         Generate INSTALL file variants with prettier quotes.
28652         * doc/Makefile (INSTALL_PRELUDE): New macro.
28653         (INSTALL): Use it.
28654         (INSTALL.ISO, INSTALL.UTF-8): New rules.
28655
28656 2008-08-26  Bruno Haible  <bruno@clisp.org>
28657
28658         Run makeinfo in an English locale.
28659         * doc/Makefile (MAKEINFO): New variable.
28660
28661 2008-08-26  Bruno Haible  <bruno@clisp.org>
28662
28663         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
28664         Suggested by Eric Blake.
28665
28666 2008-08-25  Bruno Haible  <bruno@clisp.org>
28667
28668         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
28669
28670 2008-08-25  Eric Blake  <ebb9@byu.net>
28671
28672         c-stack: test that stack overflow can be caught
28673         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
28674         that platform allows handling stack overflow; at least OS/2 EMX
28675         has sigaltstack, but crashes before transferring control to
28676         handler on stack overflow.
28677         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
28678         check for HAVE_STACK_OVERFLOW_HANDLING.
28679         Reported by Elbert Pol.
28680
28681 2008-08-25  Bruno Haible  <bruno@clisp.org>
28682
28683         * doc/posix-functions/strftime.texi: Fix description of strftime
28684         module.
28685
28686 2008-08-24  Bruno Haible  <bruno@clisp.org>
28687
28688         * tests/uniwidth/test-uc_width2.c: New file.
28689         * tests/uniwidth/test-uc_width2.sh: New file.
28690         * modules/uniwidth/width-tests (Files): Add the new files.
28691         (TESTS): Add uniwidth/test-uc_width2.sh.
28692         (TESTS_ENVIRONMENT): New variable.
28693         (check_PROGRAMS): Add test-uc_width2.
28694         (test_uc_width2_SOURCES): New variable.
28695
28696         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
28697         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
28698         not 0x00AB.
28699         Reported by Alexander V. Lukyanov <lav@netis.ru>.
28700
28701 2008-08-22  Eric Blake  <ebb9@byu.net>
28702
28703         test-lock, test-tls: mention why a test is skipped
28704         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
28705         skipped.
28706         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
28707
28708         count-one-bits: relax license
28709         * modules/count-one-bits (License): Relicense to LGPLv2+.
28710         Suggested by Ludovic Courtès, approved by Ben Pfaff.
28711
28712 2008-08-22  Andreas Schwab  <schwab@suse.de>
28713
28714         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
28715         Remove spurious space in assignment.
28716
28717 2008-08-21  Simon Josefsson  <simon@josefsson.org>
28718
28719         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
28720         Paul Eggert <eggert@CS.UCLA.EDU>.
28721
28722 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
28723
28724         * modules/gettext: Add m4/threadlib.m4.
28725
28726 2008-08-19  Eric Blake  <ebb9@byu.net>
28727
28728         test-c-stack: fix compilation failure on FreeBSD 5.0
28729         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
28730         headers before <sys/resource.h>.
28731         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
28732         the bug.
28733         Reported by Nelson H. F. Beebe.
28734
28735         strverscmp: migrate from "strverscmp.h" to <string.h>
28736         * modules/string (Makefile.am): Add new hooks.
28737         * modules/strverscmp (Files): Remove strverscmp.h.
28738         (Depends-on): Add string.
28739         (configure.ac): Add indicator.
28740         (Include): Mention new header.
28741         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
28742         defaults.
28743         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
28744         results.
28745         * lib/strverscmp.h: Delete.
28746         * lib/string.in.h (strverscmp): Provide declaration, when needed.
28747         * tests/test-strverscmp.c (includes): Adjust client.
28748         * lib/check-version.c (includes): Likewise.
28749         * NEWS: Document the change.
28750
28751         strverscmp: add unit test
28752         * modules/strverscmp-tests: New file.
28753         * tests/test-strverscmp.c: Likewise.
28754
28755 2008-08-19  Simon Josefsson  <simon@josefsson.org>
28756
28757         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
28758         regarding Windows crypto stuff, from Mono.
28759
28760 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
28761
28762         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
28763         if present, for intel RND.  Return error on failures.
28764
28765 2008-08-18  Ben Pfaff  <blp@gnu.org>
28766
28767         gitlog-to-changelog: give better diagnostic for failed pipe-open
28768         * build-aux/gitlog-to-changelog: Improve error message: suggest
28769         that the version of Git may be too old.
28770
28771 2008-08-18  Simon Josefsson  <simon@josefsson.org>
28772
28773         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
28774         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
28775
28776 2008-08-18  Bruno Haible  <bruno@clisp.org>
28777
28778         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
28779         pthread_in_use().
28780
28781 2008-08-18  Bruno Haible  <bruno@clisp.org>
28782
28783         * lib/glthread/threadlib.c: Include <pthread.h>.
28784
28785 2008-08-18  Bruno Haible  <bruno@clisp.org>
28786
28787         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
28788         glthread_recursive_lock_* macros.
28789         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
28790         Fix syntax error.
28791
28792 2008-08-18  Bruno Haible  <bruno@clisp.org>
28793
28794         * lib/glthread/thread.c: Avoid forcing a context switch right after
28795         thread creation.
28796
28797 2008-08-17  Bruno Haible  <bruno@clisp.org>
28798
28799         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
28800         * lib/glthread/thread.h: Provide Win32 specific implementation.
28801         * modules/thread (Files): Add lib/glthread/thread.c.
28802         (Depends-on): Add lock.
28803         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
28804
28805 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28806
28807         New module 'yield'.
28808         * modules/yield: New file.
28809         * lib/glthread/yield.h: New file.
28810         * m4/yield.m4: New file.
28811         * MODULES.html.sh (Multithreading): Add yield.
28812
28813 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28814
28815         New module 'thread'.
28816         * modules/thread: New file.
28817         * lib/glthread/thread.h: New file.
28818         * m4/thread.m4: New file.
28819         * MODULES.html.sh (Multithreading): Add thread.
28820
28821 2008-08-17  Bruno Haible  <bruno@clisp.org>
28822
28823         * lib/glthread/lock.h: Include <stdlib.h> always.
28824         * lib/glthread/tls.h: Likewise.
28825         * lib/glthread/cond.h: Likewise.
28826
28827 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
28828
28829         New module 'cond'.
28830         * modules/cond: New file.
28831         * lib/glthread/cond.h: New file.
28832         * lib/glthread/cond.c: New file.
28833         * m4/cond.m4: New file.
28834         * MODULES.html.sh (Multithreading): Add cond.
28835
28836 2008-08-16  Eric Blake  <ebb9@byu.net>
28837
28838         c-stack: fix regression on Irix 5.3 from 2008-06-21
28839         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
28840         sa_sigaction...
28841         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
28842         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
28843         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
28844         * modules/signal (Makefile.am): Use the value.
28845         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
28846         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
28847         * doc/posix-headers/signal.texi (signal.h): Document this
28848         portability issue.
28849         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
28850         Reported by Tom G. Christensen.
28851
28852 2008-08-17  Bruno Haible  <bruno@clisp.org>
28853
28854         New module 'threadlib'.
28855         * modules/threadlib: New file.
28856         * lib/glthread/threadlib.c: New file, extracted from
28857         lib/glthread/lock.c.
28858         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
28859         functions.
28860         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
28861         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
28862         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
28863         macros.
28864         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
28865         (gl_DISABLE_THREADS): Remove macro.
28866         * modules/lock (Files): Remove build-aux/config.rpath.
28867         (Depends-on): Remove havelib. Add threadlib.
28868         (configure.ac-early): Remove section.
28869         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
28870         * modules/tls (Depends-on): Remove lock. Add threadlib.
28871         (Link): New section, copied from threadlib.
28872         * MODULES.html.sh (Multithreading): Add threadlib.
28873
28874 2008-08-14  Bruno Haible  <bruno@clisp.org>
28875
28876         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
28877         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
28878         glthread_rwlock_unlock, glthread_rwlock_destroy,
28879         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
28880         glthread_recursive_lock_destroy): Define as macros always.
28881         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
28882         glthread_lock_lock.
28883         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
28884         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
28885         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
28886         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
28887         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
28888         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
28889         (glthread_recursive_lock_lock_func): Renamed from
28890         glthread_recursive_lock_lock.
28891         (glthread_recursive_lock_unlock_func): Renamed from
28892         glthread_recursive_lock_unlock.
28893         (glthread_recursive_lock_destroy_func): Renamed from
28894         glthread_recursive_lock_destroy.
28895
28896 2008-08-14  Bruno Haible  <bruno@clisp.org>
28897
28898         * lib/glthread/lock.h: Renamed from lib/lock.h.
28899         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
28900         * lib/glthread/tls.h: Renamed from lib/tls.h.
28901         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
28902         * lib/fstrcmp.c: Update includes.
28903         * lib/strsignal.c: Update includes.
28904         * modules/lock (Files, Makefile.am): Update.
28905         (Include): Change to "glthread/lock.h".
28906         * modules/tls (Files, Makefile.am): Update.
28907         (Include): Change to "glthread/tls.h".
28908         * tests/test-lock.c: Update includes.
28909         * tests/test-tls.c: Update includes.
28910         * NEWS: Mention the renamed header files.
28911
28912 2008-08-11  Jim Meyering  <meyering@redhat.com>
28913
28914         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
28915
28916 2008-08-11  Eric Blake  <ebb9@byu.net>
28917
28918         test-c-stack: avoid C99-ism
28919         * tests/test-c-stack.c (main): Fix whitespace, move declaration
28920         before statement.
28921         Reported by Alain Guibert.
28922
28923 2008-08-10  Jim Meyering  <meyering@redhat.com>
28924
28925         ensure that return value of uinttostr et al are not ignored
28926         * lib/inttostr.h (__GNUC_PREREQ): Define.
28927         (__attribute_warn_unused_result__): Define.
28928         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
28929
28930 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
28931
28932         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
28933         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
28934
28935 2008-08-07  Jim Meyering  <meyering@redhat.com>
28936
28937         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
28938
28939         * modules/mkstemp (License): Relicense under LGPLv2+.
28940         * modules/tempname (License): Likewise.
28941
28942 2008-08-06  Bruno Haible  <bruno@clisp.org>
28943
28944         * lib/poll.c (poll): Further micro-optimization.
28945
28946 2008-08-06  Jim Meyering  <meyering@redhat.com>
28947
28948         inet_pton.c: use locale-independent tolower
28949         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
28950         (inet_pton6): Use c_tolower rather than tolower.
28951         * modules/inet_pton (Depends-on): Add c-ctype.
28952
28953 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
28954
28955         * lib/poll.c (poll): Avoid division when timeout is 0, cache
28956         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
28957
28958 2008-08-06  Jim Meyering  <meyering@redhat.com>
28959
28960         * modules/inet_pton (License): Relicense under LGPLv2+.
28961
28962 2008-08-03  Bruno Haible  <bruno@clisp.org>
28963
28964         Additional non-aborting API for lock and tls.
28965         * lib/lock.h: Include <errno.h>.
28966         (glthread_lock_init): New macro/function.
28967         (gl_lock_init): Define as wrapper around glthread_lock_init.
28968         (glthread_lock_lock): New macro/function.
28969         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
28970         (glthread_lock_unlock): New macro/function.
28971         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
28972         (glthread_lock_destroy): New macro/function.
28973         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
28974         (glthread_rwlock_init): New macro/function.
28975         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
28976         (glthread_rwlock_rdlock): New macro/function.
28977         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
28978         (glthread_rwlock_wrlock): New macro/function.
28979         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
28980         (glthread_rwlock_unlock): New macro/function.
28981         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
28982         (glthread_rwlock_destroy): New macro/function.
28983         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
28984         (glthread_recursive_lock_init): New macro/function.
28985         (gl_recursive_lock_init): Define as wrapper around
28986         glthread_recursive_lock_init.
28987         (glthread_recursive_lock_lock): New macro/function.
28988         (gl_recursive_lock_lock): Define as wrapper around
28989         glthread_recursive_lock_lock.
28990         (glthread_recursive_lock_unlock): New macro/function.
28991         (gl_recursive_lock_unlock): Define as wrapper around
28992         glthread_recursive_lock_unlock.
28993         (glthread_recursive_lock_destroy): New macro/function.
28994         (gl_recursive_lock_destroy): Define as wrapper around
28995         glthread_recursive_lock_destroy.
28996         (glthread_once): New macro/function.
28997         (gl_once): Define as wrapper around glthread_once.
28998         Update function declarations.
28999         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
29000         glthread_rwlock_init. Return error code.
29001         (glthread_rwlock_rdlock_multithreaded): Renamed from
29002         glthread_rwlock_rdlock. Return error code.
29003         (glthread_rwlock_wrlock_multithreaded): Renamed from
29004         glthread_rwlock_wrlock. Return error code.
29005         (glthread_rwlock_unlock_multithreaded): Renamed from
29006         glthread_rwlock_unlock. Return error code.
29007         (glthread_rwlock_destroy_multithreaded): Renamed from
29008         glthread_rwlock_destroy. Return error code.
29009         (glthread_recursive_lock_init_multithreaded): Renamed from
29010         glthread_recursive_lock_init. Return error code.
29011         (glthread_recursive_lock_lock_multithreaded): Renamed from
29012         glthread_recursive_lock_lock. Return error code.
29013         (glthread_recursive_lock_unlock_multithreaded): Renamed from
29014         glthread_recursive_lock_unlock. Return error code.
29015         (glthread_recursive_lock_destroy_multithreaded): Renamed from
29016         glthread_recursive_lock_destroy. Return error code.
29017         (glthread_once_call): Make static.
29018         (glthread_once_multithreaded): Renamed from glthread_once.
29019         * lib/tls.h: Include <errno.h>.
29020         (glthread_tls_key_init): New macro/function.
29021         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
29022         (glthread_tls_set): New macro/function.
29023         (gl_tls_set): Define as wrapper around glthread_tls_set.
29024         (glthread_tls_key_destroy): New macro/function.
29025         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
29026         Update function declarations.
29027         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
29028         glthread_tls_get.
29029         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
29030
29031 2008-08-04  Eric Blake  <ebb9@byu.net>
29032
29033         gnumakefile: use space, not TAB, outside of targets
29034         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
29035
29036 2008-08-02  Jim Meyering  <meyering@redhat.com>
29037
29038         getdate.y: avoid locale-dependent date parsing failure
29039         In Turkish locales, getdate would fail to recognize keywords
29040         containing a lowercase "i".  The solution is not to rely on
29041         locale-sensitive case-conversion.
29042         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
29043         (lookup_word): Use c_toupper in place of toupper.
29044         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
29045         Reported by Vefa Bicakci <bicave@superonline.com> in
29046         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
29047         * modules/getdate (Depends-on): Add c-ctype.
29048
29049 2008-08-02  Bruno Haible  <bruno@clisp.org>
29050
29051         * gnulib-tool (func_import): When updating or creating a .gitignore
29052         file, prepend each added line with a slash, and ignore leading slashes
29053         from the existing lines.
29054         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
29055
29056 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29057
29058         Portability fix for GNU make 3.79.1.
29059         * top/GNUmakefile: Avoid 'else COND', which older GNU make
29060         versions do not understand.
29061
29062 2008-08-01  Bruno Haible  <bruno@clisp.org>
29063
29064         Work around bug of HP-UX 10.20 cc with -0.0 literal.
29065         * tests/test-isnanf.h (zero): New variable.
29066         (main): Avoid literal -0.0f.
29067         * tests/test-isnand.h (zero): New variable.
29068         (main): Avoid literal -0.0.
29069         * tests/test-isnanl.h (zero): New variable.
29070         (main): Avoid literal -0.0L.
29071         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
29072         (test_float, test_double, test_long_double): Avoid literals -0.0f,
29073         -0.0, -0.0L.
29074         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
29075         (test_signbitd): Avoid literal -0.0.
29076         (test_signbitl): Avoid literal -0.0L.
29077         * tests/test-ceilf1.c (zero): New variable.
29078         (main): Avoid literal -0.0f.
29079         * tests/test-ceill.c (zero): New variable.
29080         (main): Avoid literal -0.0L.
29081         * tests/test-floorf1.c (zero): New variable.
29082         (main): Avoid literal -0.0f.
29083         * tests/test-floorl.c (zero): New variable.
29084         (main): Avoid literal -0.0L.
29085         * tests/test-roundf1.c (zero): New variable.
29086         (main): Avoid literal -0.0f.
29087         * tests/test-round1.c (zero): New variable.
29088         (main): Avoid literal -0.0.
29089         * tests/test-roundl.c (zero): New variable.
29090         (main): Avoid literal -0.0L.
29091         * tests/test-truncf1.c (zero): New variable.
29092         (main): Avoid literal -0.0f.
29093         * tests/test-trunc1.c (zero): New variable.
29094         (main): Avoid literal -0.0.
29095         * tests/test-truncl.c (zero): New variable.
29096         (main): Avoid literal -0.0L.
29097         * tests/test-frexp.c (zero): New variable.
29098         (main): Avoid literal -0.0.
29099         * tests/test-frexpl.c (zero): New variable.
29100         (main): Avoid literal -0.0L.
29101         * tests/test-ldexpl.c (zero): New variable.
29102         (main): Avoid literal -0.0L.
29103         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
29104         (zerod, zerol): New variables.
29105         (test_function): Avoid literals -0.0, -0.0L.
29106         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
29107         (zerod, zerol): New variables.
29108         (test_function): Avoid literals -0.0, -0.0L.
29109         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
29110         (zerod, zerol): New variables.
29111         (test_function): Avoid literals -0.0, -0.0L.
29112         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
29113         (zerod, zerol): New variables.
29114         (test_function): Avoid literals -0.0, -0.0L.
29115         * tests/test-strtod.c (zero): New variable.
29116         (main): Avoid literal -0.0.
29117         Reported by Jonathan C. Patschke <jp@centtech.com>.
29118
29119 2008-07-31  Jim Meyering  <meyering@redhat.com>
29120
29121         sha256.h: correct definition of SHA224_DIGEST_SIZE
29122         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
29123         Reported by Paulie Pena IV <paulie4@gmail.com>.
29124         Define as 224 / 8, rather than as a literal.
29125         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
29126         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
29127         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
29128
29129 2008-07-31  Bruno Haible  <bruno@clisp.org>
29130
29131         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
29132         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
29133         Reported by Jonathan Patschke <jp@centtech.com>.
29134
29135 2008-07-31  Bruno Haible  <bruno@clisp.org>
29136
29137         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
29138         Reported by Paolo Bonzini <bonzini@gnu.org>.
29139
29140 2008-07-30  Eric Blake  <ebb9@byu.net>
29141
29142         test-strtod: allow compilation without -lm
29143         * tests/test-strtod.c (main): Avoid link dependence on fabs.
29144         Reported by Dennis Clarke <blastwave@gmail.com>.
29145
29146 2008-07-28  Jim Meyering  <meyering@redhat.com>
29147
29148         bootstrap: work also when there are no .po files in po/
29149         * build-aux/bootstrap (update_po_files): Complete the change
29150         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
29151
29152 2008-07-27  Jim Meyering  <meyering@redhat.com>
29153
29154         * users.txt: Add zile.
29155
29156 2008-07-26  Ben Pfaff  <blp@gnu.org>
29157
29158         Add missing dependencies on new m4/exponent[fdl].m4 files.
29159         * modules/isnanf-nolibm: Add m4/exponentf.m4.
29160         * modules/isnand-nolibm: Add m4/exponentd.m4.
29161         * modules/isnanl-nolibm: Add m4/exponentl.m4.
29162         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
29163         m4/isnan[fdl].m4, because the macros actually used moved.
29164         Reported by Jim Meyering.
29165
29166 2008-07-14  Ben Pfaff  <blp@gnu.org>
29167
29168         Add isinf module.
29169         * lib/isinf.c: New file.
29170         * lib/math.in.h: Define isinf macro if we have decided to replace
29171         it.
29172         * m4/isinf.m4: New file.
29173         * m4/math_h.m4: Initialize and substitute variables for isinf
29174         module.
29175         * modules/isinf: New file.
29176         * modules/isinf-tests: New file.
29177         * modules/math: Add substitutions for new module.
29178         * tests/test-isinf.c: New file.
29179         * doc/posix-functions/isinf.texi: Mention new module.
29180         * MODULES.html.sh: Mention new module.
29181
29182 2008-07-14  Ben Pfaff  <blp@gnu.org>
29183
29184         Factor out some macros for use by additional modules.
29185         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
29186         exponentf.m4.
29187         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
29188         exponentd.m4.
29189         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
29190         file exponentl.m4.
29191         * m4/exponentf.m4: New file.
29192         * m4/exponentd.m4: New file.
29193         * m4/exponentl.m4: New file.
29194         * modules/isnanf: Use new file m4/exponentf.m4.
29195         * modules/isnand: Use new file m4/exponentd.m4.
29196         * modules/isnanl: Use new file m4/exponentl.m4.
29197
29198 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
29199
29200         mktime.c: normalize tp->tm_isdst value to -1/0/1.
29201         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
29202         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
29203         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
29204
29205         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
29206         readlink on platforms without PATH_MAX.
29207
29208 2008-07-21  Eric Blake  <ebb9@byu.net>
29209
29210         Warn, not fail, on stale version.
29211         * top/GNUmakefile (_curr-ver): Tone down previous patch.
29212
29213         Don't allow installation with stale devel version number.
29214         * top/GNUmakefile (_is-install-target): New macro.
29215         (_curr-ver): Forbid installation with stale version number.
29216
29217 2008-07-20  Bruno Haible  <bruno@clisp.org>
29218
29219         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
29220         TESTS_ENVIRONMENT.
29221         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
29222
29223 2008-07-20  Bruno Haible  <bruno@clisp.org>
29224
29225         * lib/c-stack.h (c_stack_action): Add documentation.
29226         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
29227
29228 2008-07-20  Bruno Haible  <bruno@clisp.org>
29229
29230         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
29231         * modules/readlink (License): Likewise.
29232
29233 2008-07-17  Eric Blake  <ebb9@byu.net>
29234
29235         * modules/c-stack (Link): Fix typo.
29236
29237         Make c-stack use libsigsegv, when available.
29238         * modules/c-stack (Depends-on): Add libsigsegv.
29239         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
29240         needed.
29241         * lib/c-stack.c (SIGSTKSZ): Define fallback.
29242         (segv_handler, overflow_handler, c_stack_action)
29243         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
29244         implementation when libsigsegv is available, but only when using
29245         the library is necessary.
29246         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
29247         comment, explaining why XSI check fails on Linux.
29248         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
29249         * tests/test-c-stack2.sh: Tweak skip message.
29250         * NEWS: Document new link-time requirements.
29251
29252 2008-07-16  Eric Blake  <ebb9@byu.net>
29253
29254         c-stack: Expose false positives when not using libsigsegv.
29255         * modules/c-stack-tests (Files): Expand test.
29256         * tests/test-c-stack.c (main): Add means to conditionally trigger
29257         non-overflow SIGSEGV.
29258         * tests/test-c-stack2.sh: New file.
29259
29260 2008-07-14  Bruno Haible  <bruno@clisp.org>
29261
29262         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
29263         Reported by Eric Blake.
29264
29265 2008-07-14  Sam Steingold  <sds@gnu.org>
29266             Bruno Haible  <bruno@clisp.org>
29267
29268         New module libsigsegv.
29269         * modules/libsigsegv: New file.
29270         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
29271         modifications.
29272         * MODULES.html.sh (Signal handling): New section.
29273
29274 2008-07-14  Bruno Haible  <bruno@clisp.org>
29275
29276         * modules/unictype/ctype-* (Description): Add the word "function".
29277         Improves the resulting doc in MODULES.html.
29278
29279 2008-07-12  Ben Pfaff  <blp@gnu.org>
29280
29281         Add longlong module.
29282         * modules/longlong: New file.
29283
29284 2008-07-12  Bruno Haible  <bruno@clisp.org>
29285
29286         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
29287         to empty.
29288
29289 2008-07-10  Ben Pfaff  <blp@gnu.org>
29290
29291         Add isnan module.
29292         * doc/posix-functions/isnan.texi: Mention new module.
29293         * lib/math.in.h: Define isnan macro if we have decided to replace
29294         it.
29295         * m4/isnan.m4: New file.
29296         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
29297         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
29298         also.
29299         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
29300         redundancy.
29301         * m4/math_h.m4: Initialize and substitute variables for isnan
29302         module.
29303         * modules/isnan: New file.
29304         * modules/isnan-tests: New file.
29305         * modules/math: Add substitutions for new module.
29306         * tests/test-isnan.c: New file.
29307         * MODULES.html.sh: Mention new module.
29308
29309 2008-07-10  Ben Pfaff  <blp@gnu.org>
29310
29311         Add isnanf module.
29312         * lib/isnanf.m4: New file.
29313         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
29314         (gl_HAVE_ISNANF_IN_LIBM): New macro.
29315         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
29316         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
29317         * modules/isnanf: New file.
29318         * modules/isnanf-tests: New file.
29319         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
29320         files.
29321         * tests/test-isnanf-nolibm.c: factored most of its contents into
29322         new file tests/test-isnanf.h.
29323         * tests/test-isnanf.h: New file.
29324         * tests/test-isnanf.c: New file.
29325         * MODULES.html.sh: Mention new module.
29326         * doc/glibc-functions/isnanf.texi: Mention new module.
29327
29328 2008-07-10  Ben Pfaff  <blp@gnu.org>
29329
29330         Add isnand module.
29331         * lib/isnand.h: New file.
29332         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
29333         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
29334         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
29335         functionality also.
29336         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
29337         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
29338         (gl_HAVE_ISNAND_IN_LIBM): New macro.
29339         * modules/isnand: New file.
29340         * modules/isnand-tests: New file.
29341         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
29342         files.
29343         * tests/test-isnand-nolibm.c: factored most of its contents into
29344         new file tests/test-isnand.h.
29345         * tests/test-isnand.h: New file.
29346         * tests/test-isnand.c: New file.
29347         * MODULES.html.sh: Mention new module.
29348
29349 2008-07-10  Ben Pfaff  <blp@gnu.org>
29350
29351         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
29352         * lib/isnand.h: Rename lib/isnand-nolibm.h.
29353         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
29354         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
29355         * modules/isnanf-nolibm: Update references to renamed files.
29356         * modules/isnand-nolibm: Likewise.
29357         * modules/isnanf-nolibm-tests: Likewise.
29358         * modules/isnand-nolibm-tests: Likewise.
29359         * lib/frexp.c: Likewise.
29360         * lib/isfinite.c: Likewise.
29361         * lib/signbitd.c: Likewise.
29362         * lib/signbitf.c: Likewise.
29363         * lib/vasnprintf.c: Likewise.
29364         * tests/test-ceilf1.c: Likewise.
29365         * tests/test-ceilf2.c: Likewise.
29366         * tests/test-floorf1.c: Likewise.
29367         * tests/test-floorf2.c: Likewise.
29368         * tests/test-frexp.c: Likewise.
29369         * tests/test-round1.c: Likewise.
29370         * tests/test-round2.c: Likewise.
29371         * tests/test-roundf1.c: Likewise.
29372         * tests/test-strtod.c: Likewise.
29373         * tests/test-trunc1.c: Likewise.
29374         * tests/test-trunc2.c: Likewise.
29375         * tests/test-truncf1.c: Likewise.
29376         * tests/test-truncf2.c: Likewise.
29377         * NEWS: Mention the renamed header files.
29378
29379 2008-07-11  Jim Meyering  <meyering@redhat.com>
29380
29381         vc-list-files: make the last-resort awk code more portable
29382         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
29383         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
29384         does not support it.
29385
29386 2008-07-10  Eric Blake  <ebb9@byu.net>
29387
29388         Work with tar's bootstrap.
29389         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
29390         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
29391         an m4 comment.
29392
29393 2008-07-09  Jim Meyering  <meyering@redhat.com>
29394
29395         posix-shell.m4: fix typo that made this test malfunction
29396         * m4/posix-shell.m4: Remove capitalization in variable name.
29397
29398 2008-07-08  Bruno Haible  <bruno@clisp.org>
29399
29400         * m4/onceonly.m4: Update comments.
29401         Reported by Ben Pfaff <blp@cs.stanford.edu>.
29402
29403 2008-07-04  Jim Meyering  <meyering@redhat.com>
29404
29405         * users.txt: Add vc-dwim.
29406         (bison, coreutils): Use the gitweb URL.
29407
29408 2008-07-03  Jim Meyering  <meyering@redhat.com>
29409
29410         * users.txt: Add libffcall.  From Sam Steingold.
29411
29412 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
29413
29414         getdate.y: do not ignore TZ with relative day, month or year offset
29415         * lib/getdate.y (get_date): Move the tz-handling block to follow the
29416         relative-date-handling, since otherwise, the latter would clobber the
29417         sole output (an updated Start value) of the tz-handling block.
29418         * tests/test-getdate.c: Tests for the fix
29419
29420 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29421
29422         Recognize 'foo_LIBRARIES += libgnu.a'.
29423         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
29424         makefile snippet has already specified an installation location,
29425         also using '+='.
29426
29427 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
29428
29429         getdate.y: factor out common actions
29430         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
29431         Use them in place of open-coded actions.
29432
29433 2008-07-01  Simon Josefsson  <simon@josefsson.org>
29434
29435         Add self-test for getdate module.
29436         * modules/getdate-tests: New file.
29437         * tests/test-getdate.c: New file.
29438
29439 2008-06-29  Bruno Haible  <bruno@clisp.org>
29440
29441         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
29442         .gitignore.
29443         Reported by Sylvain Beucler <beuc@beuc.net>.
29444
29445 2008-06-29  Bruno Haible  <bruno@clisp.org>
29446
29447         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
29448         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
29449
29450 2008-06-29  Bruno Haible  <bruno@clisp.org>
29451
29452         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
29453         EXTRA_DIST.
29454         Reported by Sylvain Beucler <beuc@beuc.net>.
29455
29456 2008-06-26  Jim Meyering  <meyering@redhat.com>
29457
29458         make several modules depend on the "open" module
29459         This provides slightly increased consistency when opening-for-write
29460         the name of a non-directory spelled with a trailing slash.
29461         * modules/chdir-safer: Likewise.
29462         * modules/chown: Likewise.
29463         * modules/clean-temp: Likewise.
29464         * modules/copy-file: Likewise.
29465         * modules/fchdir: Likewise.
29466         * modules/fcntl-safer: Likewise.
29467         * modules/pipe: Likewise.
29468         * modules/utime: Likewise.
29469         Prompted by Eric Blake and Bruno Haible.
29470
29471 2008-06-24  Andreas Schwab  <schwab@suse.de>
29472
29473         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
29474         literals can be used as initializers for global variables.
29475
29476 2008-06-23  Eric Blake  <ebb9@byu.net>
29477
29478         Make gnulib-cache.m4 easier to diff.
29479         * gnulib-tool (func_import): Allow newlines when reading cached
29480         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
29481
29482 2008-06-23  Bruno Haible  <bruno@clisp.org>
29483
29484         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
29485         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
29486         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
29487         m4/signalblocking.m4.
29488         (gl_PREREQ_SIGACTION): Don't invoke it.
29489         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
29490         gl_PREREQ_SIG_HANDLER_H.
29491         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
29492         Don't check for sigaction here.
29493
29494 2008-06-23  Bruno Haible  <bruno@clisp.org>
29495
29496         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
29497         (install_handlers): Don't set the SA_RESETHAND flag.
29498
29499 2008-06-23  Bruno Haible  <bruno@clisp.org>
29500
29501         * m4/sigaction.m4: Comment fixes.
29502         * lib/signal.in.h: Likewise.
29503
29504 2008-06-23  Eric Blake  <ebb9@byu.net>
29505
29506         Fix typo.
29507         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
29508
29509         Avoid SA_ namespace.
29510         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
29511         Reported by Ralf Wildenhues.
29512
29513         Avoid test failure due to SA_RESTORER.
29514         * tests/test-sigaction.c (SA_MASK): New macro.
29515         (main): Avoid failing due to extension flags being set.
29516         Reported by Jim Meyering.
29517
29518         Revert use of sig-handler.h in sigprocmask.c.
29519         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
29520         it requires the existence of struct sigaction.
29521         * lib/sigprocmask.c (handler_t): Restore typedef.
29522         (rpl_signal, old_handlers): Use local type.
29523
29524 2008-06-22  Bruno Haible  <bruno@clisp.org>
29525
29526         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
29527         conditionally.
29528         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
29529
29530 2008-06-22  Bruno Haible  <bruno@clisp.org>
29531
29532         * doc/posix-functions/siginterrupt.texi: Move note.
29533
29534         * lib/signal.in.h (SA_RESTART): New macro.
29535         * lib/sigaction.c: Update comment.
29536
29537         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
29538
29539         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
29540         (gl_PREREQ_SIGPROCMASK): Invoke it.
29541         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
29542
29543         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
29544
29545         * lib/sigprocmask.c: Update a comment.
29546
29547 2008-06-21  Eric Blake  <ebb9@byu.net>
29548
29549         Use sigaction module rather than signal().
29550         * modules/c-stack (Depends-on): Add sigaction.
29551         * modules/fatal-signal (Depends-on): Likewise.
29552         * modules/nanosleep (Depends-on): Likewise.
29553         * modules/sigprocmask (Files): Add sig-handler.h.
29554         * modules/sigaction (Files): Likewise.
29555         * lib/sig-handler.h (get_handler): New file, suggested by Paul
29556         Eggert.
29557         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
29558         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
29559         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
29560         (init_fatal_signals): Likewise.
29561         * lib/nanosleep.c (rpl_nanosleep): Likewise.
29562         (siginterrupt): Delete fallback.
29563         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
29564         instead.
29565         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
29566         siginterrupt.
29567
29568         New module sigaction, for mingw.
29569         * modules/sigaction: New module...
29570         * modules/sigaction-tests: ...and its test.
29571         * m4/sigaction.m4: New file.
29572         * lib/sigaction.c: Likewise.
29573         * tests/test-sigaction.c: Likewise.
29574         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
29575         * modules/signal (Makefile.am): Likewise.
29576         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
29577         needed.
29578         * doc/posix-headers/signal.texi (signal.h): Mention provided
29579         types.
29580         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
29581         that sigaction is preferable.
29582         * doc/posix-functions/sigaction.texi (sigaction): Mention new
29583         module.
29584         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
29585         sigaction.
29586
29587         Improve robustness of sigprocmask by overriding signal.
29588         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
29589         is in use.
29590         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
29591         (SIGKILL, SIGSTOP): Provide fallbacks.
29592         (rpl_signal): Implement.
29593         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
29594         signal can be called inside handlers.
29595
29596         Fix nanosleep module on mingw.
29597         * modules/nanosleep (Depends-on): Add sys_select.
29598         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
29599
29600         Fix licensing of sigprocmask.
29601         * modules/raise (License): Relicense as LGPL.
29602
29603 2008-06-21  Bruno Haible  <bruno@clisp.org>
29604
29605         * lib/propername.c (proper_name_utf8): Don't use the transliterated
29606         result if it contains question marks.
29607         Reported by Michael Geng <linux@michaelgeng.de>.
29608
29609 2008-06-19  Bruno Haible  <bruno@clisp.org>
29610
29611         Fix CVS-ism.
29612         * doc/gnulib.texi: Include updated-stamp.texi.
29613         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
29614         (updated-stamp.texi): New rule.
29615         (gnulib.info): Depend on it.
29616         * doc/.gitignore: Add updated-stamp.texi.
29617         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
29618
29619 2008-06-19  Bruno Haible  <bruno@clisp.org>
29620
29621         * doc/Makefile (gnulib.info): Update and simplify dependencies.
29622         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
29623
29624 2008-06-19  Eric Blake  <ebb9@byu.net>
29625
29626         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
29627         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
29628         Reported by Stepan Kasal.
29629
29630 2008-06-18  Bruno Haible  <bruno@clisp.org>
29631
29632         * lib/fatal-signal.c (init_fatal_signals): Add comment.
29633         Reported by Eric Blake.
29634
29635 2008-06-18  Eric Blake  <ebb9@byu.net>
29636
29637         Work around cygwin 1.5.25 strsignal bug.
29638         * tests/test-strsignal.c: Allow for const char *.
29639         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
29640
29641 2008-06-18  Simon Josefsson  <simon@josefsson.org>
29642
29643         * users.txt: Update URL to article and add author/date
29644         information.
29645
29646 2008-06-17  Bruno Haible  <bruno@clisp.org>
29647
29648         New macro gl_DISABLE_THREADS.
29649         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
29650         if the user did not pass --enable-threads or --disable-threads option.
29651         (gl_DISABLE_THREADS): New macro.
29652         Reported by Eric Blake <ebb9@byu.net>.
29653
29654 2008-06-17  Bruno Haible  <bruno@clisp.org>
29655
29656         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
29657         when the macro ignores it.
29658         Based on a patch by Eric Blake <ebb9@byu.net>.
29659
29660 2008-06-17  Bruno Haible  <bruno@clisp.org>
29661
29662         * modules/tls (License): Change to LGPLv2+.
29663         Reported by Eric Blake.
29664
29665 2008-06-17  Eric Blake  <ebb9@byu.net>
29666
29667         Simplify c-stack prerequisites.
29668         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
29669         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
29670         no longer requires <ucontext.h> to exist.  Optimize setrlimit
29671         check.
29672         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
29673         <sys/resource.h>.
29674
29675         Move c-stack test into testsuite.
29676         * modules/c-stack-tests: New file.
29677         * lib/c-stack.c [DEBUG]: Move test program...
29678         * tests/test-c-stack.c: ...into this new file.  Skip rather than
29679         fail test if sigaltstack is lacking.
29680         * tests/test-c-stack.sh: New driver file.
29681
29682 2008-06-16  Eric Blake  <ebb9@byu.net>
29683
29684         Use raise module consistently.
29685         * modules/fatal-signal (Depends-on): Add raise.
29686         * modules/sigprocmask (Depends-on): Likewise.
29687         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
29688         * lib/sigprocmask.c (sigprocmask): Likewise.
29689         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
29690         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
29691
29692         Fix compliance bug in sigpending.
29693         * lib/sigprocmask.c (sigpending): Return pending array via
29694         parameter, not return value.
29695
29696 2008-06-14  Eric Blake  <ebb9@byu.net>
29697
29698         Improve obstack-printf test code.
29699         * tests/test-obstack-printf.c (test_function): Fix comment, and
29700         simplify usage of obstack_* in macros.  Add a test for coverage.
29701         Reported by Bruno Haible.
29702
29703 2008-06-14  Bruno Haible  <bruno@clisp.org>
29704
29705         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
29706         array size as a constant, not as a const variable.
29707         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
29708         AC_USE_SYSTEM_EXTENSIONS.
29709         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
29710         Test whether the obstack_printf function actually exists.
29711         * modules/obstack-printf (Depends-on): Add extensions.
29712         (Include): Remove obstack.h.
29713         * modules/obstack-printf-posix (Depends-on): Add extensions.
29714         (Include): Remove obstack.h.
29715
29716 2008-06-13  Eric Blake  <ebb9@byu.net>
29717
29718         Add obstack-printf and obstack-printf-posix modules.
29719         * modules/obstack-printf: New file.
29720         * modules/obstack-printf-posix: Likewise.
29721         * MODULES.html.sh (Misc): Mention them.
29722         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
29723         Likewise.
29724         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
29725         Likewise.
29726         * modules/stdio (Makefile.am): Accomodate new modules.
29727         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
29728         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
29729         Declare.
29730         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
29731         functions.
29732         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
29733         (gl_REPLACE_OBSTACK_PRINTF): New macros
29734         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
29735         * tests/test-obstack-printf.c: New file.
29736         * modules/obstack-printf-tests: Likewise.
29737         * modules/obstack-printf-posix-tests: Likewise.
29738
29739 2008-06-11  Bruno Haible  <bruno@clisp.org>
29740
29741         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
29742         * lib/open.c: Include errno.h.
29743         (open): Fail when attempting to write to a file that has a trailing
29744         slash.
29745         * tests/test-open.c (main): Test against trailing slash bug.
29746         * doc/posix-functions/open.texi: Mention the trailing slash bug.
29747
29748 2008-06-10  Bruno Haible  <bruno@clisp.org>
29749
29750         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
29751         for $? to work inside the trap command, with various /bin/sh-s.
29752         * tests/test-vc-list-files-cvs.sh: Likewise.
29753
29754 2008-06-10  Bruno Haible  <bruno@clisp.org>
29755
29756         * lib/acl-internal.h: Don't include gettext.h here.
29757         * lib/set-mode-acl.c: Include gettext.h here.
29758         * lib/copy-acl.c: Likewise.
29759
29760 2008-06-10  Bruno Haible  <bruno@clisp.org>
29761
29762         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
29763         * lib/wait-process.c (wait_subprocess): Likewise.
29764         * lib/execute.h (execute): Add termsigp argument.
29765         * lib/execute.c (execute): Likewise.
29766         * lib/csharpcomp.c (compile_csharp_using_pnet,
29767         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
29768         * lib/csharpexec.c (execute_csharp_using_pnet,
29769         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
29770         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
29771         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
29772         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
29773         is_jikes_present): Update.
29774         * lib/javaexec.c (execute_java_class): Update.
29775         * lib/javaversion.c (execute_and_read_line): Update.
29776         * NEWS: Document the changes.
29777         Reported by Eric Blake.
29778
29779 2008-06-10  Eric Blake  <ebb9@byu.net>
29780
29781         Add missing include.
29782         * tests/test-strstr.c (includes): Add <signal.h>.
29783         * tests/test-strcasestr.c (includes): Likewise.
29784         * tests/test-memmem.c (includes): Likewise.
29785
29786 2008-06-10  Bruno Haible  <bruno@clisp.org>
29787
29788         * lib/wait-process.c (wait_subprocess): Add an assertion.
29789
29790 2008-06-10  Bruno Haible  <bruno@clisp.org>
29791
29792         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
29793
29794 2008-06-10  Bruno Haible  <bruno@clisp.org>
29795
29796         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
29797         using alarm().
29798         * tests/test-strcasestr.c (main): Likewise.
29799         * tests/test-strstr.c (main): Likewise.
29800
29801 2008-06-09  Bruno Haible  <bruno@clisp.org>
29802
29803         Work around the Solaris 10 ACE ACLs ABI change.
29804         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
29805         declare if ACL_NO_TRIVIAL is present.
29806         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
29807         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
29808         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
29809         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
29810         define if ACL_NO_TRIVIAL is present.
29811         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
29812         and use the current ABI.
29813         (file_has_acl): Use same #if condition as elsewhere.
29814         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
29815         in use, and use the current ABI.
29816         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
29817         Reported by Jim Meyering.
29818
29819 2008-06-09  Eric Blake  <ebb9@byu.net>
29820
29821         Work around environments that (stupidly) ignore SIGALRM.
29822         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
29823         before using alarm().
29824         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
29825         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
29826         Reported by Ian Beckwith <ianb@erislabs.net>.
29827
29828         Produce autobuild blurb earlier in log.
29829         * modules/autobuild (configure.ac-early): Move AB_INIT here.
29830
29831 2008-06-09  Jim Meyering  <meyering@redhat.com>
29832         and Ondřej Vašík  <ovasik@redhat.com>
29833
29834         utimens.c: correct kernel bug work-around
29835         Ondřej Vašík found that the invalid return value of 280 indicates
29836         failure, not success, and the kernel bug we're trying to work
29837         around affects not just the utimensat call, but also the fallback
29838         futimens call.
29839         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
29840         not success.
29841         [HAVE_FUTIMENS]: Use the same work-around, here.
29842
29843 2008-06-09  Jim Meyering  <meyering@redhat.com>
29844
29845         add more guards around definition of ACE_-related code
29846         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
29847         ALLOW and ACE_OWNER are also defined.
29848
29849 2008-06-08  Bruno Haible  <bruno@clisp.org>
29850
29851         * lib/acl-internal.h: Add me as co-author.
29852         * lib/file-has-acl.c: Likewise.
29853         * lib/set-mode-acl.c: Likewise.
29854         * lib/copy-acl.c: Likewise.
29855
29856 2008-06-08  Bruno Haible  <bruno@clisp.org>
29857
29858         Add support for AIX ACLs.
29859         * lib/acl-internal.h (acl_nontrivial): New declaration.
29860         * lib/file-has-acl.c (acl_nontrivial): New function.
29861         (file_has_acl): Add implementation using AIX 4 ACL API.
29862         * lib/set-mode-acl.c (qset_acl): Likewise.
29863         * lib/copy-acl.c (qcopy_acl): Likewise.
29864
29865 2008-06-08  Bruno Haible  <bruno@clisp.org>
29866
29867         Add support for HP-UX ACLs.
29868         * lib/acl-internal.h (acl_nontrivial): New declaration.
29869         * lib/file-has-acl.c (acl_nontrivial): New function.
29870         (file_has_acl): Add implementation using HP-UX 11 ACL API.
29871         * lib/set-mode-acl.c (qset_acl): Likewise.
29872         * lib/copy-acl.c (qcopy_acl): Likewise.
29873
29874 2008-06-08  Bruno Haible  <bruno@clisp.org>
29875
29876         Add support for Cygwin ACLs.
29877         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
29878         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
29879         the chmod_or_fchmod call.
29880         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
29881
29882 2008-06-08  Bruno Haible  <bruno@clisp.org>
29883
29884         Fix bug with setuid modes in Solaris 10+ code.
29885         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
29886         succeeded, when the mode contains some special bits.
29887
29888 2008-06-08  Bruno Haible  <bruno@clisp.org>
29889
29890         Add support for Solaris 7..10 ACLs.
29891         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
29892         declarations.
29893         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
29894         functions.
29895         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
29896         * lib/set-mode-acl.c (qset_acl): Likewise.
29897         * lib/copy-acl.c (qcopy_acl): Likewise.
29898
29899 2008-06-08  Bruno Haible  <bruno@clisp.org>
29900
29901         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
29902         declaration.
29903         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
29904         (acl_access_nontrivial): Remove MacOS X case.
29905         (file_has_acl): Use acl_extended_nontrivial.
29906         * lib/copy-acl.c (qcopy_acl): Likewise.
29907
29908 2008-06-08  Bruno Haible  <bruno@clisp.org>
29909
29910         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
29911
29912 2008-06-08  Jim Meyering  <meyering@redhat.com>
29913
29914         * modules/acl (Maintainer): Add Bruno Haible.
29915
29916 2008-06-07  Bruno Haible  <bruno@clisp.org>
29917
29918         Improve support for Tru64 ACLs.
29919         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
29920         ACL on OSF/1.
29921
29922 2008-06-07  Bruno Haible  <bruno@clisp.org>
29923
29924         Add support for MacOS X ACLs.
29925         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
29926         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
29927         * lib/set-mode-acl.c (qset_acl): Likewise.
29928         * lib/copy-acl.c (qcopy_acl): Likewise.
29929
29930 2008-06-07  Bruno Haible  <bruno@clisp.org>
29931
29932         Fix memory leak introduced on 2008-05-22.
29933         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
29934         use.
29935
29936 2008-06-07  Bruno Haible  <bruno@clisp.org>
29937
29938         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
29939         to construct an empty ACL.
29940
29941 2008-06-07  Bruno Haible  <bruno@clisp.org>
29942
29943         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
29944         precisely.
29945         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
29946
29947 2008-06-07  Bruno Haible  <bruno@clisp.org>
29948
29949         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
29950         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
29951
29952 2008-06-07  Bruno Haible  <bruno@clisp.org>
29953
29954         * doc/posix-functions/_setjmp.texi: Explain the use of this function
29955         regardless of POSIX.
29956         * doc/posix-functions/_longjmp.texi: Likewise.
29957         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
29958         SystemV platform in this case.
29959
29960 2008-06-06  Eric Blake  <ebb9@byu.net>
29961
29962         Document abort() bugs.
29963         * doc/posix-functions/abort.texi (abort): Mention anomalies.
29964
29965         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
29966         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
29967         sigsetjmp.
29968         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
29969         siglongjmp, but only as a macro.
29970         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
29971         is obsolete.
29972         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
29973
29974         Tweak documentation to cover cygwin argz bugs.
29975         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
29976         argz bug fix; no code change needed since no cygwin releases
29977         occurred between the last fix and the bug being tested.
29978         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
29979         module and recently fixed cygwin bugs.
29980         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
29981         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
29982         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
29983         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
29984         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
29985         Likewise.
29986         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
29987         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
29988         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
29989         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
29990         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
29991         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
29992         Likewise.
29993
29994         Avoid gcc warning on cygwin.
29995         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
29996         !ACL_NO_TRIVIAL]: Avoid unused variable.
29997
29998 2008-06-05  Eric Blake  <ebb9@byu.net>
29999
30000         Be tolerant of UNKNOWN version in gnulib-tool test dir.
30001         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
30002         git-version-gen fails to come up with a version.
30003         Reported by Simon Josefsson.
30004
30005 2008-06-05  Jim Meyering  <meyering@redhat.com>
30006             Paul Eggert  <eggert@cs.ucla.edu>
30007
30008         utimens.c: work around a probable Linux kernel bug
30009         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
30010         appears to be a kernel bug that causes utimensat to return 280
30011         instead of 0, indicating success.
30012
30013 2008-06-04  Bruno Haible  <bruno@clisp.org>
30014
30015         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
30016         2008-06-01 commit.
30017
30018 2008-06-04  Bruno Haible  <bruno@clisp.org>
30019
30020         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
30021         * lib/file-has-acl.c (acl_access_nontrivial): New function.
30022         (file_has_acl): Use it. Save errno afterwards.
30023         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
30024
30025 2008-06-03  Bruno Haible  <bruno@clisp.org>
30026
30027         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
30028         draft code. Simplify #ifs.
30029         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
30030         Put Solaris code after POSIX-draft code. Fix comments regarding
30031         Solaris 10, HP-UX. Mention Cygwin.
30032         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
30033
30034 2008-06-03  Eric Blake  <ebb9@byu.net>
30035
30036         Provide fallback for older kernels.
30037         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
30038         Provide runtime fallback if kernel lacks support.
30039         Reported by Mike Frysinger.
30040
30041 2008-06-02  Bruno Haible  <bruno@clisp.org>
30042
30043         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
30044         it exists.
30045
30046 2008-06-02  Bruno Haible  <bruno@clisp.org>
30047
30048         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
30049         * lib/copy-acl.c (qcopy_acl): Update comment.
30050
30051 2008-06-02  Bruno Haible  <bruno@clisp.org>
30052
30053         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
30054         like ACL APIs.
30055
30056 2008-06-02  Bruno Haible  <bruno@clisp.org>
30057
30058         * tests/test-file-has-acl.sh: Use different code for Cygwin.
30059         * tests/test-set-mode-acl.sh: Likewise.
30060         * tests/test-copy-acl.sh: Likewise.
30061         * tests/test-copy-file.sh: Likewise.
30062
30063 2008-06-02  Bruno Haible  <bruno@clisp.org>
30064
30065         * tests/test-file-has-acl.sh: Remove unused code.
30066
30067 2008-06-01  Bruno Haible  <bruno@clisp.org>
30068
30069         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
30070         (copy_acl): Just a wrapper around qcopy_acl that emits the error
30071         messages.
30072         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
30073
30074 2008-06-01  Bruno Haible  <bruno@clisp.org>
30075
30076         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
30077         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
30078         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
30079         APIs.
30080         * modules/acl-tests (configure.ac): Remove tests now contained in
30081         m4/acl.m4.
30082
30083 2008-06-02  Jim Meyering  <meyering@redhat.com>
30084
30085         announce-gen: use a better key-server host name
30086         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
30087         it may be more consistently reliable.  Suggested by Werner Koch
30088         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
30089
30090 2008-06-01  Bruno Haible  <bruno@clisp.org>
30091
30092         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
30093         Reported by Voroskoi Andras <voroskoi@gmail.com>.
30094
30095 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
30096
30097         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
30098
30099 2008-06-01  Bruno Haible  <bruno@clisp.org>
30100
30101         New ACL tests.
30102         * tests/test-file-has-acl.sh: New file.
30103         * tests/test-file-has-acl.c: New file.
30104         * tests/test-set-mode-acl.sh: New file.
30105         * tests/test-set-mode-acl.c: New file.
30106         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
30107         * tests/test-copy-acl.c: New file.
30108         * modules/acl-tests: New file, based on modules/copy-file-tests.
30109         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
30110         (Depends-on): Add acl-tests.
30111         (configure.ac): Remove checks.
30112         (Makefile.am): Don't create test-sameacls program here any more.
30113
30114 2008-06-01  Bruno Haible  <bruno@clisp.org>
30115
30116         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
30117         * tests/test-sameacls.c: Include progname.h.
30118         (main): Invoke set_program_name. Portability fixes for MacOS X,
30119         Solaris, HP-UX.
30120
30121 2008-06-01  Bruno Haible  <bruno@clisp.org>
30122
30123         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
30124         function.
30125         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
30126
30127 2008-06-01  Bruno Haible  <bruno@clisp.org>
30128
30129         * modules/rpmatch (Depends-on): Add strdup.
30130
30131 2008-06-01  Bruno Haible  <bruno@clisp.org>
30132
30133         * lib/pipe.c: Include unistd-safer.h.
30134         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
30135         * modules/pipe (Depends-on): Add unistd-safer.
30136
30137 2008-05-30  Simon Josefsson  <simon@josefsson.org>
30138
30139         * modules/autobuild (configure.ac): Call AB_INIT.
30140
30141 2008-05-30  Simon Josefsson  <simon@josefsson.org>
30142
30143         * tests/test-getaddrinfo.c: Don't print debug messages by default.
30144         Suggested by Bruno Haible <bruno@clisp.org>.
30145
30146 2008-05-30  Simon Josefsson  <simon@josefsson.org>
30147
30148         * tests/test-base64.c: Cast size_t to unsigned long when invoking
30149         printf.  Use %lu instead of %d.  Reported by Bruno Haible
30150         <bruno@clisp.org>.
30151
30152 2008-05-29  Eric Blake  <ebb9@byu.net>
30153
30154         Prefer new POSIX 200x interfaces over futimesat.
30155         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
30156         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
30157         when available.
30158         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
30159
30160 2008-05-28  Bruno Haible  <bruno@clisp.org>
30161
30162         * modules/stpcpy (License): Change to LGPLv2+.
30163         Requested by David Lutterkort <dlutter@redhat.com>.
30164
30165 2008-05-27  Bruno Haible  <bruno@clisp.org>
30166
30167         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
30168         current mingw.
30169         Reported by Jose E. Marchesi <jemarch@gnu.org>.
30170
30171 2008-05-27  Bruno Haible  <bruno@clisp.org>
30172
30173         * modules/iconv_open (Link): New section, from module 'iconv'.
30174         * modules/striconv (Link): Likewise.
30175         * modules/striconveh (Link): Likewise.
30176         * modules/xstriconv (Link): Likewise.
30177         * modules/unicodeio (Link): Likewise.
30178         * modules/propername (Link): Likewise.
30179         Reported by Jim Meyering.
30180
30181 2008-05-26  Jim Meyering  <meyering@redhat.com>
30182
30183         sha256: do not artificially restrict buffer length to be < 2^32
30184         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
30185         uint32_t to size_t.
30186         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
30187         to match.
30188
30189         avoid unaligned access errors, e.g., on sparc
30190         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
30191         direct access through a possibly-unaligned uint64* pointer.
30192         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
30193         direct access through a possibly-unaligned uint32* pointer.
30194         Prompted by this patch from Tom "spot" Callaway:
30195         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
30196
30197         sha512.c: fix typo in comment
30198         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
30199
30200 2008-05-25  Bruno Haible  <bruno@clisp.org>
30201
30202         * lib/set-mode-acl.c: Renamed from lib/acl.c.
30203         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
30204         (Makefile.am): Update lib_SOURCES.
30205
30206 2008-05-25  Bruno Haible  <bruno@clisp.org>
30207
30208         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
30209
30210 2008-05-25  Jim Meyering  <meyering@redhat.com>
30211
30212         useless-if-before-free: freed expr may have white-space differences
30213         * build-aux/useless-if-before-free: Recognize cases in which the
30214         freed expression differs from the tested one in embedded white
30215         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
30216         $1 was used, so we can't make any regexp shy.  Improved tests now
30217         detect this.
30218
30219         useless-if-before-free: accept white space in the expression.
30220         * build-aux/useless-if-before-free: For now, any white space
30221         in the expression must be identical in the free argument.
30222
30223         useless-if-before-free: efficiency tweak
30224         * build-aux/useless-if-before-free: Make the expression-matching
30225         regexp "shy".
30226         Make the *outer* regexp shy, not the expr-matching one.
30227
30228         update code-in-comment to accept cast of free arg
30229         * build-aux/useless-if-before-free: Update regexp.
30230
30231 2008-05-25  Bruno Haible  <bruno@clisp.org>
30232
30233         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
30234         * modules/copy-file-tests (Files, Makefile.am): Update.
30235         * tests/test-copy-file.c (func_test_copy): Update.
30236
30237 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
30238
30239         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
30240
30241 2008-05-23  Bruno Haible  <bruno@clisp.org>
30242
30243         Improve support for ACLs on OSF/1.
30244         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
30245         Remove fallback for unknown flavors of ACLs.
30246
30247 2008-05-22  Bruno Haible  <bruno@clisp.org>
30248
30249         Add support for ACLs on OSF/1.
30250         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
30251         replacements.
30252         (acl_free_text): New macro fallback.
30253         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
30254         acl_free.
30255         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
30256         acl_free_text function. Require AC_C_INLINE.
30257
30258 2008-05-22  Bruno Haible  <bruno@clisp.org>
30259
30260         Make copy_acl work on MacOS X 10.5.
30261         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
30262         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
30263         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
30264         If MODE_INSIDE_ACL, don't assume that every system has the same text
30265         representation for ACLs as FreeBSD.
30266         * lib/copy-acl.c (copy_acl): Add support for platforms with
30267         !MODE_INSIDE_ACL.
30268         * lib/file-has-acl.c (file_has_acl): Likewise.
30269         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
30270         FreeBSD, MacOS X, or IRIX, respectively.
30271
30272 2008-05-22  Bruno Haible  <bruno@clisp.org>
30273
30274         * lib/acl.h: Don't include <sys/acl.h>.
30275         (GETACLCNT): Move fallback to lib/acl-internal.h.
30276         * lib/acl-internal.h: Include <sys/acl.h> here.
30277         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
30278
30279 2008-05-22  Bruno Haible  <bruno@clisp.org>
30280
30281         Split off copy_acl function to separate file.
30282         * lib/copy-acl.c: New file, extracted from lib/acl.c.
30283         * lib/acl.c (copy_acl): Moved function to separate file.
30284         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
30285         * modules/acl (Files): Add lib/copy-acl.c.
30286         (Makefiles.am): Augment lib_SOURCES.
30287
30288 2008-05-22  Bruno Haible  <bruno@clisp.org>
30289
30290         * modules/copy-file-tests: New file.
30291         * tests/test-copy-file.sh: New file.
30292         * tests/test-copy-file.c: New file.
30293         * tests/test-copy-file-sameacls.c: New file.
30294
30295 2008-05-22  Eric Blake  <ebb9@byu.net>
30296
30297         Avoid gcc warning.
30298         * tests/test-memcmp.c (main): Pass NULL indirectly.
30299
30300 2008-05-21  Bruno Haible  <bruno@clisp.org>
30301
30302         Add reference doc about ACLs.
30303         * doc/acl-resources.txt: New file.
30304         * doc/acl-cygwin.txt: New file.
30305
30306 2008-05-21  Bruno Haible  <bruno@clisp.org>
30307
30308         Avoid one more warning from gcc.
30309         * lib/vasnprintf.c (IF_LINT): Update comments.
30310         (VASNPRINTF): Use it also for the 'prefix' array initializer.
30311
30312 2008-05-21  Jim Meyering  <meyering@redhat.com>
30313
30314         avoid a warning from gcc
30315         * lib/vasnprintf.c (IF_LINT): Define.
30316         (scale10_round_decimal_long_double):
30317         Use it to avoid a "may be used uninitialized" warning.
30318         (scale10_round_decimal_double): Likewise.
30319
30320 2008-05-21  Simon Josefsson  <simon@josefsson.org>
30321
30322         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
30323         declared.
30324
30325 2008-05-20  Bruno Haible  <bruno@clisp.org>
30326
30327         * tests/test-memcmp.c (main): Test also the sign of the result. Test
30328         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
30329
30330 2008-05-20  Simon Josefsson  <simon@josefsson.org>
30331
30332         * modules/memcmp-tests: New file.
30333         * tests/test-memcmp.c: New file.
30334
30335 2008-05-19  Bruno Haible  <bruno@clisp.org>
30336
30337         * modules/propername (Notice, configure.ac): Put quoted "..." into
30338         --keyword option.
30339         * lib/propername.h: Update comments accordingly.
30340         Reported by Eric Blake.
30341
30342 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
30343
30344         * modules/getpass-gnu (Depends-on): Add fseeko.
30345
30346 2008-05-19  Simon Josefsson  <simon@josefsson.org>
30347
30348         * modules/base64-tests: New file.
30349
30350 2008-05-19  Bo Borgerson <gigabo@gmail.com>
30351
30352         * lib/base64.c (base64_decode_ctx): If a decode context structure
30353         was passed in use it to ignore newlines.  If a context structure
30354         was _not_ passed in, continue to treat newlines as garbage (this
30355         is the historical behavior).  Formerly base64_decode.
30356         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
30357         takes a decode context structure.
30358         * lib/base64.h (base64_decode): Macro for four-argument calls.
30359         (base64_decode_alloc): Likewise.
30360         * lib/base64.c (base64_decode_ctx): If a decode context structure
30361         was passed in use it to ignore newlines.  If a context structure
30362         was _not_ passed in, continue to treat newlines as garbage (this
30363         is the historical behavior).  Formerly base64_decode.
30364         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
30365         takes a decode context structure.
30366         * lib/base64.h (base64_decode): Macro for four-argument calls.
30367         (base64_decode_alloc): Likewise.
30368
30369 2008-05-19  Jim Meyering  <meyering@redhat.com>
30370
30371         avoid a warning from gcc
30372         * lib/trim.c (IF_LINT): Define.
30373         (trim2): Use it to avoid a "may be used uninitialized" warning.
30374
30375         Fix doc typo.
30376         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
30377
30378 2008-05-19  Bruno Haible  <bruno@clisp.org>
30379
30380         * doc/glibc-functions/getpass.texi: Document limits of other
30381         implementations.
30382
30383 2008-05-19  Simon Josefsson  <simon@josefsson.org>
30384             Bruno Haible <bruno@clisp.org>
30385
30386         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
30387
30388 2008-05-18  Bruno Haible  <bruno@clisp.org>
30389
30390         * modules/propername: New file, from GNU gettext.
30391         * lib/propername.h: New file, from GNU gettext.
30392         * lib/propername.c: New file, from GNU gettext.
30393         * MODULES.html.sh (Internationalization functions): Add propername.
30394
30395 2008-05-16  Jim Meyering  <meyering@redhat.com>
30396             Bruno Haible  <bruno@clisp.org>
30397
30398         Avoid some warnings from "gcc -Wshadow".
30399         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
30400
30401 2008-05-15  Eric Blake  <ebb9@byu.net>
30402
30403         Extend previous patch to cygwin 1.7.0.
30404         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
30405         fast implementation in cygwin >= 1.7.0.
30406         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
30407         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30408
30409 2008-05-15  Bruno Haible  <bruno@clisp.org>
30410
30411         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
30412         implementation in glibc >= 2.9.
30413         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
30414         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30415
30416 2008-05-15  Bruno Haible  <bruno@clisp.org>
30417
30418         * MODULES.html.sh (Internationalization functions): Remove linebreak.
30419         (Unicode string functions): Add unilbrk/*.
30420         Reported by Karl Berry.
30421
30422 2008-05-15  Eric Blake  <ebb9@byu.net>
30423
30424         Fix violation of <stdbool.h> replacement in regex.
30425         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
30426         * lib/regexec.c (re_search_internal): Likewise.
30427         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
30428
30429 2008-05-15  Jim Meyering  <meyering@redhat.com>
30430
30431         avoid distracting test output when git or cvs is not found
30432         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
30433         * tests/test-vc-list-files-git.sh: Likewise.
30434
30435 2008-05-15  Eric Blake  <ebb9@byu.net>
30436
30437         Glibc finally accepted the memmem speedup code, bugzilla #5514.
30438         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
30439         glibc version.
30440         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
30441         * doc/posix-functions/strstr.texi (strstr): Likewise.
30442         * lib/str-two-way.h (MAX): Sychronize with glibc.
30443
30444 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
30445
30446         * lib/regcomp.c (optimize_utf8): Add a note on why we test
30447         opr.ctx_type.
30448         (calc_first): Initialize constraint field.
30449         (duplicate_node_closure): Use it instead of special casing ANCHORS.
30450         Fix grammar.
30451         (duplicate_node): Merge constraint field for all node types.
30452         (calc_eclosure_iter): Look at constraint field for all node types.
30453         * lib/regex_internal.c (create_cd_newstate): Don't look at
30454         opr.ctx_type.
30455
30456 2008-05-14  Bruno Haible  <bruno@clisp.org>
30457
30458         Help GCC to do better code generation.
30459         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
30460         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
30461         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
30462         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
30463         Declare with attribute 'malloc' if supported.
30464
30465 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
30466
30467         use "echo STR|wc -c" rather than unportable "expr length STR"
30468         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
30469         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
30470
30471 2008-05-14  Jim Meyering  <meyering@redhat.com>
30472
30473         use dd ibs=$n count=1 ... rather than less-portable head -c$n
30474         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
30475         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
30476         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
30477         via Collin Lasse.
30478
30479 2008-05-14  Eric Blake  <ebb9@byu.net>
30480
30481         Avoid quadratic growth in gl_LIBSOURCES.
30482         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
30483         Suggested by Bruno Haible.
30484
30485         Test xmemdup0.
30486         * modules/xmemdup0-tests: New file.
30487         * tests/test-xmemdup0.c: Likewise.
30488
30489 2008-05-13  Eric Blake  <ebb9@byu.net>
30490
30491         Split xmemdup0 into its own module.
30492         * modules/xmemdup0: New file.
30493         * lib/xmemdup0.h: Likewise.
30494         * lib/xmemdup0.c: Likewise.
30495         * MODULES.html.sh (Memory management functions): Add xmemdup0.
30496         * lib/xalloc.h (xmemdup0): Remove.
30497         * lib/xmalloc.c (xmemdup0): Likewise.
30498
30499 2008-05-13  Eric Blake  <ebb9@byu.net>
30500             Bruno Haible  <bruno@clisp.org>
30501
30502         Reduce number of forks required during autoconf.
30503         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
30504         and gl_LIBSOURCES_DIR.
30505         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
30506         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
30507         m4_syscmd per file.
30508         <m4_foreach_w>: Move...
30509         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
30510
30511 2008-05-13  Eric Blake  <ebb9@byu.net>
30512
30513         * gnulib-tool: Fix various comment typos.
30514
30515 2008-05-12  Bruno Haible  <bruno@clisp.org>
30516
30517         Tailor the linebreaking algorithm.
30518         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
30519
30520 2008-05-12  Bruno Haible  <bruno@clisp.org>
30521
30522         Update to Unicode 5.0.0.
30523         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
30524         LBP_JV, LBP_JT. Redistribute values.
30525         (unilbrk_table): Change size.
30526         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
30527         Unicode TR#14 rev. 22.
30528         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
30529         LBP_JV, LBP_JT. Redistribute values.
30530         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
30531         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
30532         Update.
30533         * lib/unilbrk/lbrkprop1.h: Regenerated.
30534         * lib/unilbrk/lbrkprop2.h: Regenerated.
30535         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
30536         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
30537         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
30538         Likewise.
30539         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
30540         Likewise.
30541         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
30542         result.
30543         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
30544         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
30545         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
30546         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
30547         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
30548         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
30549
30550 2008-05-11  Bruno Haible  <bruno@clisp.org>
30551
30552         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
30553
30554 2008-05-11  Bruno Haible  <bruno@clisp.org>
30555
30556         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
30557         * modules/unilbrk/gen-lbrk: New file.
30558
30559 2008-05-11  Bruno Haible  <bruno@clisp.org>
30560
30561         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
30562         * m4/sha512.m4 (gl_SHA512): Likewise.
30563
30564 2008-05-11  Jim Meyering  <meyering@redhat.com>
30565
30566         New modules: crypto/sha256, crypto/sha512 (from coreutils)
30567         * modules/crypto/sha256: New file.
30568         * modules/crypto/sha512: Likewise.
30569         * lib/sha256.c: Likewise.
30570         * lib/sha256.h: Likewise.
30571         * lib/sha512.c: Likewise.
30572         * lib/sha512.h: Likewise.
30573         * lib/u64.h: Likewise.
30574         * m4/sha256.m4: Likewise.
30575         * m4/sha512.m4: Likewise.
30576         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
30577
30578 2008-05-10  Bruno Haible  <bruno@clisp.org>
30579
30580         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
30581         (Input/Output <stdio.h>): Add xprintf.
30582         (Signal handling <signal.h>): Add strsignal.
30583         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
30584         (Core language properties): Add func.
30585         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
30586         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
30587         strings.
30588         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
30589         (Input/output): New section.
30590         (File system functions): Add openat-die, stat-macros.
30591         (Networking functions): Add sockets.
30592         (Unicode string functions): Add unictype/*.
30593         (Support for building libraries and executables): Add gperf.
30594         (Support for building documentation): Add agpl-3.0.
30595         (Misc): Add nocrash.
30596
30597 2008-05-10  Bruno Haible  <bruno@clisp.org>
30598
30599         * modules/unictype/gen-ctype: New file.
30600
30601 2008-05-10  Jim Meyering  <meyering@redhat.com>
30602
30603         Make chdir-safer.c more efficient on a system with no symlinks.
30604         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
30605         also if ELOOP is zero.  Suggested by Bruno Haible.
30606
30607         Make chdir-safer.c slightly safer.
30608         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
30609         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
30610
30611         Avoid compile failure on systems without ELOOP (like mingw).
30612         * lib/chdir-safer.c (ELOOP): Define if not already defined.
30613         Reported by Bruno Haible.
30614
30615 2008-05-10  Bruno Haible  <bruno@clisp.org>
30616
30617         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
30618         (is_utf8_encoding): Use a case-insensitive comparison.
30619         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
30620         streq.
30621
30622 2008-05-10  Bruno Haible  <bruno@clisp.org>
30623
30624         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
30625         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
30626         * lib/unilbrk/ulc-common.h (iconv_string_length,
30627         iconv_string_keeping_offsets): Remove declarations.
30628         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
30629         Don't include <iconv.h>, streq.h, xsize.h.
30630         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
30631         conversion.
30632         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
30633         <iconv.h>, streq.h, xsize.h.
30634         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
30635         conversion.
30636         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
30637         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
30638         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
30639         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
30640
30641 2008-05-10  Bruno Haible  <bruno@clisp.org>
30642
30643         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
30644         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
30645
30646         * modules/unilbrk/u32-width-linebreaks-tests: New file.
30647         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
30648
30649         * modules/unilbrk/u16-width-linebreaks-tests: New file.
30650         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
30651
30652         * modules/unilbrk/u8-width-linebreaks-tests: New file.
30653         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
30654
30655         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
30656         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
30657
30658         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
30659         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
30660
30661         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
30662         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
30663
30664         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
30665         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
30666
30667 2008-05-10  Bruno Haible  <bruno@clisp.org>
30668
30669         Split up 'linebreak' module.
30670         * lib/unilbrk.h: New file, based on lib/linebreak.h.
30671         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
30672         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
30673         modifications.
30674         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
30675         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
30676         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
30677         lib/linebreak.c.
30678         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
30679         lib/linebreak.c.
30680         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
30681         lib/linebreak.c.
30682         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
30683         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
30684         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
30685         lib/linebreak.c.
30686         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
30687         lib/linebreak.c.
30688         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
30689         lib/linebreak.c.
30690         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
30691         lib/linebreak.c.
30692         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
30693         lib/linebreak.c.
30694         * modules/unilbrk/base: New file.
30695         * modules/unilbrk/tables: New file.
30696         * modules/unilbrk/u8-possible-linebreaks: New file.
30697         * modules/unilbrk/u16-possible-linebreaks: New file.
30698         * modules/unilbrk/u32-possible-linebreaks: New file.
30699         * modules/unilbrk/ulc-common: New file.
30700         * modules/unilbrk/ulc-possible-linebreaks: New file.
30701         * modules/unilbrk/u8-width-linebreaks: New file.
30702         * modules/unilbrk/u16-width-linebreaks: New file.
30703         * modules/unilbrk/u32-width-linebreaks: New file.
30704         * modules/unilbrk/ulc-width-linebreaks: New file.
30705         * lib/linebreak.h: Remove file.
30706         * lib/linebreak.c: Remove file.
30707         * m4/linebreak.m4: Remove file.
30708         * modules/linebreak: Remove file.
30709         * NEWS: Mention the changes.
30710
30711 2008-05-09  Eric Blake  <ebb9@byu.net>
30712
30713         Add xmemdup0.
30714         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
30715         implementation.
30716         * lib/xmalloc.c (xmemdup0): New C implementation.
30717
30718 2008-05-08  Bruno Haible  <bruno@clisp.org>
30719
30720         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
30721
30722 2008-05-07  Eric Blake  <ebb9@byu.net>
30723
30724         Support cross-compilation of <wctype.h>.
30725         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
30726         AC_CACHE_CHECK.
30727
30728 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
30729
30730         * build-aux/vc-list-files: Add support for bzr.
30731
30732 2008-05-03  Jim Meyering  <meyering@redhat.com>
30733
30734         avoid failed assertion with tight malloc
30735         * tests/test-getndelim2.c: Correct an off-by-one assertion.
30736
30737 2008-05-03  Simon Josefsson  <simon@josefsson.org>
30738
30739         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
30740         are needed from arpa/inet.h.
30741         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
30742         Reported by Bruno Haible.
30743
30744 2008-05-02  Jim Meyering  <meyering@redhat.com>
30745
30746         avoid compilation error on FreeBSD 6
30747         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
30748
30749 2008-05-01  Jim Meyering  <meyering@redhat.com>
30750
30751         useless-if-before-free: correct --help's exit status description
30752         * build-aux/useless-if-before-free (usage): Like grep, exit 0
30753         for one or more matches, etc.  Reported by Bruno Haible.
30754
30755         vc-list-files: make the stand-alone gnulib test work
30756         * modules/vc-list-files-tests (configure.ac):
30757         Define and AC_SUBST abs_aux_dir.
30758         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
30759         $(abs_top_srcdir) to each script and having each of them
30760         duplicate the work of setting PATH, set PATH here, using
30761         the new variable, abs_aux_dir instead.
30762         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
30763         * tests/test-vc-list-files-git.sh: Likewise.
30764         Reported by Bruno Haible.
30765
30766 2008-05-01  Bruno Haible  <bruno@clisp.org>
30767
30768         * lib/getndelim2.c (getndelim2): Fix newsize computation during
30769         reallocation. Rename 'done' to 'found_delimiter'.
30770
30771 2008-05-01  Jim Meyering  <meyering@redhat.com>
30772
30773         vc-list-files: accommodate /bin/sh like the one from Solaris 10
30774         * build-aux/vc-list-files: Use `...`, not $(...).
30775
30776 2008-04-30  Jim Meyering  <meyering@redhat.com>
30777
30778         add tests for vc-list-files
30779         * modules/vc-list-files-tests: New module.
30780         * tests/test-vc-list-files-cvs.sh: New file.
30781         * tests/test-vc-list-files-git.sh: New file.
30782
30783         avoid a warning from gcc
30784         * lib/getndelim2.c (IF_LINT): Define.
30785         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
30786
30787         vc-list-files: work properly with build-aux/cvsu, too
30788         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
30789         to all cvs-based clauses.
30790
30791         vc-list-files: work properly in the CVS+awk case, too
30792         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
30793
30794         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
30795         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
30796         take more than one file argument, so .  Add quotes, just in case $dir
30797         ever contains a shell meta-character.  Prompted by Soren Hansen in
30798         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
30799
30800 2008-04-29  Eric Blake  <ebb9@byu.net>
30801
30802         Optimize getndelim2 to use block operations when possible.
30803         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
30804         freadseek, and memchr2.
30805         * lib/getndelim2.c (getndelim2): Use them for block reads.
30806
30807 2008-04-29  Bruno Haible  <bruno@clisp.org>
30808
30809         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
30810         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
30811         * modules/inet_ntop (Depends-on): Add extensions.
30812         * modules/inet_pton (Depends-on): Likewise.
30813         Reported by Simon Josefsson.
30814
30815 2008-04-29  Jim Meyering  <meyering@redhat.com>
30816
30817         When the is more than one match in a block, match all of them.
30818         * build-aux/useless-if-before-free: Iterate through each block
30819         until there are no more matches.
30820
30821         Fix broken useless-if-before-free script.
30822         * build-aux/useless-if-before-free: Fix typo: missing "?" after
30823         the expression to match cast of argument to free-like function.
30824
30825 2008-04-29  Eric Blake  <ebb9@byu.net>
30826
30827         Use new header.
30828         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
30829
30830 2008-04-29  Jim Meyering  <meyering@redhat.com>
30831
30832         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
30833         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
30834         by gnulib to exist and to declare e.g., inet_ntop.
30835         Don't include "inet_ntop.h", now removed.
30836
30837         * m4/arpa_inet_h.m4: Remove trailing blanks.
30838
30839 2008-04-29  Eric Blake  <ebb9@byu.net>
30840
30841         Silence valgrind on safe reads beyond potential array bounds.
30842         * lib/rawmemchr.valgrind: New file.
30843         * lib/strchrnul.valgrind: Likewise.
30844         * modules/rawmemchr (Files): Distribute new file.
30845         * modules/strchrnul (Files): Likewise.
30846         Suggested by Bruno Haible.
30847
30848 2008-04-29  Bruno Haible  <bruno@clisp.org>
30849
30850         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
30851         (inet_ntop, inet_pton): Change portability warning's wording.
30852         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
30853         Invoke gl_CHECK_NEXT_HEADERS.
30854         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
30855         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
30856         set ARPA_INET_H.
30857         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
30858         * modules/arpa_inet (Description): No longer only for systems that
30859         lack it.
30860         (Depends-on): Add include_next.
30861         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
30862         HAVE_ARPA_INET_H.
30863
30864 2008-04-29  Jim Meyering  <meyering@redhat.com>
30865
30866         * modules/mkdir (License): Re-license as LGPLv2+.
30867
30868 2008-04-29  Bruno Haible  <bruno@clisp.org>
30869
30870         * modules/rawmemchr (Maintainer): Set to Eric.
30871         * modules/strchrnul (Maintainer): Likewise.
30872
30873 2008-04-29  Simon Josefsson  <simon@josefsson.org>
30874
30875         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
30876         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
30877
30878         * modules/arpa_inet (arpa/inet.h): Use them.
30879
30880 2008-04-28  Eric Blake  <ebb9@byu.net>
30881
30882         Test getndelim2.
30883         * modules/getndelim2-tests: New file.
30884         * tests/test-getndelim2.c: Likewise.
30885         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
30886         stream.
30887         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
30888
30889         * MODULES.html.sh: Document new module.
30890
30891 2008-04-20  Bruno Haible  <bruno@clisp.org>
30892
30893         * lib/c-stack.c (die): Use raise.
30894         * modules/c-stack (Depends-on): Add raise.
30895
30896 2008-04-28  Bruno Haible  <bruno@clisp.org>
30897
30898         Expect rpmatch to be declared.
30899         * lib/yesno.c (rpmatch): Remove declaration.
30900
30901         Declare rpmatch.
30902         * lib/stdlib.in.h (rpmatch): New declaration.
30903         * lib/rpmatch.c: Include <stdlib.h> first.
30904         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
30905         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
30906         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
30907         HAVE_RPMATCH.
30908         * modules/rpmatch (Depends-on): Add stdlib, extensions.
30909         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
30910         (Include): Set to <stdlib.h>.
30911         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
30912         HAVE_RPMATCH.
30913         * NEWS: Document the change.
30914
30915 2008-04-28  Bruno Haible  <bruno@clisp.org>
30916
30917         Change rpmatch to use nl_langinfo when appropriate.
30918         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
30919         (N_): New macro.
30920         (localized_pattern): New function/macro.
30921         (try): Remove match, nomatch arguments. Copy the pattern into safe
30922         memory before caching it.
30923         (rpmatch): Use localized_pattern. Add translator comments.
30924         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
30925         Suggested by Eric Blake.
30926         * modules/rpmatch (Depends-on): Add stdbool.
30927
30928 2008-04-28  Eric Blake  <ebb9@byu.net>
30929
30930         Add rawmemchr module, matching glibc.
30931         * modules/string (Makefile.am): New indicator.
30932         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
30933         * lib/string.in.h (rawmemchr): Declare when appropriate.
30934         * modules/rawmemchr: New file.
30935         * m4/rawmemchr.m4: Likewise.
30936         * lib/rawmemchr.c: Likewise.
30937         * modules/rawmemchr-tests: Likewise.
30938         * tests/test-rawmemchr.c: Likewise.
30939         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
30940         module.
30941         * modules/strchrnul (Depends-on): Add rawmemchr.
30942         * lib/strchrnul.c (strchrnul): Optimize a corner case.
30943
30944         Whitespace cleanup.
30945         * tests/test-strchrnul.c: Reindent.
30946         * lib/strchrnul.c: Likewise.
30947
30948         Optimize and test strchrnul.
30949         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
30950         * modules/strchrnul-tests: New file.
30951         * tests/test-strchrnul.c: Likewise.
30952
30953         Remove intprops dependency.
30954         * modules/memchr (Depends-on): Remove intprops.
30955         * modules/memrchr (Depends-on): Likewise.
30956         * modules/memchr2 (Depends-on): Likewise.
30957         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
30958         * lib/memrchr.c (__memrchr): Likewise.
30959         * lib/memrchr2.c (memchr2): Likewise.
30960         Reported by Simon Josefsson.
30961
30962 2008-04-28  Simon Josefsson  <simon@josefsson.org>
30963
30964         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
30965         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30966
30967 2008-04-28  Simon Josefsson  <simon@josefsson.org>
30968
30969         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
30970
30971         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
30972
30973         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
30974
30975         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
30976         declarations.
30977         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
30978
30979         * m4/inet_pton.m4: Don't check for header files.
30980
30981         * m4/inet_ntop.m4: Don't check for header files.
30982
30983 2008-04-28  Simon Josefsson  <simon@josefsson.org>
30984
30985         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
30986         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
30987         trigger for cygwin).
30988         Reported by Bruno Haible  <bruno@clisp.org>.
30989
30990 2008-04-28  Bruno Haible  <bruno@clisp.org>
30991
30992         * doc/posix-functions/strdup.texi: Mention mingw problem.
30993
30994 2008-04-27  Bruno Haible  <bruno@clisp.org>
30995
30996         * modules/stat-time-tests (Depends-on): Add sleep.
30997         * tests/test-stat-time.c (force_unlink): New function.
30998         (cleanup): Use it.
30999         (test_mtime): Remove the ctime related tests.
31000         (test_ctime): New function, containing the ctime related tests.
31001         (main): Call test_ctime, except on native Windows platforms.
31002
31003 2008-04-27  Bruno Haible  <bruno@clisp.org>
31004
31005         * lib/rpmatch.c (rpmatch): Add some comments.
31006         Reported by James Youngman <jay@gnu.org>.
31007
31008 2008-04-27  Bruno Haible  <bruno@clisp.org>
31009
31010         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
31011         quiet NaNs.
31012
31013 2008-04-27  Bruno Haible  <bruno@clisp.org>
31014
31015         Make test-yesno.sh work on mingw.
31016         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
31017         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
31018         (main): Set stdin to binary mode.
31019         * modules/yesno-tests (Depends-on): Add binary-io.
31020
31021 2008-04-27  Bruno Haible  <bruno@clisp.org>
31022
31023         Fix 'isfinite' on x86, x86_64, ia64 platforms.
31024         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
31025         argument that lie outside the IEEE 854 domain.
31026         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
31027         (gl_ISFINITE): Use it.
31028         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
31029
31030 2008-04-27  Bruno Haible  <bruno@clisp.org>
31031
31032         Allow local renaming in config.h.
31033         * lib/memrchr.c (memrchr): Don't undefine outside libc.
31034
31035 2008-04-27  Bruno Haible  <bruno@clisp.org>
31036
31037         * lib/memchr.c (__memchr): Change type of 'i'.
31038         * lib/memchr2.c (memchr2): Likewise.
31039
31040 2008-04-26  Eric Blake  <ebb9@byu.net>
31041         and Bruno Haible  <bruno@clisp.org>
31042
31043         Optimize and test memrchr.
31044         * modules/memrchr (Depends-on): Add intprops.
31045         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
31046         * modules/memrchr-tests: New file.
31047         * tests/test-memrchr.c: New file.
31048
31049 2008-04-26  Bruno Haible  <bruno@clisp.org>
31050
31051         Add tentative support for DragonFly BSD.
31052         * lib/stdio-impl.h: Add macros for DragonFly BSD.
31053         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
31054         fp.
31055         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
31056         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
31057         * lib/fpurge.c (fpurge): Likewise.
31058         * lib/freadable.c (freaadable): Likewise.
31059         * lib/freadahead.c (freadahead): Likewise.
31060         * lib/freading.c (freading): Likewise.
31061         * lib/freadptr.c (freadptr): Likewise.
31062         * lib/freadseek.c (freadptrinc): Likewise.
31063         * lib/fseeko.c (fseeko): Likewise.
31064         * lib/fseterr.c (fseterr): Likewise.
31065         * lib/fwritable.c (fwritable): Likewise.
31066         * lib/fwriting.c (fwriting): Likewise.
31067
31068 2008-04-26  Bruno Haible  <bruno@clisp.org>
31069
31070         * lib/stdio-impl.h: New file.
31071         * lib/fbufmode.c: Include stdio-impl.h.
31072         (fbufmode): Use fp_, remove redundant #defines.
31073         * lib/fflush.c: Include stdio-impl.h.
31074         (clear_ungetc_buffer): Remove redundant #defines.
31075         * lib/fpurge.c: Include stdio-impl.h.
31076         (fpurge): Remove redundant #defines.
31077         * lib/freadable.c: Include stdio-impl.h.
31078         (freadable): Remove redundant #defines.
31079         * lib/freadahead.c: Include stdio-impl.h.
31080         (freadahead): Remove redundant #defines.
31081         * lib/freading.c: Include stdio-impl.h.
31082         (freading): Remove redundant #defines.
31083         * lib/freadptr.c: Include stdio-impl.h.
31084         (freadptr): Remove redundant #defines.
31085         * lib/freadseek.c: Include stdio-impl.h.
31086         (freadptrinc): Remove redundant #defines.
31087         * lib/fseeko.c: Include stdio-impl.h.
31088         (rpl_fseeko): Remove redundant #defines.
31089         * lib/fseterr.c: Include stdio-impl.h.
31090         (fseterr): Remove redundant #defines.
31091         * lib/fwritable.c: Include stdio-impl.h.
31092         (fwritable: Remove redundant #defines.
31093         * lib/fwriting.c: Include stdio-impl.h.
31094         (fwriting): Remove redundant #defines.
31095         * modules/fbufmode (Files): Add lib/stdio-impl.h.
31096         * modules/fflush (Files): Likewise.
31097         * modules/fpurge (Files): Likewise.
31098         * modules/freadable (Files): Likewise.
31099         * modules/freadahead (Files): Likewise.
31100         * modules/freading (Files): Likewise.
31101         * modules/freadptr (Files): Likewise.
31102         * modules/freadseek (Files): Likewise.
31103         * modules/fseeko (Files): Likewise.
31104         * modules/fseterr (Files): Likewise.
31105         * modules/fwritable (Files): Likewise.
31106         * modules/fwriting (Files): Likewise.
31107
31108 2008-04-26  Bruno Haible  <bruno@clisp.org>
31109
31110         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
31111         restore_seek_optimization, update_fpos_cache): New functions, extracted
31112         from rpl_fflush.
31113         (rpl_fflush): Use them.
31114         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
31115         (gl_REPLACE_FFLUSH): Use it.
31116
31117 2008-04-26  Bruno Haible  <bruno@clisp.org>
31118
31119         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
31120         on Solaris.
31121         * tests/test-xstrtoimax.sh: Likewise.
31122         * tests/test-xstrtoumax.sh: Likewise.
31123         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31124
31125 2008-04-26  Bruno Haible  <bruno@clisp.org>
31126
31127         * modules/memchr-tests: New file.
31128         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
31129
31130 2008-04-26  Eric Blake  <ebb9@byu.net>
31131             Bruno Haible  <bruno@clisp.org>
31132
31133         * lib/memchr.c: Include intprops.h.
31134         (__memchr): Optimize parallel detection of matching bytes. Rename local
31135         variables. Add explanatory comments.
31136
31137 2008-04-26  Bruno Haible  <bruno@clisp.org>
31138
31139         Fix module 'memchr', broken since 2000-10-28.
31140         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
31141
31142 2008-04-26  Bruno Haible  <bruno@clisp.org>
31143
31144         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
31145         comments.
31146
31147 2008-04-25  Eric Blake  <ebb9@byu.net>
31148
31149         Use native fstatat on cygwin 1.7.0.
31150         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
31151         first.
31152
31153 2008-04-23  Eric Blake  <ebb9@byu.net>
31154
31155         Improve memchr2 performance.
31156         * lib/memchr2.c (memchr2): Further optimize parallel detection of
31157         NUL bytes.
31158         * modules/memchr2 (Depends-on): Use intprops.h.
31159
31160 2008-04-23  Simon Josefsson  <simon@josefsson.org>
31161
31162         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
31163         an inline function instead of a CPP macro.  Patch by Ben Pfaff
31164         <blp@cs.stanford.edu>.
31165
31166 2008-04-23  Simon Josefsson  <simon@josefsson.org>
31167
31168         * lib/arpa_inet.in.h: New file.
31169
31170         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
31171         (Makefile.am): Sed in substitute header file.
31172
31173         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
31174         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
31175
31176         * modules/inet_ntop (configure.ac): Use
31177         gl_ARPA_INET_MODULE_INDICATOR.
31178
31179         * modules/inet_pton (configure.ac): Use
31180         gl_ARPA_INET_MODULE_INDICATOR.
31181
31182 2008-04-22  Jim Meyering  <meyering@redhat.com>
31183
31184         * modules/verify (License): Re-license as LGPLv2+.
31185
31186 2008-04-22  Simon Josefsson  <simon@josefsson.org>
31187
31188         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
31189         parameter to void* as per POSIX standard (MinGW uses char*).
31190
31191 2008-04-21  Bruno Haible  <bruno@clisp.org>
31192
31193         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
31194         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
31195         Define to replacements if REPLACE_ISWCNTRL is 1.
31196         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
31197         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
31198         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
31199         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
31200         what it fixes.
31201         * doc/posix-functions/iswalpha.texi: Likewise.
31202         * doc/posix-functions/iswblank.texi: Likewise.
31203         * doc/posix-functions/iswcntrl.texi: Likewise.
31204         * doc/posix-functions/iswdigit.texi: Likewise.
31205         * doc/posix-functions/iswgraph.texi: Likewise.
31206         * doc/posix-functions/iswlower.texi: Likewise.
31207         * doc/posix-functions/iswprint.texi: Likewise.
31208         * doc/posix-functions/iswpunct.texi: Likewise.
31209         * doc/posix-functions/iswspace.texi: Likewise.
31210         * doc/posix-functions/iswupper.texi: Likewise.
31211         * doc/posix-functions/iswxdigit.texi: Likewise.
31212         Reported by Alain Guibert.
31213
31214 2008-04-21  Bruno Haible  <bruno@clisp.org>
31215
31216         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
31217         Patch by Alain Guibert.
31218
31219 2008-04-21  Bruno Haible  <bruno@clisp.org>
31220
31221         Fix test failures on mingw.
31222         * tests/test-xstrtol.c (print_no_progname): New function.
31223         (main): Install it in error_print_progname hook.
31224         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
31225         * tests/test-xstrtoimax.sh: Likewise.
31226         * tests/test-xstrtoumax.sh: Likewise.
31227
31228 2008-04-21  Bruno Haible  <bruno@clisp.org>
31229
31230         Fix test failure on mingw.
31231         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
31232
31233 2008-04-21  Bruno Haible  <bruno@clisp.org>
31234
31235         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
31236         Actually assign a value.
31237
31238 2008-04-20  Bruno Haible  <bruno@clisp.org>
31239
31240         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
31241         take 2.
31242         * lib/canonicalize.c (canonicalize_file_name): Elide if the
31243         'canonicalize-lgpl' module is also used.
31244         * lib/canonicalize-lgpl.c: Undo last change.
31245         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
31246
31247 2008-04-20  Bruno Haible  <bruno@clisp.org>
31248
31249         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
31250         config.h. Provide _mkdir based fallback for mingw.
31251         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
31252         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
31253         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
31254         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
31255         rather than defining mkdir in config.h.
31256         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
31257         (gl_SYS_STAT_H_DEFAULTS): New macro.
31258         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
31259         HAVE_IO_H any more.
31260         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
31261         HAVE_DECL_MKDIR and HAVE_IO_H.
31262
31263 2008-04-20  Bruno Haible  <bruno@clisp.org>
31264
31265         * lib/isapipe.c: Port to native Windows platforms.
31266
31267 2008-04-20  Bruno Haible  <bruno@clisp.org>
31268
31269         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
31270
31271 2008-04-21  Eric Blake  <ebb9@byu.net>
31272
31273         Work around preprocessors that don't handle UINTMAX_MAX.
31274         * lib/memchr2.c (memchr2): Avoid embedded #if.
31275         Reported by Alain Guibert, fix suggested by Bruno Haible.
31276
31277 2008-04-21  Simon Josefsson  <simon@josefsson.org>
31278
31279         * doc/posix-functions/strftime.texi (strftime): Explain better
31280         Windows incompatibility.  Suggested by Micah Cowan
31281         <micah@cowan.name>.
31282
31283 2008-04-20  Bruno Haible  <bruno@clisp.org>
31284
31285         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
31286         unistr/u8-mblen.
31287
31288 2008-04-20  Bruno Haible  <bruno@clisp.org>
31289
31290         Fix test failure on platforms with non-GNU iconv.
31291         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
31292         (U_TO_U8): Use it, rather than u16_to_u8.
31293         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
31294         units at the end of the input string.
31295         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
31296
31297 2008-04-20  Bruno Haible  <bruno@clisp.org>
31298
31299         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
31300         when the resulting length is 0.
31301         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
31302
31303 2008-04-20  Bruno Haible  <bruno@clisp.org>
31304
31305         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
31306         works.
31307         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
31308
31309 2008-04-20  Bruno Haible  <bruno@clisp.org>
31310
31311         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
31312         * modules/tsearch-tests (configure.ac): Test for initstate function.
31313
31314 2008-04-20  Bruno Haible  <bruno@clisp.org>
31315
31316         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
31317         for nlink_t if missing.
31318         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
31319
31320 2008-04-19  Bruno Haible  <bruno@clisp.org>
31321
31322         Work around snprintf bug on Linux libc5.
31323         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
31324         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
31325         gl_SNPRINTF_SIZE1.
31326         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
31327         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
31328         that test failed.
31329         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
31330         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
31331         * modules/snprintf (Files): Add m4/printf.m4.
31332         * modules/vsnprintf (Files): Likewise.
31333         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
31334         * doc/posix-functions/vsnprintf.texi: Likewise.
31335
31336 2008-04-19  Bruno Haible  <bruno@clisp.org>
31337
31338         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
31339         from 0.0058 to less than 10^-7.
31340
31341 2008-04-19  Bruno Haible  <bruno@clisp.org>
31342
31343         Fix rounding when a precision is given.
31344         * lib/vasnprintf.c (is_borderline): New function.
31345         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
31346         9...9x.
31347         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
31348         %e, %g.
31349         * tests/test-vasprintf-posix.c (test_function): Likewise.
31350         * tests/test-snprintf-posix.h (test_function): Likewise.
31351         * tests/test-sprintf-posix.h (test_function): Likewise.
31352         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
31353         * tests/test-printf-posix.h (test_function): Likewise.
31354         * tests/test-printf-posix.output: Update.
31355         Reported by John Darrington <john@darrington.wattle.id.au> via
31356         Ben Pfaff <blp@cs.stanford.edu>.
31357
31358 2008-04-18  Simon Josefsson  <simon@josefsson.org>
31359
31360         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
31361         Suggested by Bruno Haible <bruno@clisp.org>.
31362
31363 2008-04-17  Bruno Haible  <bruno@clisp.org>
31364
31365         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
31366         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
31367         implementation.
31368         Patch by Bruce Merry <bmerry@gmail.com>.
31369
31370 2008-04-17  Simon Josefsson  <simon@josefsson.org>
31371
31372         * doc/posix-functions/strftime.texi (strftime): Mention that %e
31373         doesn't work under Windows.
31374
31375 2008-04-16  Bruno Haible  <bruno@clisp.org>
31376
31377         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
31378         New macros.
31379         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
31380         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
31381         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
31382         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
31383         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
31384         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
31385         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
31386         macros.
31387         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
31388         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
31389         Northern Sotho, Uighur.
31390
31391 2008-04-16  Bruno Haible  <bruno@clisp.org>
31392
31393         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
31394         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
31395         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
31396         Reported by Daniel Bergström <daniel@octocode.com>.
31397
31398 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
31399             Bruno Haible  <bruno@clisp.org>
31400
31401         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
31402         function.
31403         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
31404         New functions, mostly extracted from gl_locale_name_default.
31405         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
31406
31407 2008-04-16  Eric Blake  <ebb9@byu.net>
31408
31409         Adjust strtod detection to catch glibc 2.7 bug.
31410         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
31411         Reported by John Gatewood Ham.
31412
31413 2008-04-16  Bruno Haible  <bruno@clisp.org>
31414
31415         Add tentative support for Linux libc5.
31416         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
31417         * lib/fpurge.c (fpurge): Likewise.
31418         * lib/freadable.c (freadable): Likewise.
31419         * lib/freadahead.c (freadahead): Likewise.
31420         * lib/freading.c (freading): Likewise.
31421         * lib/freadptr.c (freadptr): Likewise.
31422         * lib/freadseek.c (freadptrinc): Likewise.
31423         * lib/fseeko.c (rpl_fseeko): Likewise.
31424         * lib/fseterr.c (fseterr): Likewise.
31425         * lib/fwritable.c (fwritable): Likewise.
31426         * lib/fwriting.c (fwriting): Likewise.
31427         Reported by Alain Guibert <alguibert+bts@free.fr>.
31428
31429 2008-04-15  Bruno Haible  <bruno@clisp.org>
31430
31431         * modules/mathl (configure.ac): Define module indicator.
31432
31433 2008-04-15  Bruno Haible  <bruno@clisp.org>
31434
31435         * lib/logl.c (logl): Remove unused variables.
31436
31437 2008-04-15  Bruno Haible  <bruno@clisp.org>
31438
31439         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
31440         fails.
31441
31442 2008-04-15  Bruno Haible  <bruno@clisp.org>
31443
31444         * lib/trim.c (trim2): Fix argument of isspace() macro.
31445
31446 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
31447
31448         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
31449         to 0.
31450         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
31451
31452 2008-04-14  Bruno Haible  <bruno@clisp.org>
31453
31454         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
31455         AC_LANG_PROGRAM argument.
31456         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
31457         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
31458         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
31459         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31460         * m4/math_h.m4 (gl_MATH_H): Likewise.
31461         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
31462         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
31463         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
31464         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
31465         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
31466         * m4/regex.m4 (gl_REGEX): Likewise.
31467         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
31468         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
31469         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
31470         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
31471         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
31472         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
31473         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31474         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31475
31476 2008-04-14  Jim Meyering  <meyering@redhat.com>
31477
31478         test-strtod: fix typos: s/abs/fabs/
31479         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
31480
31481 2008-04-13  Bruno Haible  <bruno@clisp.org>
31482
31483         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
31484         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
31485         module is also used and while not building the reloc-wrapper.
31486
31487 2008-04-13  Bruno Haible  <bruno@clisp.org>
31488
31489         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
31490
31491 2008-04-13  Bruno Haible  <bruno@clisp.org>
31492
31493         Fix AIX compilation failure introduced on 2008-04-02.
31494         * tests/test-frexp.c (exp): Undefine before redefining.
31495         * tests/test-frexpl.c (exp): Likewise.
31496
31497 2008-04-13  Bruno Haible  <bruno@clisp.org>
31498
31499         Work around a HP-UX stdio bug.
31500         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
31501         * tests/test-ftello.c (main): Likewise.
31502         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
31503         * doc/posix-functions/ftello.texi: Likewise.
31504
31505 2008-04-13  Bruno Haible  <bruno@clisp.org>
31506
31507         Make test-signbit pass on HP-UX/hppa.
31508         * tests/test-signbit.c (minus_zerol): New variable.
31509         (test_signbitl): Use it.
31510
31511 2008-04-13  Bruno Haible  <bruno@clisp.org>
31512
31513         Make truncl work on OSF/1 4.0.
31514         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
31515         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
31516         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
31517         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
31518         HAVE_DECL_TRUNCL.
31519         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
31520         HAVE_DECL_TRUNCL.
31521         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
31522
31523 2008-04-13  Bruno Haible  <bruno@clisp.org>
31524
31525         * lib/unictype.h: Remove trailing comma from enumeration definitions.
31526
31527 2008-04-13  Bruno Haible  <bruno@clisp.org>
31528
31529         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
31530         expression, so as to avoid HP-UX 11 cc compiler bug.
31531
31532 2008-04-13  Bruno Haible  <bruno@clisp.org>
31533
31534         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
31535
31536 2008-04-13  Bruno Haible  <bruno@clisp.org>
31537
31538         * lib/git-merge-changelog.c: Remove empty declaration outside of
31539         functions.
31540
31541 2008-04-13  Bruno Haible  <bruno@clisp.org>
31542
31543         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
31544
31545 2008-04-13  Bruno Haible  <bruno@clisp.org>
31546
31547         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
31548         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
31549         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
31550         also if it exists but lacks definitions of the SHUT_* macros.
31551         * modules/sys_socket (Description): Update.
31552         Reported by Elbert Pol <e.pol@chello.nl>.
31553
31554 2008-04-13  Bruno Haible  <bruno@clisp.org>
31555
31556         * lib/localcharset.c (OS2): Don't redefine if already defined.
31557         Reported by Elbert Pol <e.pol@chello.nl>.
31558
31559 2008-04-13  Bruno Haible  <bruno@clisp.org>
31560
31561         * lib/binary-io.h [__EMX__]: Include <io.h>.
31562         Reported by Elbert Pol <e.pol@chello.nl>.
31563
31564 2008-04-12  Bruno Haible  <bruno@clisp.org>
31565
31566         * lib/fpucw.h: Enable the definitions also for x86_64.
31567         Needed for NetBSD/x86_64.
31568         Reported by Thomas Klausner <tk@giga.or.at>.
31569
31570 2008-04-12  Bruno Haible  <bruno@clisp.org>
31571
31572         * tests/test-strtod.c: Include isnand.h.
31573         (main): Use isnand instead of isnan.
31574         Reported by Jim Meyering.
31575
31576 2008-04-12  Bruno Haible  <bruno@clisp.org>
31577
31578         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
31579         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
31580
31581 2008-04-12  Jim Meyering  <meyering@redhat.com>
31582
31583         * m4/math_h.m4 (gl_MATH_H): Fix typos.
31584
31585 2008-04-12  Bruno Haible  <bruno@clisp.org>
31586
31587         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
31588         Reported by Elbert Pol <e.pol@chello.nl>.
31589
31590 2008-04-12  Eric Blake  <ebb9@byu.net>
31591
31592         Work around Solaris 10 math.h bug.
31593         * m4/math_h.m4 (gl_MATH_H): Check for bug.
31594         (gl_MATH_H_DEFAULTS): Set up default.
31595         * modules/math (Makefile.am): Replace new indicators.
31596         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
31597         * tests/test-math.c (main): Test this.
31598         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
31599         * doc/posix-headers/math.texi (math.h): Mention bug.
31600         Reported by Nelson H. F. Beebe and Jim Meyering.
31601
31602 2008-04-11  Bruno Haible  <bruno@clisp.org>
31603
31604         Adapt to future versions of Apple GCC.
31605         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
31606         Reported by Peter O'Gorman <peter@pogma.com>.
31607
31608 2008-04-11  Bruno Haible  <bruno@clisp.org>
31609
31610         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
31611
31612 2008-04-11  Bruno Haible  <bruno@clisp.org>
31613
31614         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
31615
31616         * modules/getaddrinfo-tests (Makefile.am): Define
31617         test_getaddrinfo_LDADD.
31618
31619 2008-04-11  Bruno Haible  <bruno@clisp.org>
31620
31621         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
31622         (init): Fix syntax error.
31623         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
31624         is declared.
31625
31626 2008-04-11  Bruno Haible  <bruno@clisp.org>
31627
31628         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
31629         * modules/glob (Depends-on): Add stdbool.
31630
31631 2008-04-11  Bruno Haible  <bruno@clisp.org>
31632
31633         * lib/trim.c: Include <string.h>.
31634
31635 2008-04-11  Eric Blake  <ebb9@byu.net>
31636
31637         Avoid compile failure on OS/2.
31638         * lib/regex_internal.h (internal_function): Disable optimization
31639         on OS/2 (__EMX__), where it caused compiler error.
31640         Reported by Elbert Pol.
31641
31642 2008-04-11  Bruno Haible  <bruno@clisp.org>
31643
31644         Flush the standard error stream before aborting. Needed on mingw.
31645         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
31646         * tests/test-array_list.c (ASSERT): Likewise.
31647         * tests/test-array_oset.c (ASSERT): Likewise.
31648         * tests/test-avltree_list.c (ASSERT): Likewise.
31649         * tests/test-avltree_oset.c (ASSERT): Likewise.
31650         * tests/test-avltreehash_list.c (ASSERT): Likewise.
31651         * tests/test-binary-io.c (ASSERT): Likewise.
31652         * tests/test-byteswap.c (ASSERT): Likewise.
31653         * tests/test-c-ctype.c (ASSERT): Likewise.
31654         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
31655         * tests/test-c-strcasestr.c (ASSERT): Likewise.
31656         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
31657         * tests/test-c-strstr.c (ASSERT): Likewise.
31658         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
31659         * tests/test-canonicalize.c (ASSERT): Likewise.
31660         * tests/test-carray_list.c (ASSERT): Likewise.
31661         * tests/test-ceilf1.c (ASSERT): Likewise.
31662         * tests/test-ceilf2.c (ASSERT): Likewise.
31663         * tests/test-ceill.c (ASSERT): Likewise.
31664         * tests/test-count-one-bits.c (ASSERT): Likewise.
31665         * tests/test-fbufmode.c (ASSERT): Likewise.
31666         * tests/test-fflush2.c (ASSERT): Likewise.
31667         * tests/test-floorf1.c (ASSERT): Likewise.
31668         * tests/test-floorf2.c (ASSERT): Likewise.
31669         * tests/test-floorl.c (ASSERT): Likewise.
31670         * tests/test-fopen.c (ASSERT): Likewise.
31671         * tests/test-fpending.c (ASSERT): Likewise.
31672         * tests/test-fprintf-posix.c (ASSERT): Likewise.
31673         * tests/test-fpurge.c (ASSERT): Likewise.
31674         * tests/test-freadable.c (ASSERT): Likewise.
31675         * tests/test-freadahead.c (ASSERT): Likewise.
31676         * tests/test-freading.c (ASSERT): Likewise.
31677         * tests/test-freadptr.c (ASSERT): Likewise.
31678         * tests/test-freadptr2.c (ASSERT): Likewise.
31679         * tests/test-freadseek.c (ASSERT): Likewise.
31680         * tests/test-freopen.c (ASSERT): Likewise.
31681         * tests/test-frexp.c (ASSERT): Likewise.
31682         * tests/test-frexpl.c (ASSERT): Likewise.
31683         * tests/test-fseek.c (ASSERT): Likewise.
31684         * tests/test-fseeko.c (ASSERT): Likewise.
31685         * tests/test-fstrcmp.c (ASSERT): Likewise.
31686         * tests/test-ftell.c (ASSERT): Likewise.
31687         * tests/test-ftello.c (ASSERT): Likewise.
31688         * tests/test-func.c (ASSERT): Likewise.
31689         * tests/test-fwritable.c (ASSERT): Likewise.
31690         * tests/test-fwriting.c (ASSERT): Likewise.
31691         * tests/test-getdelim.c (ASSERT): Likewise.
31692         * tests/test-getline.c (ASSERT): Likewise.
31693         * tests/test-i-ring.c (ASSERT): Likewise.
31694         * tests/test-iconv-utf.c (ASSERT): Likewise.
31695         * tests/test-iconv.c (ASSERT): Likewise.
31696         * tests/test-isfinite.c (ASSERT): Likewise.
31697         * tests/test-isnand.c (ASSERT): Likewise.
31698         * tests/test-isnanf.c (ASSERT): Likewise.
31699         * tests/test-isnanl.h (ASSERT): Likewise.
31700         * tests/test-ldexpl.c (ASSERT): Likewise.
31701         * tests/test-linked_list.c (ASSERT): Likewise.
31702         * tests/test-linkedhash_list.c (ASSERT): Likewise.
31703         * tests/test-localename.c (ASSERT): Likewise.
31704         * tests/test-lseek.c (ASSERT): Likewise.
31705         * tests/test-mbscasecmp.c (ASSERT): Likewise.
31706         * tests/test-mbscasestr1.c (ASSERT): Likewise.
31707         * tests/test-mbscasestr2.c (ASSERT): Likewise.
31708         * tests/test-mbscasestr3.c (ASSERT): Likewise.
31709         * tests/test-mbscasestr4.c (ASSERT): Likewise.
31710         * tests/test-mbschr.c (ASSERT): Likewise.
31711         * tests/test-mbscspn.c (ASSERT): Likewise.
31712         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
31713         * tests/test-mbspbrk.c (ASSERT): Likewise.
31714         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
31715         * tests/test-mbsrchr.c (ASSERT): Likewise.
31716         * tests/test-mbsspn.c (ASSERT): Likewise.
31717         * tests/test-mbsstr1.c (ASSERT): Likewise.
31718         * tests/test-mbsstr2.c (ASSERT): Likewise.
31719         * tests/test-mbsstr3.c (ASSERT): Likewise.
31720         * tests/test-memchr2.c (ASSERT): Likewise.
31721         * tests/test-memmem.c (ASSERT): Likewise.
31722         * tests/test-open.c (ASSERT): Likewise.
31723         * tests/test-printf-frexp.c (ASSERT): Likewise.
31724         * tests/test-printf-frexpl.c (ASSERT): Likewise.
31725         * tests/test-printf-posix.c (ASSERT): Likewise.
31726         * tests/test-quotearg.c (ASSERT): Likewise.
31727         * tests/test-rbtree_list.c (ASSERT): Likewise.
31728         * tests/test-rbtree_oset.c (ASSERT): Likewise.
31729         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
31730         * tests/test-round1.c (ASSERT): Likewise.
31731         * tests/test-roundf1.c (ASSERT): Likewise.
31732         * tests/test-roundl.c (ASSERT): Likewise.
31733         * tests/test-signbit.c (ASSERT): Likewise.
31734         * tests/test-sleep.c (ASSERT): Likewise.
31735         * tests/test-snprintf-posix.c (ASSERT): Likewise.
31736         * tests/test-snprintf.c (ASSERT): Likewise.
31737         * tests/test-sprintf-posix.c (ASSERT): Likewise.
31738         * tests/test-stat-time.c (ASSERT): Likewise.
31739         * tests/test-strcasestr.c (ASSERT): Likewise.
31740         * tests/test-strerror.c (ASSERT): Likewise.
31741         * tests/test-striconv.c (ASSERT): Likewise.
31742         * tests/test-striconveh.c (ASSERT): Likewise.
31743         * tests/test-striconveha.c (ASSERT): Likewise.
31744         * tests/test-strsignal.c (ASSERT): Likewise.
31745         * tests/test-strstr.c (ASSERT): Likewise.
31746         * tests/test-strtod.c (ASSERT): Likewise.
31747         * tests/test-trunc1.c (ASSERT): Likewise.
31748         * tests/test-trunc2.c (ASSERT): Likewise.
31749         * tests/test-truncf1.c (ASSERT): Likewise.
31750         * tests/test-truncf2.c (ASSERT): Likewise.
31751         * tests/test-truncl.c (ASSERT): Likewise.
31752         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
31753         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
31754         * tests/test-vasnprintf.c (ASSERT): Likewise.
31755         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
31756         * tests/test-vasprintf.c (ASSERT): Likewise.
31757         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
31758         * tests/test-vprintf-posix.c (ASSERT): Likewise.
31759         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
31760         * tests/test-vsnprintf.c (ASSERT): Likewise.
31761         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
31762         * tests/test-wcwidth.c (ASSERT): Likewise.
31763         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
31764         * tests/test-xprintf-posix.c (ASSERT): Likewise.
31765         * tests/test-xvasprintf.c (ASSERT): Likewise.
31766         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
31767         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
31768         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
31769         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
31770         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
31771         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
31772         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
31773         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
31774         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
31775         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
31776         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
31777         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
31778         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
31779         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
31780         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
31781         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
31782         * tests/unictype/test-block_list.c (ASSERT): Likewise.
31783         * tests/unictype/test-block_of.c (ASSERT): Likewise.
31784         * tests/unictype/test-block_test.c (ASSERT): Likewise.
31785         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
31786         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
31787         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
31788         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
31789         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
31790         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
31791         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
31792         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
31793         * tests/unictype/test-combining.c (ASSERT): Likewise.
31794         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
31795         * tests/unictype/test-digit.c (ASSERT): Likewise.
31796         * tests/unictype/test-mirror.c (ASSERT): Likewise.
31797         * tests/unictype/test-numeric.c (ASSERT): Likewise.
31798         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
31799         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
31800         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
31801         * tests/unictype/test-scripts.c (ASSERT): Likewise.
31802         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
31803         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
31804         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
31805         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
31806         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
31807         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
31808         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
31809         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
31810         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
31811         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
31812         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
31813         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
31814         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
31815         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
31816         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
31817         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
31818         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
31819         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
31820         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
31821         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
31822         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
31823         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
31824         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
31825         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
31826         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
31827         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
31828         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
31829         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
31830         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
31831         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
31832         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
31833         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
31834         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
31835         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
31836         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
31837         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
31838         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
31839         Reported by Eric Blake.
31840
31841 2008-04-11  Bruno Haible  <bruno@clisp.org>
31842
31843         * lib/wchar.in.h: Tweak comment.
31844
31845 2008-04-11  Bruno Haible  <bruno@clisp.org>
31846
31847         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
31848         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
31849         gl_COMMON.
31850         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
31851
31852 2008-04-11  Bruno Haible  <bruno@clisp.org>
31853
31854         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
31855
31856 2008-04-11  Simon Josefsson  <simon@josefsson.org>
31857
31858         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
31859         of attempting to use non-existing /dev/*random.  Based on patch
31860         from Adam Strzelecki <ono@java.pl> in
31861         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
31862
31863 2008-04-08  Bruno Haible  <bruno@clisp.org>
31864
31865         Add tentative support for emx+gcc.
31866         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
31867         * lib/fpurge.c (fpurge): Likewise.
31868         * lib/freadable.c (freadable): Likewise.
31869         * lib/freadahead.c (freadahead): Likewise.
31870         * lib/freading.c (freading): Likewise.
31871         * lib/freadptr.c (freadptr): Likewise.
31872         * lib/freadseek.c (freadptrinc): Likewise.
31873         * lib/fseeko.c (rpl_fseeko): Likewise.
31874         * lib/fseterr.c (fseterr): Likewise.
31875         * lib/fwritable.c (fwritable): Likewise.
31876         * lib/fwriting.c (fwriting): Likewise.
31877         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
31878
31879 2008-04-09  Eric Blake  <ebb9@byu.net>
31880
31881         Avoid some autoconf warnings.
31882         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
31883         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
31884         * m4/afs.m4 (gl_AFS): Likewise.
31885         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
31886         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
31887         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
31888         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
31889         (gl_INTEGER_TYPE_SUFFIX): Likewise.
31890         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
31891         (AC_CHECK_DECLS_ONCE): Likewise.
31892         Rename file...
31893         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
31894         gnulib-tool requires autoconf 2.59 or better.
31895         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
31896
31897 2008-04-08  Eric Blake  <ebb9@byu.net>
31898
31899         Use 'git describe --match' if present (added in git 1.5.5).
31900         * build-aux/git-version-gen: Limit result to tags that match 'v*'
31901         if possible.
31902
31903 2008-04-08  Bruno Haible  <bruno@clisp.org>
31904
31905         Add tentative support for OpenServer.
31906         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
31907         _ptr, _cnt.
31908         * lib/fpurge.c (fpurge): Likewise.
31909         * lib/freadable.c (freadable): Likewise.
31910         * lib/freadahead.c (freadahead): Likewise.
31911         * lib/freading.c (freading): Likewise.
31912         * lib/freadptr.c (freadptr): Likewise.
31913         * lib/freadseek.c (freadptrinc): Likewise.
31914         * lib/fseeko.c (rpl_fseeko): Likewise.
31915         * lib/fseterr.c (fseterr): Likewise.
31916         * lib/fwritable.c (fwritable): Likewise.
31917         * lib/fwriting.c (fwriting): Likewise.
31918         Reported by Roger Cornelius <rac@tenzing.org> and
31919         Brian K. White <brian@aljex.com>.
31920
31921 2008-04-06  Jim Meyering  <meyering@redhat.com>
31922
31923         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
31924
31925 2008-04-06  Bruno Haible  <bruno@clisp.org>
31926
31927         Avoid possible error with non-ASCII bytes in UTF-8 locales.
31928         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
31929         * tests/test-printf-posix.sh: Likewise.
31930         * tests/test-vfprintf-posix.sh: Likewise.
31931         * tests/test-vprintf-posix.sh: Likewise.
31932         * tests/test-xprintf-posix.sh: Likewise.
31933
31934 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31935
31936         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
31937         hide error from 'ls', needed on OS/2.
31938         Report by Elbert Pol <elbert.pol@gmail.com>.
31939
31940 2008-04-04  Eric Blake  <ebb9@byu.net>
31941
31942         Make test-fseeko.c failures meaningful.
31943         * tests/test-fseeko.c: Print line number on failure.
31944         * tests/test-fseek.c: Likewise.
31945         Reported by Nelson H. F. Beebe.
31946
31947         Improve strtod bug detection check.
31948         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
31949         required for Solaris 10.
31950         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
31951
31952 2008-04-04  Bruno Haible  <bruno@clisp.org>
31953
31954         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
31955         by m4/setenv.m4.
31956
31957 2008-04-03  Eric Blake  <ebb9@byu.net>
31958
31959         Ensure sane .version contents.
31960         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
31961         version string.
31962         * build-aux/git-version-gen: Improve documentation.
31963
31964         Make GNU make output nicer.
31965         * top/GNUmakefile [!_have-Makefile]: Add dependency on
31966         MAKECMDGOALS to enforce message for all command line targets.  Set
31967         srcdir for use in maint.mk.
31968
31969         Another maintainer tweak.
31970         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
31971         a target that regenerates version.
31972
31973 2008-04-03  Jim Meyering  <meyering@redhat.com>
31974
31975         vc-list-files: don't cause coreutils "make po-check" failure
31976         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
31977
31978 2008-04-03  Eric Blake  <ebb9@byu.net>
31979
31980         Allow VPATH usage of vc-list-files.
31981         * build-aux/vc-list-files (scriptversion): Add timestamp.
31982         (options): Add --help, --version, -C.
31983         (CVS): Support installed cvsu.
31984
31985 2008-04-02  Bruno Haible  <bruno@clisp.org>
31986
31987         Avoid some "statement with no effect" warnings from gcc.
31988         * tests/test-wctype.c (main): Explicitly ignore unused values.
31989         Reported by Jim Meyering.
31990
31991 2008-04-02  Jim Meyering  <meyering@redhat.com>
31992
31993         Avoid some warnings from "gcc -Wshadow".
31994         * tests/test-frexp.c (exp): Define to a different identifier.
31995         * tests/test-frexpl.c (exp): Likewise.
31996
31997 2008-04-03  Jim Meyering  <meyering@redhat.com>
31998
31999         bootstrap: remove dangling *.[ch] symlinks from lib
32000         * build-aux/bootstrap [dangling symlink removal]: Move find's
32001         -depth option to precede all others, to avoid a warning.
32002         Remove *.[ch] files too, and from "$source_base" (usually lib/).
32003
32004 2008-04-02  Bruno Haible  <bruno@clisp.org>
32005
32006         Avoid some warnings from "gcc -Wshadow".
32007         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
32008         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
32009         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
32010         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
32011         Reported by Jim Meyering.
32012
32013 2008-04-01  Bruno Haible  <bruno@clisp.org>
32014
32015         Fix test to work on IRIX 6.5 with cc.
32016         * tests/test-math.c (numeric_equal): New function.
32017         (main): Use it.
32018
32019 2008-04-01  Bruno Haible  <bruno@clisp.org>
32020
32021         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
32022
32023 2008-04-01  Bruno Haible  <bruno@clisp.org>
32024
32025         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
32026         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
32027         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
32028         (Depends-on): Remove math.
32029
32030         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
32031         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
32032         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
32033         (Depends-on): Remove math.
32034
32035         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
32036         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
32037         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
32038         (Depends-on): Remove math.
32039         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
32040         (Depends-on): Remove math.
32041
32042         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
32043         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
32044         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
32045         (Depends-on): Remove math.
32046         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
32047         (Depends-on): Remove math.
32048
32049         * tests/test-round1.c: Include nan.h.
32050         (main): Use NaNd instead of NAN.
32051         * modules/round-tests (Files): Add tests/nan.h.
32052
32053         * tests/test-trunc1.c: Include nan.h.
32054         (main): Use NaNd instead of NAN.
32055         * modules/trunc-tests (Files): Add tests/nan.h.
32056
32057         * tests/test-roundf1.c: Include nan.h.
32058         (main): Use NaNf instead of NAN.
32059         * modules/roundf-tests (Files): Add tests/nan.h.
32060
32061         * tests/test-truncf1.c: Include nan.h.
32062         (main): Use NaNf instead of NAN.
32063         * modules/truncf-tests (Files): Add tests/nan.h.
32064
32065         * tests/test-ceilf1.c: Include nan.h.
32066         (main): Use NaNf instead of NAN.
32067         * modules/ceilf-tests (Files): Add tests/nan.h.
32068
32069         * tests/test-floorf1.c: Include nan.h.
32070         (main): Use NaNf instead of NAN.
32071         * modules/floorf-tests (Files): Add tests/nan.h.
32072
32073         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
32074         (main): Use NaNf instead of NAN.
32075         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
32076
32077         * tests/test-isnand.c: Include nan.h instead of <math.h>.
32078         (main): Use NaNd instead of NAN.
32079         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
32080
32081         * tests/test-frexp.c: Include nan.h.
32082         (main): Use NaNd instead of NAN.
32083         * modules/frexp-tests (Files): Add tests/nan.h.
32084
32085         * lib/isnan.c: Don't include <math.h>.
32086         (FUNC): Don't use NAN macro.
32087         * modules/isnand-nolibm (Depends-on): Remove math.
32088         * modules/isnanf-nolibm (Depends-on): Remove math.
32089         * modules/isnanl (Depends-on): Remove math.
32090         * modules/isnanl-nolibm (Depends-on): Remove math.
32091
32092         * tests/nan.h: New file.
32093
32094 2008-04-01  Eric Blake  <ebb9@byu.net>
32095
32096         Fix typos.
32097         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
32098         values to be the right type.
32099
32100         For now, cater to gnulib strtod inaccuracies.
32101         * tests/test-strtod.c (main): Allow 1-ulp error on expected
32102         fractional results.  While not as nice from a QoI perspective, it
32103         is a quicker patch than correctly implementing decimal to binary
32104         rounding.
32105
32106 2008-03-31  Eric Blake  <ebb9@byu.net>
32107
32108         Guarantee a definition of NAN.
32109         * lib/math.in.h (NAN): Define if missing.
32110         * tests/test-math.c (main): Test it.
32111         * doc/posix-headers/math.texi (math.h): Document this.
32112         * lib/isnan.c (rpl_isnand): Use it.
32113         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
32114         * tests/test-floorf1.c (NaN): Likewise.
32115         * tests/test-frexp.c (NaN): Likewise.
32116         * tests/test-isnand.c (NaN): Likewise.
32117         * tests/test-isnanf.c (NaN): Likewise.
32118         * tests/test-round1.c (NaN): Likewise.
32119         * tests/test-roundf1.c (NaN): Likewise.
32120         * tests/test-snprintf-posix.h (NaN): Likewise.
32121         * tests/test-sprintf-posix.h (NaN): Likewise.
32122         * tests/test-trunc1.c (NaN): Likewise.
32123         * tests/test-truncf1.c (NaN): Likewise.
32124         * tests/test-vasnprintf-posix.c (NaN): Likewise.
32125         * tests/test-vasprintf-posix.c (NaN): Likewise.
32126         * modules/isnand-nolibm (Depends-on): Add math.
32127         * modules/isnanf-nolibm (Depends-on): Likewise.
32128         * modules/isnanl (Depends-on): Likewise.
32129         * modules/isnanl-nolibm (Depends-on): Likewise.
32130         * modules/snprintf-posix-tests (Depends-on): Likewise.
32131         * modules/sprintf-posix-tests (Depends-on): Likewise.
32132         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
32133         * modules/vsprintf-posix-tests (Depends-on): Likewise.
32134         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
32135         * modules/vasprintf-posix-tests (Depends-on): Likewise.
32136
32137 2008-03-31  Bruno Haible  <bruno@clisp.org>
32138
32139         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
32140         * doc/posix-functions/strtod.texi: Likewise.
32141
32142 2008-03-31  Bruno Haible  <bruno@clisp.org>
32143
32144         * tests/test-strtod.c (main): Don't use C99 syntax.
32145
32146 2008-03-31  Bruno Haible  <bruno@clisp.org>
32147
32148         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
32149         Reported by Eric Blake.
32150
32151 2008-03-31  Jim Meyering  <meyering@redhat.com>
32152
32153         Don't compare actual signbit return values.
32154         * tests/test-strtod.c (main): Rather, compare only their
32155         zero/non-zero nature.
32156
32157 2008-03-31  Eric Blake  <ebb9@byu.net>
32158
32159         More strtod documentation.
32160         * doc/posix-functions/strtod.texi (strtod): Interpret more test
32161         failures as distinct bugs.
32162
32163 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
32164
32165         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
32166         Problem reported by Erik Benada in
32167         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
32168
32169 2008-03-30  Bruno Haible  <bruno@clisp.org>
32170
32171         * tests/test-strtod.c: Add comments about which assertion fails on which
32172         platform.
32173         * doc/posix-functions/strtod.texi: Add info about many more platforms.
32174
32175 2008-03-30  Eric Blake  <ebb9@byu.net>
32176
32177         Test signbit behavior on zeros.
32178         * tests/test-signbit.c (test_signbitf): Add tests for zero.
32179         (test_signbitd, test_signbitl): Likewise.
32180
32181         More strtod touchups.
32182         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
32183         sign of negative underflow, for now.  Use .5, not .1.
32184         * doc/posix-functions/strtod.texi (strtod): Mention these
32185         limitations.
32186         Reported by Jim Meyering.
32187
32188 2008-03-30  Bruno Haible  <bruno@clisp.org>
32189
32190         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
32191         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
32192
32193 2008-03-30  Bruno Haible  <bruno@clisp.org>
32194
32195         Avoid failure when attempting to return empty iconv results on some
32196         platforms.
32197         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
32198         allocation, don't report ENOMEM when the resulting string is empty.
32199
32200 2008-03-30  Bruno Haible  <bruno@clisp.org>
32201
32202         Fix buffer overrun.
32203         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
32204         Don't consider the width for tmp_length. Check count against tmp_length
32205         before doing the padding. Ensure enough allocation during padding.
32206
32207 2008-03-30  Eric Blake  <ebb9@byu.net>
32208
32209         strtod touchups.
32210         * lib/strtod.c (strtod): Avoid compiler warnings.
32211         Reported by Jim Meyering.
32212
32213 2008-03-30  Bruno Haible  <bruno@clisp.org>
32214
32215         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
32216         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
32217         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
32218         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
32219         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
32220         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
32221         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
32222         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
32223
32224         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
32225         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
32226         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
32227         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
32228         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
32229         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
32230         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
32231         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
32232
32233         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
32234         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
32235         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
32236         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
32237         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
32238         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
32239         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
32240         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
32241
32242         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
32243         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
32244
32245         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
32246         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
32247
32248         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
32249         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
32250
32251         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
32252         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
32253         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
32254
32255         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
32256         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
32257         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
32258
32259         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
32260         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
32261         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
32262
32263         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
32264         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
32265         * modules/vasprintf (Depends-on): Add EOVERFLOW.
32266
32267         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
32268         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
32269         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
32270         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
32271         (Depends-on): Add EOVERFLOW.
32272         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
32273         (Depends-on): Add EOVERFLOW.
32274         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
32275         (Depends-on): Add EOVERFLOW.
32276         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
32277         (Depends-on): Add EOVERFLOW.
32278         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
32279         (Depends-on): Add EOVERFLOW.
32280         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
32281         (Depends-on): Add EOVERFLOW.
32282         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
32283         (Depends-on): Add EOVERFLOW.
32284         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
32285         (Depends-on): Add EOVERFLOW.
32286
32287         * lib/sprintf.c (EOVERFLOW): Remove fallback.
32288         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
32289         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
32290
32291         * lib/snprintf.c (EOVERFLOW): Remove fallback.
32292         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
32293         * modules/snprintf (Depends-on): Add EOVERFLOW.
32294
32295         * lib/poll.c (EOVERFLOW): Remove fallback.
32296         * modules/poll (Depends-on): Add EOVERFLOW.
32297
32298         * lib/getugroups.c (EOVERFLOW): Remove fallback.
32299         * modules/getugroups (Depends-on): Add EOVERFLOW.
32300
32301         * lib/getdelim.c (EOVERFLOW): Remove fallback.
32302         * modules/getdelim (Depends-on): Add EOVERFLOW.
32303
32304         * lib/ftell.c (EOVERFLOW): Remove fallback.
32305         * modules/ftell (Depends-on): Add EOVERFLOW.
32306
32307         * lib/fprintf.c (EOVERFLOW): Remove fallback.
32308         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
32309         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
32310
32311         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
32312
32313         * modules/EOVERFLOW-tests: New file.
32314         * tests/test-EOVERFLOW.c: New file.
32315
32316         * modules/EOVERFLOW: New file.
32317         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
32318
32319 2008-03-30  Bruno Haible  <bruno@clisp.org>
32320
32321         Fix bug introduced on 2007-06-10.
32322         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
32323         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
32324
32325 2008-03-30  Bruno Haible  <bruno@clisp.org>
32326
32327         Improve freadseek's efficiency after ungetc.
32328         * lib/freadseek.c: Include freadahead.h.
32329         (freadptrinc): New function, extracted from freadseek.
32330         (freadseek): Use it in a loop. Use freadahead to determine the number
32331         of loop iterations.
32332         * modules/freadseek (Depends-on): Add freadahead.
32333         (configure.ac): Require AC_C_INLINE.
32334
32335 2008-03-30  Bruno Haible  <bruno@clisp.org>
32336
32337         * lib/freadseek.c (freadseek): Don't ignore the return value of
32338         freadptr.
32339
32340 2008-03-29  Eric Blake  <ebb9@byu.net>
32341
32342         Add hex float support.
32343         * modules/strtod (Depends-on): Add c-ctype.
32344         (Link): Mention POW_LIB.
32345         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
32346         whitespace between 'e' and exponent.
32347         * tests/test-strtod.c (main): Enable hex float tests.
32348         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
32349         now provides.
32350
32351         Document various strtod bugs, with some fixes.
32352         * doc/posix-functions/strtod.texi (strtod): Document bugs with
32353         "-0x", "inf", "nan", and hex constants.
32354         * doc/posix-functions/atof.texi (atof): Likewise.
32355         * modules/stdlib (Makefile.am): Support strtod.
32356         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
32357         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
32358         detect additional strtod bugs.
32359         * lib/stdlib.in.h (rpl_strtod): Add declarations.
32360         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
32361         bool where appropriate.  Parse 'inf' and 'nan'.
32362         * tests/test-strtod.c: New file.
32363         * modules/strtod (Depends-on): Add stdbool, stdlib.
32364         (configure.ac): Turn on module indicator.
32365         * modules/strtod-tests: New module.
32366
32367 2008-03-29  Eric Blake  <ebb9@byu.net>
32368
32369         Fix ftell on mingw.
32370         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
32371         * modules/ftell-tests (Depends-on): Add binary-io.
32372         * modules/ftello-tests (Depends-on): Likewise.
32373         * tests/test-ftell.c (main): Enhance test to cover behavior after
32374         ungetc.  Enforce binary mode.
32375         * tests/test-ftello.c (main): Likewise.
32376
32377         Pass test-freadseek on cygwin.
32378         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
32379         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
32380         ungetc buffer.
32381
32382         * tests/test-fflush2.c (main): Fix typo.
32383
32384 2008-03-29  Bruno Haible  <bruno@clisp.org>
32385
32386         * tests/test-fflush2.c (main): Temporarily disable the contents of
32387         this test.
32388         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
32389         Reported by Eric Blake.
32390
32391 2008-03-28  Simon Josefsson  <simon@josefsson.org>
32392
32393         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
32394         (GC_SHA224_DIGEST_SIZE): Add.
32395
32396         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
32397         (gc_hash_digest_length): Likewise.
32398         (gc_hash_buffer): Likewise.
32399
32400 2008-03-25  Bruno Haible  <bruno@clisp.org>
32401
32402         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
32403         detail which gettext release to use.
32404         Reported by Simon Josefsson.
32405
32406 2008-03-26  Jim Meyering  <meyering@redhat.com>
32407
32408         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
32409         * modules/gnumakefile (clean-GNUmakefile): Also, use
32410         test ... && ... || : syntax rather than if-then ... fi.
32411
32412         gnumakefile: Don't double-quote-expand $(VPATH) value.
32413         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
32414
32415 2008-03-24  Eric Blake  <ebb9@byu.net>
32416
32417         Alter GNUmakefile to install into top directory.
32418         * modules/maintainer-makefile: Split, and add dependency...
32419         * modules/gnumakefile: to this new module.
32420         * build-aux/GNUmakefile: Move...
32421         * top/GNUmakefile: ...here.
32422         * build-aux/maint.mk: Move...
32423         * top/maint.mk: ...here.
32424         * MODULES.html.sh (Support for maintaining...): Document new
32425         module.
32426
32427 2008-03-23  Bruno Haible  <bruno@clisp.org>
32428
32429         * gnulib-tool: New options --vc-files, --no-vc-files.
32430         (func_usage): Document them.
32431         (vc_files): New variable.
32432         (func_import): Consider vc_files.
32433         (func_create_testdir): Set vc_files to empty.
32434         Suggested by Jim Meyering and Karl Berry.
32435
32436 2008-03-23  Bruno Haible  <bruno@clisp.org>
32437
32438         Fix regex compilation error on HP-UX 11.
32439         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
32440         * modules/regex (Files): Add m4/mbstate_t.m4.
32441         Reported by Ton Voon <ton.voon@altinity.com>.
32442
32443 2008-03-23  Bruno Haible  <bruno@clisp.org>
32444
32445         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
32446
32447 2008-03-23  Eric Blake  <ebb9@byu.net>
32448             Bruno Haible  <bruno@clisp.org>
32449
32450         Install files from top/ in the destination directory.
32451         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
32452         augmentation also for the files from top/.
32453         (func_import, func_create_testdir): Rewrite file names:
32454         top/filename -> filename.
32455
32456 2008-03-23  Bruno Haible  <bruno@clisp.org>
32457
32458         Tweak "gnulib --version" output.
32459         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
32460
32461 2008-03-23  Bruno Haible  <bruno@clisp.org>
32462
32463         Tweak "gnulib --version" output.
32464         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
32465         rather than contents of ChangeLog, when possible.
32466
32467 2008-03-21  Eric Blake  <ebb9@byu.net>
32468
32469         More --version tweaks.
32470         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
32471         date of last ChangeLog entry.
32472
32473 2008-03-21  Jim Meyering  <meyering@redhat.com>
32474
32475         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
32476
32477 2008-03-20  Eric Blake  <ebb9@byu.net>
32478
32479         VPATH fix.
32480         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
32481
32482 2008-03-20  Simon Josefsson  <simon@josefsson.org>
32483
32484         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
32485         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
32486
32487 2008-03-20  Eric Blake  <ebb9@byu.net>
32488
32489         Sync GNUmakefile with coreutils.
32490         * build-aux/GNUmakefile (have-Makefile): Rename...
32491         (_have-Makefile): ...to this, for namespace consideration.
32492         (GNUmakefile.cfg): Include, if present.
32493         (_autoreconf): Define a default.
32494         (_is-dist-target): New rule for rebuilds to pick up intra-release
32495         version.
32496         (maint-cfg.mk): Rename...
32497         (cfg.mk): ...to this.
32498
32499 2008-03-18  Jim Meyering  <meyering@redhat.com>
32500
32501         New script and module: mktempd
32502         * MODULES.html.sh (maint+release support): Add mktempd.
32503         * build-aux/mktempd: New file.
32504         * modules/mktempd: New file.
32505
32506 2008-03-15  Jim Meyering  <meyering@redhat.com>
32507
32508         Undo last change.
32509         * lib/sha1.c, lib/md5.c: 63 != ~63.
32510         Reported by Andreas Schwab.
32511
32512         sha1.c, md5.c: Hoist a redundant expression.
32513         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
32514         "ctx->buflen" only once, before calling *_process_block.
32515         * lib/md5.c (md5_process_bytes): Likewise.
32516
32517 2008-03-14  Eric Blake  <ebb9@byu.net>
32518
32519         Bump copyright year in files generated by gnulib-tool.
32520         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
32521         gnulib-tool, rather than hard-coding it.
32522
32523         Fix 'gnulib-tool --version' output to work with git.
32524         * gnulib-tool (func_gnulib_dir): New function, extracted from...
32525         (startup): ...here.
32526         (func_version): Use it to invoke git-version-gen, rather than
32527         relying on CVS keyword expansion.  Modernize wording.
32528         (cvsdatestamp, last_checkin_date, version): Kill unused
32529         variables.
32530
32531 2008-03-12  Jim Meyering  <meyering@redhat.com>
32532
32533         Recognize optional cast of the argument to free.
32534         * build-aux/useless-if-before-free: Update regexps.
32535
32536         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
32537
32538 2008-03-11  Bruno Haible  <bruno@clisp.org>
32539
32540         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
32541         by a single package.
32542         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
32543         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
32544         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
32545         Reported by Sam Steingold <sds@gnu.org>.
32546
32547 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
32548
32549         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
32550         repositories.
32551
32552 2008-03-11  Bruno Haible  <bruno@clisp.org>
32553
32554         Avoid conflicts between local macro definitions.
32555         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32556         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
32557
32558 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
32559             Bruno Haible  <bruno@clisp.org>
32560
32561         Make va_copy work with some version of xlc on AIX 5.1.
32562         * lib/stdarg.in.h: New file.
32563         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
32564         On AIX, use a <stdarg.h> file substitute.
32565         * modules/stdarg (Files): Add lib/stdarg.in.h.
32566         (Depends-on): Add include_next.
32567         (Makefile.am): Build a stdarg.h substitute if requested.
32568         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
32569
32570 2008-03-10  Bruno Haible  <bruno@clisp.org>
32571
32572         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
32573         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
32574         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
32575
32576 2008-03-10  Bruno Haible  <bruno@clisp.org>
32577
32578         * modules/stdlib (Depends-on): Add include_next, remove
32579         absolute-header.
32580
32581 2008-03-09  Bruno Haible  <bruno@clisp.org>
32582
32583         * lib/freadahead.h (freadahead): Document more precisely.
32584         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
32585         the sum of both buffer sizes.
32586         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
32587         * NEWS: Document the change.
32588
32589 2008-03-09  Bruno Haible  <bruno@clisp.org>
32590
32591         Extend freadptr to return also the buffer size.
32592         * lib/freadptr.h (freadptr): Add sizep argument.
32593         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
32594         (freadptr): Add sizep argument. Determine buffer size like freadahead
32595         does.
32596         * tests/test-freadptr.c: Don't include freadahead.h.
32597         (main): Adapt for new calling convention of freadptr.
32598         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
32599         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
32600         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
32601         tests/test-freadptr2.sh.
32602         (Depends): Remove freadahead.
32603         (TESTS): Add test-freadptr2.sh.
32604         (check_PROGRAMS): Add test-freadptr2.
32605
32606 2008-03-09  Bruno Haible  <bruno@clisp.org>
32607
32608         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
32609         Report and solution by Simon Josefsson.
32610
32611 2008-03-06  Bruno Haible  <bruno@clisp.org>
32612
32613         Make fflush after ungetc work on BSD platforms.
32614         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
32615         * tests/test-fflush2.c: New file.
32616         * tests/test-fflush2.sh: New file.
32617         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
32618         tests/test-fflush2.c.
32619         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
32620         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
32621
32622 2008-03-06  Eric Blake  <ebb9@byu.net>
32623
32624         Likewise for ftello.
32625         * modules/ftello (Dependencies): Add extensions.
32626         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
32627
32628 2008-03-06  Bruno Haible  <bruno@clisp.org>
32629
32630         * modules/fseeko (Dependencies): Add extensions.
32631         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
32632         Needed on glibc systems.
32633
32634 2008-03-06  Bruno Haible  <bruno@clisp.org>
32635
32636         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
32637         email address.
32638         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32639
32640 2008-03-06  Bruno Haible  <bruno@clisp.org>
32641
32642         * users.txt: Add libgnupdf.
32643
32644 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32645
32646         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
32647         (Header File Substitutes, Function Substitutes,
32648         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
32649         (Build robot for gnulib): Fix typo.
32650
32651 2008-03-06  Bruno Haible  <bruno@clisp.org>
32652
32653         * doc/gnulib-tool.texi (VCS Issues): Small updates.
32654         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32655
32656 2008-03-06  Bruno Haible  <bruno@clisp.org>
32657
32658         * doc/func.texi: New file, extracted from doc/gnulib.texi.
32659         * doc/gnulib.texi: Include it.
32660
32661 2008-03-06  Simon Josefsson  <simon@josefsson.org>
32662
32663         * modules/func (License): Change license to unlimited; there was
32664         no LGPL parts in the module anyway.
32665
32666 2008-03-06  Simon Josefsson  <simon@josefsson.org>
32667
32668         * modules/__func__: Renamed to modules/func.
32669         * modules/__func__-tests: Renamed to modules/func-tests.
32670         * tests/test-__func__.c: Renamed to tests/test-func.c.
32671         * m4/__func__.m4: Renamed to m4/func.m4.
32672         * doc/gnulib.texi (__func__): Section renamed to func.
32673         Suggested by Eric Blake <ebb9@byu.net>.
32674
32675 2008-03-06  Simon Josefsson  <simon@josefsson.org>
32676
32677         * doc/gnulib.texi (__func__): Use C99 terminology when talking
32678         about __func__.  Make example self-contained.  Suggested by Eric
32679         Blake <ebb9@byu.net>.
32680
32681         * tests/test-__func__.c (main): Avoid extraneous () around __func.
32682         Suggested by Eric Blake <ebb9@byu.net>.
32683
32684 2008-03-06  Simon Josefsson  <simon@josefsson.org>
32685
32686         * modules/__func__: New file.
32687         * modules/__func__-tests: New file.
32688         * tests/test-__func__.c: New file.
32689         * m4/__func__.m4: New file.
32690         * doc/gnulib.texi (__func__): Document __func__ module.
32691
32692 2008-03-05  Simon Josefsson  <simon@josefsson.org>
32693
32694         * modules/byteswap (License): Re-license as LGPLv2+.
32695
32696 2008-03-05  Simon Josefsson  <simon@josefsson.org>
32697
32698         * doc/Makefile: Add pdf target.
32699
32700 2008-03-05  Simon Josefsson  <simon@josefsson.org>
32701
32702         * modules/inline (License): Use 'unlimited', since there are only
32703         *.m4 files in this module.
32704
32705 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
32706             Bruno Haible  <bruno@clisp.org>
32707
32708         Add support for HP C 7.1 on OpenVMS 8.3.
32709         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
32710
32711 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
32712
32713         Update VMS specifics.
32714         * lib/getopt.c [VMS]: Remove include of unixlib.h.
32715
32716 2008-03-02  Jim Meyering  <meyering@redhat.com>
32717
32718         Remove the last dependency on the "free" module.
32719         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
32720         Reported by Bob Proulx.
32721
32722         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
32723
32724         Remove useless "if" tests before free.  Deprecate "free" module.
32725         * doc/posix-functions/free.texi: Mention that this
32726         module is no longer useful.
32727         * modules/free (Notice): Say this module is obsolete.
32728         * modules/readutmp (Depends-on): Remove free.
32729         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
32730         * lib/putenv.c (putenv): Likewise.
32731         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
32732         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
32733         * tests/test-c-strcasestr.c (main): Likewise.
32734         * tests/test-c-strstr.c (main): Likewise.
32735         * tests/test-mbscasestr1.c (main): Likewise.
32736         * tests/test-mbscasestr2.c (main): Likewise.
32737         * tests/test-mbsstr1.c (main): Likewise.
32738         * tests/test-mbsstr2.c (main): Likewise.
32739         * tests/test-memmem.c (main): Likewise.
32740         * tests/test-strcasestr.c (main): Likewise.
32741         * tests/test-striconv.c (main): Likewise.
32742         * tests/test-striconveh.c (main): Likewise.
32743         * tests/test-striconveha.c (main): Likewise.
32744         * tests/test-strstr.c (main): Likewise.
32745
32746         * build-aux/git-version-gen: Adjust a comment and the Usage string.
32747
32748         bootstrap: sync from coreutils again
32749         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
32750
32751 2008-03-01  Jim Meyering  <meyering@redhat.com>
32752
32753         bootstrap: sync from coreutils
32754         * build-aux/bootstrap (update_po_files): Copy a .po file into place
32755         also when the target doesn't exist.
32756
32757 2008-03-01  Eric Blake  <ebb9@byu.net>
32758
32759         Fix bugs in last patch.
32760         * lib/memchr2.c (memchr2): Fix typo.
32761         * tests/test-memchr2.c: Test previous bug, and don't use GNU
32762         extension.
32763         Reported by Bruce Korb.
32764
32765         New module 'memchr2'.
32766         * modules/memchr2: New file.
32767         * modules/memchr2-tests: Likewise.
32768         * lib/memchr2.h: Likewise.
32769         * lib/memchr2.c: Likewise, based on memchr.c.
32770         * tests/test-memchr2.c: New test.
32771         * MODULES.html.sh (String handling): Add memchr2.
32772
32773 2008-02-29  Bruno Haible  <bruno@clisp.org>
32774
32775         * modules/freadseek-tests: New file.
32776         * tests/test-freadseek.sh: New file.
32777         * tests/test-freadseek.c: New file.
32778
32779         New module 'freadseek'.
32780         * modules/freadseek: New file.
32781         * lib/freadseek.h: New file.
32782         * lib/freadseek.c: New file.
32783         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
32784
32785 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
32786
32787         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
32788         wydawca.
32789
32790         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
32791         program_invocation_name and program_invocation_short_name are
32792         present.
32793
32794 2008-02-28  Bruno Haible  <bruno@clisp.org>
32795
32796         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
32797         * tests/test-freadptr.sh: Also test non-seekable stdin.
32798
32799 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
32800
32801         * build-aux/bootstrap (source_base, m4_base)
32802         (doc_base, tests_base): New variables.
32803         (gnulib_tool_options): Do not hardcode base directories, use
32804         the above variables instead.
32805
32806 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
32807
32808         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
32809
32810 2008-02-28  Bruno Haible  <bruno@clisp.org>
32811
32812         * modules/freadptr-tests: New file.
32813         * tests/test-freadptr.sh: New file.
32814         * tests/test-freadptr.c: New file.
32815
32816         New module 'freadptr'.
32817         * modules/freadptr: New file.
32818         * lib/freadptr.h: New file.
32819         * lib/freadptr.c: New file.
32820         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
32821
32822 2008-02-26  Karl Berry  <karl@freefriends.org>
32823
32824         Sync from Libtool:
32825         * libltdl/argz.c (argz_add, argz_count): New functions.
32826         * libltdl/argz.in.h: Declare them.
32827         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
32828
32829 2008-02-22  Bruno Haible  <bruno@clisp.org>
32830
32831         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
32832         is a pointer type.  Needed for HP-UX 10.
32833         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
32834         * doc/posix-functions/gmtime_r.texi: Likewise.
32835         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
32836
32837 2008-02-24  Bruno Haible  <bruno@clisp.org>
32838
32839         * modules/environ-tests: New file.
32840         * tests/test-environ.c: New file.
32841
32842         New module 'environ'.
32843         * modules/environ: New file.
32844         * lib/unistd.in.h (environ): New declaration.
32845         * m4/environ.m4: New file.
32846         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
32847         after use.
32848         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
32849         HAVE_DECL_ENVIRON.
32850         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
32851         HAVE_DECL_ENVIRON.
32852         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
32853         wrong claim that 'environ' is missing on some systems.
32854         * modules/execute (Depends-on): Add environ.
32855         * lib/execute.c (environ): Remove fallback declaration.
32856         * modules/pipe (Depends-on): Add environ.
32857         * lib/pipe.c (environ): Remove fallback declaration.
32858         * modules/setenv (Depends-on): Add environ.
32859         * lib/setenv.c (environ): Remove fallback declaration.
32860         * modules/unsetenv (Depends-on): Add environ.
32861         * lib/unsetenv.c (environ): Remove fallback declaration.
32862         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
32863         m4/environ.m4.
32864         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
32865         (gl_PREREQ_UNSETENV): Likewise.
32866
32867 2008-02-24  Bruno Haible  <bruno@clisp.org>
32868
32869         * doc/posix-functions/environ.texi: Document the MacOS X problem.
32870
32871 2008-02-20  Bob Proulx  <bob@proulx.com>
32872
32873         Enable use of older two part flavor 'git describe'.
32874         * build-aux/git-version-gen: If using the older two part flavor of
32875         git version then recreate the third part now present in the
32876         newer three part flavor of git describe.
32877
32878 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
32879
32880         * lib/fts.c (fts_build): Typo correction to comment.
32881
32882 2008-02-17  Bruno Haible  <bruno@clisp.org>
32883
32884         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
32885         generating no-op conflicts.
32886
32887 2008-02-17  Bruno Haible  <bruno@clisp.org>
32888
32889         Speed up by 10%.
32890         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
32891         result_entries, rather than an index-based loop.
32892
32893 2008-02-17  Bruno Haible  <bruno@clisp.org>
32894
32895         Speed up by 25%.
32896         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
32897         'hashcode_cached'.
32898         (entry_create): New function.
32899         (entry_hashcode): Use the cached hashcode if possible.
32900         (read_changelog_file, try_split_merged_entry): Use entry_create.
32901
32902 2008-02-17  Bruno Haible  <bruno@clisp.org>
32903
32904         Speed up from O(n^2) to O(n) for long ChangeLog files.
32905         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
32906         (read_changelog_file): Change implementation of entries_reversed list
32907         to rbtreehash.
32908         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
32909
32910 2008-02-17  Bruno Haible  <bruno@clisp.org>
32911
32912         New option --split-merged-entry.
32913         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
32914         (find_paragraph_end, try_split_merged_entry): New functions.
32915         (long_options): Add option --split-merged-entry.
32916         (usage): Document option --split-merged-entry.
32917         (main): Implement option --split-merged-entry.
32918         Reported by Eric Blake.
32919
32920 2008-02-17  Bruno Haible  <bruno@clisp.org>
32921
32922         * lib/git-merge-changelog.c: Include c-strstr.h.
32923         (main): Support the "git pull --rebase" situation.
32924         * modules/git-merge-changelog (Depends-on): Add c-strstr.
32925         Reported by Eric Blake.
32926
32927 2008-02-16  Eric Blake  <ebb9@byu.net>
32928
32929         Avoid doubling \ in common case of "c-maybe" quoting style.
32930         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
32931         eliding outer quotes.
32932         * lib/quotearg.h: Document this.
32933         * tests/test-quotearg.c (result_strings, inputs, results_g)
32934         (flag_results, locale_results): Test it by adding a new string to
32935         each test group.
32936         (compare_strings): Test new string.
32937
32938 2008-02-13  Eric Blake  <ebb9@byu.net>
32939
32940         Avoid trigraph quoting in default output.
32941         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
32942         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
32943         unless explicitly requested.
32944         * tests/test-quotearg.c (flag_results, main): Add additional tests.
32945
32946 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
32947
32948         Don't rely on signed integer overflowing to negative value.
32949         * lib/getugroups.c (getugroups): Include <limits.h>.
32950         Instead, compare against INT_MAX, and increment only if the test passes.
32951
32952 2008-02-13  Jim Meyering  <meyering@redhat.com>
32953         and Eric Blake  <ebb9@byu.net>
32954
32955         Avoid shadowing warning and compile errors on Linux.
32956         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
32957         forwarding macros on Linux.
32958         (dcgettext): Define a stub, for Linux.
32959         (results_g, main): Avoid warnings.
32960
32961 2008-02-12  Eric Blake  <ebb9@byu.net>
32962
32963         Silence warning in last patch.
32964         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
32965
32966         Quotearg part 4: add tests, fix c-maybe colon quoting.
32967         * lib/quotearg.h: Improve documentation.
32968         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
32969         escapes when adding outer quotes.  When quoting trigraphs, use
32970         valid C notation.  When quoting NUL, omit extra characters if next
32971         character is not digit.  Alter prototype.
32972         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
32973         callers.
32974         * modules/quotearg-tests: New module.
32975         * tests/test-quotearg.c: New test.
32976
32977 2008-02-07  Eric Blake  <ebb9@byu.net>
32978
32979         Quotearg part 3: add flag to control outer quote elision.
32980         * lib/quotearg.h (c_maybe_quoting_style): New style.
32981         (enum quoting_flags): Better documentation of flags.
32982         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
32983         c-maybe style.
32984         (quotearg_buffer_restyled): Handle new flag to elide outer
32985         quotes.
32986
32987         Quotearg part 2: add flag that can control NUL elision.
32988         * lib/quotearg.h (set_quoting_flags): New prototype.
32989         * lib/quotearg.c (struct quoting_options): Add flag field.
32990         (set_quoting_flags): New function.
32991         (quotearg_buffer_restyled): Add flags parameter.
32992         (quotearg_alloc_mem): Set the flag if length cannot be returned.
32993         (quotearg_n_options): Set the flag, since length cannot be
32994         returned.
32995         (quoting_options_from_style): Default flags correctly.
32996
32997         Quotearg part 1: more wrappers, restore quotearg_char state.
32998         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
32999         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
33000         (quotearg_colon_mem): New wrappers.
33001         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
33002         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
33003         functions.
33004         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
33005         (quotearg_colon_mem): New functions.
33006
33007 2008-02-11  Bruno Haible  <bruno@clisp.org>
33008
33009         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
33010         library in the current directory: it does not work with parallel make.
33011         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
33012
33013 2008-02-11  Bruno Haible  <bruno@clisp.org>
33014
33015         * .gitattributes: New file.
33016
33017 2008-02-11  Jim Meyering  <meyering@redhat.com>
33018
33019         useless-if-before-free: Fix reversed exit values.
33020         * build-aux/useless-if-before-free: Use correct values
33021         for EXIT_MATCH and EXIT_NO_MATCH.
33022
33023         * build-aux/useless-if-before-free: Close stdout carefully.
33024
33025 2008-02-10  Bruno Haible  <bruno@clisp.org>
33026
33027         New module 'git-merge-changelog'.
33028         * modules/git-merge-changelog: New file.
33029         * lib/git-merge-changelog.c: New file.
33030
33031 2008-02-10  Jim Meyering  <meyering@redhat.com>
33032
33033         useless-if-before-free: New option: --list (-l).
33034
33035         useless-if-before-free: Don't exit immediately upon open failure.
33036         * build-aux/useless-if-before-free: Exit 2 for errors.
33037         Upon failure to open a file, don't exit immediately.
33038         Rather, just warn and continue with any remaining files.
33039
33040 2008-02-10  Bruno Haible  <bruno@clisp.org>
33041
33042         New abstract list operation 'node_set_value'.
33043         * lib/gl_list.h (gl_list_node_set_value): New function.
33044         (struct gl_list_implementation): New field node_set_value.
33045         * lib/gl_list.c (gl_list_node_set_value): New function.
33046         * lib/gl_array_list.c (gl_array_node_set_value): New function.
33047         (gl_array_list_implementation): Update.
33048         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
33049         (gl_carray_list_implementation): Update.
33050         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
33051         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
33052         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
33053         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
33054         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
33055         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
33056         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
33057         Update.
33058         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
33059         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
33060         (gl_sublist_list_implementation): Update.
33061
33062 2008-02-10  Bruno Haible  <bruno@clisp.org>
33063
33064         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
33065         Needed when ELEMENT is #defined to 'some_type *'.
33066
33067 2008-02-10  Jim Meyering  <meyering@redhat.com>
33068
33069         New script and module: useless-if-before-free
33070         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
33071         * build-aux/useless-if-before-free: New file.
33072         * modules/useless-if-before-free: New file.
33073
33074         * build-aux/gitlog-to-changelog: Use committer date, not author date.
33075
33076         xstrtol_error: Fix typo.
33077         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
33078         s/exit_failure/exit_status/.
33079
33080 2008-02-09  Jim Meyering  <meyering@redhat.com>
33081
33082         New script and module: gitlog-to-changelog
33083         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
33084         * modules/gitlog-to-changelog: New file.
33085         * build-aux/gitlog-to-changelog: New file.
33086
33087 2008-02-08  Jim Meyering  <meyering@redhat.com>
33088
33089         Avoid two "parameter unused" warnings.
33090         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
33091         Mark "st" as used.
33092
33093         Use "git COMMAND", not "git-COMMAND".
33094         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
33095         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
33096         * build-aux/git-version-gen: Use "git status", not "git-status".
33097
33098 2008-02-07  Bruno Haible  <bruno@clisp.org>
33099
33100         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
33101         Avoids a crash on Windows Vista.
33102         Reported by Adam Strzelecki <ono@java.pl> via
33103         Simon Josefsson <simon@josefsson.org>.
33104
33105 2008-02-06  Bruno Haible  <bruno@clisp.org>
33106
33107         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
33108         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
33109         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
33110         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
33111         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
33112         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
33113         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
33114         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
33115         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
33116         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
33117         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
33118         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
33119         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
33120         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
33121         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
33122         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
33123         left-adjust flag.
33124         * tests/test-snprintf-posix.h (test_function): Likewise.
33125         * tests/test-sprintf-posix.h (test_function): Likewise.
33126         * tests/test-vasprintf-posix.c (test_function): Likewise.
33127         * doc/posix-functions/fprintf.texi: Update.
33128         * doc/posix-functions/printf.texi: Update.
33129         * doc/posix-functions/snprintf.texi: Update.
33130         * doc/posix-functions/sprintf.texi: Update.
33131         * doc/posix-functions/vfprintf.texi: Update.
33132         * doc/posix-functions/vprintf.texi: Update.
33133         * doc/posix-functions/vsnprintf.texi: Update.
33134         * doc/posix-functions/vsprintf.texi: Update.
33135         Reported by Peter Fales <psfales@alcatel-lucent.com>.
33136
33137 2008-02-06  Bruno Haible  <bruno@clisp.org>
33138
33139         Fix bug introduced on 2008-01-26.
33140         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
33141
33142 2008-02-06  Bruno Haible  <bruno@clisp.org>
33143
33144         Fix bug introduced on 2007-06-10.
33145         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
33146         !NEED_PRINTF_FLAG_ZERO.
33147
33148 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
33149
33150         getloadavg: use libperfstat on AIX5
33151         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
33152
33153 2008-02-03  Bruno Haible  <bruno@clisp.org>
33154
33155         * lib/diffseq.h: Add comments about required #includes.
33156         Reported by Michael Biggs <gnulib@doubleplum.net>.
33157
33158 2008-02-01  Bruno Haible  <bruno@clisp.org>
33159
33160         * users.txt: Add gnuit.
33161
33162 2008-01-31  Bruno Haible  <bruno@clisp.org>
33163
33164         * lib/md4.c (set_uint32): Mark as inline.
33165         * lib/md5.c (set_uint32): Likewise.
33166         * lib/sha1.c (set_uint32): Likewise.
33167         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
33168         * m4/md5.m4 (gl_MD5): Likewise.
33169         * m4/sha1.m4 (gl_SHA1): Likewise.
33170
33171 2008-01-31  Jim Meyering  <meyering@redhat.com>
33172
33173         Use "sizeof VAR", rather than a literal "4".
33174         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
33175         * lib/md4.c (md4_read_ctx): Likewise.
33176         * lib/sha1.c (sha1_read_ctx): Likewise.
33177
33178 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33179
33180         * tests/test-sha1.c: New file, based on test-md5.c.
33181
33182         * modules/crypto/sha1-tests: New file.
33183
33184 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33185
33186         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
33187
33188 2008-01-31  Jim Meyering  <meyering@redhat.com>
33189
33190         Prefer "sizeof v" over the equivalent "4".
33191         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
33192         * lib/md5.c (set_uint32): Likewise.
33193         * lib/sha1.c (set_uint32): Likewise.
33194
33195 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33196
33197         * lib/sha1.c (set_uint32): Mark function as static.
33198
33199 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33200
33201         md2: clarify comments to say that alignment is not required.
33202         * lib/md2.h: Remove warning about alignment in comment.
33203         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
33204         never been required.
33205
33206 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33207
33208         md4: adapt alignment constraint fix from sha1.
33209         * lib/md4.c (set_uint32): New function, from sha1.c
33210         (md4_read_ctx): Use it.
33211         (md4_finish_ctx): Doc fix.
33212         * lib/md4.h: Doc fix.
33213
33214 2008-01-31  Simon Josefsson  <simon@josefsson.org>
33215
33216         md5: adapt alignment constraint fix from sha1.
33217         * lib/md5.c (set_uint32): New function, from sha1.c
33218         (md5_read_ctx): Use it.
33219         (md5_finish_ctx): Doc fix.
33220         * lib/md5.h: Doc fix.
33221
33222 2008-01-30  Peter Palfrader  <weasel@debian.org>
33223
33224         sha1: remove the result buffer alignment constraint
33225         * lib/sha1.c (set_uint32): New function.
33226         (sha1_read_ctx): Rewrite to remove the result buffer alignment
33227         constraint.
33228         (sha1_finish_ctx): Remove comment warning about alignment constraint.
33229         * lib/sha1.h: Likewise.
33230
33231 2008-01-30  Andreas Schwab  <schwab@suse.de>
33232             Bruno Haible  <bruno@clisp.org>
33233
33234         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
33235         correct definition of LDBL_MIN_EXP.
33236
33237 2008-01-30  Karl Berry  <karl@gnu.org>
33238
33239         * config/srclist-update: try to preserve x bit on updates.
33240         * config/srclistvars.sh: update for karl.
33241
33242 2008-01-29  Jim Meyering  <meyering@redhat.com>
33243
33244         vasnprintf.c: Avoid warning about unused label
33245         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
33246         "overflow" label definition and associated code with the
33247         same cpp condition that guards the sole use of that label.
33248
33249 2008-01-26  Bruno Haible  <bruno@clisp.org>
33250
33251         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
33252         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
33253         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
33254         * lib/isnanl-nolibm.h (isnanl): Likewise.
33255         Reported by Paul Eggert <eggert@cs.ucla.edu>.
33256
33257 2008-01-26  Bruno Haible  <bruno@clisp.org>
33258
33259         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
33260         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
33261
33262 2008-01-26  Bruno Haible  <bruno@clisp.org>
33263
33264         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
33265         GCC >= 4.0 built-in.
33266         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
33267
33268 2008-01-26  Bruno Haible  <bruno@clisp.org>
33269
33270         Rename isnan, applicable to 'double' only, to isnand.
33271         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
33272         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
33273         (configure.ac): Update.
33274         (Include): Replace "isnan.h" with "isnand.h".
33275         * m4/isnand.m4: Renamed from m4/isnan.m4.
33276         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
33277         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
33278         instead of isnan.c.
33279         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
33280         instead of HAVE_ISNAN_IN_LIBC.
33281         (isnand): Renamed from isnan.
33282         * lib/isnand.c: New file.
33283         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
33284         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
33285         (Makefile.am): Update.
33286         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
33287         Include isnand.h instead of isnan.h.
33288         (main): Test isnand instead of isnan.
33289         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
33290         isnan-nolibm.
33291         * modules/frexp (Depends-on): Likewise.
33292         * modules/frexp-tests (Depends-on): Likewise.
33293         * modules/frexp-nolibm (Depends-on): Likewise.
33294         * modules/frexp-nolibm-tests (Depends-on): Likewise.
33295         * modules/isfinite (Depends-on): Likewise.
33296         * modules/round-tests (Depends-on): Likewise.
33297         * modules/signbit (Depends-on): Likewise.
33298         * modules/signbit-tests (Depends-on): Likewise.
33299         * modules/snprintf-posix (Depends-on): Likewise.
33300         * modules/sprintf-posix (Depends-on): Likewise.
33301         * modules/trunc-tests (Depends-on): Likewise.
33302         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
33303         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
33304         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
33305         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
33306         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
33307         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
33308         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
33309         * modules/vasnprintf-posix (Depends-on): Likewise.
33310         * modules/vasprintf-posix (Depends-on): Likewise.
33311         * modules/vfprintf-posix (Depends-on): Likewise.
33312         * modules/vsnprintf-posix (Depends-on): Likewise.
33313         * modules/vsprintf-posix (Depends-on): Likewise.
33314         * lib/frexp.c: Include isnand.h instead of isnan.h.
33315         (ISNAN): Set to isnand instead of isnan.
33316         * lib/isfinite.c: Include isnand.h instead of isnan.h.
33317         (gl_isfinited): Use isnand instead of isnan.
33318         * lib/signbitd.c: Include isnand.h instead of isnan.h.
33319         (gl_signbitd): Use isnand instead of isnan.
33320         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
33321         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
33322         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
33323         (main): Use isnand instead of isnan.
33324         * tests/test-round1.c: Include isnand.h.
33325         (main): Use isnand instead of isnan.
33326         * tests/test-round2.c: Include isnand.h instead of isnan.h.
33327         (ISNAN): Set to isnand instead of isnan.
33328         * tests/test-trunc1.c: Include isnand.h.
33329         (main): Use isnand instead of isnan.
33330         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
33331         (equal): Use isnand instead of isnan.
33332         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
33333         isnand-nolibm.
33334         * NEWS: Mention the change.
33335
33336 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
33337             Bruno Haible  <bruno@clisp.org>
33338
33339         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
33340         the GCC builtins for signbits are present and set
33341         REPLACE_SIGNBIT_USING_GCC if so.
33342         * lib/math.in.h (signbit): Define using GCC builtins if
33343         REPLACE_SIGNBIT_USING_GCC is set.
33344         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
33345         REPLACE_SIGNBIT_USING_GCC.
33346         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
33347
33348 2008-01-25  Jim Meyering  <meyering@redhat.com>
33349
33350         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
33351         * lib/poll.c: Include <config.h>, not "config.h".
33352         * tests/test-getaddrinfo.c: Likewise.
33353
33354 2008-01-25  Simon Josefsson  <simon@josefsson.org>
33355
33356         * modules/sockets-tests: New file.
33357
33358 2008-01-24  Simon Josefsson  <simon@josefsson.org>
33359
33360         * modules/sockets: New module, can be used to call WSA_Startup and
33361         WSA_Cleanup when needed.
33362
33363         * lib/sockets.h, lib/sockets.c: New files.
33364
33365         * m4/sockets.m4: New file.
33366
33367         * tests/test-sockets.c: New file.
33368
33369 2008-01-19  Bruno Haible  <bruno@clisp.org>
33370
33371         * doc/posix-headers: Renamed from doc/headers.
33372         * doc/posix-functions: Renamed from doc/functions.
33373         * doc/gnulib.texi: Update.
33374
33375 2008-01-19  Bruno Haible  <bruno@clisp.org>
33376
33377         * doc/glibc-functions/strcasestr.texi: Include contents of
33378         doc/functions/strcasestr.texi, fixing the list of platforms.
33379         * doc/functions/strcasestr.texi: Remove file.
33380
33381 2008-01-19  Bruno Haible  <bruno@clisp.org>
33382
33383         * doc/glibc-functions/memmem.texi: Include contents of
33384         doc/functions/memmem.texi.
33385         * doc/functions/memmem.texi: Remove file.
33386
33387 2008-01-18  Bruno Haible  <bruno@clisp.org>
33388
33389         * doc/glibc-functions/*.texi: New files.
33390         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
33391         to use the new files.
33392
33393 2008-01-17  Bruno Haible  <bruno@clisp.org>
33394
33395         * tests/test-gethostname.c (main): Fix printf statement.
33396
33397 2008-01-17  Simon Josefsson  <simon@josefsson.org>
33398
33399         * modules/gethostname-tests: New file.
33400
33401         * tests/test-gethostname.c: New file.
33402
33403 2008-01-17  Simon Josefsson  <simon@josefsson.org>
33404
33405         * lib/gethostname.c: Include string.h unconditionally, strncpy is
33406         used by the UNAME case.  Reported by Bruno Haible
33407         <bruno@clisp.org>.
33408
33409 2008-01-17  Eric Blake  <ebb9@byu.net>
33410
33411         Convert c-strcasestr to be more efficient.
33412         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
33413         (Depends-on): Add c-strcase, remove malloca, strnlen.
33414         * tests/test-c-strcasestr.c (main): Enhance test.
33415         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
33416
33417 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
33418
33419         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
33420         Use it in creating po/Makevars.
33421
33422 2008-01-15  Simon Josefsson  <simon@josefsson.org>
33423
33424         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
33425         Applications that requires it should initialize libgcrypt
33426         manually.
33427
33428 2008-01-16  Simon Josefsson  <simon@josefsson.org>
33429
33430         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
33431
33432 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
33433
33434         Fix problem with getdate on mingw32 reported by Simon Josefsson
33435         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
33436         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
33437         tzname", when deciding whether to declare tzname.
33438         * lib/strftime.c (tzname): Likewise.
33439
33440 2008-01-15  Bruno Haible  <bruno@clisp.org>
33441
33442         Work around a MacOS X 10.5 bug in frexpl().
33443         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
33444         * doc/functions/frexpl.texi: Document the bug.
33445         Reported by Elias Pipping <pipping@gentoo.org>.
33446
33447 2008-01-14  Eric Blake  <ebb9@byu.net>
33448
33449         Touch up previous patch.
33450         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
33451         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
33452
33453         Convert strcasestr module to use Two-Way algorithm.
33454         * modules/strcasestr-simple: New module, based on the old
33455         strcasestr, but with Two-Way rather than KMP.
33456         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
33457         * lib/string.in.h (rpl_strcasestr): Declare.
33458         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
33459         performance.
33460         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
33461         * modules/string (Makefile.am): Support strcasestr.
33462         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
33463         * modules/strcasestr-tests (Depends-on): Check for alarm.
33464         * tests/test-strcasestr.c: Augment test.
33465         * lib/str-two-way.h: Clean up stray macro.
33466         * NEWS: Document new module.
33467         * MODULES.html.sh (string handling): Likewise.
33468         * doc/functions/strcasestr.texi: New file.
33469         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
33470         here, since it is not a POSIX function.
33471
33472 2008-01-14  Colin Watson  <cjwatson@debian.org>
33473             Bruno Haible  <bruno@clisp.org>
33474
33475         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
33476         works fine; if not, set REPLACE_STRSIGNAL.
33477         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
33478         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33479         REPLACE_STRSIGNAL.
33480         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
33481         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
33482         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
33483
33484 2008-01-14  Bruno Haible  <bruno@clisp.org>
33485
33486         * modules/strsignal (Include): Change to <string.h>.
33487
33488 2008-01-14  Colin Watson  <cjwatson@debian.org>
33489
33490         * modules/argp (Notice): Add a notice recommending to change
33491         XGETTEXT_OPTIONS.
33492         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
33493
33494 2008-01-13  Colin Watson  <cjwatson@debian.org>
33495
33496         * modules/strsignal-tests: New file.
33497         * tests/test-strsignal.c: New file.
33498
33499         * lib/strsignal.c: New file, from glibc with modifications.
33500         * lib/siglist.h: New file, from glibc with modifications.
33501         * lib/string.in.h (strsignal): New declaration.
33502         * m4/strsignal.m4: New file.
33503         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
33504         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
33505         * modules/strsignal: New file.
33506         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
33507         HAVE_DECL_STRSIGNAL.
33508
33509 2008-01-13  Bruno Haible  <bruno@clisp.org>
33510
33511         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
33512         locale encoding is not ASCII. Needed for OpenBSD 4.0.
33513         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
33514         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
33515
33516 2008-01-13  Bruno Haible  <bruno@clisp.org>
33517
33518         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
33519         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
33520         * lib/argp.h (__attribute__): Likewise.
33521         * lib/c-stack.c (__attribute__): Likewise.
33522         * lib/error.h (__attribute__): Likewise.
33523         * lib/fts.c (__attribute__): Likewise.
33524         * lib/openat.h (__attribute__): Likewise.
33525         * lib/stdio.in.h (__attribute__): Likewise.
33526         * lib/string.in.h (__attribute__): Likewise.
33527         * lib/utimens.c (__attribute__): Likewise.
33528         * lib/vasnprintf.h (__attribute__): Likewise.
33529         * lib/xalloc.h (__attribute__): Likewise.
33530         * lib/xprintf.h (__attribute__): Likewise.
33531         * lib/xstrtol.h (__attribute__): Likewise.
33532         * lib/xvasprintf.h (__attribute__): Likewise.
33533
33534 2008-01-12  Bruno Haible  <bruno@clisp.org>
33535
33536         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
33537         * doc/glibc-headers/a.out.texi: New file.
33538         * doc/glibc-headers/aliases.texi: New file.
33539         * doc/glibc-headers/alloca.texi: New file.
33540         * doc/glibc-headers/ar.texi: New file.
33541         * doc/glibc-headers/argp.texi: New file.
33542         * doc/glibc-headers/argz.texi: New file.
33543         * doc/glibc-headers/byteswap.texi: New file.
33544         * doc/glibc-headers/crypt.texi: New file.
33545         * doc/glibc-headers/endian.texi: New file.
33546         * doc/glibc-headers/envz.texi: New file.
33547         * doc/glibc-headers/err.texi: New file.
33548         * doc/glibc-headers/error.texi: New file.
33549         * doc/glibc-headers/execinfo.texi: New file.
33550         * doc/glibc-headers/fpu_control.texi: New file.
33551         * doc/glibc-headers/fstab.texi: New file.
33552         * doc/glibc-headers/fts.texi: New file.
33553         * doc/glibc-headers/getopt.texi: New file.
33554         * doc/glibc-headers/ieee754.texi: New file.
33555         * doc/glibc-headers/ifaddrs.texi: New file.
33556         * doc/glibc-headers/libintl.texi: New file.
33557         * doc/glibc-headers/mcheck.texi: New file.
33558         * doc/glibc-headers/mntent.texi: New file.
33559         * doc/glibc-headers/obstack.texi: New file.
33560         * doc/glibc-headers/paths.texi: New file.
33561         * doc/glibc-headers/printf.texi: New file.
33562         * doc/glibc-headers/pty.texi: New file.
33563         * doc/glibc-headers/resolv.texi: New file.
33564         * doc/glibc-headers/shadow.texi: New file.
33565         * doc/glibc-headers/sysexits.texi: New file.
33566         * doc/glibc-headers/ttyent.texi: New file.
33567
33568 2008-01-12  Jim Meyering  <meyering@redhat.com>
33569
33570         announce-gen: emit Gnulib's git-based version string.
33571         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
33572         New option --gnulib-version=V, where V is expected to be
33573         the output of running git describe in the gnulib directory.
33574         (get_tool_versions): Request feedback on xdelta.  I suspect it's
33575         not useful, and plan to stop publishing an xdelta file with each
33576         coreutils release.
33577
33578         * build-aux/announce-gen: Also check for lzma-compressed files.
33579
33580 2008-01-11  Bruno Haible  <bruno@clisp.org>
33581
33582         * tests/test-memmem.c (main): Increase maximum allowed time.
33583         * tests/test-strstr.c (main): Likewise.
33584
33585 2008-01-11  Bruno Haible  <bruno@clisp.org>
33586
33587         * doc/functions/memmem.texi: Add more precisions about platforms.
33588         * doc/functions/strstr.texi: Likewise.
33589
33590 2008-01-10  Eric Blake  <ebb9@byu.net>
33591
33592         * m4/strstr.m4: Delete cruft from copy-n-paste.
33593         Reported by Bruno Haible.
33594
33595 2008-01-10  Bruno Haible  <bruno@clisp.org>
33596
33597         Make c-strstr rely on strstr.
33598         * lib/c-strstr.c: Don't include str-kmp.h.
33599         (c_strstr): Define in terms of strstr.
33600         * modules/c-strstr (Files): Remove lib/str-kmp.h.
33601         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
33602
33603 2008-01-10  Bruno Haible  <bruno@clisp.org>
33604
33605         * doc/gnulib.texi (String Functions in C Locale): New section.
33606         * doc/c-ctype.texi: New file.
33607         * doc/c-strcase.texi: New file.
33608         * doc/c-strcaseeq.texi: New file.
33609         * doc/c-strcasestr.texi: New file.
33610         * doc/c-strstr.texi: New file.
33611         * doc/c-strtod.texi: New file.
33612         * doc/c-strtold.texi: New file.
33613
33614 2008-01-10  Eric Blake  <ebb9@byu.net>
33615
33616         * lib/relocatable.h: Fix a comment.
33617
33618 2008-01-10  Eric Blake  <ebb9@byu.net>
33619
33620         Share two-way algorithm.
33621         * lib/str-two-way.h: New file, merged from...
33622         * lib/memmem.c: ...here...
33623         * lib/strstr.c: ...and here.
33624         * modules/memmem (Files): Use it.
33625         * modules/strstr (Files): Likewise.
33626
33627         Avoid quadratic strstr implementations.
33628         * lib/strstr.c: New file.
33629         * m4/strstr.m4: Likewise.
33630         * modules/strstr: Likewise.
33631         * modules/strstr-tests: Likewise.
33632         * tests/test-strstr.c: Likewise.
33633         * lib/string.in.h (rpl_strstr): Declare.
33634         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
33635         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
33636         * modules/string (Makefile.am): Likewise.
33637         * MODULES.html.sh (string handling): Mention new module.
33638         * doc/functions/strstr.texi (strstr): Document the bug.
33639
33640 2008-01-10  Bruno Haible  <bruno@clisp.org>
33641
33642         * lib/relocatable.h (relocate): State whether result is freshly
33643         allocated or not.
33644         * lib/relocatable.c (relocate): Return a freshly allocated string
33645         instead of a pointer to a privately held string.
33646         Reported by Sylvain Beucler <beuc@gnu.org>.
33647
33648 2008-01-10  Colin Watson  <cjwatson@debian.org>
33649
33650         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
33651         s/S_ISNLK/S_ISLNK/.
33652
33653 2008-01-09  Bruno Haible  <bruno@clisp.org>
33654
33655         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
33656         and other files.
33657         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
33658         if it's only a guess.
33659         * modules/memmem: Simplify by depending on memmem-simple.
33660
33661 2008-01-09  Bruno Haible  <bruno@clisp.org>
33662
33663         Work around OpenBSD 4.0 tdelete() bug.
33664         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
33665         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
33666         macros and don't redefine the enum values.
33667         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
33668         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
33669         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
33670
33671 2008-01-09  Bruno Haible  <bruno@clisp.org>
33672
33673         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
33674         (main): Don't perform the tests if setlocale did not install a UTF-8
33675         locale. Needed on OpenBSD 4.0.
33676         * modules/wcwidth-tests (Depends-on): Add localcharset.
33677
33678 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
33679
33680         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
33681         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
33682         * NEWS: announce this.
33683         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
33684
33685 2008-01-09  Simon Josefsson  <simon@josefsson.org>
33686         and Eric Blake  <ebb9@byu.net>
33687
33688         Add memmem-simple module.
33689         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
33690         (gl_FUNC_MEMMEM): Separate performance from presence checks.
33691         * modules/memmem-simple: New file.
33692         * modules/memmem (Description): Tweak.
33693         * MODULES.html.sh (string handling): Mention new module.
33694         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
33695         addressed by memmem-simple.
33696         * NEWS: Document the difference.
33697
33698 2008-01-09  Eric Blake  <ebb9@byu.net>
33699
33700         Give gcc some memmem optimization hints.
33701         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
33702         (strcasestr): Declare as pure.
33703         * modules/memmem (Maintainer): Claim my implementation.
33704
33705 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33706
33707         Support AIX 6.1 and higher.
33708         * build-aux/config.libpath: Likewise.
33709         * build-aux/config.rpath: Likewise.
33710
33711 2008-01-08  Jim Meyering  <meyering@redhat.com>
33712             Bruno Haible  <bruno@clisp.org>
33713
33714         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
33715         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
33716         Reported by Peter Fales in
33717         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
33718
33719 2008-01-08  Bruno Haible  <bruno@clisp.org>
33720
33721         * modules/unictype/category-of (Depends-on): Add
33722         unictype/category-none.
33723         * modules/unictype/category-and-tests (Depends-on): Add
33724         unictype/category-{L,N,Lu,Nd}.
33725         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
33726         * modules/unictype/category-or-tests (Depends-on): Add
33727         unictype/category-{L,N}.
33728         * modules/unictype/category-name-tests (Depends-on): Add
33729         unictype/category-{Z,Nl}.
33730         Reported by Simon Josefsson.
33731
33732 2008-01-08  Bruno Haible  <bruno@clisp.org>
33733
33734         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
33735         convention better.
33736         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
33737         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
33738         Reported by Peter Miller <millerp@canb.auug.org.au>.
33739
33740 2008-01-08  Eric Blake  <ebb9@byu.net>
33741
33742         Rewrite memmem to guarantee linear complexity without malloc.
33743         * lib/memmem.c (memmem): Use Two-Way rather than
33744         Knuth-Morris-Pratt, to allow O(1) space usage.
33745         (critical_factorization, two_way_short_needle)
33746         (two_way_long_needle): New functions.
33747         (knuth_morris_pratt): Delete.
33748         * modules/memmem (Depends-on): No longer need malloca or stdbool.
33749         Add stdint.
33750         * tests/test-memmem.c (main): Add tests for periodic needle and
33751         sublinear performance.
33752         * doc/functions/memmem.texi (memmem): Document other deficiencies
33753         in cygwin and older glibc.
33754
33755 2008-01-08  Bruno Haible  <bruno@clisp.org>
33756
33757         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
33758         augmentation.
33759
33760 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
33761
33762         Add a configure time option: --disable-acl.
33763         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
33764         AC_ARG_ENABLE(acl).
33765
33766 2008-01-06  Simon Josefsson  <simon@josefsson.org>
33767
33768         * tests/test-localename.c: Don't include obsolete "setenv.h".
33769
33770         * modules/localename-tests (Depends-on): Need unsetenv.
33771
33772 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
33773
33774         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
33775
33776 2008-01-06  Colin Watson  <cjwatson@debian.org>
33777
33778         * users.txt: Add man-db.
33779
33780 2008-01-07  Bruno Haible  <bruno@clisp.org>
33781
33782         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
33783         previous section name.
33784
33785 2008-01-07  Bruno Haible  <bruno@clisp.org>
33786
33787         * lib/progname.c (set_program_name): Don't strip off a leading
33788         "lt-" prefix outside a .libs directory.
33789         Suggested by Paul Eggert.
33790
33791 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
33792             Bruno Haible  <bruno@clisp.org>
33793
33794         Improve memory cleanup in 'relocatable' module.
33795         * lib/relocatable.h (compute_curr_prefix): Change return type to
33796         'char *'.
33797         * lib/relocatable.c (compute_curr_prefix): Change return type to
33798         'char *'. Free curr_installdir after use.
33799         (relocate): Free curr_prefix_better after use.
33800         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
33801
33802 2008-01-01  Bruno Haible  <bruno@clisp.org>
33803
33804         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
33805         failure on older glibc systems.
33806         Reported by Peter Fales <psfales@alcatel-lucent.com>.
33807
33808 2008-01-05  Eric Blake  <ebb9@byu.net>
33809
33810         Avoid quadratic system memmem.
33811         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
33812         Reported by Ralf Wildenhues.
33813
33814         Fix memmem test for mingw.
33815         * modules/memmem-tests (configure.ac): Check for alarm.
33816         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
33817         it.
33818         * doc/functions/memmem.texi: New file.
33819         * doc/gnulib.texi (Function Substitutes): Add memmem.
33820         Reported by Bruno Haible.
33821
33822 2008-01-04  Bruno Haible  <bruno@clisp.org>
33823
33824         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
33825         Require gl_HEADER_STRINGS_H_DEFAULTS, not
33826         gl_HEADER_STRING_H_DEFAULTS.
33827
33828 2008-01-04  Eric Blake  <ebb9@byu.net>
33829
33830         Shorten duration of memmem test.
33831         * tests/test-memmem.c (main): Use alarm to declare failure if test
33832         is taking too long.
33833         Reported by Ralf Wildenhues.
33834
33835 2007-12-21  Simon Josefsson  <simon@josefsson.org>
33836
33837         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
33838         string, needed by strerror.
33839
33840 2008-01-03  Colin Watson  <cjwatson@debian.org>
33841             Bruno Haible  <bruno@clisp.org>
33842
33843         * doc/gnulib-tool.texi (Localization): New section.
33844
33845 2008-01-02  Bruno Haible  <bruno@clisp.org>
33846
33847         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
33848         variables to 'unsigned char *' type.
33849         Reported by Paul Eggert.
33850
33851 2008-01-02  Jim Meyering  <jim@meyering.net>
33852
33853         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
33854
33855 2007-12-31  Jim Meyering  <jim@meyering.net>
33856
33857         Avoid use of private FTS type name.
33858         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
33859
33860 2007-12-30  Karl Berry  <karl@gnu.org>
33861
33862         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
33863         work around defect in Texinfo and/or the standalone Info browser.
33864
33865 2007-12-30  Bruno Haible  <bruno@clisp.org>
33866
33867         Unify 5 copies of the KMP code.
33868         * lib/str-kmp.h: New file.
33869         * lib/c-strcasestr.c: Include str-kmp.h.
33870         (knuth_morris_pratt): Remove function.
33871         (c_strcasestr): Update.
33872         * lib/c-strstr.c: Include str-kmp.h.
33873         (knuth_morris_pratt): Remove function.
33874         (c_strcasestr): Update.
33875         * lib/mbscasestr.c: Include str-kmp.h.
33876         (knuth_morris_pratt_unibyte): Remove function.
33877         * lib/mbsstr.c: Include str-kmp.h.
33878         (knuth_morris_pratt_unibyte): Remove function.
33879         * lib/strcasestr.c: Include str-kmp.h.
33880         (knuth_morris_pratt): Remove function.
33881         (strcasestr): Update.
33882         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
33883         * modules/c-strstr (Files): Likewise.
33884         * modules/mbscasestr (Files): Likewise.
33885         * modules/mbsstr (Files): Likewise.
33886         * modules/strcasestr (Files): Likewise.
33887         Suggested by Paul Eggert.
33888
33889 2007-12-30  Bruno Haible  <bruno@clisp.org>
33890
33891         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
33892         defined.
33893
33894 2007-12-30  Bruno Haible  <bruno@clisp.org>
33895
33896         * lib/xmalloca.h: Include xalloc.h.
33897         (xnmalloca): New macro.
33898
33899 2007-12-30  Bruno Haible  <bruno@clisp.org>
33900
33901         * lib/malloca.h (nmalloca): New macro.
33902         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
33903         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
33904         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
33905         knuth_morris_pratt_multibyte): Likewise.
33906         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
33907         knuth_morris_pratt_multibyte): Likewise.
33908         * lib/memmem.c (knuth_morris_pratt): Likewise.
33909         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
33910
33911 2007-12-25  Bruno Haible  <bruno@clisp.org>
33912
33913         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
33914         * lib/glob.c: Don't include openat.h.
33915         (link_exists2_p): Add back the code that deals with the
33916         !GLOB_ALTDIRFUNC case.
33917         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
33918         let it do the filename concatenation.
33919         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
33920         * modules/glob (Depends-on): Remove openat.
33921
33922 2007-12-31  Bruno Haible  <bruno@clisp.org>
33923
33924         * modules/dirfd (License): Change to LGPLv2+.
33925         Approved by Jim Meyering.
33926
33927 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
33928
33929         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
33930         when multiplying M by sizeof (size_t).
33931
33932 2007-12-10  Martin Lambers  <marlam@marlam.de>
33933
33934         Override getpagesize on mingw.
33935         * lib/getpagesize.c: New file.
33936         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
33937         * modules/getpagesize (Files): Add lib/getpagesize.c.
33938         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
33939         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
33940         REPLACE_GETPAGESIZE.
33941         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
33942
33943 2007-12-25  Bruno Haible  <bruno@clisp.org>
33944
33945         * modules/localcharset (Notice): New field.
33946         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
33947         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
33948
33949 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
33950             Bruno Haible  <bruno@clisp.org>
33951
33952         Avoid using the syntax symbol() in formatted documentation.
33953         * MODULES.html.sh (func_module): When replacing symbol() with a
33954         hyperlink, remove the parentheses. Show an error if some remain.
33955         Recognize and render the '...' syntax.
33956         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
33957         Rework. Add paragraph about GCC's inlining.
33958         * doc/alloca.texi: Likewise.
33959         * doc/error.texi: Remove parentheses from symbol reference.
33960         * doc/gnulib-intro.texi: Likewise.
33961         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
33962         * modules/fnmatch (Description): Reword to say "the ... function".
33963         * modules/full-read (Description): Likewise.
33964         * modules/full-write (Description): Likewise.
33965         * modules/safe-read (Description): Likewise.
33966         * modules/safe-write (Description): Likewise.
33967         * modules/strchrnul (Description): Likewise.
33968         * modules/trim (Description): Likewise.
33969         * modules/error (Description): Remove parentheses from symbol
33970         references.
33971         * modules/verror (Description): Likewise.
33972         Reported by Karl Berry.
33973
33974 2007-12-25  Bruno Haible  <bruno@clisp.org>
33975
33976         Fixup after 2007-10-16 commit.
33977         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
33978
33979 2007-12-24  Bruno Haible  <bruno@clisp.org>
33980
33981         Make --enable-relocatable work with DESTDIR.
33982         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
33983         to compute installdir from destprog.
33984         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
33985         also set the RELOC_DESTDIR variable.
33986         Reported by Левашев Иван <octagram@bluebottle.com>.
33987
33988 2007-12-24  Bruno Haible  <bruno@clisp.org>
33989
33990         Fix link error due to xalloc_die().
33991         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
33992         of xreadlink.
33993         * lib/relocwrapper.c: Update comments.
33994         * build-aux/install-reloc: Remove xreadlink.c from file list.
33995         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
33996         xreadlink.c.
33997         Reported by Левашев Иван <octagram@bluebottle.com>.
33998
33999 2007-12-24  Bruno Haible  <bruno@clisp.org>
34000
34001         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
34002         * lib/setenv.h: Remove file.
34003         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
34004         lib/setenv.h.
34005         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
34006         (Depends-on): Add stdlib.
34007         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
34008         gl_FUNC_UNSETENV.
34009         (Include): Replace setenv.h with <stdlib.h>.
34010         * modules/unsetenv: New file.
34011         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
34012         * lib/unsetenv.c: Include <stdlib.h> first.
34013         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
34014         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
34015         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
34016         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
34017         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
34018         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
34019         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
34020         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
34021         * doc/functions/unsetenv.texi: Update.
34022         * modules/xsetenv (Depends-on): Add unsetenv.
34023         * modules/getdate (Depends-on): Likewise.
34024         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
34025         * lib/xsetenv.c: Don't include setenv.h.
34026         * lib/getdate.y: Likewise.
34027         * lib/relocwrapper.c: Likewise.
34028         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
34029         (Depends-on): Add stdlib.
34030         * NEWS: Mention the changes.
34031         Reported by Левашев Иван <octagram@bluebottle.com>.
34032
34033 2007-12-23  Bruno Haible  <bruno@clisp.org>
34034
34035         * lib/memmem.c (memmem): Use lowercase variable names. Tab
34036         indentation.
34037
34038 2007-12-23  Bruno Haible  <bruno@clisp.org>
34039
34040         * lib/c-strcasestr.c: Add more comments.
34041         * lib/c-strstr.c: Likewise.
34042         * lib/mbscasestr.c: Likewise.
34043         * lib/mbsstr.c: Likewise.
34044         * lib/strcasestr.c: Likewise.
34045         * lib/memmem.c: Likewise.
34046
34047 2007-12-23  Bruno Haible  <bruno@clisp.org>
34048
34049         * tests/test-memmem.c: Include <string.h> first.
34050
34051 2007-12-22  Bruno Haible  <bruno@clisp.org>
34052
34053         * gnulib-tool (func_create_testdir): Change $auxdir while generating
34054         the contents of $testsbase.
34055         Reported by Ralf Wildenhues.
34056
34057 2007-12-22  Bruno Haible  <bruno@clisp.org>
34058
34059         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
34060         two variables local_ldadd_before, local_ldadd_last.
34061
34062 2007-12-20  Eric Blake  <ebb9@byu.net>
34063
34064         Work around circular library issue when cross-compiling.
34065         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
34066         that progname.o does not need to pull in rpl_memcmp.
34067
34068 2007-12-19  Eric Blake  <ebb9@byu.net>
34069
34070         Fix memmem to avoid O(n^2) worst-case complexity.
34071         * lib/memmem.c (knuth_morris_pratt): New function.
34072         (memmem): Use it if first few naive iterations fail.
34073         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
34074         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
34075         * modules/memchr (License): Likewise.
34076         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
34077         malloca.
34078         * tests/test-memmem.c: Rewrite, borrowing ideas from
34079         test-mbsstr1.c; the old version wouldn't even compile!
34080         * modules/memmem-tests: New file.
34081         * lib/string.in.h (rpl_memmem): Add declaration.
34082         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
34083         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
34084         REPLACE_MEMMEM.
34085
34086 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
34087
34088         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
34089         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
34090         before any system include files, and undef after them all.  This
34091         should fix a problem on VMS reported by John E. Malmberg in
34092         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
34093
34094 2007-12-17  Eric Blake  <ebb9@byu.net>
34095
34096         Revert addition of verify, for BSD/OS.
34097         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
34098         can't handle large files, for the sake of obsolete platforms.
34099         * modules/fseeko (Depends-on): Remove verify.
34100         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
34101         * doc/functions/ftello.texi (ftello): Likewise.
34102         * doc/functions/fgetpos.texi (fgetpos): Likewise.
34103         Reported by Larry Jones.
34104
34105 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
34106
34107         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
34108         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
34109
34110 2007-12-17  Jim Meyering  <meyering@redhat.com>
34111
34112         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
34113         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
34114         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
34115         * modules/getcwd (Depends-on): Add openat.
34116         Reported by Petr Salinger.
34117
34118 2007-12-17  Bruno Haible  <bruno@clisp.org>
34119
34120         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
34121         avoid a segmentation fault of the configure test on x86_64 systems.
34122
34123 2007-12-15  Jim Meyering  <meyering@redhat.com>
34124
34125         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
34126
34127 2007-12-13  Eric Blake  <ebb9@byu.net>
34128
34129         Another fseek test.
34130         * tests/test-fseek.c (main): Also test ungetc handling.
34131         * tests/test-fseeko.c (main): Likewise.
34132         * modules/fseeko (Depends-on): Add verify.
34133         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
34134         large.
34135         Reported by Larry Jones.
34136
34137         Fix fseeko on mingw.
34138         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
34139         seek.
34140
34141         Beef up fseek tests.
34142         * tests/test-fseek.c (main): Also test eof handling.
34143         * tests/test-fseeko.c (main): Likewise.
34144         Reported by Larry Jones.
34145
34146 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
34147
34148         Fix fseeko on BSD-based platforms.
34149         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
34150         successful seek.
34151
34152 2007-12-12  Eric Blake  <ebb9@byu.net>
34153
34154         Allow circular dependency of separate libtests.a
34155         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
34156         when use_libtests.
34157
34158 2007-12-11  Eric Blake  <ebb9@byu.net>
34159
34160         Fix bug with -0.0L in previous patch.
34161         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
34162         * tests/test-isnan.c (main): Also test on zeroes.
34163         * tests/test-isnanf.c (main): Likewise.
34164         * tests/test-isnanl.h (main): Likewise.
34165
34166         Detect pseudo-denormals on x86 even when cross-compiling.
34167         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
34168         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
34169         invalid bit patterns that happen to satisfy ==.
34170
34171         Avoid link failures with separate libtests.a.
34172         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
34173         last, to satisfy circular dependencies.
34174
34175 2007-12-11  Eric Blake  <ebb9@byu.net>
34176         and Bruno Haible  <bruno@clisp.org>
34177
34178         Fix OpenBSD 4.0 <float.h> handling of long double.
34179         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
34180         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
34181         * doc/headers/float.texi (float.h): Document OpenBSD bug.
34182
34183 2007-12-11  Jim Meyering  <meyering@redhat.com>
34184
34185         * users.txt: Add libvirt.
34186
34187         Support versions of autoconf prior to 2.59c.
34188         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
34189         if it is not already defined.
34190
34191 2007-12-09  Bruno Haible  <bruno@clisp.org>
34192
34193         Let 'gnulib-tool --import' collect sources needed for the tests in
34194         tests/ rather than in lib/.
34195         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
34196         argument. If true, add rules to generate libtests.a, and put libtests.a
34197         into $(LDADD). Consider source files in subdirectories and set
34198         uses_subdirs.
34199         (func_emit_initmacro_start, func_emit_initmacro_end,
34200         func_emit_initmacro_done): Pass all arguments explicitly.
34201         (func_import): Determine two module lists main_modules,
34202         testsrelated_modules. Determine use_libtests. Determine two variables
34203         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
34204         instead of just sed_transform_lib_file. Determine two variables
34205         main_files and testsrelated_files. Compute 'files' as the union of
34206         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
34207         func_add_or_update. In the generated gnulib-comp.m4, collect the
34208         object files for tests/ in different variables than those for lib/.
34209         Substitute LIBTESTS_LIBDEPS.
34210         (func_create_testdir): Combine the uses_subdirs results from
34211         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
34212
34213 2007-12-09  Bruno Haible  <bruno@clisp.org>
34214
34215         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
34216         the build-aux directory.
34217
34218 2007-12-09  Bruno Haible  <bruno@clisp.org>
34219
34220         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
34221         introduced on 2006-09-09.
34222
34223 2007-12-07  Jim Meyering  <meyering@redhat.com>
34224
34225         Let these macros work also with autoconf-2.59.
34226         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
34227         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
34228         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
34229
34230 2007-12-06  Jim Meyering  <meyering@redhat.com>
34231
34232         Avoid a configure-time syntax error in gl_FUNC_ACL.
34233         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
34234         function in each branch, before testing the cache variable.
34235
34236 2007-12-04  Eric Blake  <ebb9@byu.net>
34237
34238         Make scripts executable.
34239         * build-aux/config.guess: Add execute permissions.
34240         * build-aux/config.sub: Likewise.
34241         * build-aux/gendocs.sh: Likewise.
34242
34243         Fix frexp on mingw.
34244         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
34245         cross-compiling.
34246         * doc/functions/frexp.texi (frexp): Document the bug.
34247
34248         Make cygwin fseeko check more reliable.
34249         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
34250         version numbers, rather than unrelated feature check.
34251         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
34252         * doc/functions/ftello.texi (ftello): Likewise.
34253         Reported by Bruno Haible.
34254
34255         * m4/strerror.m4: Bump version number.
34256
34257 2007-12-03  Bruno Haible  <bruno@clisp.org>
34258
34259         * doc/functions/mprotect.texi: Mention the mingw problem.
34260
34261 2007-12-03  Eric Blake  <ebb9@byu.net>
34262
34263         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
34264         REPLACE_STRERROR is initialized before this macro.
34265
34266 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
34267
34268         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
34269         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
34270         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
34271         put -lsec in even for programs other than 'ls'.  This fixes a problem
34272         for gettext reported by Bruno Haible in
34273         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
34274         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
34275         Add support for Solaris 10.  This isn't efficient, but should get the
34276         job done for now.
34277
34278 2007-12-03  James Youngman  <jay@gnu.org>
34279
34280         * doc/regexprops-generic.texi: change "an close-group" to "a
34281         close-group" and "illegal" to "not allowed".
34282
34283 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34284
34285         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
34286         pr_byname.h. Needed for the rare case when the maintainer has done
34287         "make maintainer-clean" in the source directory and then attempts a
34288         build outside the source directory.
34289         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
34290         scripts_byname.h.
34291
34292 2007-12-02  Martin Lambers <marlam@marlam.de>
34293             Bruno Haible  <bruno@clisp.org>
34294
34295         * lib/getpagesize.h: Remove file.
34296         * lib/unistd.in.h: Include declaration of getpagesize here.
34297         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
34298         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
34299         HAVE_SYS_PARAM_H.
34300         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
34301         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
34302         * modules/getpagesize (Files): Remove lib/getpagesize.h.
34303         (Depends-on): Add unistd.
34304         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
34305         (Include): Use <unistd.h> instead of getpagesize.h.
34306         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
34307         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
34308         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
34309         gl_GETPAGESIZE invocation, already handled by module dependency.
34310         * lib/pagealign_alloc.c: Don't include getpagesize.h.
34311
34312 2007-12-02  Bruno Haible  <bruno@clisp.org>
34313
34314         * modules/strings-tests: New file.
34315         * tests/test-strings.c: New file.
34316
34317         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
34318         * lib/strings.in.h: New file.
34319         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
34320         * m4/strings_h.m4: New file.
34321         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
34322         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
34323         * modules/strings: New file.
34324         * modules/string (Makefile.am): Update.
34325         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
34326         Reported by Karl Berry.
34327
34328 2007-12-01  Eric Blake  <ebb9@byu.net>
34329
34330         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
34331         accomodate fix in cygwin 1.5.25.
34332
34333 2007-12-01  Jim Meyering  <meyering@redhat.com>
34334
34335         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
34336         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
34337         that would inhibit utf8-optimization of a regexp containing line-
34338         or buffer-anchors, e.g., `^', `$'.
34339
34340 2007-11-30  Bruno Haible  <bruno@clisp.org>
34341
34342         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
34343         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
34344         glthread_recursive_lock_init.
34345         * lib/lock.c (glthread_recursive_lock_init)
34346         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
34347         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
34348
34349 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
34350
34351         New function qset_acl, like set_acl but with syscall semantics.
34352         * lib/acl.h (qset_acl): New decl.
34353         * lib/acl.c (qset_acl): New function.
34354         (set_acl): Use new function.  Use more-consistent diagnostics.
34355
34356 2007-11-28  Jim Meyering  <meyering@redhat.com>
34357
34358         * modules/physmem (License): Change from GPL to LGPLv2+.
34359
34360 2007-11-26  Bruno Haible  <bruno@clisp.org>
34361
34362         * lib/vasnprintf.c (decode_long_double): Don't abort if the
34363         'long double' type has excess precision.
34364         Reported by Jim Meyering in
34365         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
34366
34367 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
34368
34369         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
34370         Sync from <http://gnu.org/licenses>.
34371         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
34372         with license text from same location.
34373         * doc/maintain.texi, doc/standards.texi:  Sync from
34374         <http://savannah.gnu.org/projects/gnustandards>.
34375
34376 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
34377         and Jim Meyering  <meyering@redhat.com>
34378
34379         Adjust getdate' grammar to accept a slightly more regular language.
34380         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
34381         Before, the former was rejected.
34382         * lib/getdate.y (digits_to_date_time): New function, factored
34383         out of ...
34384         (number): ...here.  Just call digits_to_date_time.
34385         (hybrid): New non-terminal to handle an <unsigned number,
34386         signed relative offset> sequence consistently.
34387
34388 2007-11-18  Jim Meyering  <meyering@redhat.com>
34389
34390         Pull my changes from coreutils:
34391         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
34392         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
34393         use of $gnulib_tool_option_extras, so that it's separated from the
34394         preceding argument.
34395
34396         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
34397         * build-aux/bootstrap (cp_mark_as_generated): Create any required
34398         parent destination directories before copying a file into place.
34399
34400 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
34401
34402         bootstrap: work also with 4-argument variant of AC_INIT
34403         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
34404
34405 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
34406
34407         Port test-getaddrinfo to Solaris.
34408         Problem reported by Bruno Haible in
34409         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
34410         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
34411         explanation of setting 'hints'.
34412         Don't reject an implementation merely because it returns EAI_SERVICE.
34413         (EAI_SERVICE): Define to 0 if not defined.
34414
34415 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
34416
34417         The license of gnu-make and posix-shell is now "GPLed build tool".
34418         * modules/gnu-make (License): Likewise.
34419         * modules/posix-shell (License): Likewise.
34420
34421         New module posix-shell, for determining a POSIX shell
34422         or perhaps something that is close enough to a POSIX shell.
34423         * m4/posix-shell.m4: New file.
34424         * modules/posix-shell: New file.
34425
34426         * MODULES.html.sh: Mention new module.
34427
34428         New module gnu-make, for determining whether we're using GNU Make.
34429         * m4/gnu-make.m4: New file.
34430         * modules/gnu-make: New file.
34431         * MODULES.html.sh: Mention new module.
34432
34433 2007-11-14  Jim Meyering  <meyering@redhat.com>
34434
34435         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
34436         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
34437         use this macro to create a function _definition_.
34438         Remove useless "#undef ARGMATCH_DIE".
34439
34440 2007-11-14  Bruno Haible  <bruno@clisp.org>
34441
34442         * lib/config.charset: Update for OpenBSD 4.1.
34443         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
34444
34445 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
34446
34447         Document 64-bit #if problems in stdint.texi.
34448         * doc/headers/stdint.texi (stdint.h): Mention problems with
34449         64-bit-#if, and how to work around them.
34450
34451         Don't insist on 'long long int' support in the preprocessor.  It
34452         breaks too many things.  For example, PRIdMAX still uses a 'long
34453         long int' format with the latest Sun compiler, even though
34454         HAVE_LONG_LONG_INT isn't defined due to that compiler's
34455         preprocessor problem.  This causes the latest coreutils to dump
34456         core on Solaris 10 sparc with the Sun C compiler.
34457         Instead, fix the 2007-10-16 problem in a different way, by evaluating
34458         the troublesome expressions at configure-time, not at #if-time.
34459         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
34460         preprocessor.
34461         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
34462         compile-time C checks, done at 'configure'-time.
34463         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
34464         * modules/inttypes (Makefile): Substitute the new symbols that
34465         gl_INTTYPES_H now generates.
34466         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
34467
34468 2007-11-12  Bruno Haible  <bruno@clisp.org>
34469
34470         Tests for Unicode character classification functions.
34471
34472         * modules/unictype/bidicategory-byname-tests: New file.
34473         * modules/unictype/bidicategory-name-tests: New file.
34474         * modules/unictype/bidicategory-of-tests: New file.
34475         * modules/unictype/bidicategory-test-tests: New file.
34476         * modules/unictype/block-list-tests: New file.
34477         * modules/unictype/block-of-tests: New file.
34478         * modules/unictype/block-test-tests: New file.
34479         * modules/unictype/category-C-tests: New file.
34480         * modules/unictype/category-Cc-tests: New file.
34481         * modules/unictype/category-Cf-tests: New file.
34482         * modules/unictype/category-Cn-tests: New file.
34483         * modules/unictype/category-Co-tests: New file.
34484         * modules/unictype/category-Cs-tests: New file.
34485         * modules/unictype/category-L-tests: New file.
34486         * modules/unictype/category-Ll-tests: New file.
34487         * modules/unictype/category-Lm-tests: New file.
34488         * modules/unictype/category-Lo-tests: New file.
34489         * modules/unictype/category-Lt-tests: New file.
34490         * modules/unictype/category-Lu-tests: New file.
34491         * modules/unictype/category-M-tests: New file.
34492         * modules/unictype/category-Mc-tests: New file.
34493         * modules/unictype/category-Me-tests: New file.
34494         * modules/unictype/category-Mn-tests: New file.
34495         * modules/unictype/category-N-tests: New file.
34496         * modules/unictype/category-Nd-tests: New file.
34497         * modules/unictype/category-Nl-tests: New file.
34498         * modules/unictype/category-No-tests: New file.
34499         * modules/unictype/category-P-tests: New file.
34500         * modules/unictype/category-Pc-tests: New file.
34501         * modules/unictype/category-Pd-tests: New file.
34502         * modules/unictype/category-Pe-tests: New file.
34503         * modules/unictype/category-Pf-tests: New file.
34504         * modules/unictype/category-Pi-tests: New file.
34505         * modules/unictype/category-Po-tests: New file.
34506         * modules/unictype/category-Ps-tests: New file.
34507         * modules/unictype/category-S-tests: New file.
34508         * modules/unictype/category-Sc-tests: New file.
34509         * modules/unictype/category-Sk-tests: New file.
34510         * modules/unictype/category-Sm-tests: New file.
34511         * modules/unictype/category-So-tests: New file.
34512         * modules/unictype/category-Z-tests: New file.
34513         * modules/unictype/category-Zl-tests: New file.
34514         * modules/unictype/category-Zp-tests: New file.
34515         * modules/unictype/category-Zs-tests: New file.
34516         * modules/unictype/category-and-not-tests: New file.
34517         * modules/unictype/category-and-tests: New file.
34518         * modules/unictype/category-byname-tests: New file.
34519         * modules/unictype/category-name-tests: New file.
34520         * modules/unictype/category-none-tests: New file.
34521         * modules/unictype/category-of-tests: New file.
34522         * modules/unictype/category-or-tests: New file.
34523         * modules/unictype/category-test-withtable-tests: New file.
34524         * modules/unictype/combining-class-tests: New file.
34525         * modules/unictype/ctype-alnum-tests: New file.
34526         * modules/unictype/ctype-alpha-tests: New file.
34527         * modules/unictype/ctype-blank-tests: New file.
34528         * modules/unictype/ctype-cntrl-tests: New file.
34529         * modules/unictype/ctype-digit-tests: New file.
34530         * modules/unictype/ctype-graph-tests: New file.
34531         * modules/unictype/ctype-lower-tests: New file.
34532         * modules/unictype/ctype-print-tests: New file.
34533         * modules/unictype/ctype-punct-tests: New file.
34534         * modules/unictype/ctype-space-tests: New file.
34535         * modules/unictype/ctype-upper-tests: New file.
34536         * modules/unictype/ctype-xdigit-tests: New file.
34537         * modules/unictype/decimal-digit-tests: New file.
34538         * modules/unictype/digit-tests: New file.
34539         * modules/unictype/mirror-tests: New file.
34540         * modules/unictype/numeric-tests: New file.
34541         * modules/unictype/property-alphabetic-tests: New file.
34542         * modules/unictype/property-ascii-hex-digit-tests: New file.
34543         * modules/unictype/property-bidi-arabic-digit-tests: New file.
34544         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
34545         * modules/unictype/property-bidi-block-separator-tests: New file.
34546         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
34547         * modules/unictype/property-bidi-common-separator-tests: New file.
34548         * modules/unictype/property-bidi-control-tests: New file.
34549         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
34550         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
34551         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
34552         * modules/unictype/property-bidi-european-digit-tests: New file.
34553         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
34554         * modules/unictype/property-bidi-left-to-right-tests: New file.
34555         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
34556         * modules/unictype/property-bidi-other-neutral-tests: New file.
34557         * modules/unictype/property-bidi-pdf-tests: New file.
34558         * modules/unictype/property-bidi-segment-separator-tests: New file.
34559         * modules/unictype/property-bidi-whitespace-tests: New file.
34560         * modules/unictype/property-byname-tests: New file.
34561         * modules/unictype/property-combining-tests: New file.
34562         * modules/unictype/property-composite-tests: New file.
34563         * modules/unictype/property-currency-symbol-tests: New file.
34564         * modules/unictype/property-dash-tests: New file.
34565         * modules/unictype/property-decimal-digit-tests: New file.
34566         * modules/unictype/property-default-ignorable-code-point-tests: New file.
34567         * modules/unictype/property-deprecated-tests: New file.
34568         * modules/unictype/property-diacritic-tests: New file.
34569         * modules/unictype/property-extender-tests: New file.
34570         * modules/unictype/property-format-control-tests: New file.
34571         * modules/unictype/property-grapheme-base-tests: New file.
34572         * modules/unictype/property-grapheme-extend-tests: New file.
34573         * modules/unictype/property-grapheme-link-tests: New file.
34574         * modules/unictype/property-hex-digit-tests: New file.
34575         * modules/unictype/property-hyphen-tests: New file.
34576         * modules/unictype/property-id-continue-tests: New file.
34577         * modules/unictype/property-id-start-tests: New file.
34578         * modules/unictype/property-ideographic-tests: New file.
34579         * modules/unictype/property-ids-binary-operator-tests: New file.
34580         * modules/unictype/property-ids-trinary-operator-tests: New file.
34581         * modules/unictype/property-ignorable-control-tests: New file.
34582         * modules/unictype/property-iso-control-tests: New file.
34583         * modules/unictype/property-join-control-tests: New file.
34584         * modules/unictype/property-left-of-pair-tests: New file.
34585         * modules/unictype/property-line-separator-tests: New file.
34586         * modules/unictype/property-logical-order-exception-tests: New file.
34587         * modules/unictype/property-lowercase-tests: New file.
34588         * modules/unictype/property-math-tests: New file.
34589         * modules/unictype/property-non-break-tests: New file.
34590         * modules/unictype/property-not-a-character-tests: New file.
34591         * modules/unictype/property-numeric-tests: New file.
34592         * modules/unictype/property-other-alphabetic-tests: New file.
34593         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
34594         * modules/unictype/property-other-grapheme-extend-tests: New file.
34595         * modules/unictype/property-other-id-continue-tests: New file.
34596         * modules/unictype/property-other-id-start-tests: New file.
34597         * modules/unictype/property-other-lowercase-tests: New file.
34598         * modules/unictype/property-other-math-tests: New file.
34599         * modules/unictype/property-other-uppercase-tests: New file.
34600         * modules/unictype/property-paired-punctuation-tests: New file.
34601         * modules/unictype/property-paragraph-separator-tests: New file.
34602         * modules/unictype/property-pattern-syntax-tests: New file.
34603         * modules/unictype/property-pattern-white-space-tests: New file.
34604         * modules/unictype/property-private-use-tests: New file.
34605         * modules/unictype/property-punctuation-tests: New file.
34606         * modules/unictype/property-quotation-mark-tests: New file.
34607         * modules/unictype/property-radical-tests: New file.
34608         * modules/unictype/property-sentence-terminal-tests: New file.
34609         * modules/unictype/property-soft-dotted-tests: New file.
34610         * modules/unictype/property-space-tests: New file.
34611         * modules/unictype/property-terminal-punctuation-tests: New file.
34612         * modules/unictype/property-test-tests: New file.
34613         * modules/unictype/property-titlecase-tests: New file.
34614         * modules/unictype/property-unassigned-code-value-tests: New file.
34615         * modules/unictype/property-unified-ideograph-tests: New file.
34616         * modules/unictype/property-uppercase-tests: New file.
34617         * modules/unictype/property-variation-selector-tests: New file.
34618         * modules/unictype/property-white-space-tests: New file.
34619         * modules/unictype/property-xid-continue-tests: New file.
34620         * modules/unictype/property-xid-start-tests: New file.
34621         * modules/unictype/property-zero-width-tests: New file.
34622         * modules/unictype/scripts-tests: New file.
34623         * modules/unictype/syntax-c-ident-tests: New file.
34624         * modules/unictype/syntax-c-whitespace-tests: New file.
34625         * modules/unictype/syntax-java-ident-tests: New file.
34626         * modules/unictype/syntax-java-whitespace-tests: New file.
34627         * tests/unictype/test-bidi_byname.c: New file.
34628         * tests/unictype/test-bidi_name.c: New file.
34629         * tests/unictype/test-bidi_of.c: New file.
34630         * tests/unictype/test-bidi_test.c: New file.
34631         * tests/unictype/test-block_list.c: New file.
34632         * tests/unictype/test-block_of.c: New file.
34633         * tests/unictype/test-block_test.c: New file.
34634         * tests/unictype/test-categ_and.c: New file.
34635         * tests/unictype/test-categ_and_not.c: New file.
34636         * tests/unictype/test-categ_byname.c: New file.
34637         * tests/unictype/test-categ_name.c: New file.
34638         * tests/unictype/test-categ_none.c: New file.
34639         * tests/unictype/test-categ_of.c: New file.
34640         * tests/unictype/test-categ_or.c: New file.
34641         * tests/unictype/test-categ_test_withtable.c: New file.
34642         * tests/unictype/test-combining.c: New file.
34643         * tests/unictype/test-decdigit.c: New file.
34644         * tests/unictype/test-digit.c: New file.
34645         * tests/unictype/test-mirror.c: New file.
34646         * tests/unictype/test-numeric.c: New file.
34647         * tests/unictype/test-pr_byname.c: New file.
34648         * tests/unictype/test-pr_test.c: New file.
34649         * tests/unictype/test-predicate-part1.h: New file.
34650         * tests/unictype/test-predicate-part2.h: New file.
34651         * tests/unictype/test-scripts.c: New file.
34652         * tests/unictype/test-sy_c_ident.c: New file.
34653         * tests/unictype/test-sy_java_ident.c: New file.
34654
34655         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
34656         for Unicode 5.0.0.
34657         * tests/unictype/test-categ_Cc.c: Likewise.
34658         * tests/unictype/test-categ_Cf.c: Likewise.
34659         * tests/unictype/test-categ_Cn.c: Likewise.
34660         * tests/unictype/test-categ_Co.c: Likewise.
34661         * tests/unictype/test-categ_Cs.c: Likewise.
34662         * tests/unictype/test-categ_L.c: Likewise.
34663         * tests/unictype/test-categ_Ll.c: Likewise.
34664         * tests/unictype/test-categ_Lm.c: Likewise.
34665         * tests/unictype/test-categ_Lo.c: Likewise.
34666         * tests/unictype/test-categ_Lt.c: Likewise.
34667         * tests/unictype/test-categ_Lu.c: Likewise.
34668         * tests/unictype/test-categ_M.c: Likewise.
34669         * tests/unictype/test-categ_Mc.c: Likewise.
34670         * tests/unictype/test-categ_Me.c: Likewise.
34671         * tests/unictype/test-categ_Mn.c: Likewise.
34672         * tests/unictype/test-categ_N.c: Likewise.
34673         * tests/unictype/test-categ_Nd.c: Likewise.
34674         * tests/unictype/test-categ_Nl.c: Likewise.
34675         * tests/unictype/test-categ_No.c: Likewise.
34676         * tests/unictype/test-categ_P.c: Likewise.
34677         * tests/unictype/test-categ_Pc.c: Likewise.
34678         * tests/unictype/test-categ_Pd.c: Likewise.
34679         * tests/unictype/test-categ_Pe.c: Likewise.
34680         * tests/unictype/test-categ_Pf.c: Likewise.
34681         * tests/unictype/test-categ_Pi.c: Likewise.
34682         * tests/unictype/test-categ_Po.c: Likewise.
34683         * tests/unictype/test-categ_Ps.c: Likewise.
34684         * tests/unictype/test-categ_S.c: Likewise.
34685         * tests/unictype/test-categ_Sc.c: Likewise.
34686         * tests/unictype/test-categ_Sk.c: Likewise.
34687         * tests/unictype/test-categ_Sm.c: Likewise.
34688         * tests/unictype/test-categ_So.c: Likewise.
34689         * tests/unictype/test-categ_Z.c: Likewise.
34690         * tests/unictype/test-categ_Zl.c: Likewise.
34691         * tests/unictype/test-categ_Zp.c: Likewise.
34692         * tests/unictype/test-categ_Zs.c: Likewise.
34693         * tests/unictype/test-ctype_alnum.c: Likewise.
34694         * tests/unictype/test-ctype_alpha.c: Likewise.
34695         * tests/unictype/test-ctype_blank.c: Likewise.
34696         * tests/unictype/test-ctype_cntrl.c: Likewise.
34697         * tests/unictype/test-ctype_digit.c: Likewise.
34698         * tests/unictype/test-ctype_graph.c: Likewise.
34699         * tests/unictype/test-ctype_lower.c: Likewise.
34700         * tests/unictype/test-ctype_print.c: Likewise.
34701         * tests/unictype/test-ctype_punct.c: Likewise.
34702         * tests/unictype/test-ctype_space.c: Likewise.
34703         * tests/unictype/test-ctype_upper.c: Likewise.
34704         * tests/unictype/test-ctype_xdigit.c: Likewise.
34705         * tests/unictype/test-decdigit.h: Likewise.
34706         * tests/unictype/test-digit.h: Likewise.
34707         * tests/unictype/test-numeric.h: Likewise.
34708         * tests/unictype/test-pr_alphabetic.c: Likewise.
34709         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
34710         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
34711         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
34712         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
34713         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
34714         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
34715         * tests/unictype/test-pr_bidi_control.c: Likewise.
34716         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
34717         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
34718         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
34719         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
34720         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
34721         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
34722         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
34723         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
34724         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
34725         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
34726         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
34727         * tests/unictype/test-pr_combining.c: Likewise.
34728         * tests/unictype/test-pr_composite.c: Likewise.
34729         * tests/unictype/test-pr_currency_symbol.c: Likewise.
34730         * tests/unictype/test-pr_dash.c: Likewise.
34731         * tests/unictype/test-pr_decimal_digit.c: Likewise.
34732         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
34733         * tests/unictype/test-pr_deprecated.c: Likewise.
34734         * tests/unictype/test-pr_diacritic.c: Likewise.
34735         * tests/unictype/test-pr_extender.c: Likewise.
34736         * tests/unictype/test-pr_format_control.c: Likewise.
34737         * tests/unictype/test-pr_grapheme_base.c: Likewise.
34738         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
34739         * tests/unictype/test-pr_grapheme_link.c: Likewise.
34740         * tests/unictype/test-pr_hex_digit.c: Likewise.
34741         * tests/unictype/test-pr_hyphen.c: Likewise.
34742         * tests/unictype/test-pr_id_continue.c: Likewise.
34743         * tests/unictype/test-pr_id_start.c: Likewise.
34744         * tests/unictype/test-pr_ideographic.c: Likewise.
34745         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
34746         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
34747         * tests/unictype/test-pr_ignorable_control.c: Likewise.
34748         * tests/unictype/test-pr_iso_control.c: Likewise.
34749         * tests/unictype/test-pr_join_control.c: Likewise.
34750         * tests/unictype/test-pr_left_of_pair.c: Likewise.
34751         * tests/unictype/test-pr_line_separator.c: Likewise.
34752         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
34753         * tests/unictype/test-pr_lowercase.c: Likewise.
34754         * tests/unictype/test-pr_math.c: Likewise.
34755         * tests/unictype/test-pr_non_break.c: Likewise.
34756         * tests/unictype/test-pr_not_a_character.c: Likewise.
34757         * tests/unictype/test-pr_numeric.c: Likewise.
34758         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
34759         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
34760         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
34761         * tests/unictype/test-pr_other_id_continue.c: Likewise.
34762         * tests/unictype/test-pr_other_id_start.c: Likewise.
34763         * tests/unictype/test-pr_other_lowercase.c: Likewise.
34764         * tests/unictype/test-pr_other_math.c: Likewise.
34765         * tests/unictype/test-pr_other_uppercase.c: Likewise.
34766         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
34767         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
34768         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
34769         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
34770         * tests/unictype/test-pr_private_use.c: Likewise.
34771         * tests/unictype/test-pr_punctuation.c: Likewise.
34772         * tests/unictype/test-pr_quotation_mark.c: Likewise.
34773         * tests/unictype/test-pr_radical.c: Likewise.
34774         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
34775         * tests/unictype/test-pr_soft_dotted.c: Likewise.
34776         * tests/unictype/test-pr_space.c: Likewise.
34777         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
34778         * tests/unictype/test-pr_titlecase.c: Likewise.
34779         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
34780         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
34781         * tests/unictype/test-pr_uppercase.c: Likewise.
34782         * tests/unictype/test-pr_variation_selector.c: Likewise.
34783         * tests/unictype/test-pr_white_space.c: Likewise.
34784         * tests/unictype/test-pr_xid_continue.c: Likewise.
34785         * tests/unictype/test-pr_xid_start.c: Likewise.
34786         * tests/unictype/test-pr_zero_width.c: Likewise.
34787         * tests/unictype/test-sy_c_whitespace.c: Likewise.
34788         * tests/unictype/test-sy_java_whitespace.c: Likewise.
34789
34790 2007-11-12  Bruno Haible  <bruno@clisp.org>
34791
34792         Unicode character classification functions.
34793         * lib/unictype.h: New file.
34794         * modules/unictype/base: New file.
34795         * modules/unictype/category-L: New file.
34796         * modules/unictype/category-Lu: New file.
34797         * modules/unictype/category-Ll: New file.
34798         * modules/unictype/category-Lt: New file.
34799         * modules/unictype/category-Lm: New file.
34800         * modules/unictype/category-Lo: New file.
34801         * modules/unictype/category-M: New file.
34802         * modules/unictype/category-Mn: New file.
34803         * modules/unictype/category-Mc: New file.
34804         * modules/unictype/category-Me: New file.
34805         * modules/unictype/category-N: New file.
34806         * modules/unictype/category-Nd: New file.
34807         * modules/unictype/category-Nl: New file.
34808         * modules/unictype/category-No: New file.
34809         * modules/unictype/category-P: New file.
34810         * modules/unictype/category-Pc: New file.
34811         * modules/unictype/category-Pd: New file.
34812         * modules/unictype/category-Ps: New file.
34813         * modules/unictype/category-Pe: New file.
34814         * modules/unictype/category-Pi: New file.
34815         * modules/unictype/category-Pf: New file.
34816         * modules/unictype/category-Po: New file.
34817         * modules/unictype/category-S: New file.
34818         * modules/unictype/category-Sm: New file.
34819         * modules/unictype/category-Sc: New file.
34820         * modules/unictype/category-Sk: New file.
34821         * modules/unictype/category-So: New file.
34822         * modules/unictype/category-Z: New file.
34823         * modules/unictype/category-Zs: New file.
34824         * modules/unictype/category-Zl: New file.
34825         * modules/unictype/category-Zp: New file.
34826         * modules/unictype/category-C: New file.
34827         * modules/unictype/category-Cc: New file.
34828         * modules/unictype/category-Cf: New file.
34829         * modules/unictype/category-Cs: New file.
34830         * modules/unictype/category-Co: New file.
34831         * modules/unictype/category-Cn: New file.
34832         * modules/unictype/category-or: New file.
34833         * modules/unictype/category-of: New file.
34834         * modules/unictype/category-test: New file.
34835         * modules/unictype/category-test-withtable: New file.
34836         * modules/unictype/category-byname: New file.
34837         * modules/unictype/category-none: New file.
34838         * modules/unictype/category-and: New file.
34839         * modules/unictype/category-and-not: New file.
34840         * modules/unictype/category-name: New file.
34841         * modules/unictype/combining-class: New file.
34842         * modules/unictype/category-all: New file.
34843         * modules/unictype/bidicategory-all: New file.
34844         * modules/unictype/bidicategory-byname: New file.
34845         * modules/unictype/bidicategory-name: New file.
34846         * modules/unictype/bidicategory-of: New file.
34847         * modules/unictype/bidicategory-test: New file.
34848         * modules/unictype/decimal-digit: New file.
34849         * modules/unictype/digit: New file.
34850         * modules/unictype/numeric: New file.
34851         * modules/unictype/mirror: New file.
34852         * modules/unictype/property-white-space: New file.
34853         * modules/unictype/property-alphabetic: New file.
34854         * modules/unictype/property-other-alphabetic: New file.
34855         * modules/unictype/property-not-a-character: New file.
34856         * modules/unictype/property-default-ignorable-code-point: New file.
34857         * modules/unictype/property-other-default-ignorable-code-point: New
34858         file.
34859         * modules/unictype/property-deprecated: New file.
34860         * modules/unictype/property-logical-order-exception: New file.
34861         * modules/unictype/property-variation-selector: New file.
34862         * modules/unictype/property-private-use: New file.
34863         * modules/unictype/property-unassigned-code-value: New file.
34864         * modules/unictype/property-uppercase: New file.
34865         * modules/unictype/property-other-uppercase: New file.
34866         * modules/unictype/property-lowercase: New file.
34867         * modules/unictype/property-other-lowercase: New file.
34868         * modules/unictype/property-titlecase: New file.
34869         * modules/unictype/property-soft-dotted: New file.
34870         * modules/unictype/property-id-start: New file.
34871         * modules/unictype/property-other-id-start: New file.
34872         * modules/unictype/property-id-continue: New file.
34873         * modules/unictype/property-other-id-continue: New file.
34874         * modules/unictype/property-xid-start: New file.
34875         * modules/unictype/property-xid-continue: New file.
34876         * modules/unictype/property-pattern-white-space: New file.
34877         * modules/unictype/property-pattern-syntax: New file.
34878         * modules/unictype/property-join-control: New file.
34879         * modules/unictype/property-grapheme-base: New file.
34880         * modules/unictype/property-grapheme-extend: New file.
34881         * modules/unictype/property-other-grapheme-extend: New file.
34882         * modules/unictype/property-grapheme-link: New file.
34883         * modules/unictype/property-bidi-control: New file.
34884         * modules/unictype/property-bidi-left-to-right: New file.
34885         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
34886         * modules/unictype/property-bidi-arabic-right-to-left: New file.
34887         * modules/unictype/property-bidi-european-digit: New file.
34888         * modules/unictype/property-bidi-eur-num-separator: New file.
34889         * modules/unictype/property-bidi-eur-num-terminator: New file.
34890         * modules/unictype/property-bidi-arabic-digit: New file.
34891         * modules/unictype/property-bidi-common-separator: New file.
34892         * modules/unictype/property-bidi-block-separator: New file.
34893         * modules/unictype/property-bidi-segment-separator: New file.
34894         * modules/unictype/property-bidi-whitespace: New file.
34895         * modules/unictype/property-bidi-non-spacing-mark: New file.
34896         * modules/unictype/property-bidi-boundary-neutral: New file.
34897         * modules/unictype/property-bidi-pdf: New file.
34898         * modules/unictype/property-bidi-embedding-or-override: New file.
34899         * modules/unictype/property-bidi-other-neutral: New file.
34900         * modules/unictype/property-hex-digit: New file.
34901         * modules/unictype/property-ascii-hex-digit: New file.
34902         * modules/unictype/property-ideographic: New file.
34903         * modules/unictype/property-unified-ideograph: New file.
34904         * modules/unictype/property-radical: New file.
34905         * modules/unictype/property-ids-binary-operator: New file.
34906         * modules/unictype/property-ids-trinary-operator: New file.
34907         * modules/unictype/property-zero-width: New file.
34908         * modules/unictype/property-space: New file.
34909         * modules/unictype/property-non-break: New file.
34910         * modules/unictype/property-iso-control: New file.
34911         * modules/unictype/property-format-control: New file.
34912         * modules/unictype/property-dash: New file.
34913         * modules/unictype/property-hyphen: New file.
34914         * modules/unictype/property-punctuation: New file.
34915         * modules/unictype/property-line-separator: New file.
34916         * modules/unictype/property-paragraph-separator: New file.
34917         * modules/unictype/property-quotation-mark: New file.
34918         * modules/unictype/property-sentence-terminal: New file.
34919         * modules/unictype/property-terminal-punctuation: New file.
34920         * modules/unictype/property-currency-symbol: New file.
34921         * modules/unictype/property-math: New file.
34922         * modules/unictype/property-other-math: New file.
34923         * modules/unictype/property-paired-punctuation: New file.
34924         * modules/unictype/property-left-of-pair: New file.
34925         * modules/unictype/property-combining: New file.
34926         * modules/unictype/property-composite: New file.
34927         * modules/unictype/property-decimal-digit: New file.
34928         * modules/unictype/property-numeric: New file.
34929         * modules/unictype/property-diacritic: New file.
34930         * modules/unictype/property-extender: New file.
34931         * modules/unictype/property-ignorable-control: New file.
34932         * modules/unictype/property-test: New file.
34933         * modules/unictype/property-byname: New file.
34934         * modules/unictype/property-all: New file.
34935         * modules/unictype/scripts: New file.
34936         * modules/unictype/scripts-all: New file.
34937         * modules/unictype/block-of: New file.
34938         * modules/unictype/block-test: New file.
34939         * modules/unictype/block-list: New file.
34940         * modules/unictype/block-all: New file.
34941         * modules/unictype/syntax-c-whitespace: New file.
34942         * modules/unictype/syntax-java-whitespace: New file.
34943         * modules/unictype/syntax-c-ident: New file.
34944         * modules/unictype/syntax-java-ident: New file.
34945         * modules/unictype/ctype-alnum: New file.
34946         * modules/unictype/ctype-alpha: New file.
34947         * modules/unictype/ctype-cntrl: New file.
34948         * modules/unictype/ctype-digit: New file.
34949         * modules/unictype/ctype-graph: New file.
34950         * modules/unictype/ctype-lower: New file.
34951         * modules/unictype/ctype-print: New file.
34952         * modules/unictype/ctype-punct: New file.
34953         * modules/unictype/ctype-space: New file.
34954         * modules/unictype/ctype-upper: New file.
34955         * modules/unictype/ctype-xdigit: New file.
34956         * modules/unictype/ctype-blank: New file.
34957         * lib/unictype/bidi_byname.c: New file.
34958         * lib/unictype/bidi_name.c: New file.
34959         * lib/unictype/bidi_of.c: New file.
34960         * lib/unictype/bidi_test.c: New file.
34961         * lib/unictype/bitmap.h: New file.
34962         * lib/unictype/block_test.c: New file.
34963         * lib/unictype/blocks.c: New file.
34964         * lib/unictype/categ_C.c: New file.
34965         * lib/unictype/categ_Cc.c: New file.
34966         * lib/unictype/categ_Cf.c: New file.
34967         * lib/unictype/categ_Cn.c: New file.
34968         * lib/unictype/categ_Co.c: New file.
34969         * lib/unictype/categ_Cs.c: New file.
34970         * lib/unictype/categ_L.c: New file.
34971         * lib/unictype/categ_Ll.c: New file.
34972         * lib/unictype/categ_Lm.c: New file.
34973         * lib/unictype/categ_Lo.c: New file.
34974         * lib/unictype/categ_Lt.c: New file.
34975         * lib/unictype/categ_Lu.c: New file.
34976         * lib/unictype/categ_M.c: New file.
34977         * lib/unictype/categ_Mc.c: New file.
34978         * lib/unictype/categ_Me.c: New file.
34979         * lib/unictype/categ_Mn.c: New file.
34980         * lib/unictype/categ_N.c: New file.
34981         * lib/unictype/categ_Nd.c: New file.
34982         * lib/unictype/categ_Nl.c: New file.
34983         * lib/unictype/categ_No.c: New file.
34984         * lib/unictype/categ_P.c: New file.
34985         * lib/unictype/categ_Pc.c: New file.
34986         * lib/unictype/categ_Pd.c: New file.
34987         * lib/unictype/categ_Pe.c: New file.
34988         * lib/unictype/categ_Pf.c: New file.
34989         * lib/unictype/categ_Pi.c: New file.
34990         * lib/unictype/categ_Po.c: New file.
34991         * lib/unictype/categ_Ps.c: New file.
34992         * lib/unictype/categ_S.c: New file.
34993         * lib/unictype/categ_Sc.c: New file.
34994         * lib/unictype/categ_Sk.c: New file.
34995         * lib/unictype/categ_Sm.c: New file.
34996         * lib/unictype/categ_So.c: New file.
34997         * lib/unictype/categ_Z.c: New file.
34998         * lib/unictype/categ_Zl.c: New file.
34999         * lib/unictype/categ_Zp.c: New file.
35000         * lib/unictype/categ_Zs.c: New file.
35001         * lib/unictype/categ_and.c: New file.
35002         * lib/unictype/categ_and_not.c: New file.
35003         * lib/unictype/categ_byname.c: New file.
35004         * lib/unictype/categ_name.c: New file.
35005         * lib/unictype/categ_none.c: New file.
35006         * lib/unictype/categ_of.c: New file.
35007         * lib/unictype/categ_or.c: New file.
35008         * lib/unictype/categ_test.c: New file.
35009         * lib/unictype/combining.c: New file.
35010         * lib/unictype/ctype_alnum.c: New file.
35011         * lib/unictype/ctype_alpha.c: New file.
35012         * lib/unictype/ctype_blank.c: New file.
35013         * lib/unictype/ctype_cntrl.c: New file.
35014         * lib/unictype/ctype_digit.c: New file.
35015         * lib/unictype/ctype_graph.c: New file.
35016         * lib/unictype/ctype_lower.c: New file.
35017         * lib/unictype/ctype_print.c: New file.
35018         * lib/unictype/ctype_punct.c: New file.
35019         * lib/unictype/ctype_space.c: New file.
35020         * lib/unictype/ctype_upper.c: New file.
35021         * lib/unictype/ctype_xdigit.c: New file.
35022         * lib/unictype/decdigit.c: New file.
35023         * lib/unictype/digit.c: New file.
35024         * lib/unictype/identsyntaxmap.h: New file.
35025         * lib/unictype/mirror.c: New file.
35026         * lib/unictype/numeric.c: New file.
35027         * lib/unictype/pr_alphabetic.c: New file.
35028         * lib/unictype/pr_ascii_hex_digit.c: New file.
35029         * lib/unictype/pr_bidi_arabic_digit.c: New file.
35030         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
35031         * lib/unictype/pr_bidi_block_separator.c: New file.
35032         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
35033         * lib/unictype/pr_bidi_common_separator.c: New file.
35034         * lib/unictype/pr_bidi_control.c: New file.
35035         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
35036         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
35037         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
35038         * lib/unictype/pr_bidi_european_digit.c: New file.
35039         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
35040         * lib/unictype/pr_bidi_left_to_right.c: New file.
35041         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
35042         * lib/unictype/pr_bidi_other_neutral.c: New file.
35043         * lib/unictype/pr_bidi_pdf.c: New file.
35044         * lib/unictype/pr_bidi_segment_separator.c: New file.
35045         * lib/unictype/pr_bidi_whitespace.c: New file.
35046         * lib/unictype/pr_byname.c: New file.
35047         * lib/unictype/pr_byname.gperf: New file.
35048         * lib/unictype/pr_combining.c: New file.
35049         * lib/unictype/pr_composite.c: New file.
35050         * lib/unictype/pr_currency_symbol.c: New file.
35051         * lib/unictype/pr_dash.c: New file.
35052         * lib/unictype/pr_decimal_digit.c: New file.
35053         * lib/unictype/pr_default_ignorable_code_point.c: New file.
35054         * lib/unictype/pr_deprecated.c: New file.
35055         * lib/unictype/pr_diacritic.c: New file.
35056         * lib/unictype/pr_extender.c: New file.
35057         * lib/unictype/pr_format_control.c: New file.
35058         * lib/unictype/pr_grapheme_base.c: New file.
35059         * lib/unictype/pr_grapheme_extend.c: New file.
35060         * lib/unictype/pr_grapheme_link.c: New file.
35061         * lib/unictype/pr_hex_digit.c: New file.
35062         * lib/unictype/pr_hyphen.c: New file.
35063         * lib/unictype/pr_id_continue.c: New file.
35064         * lib/unictype/pr_id_start.c: New file.
35065         * lib/unictype/pr_ideographic.c: New file.
35066         * lib/unictype/pr_ids_binary_operator.c: New file.
35067         * lib/unictype/pr_ids_trinary_operator.c: New file.
35068         * lib/unictype/pr_ignorable_control.c: New file.
35069         * lib/unictype/pr_iso_control.c: New file.
35070         * lib/unictype/pr_join_control.c: New file.
35071         * lib/unictype/pr_left_of_pair.c: New file.
35072         * lib/unictype/pr_line_separator.c: New file.
35073         * lib/unictype/pr_logical_order_exception.c: New file.
35074         * lib/unictype/pr_lowercase.c: New file.
35075         * lib/unictype/pr_math.c: New file.
35076         * lib/unictype/pr_non_break.c: New file.
35077         * lib/unictype/pr_not_a_character.c: New file.
35078         * lib/unictype/pr_numeric.c: New file.
35079         * lib/unictype/pr_other_alphabetic.c: New file.
35080         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
35081         * lib/unictype/pr_other_grapheme_extend.c: New file.
35082         * lib/unictype/pr_other_id_continue.c: New file.
35083         * lib/unictype/pr_other_id_start.c: New file.
35084         * lib/unictype/pr_other_lowercase.c: New file.
35085         * lib/unictype/pr_other_math.c: New file.
35086         * lib/unictype/pr_other_uppercase.c: New file.
35087         * lib/unictype/pr_paired_punctuation.c: New file.
35088         * lib/unictype/pr_paragraph_separator.c: New file.
35089         * lib/unictype/pr_pattern_syntax.c: New file.
35090         * lib/unictype/pr_pattern_white_space.c: New file.
35091         * lib/unictype/pr_private_use.c: New file.
35092         * lib/unictype/pr_punctuation.c: New file.
35093         * lib/unictype/pr_quotation_mark.c: New file.
35094         * lib/unictype/pr_radical.c: New file.
35095         * lib/unictype/pr_sentence_terminal.c: New file.
35096         * lib/unictype/pr_soft_dotted.c: New file.
35097         * lib/unictype/pr_space.c: New file.
35098         * lib/unictype/pr_terminal_punctuation.c: New file.
35099         * lib/unictype/pr_test.c: New file.
35100         * lib/unictype/pr_titlecase.c: New file.
35101         * lib/unictype/pr_unassigned_code_value.c: New file.
35102         * lib/unictype/pr_unified_ideograph.c: New file.
35103         * lib/unictype/pr_uppercase.c: New file.
35104         * lib/unictype/pr_variation_selector.c: New file.
35105         * lib/unictype/pr_white_space.c: New file.
35106         * lib/unictype/pr_xid_continue.c: New file.
35107         * lib/unictype/pr_xid_start.c: New file.
35108         * lib/unictype/pr_zero_width.c: New file.
35109         * lib/unictype/scripts.c: New file.
35110         * lib/unictype/sy_c_ident.c: New file.
35111         * lib/unictype/sy_c_whitespace.c: New file.
35112         * lib/unictype/sy_java_ident.c: New file.
35113         * lib/unictype/sy_java_whitespace.c: New file.
35114
35115         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
35116         Unicode 5.0.0.
35117         * lib/unictype/blocks.h: Likewise.
35118         * lib/unictype/categ_C.h: Likewise.
35119         * lib/unictype/categ_Cc.h: Likewise.
35120         * lib/unictype/categ_Cf.h: Likewise.
35121         * lib/unictype/categ_Cn.h: Likewise.
35122         * lib/unictype/categ_Co.h: Likewise.
35123         * lib/unictype/categ_Cs.h: Likewise.
35124         * lib/unictype/categ_L.h: Likewise.
35125         * lib/unictype/categ_Ll.h: Likewise.
35126         * lib/unictype/categ_Lm.h: Likewise.
35127         * lib/unictype/categ_Lo.h: Likewise.
35128         * lib/unictype/categ_Lt.h: Likewise.
35129         * lib/unictype/categ_Lu.h: Likewise.
35130         * lib/unictype/categ_M.h: Likewise.
35131         * lib/unictype/categ_Mc.h: Likewise.
35132         * lib/unictype/categ_Me.h: Likewise.
35133         * lib/unictype/categ_Mn.h: Likewise.
35134         * lib/unictype/categ_N.h: Likewise.
35135         * lib/unictype/categ_Nd.h: Likewise.
35136         * lib/unictype/categ_Nl.h: Likewise.
35137         * lib/unictype/categ_No.h: Likewise.
35138         * lib/unictype/categ_P.h: Likewise.
35139         * lib/unictype/categ_Pc.h: Likewise.
35140         * lib/unictype/categ_Pd.h: Likewise.
35141         * lib/unictype/categ_Pe.h: Likewise.
35142         * lib/unictype/categ_Pf.h: Likewise.
35143         * lib/unictype/categ_Pi.h: Likewise.
35144         * lib/unictype/categ_Po.h: Likewise.
35145         * lib/unictype/categ_Ps.h: Likewise.
35146         * lib/unictype/categ_S.h: Likewise.
35147         * lib/unictype/categ_Sc.h: Likewise.
35148         * lib/unictype/categ_Sk.h: Likewise.
35149         * lib/unictype/categ_Sm.h: Likewise.
35150         * lib/unictype/categ_So.h: Likewise.
35151         * lib/unictype/categ_Z.h: Likewise.
35152         * lib/unictype/categ_Zl.h: Likewise.
35153         * lib/unictype/categ_Zp.h: Likewise.
35154         * lib/unictype/categ_Zs.h: Likewise.
35155         * lib/unictype/categ_of.h: Likewise.
35156         * lib/unictype/combining.h: Likewise.
35157         * lib/unictype/ctype_alnum.h: Likewise.
35158         * lib/unictype/ctype_alpha.h: Likewise.
35159         * lib/unictype/ctype_blank.h: Likewise.
35160         * lib/unictype/ctype_cntrl.h: Likewise.
35161         * lib/unictype/ctype_digit.h: Likewise.
35162         * lib/unictype/ctype_graph.h: Likewise.
35163         * lib/unictype/ctype_lower.h: Likewise.
35164         * lib/unictype/ctype_print.h: Likewise.
35165         * lib/unictype/ctype_punct.h: Likewise.
35166         * lib/unictype/ctype_space.h: Likewise.
35167         * lib/unictype/ctype_upper.h: Likewise.
35168         * lib/unictype/ctype_xdigit.h: Likewise.
35169         * lib/unictype/decdigit.h: Likewise.
35170         * lib/unictype/digit.h: Likewise.
35171         * lib/unictype/mirror.h: Likewise.
35172         * lib/unictype/numeric.h: Likewise.
35173         * lib/unictype/pr_alphabetic.h: Likewise.
35174         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
35175         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
35176         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
35177         * lib/unictype/pr_bidi_block_separator.h: Likewise.
35178         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
35179         * lib/unictype/pr_bidi_common_separator.h: Likewise.
35180         * lib/unictype/pr_bidi_control.h: Likewise.
35181         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
35182         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
35183         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
35184         * lib/unictype/pr_bidi_european_digit.h: Likewise.
35185         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
35186         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
35187         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
35188         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
35189         * lib/unictype/pr_bidi_pdf.h: Likewise.
35190         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
35191         * lib/unictype/pr_bidi_whitespace.h: Likewise.
35192         * lib/unictype/pr_combining.h: Likewise.
35193         * lib/unictype/pr_composite.h: Likewise.
35194         * lib/unictype/pr_currency_symbol.h: Likewise.
35195         * lib/unictype/pr_dash.h: Likewise.
35196         * lib/unictype/pr_decimal_digit.h: Likewise.
35197         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
35198         * lib/unictype/pr_deprecated.h: Likewise.
35199         * lib/unictype/pr_diacritic.h: Likewise.
35200         * lib/unictype/pr_extender.h: Likewise.
35201         * lib/unictype/pr_format_control.h: Likewise.
35202         * lib/unictype/pr_grapheme_base.h: Likewise.
35203         * lib/unictype/pr_grapheme_extend.h: Likewise.
35204         * lib/unictype/pr_grapheme_link.h: Likewise.
35205         * lib/unictype/pr_hex_digit.h: Likewise.
35206         * lib/unictype/pr_hyphen.h: Likewise.
35207         * lib/unictype/pr_id_continue.h: Likewise.
35208         * lib/unictype/pr_id_start.h: Likewise.
35209         * lib/unictype/pr_ideographic.h: Likewise.
35210         * lib/unictype/pr_ids_binary_operator.h: Likewise.
35211         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
35212         * lib/unictype/pr_ignorable_control.h: Likewise.
35213         * lib/unictype/pr_iso_control.h: Likewise.
35214         * lib/unictype/pr_join_control.h: Likewise.
35215         * lib/unictype/pr_left_of_pair.h: Likewise.
35216         * lib/unictype/pr_line_separator.h: Likewise.
35217         * lib/unictype/pr_logical_order_exception.h: Likewise.
35218         * lib/unictype/pr_lowercase.h: Likewise.
35219         * lib/unictype/pr_math.h: Likewise.
35220         * lib/unictype/pr_non_break.h: Likewise.
35221         * lib/unictype/pr_not_a_character.h: Likewise.
35222         * lib/unictype/pr_numeric.h: Likewise.
35223         * lib/unictype/pr_other_alphabetic.h: Likewise.
35224         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
35225         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
35226         * lib/unictype/pr_other_id_continue.h: Likewise.
35227         * lib/unictype/pr_other_id_start.h: Likewise.
35228         * lib/unictype/pr_other_lowercase.h: Likewise.
35229         * lib/unictype/pr_other_math.h: Likewise.
35230         * lib/unictype/pr_other_uppercase.h: Likewise.
35231         * lib/unictype/pr_paired_punctuation.h: Likewise.
35232         * lib/unictype/pr_paragraph_separator.h: Likewise.
35233         * lib/unictype/pr_pattern_syntax.h: Likewise.
35234         * lib/unictype/pr_pattern_white_space.h: Likewise.
35235         * lib/unictype/pr_private_use.h: Likewise.
35236         * lib/unictype/pr_punctuation.h: Likewise.
35237         * lib/unictype/pr_quotation_mark.h: Likewise.
35238         * lib/unictype/pr_radical.h: Likewise.
35239         * lib/unictype/pr_sentence_terminal.h: Likewise.
35240         * lib/unictype/pr_soft_dotted.h: Likewise.
35241         * lib/unictype/pr_space.h: Likewise.
35242         * lib/unictype/pr_terminal_punctuation.h: Likewise.
35243         * lib/unictype/pr_titlecase.h: Likewise.
35244         * lib/unictype/pr_unassigned_code_value.h: Likewise.
35245         * lib/unictype/pr_unified_ideograph.h: Likewise.
35246         * lib/unictype/pr_uppercase.h: Likewise.
35247         * lib/unictype/pr_variation_selector.h: Likewise.
35248         * lib/unictype/pr_white_space.h: Likewise.
35249         * lib/unictype/pr_xid_continue.h: Likewise.
35250         * lib/unictype/pr_xid_start.h: Likewise.
35251         * lib/unictype/pr_zero_width.h: Likewise.
35252         * lib/unictype/scripts.h: Likewise.
35253         * lib/unictype/scripts_byname.gperf: Likewise.
35254         * lib/unictype/sy_c_ident.h: Likewise.
35255         * lib/unictype/sy_c_whitespace.h: Likewise.
35256         * lib/unictype/sy_java_ident.h: Likewise.
35257         * lib/unictype/sy_java_whitespace.h: Likewise.
35258
35259         * lib/unictype/Makefile: New file.
35260         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
35261         glibc.
35262         * lib/unictype/3level.h: New file, copied from glibc.
35263         * lib/unictype/3levelbit.h: New file.
35264
35265 2007-11-11  Bruno Haible  <bruno@clisp.org>
35266
35267         * modules/gperf: New file.
35268         * modules/iconv_open (Depends-on): Add it.
35269         (Makefile.am): Remove the GPERF definition.
35270
35271 2007-11-11  Bruno Haible  <bruno@clisp.org>
35272
35273         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
35274         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
35275
35276 2007-11-11  Bruno Haible  <bruno@clisp.org>
35277
35278         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
35279         (usage): Remove function.
35280
35281 2007-11-11  Bruno Haible  <bruno@clisp.org>
35282
35283         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
35284         gl_FUNC_CEILF_LIBS.
35285         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
35286         gl_FUNC_CEIL_LIBS.
35287         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
35288         gl_FUNC_CEILL_LIBS.
35289         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
35290         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
35291         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
35292
35293 2007-11-11  Bruno Haible  <bruno@clisp.org>
35294
35295         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
35296         roundf were declared but do not exist on functions.
35297         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
35298         roundl were declared but do not exist on functions.
35299         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
35300         HAVE_FLOORL_AND_CEILL, respectively.
35301         Needed for Sun C on Solaris 10.
35302
35303 2007-11-11  Bruno Haible  <bruno@clisp.org>
35304
35305         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
35306         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
35307         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
35308         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
35309         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
35310         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
35311         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
35312         HAVE_DECL_ROUNDF.
35313         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
35314         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
35315         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
35316         of HAVE_DECL_ROUND*.
35317         * modules/math (Makefile.am): Update.
35318
35319 2007-11-10  Bruno Haible  <bruno@clisp.org>
35320
35321         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
35322         ptrdiff_t as m4/intl.m4.
35323
35324 2007-11-10  Jim Meyering  <meyering@redhat.com>
35325
35326         Avoid link failure for the argmatch test.
35327         * tests/test-argmatch.c (usage): Define function to avoid a link
35328         failure: argmatch_die requires a usage function.
35329
35330 2007-11-09  Bruno Haible  <bruno@clisp.org>
35331
35332         * doc/functions/snprintf.texi: Mention BeOS deficiency.
35333         * doc/functions/vsnprintf.texi: Likewise.
35334         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
35335         with a size argument < 2.
35336
35337 2007-11-09  Bruno Haible  <bruno@clisp.org>
35338
35339         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
35340         buffer. Fixes an inefficiency introduced on 2007-11-03.
35341
35342 2007-11-09  Bruno Haible  <bruno@clisp.org>
35343
35344         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
35345         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
35346
35347 2007-11-08  Jim Meyering  <meyering@redhat.com>
35348
35349         Change cache variable name prefix "jm_" to "gl_" everywhere.
35350         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
35351         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
35352         * m4/uptime.m4: s/gl_/jm_/
35353
35354 2007-11-07  Bruno Haible  <bruno@clisp.org>
35355
35356         Update to GNU gettext 0.17.
35357         * m4/intl.m4: Update to GNU gettext 0.17.
35358         * m4/po.m4: Likewise.
35359         * modules/gettext (Files): Remove m4/ulonglong.m4.
35360         (configure.ac): Require gettext infrastructure from version 0.17.
35361
35362 2007-11-06  Bruno Haible  <bruno@clisp.org>
35363
35364         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
35365         symbolic values are not defined in a public header.
35366         * lib/freadable.c (freadable) [QNX]: Likewise.
35367         * lib/freadahead.c (freadahead) [QNX]: Likewise.
35368         * lib/freading.c (freading) [QNX]: Likewise.
35369         * lib/fseterr.c (fseterr) [QNX]: Likewise.
35370         * lib/fwritable.c (fwritable) [QNX]: Likewise.
35371         * lib/fwriting.c (fwriting) [QNX]: Likewise.
35372         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
35373         Reported by Alain Magloire.
35374
35375         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
35376
35377 2007-11-05  Bruno Haible  <bruno@clisp.org>
35378
35379         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
35380         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
35381         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
35382         Reported by Eric Blake.
35383
35384 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35385             Bruno Haible  <bruno@clisp.org>
35386
35387         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
35388         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
35389         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
35390         (malloc): Undefine also before including <stdlib.h>.
35391         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
35392         Needed on OSF/1 4.0.
35393
35394 2007-11-05  Jim Meyering  <meyering@redhat.com>
35395
35396         git-version-gen: sync from coreutils.
35397         * build-aux/git-version-gen: Add comments.
35398         Change the first '-' to '.' in the snapshot version string,
35399         e.g., 6.9-377-08144 -> 6.9.377-08144
35400         Remove first parameter.
35401         Don't declare a version "-dirty" merely because a time
35402         stamp has changed.
35403
35404 2007-11-04  Bruno Haible  <bruno@clisp.org>
35405
35406         * lib/lock.h: Protect all macro definitions containing an 'if'
35407         statement through a "do { ... } while (0)".
35408         * lib/tls.h: Likewise.
35409
35410 2007-11-04  Bruno Haible  <bruno@clisp.org>
35411
35412         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
35413
35414 2007-11-04  Bruno Haible  <bruno@clisp.org>
35415
35416         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
35417         * modules/fprintf-posix (Depends-on): Add nocrash.
35418         * modules/snprintf-posix (Depends-on): Likewise.
35419         * modules/sprintf-posix (Depends-on): Likewise.
35420         * modules/vasnprintf-posix (Depends-on): Likewise.
35421         * modules/vasprintf-posix (Depends-on): Likewise.
35422         * modules/vfprintf-posix (Depends-on): Likewise.
35423         * modules/vsnprintf-posix (Depends-on): Likewise.
35424         * modules/vsprintf-posix (Depends-on): Likewise.
35425         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
35426         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
35427         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
35428         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
35429         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
35430         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
35431         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
35432
35433 2007-11-04  Bruno Haible  <bruno@clisp.org>
35434
35435         * modules/nocrash: New file.
35436         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
35437         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
35438
35439 2007-11-04  Bruno Haible  <bruno@clisp.org>
35440
35441         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
35442         precision handling.
35443         * tests/test-vasprintf-posix.c (test_function): Likewise.
35444         * tests/test-snprintf-posix.h (test_function): Likewise.
35445         * tests/test-sprintf-posix.h (test_function): Likewise.
35446
35447         Fix *printf behaviour for large precisions on mingw and BeOS.
35448         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
35449         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
35450         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
35451         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
35452         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35453         gl_PRINTF_PRECISION and test its result. Invoke
35454         gl_PREREQ_VASNPRINTF_PRECISION.
35455         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35456         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35457         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35458         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35459         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35460         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35461         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35462         * doc/functions/fprintf.texi: Update.
35463         * doc/functions/printf.texi: Update.
35464         * doc/functions/snprintf.texi: Update.
35465         * doc/functions/sprintf.texi: Update.
35466         * doc/functions/vfprintf.texi: Update.
35467         * doc/functions/vprintf.texi: Update.
35468         * doc/functions/vsnprintf.texi: Update.
35469         * doc/functions/vsprintf.texi: Update.
35470
35471 2007-11-04  Bruno Haible  <bruno@clisp.org>
35472
35473         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
35474
35475 2007-11-04  Bruno Haible  <bruno@clisp.org>
35476
35477         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
35478         Reported by Sylvain Beucler <beuc@gnu.org>.
35479
35480 2007-11-03  Bruno Haible  <bruno@clisp.org>
35481
35482         * tests/test-fprintf-posix2.sh: New file.
35483         * tests/test-fprintf-posix2.c: New file.
35484         * modules/fprintf-posix-tests (Files): Add them.
35485         (TESTS): Add test-fprintf-posix2.sh.
35486         (configure.ac): Check for getrlimit and setrlimit.
35487         (check_PROGRAMS): Add test-fprintf-posix2.
35488
35489         * tests/test-printf-posix2.sh: New file.
35490         * tests/test-printf-posix2.c: New file.
35491         * modules/printf-posix-tests (Files): Add them.
35492         (TESTS): Add test-printf-posix2.sh.
35493         (configure.ac): Check for getrlimit and setrlimit.
35494         (check_PROGRAMS): Add test-printf-posix2.
35495
35496         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
35497         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
35498         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
35499         (decode_double): New function, copied from decode_long_double.
35500         (scale10_round_decimal_decoded): New function, extracted from
35501         scale10_round_decimal_long_double.
35502         (scale10_round_decimal_long_double): Use it.
35503         (scale10_round_decimal_double): New function.
35504         (floorlog10): New function.
35505         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
35506         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
35507         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
35508         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
35509         gl_PRINTF_ENOMEM and test its result. Invoke
35510         gl_PREREQ_VASNPRINTF_ENOMEM.
35511         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
35512         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
35513         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
35514         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
35515         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
35516         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
35517         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
35518         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
35519         * modules/snprintf-posix (Depends-on): Likewise.
35520         * modules/sprintf-posix (Depends-on): Likewise.
35521         * modules/vasnprintf-posix (Depends-on): Likewise.
35522         * modules/vasprintf-posix (Depends-on): Likewise.
35523         * modules/vfprintf-posix (Depends-on): Likewise.
35524         * modules/vsnprintf-posix (Depends-on): Likewise.
35525         * modules/vsprintf-posix (Depends-on): Likewise.
35526         * doc/functions/fprintf.texi: Update.
35527         * doc/functions/printf.texi: Update.
35528         * doc/functions/snprintf.texi: Update.
35529         * doc/functions/sprintf.texi: Update.
35530         * doc/functions/vfprintf.texi: Update.
35531         * doc/functions/vprintf.texi: Update.
35532         * doc/functions/vsnprintf.texi: Update.
35533         * doc/functions/vsprintf.texi: Update.
35534
35535 2007-11-03  Bruno Haible  <bruno@clisp.org>
35536
35537         * modules/frexp-nolibm-tests: New file.
35538
35539         * modules/frexp-nolibm: New file.
35540         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
35541
35542 2007-11-03  Bruno Haible  <bruno@clisp.org>
35543
35544         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
35545         value is C99 compliant.
35546         Needed for OSF/1 5.1.
35547
35548 2007-11-03  Bruno Haible  <bruno@clisp.org>
35549
35550         Fix out-of-memory handling of vasnprintf.
35551         * lib/printf-parse.c: Include <errno.h>.
35552         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
35553         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
35554         is already set.
35555
35556 2007-11-02  Eric Blake  <ebb9@byu.net>
35557
35558         Fix tests on cygwin.
35559         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
35560
35561 2007-11-01  Bruno Haible  <bruno@clisp.org>
35562
35563         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
35564         warning.
35565         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
35566         needed for POSIX compatibility.
35567
35568 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
35569
35570         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
35571         for compatibility with GNU.
35572
35573 2007-11-01  Bruno Haible  <bruno@clisp.org>
35574
35575         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
35576         (putenv): Renamed from rpl_putenv. Change argument type from
35577         'const char *' to 'char *'.
35578         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
35579         of defining putenv in config.h, just set REPLACE_PUTENV.
35580         * modules/putenv (Depends-on): Add stdlib.
35581         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
35582         (Include): Use <stdlib.h>.
35583         * lib/stdlib.in.h (putenv): New declaration.
35584         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
35585         REPLACE_PUTENV.
35586         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
35587         REPLACE_PUTENV.
35588         Needed for MacOS X 10.5.0.
35589         Reported by Peter O'Gorman <peter@pogma.com>.
35590
35591 2007-11-01  Jim Meyering  <meyering@redhat.com>
35592
35593         Treat an empty date string exactly like "0".
35594         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
35595         if the remaining date string (to be parsed) is empty, use "0".
35596         Reported by Mischa Molhoek and discussed in this thread:
35597         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
35598
35599 2007-10-31  Bruno Haible  <bruno@clisp.org>
35600
35601         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
35602         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
35603         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
35604         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
35605         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
35606         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
35607
35608 2007-10-31  Bruno Haible  <bruno@clisp.org>
35609
35610         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
35611         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
35612         (AC_TYPE_LONG_LONG_INT): Use it.
35613         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
35614         it as well.
35615         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
35616         to m4/longlong.m4.
35617         * modules/stdint (Files): Remove m4/ulonglong.m4.
35618         * modules/strtoull (Files): Use m4/longlong.m4 instead of
35619         m4/ulonglong.m4.
35620         * modules/strtoumax (Files): Likewise.
35621
35622 2007-10-30  Bruno Haible  <bruno@clisp.org>
35623
35624         * modules/xvasprintf-posix: New file.
35625         Suggested by Eric Blake.
35626
35627 2007-10-30  Bruno Haible  <bruno@clisp.org>
35628
35629         * modules/xprintf-posix-tests: New file.
35630         * tests/test-xprintf-posix.sh: New file.
35631         * tests/test-xprintf-posix.c: New file.
35632         * tests/test-xfprintf-posix.c: New file.
35633
35634         * modules/xprintf-posix: New file.
35635
35636 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35637
35638         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
35639         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
35640         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
35641
35642 2007-10-29  Bruno Haible  <bruno@clisp.org>
35643
35644         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
35645         contain the special marker '_cv_'.
35646         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
35647         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
35648         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
35649         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
35650         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
35651         Reported by Ralf Wildenhues.
35652
35653 2007-10-29  Bruno Haible  <bruno@clisp.org>
35654
35655         * gnulib-tool (func_import): When --lgpl is not specified, set
35656         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
35657         GPLv3.
35658         Reported by Simon Josefsson.
35659
35660 2007-10-28  Bruno Haible  <bruno@clisp.org>
35661
35662         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
35663         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
35664         HAVE_DECL_ISFINITE.
35665         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
35666         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
35667         HAVE_DECL_ISFINITE.
35668
35669 2007-10-28  Bruno Haible  <bruno@clisp.org>
35670
35671         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
35672         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
35673
35674 2007-10-28  Bruno Haible  <bruno@clisp.org>
35675
35676         Fix link errors with Sun C 5.0 on Solaris 10.
35677         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
35678         function is declared but not present in the compiler's libm.
35679         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
35680         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
35681         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
35682         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
35683         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
35684         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
35685         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
35686         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
35687         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
35688         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
35689         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
35690         HAVE_DECL_FLOORL.
35691
35692 2007-10-28  Bruno Haible  <bruno@clisp.org>
35693
35694         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
35695         gl_FUNC_FLOORL. Cache the result.
35696         (gl_FUNC_FLOORL): Use it.
35697         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
35698         gl_FUNC_CEILL. Cache the result.
35699         (gl_FUNC_CEILL): Use it.
35700
35701         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
35702         gl_FUNC_FLOOR. Cache the result.
35703         (gl_FUNC_FLOOR): Use it.
35704         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
35705         gl_FUNC_CEIL. Cache the result.
35706         (gl_FUNC_CEIL): Use it.
35707
35708         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
35709         gl_FUNC_FLOORF. Cache the result.
35710         (gl_FUNC_FLOORF): Use it.
35711         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
35712         gl_FUNC_CEILF. Cache the result.
35713         (gl_FUNC_CEILF): Use it.
35714
35715 2007-10-28  Bruno Haible  <bruno@clisp.org>
35716
35717         * gnulib-tool: Allow specifying the LGPL version number through
35718         --lgpl=2 or --lgpl=3.
35719         (func_usage): Document --lgpl with argument.
35720         Handle --lgpl=... arguments.
35721         (func_import): Recognize also gl_LGPL calls with an argument. When
35722         --lgpl=2 is used and the module's license is just LGPL, report an
35723         error. Set sed_transform_lib_file according to the lgpl variable. In
35724         the generated files, use --lgpl or gl_LGPL invocations with argument,
35725         if necessary.
35726         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
35727         an LGPv2+ license.
35728         * doc/gnulib-tool.texi (Modified imports): Update explanation of
35729         gl_LGPL macro.
35730
35731 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35732             Bruno Haible  <bruno@clisp.org>
35733
35734         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
35735         (u16_uctomb_aux): Likewise.
35736         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
35737         !HAVE_INLINE.
35738         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
35739
35740 2007-10-28  Bruno Haible  <bruno@clisp.org>
35741
35742         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
35743         Invoke AM_GETTEXT_OPTION if it exists.
35744         * modules/vasprintf: Likewise.
35745         * modules/verror: Likewise.
35746         * modules/xprintf: Likewise.
35747         * modules/xvasprintf: Likewise.
35748
35749 2007-10-27  Ben Pfaff  <blp@gnu.org>
35750
35751         * lib/math.in.h: Define isfinite macro and prototypes for
35752         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
35753         implementations.
35754         * m4/math_h.m4: New substitutions for isfinite module.
35755         * lib/isfinite.c: New file.
35756         * m4/isfinite.m4: New file.
35757         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
35758         * modules/isfinite: New file.
35759         * modules/isfinite-tests: New file.
35760         * tests/tests-isfinite.c: New file.
35761         * doc/functions/isfinite.texi: Mention isfinite module.
35762         * MODULES.html.sh: Mention new module.
35763
35764 2007-10-27  Ben Pfaff  <blp@gnu.org>
35765
35766         Ralf Wildenhues reported that Tru64 4.0D declares the round
35767         functions but does not have definitions.
35768         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
35769         cannot be found in any library, set the output variable to
35770         "missing" instead of "".
35771         * m4/round.m4: Also use our substitute if we cannot find round in
35772         any library, even if it is declared.
35773         * m4/roundf.m4: Likewise for roundf.
35774         * m4/roundl.m4: Likewise for roundl.
35775         * lib/math.in.h: Undefine roundf, round, roundl before defining
35776         their replacements, to allow for hypothetical systems where these
35777         may be defined as macros but not available in libraries.
35778
35779 2007-10-27  Bruno Haible  <bruno@clisp.org>
35780
35781         * doc/gnulib.texi: Invoke @firstparagraphindent.
35782         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
35783         changes in gnulib.
35784         (Source changes): New section.
35785
35786 2007-10-26  Bruno Haible  <bruno@clisp.org>
35787
35788         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
35789         borrowed from autoconf.
35790
35791 2007-10-26  Bruno Haible  <bruno@clisp.org>
35792
35793         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
35794         strerror returned the empty string. Needed on HP-UX 11.00.
35795
35796 2007-10-24  Micah Cowan  <micah@cowan.name>
35797
35798         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
35799         * build-aux/bootstrap: Remove support for now-unnecessary option,
35800         --cvs-user, and envvars CVS_USER, CVS_RSH.
35801
35802 2007-10-24  Jim Meyering  <meyering@redhat.com>
35803
35804         Avoid diagnostics from sha1sum when there is no cached checksum.
35805         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
35806         if the po.s1 file hasn't been created yet.
35807
35808         * build-aux/bootstrap: Sync from coreutils:
35809         2007-10-24  Jim Meyering  <meyering@redhat.com>
35810         Get gnulib from the git repository, not from an obsolete cvs one.
35811         * build-aux/bootstrap: Suggestion from Micah Cowan.
35812         2007-10-04  Jim Meyering  <jim@meyering.net>
35813         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
35814         (update_po_files): Work also when there are no .po files in po/.
35815
35816 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
35817
35818         * README: Append ".git" to git and cg examples.
35819         Problem reported by Benoit Sigoure.
35820
35821 2007-10-23  Micah Cowan  <micah@cowan.name>
35822
35823         * users.txt: Add wget.
35824
35825 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35826
35827         Fix linking of some unistdio tests on FreeBSD.
35828         * modules/unistdio/u16-vsnprintf-tests
35829         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
35830         * modules/unistdio/u16-vsprintf-tests
35831         (test_u16_vsnprintf1_LDADD): Likewise.
35832         * modules/unistdio/u32-vsnprintf-tests
35833         (test_u32_vsnprintf1_LDADD): Likewise.
35834         * modules/unistdio/u32-vsprintf-tests
35835         (test_u32_vsprintf1_LDADD): Likewise.
35836         * modules/unistdio/u8-vsnprintf-tests
35837         (test_u8_vsnprintf1_LDADD): Likewise.
35838         * modules/unistdio/u8-vsprintf-tests
35839         (test_u8_vsprintf1_LDADD): Likewise.
35840         * modules/unistdio/ulc-vsnprintf-tests
35841         (test_ulc_vsnprintf1_LDADD): Likewise.
35842         * modules/unistdio/ulc-vsprintf-tests
35843         (test_ulc_vsprintf1_LDADD): Likewise.
35844
35845         Fix linking of some uniconv tests on FreeBSD.
35846         * modules/uniconv/u16-conv-from-enc-tests
35847         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
35848         * modules/uniconv/u16-conv-to-enc-tests
35849         (test_u16_conv_to_enc_LDADD): Likewise.
35850         * modules/uniconv/u16-strconv-from-enc-tests
35851         (test_u16_strconv_from_enc_LDADD): Likewise.
35852         * modules/uniconv/u16-strconv-to-enc-tests
35853         (test_u16_strconv_to_enc_LDADD): Likewise.
35854         * modules/uniconv/u32-conv-from-enc-tests
35855         (test_u32_conv_from_enc_LDADD): Likewise.
35856         * modules/uniconv/u32-conv-to-enc-tests
35857         (test_u32_conv_to_enc_LDADD): Likewise.
35858         * modules/uniconv/u32-strconv-from-enc-tests
35859         (test_u32_strconv_from_enc_LDADD): Likewise.
35860         * modules/uniconv/u32-strconv-to-enc-tests
35861         (test_u32_strconv_to_enc_LDADD): Likewise.
35862         * modules/uniconv/u8-conv-from-enc-tests
35863         (test_u8_conv_from_enc_LDADD): Likewise.
35864         * modules/uniconv/u8-conv-to-enc-tests
35865         (test_u8_conv_to_enc_LDADD): Likewise.
35866         * modules/uniconv/u8-strconv-from-enc-tests
35867         (test_u8_strconv_from_enc_LDADD): Likewise.
35868         * modules/uniconv/u8-strconv-to-enc-tests
35869         (test_u8_strconv_to_enc_LDADD): Likewise.
35870
35871 2007-10-22  Bruno Haible  <bruno@clisp.org>
35872
35873         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
35874         size.
35875
35876 2007-10-22  Eric Blake  <ebb9@byu.net>
35877
35878         Tweak x*printf documentation.
35879         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
35880         variable name and comments.
35881         Suggested by Bruno Haible.
35882
35883 2007-10-22  Bruno Haible  <bruno@clisp.org>
35884
35885         * lib/acl.c (copy_acl): Fix file name in comment.
35886
35887 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
35888
35889         Fix Tru64 problem with stdbool.h.
35890         * lib/stdbool.in.h (false, true):
35891         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
35892         Don't declare as an enum in this situation; it runs afoul of Tru64.
35893         Problem reported by Steven M. Schweda in
35894         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
35895
35896 2007-10-22  Eric Blake  <ebb9@byu.net>
35897
35898         Also wrap vf?printf.
35899         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
35900         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
35901         (xvprintf, xvfprintf): New functions.
35902
35903 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35904
35905         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
35906         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
35907
35908         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
35909         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
35910
35911 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
35912
35913         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
35914         by Bruno Haible.
35915
35916 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35917
35918         * lib/getloadavg.c
35919         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
35920         Undef `sys' after including sys/table.h, for Tru64 4.0D.
35921
35922         * tests/test-i-ring.c: Work for C89.
35923
35924 2007-10-22  Bruno Haible  <bruno@clisp.org>
35925
35926         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
35927         -1u, in preprocessor expression, so that we don't test for the bug
35928         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
35929         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
35930
35931 2007-10-22  Eric Blake  <ebb9@byu.net>
35932
35933         * tests/test-yesno.sh: Silence stderr during test.
35934
35935 2007-10-22  Simon Josefsson  <simon@josefsson.org>
35936
35937         * modules/crypto/gc-camellia: New file.
35938
35939         * m4/gc-camellia.m4: New file.
35940
35941         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
35942
35943         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
35944
35945 2007-10-22  Simon Josefsson  <simon@josefsson.org>
35946
35947         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
35948         --help to stdout.  Reported by sms@antinode.org (Steven
35949         M. Schweda).
35950
35951 2007-10-22  Simon Josefsson  <simon@josefsson.org>
35952
35953         * users.txt: Fix link to libksba.
35954
35955 2007-10-21  Ben Pfaff  <blp@gnu.org>
35956
35957         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
35958         round.c roundf implementation that depends on floorf and ceilf to
35959         be tested unconditionally.
35960
35961 2007-10-21  Ben Pfaff  <blp@gnu.org>
35962
35963         * m4/check-libm-func.m4: Removed.
35964         * m4/check-math-lib.m4: New file.
35965         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
35966         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
35967         definition and lack of AC_LIBOBJ([roundf]).
35968         * m4/roundl.m4: Ditto, and similarly for roundl.
35969         * modules/round: Reference new m4 file.
35970         * modules/roundf: Ditto.
35971         * modules/roundl: Ditto.
35972         * tests/test-round2.c (main): Use ROUND instead of round.
35973         Bug report from Bruno Haible.
35974
35975 2007-10-21  Bruno Haible  <bruno@clisp.org>
35976
35977         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
35978         context.
35979
35980 2007-10-21  Bruno Haible  <bruno@clisp.org>
35981
35982         * tests/test-wcwidth.c (main): Allow negative result for some control
35983         characters.
35984
35985         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
35986         Needed on OSF/1 5.1.
35987
35988 2007-10-21  Bruno Haible  <bruno@clisp.org>
35989
35990         * tests/test-floorf1.c: Include isnanf.h.
35991         (main): Use isnanf() instead of isnan().
35992         * tests/test-ceilf1.c: Include isnanf.h.
35993         (main): Use isnanf() instead of isnan().
35994         * tests/test-truncf1.c: Include isnanf.h.
35995         (main): Use isnanf() instead of isnan().
35996         * tests/test-roundf1.c: Include isnanf.h.
35997         (main): Use isnanf() instead of isnan().
35998
35999 2007-10-21  Eric Blake  <ebb9@byu.net>
36000
36001         * users.txt: Update URL for m4.
36002
36003 2007-10-21  Bruno Haible  <bruno@clisp.org>
36004
36005         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
36006
36007 2007-10-21  Bruno Haible  <bruno@clisp.org>
36008
36009         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
36010         Git's management files if the CVS files are not present.
36011
36012 2007-10-20  Bruno Haible  <bruno@clisp.org>
36013
36014         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
36015         gcc-3.4.x.
36016
36017 2007-10-20  Ben Pfaff  <blp@gnu.org>
36018
36019         * lib/math.in.h: Declare round, roundf, roundl if we are providing
36020         implementations.
36021         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
36022         * lib/round.c: New file.
36023         * lib/roundf.c: New file.
36024         * lib/roundl.c: New file.
36025         * m4/round.m4: New file.
36026         * m4/roundf.m4: New file.
36027         * m4/roundl.m4: New file.
36028         * m4/check-libm-func-m4: New file.
36029         * modules/math: Replace round, roundf, roundl related @VARS@ in
36030         math.in.h.
36031         * modules/round: New file.
36032         * modules/round-tests: New file.
36033         * modules/roundf: New file.
36034         * modules/roundf-tests: New file.
36035         * modules/roundl: New file.
36036         * modules/roundl-tests: New file.
36037         * tests/test-round1.c: New file.
36038         * tests/test-round2.c: New file.
36039         * tests/test-roundf1.c: New file.
36040         * tests/test-roundf2.c: New file.
36041         * tests/test-roundl.c: New file.
36042         * doc/functions/round.texi: Mention round module.
36043         * doc/functions/roundf.texi: Mention roundf module.
36044         * doc/functions/roundl.texi: Mention roundl module.
36045         * MODULES.html.sh: Mention new modules.
36046         Thanks to Bruno Haible for suggestions.
36047
36048 2007-10-20  Jim Meyering  <meyering@redhat.com>
36049
36050         * lib/xprintf.c: Include <config.h> unconditionally.
36051
36052         Change xprintf's license to GPL.
36053         * modules/xprintf (License): s/LGPL/GPL/, since this module
36054         depends on modules (exit and exitfail) which are GPL.
36055         Suggestion from Bruno Haible.
36056
36057         xprintf fixes.
36058         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
36059         Use a clearer diagnostic.
36060         Patch from Bruno Haible.
36061
36062 2007-10-20  Bruno Haible  <bruno@clisp.org>
36063
36064         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
36065         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
36066         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36067
36068 2007-10-20  Bruno Haible  <bruno@clisp.org>
36069
36070         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
36071         precision in the comparison result > x - 1 or similar.
36072         * tests/test-ceilf2.c (correct_result_p): Likewise.
36073         * tests/test-truncf2.c (correct_result_p): Likewise.
36074         * tests/test-trunc2.c (correct_result_p): Likewise.
36075         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
36076
36077 2007-10-20  Bruno Haible  <bruno@clisp.org>
36078
36079         * modules/ceil: New file.
36080         * m4/ceil.m4: New file.
36081         * doc/functions/ceil.texi: Mention the 'ceil' module.
36082
36083 2007-10-20  Bruno Haible  <bruno@clisp.org>
36084
36085         * modules/floor: New file.
36086         * m4/floor.m4: New file.
36087         * doc/functions/floor.texi: Mention the 'floor' module.
36088
36089 2007-10-20  Bruno Haible  <bruno@clisp.org>
36090
36091         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
36092         of %a.
36093         * modules/floorf-tests (Depends-on): Likewise.
36094         * modules/truncf-tests (Depends-on): Likewise.
36095         * modules/trunc-tests (Depends-on): Likewise.
36096         Reported by Ben Pfaff.
36097
36098 2007-10-19  Jim Meyering  <meyering@redhat.com>
36099
36100         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
36101         Don't bother testing specific errno values.  Just test ferror.
36102
36103         New module: xprintf
36104         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
36105
36106 2007-10-19  Bruno Haible  <bruno@clisp.org>
36107
36108         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
36109         syntax.
36110         * modules/javaexec (Makefile.am): Likewise.
36111         * modules/relocatable-prog (Makefile.am): Likewise.
36112         Suggested by Jim Meyering.
36113
36114 2007-10-18  Bruno Haible  <bruno@clisp.org>
36115
36116         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
36117         Reported by Jim Meyering.
36118
36119 2007-10-18  Eric Blake  <ebb9@byu.net>
36120
36121         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
36122
36123 2007-10-18  Bruno Haible  <bruno@clisp.org>
36124
36125         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
36126         the format string into writable memory. Needed in Fortify conditions.
36127
36128 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
36129             Bruno Haible  <bruno@clisp.org>
36130
36131         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
36132         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
36133         * modules/trim (Depends-on): Add mbchar.
36134         (configure.ac): Add gl_FUNC_MBRTOWC.
36135         (Makefile.am): Augment lib_SOURCES.
36136
36137 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
36138
36139         Modify glob.c to use fstatat and dirfd, to simplify it.
36140         Suggested by Eric Blake.
36141         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
36142         Don't include <stdbool.h>; not used.
36143         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
36144         (link_exists_p): Simplify implementation, since we can now assume
36145         dirfd and fstatat.
36146         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
36147
36148 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36149
36150         * gnulib-tool (func_get_dependencies): Fix sed script to
36151         match only tests.
36152
36153 2007-10-17  Bruno Haible  <bruno@clisp.org>
36154
36155         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
36156         allow locale names without encoding suffix.
36157         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
36158         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
36159
36160 2007-10-16  Bruno Haible  <bruno@clisp.org>
36161
36162         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
36163         * lib/getgroups.c (getgroups): Likewise.
36164         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
36165
36166 2007-10-16  Bruno Haible  <bruno@clisp.org>
36167
36168         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
36169         * modules/malloc-posix (License): Likewise.
36170         * modules/realloc-posix (License): Likewise.
36171         * modules/calloc-posix (License): Likewise.
36172         * modules/intprops (License): Change from GPL to LGPL, with
36173         Paul Eggert's approval.
36174
36175 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36176
36177         Merge glibc changes into lib/glob.c.
36178
36179         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
36180         2007-10-15 04:59:03 UTC.  Here are the changes:
36181
36182         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
36183
36184         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
36185
36186         * lib/glob.c: Add some branch prediction throughout.
36187
36188         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
36189
36190         [BZ #5103]
36191         * lib/glob.c (glob): Recognize patterns starting \/.
36192
36193         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
36194
36195         [BZ #3996]
36196         * lib/glob.c (attribute_hidden): Define if not defined.
36197         (glob): Unescape dirname, filename or username when needed and not
36198         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
36199         is NULL.  Handle unescaped [ in pattern without closing ].
36200         Don't pass GLOB_CHECK down to recursive glob for directories.
36201         (__glob_pattern_type): New function.
36202         (__glob_pattern_p): Implement using __glob_pattern_type.
36203         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
36204         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
36205         Remove unreachable code.
36206
36207         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
36208
36209         * lib/glob.c (glob_in_dir): Add some comments and asserts to
36210         explain why there are no leaks.
36211
36212         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
36213
36214         [BZ #3253]
36215         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
36216         time, rather allocate increasingly bigger arrays of pointers, if
36217         possible with alloca, if too large with malloc.
36218
36219 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36220
36221         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
36222         Problem reported by H.Merijn Brand in
36223         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
36224         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
36225         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
36226
36227 2007-10-15  Bruno Haible  <bruno@clisp.org>
36228
36229         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
36230         with explicit rpl_ prefix.
36231         * lib/fopen.c (fopen): Likewise.
36232         * lib/freopen.c (freopen): Likewise.
36233         * lib/iconv.c (iconv): Likewise.
36234         * lib/iconv_close.c (iconv_close): Likewise.
36235
36236 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36237
36238         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
36239
36240 2007-10-15  Bruno Haible  <bruno@clisp.org>
36241
36242         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
36243         <stddef.h> instead of <stdlib.h> since we only need NULL.
36244         Reported by Ben Pfaff <blp@cs.stanford.edu>.
36245
36246 2007-10-15  Bruno Haible  <bruno@clisp.org>
36247
36248         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
36249         Replace paragraph talking about LIBOBJS.
36250         Reported by Colin Watson <cjwatson@debian.org>.
36251
36252 2007-10-15  Bruno Haible  <bruno@clisp.org>
36253
36254         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
36255         <stdlib.h> before using NULL.
36256
36257 2007-10-15  Simon Josefsson  <simon@josefsson.org>
36258
36259         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
36260         Reported by Albert Chin <china@thewrittenword.com>.
36261
36262 2007-10-14  Bruno Haible  <bruno@clisp.org>
36263
36264         * modules/iconv_open-utf-tests: New file.
36265         * tests/test-iconv-utf.c: New file.
36266
36267         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
36268         * modules/iconv_open-utf: New file.
36269         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
36270         (iconv, iconv_close): New declarations.
36271         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
36272         be defined.
36273         (iconv_open): Add special handling of conversion between UTF-8 and
36274         UTF-{16,32}{BE,LE}.
36275         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
36276         * lib/iconv_close.c: New file.
36277         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
36278         gl_FUNC_ICONV_OPEN.
36279         (gl_FUNC_ICONV_OPEN): Use it.
36280         (gl_FUNC_ICONV_OPEN_UTF): New macro.
36281         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
36282         and REPLACE_ICONV_UTF.
36283         * modules/iconv_open (Depends-on): Add c-strcase.
36284         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
36285         ICONV_CONST.
36286         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
36287
36288 2007-10-13  Albert Chin  <china@thewrittenword.com>
36289             Bruno Haible  <bruno@clisp.org>
36290
36291         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
36292         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
36293
36294 2007-10-13  Bruno Haible  <bruno@clisp.org>
36295
36296         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
36297         defined, use the ISO C99 inline semantics.
36298         * lib/argp.h (ARGP_EI): Likewise.
36299
36300 2007-10-13  Bruno Haible  <bruno@clisp.org>
36301
36302         Handle 'inline' change in gcc 4.3.0.
36303         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
36304         argp_fmtstream_write, argp_fmtstream_set_lmargin,
36305         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
36306         argp_fmtstream_point): Disable 'extern' declaration if the function
36307         definition is going to be provided inline.
36308         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
36309         semantics, not the ISO C99 inline semantics.
36310         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
36311         'extern' declaration if the function definition is going to be provided
36312         inline.
36313         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
36314         the GNU C inline semantics, not the ISO C99 inline semantics. With
36315         GCC 4.2, avoid a warning.
36316
36317 2007-10-13  Bruno Haible  <bruno@clisp.org>
36318
36319         * lib/freading.h (freading): Enable the use of __freading for
36320         glibc >= 2.7.
36321         * lib/freading.c (freading): Likewise.
36322
36323 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
36324
36325         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
36326         "warning: C99 inline functions are not supported; using GNU89".
36327
36328 2007-10-12  Bruno Haible  <bruno@clisp.org>
36329
36330         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
36331         of 2.
36332         * tests/test-ceilf2.c: New file.
36333         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
36334
36335         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
36336         * modules/ceilf-tests: Update.
36337
36338 2007-10-12  Bruno Haible  <bruno@clisp.org>
36339
36340         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
36341         of 2.
36342         * tests/test-floorf2.c: New file.
36343         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
36344
36345         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
36346         * modules/floorf-tests: Update.
36347
36348 2007-10-12  Bruno Haible  <bruno@clisp.org>
36349
36350         * tests/test-trunc2.c: New file.
36351         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
36352
36353         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
36354         * modules/trunc-tests: Update.
36355
36356 2007-10-12  Bruno Haible  <bruno@clisp.org>
36357
36358         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
36359         of 2.
36360         * tests/test-truncf2.c: New file.
36361         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
36362
36363         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
36364         * modules/truncf-tests: Update.
36365
36366 2007-10-11  Eric Blake  <ebb9@byu.net>
36367
36368         Don't claim strerror is broken on Interix.
36369         * doc/functions/strerror.texi (strerror): Known broken systems are
36370         now Solaris 8, and not Interix.
36371         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
36372         Interix on cross-compile.
36373         Reported by Martin Koeppe in
36374         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
36375
36376 2007-10-11  Bruno Haible  <bruno@clisp.org>
36377
36378         * modules/i-ring-tests: New file.
36379         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
36380         instead of assert.
36381
36382 2007-10-11  Bruno Haible  <bruno@clisp.org>
36383
36384         * modules/filenamecat-tests: New file.
36385         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
36386         * lib/filenamecat.c: Remove test code.
36387
36388 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
36389
36390         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
36391
36392         * lib/strerror.c: Include <string.h> always, to test interface,
36393         and to remove the need for the dummy.
36394         Include intprops.h to compute width instead of doing it ourselves
36395         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
36396         (strerror): Define it to return NULL if there's no system strerror.
36397         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
36398         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
36399         ancient pre-strerror Unix systems well any more.  Saying "unknown
36400         system error" is enough.
36401         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
36402         simpler strerror.c implementation.
36403         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
36404         Simplify the tests to reflect the simpler strerror implementation.
36405         * modules/strerror (Depends-on): Add intprops.
36406
36407 2007-10-09  Eric Blake  <ebb9@byu.net>
36408
36409         Silence test-fpending.
36410         * modules/fpending-tests (Files): Add wrapper script.
36411         * tests/test-fpending.sh: New file.
36412
36413 2007-10-09  Bruno Haible  <bruno@clisp.org>
36414
36415         * MODULES.html.sh (func_module): Don't create a hyperlink for
36416         function names like 'printf_frexp'.
36417         (Misc): Add crc, memxor.
36418         (Characteristics of floating types): New section.
36419         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
36420         isnanf-nolibm, signbit, trunc, truncf, truncl.
36421         (Enhancements for ISO C 99 functions): New subsection Input/output.
36422         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
36423         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
36424         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
36425         (Compatibility checks for POSIX:2001 functions): Add clock-time.
36426         (Enhancements for POSIX:2001 functions): Add chdir-long.
36427         (File system functions): Add areadlink, chdir-safer, read-file.
36428         Remove cycle-check.
36429         (File system as inode set): New section.
36430         (Date and time): Add gethrxtime.
36431         (Multithreading): Add openmp.
36432         (Internationalization functions): Add localename.
36433         (Unicode string functions): Add unistr/u*-mbsnlen.
36434         (Support for maintaining and releasing projects): Add git-version-gen.
36435         (Lone files): Remove directories.
36436
36437 2007-10-08  Ben Pfaff  <blp@gnu.org>
36438
36439         * lib/xmalloca.h: Fix typo in comment.
36440
36441 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
36442
36443         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
36444         when avoiding problems with integer overflow.  Use a portable test
36445         instead.
36446
36447 2007-10-08  Simon Josefsson  <simon@josefsson.org>
36448
36449         * modules/dummy (License): Change to LGPLv2+.
36450         * modules/float (License): Likewise
36451         * modules/realloc (License): Likewise
36452         * modules/stdlib (License): Likewise
36453
36454 2007-10-07  Bruno Haible  <bruno@clisp.org>
36455
36456         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
36457         * floor.c (TWO_MANT_DIG): Likewise.
36458         * ceil.c (TWO_MANT_DIG): Likewise.
36459         Reported by Ben Pfaff.
36460
36461 2007-10-07  Bruno Haible  <bruno@clisp.org>
36462
36463         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
36464         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
36465         * lib/frexp.c (FUNC): Likewise.
36466         * lib/printf-frexp.h (printf_frexp): Likewise.
36467         * lib/printf-frexpl.h (printf_frexpl): Likewise.
36468         * lib/printf-frexp.c (FUNC): Likewise.
36469         Suggested by Jim Meyering.
36470
36471 2007-10-07  Jim Meyering  <meyering@redhat.com>
36472
36473         Make xnanosleep's integer overflow test more robust.
36474         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
36475         so that gcc-4.3.0 doesn't optimize away this test for overflow.
36476
36477 2007-10-07  Bruno Haible  <bruno@clisp.org>
36478
36479         * NEWS: Mention the license change.
36480
36481         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
36482         abbreviations in the modules files.
36483
36484         Change copyright notice from GPLv2+ to GPLv3+.
36485         * README: Change copyright notice.
36486         * MODULES.html.sh: Likewise.
36487         * build-aux/bootstrap.conf: Likewise.
36488         * build-aux/config.libpath: Likewise.
36489         * build-aux/csharpcomp.sh.in: Likewise.
36490         * build-aux/csharpexec.sh.in: Likewise.
36491         * build-aux/install-reloc: Likewise.
36492         * build-aux/javacomp.sh.in: Likewise.
36493         * build-aux/javaexec.sh.in: Likewise.
36494         * build-aux/ldd.sh.in: Likewise.
36495         * build-aux/reloc-ldflags: Likewise.
36496         * build-aux/relocatable.sh.in: Likewise.
36497         * build-aux/x-to-1.in: Likewise.
36498         * check-module: Likewise.
36499         * config/srclistvars.sh: Likewise.
36500         * gnulib-tool: Likewise.
36501         * lib/acl-internal.h: Likewise.
36502         * lib/acl.c: Likewise.
36503         * lib/acl.h: Likewise.
36504         * lib/acl_entries.c: Likewise.
36505         * lib/areadlink-with-size.c: Likewise.
36506         * lib/areadlink.c: Likewise.
36507         * lib/areadlink.h: Likewise.
36508         * lib/argmatch.c: Likewise.
36509         * lib/argmatch.h: Likewise.
36510         * lib/argp-ba.c: Likewise.
36511         * lib/argp-eexst.c: Likewise.
36512         * lib/argp-fmtstream.c: Likewise.
36513         * lib/argp-fmtstream.h: Likewise.
36514         * lib/argp-fs-xinl.c: Likewise.
36515         * lib/argp-help.c: Likewise.
36516         * lib/argp-namefrob.h: Likewise.
36517         * lib/argp-parse.c: Likewise.
36518         * lib/argp-pin.c: Likewise.
36519         * lib/argp-pv.c: Likewise.
36520         * lib/argp-pvh.c: Likewise.
36521         * lib/argp-xinl.c: Likewise.
36522         * lib/argp.h: Likewise.
36523         * lib/at-func.c: Likewise.
36524         * lib/atanl.c: Likewise.
36525         * lib/backupfile.c: Likewise.
36526         * lib/backupfile.h: Likewise.
36527         * lib/basename.c: Likewise.
36528         * lib/binary-io.h: Likewise.
36529         * lib/byteswap.in.h: Likewise.
36530         * lib/c-stack.c: Likewise.
36531         * lib/c-stack.h: Likewise.
36532         * lib/c-strcasestr.c: Likewise.
36533         * lib/c-strcasestr.h: Likewise.
36534         * lib/c-strstr.c: Likewise.
36535         * lib/c-strstr.h: Likewise.
36536         * lib/c-strtod.c: Likewise.
36537         * lib/calloc.c: Likewise.
36538         * lib/canon-host.c: Likewise.
36539         * lib/canon-host.h: Likewise.
36540         * lib/canonicalize-lgpl.c: Likewise.
36541         * lib/canonicalize.c: Likewise.
36542         * lib/canonicalize.h: Likewise.
36543         * lib/ceil.c: Likewise.
36544         * lib/ceilf.c: Likewise.
36545         * lib/ceill.c: Likewise.
36546         * lib/chdir-long.c: Likewise.
36547         * lib/chdir-long.h: Likewise.
36548         * lib/chdir-safer.c: Likewise.
36549         * lib/chdir-safer.h: Likewise.
36550         * lib/chown.c: Likewise.
36551         * lib/classpath.c: Likewise.
36552         * lib/classpath.h: Likewise.
36553         * lib/clean-temp.c: Likewise.
36554         * lib/clean-temp.h: Likewise.
36555         * lib/cloexec.c: Likewise.
36556         * lib/close-stream.c: Likewise.
36557         * lib/closein.c: Likewise.
36558         * lib/closein.h: Likewise.
36559         * lib/closeout.c: Likewise.
36560         * lib/closeout.h: Likewise.
36561         * lib/concat-filename.c: Likewise.
36562         * lib/copy-file.c: Likewise.
36563         * lib/copy-file.h: Likewise.
36564         * lib/count-one-bits.h: Likewise.
36565         * lib/crc.c: Likewise.
36566         * lib/crc.h: Likewise.
36567         * lib/creat-safer.c: Likewise.
36568         * lib/csharpcomp.c: Likewise.
36569         * lib/csharpcomp.h: Likewise.
36570         * lib/csharpexec.c: Likewise.
36571         * lib/csharpexec.h: Likewise.
36572         * lib/cycle-check.c: Likewise.
36573         * lib/cycle-check.h: Likewise.
36574         * lib/diacrit.c: Likewise.
36575         * lib/diacrit.h: Likewise.
36576         * lib/diffseq.h: Likewise.
36577         * lib/dirchownmod.c: Likewise.
36578         * lib/dirent.in.h: Likewise.
36579         * lib/dirfd.c: Likewise.
36580         * lib/dirfd.h: Likewise.
36581         * lib/dirname.c: Likewise.
36582         * lib/dirname.h: Likewise.
36583         * lib/dummy.c: Likewise.
36584         * lib/dup-safer.c: Likewise.
36585         * lib/dup2.c: Likewise.
36586         * lib/eealloc.h: Likewise.
36587         * lib/error.c: Likewise.
36588         * lib/error.h: Likewise.
36589         * lib/euidaccess.c: Likewise.
36590         * lib/exclude.c: Likewise.
36591         * lib/exclude.h: Likewise.
36592         * lib/execute.c: Likewise.
36593         * lib/execute.h: Likewise.
36594         * lib/exitfail.c: Likewise.
36595         * lib/exitfail.h: Likewise.
36596         * lib/expl.c: Likewise.
36597         * lib/fatal-signal.c: Likewise.
36598         * lib/fatal-signal.h: Likewise.
36599         * lib/fbufmode.c: Likewise.
36600         * lib/fbufmode.h: Likewise.
36601         * lib/fchdir.c: Likewise.
36602         * lib/fchmodat.c: Likewise.
36603         * lib/fchownat.c: Likewise.
36604         * lib/fcntl--.h: Likewise.
36605         * lib/fcntl-safer.h: Likewise.
36606         * lib/fcntl.in.h: Likewise.
36607         * lib/fd-safer.c: Likewise.
36608         * lib/fflush.c: Likewise.
36609         * lib/file-has-acl.c: Likewise.
36610         * lib/file-set.c: Likewise.
36611         * lib/file-type.c: Likewise.
36612         * lib/file-type.h: Likewise.
36613         * lib/fileblocks.c: Likewise.
36614         * lib/filemode.c: Likewise.
36615         * lib/filemode.h: Likewise.
36616         * lib/filename.h: Likewise.
36617         * lib/filenamecat.c: Likewise.
36618         * lib/filenamecat.h: Likewise.
36619         * lib/findprog.c: Likewise.
36620         * lib/findprog.h: Likewise.
36621         * lib/float.in.h: Likewise.
36622         * lib/floor.c: Likewise.
36623         * lib/floorf.c: Likewise.
36624         * lib/floorl.c: Likewise.
36625         * lib/fopen-safer.c: Likewise.
36626         * lib/fopen.c: Likewise.
36627         * lib/fpending.c: Likewise.
36628         * lib/fpending.h: Likewise.
36629         * lib/fprintf.c: Likewise.
36630         * lib/fprintftime.h: Likewise.
36631         * lib/fpucw.h: Likewise.
36632         * lib/fpurge.c: Likewise.
36633         * lib/fpurge.h: Likewise.
36634         * lib/freadable.c: Likewise.
36635         * lib/freadable.h: Likewise.
36636         * lib/freadahead.c: Likewise.
36637         * lib/freadahead.h: Likewise.
36638         * lib/freading.c: Likewise.
36639         * lib/freading.h: Likewise.
36640         * lib/free.c: Likewise.
36641         * lib/freopen.c: Likewise.
36642         * lib/frexp.c: Likewise.
36643         * lib/frexpl.c: Likewise.
36644         * lib/fseek.c: Likewise.
36645         * lib/fseterr.c: Likewise.
36646         * lib/fseterr.h: Likewise.
36647         * lib/fstatat.c: Likewise.
36648         * lib/fstrcmp.c: Likewise.
36649         * lib/fstrcmp.h: Likewise.
36650         * lib/fsusage.c: Likewise.
36651         * lib/fsusage.h: Likewise.
36652         * lib/ftell.c: Likewise.
36653         * lib/ftello.c: Likewise.
36654         * lib/fts-cycle.c: Likewise.
36655         * lib/fts.c: Likewise.
36656         * lib/fts_.h: Likewise.
36657         * lib/full-read.c: Likewise.
36658         * lib/full-read.h: Likewise.
36659         * lib/full-write.c: Likewise.
36660         * lib/full-write.h: Likewise.
36661         * lib/fwritable.c: Likewise.
36662         * lib/fwritable.h: Likewise.
36663         * lib/fwriteerror.c: Likewise.
36664         * lib/fwriteerror.h: Likewise.
36665         * lib/fwriting.c: Likewise.
36666         * lib/fwriting.h: Likewise.
36667         * lib/gcd.c: Likewise.
36668         * lib/gcd.h: Likewise.
36669         * lib/getcwd.c: Likewise.
36670         * lib/getdate.h: Likewise.
36671         * lib/getdate.y: Likewise.
36672         * lib/getdomainname.c: Likewise.
36673         * lib/getdomainname.h: Likewise.
36674         * lib/getgroups.c: Likewise.
36675         * lib/gethostname.c: Likewise.
36676         * lib/gethrxtime.c: Likewise.
36677         * lib/gethrxtime.h: Likewise.
36678         * lib/getloadavg.c: Likewise.
36679         * lib/getndelim2.c: Likewise.
36680         * lib/getndelim2.h: Likewise.
36681         * lib/getnline.c: Likewise.
36682         * lib/getnline.h: Likewise.
36683         * lib/getopt.c: Likewise.
36684         * lib/getopt.in.h: Likewise.
36685         * lib/getopt1.c: Likewise.
36686         * lib/getopt_int.h: Likewise.
36687         * lib/getpagesize.h: Likewise.
36688         * lib/getsubopt.c: Likewise.
36689         * lib/gettime.c: Likewise.
36690         * lib/getugroups.c: Likewise.
36691         * lib/getugroups.h: Likewise.
36692         * lib/getusershell.c: Likewise.
36693         * lib/gl_anyavltree_list1.h: Likewise.
36694         * lib/gl_anyavltree_list2.h: Likewise.
36695         * lib/gl_anyhash_list1.h: Likewise.
36696         * lib/gl_anyhash_list2.h: Likewise.
36697         * lib/gl_anylinked_list1.h: Likewise.
36698         * lib/gl_anylinked_list2.h: Likewise.
36699         * lib/gl_anyrbtree_list1.h: Likewise.
36700         * lib/gl_anyrbtree_list2.h: Likewise.
36701         * lib/gl_anytree_list1.h: Likewise.
36702         * lib/gl_anytree_list2.h: Likewise.
36703         * lib/gl_anytree_oset.h: Likewise.
36704         * lib/gl_anytreehash_list1.h: Likewise.
36705         * lib/gl_anytreehash_list2.h: Likewise.
36706         * lib/gl_array_list.c: Likewise.
36707         * lib/gl_array_list.h: Likewise.
36708         * lib/gl_array_oset.c: Likewise.
36709         * lib/gl_array_oset.h: Likewise.
36710         * lib/gl_avltree_list.c: Likewise.
36711         * lib/gl_avltree_list.h: Likewise.
36712         * lib/gl_avltree_oset.c: Likewise.
36713         * lib/gl_avltree_oset.h: Likewise.
36714         * lib/gl_avltreehash_list.c: Likewise.
36715         * lib/gl_avltreehash_list.h: Likewise.
36716         * lib/gl_carray_list.c: Likewise.
36717         * lib/gl_carray_list.h: Likewise.
36718         * lib/gl_linked_list.c: Likewise.
36719         * lib/gl_linked_list.h: Likewise.
36720         * lib/gl_linkedhash_list.c: Likewise.
36721         * lib/gl_linkedhash_list.h: Likewise.
36722         * lib/gl_list.c: Likewise.
36723         * lib/gl_list.h: Likewise.
36724         * lib/gl_oset.c: Likewise.
36725         * lib/gl_oset.h: Likewise.
36726         * lib/gl_rbtree_list.c: Likewise.
36727         * lib/gl_rbtree_list.h: Likewise.
36728         * lib/gl_rbtree_oset.c: Likewise.
36729         * lib/gl_rbtree_oset.h: Likewise.
36730         * lib/gl_rbtreehash_list.c: Likewise.
36731         * lib/gl_rbtreehash_list.h: Likewise.
36732         * lib/gl_sublist.c: Likewise.
36733         * lib/gl_sublist.h: Likewise.
36734         * lib/group-member.c: Likewise.
36735         * lib/group-member.h: Likewise.
36736         * lib/hard-locale.c: Likewise.
36737         * lib/hard-locale.h: Likewise.
36738         * lib/hash-pjw.c: Likewise.
36739         * lib/hash-pjw.h: Likewise.
36740         * lib/hash-triple.c: Likewise.
36741         * lib/hash.c: Likewise.
36742         * lib/hash.h: Likewise.
36743         * lib/human.c: Likewise.
36744         * lib/human.h: Likewise.
36745         * lib/i-ring.c: Likewise.
36746         * lib/i-ring.h: Likewise.
36747         * lib/idcache.c: Likewise.
36748         * lib/imaxabs.c: Likewise.
36749         * lib/imaxdiv.c: Likewise.
36750         * lib/inet_pton.c: Likewise.
36751         * lib/inet_pton.h: Likewise.
36752         * lib/intprops.h: Likewise.
36753         * lib/inttostr.c: Likewise.
36754         * lib/inttostr.h: Likewise.
36755         * lib/inttypes.in.h: Likewise.
36756         * lib/isapipe.c: Likewise.
36757         * lib/isdir.c: Likewise.
36758         * lib/isnan.c: Likewise.
36759         * lib/isnan.h: Likewise.
36760         * lib/isnanf.c: Likewise.
36761         * lib/isnanf.h: Likewise.
36762         * lib/isnanl-nolibm.h: Likewise.
36763         * lib/isnanl.c: Likewise.
36764         * lib/isnanl.h: Likewise.
36765         * lib/javacomp.c: Likewise.
36766         * lib/javacomp.h: Likewise.
36767         * lib/javaexec.c: Likewise.
36768         * lib/javaexec.h: Likewise.
36769         * lib/javaversion.c: Likewise.
36770         * lib/javaversion.h: Likewise.
36771         * lib/javaversion.java: Likewise.
36772         * lib/lbrkprop.h: Likewise.
36773         * lib/lchmod.h: Likewise.
36774         * lib/lchown.c: Likewise.
36775         * lib/ldexpl.c: Likewise.
36776         * lib/linebreak.c: Likewise.
36777         * lib/linebreak.h: Likewise.
36778         * lib/linebuffer.c: Likewise.
36779         * lib/linebuffer.h: Likewise.
36780         * lib/locale.in.h: Likewise.
36781         * lib/logl.c: Likewise.
36782         * lib/long-options.c: Likewise.
36783         * lib/long-options.h: Likewise.
36784         * lib/lstat.c: Likewise.
36785         * lib/lstat.h: Likewise.
36786         * lib/math.in.h: Likewise.
36787         * lib/mbchar.c: Likewise.
36788         * lib/mbchar.h: Likewise.
36789         * lib/mbfile.h: Likewise.
36790         * lib/mbiter.h: Likewise.
36791         * lib/mbscasecmp.c: Likewise.
36792         * lib/mbscasestr.c: Likewise.
36793         * lib/mbschr.c: Likewise.
36794         * lib/mbscspn.c: Likewise.
36795         * lib/mbslen.c: Likewise.
36796         * lib/mbsncasecmp.c: Likewise.
36797         * lib/mbsnlen.c: Likewise.
36798         * lib/mbspbrk.c: Likewise.
36799         * lib/mbspcasecmp.c: Likewise.
36800         * lib/mbsrchr.c: Likewise.
36801         * lib/mbssep.c: Likewise.
36802         * lib/mbsspn.c: Likewise.
36803         * lib/mbsstr.c: Likewise.
36804         * lib/mbstok_r.c: Likewise.
36805         * lib/mbswidth.c: Likewise.
36806         * lib/mbswidth.h: Likewise.
36807         * lib/mbuiter.h: Likewise.
36808         * lib/memcasecmp.c: Likewise.
36809         * lib/memcasecmp.h: Likewise.
36810         * lib/memchr.c: Likewise.
36811         * lib/memcmp.c: Likewise.
36812         * lib/memcoll.c: Likewise.
36813         * lib/memcoll.h: Likewise.
36814         * lib/memcpy.c: Likewise.
36815         * lib/memrchr.c: Likewise.
36816         * lib/mkancesdirs.c: Likewise.
36817         * lib/mkdir-p.c: Likewise.
36818         * lib/mkdir-p.h: Likewise.
36819         * lib/mkdir.c: Likewise.
36820         * lib/mkdirat.c: Likewise.
36821         * lib/mkdtemp.c: Likewise.
36822         * lib/mkstemp-safer.c: Likewise.
36823         * lib/mkstemp.c: Likewise.
36824         * lib/modechange.c: Likewise.
36825         * lib/modechange.h: Likewise.
36826         * lib/mountlist.c: Likewise.
36827         * lib/mountlist.h: Likewise.
36828         * lib/mpsort.c: Likewise.
36829         * lib/nanosleep.c: Likewise.
36830         * lib/obstack.c: Likewise.
36831         * lib/obstack.h: Likewise.
36832         * lib/open-safer.c: Likewise.
36833         * lib/open.c: Likewise.
36834         * lib/openat-die.c: Likewise.
36835         * lib/openat-priv.h: Likewise.
36836         * lib/openat-proc.c: Likewise.
36837         * lib/openat.c: Likewise.
36838         * lib/openat.h: Likewise.
36839         * lib/pagealign_alloc.c: Likewise.
36840         * lib/pagealign_alloc.h: Likewise.
36841         * lib/physmem.c: Likewise.
36842         * lib/physmem.h: Likewise.
36843         * lib/pipe-safer.c: Likewise.
36844         * lib/pipe.c: Likewise.
36845         * lib/pipe.h: Likewise.
36846         * lib/posixtm.c: Likewise.
36847         * lib/posixtm.h: Likewise.
36848         * lib/posixver.c: Likewise.
36849         * lib/printf-frexp.c: Likewise.
36850         * lib/printf-frexp.h: Likewise.
36851         * lib/printf-frexpl.c: Likewise.
36852         * lib/printf-frexpl.h: Likewise.
36853         * lib/printf.c: Likewise.
36854         * lib/progname.c: Likewise.
36855         * lib/progname.h: Likewise.
36856         * lib/progreloc.c: Likewise.
36857         * lib/putenv.c: Likewise.
36858         * lib/quote.c: Likewise.
36859         * lib/quote.h: Likewise.
36860         * lib/quotearg.c: Likewise.
36861         * lib/quotearg.h: Likewise.
36862         * lib/raise.c: Likewise.
36863         * lib/readline.c: Likewise.
36864         * lib/readline.h: Likewise.
36865         * lib/readlink.c: Likewise.
36866         * lib/readtokens.c: Likewise.
36867         * lib/readtokens.h: Likewise.
36868         * lib/readtokens0.c: Likewise.
36869         * lib/readtokens0.h: Likewise.
36870         * lib/readutmp.c: Likewise.
36871         * lib/readutmp.h: Likewise.
36872         * lib/realloc.c: Likewise.
36873         * lib/relocwrapper.c: Likewise.
36874         * lib/rename-dest-slash.c: Likewise.
36875         * lib/rename.c: Likewise.
36876         * lib/rmdir.c: Likewise.
36877         * lib/rpmatch.c: Likewise.
36878         * lib/safe-read.c: Likewise.
36879         * lib/safe-read.h: Likewise.
36880         * lib/safe-write.c: Likewise.
36881         * lib/safe-write.h: Likewise.
36882         * lib/same-inode.h: Likewise.
36883         * lib/same.c: Likewise.
36884         * lib/same.h: Likewise.
36885         * lib/save-cwd.c: Likewise.
36886         * lib/save-cwd.h: Likewise.
36887         * lib/savedir.c: Likewise.
36888         * lib/savedir.h: Likewise.
36889         * lib/savewd.c: Likewise.
36890         * lib/savewd.h: Likewise.
36891         * lib/search.in.h: Likewise.
36892         * lib/setenv.c: Likewise.
36893         * lib/setenv.h: Likewise.
36894         * lib/settime.c: Likewise.
36895         * lib/sh-quote.c: Likewise.
36896         * lib/sh-quote.h: Likewise.
36897         * lib/sig2str.c: Likewise.
36898         * lib/sig2str.h: Likewise.
36899         * lib/signal.in.h: Likewise.
36900         * lib/signbitd.c: Likewise.
36901         * lib/signbitf.c: Likewise.
36902         * lib/signbitl.c: Likewise.
36903         * lib/sigprocmask.c: Likewise.
36904         * lib/sincosl.c: Likewise.
36905         * lib/sleep.c: Likewise.
36906         * lib/sprintf.c: Likewise.
36907         * lib/sqrtl.c: Likewise.
36908         * lib/stat-time.h: Likewise.
36909         * lib/stdio--.h: Likewise.
36910         * lib/stdio-safer.h: Likewise.
36911         * lib/stdlib--.h: Likewise.
36912         * lib/stdlib-safer.h: Likewise.
36913         * lib/stdlib.in.h: Likewise.
36914         * lib/stpcpy.c: Likewise.
36915         * lib/stpncpy.c: Likewise.
36916         * lib/strchrnul.c: Likewise.
36917         * lib/strcspn.c: Likewise.
36918         * lib/strerror.c: Likewise.
36919         * lib/strftime.c: Likewise.
36920         * lib/strftime.h: Likewise.
36921         * lib/striconveh.c: Likewise.
36922         * lib/striconveh.h: Likewise.
36923         * lib/striconveha.c: Likewise.
36924         * lib/striconveha.h: Likewise.
36925         * lib/stripslash.c: Likewise.
36926         * lib/strnlen1.c: Likewise.
36927         * lib/strnlen1.h: Likewise.
36928         * lib/strtod.c: Likewise.
36929         * lib/strtoimax.c: Likewise.
36930         * lib/strtok_r.c: Likewise.
36931         * lib/strtol.c: Likewise.
36932         * lib/strtoll.c: Likewise.
36933         * lib/strtoul.c: Likewise.
36934         * lib/strtoull.c: Likewise.
36935         * lib/sysexits.in.h: Likewise.
36936         * lib/tempname.c: Likewise.
36937         * lib/tempname.h: Likewise.
36938         * lib/timespec.h: Likewise.
36939         * lib/tls.c: Likewise.
36940         * lib/tls.h: Likewise.
36941         * lib/tmpdir.c: Likewise.
36942         * lib/tmpdir.h: Likewise.
36943         * lib/tmpfile-safer.c: Likewise.
36944         * lib/tmpfile.c: Likewise.
36945         * lib/trigl.c: Likewise.
36946         * lib/trigl.h: Likewise.
36947         * lib/trim.c: Likewise.
36948         * lib/trim.h: Likewise.
36949         * lib/trunc.c: Likewise.
36950         * lib/truncf.c: Likewise.
36951         * lib/truncl.c: Likewise.
36952         * lib/tsearch.c: Likewise.
36953         * lib/unicodeio.c: Likewise.
36954         * lib/unicodeio.h: Likewise.
36955         * lib/unistd--.h: Likewise.
36956         * lib/unistd-safer.h: Likewise.
36957         * lib/unistdio/ulc-fprintf.c: Likewise.
36958         * lib/unistdio/ulc-vfprintf.c: Likewise.
36959         * lib/unlinkdir.c: Likewise.
36960         * lib/unlinkdir.h: Likewise.
36961         * lib/unlocked-io.h: Likewise.
36962         * lib/unsetenv.c: Likewise.
36963         * lib/userspec.c: Likewise.
36964         * lib/utime.c: Likewise.
36965         * lib/utimecmp.c: Likewise.
36966         * lib/utimecmp.h: Likewise.
36967         * lib/utimens.c: Likewise.
36968         * lib/verify.h: Likewise.
36969         * lib/verror.c: Likewise.
36970         * lib/verror.h: Likewise.
36971         * lib/version-etc-fsf.c: Likewise.
36972         * lib/version-etc.c: Likewise.
36973         * lib/version-etc.h: Likewise.
36974         * lib/vfprintf.c: Likewise.
36975         * lib/vprintf.c: Likewise.
36976         * lib/vsprintf.c: Likewise.
36977         * lib/w32spawn.h: Likewise.
36978         * lib/wait-process.c: Likewise.
36979         * lib/wait-process.h: Likewise.
36980         * lib/wcwidth.c: Likewise.
36981         * lib/write-any-file.c: Likewise.
36982         * lib/xalloc-die.c: Likewise.
36983         * lib/xalloc.h: Likewise.
36984         * lib/xasprintf.c: Likewise.
36985         * lib/xgetcwd.c: Likewise.
36986         * lib/xgetcwd.h: Likewise.
36987         * lib/xgetdomainname.c: Likewise.
36988         * lib/xgetdomainname.h: Likewise.
36989         * lib/xgethostname.c: Likewise.
36990         * lib/xmalloc.c: Likewise.
36991         * lib/xmalloca.c: Likewise.
36992         * lib/xmalloca.h: Likewise.
36993         * lib/xmemcoll.c: Likewise.
36994         * lib/xnanosleep.c: Likewise.
36995         * lib/xreadlink.c: Likewise.
36996         * lib/xreadlink.h: Likewise.
36997         * lib/xsetenv.c: Likewise.
36998         * lib/xsetenv.h: Likewise.
36999         * lib/xstriconv.c: Likewise.
37000         * lib/xstriconv.h: Likewise.
37001         * lib/xstrndup.c: Likewise.
37002         * lib/xstrndup.h: Likewise.
37003         * lib/xstrtod.c: Likewise.
37004         * lib/xstrtod.h: Likewise.
37005         * lib/xstrtol-error.c: Likewise.
37006         * lib/xstrtol.c: Likewise.
37007         * lib/xstrtol.h: Likewise.
37008         * lib/xtime.h: Likewise.
37009         * lib/xvasprintf.c: Likewise.
37010         * lib/xvasprintf.h: Likewise.
37011         * lib/yesno.c: Likewise.
37012         * lib/yesno.h: Likewise.
37013         * posix-modules: Likewise.
37014         * tests/test-alloca-opt.c: Likewise.
37015         * tests/test-arcfour.c: Likewise.
37016         * tests/test-arctwo.c: Likewise.
37017         * tests/test-argmatch.c: Likewise.
37018         * tests/test-argp-2.sh: Likewise.
37019         * tests/test-argp.c: Likewise.
37020         * tests/test-arpa_inet.c: Likewise.
37021         * tests/test-array_list.c: Likewise.
37022         * tests/test-array_oset.c: Likewise.
37023         * tests/test-atexit.c: Likewise.
37024         * tests/test-avltree_list.c: Likewise.
37025         * tests/test-avltree_oset.c: Likewise.
37026         * tests/test-avltreehash_list.c: Likewise.
37027         * tests/test-base64.c: Likewise.
37028         * tests/test-binary-io.c: Likewise.
37029         * tests/test-byteswap.c: Likewise.
37030         * tests/test-c-ctype.c: Likewise.
37031         * tests/test-c-strcasecmp.c: Likewise.
37032         * tests/test-c-strcasestr.c: Likewise.
37033         * tests/test-c-strncasecmp.c: Likewise.
37034         * tests/test-c-strstr.c: Likewise.
37035         * tests/test-canonicalize-lgpl.c: Likewise.
37036         * tests/test-canonicalize.c: Likewise.
37037         * tests/test-carray_list.c: Likewise.
37038         * tests/test-ceilf.c: Likewise.
37039         * tests/test-ceill.c: Likewise.
37040         * tests/test-count-one-bits.c: Likewise.
37041         * tests/test-crc.c: Likewise.
37042         * tests/test-dirname.c: Likewise.
37043         * tests/test-fbufmode.c: Likewise.
37044         * tests/test-fcntl.c: Likewise.
37045         * tests/test-fflush.c: Likewise.
37046         * tests/test-floorf.c: Likewise.
37047         * tests/test-floorl.c: Likewise.
37048         * tests/test-fopen.c: Likewise.
37049         * tests/test-fprintf-posix.c: Likewise.
37050         * tests/test-fprintf-posix.h: Likewise.
37051         * tests/test-fpurge.c: Likewise.
37052         * tests/test-freadable.c: Likewise.
37053         * tests/test-freadahead.c: Likewise.
37054         * tests/test-freading.c: Likewise.
37055         * tests/test-freopen.c: Likewise.
37056         * tests/test-frexp.c: Likewise.
37057         * tests/test-frexpl.c: Likewise.
37058         * tests/test-fseek.c: Likewise.
37059         * tests/test-fseeko.c: Likewise.
37060         * tests/test-fseterr.c: Likewise.
37061         * tests/test-fstrcmp.c: Likewise.
37062         * tests/test-ftell.c: Likewise.
37063         * tests/test-ftello.c: Likewise.
37064         * tests/test-fwritable.c: Likewise.
37065         * tests/test-fwriting.c: Likewise.
37066         * tests/test-getaddrinfo.c: Likewise.
37067         * tests/test-getpass.c: Likewise.
37068         * tests/test-gettimeofday.c: Likewise.
37069         * tests/test-hmac-md5.c: Likewise.
37070         * tests/test-hmac-sha1.c: Likewise.
37071         * tests/test-iconv.c: Likewise.
37072         * tests/test-iconvme.c: Likewise.
37073         * tests/test-inttypes.c: Likewise.
37074         * tests/test-isnan.c: Likewise.
37075         * tests/test-isnanf.c: Likewise.
37076         * tests/test-isnanl-nolibm.c: Likewise.
37077         * tests/test-isnanl.c: Likewise.
37078         * tests/test-isnanl.h: Likewise.
37079         * tests/test-ldexpl.c: Likewise.
37080         * tests/test-linked_list.c: Likewise.
37081         * tests/test-linkedhash_list.c: Likewise.
37082         * tests/test-locale.c: Likewise.
37083         * tests/test-localename.c: Likewise.
37084         * tests/test-lock.c: Likewise.
37085         * tests/test-lseek.c: Likewise.
37086         * tests/test-malloca.c: Likewise.
37087         * tests/test-math.c: Likewise.
37088         * tests/test-mbscasecmp.c: Likewise.
37089         * tests/test-mbscasestr1.c: Likewise.
37090         * tests/test-mbscasestr2.c: Likewise.
37091         * tests/test-mbscasestr3.c: Likewise.
37092         * tests/test-mbscasestr4.c: Likewise.
37093         * tests/test-mbschr.c: Likewise.
37094         * tests/test-mbscspn.c: Likewise.
37095         * tests/test-mbsncasecmp.c: Likewise.
37096         * tests/test-mbspbrk.c: Likewise.
37097         * tests/test-mbspcasecmp.c: Likewise.
37098         * tests/test-mbsrchr.c: Likewise.
37099         * tests/test-mbsspn.c: Likewise.
37100         * tests/test-mbsstr1.c: Likewise.
37101         * tests/test-mbsstr2.c: Likewise.
37102         * tests/test-mbsstr3.c: Likewise.
37103         * tests/test-md5.c: Likewise.
37104         * tests/test-memmem.c: Likewise.
37105         * tests/test-netinet_in.c: Likewise.
37106         * tests/test-open.c: Likewise.
37107         * tests/test-printf-frexp.c: Likewise.
37108         * tests/test-printf-frexpl.c: Likewise.
37109         * tests/test-printf-posix.c: Likewise.
37110         * tests/test-printf-posix.h: Likewise.
37111         * tests/test-rbtree_list.c: Likewise.
37112         * tests/test-rbtree_oset.c: Likewise.
37113         * tests/test-rbtreehash_list.c: Likewise.
37114         * tests/test-read-file.c: Likewise.
37115         * tests/test-rijndael.c: Likewise.
37116         * tests/test-search.c: Likewise.
37117         * tests/test-signbit.c: Likewise.
37118         * tests/test-sleep.c: Likewise.
37119         * tests/test-snprintf-posix.c: Likewise.
37120         * tests/test-snprintf-posix.h: Likewise.
37121         * tests/test-snprintf.c: Likewise.
37122         * tests/test-sprintf-posix.c: Likewise.
37123         * tests/test-sprintf-posix.h: Likewise.
37124         * tests/test-stat-time.c: Likewise.
37125         * tests/test-stdbool.c: Likewise.
37126         * tests/test-stdint.c: Likewise.
37127         * tests/test-stdio.c: Likewise.
37128         * tests/test-stdlib.c: Likewise.
37129         * tests/test-stpncpy.c: Likewise.
37130         * tests/test-strcasestr.c: Likewise.
37131         * tests/test-striconv.c: Likewise.
37132         * tests/test-striconveh.c: Likewise.
37133         * tests/test-striconveha.c: Likewise.
37134         * tests/test-string.c: Likewise.
37135         * tests/test-sys_select.c: Likewise.
37136         * tests/test-sys_socket.c: Likewise.
37137         * tests/test-sys_stat.c: Likewise.
37138         * tests/test-sys_time.c: Likewise.
37139         * tests/test-sysexits.c: Likewise.
37140         * tests/test-time.c: Likewise.
37141         * tests/test-tls.c: Likewise.
37142         * tests/test-trunc.c: Likewise.
37143         * tests/test-truncf.c: Likewise.
37144         * tests/test-truncl.c: Likewise.
37145         * tests/test-unistd.c: Likewise.
37146         * tests/test-vasnprintf-posix.c: Likewise.
37147         * tests/test-vasnprintf-posix2.c: Likewise.
37148         * tests/test-vasnprintf.c: Likewise.
37149         * tests/test-vasprintf-posix.c: Likewise.
37150         * tests/test-vasprintf.c: Likewise.
37151         * tests/test-verify.c: Likewise.
37152         * tests/test-vfprintf-posix.c: Likewise.
37153         * tests/test-vprintf-posix.c: Likewise.
37154         * tests/test-vsnprintf-posix.c: Likewise.
37155         * tests/test-vsnprintf.c: Likewise.
37156         * tests/test-vsprintf-posix.c: Likewise.
37157         * tests/test-wchar.c: Likewise.
37158         * tests/test-wctype.c: Likewise.
37159         * tests/test-wcwidth.c: Likewise.
37160         * tests/test-xstrtol.c: Likewise.
37161         * tests/test-xvasprintf.c: Likewise.
37162         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
37163         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
37164         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
37165         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
37166         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
37167         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
37168         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
37169         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
37170         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
37171         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
37172         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
37173         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
37174         * tests/uniname/test-uninames.c: Likewise.
37175         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
37176         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
37177         * tests/unistdio/test-u16-printf1.h: Likewise.
37178         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
37179         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
37180         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
37181         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
37182         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
37183         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
37184         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
37185         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
37186         * tests/unistdio/test-u32-printf1.h: Likewise.
37187         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
37188         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
37189         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
37190         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
37191         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
37192         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
37193         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
37194         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
37195         * tests/unistdio/test-u8-printf1.h: Likewise.
37196         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
37197         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
37198         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
37199         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
37200         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
37201         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
37202         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
37203         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
37204         * tests/unistdio/test-ulc-printf1.h: Likewise.
37205         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
37206         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
37207         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
37208         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
37209         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
37210         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
37211         * tests/uniwidth/test-u16-strwidth.c: Likewise.
37212         * tests/uniwidth/test-u16-width.c: Likewise.
37213         * tests/uniwidth/test-u32-strwidth.c: Likewise.
37214         * tests/uniwidth/test-u32-width.c: Likewise.
37215         * tests/uniwidth/test-u8-strwidth.c: Likewise.
37216         * tests/uniwidth/test-u8-width.c: Likewise.
37217         * tests/uniwidth/test-uc_width.c: Likewise.
37218         * config/srclist-update: Likewise.
37219         (fixlicense): Update to GPLv3+.
37220
37221         Change copyright notice from LGPLv2.1+ to LGPLv3+.
37222         * tests/test-tsearch.c: Change copyright notice.
37223
37224         Change copyright notice from LGPLv2.0+ to LGPLv3+.
37225         * lib/c-strcaseeq.h: Change copyright notice.
37226         * lib/streq.h: Likewise.
37227         * lib/uniconv.h: Likewise.
37228         * lib/uniconv/u-conv-from-enc.h: Likewise.
37229         * lib/uniconv/u-conv-to-enc.h: Likewise.
37230         * lib/uniconv/u-strconv-from-enc.h: Likewise.
37231         * lib/uniconv/u-strconv-to-enc.h: Likewise.
37232         * lib/uniconv/u16-conv-from-enc.c: Likewise.
37233         * lib/uniconv/u16-conv-to-enc.c: Likewise.
37234         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
37235         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
37236         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
37237         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
37238         * lib/uniconv/u32-conv-from-enc.c: Likewise.
37239         * lib/uniconv/u32-conv-to-enc.c: Likewise.
37240         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
37241         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
37242         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
37243         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
37244         * lib/uniconv/u8-conv-from-enc.c: Likewise.
37245         * lib/uniconv/u8-conv-to-enc.c: Likewise.
37246         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
37247         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
37248         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
37249         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
37250         * lib/uniname.h: Likewise.
37251         * lib/uniname/uniname.c: Likewise.
37252         * lib/unistdio.h: Likewise.
37253         * lib/unistdio/u-asnprintf.h: Likewise.
37254         * lib/unistdio/u-asprintf.h: Likewise.
37255         * lib/unistdio/u-printf-args.c: Likewise.
37256         * lib/unistdio/u-printf-args.h: Likewise.
37257         * lib/unistdio/u-printf-parse.h: Likewise.
37258         * lib/unistdio/u-snprintf.h: Likewise.
37259         * lib/unistdio/u-sprintf.h: Likewise.
37260         * lib/unistdio/u-vasprintf.h: Likewise.
37261         * lib/unistdio/u-vsnprintf.h: Likewise.
37262         * lib/unistdio/u-vsprintf.h: Likewise.
37263         * lib/unistdio/u16-asnprintf.c: Likewise.
37264         * lib/unistdio/u16-asprintf.c: Likewise.
37265         * lib/unistdio/u16-printf-parse.c: Likewise.
37266         * lib/unistdio/u16-snprintf.c: Likewise.
37267         * lib/unistdio/u16-sprintf.c: Likewise.
37268         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
37269         * lib/unistdio/u16-u16-asprintf.c: Likewise.
37270         * lib/unistdio/u16-u16-snprintf.c: Likewise.
37271         * lib/unistdio/u16-u16-sprintf.c: Likewise.
37272         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
37273         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
37274         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
37275         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
37276         * lib/unistdio/u16-vasnprintf.c: Likewise.
37277         * lib/unistdio/u16-vasprintf.c: Likewise.
37278         * lib/unistdio/u16-vsnprintf.c: Likewise.
37279         * lib/unistdio/u16-vsprintf.c: Likewise.
37280         * lib/unistdio/u32-asnprintf.c: Likewise.
37281         * lib/unistdio/u32-asprintf.c: Likewise.
37282         * lib/unistdio/u32-printf-parse.c: Likewise.
37283         * lib/unistdio/u32-snprintf.c: Likewise.
37284         * lib/unistdio/u32-sprintf.c: Likewise.
37285         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
37286         * lib/unistdio/u32-u32-asprintf.c: Likewise.
37287         * lib/unistdio/u32-u32-snprintf.c: Likewise.
37288         * lib/unistdio/u32-u32-sprintf.c: Likewise.
37289         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
37290         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
37291         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
37292         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
37293         * lib/unistdio/u32-vasnprintf.c: Likewise.
37294         * lib/unistdio/u32-vasprintf.c: Likewise.
37295         * lib/unistdio/u32-vsnprintf.c: Likewise.
37296         * lib/unistdio/u32-vsprintf.c: Likewise.
37297         * lib/unistdio/u8-asnprintf.c: Likewise.
37298         * lib/unistdio/u8-asprintf.c: Likewise.
37299         * lib/unistdio/u8-printf-parse.c: Likewise.
37300         * lib/unistdio/u8-snprintf.c: Likewise.
37301         * lib/unistdio/u8-sprintf.c: Likewise.
37302         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
37303         * lib/unistdio/u8-u8-asprintf.c: Likewise.
37304         * lib/unistdio/u8-u8-snprintf.c: Likewise.
37305         * lib/unistdio/u8-u8-sprintf.c: Likewise.
37306         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
37307         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
37308         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
37309         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
37310         * lib/unistdio/u8-vasnprintf.c: Likewise.
37311         * lib/unistdio/u8-vasprintf.c: Likewise.
37312         * lib/unistdio/u8-vsnprintf.c: Likewise.
37313         * lib/unistdio/u8-vsprintf.c: Likewise.
37314         * lib/unistdio/ulc-asnprintf.c: Likewise.
37315         * lib/unistdio/ulc-asprintf.c: Likewise.
37316         * lib/unistdio/ulc-printf-parse.c: Likewise.
37317         * lib/unistdio/ulc-snprintf.c: Likewise.
37318         * lib/unistdio/ulc-sprintf.c: Likewise.
37319         * lib/unistdio/ulc-vasnprintf.c: Likewise.
37320         * lib/unistdio/ulc-vasprintf.c: Likewise.
37321         * lib/unistdio/ulc-vsnprintf.c: Likewise.
37322         * lib/unistdio/ulc-vsprintf.c: Likewise.
37323         * lib/unistr.h: Likewise.
37324         * lib/unistr/u-cpy-alloc.h: Likewise.
37325         * lib/unistr/u-cpy.h: Likewise.
37326         * lib/unistr/u-endswith.h: Likewise.
37327         * lib/unistr/u-move.h: Likewise.
37328         * lib/unistr/u-set.h: Likewise.
37329         * lib/unistr/u-startswith.h: Likewise.
37330         * lib/unistr/u-stpcpy.h: Likewise.
37331         * lib/unistr/u-stpncpy.h: Likewise.
37332         * lib/unistr/u-strcat.h: Likewise.
37333         * lib/unistr/u-strcpy.h: Likewise.
37334         * lib/unistr/u-strcspn.h: Likewise.
37335         * lib/unistr/u-strdup.h: Likewise.
37336         * lib/unistr/u-strlen.h: Likewise.
37337         * lib/unistr/u-strncat.h: Likewise.
37338         * lib/unistr/u-strncpy.h: Likewise.
37339         * lib/unistr/u-strnlen.h: Likewise.
37340         * lib/unistr/u-strpbrk.h: Likewise.
37341         * lib/unistr/u-strspn.h: Likewise.
37342         * lib/unistr/u-strstr.h: Likewise.
37343         * lib/unistr/u-strtok.h: Likewise.
37344         * lib/unistr/u16-check.c: Likewise.
37345         * lib/unistr/u16-chr.c: Likewise.
37346         * lib/unistr/u16-cmp.c: Likewise.
37347         * lib/unistr/u16-cpy-alloc.c: Likewise.
37348         * lib/unistr/u16-cpy.c: Likewise.
37349         * lib/unistr/u16-endswith.c: Likewise.
37350         * lib/unistr/u16-mblen.c: Likewise.
37351         * lib/unistr/u16-mbsnlen.c: Likewise.
37352         * lib/unistr/u16-mbtouc-aux.c: Likewise.
37353         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
37354         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
37355         * lib/unistr/u16-mbtouc.c: Likewise.
37356         * lib/unistr/u16-mbtoucr.c: Likewise.
37357         * lib/unistr/u16-move.c: Likewise.
37358         * lib/unistr/u16-next.c: Likewise.
37359         * lib/unistr/u16-prev.c: Likewise.
37360         * lib/unistr/u16-set.c: Likewise.
37361         * lib/unistr/u16-startswith.c: Likewise.
37362         * lib/unistr/u16-stpcpy.c: Likewise.
37363         * lib/unistr/u16-stpncpy.c: Likewise.
37364         * lib/unistr/u16-strcat.c: Likewise.
37365         * lib/unistr/u16-strchr.c: Likewise.
37366         * lib/unistr/u16-strcmp.c: Likewise.
37367         * lib/unistr/u16-strcpy.c: Likewise.
37368         * lib/unistr/u16-strcspn.c: Likewise.
37369         * lib/unistr/u16-strdup.c: Likewise.
37370         * lib/unistr/u16-strlen.c: Likewise.
37371         * lib/unistr/u16-strmblen.c: Likewise.
37372         * lib/unistr/u16-strmbtouc.c: Likewise.
37373         * lib/unistr/u16-strncat.c: Likewise.
37374         * lib/unistr/u16-strncmp.c: Likewise.
37375         * lib/unistr/u16-strncpy.c: Likewise.
37376         * lib/unistr/u16-strnlen.c: Likewise.
37377         * lib/unistr/u16-strpbrk.c: Likewise.
37378         * lib/unistr/u16-strrchr.c: Likewise.
37379         * lib/unistr/u16-strspn.c: Likewise.
37380         * lib/unistr/u16-strstr.c: Likewise.
37381         * lib/unistr/u16-strtok.c: Likewise.
37382         * lib/unistr/u16-to-u32.c: Likewise.
37383         * lib/unistr/u16-to-u8.c: Likewise.
37384         * lib/unistr/u16-uctomb-aux.c: Likewise.
37385         * lib/unistr/u16-uctomb.c: Likewise.
37386         * lib/unistr/u32-check.c: Likewise.
37387         * lib/unistr/u32-chr.c: Likewise.
37388         * lib/unistr/u32-cmp.c: Likewise.
37389         * lib/unistr/u32-cpy-alloc.c: Likewise.
37390         * lib/unistr/u32-cpy.c: Likewise.
37391         * lib/unistr/u32-endswith.c: Likewise.
37392         * lib/unistr/u32-mblen.c: Likewise.
37393         * lib/unistr/u32-mbsnlen.c: Likewise.
37394         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
37395         * lib/unistr/u32-mbtouc.c: Likewise.
37396         * lib/unistr/u32-mbtoucr.c: Likewise.
37397         * lib/unistr/u32-move.c: Likewise.
37398         * lib/unistr/u32-next.c: Likewise.
37399         * lib/unistr/u32-prev.c: Likewise.
37400         * lib/unistr/u32-set.c: Likewise.
37401         * lib/unistr/u32-startswith.c: Likewise.
37402         * lib/unistr/u32-stpcpy.c: Likewise.
37403         * lib/unistr/u32-stpncpy.c: Likewise.
37404         * lib/unistr/u32-strcat.c: Likewise.
37405         * lib/unistr/u32-strchr.c: Likewise.
37406         * lib/unistr/u32-strcmp.c: Likewise.
37407         * lib/unistr/u32-strcpy.c: Likewise.
37408         * lib/unistr/u32-strcspn.c: Likewise.
37409         * lib/unistr/u32-strdup.c: Likewise.
37410         * lib/unistr/u32-strlen.c: Likewise.
37411         * lib/unistr/u32-strmblen.c: Likewise.
37412         * lib/unistr/u32-strmbtouc.c: Likewise.
37413         * lib/unistr/u32-strncat.c: Likewise.
37414         * lib/unistr/u32-strncmp.c: Likewise.
37415         * lib/unistr/u32-strncpy.c: Likewise.
37416         * lib/unistr/u32-strnlen.c: Likewise.
37417         * lib/unistr/u32-strpbrk.c: Likewise.
37418         * lib/unistr/u32-strrchr.c: Likewise.
37419         * lib/unistr/u32-strspn.c: Likewise.
37420         * lib/unistr/u32-strstr.c: Likewise.
37421         * lib/unistr/u32-strtok.c: Likewise.
37422         * lib/unistr/u32-to-u16.c: Likewise.
37423         * lib/unistr/u32-to-u8.c: Likewise.
37424         * lib/unistr/u32-uctomb.c: Likewise.
37425         * lib/unistr/u8-check.c: Likewise.
37426         * lib/unistr/u8-chr.c: Likewise.
37427         * lib/unistr/u8-cmp.c: Likewise.
37428         * lib/unistr/u8-cpy-alloc.c: Likewise.
37429         * lib/unistr/u8-cpy.c: Likewise.
37430         * lib/unistr/u8-endswith.c: Likewise.
37431         * lib/unistr/u8-mblen.c: Likewise.
37432         * lib/unistr/u8-mbsnlen.c: Likewise.
37433         * lib/unistr/u8-mbtouc-aux.c: Likewise.
37434         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
37435         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
37436         * lib/unistr/u8-mbtouc.c: Likewise.
37437         * lib/unistr/u8-mbtoucr.c: Likewise.
37438         * lib/unistr/u8-move.c: Likewise.
37439         * lib/unistr/u8-next.c: Likewise.
37440         * lib/unistr/u8-prev.c: Likewise.
37441         * lib/unistr/u8-set.c: Likewise.
37442         * lib/unistr/u8-startswith.c: Likewise.
37443         * lib/unistr/u8-stpcpy.c: Likewise.
37444         * lib/unistr/u8-stpncpy.c: Likewise.
37445         * lib/unistr/u8-strcat.c: Likewise.
37446         * lib/unistr/u8-strchr.c: Likewise.
37447         * lib/unistr/u8-strcmp.c: Likewise.
37448         * lib/unistr/u8-strcpy.c: Likewise.
37449         * lib/unistr/u8-strcspn.c: Likewise.
37450         * lib/unistr/u8-strdup.c: Likewise.
37451         * lib/unistr/u8-strlen.c: Likewise.
37452         * lib/unistr/u8-strmblen.c: Likewise.
37453         * lib/unistr/u8-strmbtouc.c: Likewise.
37454         * lib/unistr/u8-strncat.c: Likewise.
37455         * lib/unistr/u8-strncmp.c: Likewise.
37456         * lib/unistr/u8-strncpy.c: Likewise.
37457         * lib/unistr/u8-strnlen.c: Likewise.
37458         * lib/unistr/u8-strpbrk.c: Likewise.
37459         * lib/unistr/u8-strrchr.c: Likewise.
37460         * lib/unistr/u8-strspn.c: Likewise.
37461         * lib/unistr/u8-strstr.c: Likewise.
37462         * lib/unistr/u8-strtok.c: Likewise.
37463         * lib/unistr/u8-to-u16.c: Likewise.
37464         * lib/unistr/u8-to-u32.c: Likewise.
37465         * lib/unistr/u8-uctomb-aux.c: Likewise.
37466         * lib/unistr/u8-uctomb.c: Likewise.
37467         * lib/unitypes.h: Likewise.
37468         * lib/uniwidth.h: Likewise.
37469         * lib/uniwidth/cjk.h: Likewise.
37470         * lib/uniwidth/u16-strwidth.c: Likewise.
37471         * lib/uniwidth/u16-width.c: Likewise.
37472         * lib/uniwidth/u32-strwidth.c: Likewise.
37473         * lib/uniwidth/u32-width.c: Likewise.
37474         * lib/uniwidth/u8-strwidth.c: Likewise.
37475         * lib/uniwidth/u8-width.c: Likewise.
37476         * lib/uniwidth/width.c: Likewise.
37477
37478 2007-10-07  Bruno Haible  <bruno@clisp.org>
37479
37480         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
37481         The file is still under LGPL (see modules/inttypes).
37482
37483 2007-10-06  Bruno Haible  <bruno@clisp.org>
37484
37485         * modules/trunc (Dependencies): Add 'extensions'.
37486         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
37487         Reported by Ben Pfaff <blp@gnu.org>.
37488
37489 2007-10-06  Bruno Haible  <bruno@clisp.org>
37490
37491         * modules/freopen-tests: New file.
37492         * tests/test-freopen.c: New file.
37493
37494         * modules/fopen-tests: New file.
37495         * tests/test-fopen.c: New file.
37496
37497         * modules/fopen: New file.
37498         * lib/fopen.c: New file.
37499         * m4/fopen.m4: New file.
37500         * modules/freopen: New file.
37501         * lib/freopen.c: New file.
37502         * m4/freopen.m4: New file.
37503         * lib/stdio.in.h (fopen, freopen): New declarations.
37504         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
37505         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
37506         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
37507         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
37508         * doc/functions/fopen.texi: Mention the 'fopen' module.
37509         * doc/functions/freopen.texi: Mention the 'freopen' module.
37510
37511 2007-10-06  Bruno Haible  <bruno@clisp.org>
37512
37513         * modules/open-tests: New file.
37514         * tests/test-open.c: New file.
37515
37516         * modules/open: New file.
37517         * lib/open.c: New file.
37518         * m4/open.m4: New file.
37519         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
37520         lib/open.c does.
37521         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
37522         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
37523         macros.
37524         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
37525         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
37526         REPLACE_OPEN.
37527         * doc/functions/open.texi: Mention the 'open' module.
37528
37529 2007-10-04  Bruno Haible  <bruno@clisp.org>
37530
37531         * modules/ceill-tests: New file.
37532         * tests/test-ceill.c: New file.
37533
37534         * modules/ceill: New file.
37535         * lib/ceill.c: Replace entire file.
37536         * m4/ceill.m4: New file.
37537         * lib/math.in.h (ceill): Replace declaration.
37538         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
37539         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
37540         * doc/functions/ceill.texi: Mention the 'ceill' module.
37541         * modules/mathl (Files): Remove lib/ceill.c.
37542         (Depends-on): Add ceill.
37543
37544 2007-10-04  Bruno Haible  <bruno@clisp.org>
37545
37546         * modules/ceilf-tests: New file.
37547         * tests/test-ceilf.c: New file.
37548
37549         * modules/ceilf: New file.
37550         * lib/ceil.c: New file.
37551         * lib/ceilf.c: New file.
37552         * m4/ceilf.m4: New file.
37553         * lib/math.in.h (ceilf): New declaration.
37554         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
37555         HAVE_DECL_CEILF.
37556         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
37557         HAVE_DECL_CEILF.
37558         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
37559
37560 2007-10-04  Bruno Haible  <bruno@clisp.org>
37561
37562         * modules/floorl-tests: New file.
37563         * tests/test-floorl.c: New file.
37564
37565         * modules/floorl: New file.
37566         * lib/floorl.c: Replace entire file.
37567         * m4/floorl.m4: New file.
37568         * lib/math.in.h (floorl): Replace declaration.
37569         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
37570         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
37571         * doc/functions/floorl.texi: Mention the 'floorl' module.
37572         * modules/mathl (Files): Remove lib/floorl.c.
37573         (Depends-on): Add floorl.
37574
37575 2007-10-04  Bruno Haible  <bruno@clisp.org>
37576
37577         * modules/floorf-tests: New file.
37578         * tests/test-floorf.c: New file.
37579
37580         * modules/floorf: New file.
37581         * lib/floor.c: New file.
37582         * lib/floorf.c: New file.
37583         * m4/floorf.m4: New file.
37584         * lib/math.in.h (floorf): New declaration.
37585         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
37586         HAVE_DECL_FLOORF.
37587         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
37588         HAVE_DECL_FLOORF.
37589         * doc/functions/floorf.texi: Mention the 'floorf' module.
37590
37591 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
37592             Bruno Haible  <bruno@clisp.org>
37593
37594         Advertise for the Git server instead of the CVS server.
37595         * doc/gnulib-intro.texi (Steady Development): Mention the Git
37596         repository instead of the CVS one.
37597         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
37598         about all VCS systems generically.
37599         * doc/gnulib.texi (Introduction): Capitalize `Git'.
37600
37601 2007-10-04  Bruno Haible  <bruno@clisp.org>
37602
37603         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
37604         means.
37605         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
37606
37607 2007-10-04  Bruno Haible  <bruno@clisp.org>
37608
37609         * modules/truncl-tests: New file.
37610         * tests/test-truncl.c: New file.
37611
37612         * modules/truncl: New file.
37613         * lib/truncl.c: New file.
37614         * m4/truncl.m4: New file.
37615         * lib/math.in.h (truncl): New declaration.
37616         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
37617         HAVE_DECL_TRUNCL.
37618         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
37619         HAVE_DECL_TRUNCL.
37620         * doc/functions/truncl.texi: Mention the 'truncl' module.
37621
37622 2007-10-04  Bruno Haible  <bruno@clisp.org>
37623
37624         * modules/truncf-tests: New file.
37625         * tests/test-truncf.c: New file.
37626
37627         * modules/truncf: New file.
37628         * lib/trunc.c: Make paramerizable through USE_* macros.
37629         * lib/truncf.c: New file.
37630         * m4/truncf.m4: New file.
37631         * lib/math.in.h (truncf): New declaration.
37632         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
37633         HAVE_DECL_TRUNCF.
37634         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
37635         HAVE_DECL_TRUNCF.
37636         * doc/functions/truncf.texi: Mention the 'truncf' module.
37637
37638 2007-10-03  Bruno Haible  <bruno@clisp.org>
37639
37640         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
37641         augmentation also for tests modules.
37642         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
37643         * modules/atexit-tests (Makefile.am): Likewise.
37644         * modules/binary-io-tests (Makefile.am): Likewise.
37645         * modules/c-strcase-tests (Makefile.am): Likewise.
37646         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
37647         * modules/canonicalize-tests (Makefile.am): Likewise.
37648         * modules/closein-tests (Makefile.am): Likewise.
37649         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37650         * modules/freadahead-tests (Makefile.am): Likewise.
37651         * modules/fseek-tests (Makefile.am): Likewise.
37652         * modules/fseeko-tests (Makefile.am): Likewise.
37653         * modules/ftell-tests (Makefile.am): Likewise.
37654         * modules/ftello-tests (Makefile.am): Likewise.
37655         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
37656         * modules/isnanl-tests (Makefile.am): Likewise.
37657         * modules/lseek-tests (Makefile.am): Likewise.
37658         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37659         * modules/mbscasestr-tests (Makefile.am): Likewise.
37660         * modules/mbschr-tests (Makefile.am): Likewise.
37661         * modules/mbscspn-tests (Makefile.am): Likewise.
37662         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37663         * modules/mbspbrk-tests (Makefile.am): Likewise.
37664         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37665         * modules/mbsrchr-tests (Makefile.am): Likewise.
37666         * modules/mbsspn-tests (Makefile.am): Likewise.
37667         * modules/mbsstr-tests (Makefile.am): Likewise.
37668         * modules/printf-posix-tests (Makefile.am): Likewise.
37669         * modules/snprintf-posix-tests (Makefile.am): Likewise.
37670         * modules/sprintf-posix-tests (Makefile.am): Likewise.
37671         * modules/tsearch-tests (Makefile.am): Likewise.
37672         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37673         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37674         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37675         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37676         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37677         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37678         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37679         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37680         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
37681         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
37682         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37683         * modules/xstrtol-tests (Makefile.am): Likewise.
37684         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37685         * modules/yesno-tests (Makefile.am): Likewise.
37686
37687 2007-10-03  Bruno Haible  <bruno@clisp.org>
37688
37689         * modules/trunc-tests: New file.
37690         * tests/test-trunc.c: New file.
37691
37692         * modules/trunc: New file.
37693         * lib/trunc.c: New file.
37694         * m4/trunc.m4: New file.
37695         * lib/math.in.h (trunc): New declaration.
37696         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
37697         HAVE_DECL_TRUNC.
37698         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
37699         HAVE_DECL_TRUNC.
37700         * doc/functions/trunc.texi: Mention the 'trunc' module.
37701
37702 2007-10-03  Bruno Haible  <bruno@clisp.org>
37703
37704         * tests/test-fpending.c: New file, mostly copied
37705         from coreutils/lib/t-fpending.c.
37706         * modules/fpending-tests: New file.
37707
37708 2007-10-03  Bruno Haible  <bruno@clisp.org>
37709
37710         Port the stdio extensions to QNX (untested).
37711         * lib/fseterr.c (fseterr): Add support for QNX.
37712         * lib/fbufmode.c (fbufmode): Likewise.
37713         * lib/freadable.c (freadable): Likewise.
37714         * lib/fwritable.c (fwritable): Likewise.
37715         * lib/freading.c (freading): Likewise.
37716         * lib/fwriting.c (fwriting): Likewise.
37717         * lib/freadahead.c (freadahed): Likewise.
37718         * lib/fpurge.c (fpurge): Likewise.
37719         * lib/fseeko.c (rpl_fseeko): Likewise.
37720
37721 2007-10-03  Bruno Haible  <bruno@clisp.org>
37722             Jim Meyering  <jim@meyering.net>
37723             Eric Blake  <ebb9@byu.net>
37724
37725         * doc/relocatable.texi: Use @command instead of @program.
37726
37727 2007-10-02  Jim Meyering  <jim@meyering.net>
37728
37729         Perform one more "_.h" -> ".in.h" substitution.
37730         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
37731         instead of unistd_.h here, too.
37732
37733 2007-10-01  Bruno Haible  <bruno@clisp.org>
37734
37735         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
37736         Needed for the alloca-opt module.
37737
37738 2007-09-30  Bruno Haible  <bruno@clisp.org>
37739
37740         * lib/alloca.in.h: Renamed from lib/alloca_.h.
37741         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
37742         alloca_.h.
37743         * lib/argz.in.h: Renamed from lib/argz_.h.
37744         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
37745         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
37746         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
37747         byteswap_.h.
37748         * lib/dirent.in.h: Renamed from lib/dirent_.h.
37749         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
37750         dirent_.h.
37751         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
37752         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
37753         fcntl_.h.
37754         * lib/float.in.h: Renamed from lib/float_.h.
37755         * modules/float (Files, Makefile.am): Use float.in.h instead of
37756         float_.h.
37757         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
37758         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
37759         fnmatch_.h.
37760         * lib/getopt.in.h: Renamed from lib/getopt_.h.
37761         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
37762         getopt_.h.
37763         * lib/glob.in.h: Renamed from lib/glob_.h.
37764         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
37765         * lib/iconv.in.h: Renamed from lib/iconv_.h.
37766         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
37767         iconv_.h.
37768         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
37769         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
37770         inttypes_.h.
37771         * lib/locale.in.h: Renamed from lib/locale_.h.
37772         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
37773         locale_.h.
37774         * lib/math.in.h: Renamed from lib/math_.h.
37775         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
37776         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
37777         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
37778         of netinet_in_.h. Add dependency.
37779         * lib/poll.in.h: Renamed from lib/poll_.h.
37780         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
37781         * lib/search.in.h: Renamed from lib/search_.h.
37782         * modules/search (Files, Makefile.am): Use search.in.h instead of
37783         search_.h.
37784         * lib/signal.in.h: Renamed from lib/signal_.h.
37785         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
37786         _signal.h.
37787         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
37788         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
37789         stdbool_.h.
37790         * lib/stdint.in.h: Renamed from lib/stdint_.h.
37791         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
37792         stdint_.h.
37793         * lib/stdio.in.h: Renamed from lib/stdio_.h.
37794         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
37795         stdio_.h.
37796         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
37797         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
37798         stdlib_.h.
37799         * lib/string.in.h: Renamed from lib/string_.h.
37800         * modules/string (Files, Makefile.am): Use string.in.h instead of
37801         string_.h.
37802         * doc/gnulib-tool.texi (Initial import): Update.
37803         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
37804         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
37805         of sys_select_.h. Add dependency.
37806         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
37807         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
37808         of sys_socket_.h.
37809         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
37810         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
37811         sys_stat_.h.
37812         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
37813         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
37814         sys_time_.h.
37815         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
37816         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
37817         sysexits_.h.
37818         * lib/time.in.h: Renamed from lib/time_.h.
37819         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
37820         * lib/unistd.in.h: Renamed from lib/unistd_.h.
37821         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
37822         unistd_.h.
37823         * lib/wchar.in.h: Renamed from lib/wchar_.h.
37824         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
37825         wchar_.h.
37826         * lib/wctype.in.h: Renamed from lib/wctype_.h.
37827         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
37828         wctype_.h.
37829         * build-aux/bootstrap (slurp): Update.
37830         * lib/.cppi-disable: Update.
37831
37832 2007-09-30  Bruno Haible  <bruno@clisp.org>
37833
37834         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
37835         Needed on BeOS.
37836
37837 2007-09-30  Bruno Haible  <bruno@clisp.org>
37838
37839         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
37840
37841 2007-09-29  Bruno Haible  <bruno@clisp.org>
37842
37843         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
37844
37845 2007-09-29  Bruno Haible  <bruno@clisp.org>
37846
37847         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
37848         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
37849         * build-aux/install-reloc: Compile also areadlink.c.
37850         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
37851
37852 2007-09-29  Bruno Haible  <bruno@clisp.org>
37853
37854         * gnulib-tool (func_emit_initmacro_done): Indentation.
37855
37856 2007-09-29  Bruno Haible  <bruno@clisp.org>
37857
37858         * README: Add CVS checkout update instructions.
37859         Info from Bob Proulx <bob@proulx.com>.
37860
37861 2007-09-28  Eric Blake  <ebb9@byu.net>
37862
37863         Provide move-if-change.
37864         * build-aux/move-if-change: New file, based on best practice
37865         rather than any canonical upstream location.
37866
37867 2007-09-28  Jim Meyering  <jim@meyering.net>
37868
37869         Fix canonicalize loop-detection corner case.
37870         Do not attempt to stat the symlink values stored via seen_triple.
37871         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
37872         on linux-2.6.18, (but not 2.6.22).
37873         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
37874         triple_compare.  The former compares dev,ino,filename, while the latter
37875         would actually stat dirname(filename) when dev and ino were equal.
37876         * lib/hash-triple.c: Install <string.h>.
37877         (STREQ): Define.
37878         (triple_compare_ino_str): New function.
37879         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
37880
37881 2007-09-28  Eric Blake  <ebb9@byu.net>
37882
37883         Enforce that AC_REPLACE_FUNCS files exist.
37884         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
37885         override check for typos.
37886
37887         Fix test-closein on Solaris 10.
37888         * tests/test-closein.c (main): Don't assume stdin can be inherited
37889         closed on all systems.
37890         * tests/test-closein.sh: Likewise.
37891         Reported by Piotr Tarnowski.
37892
37893 2007-09-28  Jim Meyering  <jim@meyering.net>
37894
37895         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
37896
37897 2007-09-27  Jim Meyering  <jim@meyering.net>
37898
37899         canonicalize: Avoid a false-positive cycle failure.
37900         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
37901         Sort.  Remove cycle-check.
37902         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
37903         not cycle-check.h.
37904         (seen_triple): New function.
37905         (canonicalize_filename_mode): Use it instead of cycle-check.
37906         * tests/test-canonicalize.c: Add a test for this bug.
37907         * tests/test-canonicalize.sh: Set up and run the test.
37908
37909         New module, file-set, from coreutils.
37910         * modules/file-set: Define it.
37911         * lib/file-set.c, lib/file-set.h: Implement.
37912
37913         New module, hash-triple, from coreutils.
37914         * modules/hash-triple: Define it.
37915         * lib/hash-triple.c, lib/hash-triple.h: Implement.
37916
37917 2007-09-25  Eric Blake  <ebb9@byu.net>
37918
37919         Fix strerror on Interix.
37920         * lib/string_.h (strerror): Declare replacement.
37921         * doc/functions/strerror.texi (strerror): Document the Interix
37922         shortcoming.
37923         * modules/string (Makefile.am): Support new hooks.
37924         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
37925         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
37926         gl_FUNC_STRERROR_SEPARATE.
37927         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
37928         * lib/strerror.c (rpl_strerror): Provide replacement.
37929         * modules/strerror (Depends-on): Add string.
37930         (configure.ac): Detect use of module.
37931         * tests/test-strerror.c: New file.
37932         * modules/strerror-tests: New test module.
37933         * modules/argp (Depends-on): Add strerror.
37934         * modules/error (Depends-on): Likewise.
37935         Reported by Martin Koeppe.
37936
37937 2007-09-24  Bruno Haible  <bruno@clisp.org>
37938
37939         * README: Update git instructions.
37940
37941 2007-09-24  Eric Blake  <ebb9@byu.net>
37942
37943         Revert fpending breakage from 2007-09-08.
37944         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
37945         __fpending.c.
37946
37947 2007-09-24  Jim Meyering  <jim@meyering.net>
37948
37949         filenamecat.c: Add a test.
37950         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
37951         showing how the function works when DIR is the empty string.
37952
37953 2007-09-21  Simon Josefsson  <simon@josefsson.org>
37954
37955         * tests/test-canonicalize.sh: Turn on executable bit.
37956
37957 2007-09-19  Eric Blake  <ebb9@byu.net>
37958
37959         * README: Update CVS instructions.
37960
37961 2007-09-18  Bruno Haible  <bruno@clisp.org>
37962
37963         * modules/areadlink: New file.
37964         * lib/areadlink.h (areadlink): New declaration.
37965         * lib/areadlink.c: New file, based on lib/xreadlink.c.
37966
37967 2007-09-17  Jim Meyering  <jim@meyering.net>
37968
37969         * lib/savewd.c (ESTALE) [!defined]: Define.
37970         Reported to be required on Interix by Martin Koeppe.
37971
37972 2007-09-17  Bruno Haible  <bruno@clisp.org>
37973
37974         * gnulib-tool (func_version): Use $version.
37975
37976 2007-09-16  Bruno Haible  <bruno@clisp.org>
37977
37978         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
37979         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
37980         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
37981         Reported by Greg Schafer <gschafer@zip.com.au>.
37982
37983 2007-09-15  Bruno Haible  <bruno@clisp.org>
37984
37985         * gnulib-tool (sed): Try a little harder to make bash understand the
37986         alias.
37987         Reported by Bruce Korb <bruce.korb@gmail.com>.
37988
37989 2007-09-13  Eric Blake  <ebb9@byu.net>
37990
37991         * ChangeLog: Remove conflict markers.
37992
37993 2007-09-13  Simon Josefsson  <simon@josefsson.org>
37994
37995         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
37996         Reported by Bruno Haible <bruno@clisp.org>.
37997
37998 2007-09-12  Bruno Haible  <bruno@clisp.org>
37999
38000         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
38001         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
38002         is not defined.
38003
38004 2007-09-12  Eric Blake  <ebb9@byu.net>
38005
38006         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
38007         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
38008         Autoconf definition.
38009         * modules/euidaccess (Depends-on): Add extensions, for
38010         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
38011         * modules/fnmatch (Depends-on): Likewise.
38012         * modules/getaddrinfo (Depends-on): Likewise.
38013         * modules/getdelim (Depends-on): Likewise.
38014         * modules/getline (Depends-on): Likewise.
38015         * modules/getsubopt (Depends-on): Likewise.
38016         * modules/gettext (Depends-on): Likewise.
38017         * modules/group-member (Depends-on): Likewise.
38018         * modules/mbchar (Depends-on): Likewise.
38019         * modules/memmem (Depends-on): Likewise.
38020         * modules/mempcpy (Depends-on): Likewise.
38021         * modules/memrchr (Depends-on): Likewise.
38022         * modules/pagealign_alloc (Depends-on): Likewise.
38023         * modules/readutmp (Depends-on): Likewise.
38024         * modules/stpcpy (Depends-on): Likewise.
38025         * modules/stpncpy (Depends-on): Likewise.
38026         * modules/strchrnul (Depends-on): Likewise.
38027         * modules/strndup (Depends-on): Likewise.
38028         * modules/strsep (Depends-on): Likewise.
38029         * modules/strverscmp (Depends-on): Likewise.
38030         * modules/vasprintf (Depends-on): Likewise.
38031         * modules/wcwidth (Depends-on): Likewise.
38032         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
38033         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
38034         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
38035         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
38036         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
38037         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
38038         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
38039         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
38040         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
38041         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
38042         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
38043         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
38044         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
38045         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
38046         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
38047         * m4/readutmp.m4 (gl_READUTMP): Likewise.
38048         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
38049         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
38050         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
38051         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
38052         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
38053         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
38054         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
38055         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
38056         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
38057         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
38058         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
38059         so that lock.m4 can be used in gettext without extensions module.
38060
38061 2007-09-11  Bruno Haible  <bruno@clisp.org>
38062
38063         * m4/isc-posix.m4: Remove file.
38064         Suggested by Eric Blake.
38065
38066 2007-09-11  Eric Blake  <ebb9@byu.net>
38067
38068         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
38069
38070 2007-09-10  Bruno Haible  <bruno@clisp.org>
38071
38072         * posix-modules: Fix typo in error message.
38073         Reported by Matt <mkraai@beckman.com>.
38074
38075 2007-09-09  Bruno Haible  <bruno@clisp.org>
38076
38077         * doc/functions/getdelim.texi: Update list of platforms lacking the
38078         function.
38079         * doc/functions/getline.texi: Likewise.
38080
38081 2007-09-09  Jim Meyering  <jim@meyering.net>
38082
38083         * lib/hash.c (hash_initialize): Detect calloc failure.
38084         Reported by Bruno Haible.
38085
38086 2007-09-09  Bruno Haible  <bruno@clisp.org>
38087
38088         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
38089         malloc or realloc fails.
38090
38091 2007-09-09  Bruno Haible  <bruno@clisp.org>
38092
38093         * modules/getcwd (Depends-on): Add malloc-posix.
38094         * modules/glob (Depends-on): Likewise.
38095         * modules/putenv (Depends-on): Likewise.
38096         * modules/strdup (Depends-on): Likewise.
38097         * modules/getdelim (Depends-on): Add realloc-posix.
38098         * modules/read-file (Depends-on): Likewise.
38099
38100 2007-09-09  Bruno Haible  <bruno@clisp.org>
38101
38102         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
38103         (gl_FUNC_MALLOC_POSIX): Require it.
38104         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
38105         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
38106         * modules/realloc (Files): Add m4/malloc.m4.
38107         * modules/calloc (Files): Likewise.
38108
38109 2007-09-09  Bruno Haible  <bruno@clisp.org>
38110
38111         * modules/malloc-posix: New file.
38112         * modules/malloc (Depends-on): Add malloc-posix.
38113         * lib/malloc.c: Include errno.h.
38114         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
38115         and a POSIX-compatible malloc into a single function. Set ENOMEM
38116         when returning NULL.
38117         * m4/malloc.m4: New file.
38118         * doc/functions/malloc.texi: Mention the malloc-posix module.
38119         * lib/stdlib_.h (malloc): New declaration.
38120         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
38121         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
38122         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
38123         and HAVE_MALLOC_POSIX.
38124
38125 2007-09-09  Bruno Haible  <bruno@clisp.org>
38126
38127         * modules/realloc-posix: New file.
38128         * modules/realloc (Depends-on): Add realloc-posix.
38129         * lib/realloc.c: Include errno.h.
38130         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
38131         and a POSIX-compatible realloc into a single function. Set ENOMEM
38132         when returning NULL.
38133         * m4/realloc.m4: New file.
38134         * doc/functions/realloc.texi: Mention the realloc-posix module.
38135         * lib/stdlib_.h (realloc): New declaration.
38136         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
38137         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
38138         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
38139         and HAVE_REALLOC_POSIX.
38140
38141 2007-09-09  Bruno Haible  <bruno@clisp.org>
38142
38143         * modules/calloc-posix: New file.
38144         * modules/calloc (Depends-on): Add calloc-posix.
38145         * lib/calloc.c: Include errno.h.
38146         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
38147         and a POSIX-compatible calloc into a single function. Set ENOMEM
38148         when returning NULL.
38149         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
38150         * doc/functions/calloc.texi: Mention the calloc-posix module.
38151         * lib/stdlib_.h (calloc): New declaration.
38152         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
38153         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
38154         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
38155         and HAVE_CALLOC_POSIX.
38156
38157 2007-09-09  Bruno Haible  <bruno@clisp.org>
38158
38159         Allow for modules to show an arbitrary notice.
38160         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
38161         * gnulib-tool: New option --extract-notice.
38162         (func_usage): Document it.
38163         (sed_extract_prog): Update.
38164         (func_get_notice): New function.
38165         (func_modules_notice): New function.
38166         (func_import, func_create_testdir): Invoke it.
38167         Suggested by Jim Meyering.
38168
38169 2007-09-09  Bruno Haible  <bruno@clisp.org>
38170
38171         * gnulib-tool: New options --verbose, --quiet.
38172         (func_usage): Document them.
38173         (verbose): New variable.
38174         (func_execute_command): New function.
38175         (func_import): Don't show the module list and the file list if
38176         $verbose < 0.
38177         (func_create_testdir): Likewise. Use func_execute_command.
38178         (func_create_megatestdir): Use func_execute_command.
38179
38180 2007-09-08  Bruno Haible  <bruno@clisp.org>
38181
38182         * gnulib-tool (func_import): Prefer rsync over wget when available,
38183         for fetching the PO files.
38184
38185 2007-09-08  Bruno Haible  <bruno@clisp.org>
38186
38187         * posix-modules: New file. Portions copied from gnulib-tool.
38188         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
38189
38190 2007-09-08  Jim Meyering  <jim@meyering.net>
38191
38192         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
38193         * lib/fpending.h: Rename from __fpending.h.
38194         * lib/fpending.c: Rename from __fpending.c.
38195         Include "fpending.h", not "__fpending.h".
38196         * lib/__fpending.h, lib/__fpending.c: Remove files.
38197         * modules/fpending (Files): Reflect new file names.
38198         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
38199
38200 2007-09-08  Bruno Haible  <bruno@clisp.org>
38201
38202         * m4/inttypes-h.m4: Remove stub file.
38203
38204 2007-09-07  Simon Josefsson  <simon@josefsson.org>
38205
38206         * doc/headers/stdint.texi: Discuss #include_next issue.
38207
38208 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
38209
38210         * build-aux/bootstrap: Remove obsolete comment about wget --help.
38211
38212 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38213
38214         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
38215         in variable name.
38216
38217 2007-09-03  Jim Meyering  <jim@meyering.net>
38218
38219         New module: git-version-gen.
38220         * modules/git-version-gen: New file.
38221
38222         Import changes from coreutils for bootstrap script.
38223
38224         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
38225
38226         bootstrap: uses rsync to download the .po files
38227         * build-aux/bootstrap (po_download_command_format): New global.
38228         (download_po_files): Use rsync.
38229         (update_po_files): Don't remove .po files after download,
38230         so future rsync runs can take advantage of the copies.
38231
38232         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
38233
38234         Solve the unnecessary-.po-file-regeneration problem once and for all.
38235         * build-aux/bootstrap (download_po_files): New function, renamed from
38236         get_translations.  Now, downloads, but doesn't update LINGUAS.
38237         (update_po_files): New function.
38238
38239         bootstrap: Ignore more.
38240         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
38241         uniwidth to e.g., lib/.gitignore.
38242         (slurp): Handle the sys_stat_.h -> sys mapping, too.
38243
38244         * build-aux/bootstrap: New setting: vc_ignore.
38245         (insert_sorted_if_absent): Create $file if absent.
38246         Adapt to new, possibly empty, list: $vc_ignore.
38247
38248         bootstrap: generate more ignorable names
38249         * build-aux/bootstrap (slurp): When generating ignorable names,
38250         also map .sin to .sed, .gperf to .c, and .y to .c.
38251
38252 2007-09-03  Jim Meyering  <jim@meyering.net>
38253
38254         * build-aux/git-version-gen: New file, from coreutils.  For details, see
38255         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
38256
38257 2007-09-02  Bruno Haible  <bruno@clisp.org>
38258
38259         Fix mis-recognition of 'mcs' on QNX 6.
38260         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
38261         output contains the string "Mono".
38262         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
38263         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
38264
38265 2007-09-01  Bruno Haible  <bruno@clisp.org>
38266
38267         Fix collision between uniwidth/* and linebreak modules.
38268         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
38269         u32_width): Remove declarations.
38270         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
38271         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
38272         streq3, streq2, streq1, streq0): Remove functions.
38273         (STREQ): Remove macro.
38274         (is_cjk_encoding): Remove function.
38275         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
38276         (uc_width, u8_width, u16_width, u32_width): Remove functions.
38277         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
38278         * NEWS: Document the change.
38279
38280 2007-09-01  Bruno Haible  <bruno@clisp.org>
38281
38282         * lib/streq.h: Add double-inclusion guard.
38283
38284 2007-09-01  Karl Berry  <karl@gnu.org>
38285
38286         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
38287
38288 2007-08-28  Jim Meyering  <jim@meyering.net>
38289
38290         Rename mreadlink_with_size to areadlink_with_size.
38291         * NEWS: Document the change.
38292         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
38293         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
38294         * lib/mreadlink.h: Rename this to...
38295         * lib/areadlink.h: ...this.
38296         * modules/mreadlink-with-size: Rename this to...
38297         * modules/areadlink-with-size: ...this.
38298         * lib/canonicalize.c: Reflect the renaming.
38299         * modules/canonicalize: Likewise.
38300
38301 2007-08-26  Bruno Haible  <bruno@clisp.org>
38302
38303         * gnulib-tool (func_import): When deciding which files to remove,
38304         consider also dangling symbolic links.
38305         Reported by Eric Blake.
38306
38307 2007-08-26  Bruno Haible  <bruno@clisp.org>
38308
38309         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
38310
38311 2007-08-23  Simon Josefsson  <simon@josefsson.org>
38312
38313         * lib/readline.c: Don't include getline.h, the prototype is now
38314         found in stdio.h.
38315
38316 2007-08-23  Jim Meyering  <jim@meyering.net>
38317
38318         Getdelim touchup.
38319         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
38320         around the funlockfile call, since funlockfile never sets errno.
38321         Don't set errno upon failed realloc.
38322
38323 2007-08-22  Eric Blake  <ebb9@byu.net>
38324
38325         Getline touchups.
38326         * lib/getdelim.c (getdelim): Revert regression that required *n to
38327         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
38328         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
38329         getdelim, rather than whether implementation is missing.
38330         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
38331         * lib/stdio_.h (getline): Also declare if replacement is
38332         required.
38333         * doc/functions/getdelim.texi: New file.
38334         * doc/functions/getline.texi: Likewise.
38335         * doc/gnulib.texi (Function Substitutes): Add new files.
38336         Reported by Bruno Haible.
38337
38338 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
38339
38340         * users.txt: Add Guile.
38341
38342 2007-08-22  Eric Blake  <ebb9@byu.net>
38343
38344         * tests/test-getdelim.c (main): Use remove, not unlink.
38345         * tests/test-getline.c (main): Likewise.
38346
38347         Move getline and getdelim into stdio.h, per POSIX 200x.
38348         * modules/getline (Files): Remove getline.h.
38349         (Depends-on): Add stdio.
38350         (configure.ac): Add module indicator.
38351         * modules/getdelim (Files): Remove getdelim.h.
38352         (Depends-on): Add stdio.
38353         (configure.ac): Add module indicator.
38354         * modules/stdio (Makefile.am): Work with new indicators.
38355         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
38356         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
38357         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
38358         * lib/getdelim.h: Delete.
38359         * lib/getline.h: Delete.
38360         * lib/stdio_.h (getdelim, getline): Declare.
38361         * modules/getdelim-tests: New module.
38362         * modules/getline-tests: Likewise.
38363         * tests/test-getdelim.c: New file.
38364         * tests/test-getline.c: Likewise.
38365         * NEWS: Document the change.
38366         * lib/getline.c: Update choice of header.
38367         * lib/csharpcomp.c: Likewise.
38368         * lib/getpass.c: Likewise.
38369         * lib/javacomp.c: Likewise.
38370         * lib/javaversion.c: Likewise.
38371         * lib/yesno.c: Likewise.
38372         * lib/getdelim.c: Likewise.
38373         (getdelim): Set errno on failure, and avoid memory leak.
38374
38375 2007-08-19  Bruno Haible  <bruno@clisp.org>
38376
38377         * modules/closein (Depends-on): Add freadahead.
38378         * lib/closein.c: Include freadahead.h.
38379         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
38380         is zero.
38381
38382 2007-08-19  Bruno Haible  <bruno@clisp.org>
38383
38384         * modules/freadahead-tests: New file.
38385         * tests/test-freadahead.sh: New file.
38386         * tests/test-freadahead.c: New file.
38387
38388         * modules/freadahead: New file.
38389         * lib/freadahead.h: New file.
38390         * lib/freadahead.c: New file.
38391         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
38392         fbufmode, fpurge, freadable, fwritable.
38393
38394 2007-08-19  Eric Blake  <ebb9@byu.net>
38395
38396         Test yesno in combination with closein.
38397         * lib/yesno.c (yesno): Document use of stdin.
38398         * modules/yesno-tests (Files): New module.
38399         * tests/test-yesno.c (main): New file.
38400         * tests/test-yesno.sh: Likewise.
38401
38402 2007-08-19  Bruno Haible  <bruno@clisp.org>
38403
38404         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
38405         * lib/fseeko.c (rpl_fseeko): Likewise.
38406         * lib/fseterr.c (fseterr): Likewise.
38407
38408 2007-08-19  Bruno Haible  <bruno@clisp.org>
38409
38410         * tests/test-lseek.c (main): Disable a test for BeOS.
38411         * doc/functions/lseek.texi: Document the BeOS bug.
38412
38413 2007-08-19  Bruno Haible  <bruno@clisp.org>
38414             Eric Blake  <ebb9@byu.net>
38415
38416         * lib/lseek.c: Include <sys/stat.h>.
38417         (rpl_lseek): Add workaround code also for Unix platforms.
38418         Needed for BeOS.
38419         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
38420         * doc/functions/lseek.texi: Document BeOS definiency.
38421
38422 2007-08-18  Bruno Haible  <bruno@clisp.org>
38423
38424         * modules/fstrcmp-tests: New file.
38425         * tests/test-fstrcmp.c: New file.
38426
38427 2007-08-18  Bruno Haible  <bruno@clisp.org>
38428
38429         * modules/fstrcmp: New file, from GNU gettext with modifications.
38430         * lib/fstrcmp.h: New file, from GNU gettext.
38431         * lib/fstrcmp.c: New file, from GNU gettext.
38432         * MODULES.html.sh (String handling): Add fstrcmp.
38433
38434 2007-08-18  Bruno Haible  <bruno@clisp.org>
38435
38436         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
38437         'bool'.
38438         (diag, compareseq): Remove const from the ctxt argument.
38439         (USE_HEURISTIC): Undefine at the end.
38440
38441 2007-08-18  Jim Meyering  <jim@meyering.net>
38442
38443         New file: lib/idcache.h
38444         * NEWS: Mention the addition.
38445         * modules/idcache (Files): Add lib/idcache.h
38446         * lib/idcache.c: Include "idcache.h".
38447         Don't include <sys/types.h>.
38448         Add a FIXME comment.
38449         Move file-scoped "static" declarations to the top.
38450         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
38451
38452 2007-08-17  Bruno Haible  <bruno@clisp.org>
38453         and Paul Eggert  <eggert@cs.ucla.edu>
38454
38455         * MODULES.html.sh: Add diffseq.
38456         * modules/diffseq: New file.
38457         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
38458         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
38459
38460 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
38461
38462         Import changes from coreutils for bootstrap script.
38463
38464         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
38465
38466         * build-aux/bootstrap (slurp): Work even in environments where
38467         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
38468         current code does not slurp files whose names start with ".", and
38469         this looks like it might be a troublesome area.
38470
38471         2007-07-11  Jim Meyering  <jim@meyering.net>
38472
38473         If there's a GPL vN copyright comment, require that N == 3.
38474
38475         2007-07-08  Jim Meyering  <jim@meyering.net>
38476
38477         Run the coreutils-specific code only if tests/Makefile.am.in exists.
38478         * build-aux/bootstrap (mam_template): Move definition out of loop.
38479
38480         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
38481
38482         * build-aux/bootstrap (symlink_to_dir): Rename function from
38483         symlink_to_gnulib.  Add a directory parameter.  Update all
38484         callers.
38485         (cp_mark_as_generated): Also check for -- and link to -- files in
38486         gl/.
38487
38488         2007-07-08  Jim Meyering  <jim@meyering.net>
38489
38490         Adapt to deeper hierarchy in gnulib.
38491         * build-aux/bootstrap (symlink_to_dir): If the destination
38492         directory doesn't exist, create it. This is required at least for
38493         "lib/uniwidth/cjk.h".
38494
38495         2007-05-15  Jim Meyering  <jim@meyering.net>
38496
38497         * build-aux/bootstrap: Now that generated Makefile.am files
38498         are no longer under version control, they must be created at
38499         bootstrap time.
38500
38501 2007-08-14  Ben Pfaff  <blp@gnu.org>
38502
38503         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
38504
38505 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
38506
38507         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
38508         given the changes below.
38509         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
38510         even on hosts that have padding bits beyond the supported 64.
38511
38512 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
38513
38514         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
38515         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
38516         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
38517         depends on it.
38518         (xstrtol_error): Remove.
38519         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
38520         but with a different signature.
38521         (ATTRIBUTE_NORETURN, __attribute__): New macros.
38522         * lib/xstrtol-error.c: Include exitfail.h.
38523         (xstrtol_fatal): New function, with a different signature from the
38524         old xstrtol_error, so that the caller need not worry about passing
38525         in an exit status, or about storage management of the option argument.
38526         (xstrtol_error): Now a static function.  Redo signature to
38527         implement xstrtol_fatal.  Output the correct number of hyphens in
38528         front of the option so that the caller need not worry about
38529         storage management.
38530         (N_): New macro.
38531         (_): Remove; not used now.
38532         * modules/xstrtol: Depend on getopt.
38533         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
38534         of old STRTOL_FATAL_ERROR macro.
38535         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
38536         of test program.
38537         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
38538         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
38539
38540 2007-08-08  Eric Blake  <ebb9@byu.net>
38541
38542         * lib/xstrtol-error.c: Add missing include.
38543
38544         Move xstrtol messages into gnulib domain, when --pobase is used.
38545         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
38546         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
38547         * modules/xstrtol (Files): Distribute new file.
38548         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
38549         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
38550         * tests/test-xstrtol.c: ...into new file.
38551         * tests/test-xstrtoul.c: Also test xstrtoul.
38552         * tests/test-xstrtoimax.c: Also test xstrtoimax.
38553         * tests/test-xstrtoumax.c: Also test xstrtoumax.
38554         * tests/test-xstrtol.sh: Drive the tests.
38555         * tests/test-xstrtoimax.sh: Likewise.
38556         * tests/test-xstrtoumax.sh: Likewise.
38557         * modules/xstrtol-tests: New module.
38558         * modules/xstrtoimax-tests: Likewise.
38559         * modules/xstrtoumax-tests: Likewise.
38560
38561 2007-08-08  Jim Meyering  <jim@meyering.net>
38562
38563         New function: mfile_name_concat.
38564         * lib/filenamecat.c (mfile_name_concat): New function, just like
38565         file_name_concat, but return NULL upon failure rather than exiting
38566         with a diagnostic.
38567         * lib/filenamecat.h: Declare it.
38568
38569 2007-08-07  Bruno Haible  <bruno@clisp.org>
38570
38571         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
38572         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
38573         warning from gcc.
38574         Reported by Eric Blake.
38575
38576 2007-08-07  Simon Josefsson  <simon@josefsson.org>
38577
38578         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
38579         * modules/crypto/arcfour (License): Likewise.
38580         * modules/crypto/des-tests (License): Likewise.
38581         * modules/crypto/gc-arctwo-tests (License): Likewise.
38582         * modules/crypto/gc-des-tests (License): Likewise.
38583         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
38584         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
38585         * modules/crypto/gc-md2-tests (License): Likewise.
38586         * modules/crypto/gc-md4-tests (License): Likewise.
38587         * modules/crypto/gc-md5-tests (License): Likewise.
38588         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
38589         * modules/crypto/gc-rijndael-tests (License): Likewise.
38590         * modules/crypto/gc-sha1-tests (License): Likewise.
38591         * modules/crypto/gc-tests (License): Likewise.
38592         * modules/crypto/hmac-md5 (License): Likewise.
38593         * modules/crypto/hmac-sha1 (License): Likewise.
38594         * modules/crypto/md2-tests (License): Likewise.
38595         * modules/crypto/md4-tests (License): Likewise.
38596         * modules/crypto/md5 (License): Likewise.
38597         * modules/crypto/rijndael (License): Likewise.
38598         * modules/crypto/sha1 (License): Likewise.
38599         * modules/memxor (License): Likewise.
38600
38601 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
38602         and Bruno Haible  <bruno@clisp.org>
38603
38604         * NEWS: Describe interface changes to human, xstrtol.
38605         * lib/human.h: Include <xstrtol.h>.
38606         (human_options): Return enum strtol_error, not int.  Remove
38607         bool arg; take int * instead.
38608         * lib/human.c: Don't include "gettext.h".
38609         (_): Remove; no longer used.
38610         Don't include <xstrtol.h>, since human.h does it.
38611         (human_options): Adjust to abovementioned interface changes.
38612         Do not report error to stderr; that's now the caller's
38613         responsibility.
38614         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
38615         interface change.
38616         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
38617         Str, Argument_type_string.  All uses changed.  Put " argument"
38618         in diagnostics to make them clearer.  Change wording of suffix
38619         message for clarity.
38620         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
38621         Argument_type_string.
38622         (STRTOL_FATAL_WARN): Remove; no longer used.
38623         * modules/human (Depends-on): Remove gettext-h.
38624
38625 2007-08-06  Simon Josefsson  <simon@josefsson.org>
38626
38627         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
38628
38629 2007-07-31  Bruno Haible  <bruno@clisp.org>
38630
38631         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
38632         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
38633         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
38634
38635 2007-07-31  Bruno Haible  <bruno@clisp.org>
38636
38637         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
38638         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
38639
38640 2007-07-30  Bruno Haible  <bruno@clisp.org>
38641
38642         * modules/base64 (License): Use the synonymous term "LGPLv2+".
38643         * modules/c-ctype (License): Likewise.
38644         * modules/c-strcase (License): Likewise.
38645         * modules/check-version (License): Likewise.
38646         * modules/iconv (License): Likewise.
38647         * modules/iconv_open (License): Likewise.
38648         * modules/read-file (License): Likewise.
38649         * modules/striconv (License): Likewise.
38650         * modules/strverscmp (License): Likewise.
38651         * modules/vasprintf (License): Likewise.
38652         * modules/crypto/des (License): Likewise.
38653         * modules/crypto/gc (License): Likewise.
38654         * modules/crypto/gc-arcfour (License): Likewise.
38655         * modules/crypto/gc-arctwo (License): Likewise.
38656         * modules/crypto/gc-des (License): Likewise.
38657         * modules/crypto/gc-hmac-md5 (License): Likewise.
38658         * modules/crypto/gc-hmac-sha1 (License): Likewise.
38659         * modules/crypto/gc-md2 (License): Likewise.
38660         * modules/crypto/gc-md4 (License): Likewise.
38661         * modules/crypto/gc-md5 (License): Likewise.
38662         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
38663         * modules/crypto/gc-random (License): Likewise.
38664         * modules/crypto/gc-rijndael (License): Likewise.
38665         * modules/crypto/gc-sha1 (License): Likewise.
38666         * modules/crypto/md2 (License): Likewise.
38667         * modules/crypto/md4 (License): Likewise.
38668
38669 2007-07-30  Jim Meyering  <jim@meyering.net>
38670
38671         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
38672         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
38673         it has valid stat data.  This bug would cause du not to count the
38674         sizes of inaccessible directories.
38675         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
38676         in <http://bugzilla.redhat.com/250077>.
38677
38678 2007-07-25  Peter O'Gorman  <peter@pogma.com>
38679             Bruno Haible  <bruno@clisp.org>
38680
38681         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
38682         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
38683         #include_next, gives a diagnostic about it, but reports no error in
38684         the exit code.
38685         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
38686
38687 2007-07-24  Ben Pfaff  <blp@gnu.org>
38688
38689         Improve name: "count-one-bits" is better than "popcount".
38690         * MODULES.html.sh: Update name.
38691         * lib/popcount.h: Renamed lib/count-one-bits.h.
38692         (popcount): Renamed count_one_bits.
38693         (popcountl): Renamed count_one_bits_l.
38694         (popcountll): Renamed count_one_bits_ll.
38695         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
38696         * modules/popcount: Renamed module/count-one-bits.
38697         * modules/popcount-tests: Renamed module/count-one-bits-tests.
38698         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
38699
38700 2007-07-23  Ben Pfaff  <blp@gnu.org>
38701
38702         * lib/popcount.h (popcount32): Reduce size of constants, to allow
38703         better code generation, and add U to large constants to avoid
38704         warnings, in non-GCC case.
38705         Suggested by Bruno Haible.
38706
38707 2007-07-23  Ben Pfaff  <blp@gnu.org>
38708
38709         * lib/popcount.h: Use verify_true instead of if...abort.
38710         * modules/popcount: Depend on verify module.
38711         Suggested by Jim Meyering.
38712
38713 2007-07-23  Bruno Haible  <bruno@clisp.org>
38714
38715         * gnulib-tool (func_import): Create a .cvsignore file also when the
38716         directory is not yet in CVS but the toplevel directory is. When
38717         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
38718         Reported by Karl Berry.
38719
38720 2007-07-22  Ben Pfaff  <blp@gnu.org>
38721
38722         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
38723         case.
38724         Suggested by Eric Blake.
38725
38726 2007-07-22  Ben Pfaff  <blp@gnu.org>
38727
38728         New module: popcount.
38729         * MODULES.html.sh: Add popcount.
38730         * modules/popcount: New file.
38731         * modules/popcount-tests: New file.
38732         * tests/test-popcount.c: New file.
38733         * lib/popcount.h: New file.
38734         * m4/popcount.m4: New file.
38735
38736 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
38737
38738         * build-aux/announce-gen: Update to GPLv3.
38739
38740         * build-aux/config.guess: Update from config.
38741
38742 2007-07-21  Bruno Haible  <bruno@clisp.org>
38743
38744         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
38745         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
38746
38747 2007-07-20  Jim Meyering  <jim@meyering.net>
38748
38749         * check-module: Diagnose a self-dependency.
38750
38751 2007-07-19  Bruno Haible  <bruno@clisp.org>
38752
38753         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
38754         empty.
38755         Reported by Eric Blake.
38756
38757 2007-07-18  Bruno Haible  <bruno@clisp.org>
38758
38759         * gnulib-tool: New options --po-base, --po-domain.
38760         (func_usage): Document them.
38761         (pobase, po_domain): New variables.
38762         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
38763         DEFAULT_TEXT_DOMAIN.
38764         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
38765         (func_import): Consider pobase and po_domain. Create a po/ directory.
38766         (func_create_testdir): Set pobase and po_domain to empty.
38767         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
38768         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
38769
38770 2007-07-18  Bruno Haible  <bruno@clisp.org>
38771
38772         * gnulib-tool (func_get_automake_snippet): Synthesize also an
38773         EXTRA_DIST augmentation for files in build-aux/.
38774
38775 2007-07-16  Bruno Haible  <bruno@clisp.org>
38776
38777         * modules/lseek (License): Use the synonymous term "LGPLv2+".
38778         * modules/getdelim (License): Likewise.
38779
38780 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
38781
38782         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
38783         * modules/d-type (License): Likewise.
38784         * modules/extensions (License): Likewise.
38785         * modules/fnmatch (License): Likewise.
38786         * modules/fseeko (License): Likewise.
38787         * modules/getaddrinfo (License): Likewise.
38788         * modules/getline (License): Likewise.
38789         * modules/getlogin_r (License): Likewise.
38790         * modules/getpass (License): Likewise.
38791         * modules/gettimeofday (License): Likewise.
38792         * modules/glob (License): Likewise.
38793         * modules/inet_ntop (License): Likewise.
38794         * modules/malloc (License): Likewise.
38795         * modules/malloca (License): Likewise.
38796         * modules/memmem (License): Likewise.
38797         * modules/mempcpy (License): Likewise.
38798         * modules/memset (License): Likewise.
38799         * modules/minmax (License): Likewise.
38800         * modules/mktime (License): Likewise.
38801         * modules/netinet_in (License): Likewise.
38802         * modules/pathmax (License): Likewise.
38803         * modules/poll (License): Likewise.
38804         * modules/regex (License): Likewise.
38805         * modules/snprintf (License): Likewise.
38806         * modules/stdbool (License): Likewise.
38807         * modules/stdint (License): Likewise.
38808         * modules/stdio (License): Likewise.
38809         * modules/strcase (License): Likewise.
38810         * modules/strcasestr (License): Likewise.
38811         * modules/strdup (License): Likewise.
38812         * modules/string (License): Likewise.
38813         * modules/strndup (License): Likewise.
38814         * modules/strnlen (License): Likewise.
38815         * modules/strpbrk (License): Likewise.
38816         * modules/strptime (License): Likewise.
38817         * modules/strsep (License): Likewise.
38818         * modules/sys_select (License): Likewise.
38819         * modules/sys_socket (License): Likewise.
38820         * modules/sys_stat (License): Likewise.
38821         * modules/sys_time (License): Likewise.
38822         * modules/time (License): Likewise.
38823         * modules/time_r (License): Likewise.
38824         * modules/timegm (License): Likewise.
38825         * modules/unistd (License): Likewise.
38826         * modules/vsnprintf (License): Likewise.
38827         * modules/wctype (License): Likewise.
38828
38829 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38830
38831         * modules/argz (License): LGPLv2+.
38832
38833 2007-07-15  Karl Berry  <karl@gnu.org>
38834
38835         * doc/gnulib.texi: revise node structure per new fdl.texi.
38836
38837 2007-07-14  Bruno Haible  <bruno@clisp.org>
38838
38839         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
38840         the output file.
38841         * lib/uniname/uninames.h: Regenerated.
38842
38843 2007-07-14  Karl Berry  <karl@gnu.org>
38844
38845         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
38846         omitting sectioning and index commands.
38847
38848 2007-07-13  Bruno Haible  <bruno@clisp.org>
38849
38850         New gnulib-tool option --more-symlinks.
38851         * gnulib-tool (func_usage): Document --more-symlinks.
38852         (do_copyrights): New variable.
38853         Recognize option --more-symlinks.
38854         (func_import): Don't add a copyright notice transform to
38855         sed_transform_lib_file if do_copyrights is empty.
38856
38857 2007-07-13  Bruno Haible  <bruno@clisp.org>
38858
38859         * lib/vasnprintf.c (decimal_point_char): Define also if
38860         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
38861         && !NEED_PRINTF_DIRECTIVE_A.
38862         Reported by Clemens Koller <clemens.koller@anagramm.de> via
38863         Gary V. Vaughan <gary@gnu.org>.
38864
38865 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
38866
38867         * lib/inttypes_.h: Undo previous change, since it was fixed
38868         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
38869
38870 2007-07-13  Bruno Haible  <bruno@clisp.org>
38871
38872         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
38873         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
38874
38875 2007-07-13  Jim Meyering  <jim@meyering.net>
38876
38877         df: Don't fail for Tru64's "file-on-file mount".
38878         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
38879         so we fall through and use statfs instead.  Details here:
38880         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
38881         Reported by Albert Chin.
38882
38883 2007-07-13  Bruno Haible  <bruno@clisp.org>
38884
38885         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
38886         * modules/configmake (License): Likewise.
38887         * modules/gettext (License): Likewise.
38888         * modules/gettext-h (License): Likewise.
38889         * modules/include_next (License): Likewise.
38890         * modules/link-warning (License): Likewise.
38891         * modules/localcharset (License): Likewise.
38892         * modules/localename (License): Likewise.
38893         * modules/lock (License): Likewise.
38894         * modules/relocatable-lib-lgpl (License): Likewise.
38895         * modules/size_max (License): Likewise.
38896         * modules/vasnprintf (License): Likewise.
38897         * modules/wchar (License): Likewise.
38898         * modules/xsize (License): Likewise.
38899
38900 2007-07-13  Bruno Haible  <bruno@clisp.org>
38901
38902         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
38903         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
38904
38905 2007-07-12  Bruno Haible  <bruno@clisp.org>
38906
38907         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
38908         in the modules files.
38909
38910 2007-07-11  Karl Berry  <karl@gnu.org>
38911
38912         * MODULES.html.sh (func_module): use
38913          sed -e '\|^'"${includefile}"'$|d'
38914          instead of /.../d, to avoid errors on $includefile's containing /.
38915
38916 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
38917
38918         * gnulib-tool (func_import): Avoid duplication of --avoid
38919         statements
38920         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
38921         names to `_' in variable names.
38922
38923 2007-07-10  Eric Blake  <ebb9@byu.net>
38924
38925         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
38926         * NEWS: Document this change.
38927
38928 2007-07-08  Bruno Haible  <bruno@clisp.org>
38929
38930         Update to Unicode 5.0.
38931         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
38932         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
38933         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
38934         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
38935         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
38936         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
38937         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
38938         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
38939         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
38940         U+10A3F, U+1D242..U+1D244.
38941         (nonspacing_table_ind): Update.
38942         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
38943         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
38944
38945 2007-07-08  Bruno Haible  <bruno@clisp.org>
38946
38947         Update to Unicode 5.0.
38948         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
38949         code transform. Extend the name index field of unicode_name_to_code and
38950         unicode_code_to_name from 16 to 24 bits.
38951         * lib/uniname/uniname.c (unicode_character_name,
38952         unicode_name_character): Add the range 0x12xxx to the code transform.
38953         * lib/uniname/uninames.h: Regenerated.
38954         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
38955
38956 2007-07-07  Bruno Haible  <bruno@clisp.org>
38957
38958         * modules/wcwidth-tests: New file.
38959         * tests/test-wcwidth.c: New file.
38960
38961         Work around MacOS X wcwidth() bug.
38962         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
38963         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
38964         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
38965         original wcwidth in non-UTF-8 locales.
38966         * modules/wcwidth (Depends-on): Add localcharset, streq,
38967         uniwidth/width.
38968         * doc/functions/wcwidth.texi: Update.
38969
38970 2007-07-07  Bruno Haible  <bruno@clisp.org>
38971
38972         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
38973         (wcwidth): New declaration.
38974         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
38975         macros.
38976         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
38977         here. Prepare for creating <wchar.h> unconditionally.
38978         * modules/wchar (Depends-on): Add link-warning.
38979         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
38980         REPLACE_WCWIDTH, and GL_LINK_WARNING.
38981         * lib/wcwidth.h: Remove file.
38982         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
38983         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
38984         * modules/wcwidth (Files): Remove lib/wcwidth.h.
38985         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
38986         (Include): Replace wcwidth.h with <wchar.h>.
38987         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
38988         * lib/mbchar.h: Don't include wcwidth.h.
38989         * lib/mbswidth.c: Likewise.
38990         * NEWS: Mention the change.
38991
38992 2007-07-07  Bruno Haible  <bruno@clisp.org>
38993
38994         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
38995         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
38996         definition with an external declaration.
38997         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
38998         defined as a function. Remove AC_C_INLINE requirement.
38999         * modules/wcwidth (Files): Add lib/wcwidth.c.
39000         (Makefile.am): Remove redundant statement.
39001
39002 2007-07-07  Bruno Haible  <bruno@clisp.org>
39003
39004         * MODULES.html.sh (Unicode string functions): Add the new modules.
39005
39006         * tests/uniwidth/test-u32-strwidth.c: New file.
39007         * modules/uniwidth/u32-strwidth-tests: New file.
39008
39009         * lib/uniwidth/u32-strwidth.c: New file.
39010         * modules/uniwidth/u32-strwidth: New file.
39011
39012         * tests/uniwidth/test-u16-strwidth.c: New file.
39013         * modules/uniwidth/u16-strwidth-tests: New file.
39014
39015         * lib/uniwidth/u16-strwidth.c: New file.
39016         * modules/uniwidth/u16-strwidth: New file.
39017
39018         * tests/uniwidth/test-u8-strwidth.c: New file.
39019         * modules/uniwidth/u8-strwidth-tests: New file.
39020
39021         * lib/uniwidth/u8-strwidth.c: New file.
39022         * modules/uniwidth/u8-strwidth: New file.
39023
39024         * tests/uniwidth/test-u32-width.c: New file.
39025         * modules/uniwidth/u32-width-tests: New file.
39026
39027         * lib/uniwidth/u32-width.c: New file.
39028         * modules/uniwidth/u32-width: New file.
39029
39030         * tests/uniwidth/test-u16-width.c: New file.
39031         * modules/uniwidth/u16-width-tests: New file.
39032
39033         * lib/uniwidth/u16-width.c: New file.
39034         * modules/uniwidth/u16-width: New file.
39035
39036         * tests/uniwidth/test-u8-width.c: New file.
39037         * modules/uniwidth/u8-width-tests: New file.
39038
39039         * lib/uniwidth/u8-width.c: New file.
39040         * modules/uniwidth/u8-width: New file.
39041
39042         * tests/uniwidth/test-uc_width.c: New file.
39043         * modules/uniwidth/width-tests: New file.
39044
39045         * lib/uniwidth/width.c: New file, from GNU libiconv.
39046         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
39047         * modules/uniwidth/width: New file.
39048
39049         * lib/uniwidth.h: New file, from GNU libiconv.
39050         * modules/uniwidth/base: New file.
39051
39052 2007-07-07  Bruno Haible  <bruno@clisp.org>
39053
39054         * lib/uniname.h: New file, from GNU gettext.
39055         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
39056         * lib/uniname/uninames.h: New file, from GNU gettext.
39057         * lib/uniname/uniname.c: New file, from GNU gettext.
39058         * tests/uniname/test-uninames.sh: New file.
39059         * tests/uniname/test-uninames.c: New file, from GNU gettext.
39060         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
39061         * modules/uniname/base: New file.
39062         * modules/uniname/uniname: New file.
39063         * modules/uniname/uniname-tests: New file.
39064         * MODULES.html.sh (Unicode string functions): Add the new modules.
39065
39066 2007-07-06  Bruno Haible  <bruno@clisp.org>
39067
39068         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
39069
39070 2007-07-06  Bruno Haible  <bruno@clisp.org>
39071
39072         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
39073         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
39074         includes <cygwin/sys_time.h> which includes <sys/select.h> which
39075         include <sys/time.h>.
39076         Reported by Eric Blake.
39077
39078 2007-07-06  Eric Blake  <ebb9@byu.net>
39079
39080         Fix testing canonicalize on cygwin.
39081         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
39082         Revert patch from 2007-06-19.
39083         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
39084         canonicalize module is also in use.
39085         * tests/test-canonicalize.c: New file.
39086         * tests/test-canonicalize.sh: Likewise.
39087         * modules/canonicalize-tests: Likewise.
39088
39089 2007-07-06  Jim Meyering  <jim@meyering.net>
39090
39091         * lib/getugroups.c (getugroups): Detect getgrent failure.
39092         Adjust comment to reflect reality: this function may return -1.
39093
39094 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
39095
39096         * build-aux/bootstrap (TP_URL,get_translations): Update to use
39097         the new TP address.
39098         (usage): Fix typo
39099         (gnulib_mk): New variable.
39100
39101 2007-07-05  Jim Meyering  <jim@meyering.net>
39102
39103         Don't let endgrent clobber errno, no matter how improbable.
39104         * lib/getugroups.c (getugroups): Save and restore errno around
39105         endgrent call.
39106
39107         Close the group DB even when failing with 2^31 or more members.
39108         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
39109
39110 2007-07-04  Jim Meyering  <jim@meyering.net>
39111
39112         * lib/getugroups.h: New file.
39113         * lib/getugroups.c: Include "getugroups.h".
39114         Remove uses of "register" keyword.
39115         Move local variable, "cp", down into scope where used.
39116         Give "username" parameter the "const" attribute.
39117         * modules/getugroups (Files): Add lib/getugroups.h
39118
39119 2007-07-04  Karl Berry  <karl@gnu.org>
39120
39121         * MODULES.html.sh (func_all_modules): Complete rename of
39122         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
39123
39124 2007-07-02  Bruno Haible  <bruno@clisp.org>
39125
39126         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
39127         mode, when inttypes.h comes from gnulib.
39128         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
39129
39130 2007-07-02  Simon Josefsson  <simon@josefsson.org>
39131
39132         * NEWS: Mention lgpl module name change.
39133
39134         * modules/lgpl-2.1: Renamed from lgpl.
39135
39136         * NEWS: Mention gpl module name change.
39137
39138         * modules/gpl-3.0: New file, based on gpl-2.0.
39139
39140         * modules/gpl-2.0: Renamed from gpl.
39141
39142         * modules/gpl: Fix filename, doc/gpl.texi is now found at
39143         doc/gpl-2.0.texi.
39144
39145 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
39146
39147         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
39148         #define __STDC_LIMIT_MACROS temporarily while including
39149         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
39150         Problem reported by Joel E. Denny in
39151         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
39152
39153 2007-07-01  Bruno Haible  <bruno@clisp.org>
39154
39155         * lib/unistdio.h: New file.
39156         * lib/unistdio/u-asnprintf.h: New file.
39157         * lib/unistdio/u-asprintf.h: New file.
39158         * lib/unistdio/u-printf-args.c: New file.
39159         * lib/unistdio/u-printf-args.h: New file.
39160         * lib/unistdio/u-printf-parse.h: New file.
39161         * lib/unistdio/u-snprintf.h: New file.
39162         * lib/unistdio/u-sprintf.h: New file.
39163         * lib/unistdio/u-vasprintf.h: New file.
39164         * lib/unistdio/u-vsnprintf.h: New file.
39165         * lib/unistdio/u-vsprintf.h: New file.
39166         * lib/unistdio/ulc-asnprintf.c: New file.
39167         * lib/unistdio/ulc-asprintf.c: New file.
39168         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
39169         * lib/unistdio/ulc-printf-parse.c: New file.
39170         * lib/unistdio/ulc-snprintf.c: New file.
39171         * lib/unistdio/ulc-sprintf.c: New file.
39172         * lib/unistdio/ulc-vasnprintf.c: New file.
39173         * lib/unistdio/ulc-vasprintf.c: New file.
39174         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
39175         * lib/unistdio/ulc-vsnprintf.c: New file.
39176         * lib/unistdio/ulc-vsprintf.c: New file.
39177         * lib/unistdio/u8-asnprintf.c: New file.
39178         * lib/unistdio/u8-asprintf.c: New file.
39179         * lib/unistdio/u8-printf-parse.c: New file.
39180         * lib/unistdio/u8-snprintf.c: New file.
39181         * lib/unistdio/u8-sprintf.c: New file.
39182         * lib/unistdio/u8-vasnprintf.c: New file.
39183         * lib/unistdio/u8-vasprintf.c: New file.
39184         * lib/unistdio/u8-vsnprintf.c: New file.
39185         * lib/unistdio/u8-vsprintf.c: New file.
39186         * lib/unistdio/u8-u8-asnprintf.c: New file.
39187         * lib/unistdio/u8-u8-asprintf.c: New file.
39188         * lib/unistdio/u8-u8-snprintf.c: New file.
39189         * lib/unistdio/u8-u8-sprintf.c: New file.
39190         * lib/unistdio/u8-u8-vasnprintf.c: New file.
39191         * lib/unistdio/u8-u8-vasprintf.c: New file.
39192         * lib/unistdio/u8-u8-vsnprintf.c: New file.
39193         * lib/unistdio/u8-u8-vsprintf.c: New file.
39194         * lib/unistdio/u16-asnprintf.c: New file.
39195         * lib/unistdio/u16-asprintf.c: New file.
39196         * lib/unistdio/u16-printf-parse.c: New file.
39197         * lib/unistdio/u16-snprintf.c: New file.
39198         * lib/unistdio/u16-sprintf.c: New file.
39199         * lib/unistdio/u16-vasnprintf.c: New file.
39200         * lib/unistdio/u16-vasprintf.c: New file.
39201         * lib/unistdio/u16-vsnprintf.c: New file.
39202         * lib/unistdio/u16-vsprintf.c: New file.
39203         * lib/unistdio/u16-u16-asnprintf.c: New file.
39204         * lib/unistdio/u16-u16-asprintf.c: New file.
39205         * lib/unistdio/u16-u16-snprintf.c: New file.
39206         * lib/unistdio/u16-u16-sprintf.c: New file.
39207         * lib/unistdio/u16-u16-vasnprintf.c: New file.
39208         * lib/unistdio/u16-u16-vasprintf.c: New file.
39209         * lib/unistdio/u16-u16-vsnprintf.c: New file.
39210         * lib/unistdio/u16-u16-vsprintf.c: New file.
39211         * lib/unistdio/u32-asnprintf.c: New file.
39212         * lib/unistdio/u32-asprintf.c: New file.
39213         * lib/unistdio/u32-printf-parse.c: New file.
39214         * lib/unistdio/u32-snprintf.c: New file.
39215         * lib/unistdio/u32-sprintf.c: New file.
39216         * lib/unistdio/u32-vasnprintf.c: New file.
39217         * lib/unistdio/u32-vasprintf.c: New file.
39218         * lib/unistdio/u32-vsnprintf.c: New file.
39219         * lib/unistdio/u32-vsprintf.c: New file.
39220         * lib/unistdio/u32-u32-asnprintf.c: New file.
39221         * lib/unistdio/u32-u32-asprintf.c: New file.
39222         * lib/unistdio/u32-u32-snprintf.c: New file.
39223         * lib/unistdio/u32-u32-sprintf.c: New file.
39224         * lib/unistdio/u32-u32-vasnprintf.c: New file.
39225         * lib/unistdio/u32-u32-vasprintf.c: New file.
39226         * lib/unistdio/u32-u32-vsnprintf.c: New file.
39227         * lib/unistdio/u32-u32-vsprintf.c: New file.
39228         * tests/unistdio/test-ulc-asnprintf1.c: New file.
39229         * tests/unistdio/test-ulc-asnprintf1.h: New file.
39230         * tests/unistdio/test-ulc-printf1.h: New file.
39231         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
39232         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
39233         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
39234         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
39235         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
39236         * tests/unistdio/test-ulc-vasprintf1.c: New file.
39237         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
39238         * tests/unistdio/test-ulc-vsprintf1.c: New file.
39239         * tests/unistdio/test-u8-asnprintf1.c: New file.
39240         * tests/unistdio/test-u8-asnprintf1.h: New file.
39241         * tests/unistdio/test-u8-printf1.h: New file.
39242         * tests/unistdio/test-u8-vasnprintf1.c: New file.
39243         * tests/unistdio/test-u8-vasnprintf2.c: New file.
39244         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
39245         * tests/unistdio/test-u8-vasnprintf3.c: New file.
39246         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
39247         * tests/unistdio/test-u8-vasprintf1.c: New file.
39248         * tests/unistdio/test-u8-vsnprintf1.c: New file.
39249         * tests/unistdio/test-u8-vsprintf1.c: New file.
39250         * tests/unistdio/test-u16-asnprintf1.c: New file.
39251         * tests/unistdio/test-u16-asnprintf1.h: New file.
39252         * tests/unistdio/test-u16-printf1.h: New file.
39253         * tests/unistdio/test-u16-vasnprintf1.c: New file.
39254         * tests/unistdio/test-u16-vasnprintf2.c: New file.
39255         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
39256         * tests/unistdio/test-u16-vasnprintf3.c: New file.
39257         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
39258         * tests/unistdio/test-u16-vasprintf1.c: New file.
39259         * tests/unistdio/test-u16-vsnprintf1.c: New file.
39260         * tests/unistdio/test-u16-vsprintf1.c: New file.
39261         * tests/unistdio/test-u32-asnprintf1.c: New file.
39262         * tests/unistdio/test-u32-asnprintf1.h: New file.
39263         * tests/unistdio/test-u32-printf1.h: New file.
39264         * tests/unistdio/test-u32-vasnprintf1.c: New file.
39265         * tests/unistdio/test-u32-vasnprintf2.c: New file.
39266         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
39267         * tests/unistdio/test-u32-vasnprintf3.c: New file.
39268         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
39269         * tests/unistdio/test-u32-vasprintf1.c: New file.
39270         * tests/unistdio/test-u32-vsnprintf1.c: New file.
39271         * tests/unistdio/test-u32-vsprintf1.c: New file.
39272         * modules/unistdio/base: New file.
39273         * modules/unistdio/u-printf-args: New file.
39274         * modules/unistdio/ulc-asnprintf: New file.
39275         * modules/unistdio/ulc-asprintf: New file.
39276         * modules/unistdio/ulc-fprintf: New file.
39277         * modules/unistdio/ulc-printf-parse: New file.
39278         * modules/unistdio/ulc-snprintf: New file.
39279         * modules/unistdio/ulc-sprintf: New file.
39280         * modules/unistdio/ulc-vasnprintf: New file.
39281         * modules/unistdio/ulc-vasprintf: New file.
39282         * modules/unistdio/ulc-vfprintf: New file.
39283         * modules/unistdio/ulc-vsnprintf: New file.
39284         * modules/unistdio/ulc-vsprintf: New file.
39285         * modules/unistdio/u8-asnprintf: New file.
39286         * modules/unistdio/u8-asprintf: New file.
39287         * modules/unistdio/u8-printf-parse: New file.
39288         * modules/unistdio/u8-snprintf: New file.
39289         * modules/unistdio/u8-sprintf: New file.
39290         * modules/unistdio/u8-vasnprintf: New file.
39291         * modules/unistdio/u8-vasprintf: New file.
39292         * modules/unistdio/u8-vsnprintf: New file.
39293         * modules/unistdio/u8-vsprintf: New file.
39294         * modules/unistdio/u8-u8-asnprintf: New file.
39295         * modules/unistdio/u8-u8-asprintf: New file.
39296         * modules/unistdio/u8-u8-snprintf: New file.
39297         * modules/unistdio/u8-u8-sprintf: New file.
39298         * modules/unistdio/u8-u8-vasnprintf: New file.
39299         * modules/unistdio/u8-u8-vasprintf: New file.
39300         * modules/unistdio/u8-u8-vsnprintf: New file.
39301         * modules/unistdio/u8-u8-vsprintf: New file.
39302         * modules/unistdio/u16-asnprintf: New file.
39303         * modules/unistdio/u16-asprintf: New file.
39304         * modules/unistdio/u16-printf-parse: New file.
39305         * modules/unistdio/u16-snprintf: New file.
39306         * modules/unistdio/u16-sprintf: New file.
39307         * modules/unistdio/u16-vasnprintf: New file.
39308         * modules/unistdio/u16-vasprintf: New file.
39309         * modules/unistdio/u16-vsnprintf: New file.
39310         * modules/unistdio/u16-vsprintf: New file.
39311         * modules/unistdio/u16-u16-asnprintf: New file.
39312         * modules/unistdio/u16-u16-asprintf: New file.
39313         * modules/unistdio/u16-u16-snprintf: New file.
39314         * modules/unistdio/u16-u16-sprintf: New file.
39315         * modules/unistdio/u16-u16-vasnprintf: New file.
39316         * modules/unistdio/u16-u16-vasprintf: New file.
39317         * modules/unistdio/u16-u16-vsnprintf: New file.
39318         * modules/unistdio/u16-u16-vsprintf: New file.
39319         * modules/unistdio/u32-asnprintf: New file.
39320         * modules/unistdio/u32-asprintf: New file.
39321         * modules/unistdio/u32-printf-parse: New file.
39322         * modules/unistdio/u32-snprintf: New file.
39323         * modules/unistdio/u32-sprintf: New file.
39324         * modules/unistdio/u32-vasnprintf: New file.
39325         * modules/unistdio/u32-vasprintf: New file.
39326         * modules/unistdio/u32-vsnprintf: New file.
39327         * modules/unistdio/u32-vsprintf: New file.
39328         * modules/unistdio/u32-u32-asnprintf: New file.
39329         * modules/unistdio/u32-u32-asprintf: New file.
39330         * modules/unistdio/u32-u32-snprintf: New file.
39331         * modules/unistdio/u32-u32-sprintf: New file.
39332         * modules/unistdio/u32-u32-vasnprintf: New file.
39333         * modules/unistdio/u32-u32-vasprintf: New file.
39334         * modules/unistdio/u32-u32-vsnprintf: New file.
39335         * modules/unistdio/u32-u32-vsprintf: New file.
39336         * modules/unistdio/ulc-asnprintf-tests: New file.
39337         * modules/unistdio/ulc-vasnprintf-tests: New file.
39338         * modules/unistdio/ulc-vasprintf-tests: New file.
39339         * modules/unistdio/ulc-vsnprintf-tests: New file.
39340         * modules/unistdio/ulc-vsprintf-tests: New file.
39341         * modules/unistdio/u8-asnprintf-tests: New file.
39342         * modules/unistdio/u8-vasnprintf-tests: New file.
39343         * modules/unistdio/u8-vasprintf-tests: New file.
39344         * modules/unistdio/u8-vsnprintf-tests: New file.
39345         * modules/unistdio/u8-vsprintf-tests: New file.
39346         * modules/unistdio/u16-asnprintf-tests: New file.
39347         * modules/unistdio/u16-vasnprintf-tests: New file.
39348         * modules/unistdio/u16-vasprintf-tests: New file.
39349         * modules/unistdio/u16-vsnprintf-tests: New file.
39350         * modules/unistdio/u16-vsprintf-tests: New file.
39351         * modules/unistdio/u32-asnprintf-tests: New file.
39352         * modules/unistdio/u32-vasnprintf-tests: New file.
39353         * modules/unistdio/u32-vasprintf-tests: New file.
39354         * modules/unistdio/u32-vsnprintf-tests: New file.
39355         * modules/unistdio/u32-vsprintf-tests: New file.
39356         * MODULES.html.sh (Unicode string functions): Add the new modules.
39357
39358 2007-07-01  Bruno Haible  <bruno@clisp.org>
39359
39360         * lib/sprintf.c (sprintf): Limit the available length estimation,
39361         to avoid address wraparound.
39362         * lib/vsprintf.c (vsprintf): Likewise.
39363         * modules/sprintf-posix (Dependencies): Add stdint.
39364         * modules/vsprintf-posix (Dependencies): Likewise.
39365
39366 2007-07-01  Bruno Haible  <bruno@clisp.org>
39367
39368         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
39369         Windows PATH as well. Conservative double-quoting. Comments.
39370
39371 2007-07-01  Bruno Haible  <bruno@clisp.org>
39372             Eric Blake  <ebb9@byu.net>
39373             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39374
39375         * gnulib-tool (self_abspathname): Fix algorithm to cope with
39376         empty components in $PATH, denoting '.'.
39377
39378 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39379
39380         * gnulib-tool: Fix indentation.
39381         (func_create_megatestdir): Likewise.
39382         Report by Bruno Haible.
39383
39384 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39385
39386         Sync from Automake.
39387         * build-aux/gnupload: Fix shell portability issues with for loops.
39388         Report by Karl Berry.
39389
39390 2007-06-29  Simon Josefsson  <simon@josefsson.org>
39391
39392         * build-aux/maint.mk (POURL): Use translationproject.org.
39393
39394 2007-06-27  Simon Josefsson  <simon@josefsson.org>
39395             Bruno Haible  <bruno@clisp.org>
39396
39397         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
39398         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
39399         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
39400         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
39401         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
39402
39403 2007-06-27  Bruno Haible  <bruno@clisp.org>
39404
39405         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
39406         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
39407
39408 2007-06-26  Karl Berry  <karl@gnu.org>
39409
39410         * MODULES.html.sh: remove xreadlink-with-size.
39411
39412 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
39413
39414         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
39415         method that I hope also handles the double-include problem noted
39416         by Bruno Haible in
39417         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
39418
39419 2007-06-23  Bruno Haible  <bruno@clisp.org>
39420
39421         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
39422         Don't let the 'mostlyclean' target fail if the last subdirectory could
39423         not be removed.
39424         Reported by Karl Berry.
39425
39426 2007-06-23  Bruno Haible  <bruno@clisp.org>
39427
39428         * gnulib-tool (echo): Add a speedier workaround for ksh.
39429         * tests/test-echo.sh: Likewise.
39430
39431 2007-06-23  Bruno Haible  <bruno@clisp.org>
39432
39433         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
39434         * tests/test-echo.sh: Likewise.
39435
39436 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39437
39438         * gnulib-tool (IFS): Initialize early, so we don't set it to
39439         empty later.
39440         (self_abspathname): Rewrite algorithm to set it, reindent.
39441         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
39442         (func_create_megatestdir): Merge some sed scripts.
39443
39444 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
39445
39446         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
39447         exposed by Sun Studio 11 cc on Solaris 8.
39448
39449 2007-06-22  Bruno Haible  <bruno@clisp.org>
39450
39451         * gnulib-tool (echo): Ensure the echo primitive does not interpret
39452         backslashes.
39453         * tests/test-echo.sh: New file.
39454
39455 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39456
39457         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
39458         simplify `sed_replace_build_aux' scripts, they are portable but
39459         echoing them with `echo' is not.
39460         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
39461
39462 2007-06-21  Karl Berry  <karl@gnu.org>
39463
39464         * config/srclist.txt: guess we can't handle the licenses via
39465         srclist at the moment.
39466
39467 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
39468
39469         * MODULES.html.sh: Add include_next.
39470         * modules/include_next: New file.
39471
39472 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
39473
39474         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
39475         INCLUDE_NEXT.
39476         (gl_CHECK_NEXT_HEADERS): New macro.
39477         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
39478         the obsolescent gl_ABSOLUTE_HEADER.
39479         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
39480         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
39481         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
39482         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39483         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
39484         * m4/math_h.m4 (gl_MATH_H): Likewise.
39485         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
39486         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
39487         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
39488         * m4/stdint.m4 (gl_STDINT_H): Likewise.
39489         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
39490         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
39491         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
39492         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39493         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
39494         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
39495         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
39496         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39497         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
39498         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
39499         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
39500         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39501         * m4/inttypes.m4 (gl_INTTYPES_H): Define
39502         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
39503         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
39504         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
39505         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
39506         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
39507         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
39508         * lib/float_.h: Likewise.
39509         * lib/inttypes_.h: Likewise.
39510         * lib/math_.h: Likewise.
39511         * lib/search_.h: Likewise.
39512         * lib/signal_.h: Likewise.
39513         * lib/stdint_.h: Likewise.
39514         * lib/stdio_.h: Likewise.
39515         * lib/stdlib_.h: Likewise.
39516         * lib/string_.h: Likewise.
39517         * lib/sys_stat_.h: Likewise.
39518         * lib/sys_time_.h: Likewise.
39519         * lib/time_.h: Likewise.
39520         * lib/unistd_.h: Likewise.
39521         * lib/wchar_.h: Likewise.
39522         * lib/wctype_.h: Likewise.
39523         * lib/dirent_.h: Likewise.
39524         * lib/iconv_.h: Likewise.
39525         * lib/locale_.h: Likewise.
39526         * lib/netinet_in_.h: Likewise.
39527         * lib/sys_select_.h: Likewise.
39528         * lib/sys_socket_.h: Likewise.
39529         * lib/sysexits_.h: Likewise.
39530         * modules/fcntl (Depends-on): Depend on include_next, not
39531         absolute_header.
39532         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
39533         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
39534         * modules/fchdir: Likewise.
39535         * modules/float: Likewise.
39536         * modules/iconv_open: Likewise.
39537         * modules/inttypes: Likewise.
39538         * modules/locale: Likewise.
39539         * modules/math: Likewise.
39540         * modules/netinet_in: Likewise.
39541         * modules/search: Likewise.
39542         * modules/signal: Likewise.
39543         * modules/stdint: Likewise.
39544         * modules/stdio: Likewise.
39545         * modules/stdlib: Likewise.
39546         * modules/string: Likewise.
39547         * modules/sys_select: Likewise.
39548         * modules/sys_socket: Likewise.
39549         * modules/sys_stat: Likewise.
39550         * modules/sys_time: Likewise.
39551         * modules/sysexits: Likewise.
39552         * modules/time: Likewise.
39553         * modules/unistd: Likewise.
39554         * modules/wchar: Likewise.
39555         * modules/wctype: Likewise.
39556         * modules/sys_stat: Change maintainer to "all".
39557         * modules/unistd: Likewise.
39558
39559 2007-06-20  Karl Berry  <karl@gnu.org>
39560
39561         * config/srclist.txt: track www changes in license files.
39562
39563 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
39564
39565         * build-aux/bootstrap: Remove stray dot.
39566         Make sure build_aux settings are honored when linking
39567         gnulib_extra_files.
39568
39569 2007-06-19  Eric Blake  <ebb9@byu.net>
39570
39571         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
39572         Allow compilation on cygwin.
39573
39574 2007-06-19  Jim Meyering  <jim@meyering.net>
39575
39576         xreadlink-with-size: Remove module.  No longer used.
39577         Ex-callers now use xreadlink or mreadlink-with-size.
39578         * modules/xreadlink-with-size: Remove module.
39579         * lib/xreadlink-with-size.c: Remove file.
39580         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
39581         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
39582         just before the function definition *is* accurate.
39583
39584         Eliminate one way canonicalize_filename_mode could exit.
39585         * lib/canonicalize.c (canonicalize_filename_mode):
39586         Use mreadlink_with_size, not xreadlink_with_size.
39587
39588 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
39589
39590         Detect porting problems to FreeBSD/arm, which has time_t wider than
39591         long int.  Original problem reported for GNU diff by Xin Li in
39592         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
39593         * modules/getdate (Depends-on): Add intprops, verify.
39594         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
39595         is an integer type no wider than long int.
39596
39597 2007-06-18  Jim Meyering  <jim@meyering.net>
39598
39599         New module: mreadlink-with-size.
39600         * MODULES.html.sh: Add mreadlink-with-size.
39601         * modules/mreadlink-with-size: New module
39602         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
39603         not xreadlink-with-size.
39604         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
39605
39606 2007-06-16  Bruno Haible  <bruno@clisp.org>
39607
39608         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
39609         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
39610         Reported by Gary V. Vaughan <gary@gnu.org>.
39611
39612 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
39613
39614         Revamp lchown so that it lives in unistd.h where it belongs.
39615         * lib/lchown.h: Remove.
39616         * lib/dirchownmod.c: Don't include lib/lchown.h.
39617         * lib/fchownat.c: Likewise.
39618         * lib/openat.c: Likewise.
39619         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
39620         does not follow symlinks.
39621         (EOPNOTSUPP): Define if not defined.
39622         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
39623         is defined to 0.
39624         (lchown): New decl.
39625         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
39626         Do not check for lchown decl.
39627         Set REPLACE_LCHOWN.
39628         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
39629         REPLACE_LCHOWN.
39630         * modules/chown: Make it clear it follows symlinks.
39631         * modules/lchown: Make it clear it doesn't follow symlinks.
39632         (Files): Remove lib/lchown.h
39633         (Depends-on): Add unistd.
39634         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
39635         (Include): Include <unistd.h>, not "lchown.h".
39636         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
39637         REPLACE_LCHOWN.
39638
39639 2007-06-15  Jim Meyering  <jim@meyering.net>
39640
39641         Change license (GPL to LGPL) of fsusage and dependents.
39642         * modules/fsusage (License): Change to LGPL.
39643         * modules/full-read (License): Likewise.
39644         * modules/full-write (License): Likewise.
39645         * modules/safe-read (License): Likewise.
39646         * modules/safe-write (License): Likewise.
39647
39648 2007-06-14  Ben Pfaff  <blp@gnu.org>
39649
39650         Missing part of allocsa -> malloca transition.
39651         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
39652         gl_MALLOCA.
39653
39654 2007-06-12  Bruno Haible  <bruno@clisp.org>
39655
39656         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
39657         to ia64, x86_64, i386.
39658         Reported by Eric Blake.
39659
39660 2007-06-12  Bruno Haible  <bruno@clisp.org>
39661
39662         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
39663         cross-compiling to x86_64.
39664
39665 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
39666
39667         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
39668         glitch reported by Ralf Wildenhues in
39669         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
39670
39671         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
39672         Vin Shelton.
39673
39674 2007-06-11  Bruno Haible  <bruno@clisp.org>
39675
39676         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
39677         replacement string.
39678         Reported by Eric Blake.
39679
39680 2007-06-10  Bruno Haible  <bruno@clisp.org>
39681
39682         Prepare vasnprintf code for use with Unicode strings.
39683         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
39684         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
39685         TYPE_U32_STRING.
39686         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
39687         a_u32_string variants.
39688         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
39689         * lib/printf-args.c: Don't include config.h and the specification
39690         header if PRINTF_FETCHARGS is already defined.
39691         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
39692         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
39693         TYPE_U16_STRING, TYPE_U32_STRING.
39694         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
39695         u16_directive, u16_directives, u32_directive, u32_directives): New
39696         types.
39697         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
39698         New declarations.
39699         * lib/printf-parse.c: Don't include config.h and the specification
39700         header if PRINTF_PARSE is already defined. Eliminate the set of
39701         parameters for WIDE_CHAR_VERSION; the user of this file must provide
39702         them now. Include c-ctype.h.
39703         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
39704         directive and CHAR_T_ONLY_ASCII.
39705         * lib/vasnprintf.c: Don't include config.h and the specification header
39706         if VASNPRINTF is already defined.
39707         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
39708         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
39709         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
39710         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
39711         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
39712         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
39713         code accordingly.
39714         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
39715         pad_ourselves also in this case, with the 'c' and 's' directives, and
39716         with a different notion of "width".
39717         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
39718
39719 2007-06-10  Bruno Haible  <bruno@clisp.org>
39720
39721         * modules/unistr/u32-mbsnlen: New file.
39722         * lib/unistr/u32-mbsnlen.c: New file.
39723
39724         * modules/unistr/u16-mbsnlen: New file.
39725         * lib/unistr/u16-mbsnlen.c: New file.
39726
39727         * modules/unistr/u8-mbsnlen: New file.
39728         * lib/unistr/u8-mbsnlen.c: New file.
39729
39730         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
39731         declarations.
39732
39733 2007-06-10  Bruno Haible  <bruno@clisp.org>
39734
39735         * lib/string_.h (mbsnlen): New declaration.
39736         * lib/mbsnlen.c: New file.
39737         * m4/mbsnlen.m4: New file.
39738         * modules/mbsnlen: New file.
39739         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
39740         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
39741         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
39742
39743 2007-06-10  Bruno Haible  <bruno@clisp.org>
39744
39745         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
39746
39747 2007-06-10  Bruno Haible  <bruno@clisp.org>
39748
39749         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
39750         * lib/mbuiter.h: Likewise.
39751
39752 2007-06-10  Bruno Haible  <bruno@clisp.org>
39753
39754         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
39755         declaration.
39756
39757 2007-06-10  Karl Berry  <karl@gnu.org>
39758
39759         * config/srclist.txt: remove gettext entries, Bruno prefers
39760         to update individually.
39761
39762 2007-06-10  Bruno Haible  <bruno@clisp.org>
39763
39764         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
39765         'maxlen'. Ensure only length + width bytes are allocated, not
39766         length + 1 + width.
39767
39768 2007-06-09  Bruno Haible  <bruno@clisp.org>
39769
39770         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
39771         (CHAR_T): Remove macro.
39772         (VASNPRINTF): Update.
39773
39774 2007-06-09  Bruno Haible  <bruno@clisp.org>
39775
39776         * MODULES.html.sh (Unicode string functions): Add the new modules.
39777
39778         * modules/uniconv/u32-conv-to-enc: New file.
39779         * lib/uniconv/u32-conv-to-enc.c: New file.
39780         * modules/uniconv/u32-conv-to-enc-tests: New file.
39781         * tests/uniconv/test-u32-conv-to-enc.c: New file.
39782
39783         * modules/uniconv/u16-conv-to-enc: New file.
39784         * lib/uniconv/u16-conv-to-enc.c: New file.
39785         * lib/uniconv/u-conv-to-enc.h: New file.
39786         * modules/uniconv/u16-conv-to-enc-tests: New file.
39787         * tests/uniconv/test-u16-conv-to-enc.c: New file.
39788
39789         * modules/uniconv/u8-conv-to-enc: New file.
39790         * lib/uniconv/u8-conv-to-enc.c: New file.
39791         * modules/uniconv/u8-conv-to-enc-tests: New file.
39792         * tests/uniconv/test-u8-conv-to-enc.c: New file.
39793
39794         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
39795         u32_conv_to_encoding): New declarations.
39796
39797 2007-06-09  Bruno Haible  <bruno@clisp.org>
39798
39799         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
39800
39801 2007-06-09  Bruno Haible  <bruno@clisp.org>
39802
39803         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
39804         * modules/malloca: Renamed from modules/allocsa, updated.
39805         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
39806         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
39807         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
39808         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
39809         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
39810         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
39811         * modules/xmalloca: Renamed from modules/xallocsa, updated.
39812         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
39813         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
39814         * modules/c-strcasestr (Depends-on): Update.
39815         * lib/c-strcasestr.c: Update.
39816         * modules/c-strstr (Depends-on): Update.
39817         * lib/c-strstr.c: Update.
39818         * modules/canonicalize-lgpl (Depends-on): Update.
39819         * lib/canonicalize-lgpl.c: Update.
39820         * modules/clean-temp (Depends-on): Update.
39821         * lib/clean-temp.c: Update.
39822         * modules/csharpcomp (Depends-on): Update.
39823         * lib/csharpcomp.c: Update.
39824         * modules/csharpexec (Depends-on): Update.
39825         * lib/csharpexec.c: Update.
39826         * modules/javacomp (Depends-on): Update.
39827         * lib/javacomp.c: Update.
39828         * modules/javaexec (Depends-on): Update.
39829         * lib/javaexec.c: Update.
39830         * modules/mbscasestr (Depends-on): Update.
39831         * lib/mbscasestr.c: Update.
39832         * modules/mbsstr (Depends-on): Update.
39833         * lib/mbsstr.c: Update.
39834         * modules/setenv (Depends-on): Update.
39835         * lib/setenv.c: Update.
39836         * modules/strcasestr (Depends-on): Update.
39837         * lib/strcasestr.c: Update.
39838         * modules/striconveha (Depends-on): Update.
39839         * lib/striconveha.c: Update.
39840         * modules/relocatable-prog-wrapper (Files): Update.
39841         * lib/relocwrapper.c: Update.
39842         * build-aux/install-reloc: Update.
39843         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
39844
39845 2007-06-08  Bruno Haible  <bruno@clisp.org>
39846
39847         Port to uClibc.
39848         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
39849         * lib/fpurge.c (fpurge): Likewise.
39850         * lib/freading.c (freading): Likewise.
39851         * lib/fseeko.c (rpl_fseeko): Likewise.
39852         * lib/fseterr.c (fseterr): Likewise.
39853         * lib/fwriting.c (fwriting): Likewise.
39854         * tests/test-fflush.c (main): Avoid a failure on uClibc.
39855
39856 2007-06-08  Bruno Haible  <bruno@clisp.org>
39857
39858         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
39859         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
39860         * modules/gettext (Files): Add m4/intlmacosx.m4.
39861
39862 2007-06-07  Bruno Haible  <bruno@clisp.org>
39863
39864         * modules/localename-tests: New file.
39865         * tests/test-localename.c: New file.
39866
39867         New module 'localename'.
39868         * lib/localename.h: New file.
39869         * lib/localename.c: New file, from GNU gettext.
39870         * m4/localename.m4: New file.
39871         * modules/localename: New file.
39872
39873 2007-06-07  Bruno Haible  <bruno@clisp.org>
39874
39875         Work around the lack of <wchar.h> on some builds of uClibc.
39876         * doc/headers/wchar.texi: Update.
39877         * lib/wchar_.h: Include <wchar.h> only if it exists.
39878         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
39879         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
39880         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
39881         doesn't exist.
39882         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
39883         * modules/mbfile (Depends-on): Add wchar.
39884         * modules/mbiter (Depends-on): Likewise.
39885         * modules/mbuiter (Depends-on): Likewise.
39886         Reported by Simon Josefsson.
39887
39888 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
39889
39890         Work around problem reported by Steven M. Schweda in
39891         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
39892         Tru64 5.1B with the Compaq compiler environment installed declares
39893         an 'isblank' function but does not define it in the C library.
39894         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
39895         * lib/regex_internal.h (isblank): Likewise.
39896         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
39897         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39898
39899 2007-06-05  Bruno Haible  <bruno@clisp.org>
39900
39901         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
39902         ia64.
39903         * modules/printf-safe: New file.
39904         * modules/fprintf-posix (Depends-on): Add printf-safe.
39905         * modules/printf-posix (Depends-on): Likewise.
39906         * modules/snprintf-posix (Depends-on): Likewise.
39907         * modules/sprintf-posix (Depends-on): Likewise.
39908         * modules/vasnprintf-posix (Depends-on): Likewise.
39909         * modules/vasprintf-posix (Depends-on): Likewise.
39910         * modules/vfprintf-posix (Depends-on): Likewise.
39911         * modules/vprintf-posix (Depends-on): Likewise.
39912         * modules/vsnprintf-posix (Depends-on): Likewise.
39913         * modules/vsprintf-posix (Depends-on): Likewise.
39914         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
39915         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
39916         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
39917         "no" on i386, x86_64, ia64.
39918         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
39919         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
39920         on i386, x86_64, ia64.
39921         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
39922         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
39923         on i386, x86_64, ia64.
39924         * tests/test-vasnprintf-posix.c: Include float.h.
39925         (LDBL80_WORDS): New macro.
39926         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
39927         on i386, x86_64, ia64.
39928         * tests/test-vasprintf-posix.c: Include float.h.
39929         (LDBL80_WORDS): New macro.
39930         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
39931         on i386, x86_64, ia64.
39932         * tests/test-snprintf-posix.c: Include float.h.
39933         * tests/test-sprintf-posix.c: Likewise.
39934         * tests/test-vsnprintf-posix.c: Likewise.
39935         * tests/test-vsprintf-posix.c: Likewise.
39936
39937 2007-06-05  Bruno Haible  <bruno@clisp.org>
39938
39939         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
39940         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
39941         non-IEEE numbers on i386, x86_64, ia64.
39942         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
39943         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
39944         * tests/test-isnanl.h: Include float.h.
39945         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
39946
39947 2007-06-05  Bruno Haible  <bruno@clisp.org>
39948
39949         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
39950         also the %a / %A. Handle the %a / %A code before this extra handling.
39951
39952 2007-06-05  Bruno Haible  <bruno@clisp.org>
39953
39954         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
39955         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
39956
39957 2007-06-05  Bruno Haible  <bruno@clisp.org>
39958
39959         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
39960         typo in variable name.
39961
39962 2007-06-05  Eric Blake  <ebb9@byu.net>
39963
39964         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
39965         Reported by Simon Josefsson.
39966
39967 2007-06-04  Bruno Haible  <bruno@clisp.org>
39968
39969         Avoid test failures on some PowerPC platforms.
39970         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
39971         Define differently for PowerPC.
39972         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
39973         Reported by Gary V. Vaughan <gary@gnu.org>.
39974
39975 2007-06-02  Bruno Haible  <bruno@clisp.org>
39976
39977         Fix test-stdint failure on FreeBSD/ia64.
39978         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
39979         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
39980         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
39981         * doc/headers/stdint.texi: Update.
39982
39983 2007-06-01  Bruno Haible  <bruno@clisp.org>
39984
39985         * tests/test-binary-io.c (main): Pass a third argument to open().
39986         Reported by Gary V. Vaughan <gary@gnu.org>.
39987
39988 2007-06-01  Bruno Haible  <bruno@clisp.org>
39989
39990         * doc/functions/frexpl.texi: Update for mingw.
39991
39992 2007-06-01  Bruno Haible  <bruno@clisp.org>
39993
39994         * tests/test-lseek.c (main): Disable test of errno for invalid third
39995         argument.
39996         * doc/functions/lseek.texi: Update.
39997         Reported by Gary V. Vaughan <gary@gnu.org>.
39998
39999 2007-05-28  Bruno Haible  <bruno@clisp.org>
40000
40001         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
40002
40003 2007-05-31  Eric Blake  <ebb9@byu.net>
40004
40005         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
40006         cross compiling.
40007
40008 2007-05-30  Eric Blake  <ebb9@byu.net>
40009         and Bruno Haible  <bruno@clisp.org>
40010
40011         Work around mingw test failures exposed by m4-1.4.9b.
40012         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
40013         * tests/test-unistd.c: Disable uid_t and git_t tests for the
40014         moment.
40015
40016 2007-05-30  Bruno Haible  <bruno@clisp.org>
40017
40018         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
40019         assuming that they are closed. Needed on HP-UX 11.
40020
40021 2007-05-29  Bruno Haible  <bruno@clisp.org>
40022
40023         Fix a problem with #include_next.
40024         * lib/dirent_.h: Split the double-inclusion guard.
40025         * lib/fcntl_.h: Likewise.
40026         * lib/float_.h: Likewise.
40027         * lib/iconv_.h: Likewise.
40028         * lib/inttypes_.h: Likewise.
40029         * lib/locale_.h: Likewise.
40030         * lib/math_.h: Likewise.
40031         * lib/netinet_in_.h: Likewise.
40032         * lib/search_.h: Likewise.
40033         * lib/signal_.h: Likewise.
40034         * lib/stdint_.h: Likewise.
40035         * lib/stdio_.h: Likewise.
40036         * lib/stdlib_.h: Likewise.
40037         * lib/string_.h: Likewise.
40038         * lib/sys_select_.h: Likewise.
40039         * lib/sys_socket_.h: Likewise.
40040         * lib/sys_stat_.h: Likewise.
40041         * lib/sys_time_.h: Likewise.
40042         * lib/sysexits_.h: Likewise.
40043         * lib/time_.h: Likewise.
40044         * lib/unistd_.h: Likewise.
40045         * lib/wchar_.h: Likewise.
40046         * lib/wctype_.h: Likewise.
40047
40048 2007-05-29  Bruno Haible  <bruno@clisp.org>
40049
40050         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
40051         for the moment.
40052
40053 2007-05-29  Bruno Haible  <bruno@clisp.org>
40054
40055         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
40056         invocation.
40057         Reported by Eric Blake.
40058
40059 2007-05-29  Bruno Haible  <bruno@clisp.org>
40060
40061         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
40062         compiling case.
40063
40064 2007-05-29  Eric Blake  <ebb9@byu.net>
40065             Bruno Haible  <bruno@clisp.org>
40066
40067         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
40068         cross compiles.
40069
40070 2007-05-28  Eric Blake  <ebb9@byu.net>
40071
40072         * modules/closein-tests (test_closein_LDADD): Support test on
40073         cygwin with libtool.
40074
40075 2007-05-28  Bruno Haible  <bruno@clisp.org>
40076
40077         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
40078         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40079         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40080         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40081         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40082         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40083         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40084         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40085         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40086
40087 2007-05-28  Eric Blake  <ebb9@byu.net>
40088
40089         Unconditionally include <config.h> in unit tests.
40090         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
40091         * tests/test-allocsa.c, tests/test-arcfour.c,
40092         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
40093         tests/test-array_list.c, tests/test-array_oset.c,
40094         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
40095         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
40096         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
40097         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
40098         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
40099         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
40100         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
40101         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
40102         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
40103         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
40104         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
40105         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
40106         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
40107         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
40108         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
40109         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
40110         test-md5.c, test-memmem.c, test-printf-posix.c,
40111         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
40112         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
40113         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
40114         test-strcasestr.c, test-striconv.c, test-striconveh.c,
40115         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
40116         test-vasnprintf-posix2.c, test-vasnprintf.c,
40117         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
40118         test-vfprintf-posix.c, test-vprintf-posix.c,
40119         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
40120         test-xvasprintf.c: Likewise.
40121
40122 2007-05-28  Bruno Haible  <bruno@clisp.org>
40123
40124         * gnulib-tool (func_import): Remember the --with-tests command-line
40125         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
40126         Reported by Eric Blake.
40127
40128 2007-05-28  Bruno Haible  <bruno@clisp.org>
40129
40130         * modules/ftell-tests: New file.
40131         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
40132         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
40133
40134         * lib/ftell.c: New file.
40135         * modules/ftell: New file.
40136         * m4/ftell.m4: New file.
40137         * doc/functions/ftell.texi: Update.
40138         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
40139         REPLACE_FTELL.
40140         * lib/stdio_.h (rpl_ftell): New declaration.
40141         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
40142         REPLACE_FTELL.
40143
40144 2007-05-28  Eric Blake  <ebb9@byu.net>
40145
40146         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
40147
40148 2007-05-28  Bruno Haible  <bruno@clisp.org>
40149
40150         * modules/fseek-tests: New file.
40151         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
40152         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
40153
40154         * lib/fseek.c: New file.
40155         * modules/fseek: New file.
40156         * m4/fseek.m4: New file.
40157         * doc/functions/fseek.texi: Update.
40158         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
40159         REPLACE_FSEEK.
40160         * lib/stdio_.h (rpl_fseek): New declaration.
40161         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
40162         REPLACE_FSEEK.
40163
40164 2007-05-28  Bruno Haible  <bruno@clisp.org>
40165
40166         * lib/stdio_.h (fflush): More comments.
40167
40168 2007-05-28  Bruno Haible  <bruno@clisp.org>
40169
40170         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
40171         runtime test.
40172
40173 2007-05-28  Eric Blake  <ebb9@byu.net>
40174
40175         Improve lseek module.
40176         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
40177         * lib/unistd_.h (lseek): Scale back link warning message.
40178         * tests/test-lseek.c: Beef up test.
40179         * tests/test-lseek.sh: Exercise more facets of lseek.
40180         Reported by Bruno Haible.
40181
40182 2007-05-28  Bruno Haible  <bruno@clisp.org>
40183
40184         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
40185         to define.
40186
40187 2007-05-27  Bruno Haible  <bruno@clisp.org>
40188
40189         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
40190
40191 2007-05-27  Bruno Haible  <bruno@clisp.org>
40192
40193         * modules/openmp: New file.
40194         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
40195         Noah Misch.
40196
40197 2007-05-26  Bruno Haible  <bruno@clisp.org>
40198
40199         * modules/chdir-long (Depends-on): Add fchdir.
40200         * modules/chdir-safer (Depends-on): Likewise.
40201         * modules/fts (Depends-on): Likewise.
40202         * modules/fts-lgpl (Depends-on): Likewise.
40203         * modules/openat (Depends-on): Likewise.
40204         * modules/savewd (Depends-on): Likewise.
40205
40206 2007-05-24  Eric Blake  <ebb9@byu.net>
40207
40208         Fix lseek on mingw.
40209         * modules/lseek: New module.
40210         * m4/lseek.m4: New file.
40211         * lib/lseek.c: New file.
40212         * modules/lseek-tests: New file.
40213         * tests/test-lseek.c: New file.
40214         * tests/test-lseek.sh: New file.
40215         * MODULES.html.sh: Document lseek module.
40216         * modules/fflush (Depends-on): Add lseek, fseeko.
40217         * modules/fseeko (Depends-on): Likewise.
40218         * modules/ftello (Depends-on): Likewise.
40219         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
40220         broken.
40221         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
40222         broken.
40223         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
40224         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
40225         * lib/ftello.c (rpl_ftello): Likewise.
40226         * tests/test-fseeko.c (main): Test this.
40227         * tests/test-fseeko.sh: Likewise.
40228         * tests/test-ftello.c (main): Likewise.
40229         * tests/test-ftello.sh: Likewise.
40230         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
40231         implies replacing fseek.
40232         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
40233         HAVE_FTELLO.
40234         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
40235         * modules/unistd (Makefile.am): Likewise.
40236         * lib/unistd_.h (lseek): Declare a replacement.
40237         * doc/functions/lseek.texi (lseek): Document this fix.
40238         * doc/functions/fseek.texi (fseek): Likewise.
40239         * doc/functions/ftell.texi (ftell): Likewise.
40240
40241 2007-05-24  Bruno Haible  <bruno@clisp.org>
40242
40243         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
40244         in the printed representation of a NaN.
40245         * tests/test-vasprintf-posix.c (test_function): Likewise.
40246         * tests/test-snprintf-posix.h (test_function): Likewise.
40247         * tests/test-sprintf-posix.h (test_function): Likewise.
40248         Reported by Eric Blake.
40249
40250 2007-05-23  Eric Blake  <ebb9@byu.net>
40251
40252         Fix fseeko/ftello on cygwin 1.5.24.
40253         * doc/functions/fseeko.texi (fseeko): Document the fix.
40254         * doc/functions/ftello.texi (ftello): Document the fix.
40255         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
40256         * doc/functions/stdout.text (stdout): New file.
40257         * doc/functions/stderr.text (stderr): New file.
40258         * doc/gnulib.texi (Function Substitutes): Use new files.
40259         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
40260         prior to 1.7.0.
40261         * tests/test-ftello.c (main): Likewise for ftello.
40262         * tests/test-fseeko.sh: New file.
40263         * tests/test-ftello.sh: New file.
40264         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
40265         with seekable stdin.
40266         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
40267         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
40268         (gl_REPLACE_FSEEKO): New macro.
40269         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
40270         * modules/fseeko (Files): Distribute fseeko.c.
40271         * modules/ftello (Files): Distribute ftello.c.
40272         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
40273         mode.
40274         * lib/ftello.c (rpl_ftello): New file.
40275         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
40276         fseeko, ftello.
40277         (gl_STDIN_LARGE_OFFSET): New macro.
40278         * modules/stdio (Makefile.am): Perform the replacement.
40279         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
40280
40281 2007-05-23  Bruno Haible  <bruno@clisp.org>
40282
40283         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
40284         GNULIB_POSIXCHECK is defined.
40285
40286 2007-05-21  Bruno Haible  <bruno@clisp.org>
40287
40288         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
40289         Check also the output for NaN arguments. When cross-compiling, guess
40290         no on IRIX.
40291         * lib/vasnprintf.c: Update comments.
40292         * tests/test-vasnprintf-posix.c (strisnan): New function.
40293         (test_function): Use it.
40294         * tests/test-vasprintf-posix.c (strisnan): New function.
40295         (test_function): Use it.
40296         * tests/test-snprintf-posix.h (strisnan): New function.
40297         (test_function): Use it.
40298         * tests/test-sprintf-posix.h (strisnan): New function.
40299         (test_function): Use it.
40300         Reported by Eric Blake.
40301
40302 2007-05-20  Bruno Haible  <bruno@clisp.org>
40303
40304         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
40305         numbers that fails on BeOS.
40306         * doc/functions/frexpl.texi: Update.
40307
40308 2007-05-20  Jim Meyering  <jim@meyering.net>
40309
40310         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
40311         forced upon us by glibc-2.6.
40312
40313 2007-05-20  Bruno Haible  <bruno@clisp.org>
40314
40315         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
40316         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
40317         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
40318         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
40319         NEED_PRINTF_INFINITE.
40320         (is_infinitel): New function.
40321         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
40322         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
40323         gl_PREREQ_VASNPRINTF_INFINITE.
40324         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
40325         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40326         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
40327         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
40328         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
40329         gl_PREREQ_VASNPRINTF_INFINITE.
40330         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40331         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40332         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40333         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40334         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40335         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40336         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40337         * doc/functions/fprintf.texi: Update.
40338         * doc/functions/printf.texi: Update.
40339         * doc/functions/snprintf.texi: Update.
40340         * doc/functions/sprintf.texi: Update.
40341         * doc/functions/vfprintf.texi: Update.
40342         * doc/functions/vprintf.texi: Update.
40343         * doc/functions/vsnprintf.texi: Update.
40344         * doc/functions/vsprintf.texi: Update.
40345
40346 2007-05-20  Bruno Haible  <bruno@clisp.org>
40347
40348         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
40349         was not found in libc.
40350         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
40351
40352 2007-05-20  Bruno Haible  <bruno@clisp.org>
40353
40354         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
40355         printed as "-nan" instead of "nan".
40356         * tests/test-vasprintf-posix.c (test_function): Likewise.
40357         * tests/test-snprintf-posix.h (test_function): Likewise.
40358         * tests/test-sprintf-posix.h (test_function): Likewise.
40359         Needed for HP-UX 11.
40360
40361 2007-05-20  Jim Meyering  <jim@meyering.net>
40362
40363         Fix buggy test for the fchownat-deref bug.
40364         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
40365         symlink required for the run-test.  Without it, this test would
40366         always declare that fchownat doesn't work, and client code would
40367         unnecessarily use the replacement function with fixed libc.
40368         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
40369         Reported by Greg Schafer.
40370
40371 2007-05-19  Bruno Haible  <bruno@clisp.org>
40372
40373         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
40374         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
40375         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
40376         Needed for IRIX 6.5 and Solaris 2.5.1.
40377
40378 2007-05-19  Bruno Haible  <bruno@clisp.org>
40379
40380         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
40381         (test_function): Skip tests involving -0.0 on platforms where
40382         -0.0 = 0.0.
40383         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
40384         (test_function): Skip tests involving -0.0 on platforms where
40385         -0.0 = 0.0.
40386         * tests/test-snprintf-posix.h (have_minus_zero): New function.
40387         (test_function): Skip tests involving -0.0 on platforms where
40388         -0.0 = 0.0.
40389         * tests/test-sprintf-posix.h (have_minus_zero): New function.
40390         (test_function): Skip tests involving -0.0 on platforms where
40391         -0.0 = 0.0.
40392         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
40393         tests.
40394         * tests/test-printf-posix.h (test_function): Likewise.
40395         * tests/test-printf-posix.output: Remove all -0.0 related results.
40396         Needed for IRIX 6.5.
40397
40398 2007-05-19  Bruno Haible  <bruno@clisp.org>
40399
40400         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
40401         printed as "nan0x7fffffff" instead of "nan".
40402         * tests/test-vasprintf-posix.c (test_function): Likewise.
40403         * tests/test-snprintf-posix.h (test_function): Likewise.
40404         * tests/test-sprintf-posix.h (test_function): Likewise.
40405         * tests/test-fprintf-posix.h (NaN): Remove macro.
40406         (test_function): Remove all NaN related tests.
40407         * tests/test-printf-posix.h (NaN): Remove macro.
40408         (test_function): Remove all NaN related tests.
40409         * tests/test-printf-posix.output: Remove all NaN related results.
40410         Needed for IRIX 6.5.
40411
40412 2007-05-19  Bruno Haible  <bruno@clisp.org>
40413
40414         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
40415         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
40416
40417 2007-05-19  Bruno Haible  <bruno@clisp.org>
40418
40419         * lib/float_.h: New file.
40420         * m4/float_h.m4: New file.
40421         * modules/float: New file.
40422         * modules/isnanl (Dependencies): Add float.
40423         * modules/isnanl-nolibm (Dependencies): Likewise.
40424         * modules/mathl (Dependencies): Likewise.
40425         * modules/printf-frexpl (Dependencies): Likewise.
40426         * modules/signbit (Dependencies): Likewise.
40427         * modules/vasnprintf (Dependencies): Likewise.
40428         * doc/headers/float.texi: Update.
40429
40430 2007-05-19  Jim Meyering  <jim@meyering.net>
40431
40432         * lib/utimens.c (gl_futimens): Rename from futimens,
40433         now that glibc-2.6 declares futimens.
40434         * lib/utimens.h: Likewise.
40435
40436 2007-05-19  Bruno Haible  <bruno@clisp.org>
40437
40438         Avoid test failures on mingw.
40439         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
40440         * tests/test-printf-posix.sh: Likewise.
40441         * tests/test-vfprintf-posix.sh: Likewise.
40442         * tests/test-vprintf-posix.sh: Likewise.
40443
40444 2007-05-19  Bruno Haible  <bruno@clisp.org>
40445
40446         Fix *printf result for NaN, Inf, -0.0 on mingw.
40447         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
40448         * lib/vasnprintf.c: Include math.h and isnan.h.
40449         (is_infinite_or_zero): New function.
40450         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
40451         values in the %f, %F, %e, %E, %g, %G directives.
40452         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
40453         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40454         gl_PRINTF_INFINITE and test its result. Invoke
40455         gl_PREREQ_VASNPRINTF_INFINITE.
40456         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40457         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40458         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40459         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40460         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40461         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40462         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40463         * doc/functions/fprintf.texi: Update.
40464         * doc/functions/printf.texi: Update.
40465         * doc/functions/snprintf.texi: Update.
40466         * doc/functions/sprintf.texi: Update.
40467         * doc/functions/vfprintf.texi: Update.
40468         * doc/functions/vprintf.texi: Update.
40469         * doc/functions/vsnprintf.texi: Update.
40470         * doc/functions/vsprintf.texi: Update.
40471
40472 2007-05-19  Bruno Haible  <bruno@clisp.org>
40473
40474         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
40475         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
40476         Instead of multiplying with 10^k, set extra_zeroes to k.
40477         (scale10_round_long_double): Remove function.
40478
40479 2007-05-18  Bruno Haible  <bruno@clisp.org>
40480
40481         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
40482         introduced on 2007-05-06.
40483
40484 2007-05-18  Bruno Haible  <bruno@clisp.org>
40485
40486         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
40487         %g directives.
40488         * tests/test-vasprintf-posix.c (test_function): Likewise.
40489         * tests/test-snprintf-posix.h (test_function): Likewise.
40490         * tests/test-sprintf-posix.h (test_function): Likewise.
40491
40492 2007-05-18  Bruno Haible  <bruno@clisp.org>
40493
40494         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
40495         (strmatch): New function.
40496         (test_function): Test the %f directive on numbers of various exponents.
40497         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
40498         (strmatch): New function.
40499         (test_function): Test the %f directive on numbers of various exponents.
40500         * tests/test-snprintf-posix.h (strmatch): New function.
40501         (test_function): Test the %f directive on numbers of various exponents.
40502         * tests/test-sprintf-posix.h (strmatch): New function.
40503         (test_function): Test the %f directive on numbers of various exponents.
40504         * tests/test-snprintf-posix.c (SIZEOF): New macro.
40505         * tests/test-sprintf-posix.c (SIZEOF): New macro.
40506         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
40507         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
40508
40509 2007-05-18  Bruno Haible  <bruno@clisp.org>
40510
40511         Add support for 'long double' number output.
40512         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
40513         * lib/vasnprintf.c: Include math.h and float+.h.
40514         (mp_limb_t): New type.
40515         (GMP_LIMB_BITS): New macro.
40516         (mp_twolimb_t): New type.
40517         (GMP_TWOLIMB_BITS): New macro.
40518         (mpn_t): New type.
40519         (multiply, divide, convert_to_decimal, decode_long_double,
40520         scale10_round_long_double, scale10_round_decimal_long_double,
40521         floorlog10l): New functions.
40522         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
40523         for the %f, %F, %e, %E, %g, %G directives.
40524         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
40525         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
40526         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
40527         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
40528         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
40529         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40530         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40531         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40532         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40533         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40534         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40535         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
40536         * modules/snprintf-posix (Depends-on): Likewise.
40537         * modules/sprintf-posix (Depends-on): Likewise.
40538         * modules/vasnprintf-posix (Depends-on): Likewise.
40539         * modules/vasprintf-posix (Depends-on): Likewise.
40540         * modules/vfprintf-posix (Depends-on): Likewise.
40541         * modules/vsnprintf-posix (Depends-on): Likewise.
40542         * modules/vsprintf-posix (Depends-on): Likewise.
40543         * modules/vasnprintf (Files): Add lib/float+.h.
40544         * doc/functions/fprintf.texi: Update.
40545         * doc/functions/printf.texi: Update.
40546         * doc/functions/snprintf.texi: Update.
40547         * doc/functions/sprintf.texi: Update.
40548         * doc/functions/vfprintf.texi: Update.
40549         * doc/functions/vprintf.texi: Update.
40550         * doc/functions/vsnprintf.texi: Update.
40551         * doc/functions/vsprintf.texi: Update.
40552
40553 2007-05-18  Bruno Haible  <bruno@clisp.org>
40554
40555         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
40556
40557 2007-05-18  Bruno Haible  <bruno@clisp.org>
40558
40559         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
40560         for printing 64-bit integers. Needed for mingw.
40561
40562 2007-05-18  Bruno Haible  <bruno@clisp.org>
40563
40564         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
40565         gl_FUNC_FREXPL_WORKS.
40566         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
40567
40568 2007-05-18  Bruno Haible  <bruno@clisp.org>
40569
40570         * modules/frexpl-nolibm-tests: New file.
40571
40572         * modules/frexpl-nolibm: New file.
40573         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
40574
40575 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
40576
40577         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
40578         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
40579         GCC 4.2, which otherwise issues a lot of warnings.
40580         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
40581         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
40582         Likewise.
40583         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
40584         * modules/iconv_open (iconv.h): Likewise.
40585         * modules/locale (locale.h): Likewise.
40586         * modules/netinet_in (netinet/in.h): Likewise.
40587         * modules/sys_select (sys_select.h): Likewise.
40588         * modules/sys_socket (sys/socket.h): Likewise.
40589         * modules/sys_stat (sys/stat.h): Likewise.
40590         * modules/sysexits (sysexits.h): Likewise.
40591         * modules/unistd (unistd.h): Likewise.
40592
40593 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40594
40595         * modules/closein-tests (Makefile.am): Distribute
40596         `test-closein.sh'.
40597
40598 2007-05-17  Bruno Haible  <bruno@clisp.org>
40599
40600         * tests/test-printf-posix.output: Renamed from
40601         tests/test-fprintf-posix.out.
40602         * modules/fprintf-posix-tests: Update.
40603         * modules/printf-posix-tests: Update.
40604         * modules/vfprintf-posix-tests: Update.
40605         * modules/vprintf-posix-tests: Update.
40606         * tests/test-fprintf-posix.sh: Update.
40607         * tests/test-printf-posix.sh: Update.
40608         * tests/test-vfprintf-posix.sh: Update.
40609         * tests/test-vprintf-posix.sh: Update.
40610         Reported by Ralf Wildenhues.
40611
40612 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
40613
40614         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
40615         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
40616         GCC 4.2, which otherwise issues a lot of warnings.
40617         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
40618         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
40619         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
40620         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
40621         it should no longer be needed.
40622         * lib/string_.h: Likewise.
40623         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
40624         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
40625         * modules/inttypes (inttypes.h): Likewise.
40626         * modules/math (math.h): Likewise.
40627         * modules/search (search.h): Likewise.
40628         * modules/signal (signal.h): Likewise.
40629         * modules/stdint (stdint.h): Likewise.
40630         * modules/stdio (stdio.h): Likewise.
40631         * modules/stdlib (stdlib.h): Likewise.
40632         * modules/string (string.h): Likewise.
40633         * modules/sys_time (sys/time.h): Likewise.
40634         * modules/time (time.h): Likewise.
40635         * modules/wchar (wchar.h): Likewise.
40636         * modules/wctype (wtype.h): Likewise.
40637
40638 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
40639
40640         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
40641
40642 2007-05-13  Bruno Haible  <bruno@clisp.org>
40643
40644         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
40645         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
40646         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
40647         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
40648         (gl_PREREQ_STRTOK_R): Don't require it here.
40649
40650 2007-05-13  Bruno Haible  <bruno@clisp.org>
40651
40652         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
40653         when used in C++ mode.
40654
40655 2007-05-12  Bruno Haible  <bruno@clisp.org>
40656
40657         * lib/linebuffer.h: Tweak doc.
40658         * lib/linebuffer.c: Likewise.
40659
40660 2007-05-12  James Youngman  <jay@gnu.org>
40661
40662         * lib/linebuffer.c (readlinebuffer_delim): New function,
40663         like readlinebuffer, but use a caller-specified delimiter.
40664         (readlinebuffer): Just call readlinebuffer_delim with '\n'
40665         as the delimiter.
40666         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
40667
40668 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40669
40670         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
40671         * modules/openat (Files): Remove openat-die.c.
40672         (Depends-on): Add openat-die.
40673         * modules/openat-die: New module.
40674
40675 2007-05-06  Bruno Haible  <bruno@clisp.org>
40676
40677         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
40678         Update with info about Cygwin.
40679         * doc/functions/fprintf.texi: Update.
40680         * doc/functions/printf.texi: Update.
40681         * doc/functions/snprintf.texi: Update.
40682         * doc/functions/sprintf.texi: Update.
40683         * doc/functions/vfprintf.texi: Update.
40684         * doc/functions/vprintf.texi: Update.
40685         * doc/functions/vsnprintf.texi: Update.
40686         * doc/functions/vsprintf.texi: Update.
40687         Reported by Eric Blake.
40688
40689 2007-05-06  Bruno Haible  <bruno@clisp.org>
40690
40691         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
40692         padding ourselves for the floating-point directives.
40693         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
40694         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
40695         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
40696         gl_PRINTF_FLAG_ZERO and test its result. Invoke
40697         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
40698         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40699         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
40700         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40701         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40702         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40703         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40704         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40705         * tests/test-snprintf-posix.h (test_function): Also check the width
40706         and some flags in the %f directive.
40707         * tests/test-sprintf-posix.h (test_function): Likewise.
40708         * tests/test-vasnprintf-posix.c (test_function): Likewise.
40709         * tests/test-vasprintf-posix.c (test_function): Likewise.
40710         * doc/functions/fprintf.texi: Update.
40711         * doc/functions/printf.texi: Update.
40712         * doc/functions/snprintf.texi: Update.
40713         * doc/functions/sprintf.texi: Update.
40714         * doc/functions/vfprintf.texi: Update.
40715         * doc/functions/vprintf.texi: Update.
40716         * doc/functions/vsnprintf.texi: Update.
40717         * doc/functions/vsprintf.texi: Update.
40718
40719 2007-05-06  Bruno Haible  <bruno@clisp.org>
40720
40721         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
40722         pass the ' flag character to sprintf or snprintf.
40723         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
40724         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
40725         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
40726         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
40727         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
40728         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
40729         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
40730         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
40731         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
40732         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
40733         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40734         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
40735         * tests/test-snprintf-posix.h (test_function): Also check the grouping
40736         flag.
40737         * tests/test-sprintf-posix.h (test_function): Likewise.
40738         * tests/test-vasnprintf-posix.c (test_function): Likewise.
40739         * tests/test-vasprintf-posix.c (test_function): Likewise.
40740         * doc/functions/fprintf.texi: Update.
40741         * doc/functions/printf.texi: Update.
40742         * doc/functions/snprintf.texi: Update.
40743         * doc/functions/sprintf.texi: Update.
40744         * doc/functions/vfprintf.texi: Update.
40745         * doc/functions/vprintf.texi: Update.
40746         * doc/functions/vsnprintf.texi: Update.
40747         * doc/functions/vsprintf.texi: Update.
40748
40749 2007-05-01  Bruno Haible  <bruno@clisp.org>
40750
40751         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
40752
40753 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
40754
40755         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
40756         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
40757
40758 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
40759
40760         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
40761         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
40762         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
40763
40764 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
40765
40766         * lib/argp-help.c (struct hol_entry): New member `ord'.
40767         (HOL_ENTRY_PTRCMP): Use ord for comparison
40768         (hol_sort): Initialize ord.
40769
40770 2007-05-01  Bruno Haible  <bruno@clisp.org>
40771
40772         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
40773         Reported by Eric Blake.
40774         * doc/gnulib.texi (Function Substitutes): Update.
40775
40776 2007-05-01  Bruno Haible  <bruno@clisp.org>
40777
40778         * doc/functions.texi: Remove file, now redundant through
40779         doc/functions/*.texi.
40780
40781 2007-05-01  Bruno Haible  <bruno@clisp.org>
40782
40783         * modules/argp (Depends-on): Add sleep.
40784
40785 2007-05-01  Bruno Haible  <bruno@clisp.org>
40786
40787         * modules/sleep-tests: New file.
40788         * tests/test-sleep.c: New file.
40789
40790         * modules/sleep: New file.
40791         * lib/sleep.c: New file.
40792         * m4/sleep.m4: New file.
40793         * lib/unistd_.h (sleep): New declaration.
40794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
40795         HAVE_SLEEP.
40796         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
40797         * doc/functions/sleep.texi: Document the sleep module.
40798
40799 2007-05-01  Bruno Haible  <bruno@clisp.org>
40800
40801         * lib/sigprocmask.h: Remove file.
40802         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
40803         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
40804         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
40805         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
40806         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
40807         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
40808         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
40809         HAVE_SIGSET_T as a shell variable.
40810         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
40811         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
40812         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
40813         (Depends-on): Add signal. Remove verify.
40814         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
40815         (Include): Mention <signal.h> instead of sigprocmask.h.
40816         * NEWS: Mention the change.
40817         * lib/fatal-signal.c: Don't include sigprocmask.h.
40818
40819 2007-05-01  Bruno Haible  <bruno@clisp.org>
40820
40821         * modules/signal: New file.
40822         * lib/signal_.h: New file.
40823         * m4/signal_h.m4: New file.
40824
40825 2007-05-01  Bruno Haible  <bruno@clisp.org>
40826
40827         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
40828         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
40829         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
40830         HAVE_WCTYPE_CTMP_BUG into wctype.h.
40831
40832 2007-05-01  Bruno Haible  <bruno@clisp.org>
40833
40834         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
40835         configure time.
40836         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
40837         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
40838         * modules/sys_stat (Makefile.am): Substitute their values into
40839         sys/stat.h.
40840
40841 2007-05-01  Bruno Haible  <bruno@clisp.org>
40842
40843         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
40844         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
40845         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
40846
40847 2007-05-01  Bruno Haible  <bruno@clisp.org>
40848
40849         * doc/header/assert.texi: Undo last change: don't mention the gnulib
40850         'assert' module here.
40851
40852 2007-05-01  Bruno Haible  <bruno@clisp.org>
40853
40854         * doc/functions/*.texi: New files.
40855         * doc/functions/google-ranking.txt: New file.
40856         * doc/gnulib.texi (Function Substitutes): New chapter.
40857         (ctime, inet_ntoa): Remove sections.
40858         * doc/ctime.texi: Remove file.
40859         * doc/inet_ntoa.texi: Remove file.
40860         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
40861         dependencies.
40862         (%.info): New rule, specifying a --reference-limit.
40863
40864 2007-05-01  Bruno Haible  <bruno@clisp.org>
40865
40866         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
40867
40868 2007-05-01  Bruno Haible  <bruno@clisp.org>
40869
40870         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
40871         the portability of 'mkdir' to mingw systems.
40872
40873 2007-05-01  Bruno Haible  <bruno@clisp.org>
40874
40875         * doc/headers/google-ranking.txt: New file.
40876
40877 2007-04-30  Eric Blake  <ebb9@byu.net>
40878
40879         Prefer fseeko to fseek.
40880         * modules/getpass (Depends-on): Add fseeko.
40881         * lib/getpass.c (getpass): Use fseeko, not fseek.
40882
40883 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
40884
40885         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
40886         assumes the sorting is stable, while most qsort implementations
40887         are not.  Use argument addresses to ensure they never compare as
40888         equal.
40889
40890         * tests/test-argp-2.sh (usage-indent test): Fix output
40891         (func_compare): Restore diff options
40892         * tests/test-argp.c: Restore #include "progname.h"
40893
40894 2007-04-29  Bruno Haible  <bruno@clisp.org>
40895
40896         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
40897         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
40898         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
40899         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
40900         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
40901         (configure.ac): Define CHECK_SNPRINTF_POSIX.
40902         (TESTS, check_PROGRAMS): Add test-snprintf.
40903         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
40904         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
40905         (TESTS, check_PROGRAMS): Add test-vsnprintf.
40906         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
40907         assertions that fail on HP-UX, OSF/1, or IRIX.
40908         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
40909
40910 2007-04-29  Bruno Haible  <bruno@clisp.org>
40911
40912         * MODULES.html.sh (posix_functions): Remove 'contents'.
40913
40914 2007-04-29  Karl Berry  <karl@gnu.org>
40915
40916         * config/srclist.txt (gendocs_template_min): new entry.
40917
40918 2007-04-29  Bruno Haible  <bruno@clisp.org>
40919
40920         Work around fpurge bug on BSD systems.
40921         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
40922         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
40923         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
40924         fpurge to rpl_fpurge if the system already has this function.
40925         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
40926         the case where the system already has this function. Correct invariants
40927         on BSD systems.
40928         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
40929         BSD systems.
40930
40931 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
40932
40933         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
40934         proposed by Sven Verdoolaege.
40935
40936         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
40937         options.
40938         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
40939         (usage and help tests): Update
40940
40941 2007-04-29  Bruno Haible  <bruno@clisp.org>
40942
40943         * tests/test-fflush.c (main): Use a file of size 17, not 10.
40944         Print more information in case of failure. Disable a test on BeOS.
40945
40946 2007-04-29  Bruno Haible  <bruno@clisp.org>
40947
40948         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
40949         This helps debugging on systems on which no gdb is available.
40950
40951 2007-04-29  Bruno Haible  <bruno@clisp.org>
40952
40953         * lib/freading.h: Improve comments.
40954         * lib/fwriting.h: Likewise.
40955         * tests/test-freading.c (main): Don't check freading immediately after
40956         repositioning. Needed for glibc.
40957
40958 2007-04-29  Bruno Haible  <bruno@clisp.org>
40959
40960         * lib/freading.c (freading): Trivial simplification.
40961
40962 2007-04-28  Bruno Haible  <bruno@clisp.org>
40963
40964         * tests/test-fwriting.c (main): Also test the interaction between
40965         fflush and fwriting.
40966         * modules/fwriting-tests (Depends-on): Add fflush.
40967
40968         * tests/test-freading.c (main): Also test the interaction between
40969         fflush and freading.
40970         * modules/freading-tests (Depends-on): Add fflush.
40971
40972 2007-04-28  Bruno Haible  <bruno@clisp.org>
40973
40974         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
40975         fseeko and ftello.
40976         Suggested by Eric Blake.
40977
40978 2007-04-28  Jim Meyering  <jim@meyering.net>
40979
40980         Avoid false-negative in gl_STDINT_H's C99 conformance test.
40981         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
40982         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
40983
40984 2007-04-27  Eric Blake  <ebb9@byu.net>
40985
40986         * doc/headers/assert.texi (assert.h): Document assert module use.
40987
40988 2007-04-27  Bruno Haible  <bruno@clisp.org>
40989
40990         * doc/headers/*.texi: New files.
40991         * doc/gnulib.texi (Header File Substitutes): New chapter.
40992         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
40993         dependencies.
40994         (standards.info ,standards.html, standards.dvi): Update dependencies.
40995         (mostlyclean, clean): New targets.
40996
40997 2007-04-27  Bruno Haible  <bruno@clisp.org>
40998
40999         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
41000         * modules/sysexits (Files, Makefile.am): Update.
41001
41002         * lib/sys_socket_.h: Renamed from lib/socket_.h.
41003         * modules/sys_socket (Files, Makefile.am): Update.
41004
41005         * lib/sys_stat_.h: Renamed from lib/stat_.h.
41006         * modules/sys_stat (Files, Makefile.am): Update.
41007
41008 2007-04-27  Eric Blake  <ebb9@byu.net>
41009
41010         * lib/freading.h: Improve comments.
41011         * lib/fwriting.h: Likewise.
41012         * lib/fflush.c: Likewise.
41013
41014         Fix closein for mingw.
41015         * modules/closein-tests: Add tests for closein.
41016         * tests/test-closein.c: New file.
41017         * tests/test-closein.sh: Likewise.
41018         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
41019         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
41020
41021 2007-04-27  Bruno Haible  <bruno@clisp.org>
41022
41023         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
41024         version is < 6.
41025         * lib/math_.h [__DECC]: Likewise.
41026         * lib/stdio_.h [__DECC]: Likewise.
41027         * lib/stdlib_.h [__DECC]: Likewise.
41028         * lib/string_.h [__DECC]: Likewise.
41029         * lib/time_.h [__DECC]: Likewise.
41030         * lib/wchar_.h [__DECC]: Likewise.
41031         * lib/wctype_.h [__DECC]: Likewise.
41032
41033 2007-04-27  Bruno Haible  <bruno@clisp.org>
41034
41035         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
41036
41037 2007-04-27  Bruno Haible  <bruno@clisp.org>
41038
41039         * lib/fflush.c: Add comments.
41040         * modules/fpurge-tests (Depends-on): Add fflush.
41041         * modules/freadable-tests (Depends-on): Likewise.
41042         * modules/fwritable-tests (Depends-on): Likewise.
41043
41044 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
41045
41046         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
41047         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
41048         Report by Bruno Haible <bruno@clisp.org>.
41049
41050 2007-04-26  Eric Blake  <ebb9@byu.net>
41051
41052         Fix fflush on mingw.
41053         * modules/fflush (Depends-on): Add freading.
41054         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
41055         but unread data.
41056
41057 2007-04-26  Eric Blake  <ebb9@byu.net>
41058         and Bruno Haible  <bruno@clisp.org>
41059
41060         Implement freading and fwriting.
41061         * lib/freading.c: New file.
41062         * lib/freading.h: Likewise.
41063         * m4/freading.m4: Likewise.
41064         * modules/freading: Likewise.
41065         * modules/freading-tests: Likewise.
41066         * tests/test-freading.c: Likewise.
41067         * lib/fwriting.c: New file.
41068         * lib/fwriting.h: Likewise.
41069         * m4/fwriting.m4: Likewise.
41070         * modules/fwriting: Likewise.
41071         * modules/fwriting-tests: Likewise.
41072         * tests/test-fwriting.c: Likewise.
41073         * MODULES.html.sh (File stream based Input/Output): Mention them.
41074
41075 2007-04-26  Bruno Haible  <bruno@clisp.org>
41076
41077         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
41078         'long' when we assume it.
41079         Suggested by Eric Blake.
41080
41081 2007-04-26  Bruno Haible  <bruno@clisp.org>
41082
41083         Ensure fseeko, ftello are declared on glibc systems.
41084         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
41085         * modules/fseeko (configure.ac-early): Likewise.
41086         * modules/ftello (configure.ac-early): Likewise.
41087         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
41088         AC_FUNC_FSEEKO for this.
41089         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
41090         (gl_CHECK_FSEEKO): Remove macro.
41091
41092 2007-04-26  Bruno Haible  <bruno@clisp.org>
41093
41094         * tests/test-fflush.c (main): Also check the ftell result after
41095         fflush and fseek/fseeko.
41096         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
41097         file descriptor position cache in the stream.
41098         * lib/fseeko.c (rpl_fseeko): Likewise.
41099
41100 2007-04-26  Bruno Haible  <bruno@clisp.org>
41101
41102         * modules/fflush-tests (Depends-on): Add fseeko.
41103
41104 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
41105             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
41106
41107         * lib/argz_.h: ensure error_t definition is obtained in same
41108         mechanism system argz.h would have.
41109         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
41110         argz facilities are known bad.  Err on the side of caution if
41111         cross-compiling.
41112
41113 2007-04-25  Eric Blake  <ebb9@byu.net>
41114
41115         * lib/fpurge.c (includes): Use stdlib.h for free.
41116         * tests/test-fflush.c (main): Also test fflush-fseeko.
41117
41118 2007-04-25  Bruno Haible  <bruno@clisp.org>
41119
41120         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
41121         * lib/fseeko.c: New file.
41122         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
41123         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
41124         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
41125         gl_FUNC_FSEEKO.
41126         (gl_FUNC_FSEEKO): Invoke it.
41127         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
41128         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
41129         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
41130
41131 2007-04-25  Bruno Haible  <bruno@clisp.org>
41132
41133         * modules/fflush (Depends-on): Add ftello.
41134
41135 2007-04-25  Bruno Haible  <bruno@clisp.org>
41136
41137         * modules/ftello-tests: New file.
41138         * tests/test-ftello.c: New file.
41139
41140         * modules/ftello: New file.
41141         * m4/ftello.m4: New file.
41142         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
41143         HAVE_FTELLO.
41144         * lib/stdio_.h (ftello): New declaration.
41145         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
41146         HAVE_FTELLO.
41147
41148 2007-04-25  Bruno Haible  <bruno@clisp.org>
41149
41150         * modules/fseeko-tests: New file.
41151         * tests/test-fseeko.c: New file.
41152
41153         * modules/fseeko: New file.
41154         * m4/fseeko.m4: New file.
41155         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
41156         HAVE_FSEEKO.
41157         * lib/stdio_.h (fseeko): New declaration.
41158         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
41159         HAVE_FSEEKO.
41160
41161 2007-04-25  Bruno Haible  <bruno@clisp.org>
41162
41163         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
41164
41165 2007-04-25  Bruno Haible  <bruno@clisp.org>
41166
41167         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
41168         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
41169         * tests/test-unistd.c: Likewise.
41170         * tests/test-fcntl.c: Likewise.
41171
41172 2007-04-23  Eric Blake  <ebb9@byu.net>
41173
41174         * lib/fflush.c: Fix missing include.
41175         Reported by Bruno Haible.
41176
41177 2007-04-23  Bruno Haible  <bruno@clisp.org>
41178
41179         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
41180         Reported by Eric Blake.
41181
41182 2007-04-23  Bruno Haible  <bruno@clisp.org>
41183
41184         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
41185
41186 2007-04-23  Bruno Haible  <bruno@clisp.org>
41187
41188         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
41189
41190 2007-04-23  Bruno Haible  <bruno@clisp.org>
41191
41192         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
41193         Needed on HP-UX 11.
41194
41195 2007-04-16  Eric Blake  <ebb9@byu.net>
41196
41197         Make fflush rely on fpurge.
41198         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
41199         open coding all variants.
41200         * modules/fflush (Depends-on): Add fpurge and unistd.
41201         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
41202         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
41203
41204         Fix --with-tests compilation on cygwin.
41205         * modules/argmatch-tests (Makefile.am): List gnulib library first
41206         in LDADD.
41207         * modules/argp-tests (Makefile.am): Likewise.
41208         * modules/array-list-tests (Makefile.am): Likewise.
41209         * modules/array-oset-tests (Makefile.am): Likewise.
41210         * modules/avltree-list-tests (Makefile.am): Likewise.
41211         * modules/avltree-oset-tests (Makefile.am): Likewise.
41212         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41213         * modules/carray-list-tests (Makefile.am): Likewise.
41214         * modules/dirname-tests (Makefile.am): Likewise.
41215         * modules/frexp-tests (Makefile.am): Likewise.
41216         * modules/isnanl-tests (Makefile.am): Likewise.
41217         * modules/linked-list-tests (Makefile.am): Likewise.
41218         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41219         * modules/lock-tests (Makefile.am): Likewise.
41220         * modules/rbtree-list-tests (Makefile.am): Likewise.
41221         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41222         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41223         * modules/tls-tests (Makefile.am): Likewise.
41224         * modules/tsearch-tests (Makefile.am): Likewise.
41225         * modules/xvasprintf-tests (Makefile.am): Likewise.
41226
41227         Fix fpurge for cygwin.
41228         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
41229         value.
41230         * modules/fpurge-tests (Depends-on): Clean up trash.
41231
41232 2007-04-16  Simon Josefsson  <simon@josefsson.org>
41233
41234         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
41235
41236         * m4/autobuild.m4: Re-indent.
41237
41238 2007-04-13  Bruno Haible  <bruno@clisp.org>
41239
41240         * modules/fpurge-tests: New file.
41241         * tests/test-fpurge.c: New file.
41242
41243         * modules/fpurge: New file.
41244         * lib/fpurge.h: New file.
41245         * lib/fpurge.c: New file.
41246         * m4/fpurge.m4: New file.
41247
41248 2007-04-13  Bruno Haible  <bruno@clisp.org>
41249
41250         * modules/fbufmode-tests: New file.
41251         * tests/test-fbufmode.c: New file.
41252
41253         * modules/fbufmode: New file.
41254         * lib/fbufmode.h: New file.
41255         * lib/fbufmode.c: New file.
41256         * m4/fbufmode.m4: New file.
41257
41258 2007-04-13  Bruno Haible  <bruno@clisp.org>
41259
41260         * modules/fwritable-tests: New file.
41261         * tests/test-fwritable.c: New file.
41262
41263         * modules/fwritable: New file.
41264         * lib/fwritable.h: New file.
41265         * lib/fwritable.c: New file.
41266         * m4/fwritable.m4: New file.
41267
41268 2007-04-13  Bruno Haible  <bruno@clisp.org>
41269
41270         * modules/freadable-tests: New file.
41271         * tests/test-freadable.c: New file.
41272
41273         * modules/freadable: New file.
41274         * lib/freadable.h: New file.
41275         * lib/freadable.c: New file.
41276         * m4/freadable.m4: New file.
41277
41278 2007-04-13  Bruno Haible  <bruno@clisp.org>
41279
41280         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
41281         MOSTLYCLEANFILES.
41282
41283 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
41284
41285         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
41286         gzip bootstrap.conf to avoid dragging in i18n machinery.
41287         (gnulib_tool_option): Use it.
41288
41289 2007-04-13  Bruno Haible  <bruno@clisp.org>
41290
41291         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
41292         %F directives.
41293         * tests/test-vasprintf-posix.c (test_function): Likewise.
41294         * tests/test-snprintf-posix.h (test_function): Likewise.
41295         * tests/test-sprintf-posix.h (test_function): Likewise.
41296         * tests/test-fprintf-posix.h (test_function): Likewise.
41297         * tests/test-printf-posix.h (test_function): Likewise.
41298         * tests/test-fprintf-posix.out: Likewise.
41299
41300 2007-04-13  Bruno Haible  <bruno@clisp.org>
41301
41302         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
41303         * modules/tls-tests (configure.ac): Likewise.
41304         Reported by Arto C. Nirkko <anirkko@insel.ch>.
41305
41306 2007-04-13  Bruno Haible  <bruno@clisp.org>
41307
41308         * lib/tls.c (glthread_tls_get): Fix return type.
41309         Patch by Arto C. Nirkko <anirkko@insel.ch>.
41310
41311 2007-04-12  Eric Blake  <ebb9@byu.net>
41312
41313         * modules/gettime (Depends-on): Remove gettime.
41314         Reported by Dmitry V. Levin.
41315
41316 2007-04-12  Bruno Haible  <bruno@clisp.org>
41317
41318         * modules/fflush (Include): Mention <stdio.h>.
41319         * modules/strtoimax (Include): Mention <inttypes.h>.
41320         * modules/strtoumax (Include): Likewise.
41321
41322 2007-04-12  Eric Blake  <ebb9@byu.net>
41323
41324         * .cvsignore: New file.
41325         * .gitignore: Likewise.
41326
41327 2007-04-12  Bruno Haible  <bruno@clisp.org>
41328
41329         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
41330         not before, since $(LDADD) often contains libgnu.a.
41331         * modules/striconv-tests (test_striconv_LDADD): Likewise.
41332         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
41333         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
41334         Needed on Cygwin.
41335
41336 2007-04-12  Eric Blake  <ebb9@byu.net>
41337
41338         Work around glibc's failure to flush stdin on fclose.
41339         * lib/closein.c (close_stdin): Flush stdin before closing.
41340
41341         Work around glibc's failure to reset seekable stdin on exit.
41342         * modules/closein: New module.
41343         * lib/closein.c: New file.
41344         * lib/closein.h: Likewise.
41345         * m4/closein.m4: Likewise.
41346         * MODULES.html.sh (File stream based Input/Output): Document it.
41347
41348 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41349
41350         * gnulib-tool: Rename generated 'autobuild' script to
41351         'do-autobuild' in --create-megatestdir output.
41352
41353         * doc/gnulib.texi (Build robot for gnulib): Fix.
41354
41355 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41356
41357         * modules/sysexits (Depends-on): Add absolute-header.
41358
41359 2007-04-12  Eric Blake  <ebb9@byu.net>
41360
41361         No need to preserve errno on success.
41362         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
41363         Reported by Bruno Haible.
41364
41365 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41366
41367         * MODULES.html.sh (Support for maintaining and releasing
41368         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
41369
41370 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41371
41372         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
41373
41374 2007-04-12  Simon Josefsson  <simon@josefsson.org>
41375
41376         * modules/autobuild: New module.
41377
41378         * m4/autobuild.m4: New file.
41379
41380 2007-04-11  Bruno Haible  <bruno@clisp.org>
41381
41382         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
41383         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
41384         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
41385         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
41386         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
41387         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41388         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41389         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
41390         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41391         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41392         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
41393         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41394         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41395         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
41396         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41397         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41398         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
41399         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41400         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41401         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
41402         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41403         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41404         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
41405         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41406         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41407         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
41408         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
41409         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
41410         Reported by Eric Blake.
41411
41412 2007-04-11  Bruno Haible  <bruno@clisp.org>
41413
41414         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
41415
41416 2007-04-10  Bruno Haible  <bruno@clisp.org>
41417
41418         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
41419         for NaN and Infinity. Needed on FreeBSD 6.1.
41420         * tests/test-vasnprintf-posix.c (test_function): Undo last change
41421         regarding results for "%010a" of Infinity and NaN.
41422         * tests/test-vasprintf-posix.c (test_function): Likewise.
41423         * tests/test-snprintf-posix.h (test_function): Likewise.
41424         * tests/test-sprintf-posix.h (test_function): Likewise.
41425         * tests/test-fprintf-posix.h (test_function): Likewise.
41426         * tests/test-printf-posix.h (test_function): Likewise.
41427         * tests/test-fprintf-posix.out: Likewise.
41428
41429 2007-04-10  Bruno Haible  <bruno@clisp.org>
41430
41431         * modules/locale-tests: New file.
41432         * tests/test-locale.c: New file.
41433
41434         * modules/locale: New file.
41435         * lib/locale_.h: New file.
41436         * m4/locale_h.m4: New file.
41437
41438 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
41439             Bruno Haible  <bruno@clisp.org>
41440
41441         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
41442         be determined, test for availability of the copysignf, copysign,
41443         copysignl functions.
41444         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
41445         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
41446         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
41447
41448 2007-04-09  Eric Blake  <ebb9@byu.net>
41449
41450         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
41451         * modules/stdio (Makefile.am): Support fflush.
41452         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
41453         * modules/fflush: New file.
41454         * lib/fflush.c: Likewise.
41455         * m4/fflush.m4: Likewise.
41456         * modules/fflush-tests: New test.
41457         * tests/test-fflush.c: Likewise.
41458         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
41459
41460 2007-04-06  Bruno Haible  <bruno@clisp.org>
41461
41462         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
41463         (VASNPRINTF): Use signbit for faster determination whether to print a
41464         minus sign.
41465         * modules/vasnprintf (Files): Remove lib/float+.h.
41466         * modules/fprintf-posix (Depends-on): Add signbit.
41467         * modules/snprintf-posix (Depends-on): Likewise.
41468         * modules/sprintf-posix (Depends-on): Likewise.
41469         * modules/vasnprintf-posix (Depends-on): Likewise.
41470         * modules/vasprintf-posix (Depends-on): Likewise.
41471         * modules/vfprintf-posix (Depends-on): Likewise.
41472         * modules/vsnprintf-posix (Depends-on): Likewise.
41473         * modules/vsprintf-posix (Depends-on): Likewise.
41474
41475 2007-04-06  Bruno Haible  <bruno@clisp.org>
41476
41477         * tests/test-frexp.c (main): Test also the sign bit of zero results.
41478         * tests/test-frexpl.c (main): Likewise.
41479         * tests/test-ldexpl.c (main): Likewise.
41480         * modules/frexp-tests (Depends-on): Add signbit.
41481         * modules/frexpl-tests (Depdends-on): Likewise.
41482         * modules/ldexpl-tests (Depdends-on): Likewise.
41483
41484 2007-04-06  Bruno Haible  <bruno@clisp.org>
41485
41486         * modules/signbit-tests: New file.
41487         * tests/test-signbit.c: New file.
41488
41489         * modules/signbit: New file.
41490         * lib/signbitf.c: New file.
41491         * lib/signbitd.c: New file.
41492         * lib/signbitl.c: New file.
41493         * m4/signbit.m4: New file.
41494         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
41495         (signbit): New macro.
41496         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
41497         REPLACE_SIGNBIT.
41498         * modules/math (Makefile.am) Substibute also GNULIB_SIGNBIT and
41499         REPLACE_FREXPL into math.h.
41500
41501 2007-04-06  Bruno Haible  <bruno@clisp.org>
41502
41503         * modules/isnanf-nolibm-tests: New file.
41504         * tests/test-isnanf.c: New file.
41505
41506         * modules/isnanf-nolibm: New file.
41507         * lib/isnanf.h: New file.
41508         * lib/isnanf.c: New file.
41509         * lib/isnan.c: Consider the USE_FLOAT macro.
41510         * m4/isnanf.m4: New file.
41511
41512 2007-04-06  Bruno Haible  <bruno@clisp.org>
41513
41514         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
41515         (Link): New section.
41516
41517         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
41518
41519 2007-04-06  Bruno Haible  <bruno@clisp.org>
41520
41521         Assume the 'long double' type.
41522         * m4/longdouble.m4: Remove file.
41523         * config/srclist.txt: Don't mention longdouble.m4.
41524         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
41525         * lib/float+.h: Likewise.
41526         * lib/frexp.c: Likewise.
41527         * lib/printf-args.h: Likewise.
41528         * lib/printf-args.c: Likewise.
41529         * lib/printf-frexp.c: Likewise.
41530         * lib/printf-parse.c: Likewise.
41531         * lib/vasnprintf.c: Likewise.
41532         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
41533         * m4/intl.m4: Likewise.
41534         * m4/isnanl.m4: Likewise.
41535         * m4/printf.m4: Likewise.
41536         * m4/printf-frexpl.m4: Likewise.
41537         * m4/vasnprintf.m4: Likewise.
41538         * modules/allocsa (Files): Remove m4/longdouble.m4.
41539         * modules/gettext (Files): Likewise.
41540         * modules/relocatable-prog-wrapper (Files): Likewise.
41541         * modules/vasnprintf (Files): Likewise.
41542         * modules/isnanl (Files): Likewise.
41543         (Include): Simplify.
41544         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
41545         (Include): Simplify.
41546         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
41547         (Include): Simplify.
41548         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
41549         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41550         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
41551         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41552         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
41553         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41554         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
41555         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41556         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
41557         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41558         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
41559         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
41560         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
41561         * tests/test-isnanl.c: Likewise.
41562         * tests/test-snprintf-posix.h: Likewise.
41563         * tests/test-sprintf-posix.h: Likewise.
41564         * tests/test-vasnprintf-posix.c: Likewise.
41565         * tests/test-vasnprintf-posix2.c: Likewise.
41566         * tests/test-vasprintf-posix.c: Likewise.
41567
41568 2007-04-06  Bruno Haible  <bruno@clisp.org>
41569
41570         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
41571         * lib/math_.h [__DECC]: Include the overridden include file through
41572         #include_next, outside the double-inclusion guard.
41573         * lib/stdio_.h [__DECC]: Likewise.
41574         * lib/stdlib_.h [__DECC]: Likewise.
41575         * lib/string_.h [__DECC]: Likewise.
41576         * lib/time_.h [__DECC]: Likewise.
41577         * lib/wchar_.h [__DECC]: Likewise.
41578         * lib/wctype_.h [__DECC]: Likewise.
41579         * lib/inttypes_.h [__DECC]: Likewise.
41580         Reported by Albert Chin <china@thewrittenword.com> in
41581         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
41582
41583 2007-04-04  Eric Blake  <ebb9@byu.net>
41584
41585         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
41586         1.5.x.
41587
41588 2007-04-04  Bruno Haible  <bruno@clisp.org>
41589
41590         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
41591         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
41592
41593 2007-04-04  Bruno Haible  <bruno@clisp.org>
41594
41595         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
41596         results for "%010a" of Infinity and NaN.
41597         * tests/test-vasprintf-posix.c (test_function): Likewise.
41598         * tests/test-snprintf-posix.h (test_function): Likewise.
41599         * tests/test-sprintf-posix.h (test_function): Likewise.
41600         * tests/test-fprintf-posix.h (test_function): Remove these tests.
41601         * tests/test-printf-posix.h (test_function): Likewise.
41602         * tests/test-fprintf-posix.out: Update.
41603         Needed for FreeBSD 6.1.
41604
41605 2007-04-04  Bruno Haible  <bruno@clisp.org>
41606
41607         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
41608         directly used by the gnulib modules nor by gnulib-tool.
41609
41610 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
41611
41612         * DEPENDENCIES: Give overall description of version dependency
41613         desirability.  Use more-typical names for apps.
41614         Add shell, coreutils, diffutils, grep, tar, gzip.
41615
41616 2007-04-04  Simon Josefsson  <simon@josefsson.org>
41617
41618         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
41619
41620 2007-04-04  Karl Berry  <karl@gnu.org>
41621
41622         * MODULES.html.sh (func_module): missing '.
41623
41624 2007-04-03  Bruno Haible  <bruno@clisp.org>
41625
41626         * modules/argmatch-tests (Makefile.am): New variable
41627         test_argmatch_LDADD.
41628         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
41629         * modules/array-list-tests (Makefile.am): New variable
41630         test_array_list_LDADD.
41631         * modules/array-oset-tests (Makefile.am): New variable
41632         test_array_oset_LDADD.
41633         * modules/avltree-list-tests (Makefile.am): New variable
41634         test_avltree_list_LDADD.
41635         * modules/avltree-oset-tests (Makefile.am): New variable
41636         test_avltree_oset_LDADD.
41637         * modules/avltreehash-list-tests (Makefile.am): New variable
41638         test_avltreehash_list_LDADD.
41639         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
41640         test_canonicalize_lgpl_LDADD.
41641         * modules/carray-list-tests (Makefile.am): New variable
41642         test_carray_list_LDADD.
41643         * modules/dirname-tests (Makefile.am): New variable
41644         test_dirname_LDADD.
41645         * modules/linked-list-tests (Makefile.am): New variable
41646         test_linked_list_LDADD.
41647         * modules/linkedhash-list-tests (Makefile.am): New variable
41648         test_linkedhash_list_LDADD.
41649         * modules/rbtree-list-tests (Makefile.am): New variable
41650         test_rbtree_list_LDADD.
41651         * modules/rbtree-oset-tests (Makefile.am): New variable
41652         test_rbtree_oset_LDADD.
41653         * modules/rbtreehash-list-tests (Makefile.am): New variable
41654         test_rbtreehash_list_LDADD.
41655         * modules/xvasprintf-tests (Makefile.am): New variable
41656         test_xvasprintf_LDADD.
41657         Reported by Eric Blake.
41658
41659 2007-04-03  Eric Blake  <ebb9@byu.net>
41660
41661         * DEPENDENCIES: Weaken m4 requirements.
41662
41663 2007-04-03  Bruno Haible  <bruno@clisp.org>
41664
41665         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
41666         * modules/isnanl-tests (configure.ac): Likewise.
41667
41668 2007-04-03  Ben Pfaff  <blp@gnu.org>
41669
41670         * modules/iconv_open: Add $(srcdir)/ to source directory
41671         references in Makefile fragments that call gperf, to fix VPATH
41672         builds.
41673
41674 2007-04-03  Bruno Haible  <bruno@clisp.org>
41675
41676         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
41677         * lib/ldexpl.c: Undo last change.
41678
41679 2007-04-03  Bruno Haible  <bruno@clisp.org>
41680
41681         * modules/printf-frexpl (Depends-on): Undo last change.
41682         (Files): Add m4/ldexpl.m4.
41683
41684 2007-04-03  Bruno Haible  <bruno@clisp.org>
41685
41686         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
41687         * modules/isnanl (Link): New section.
41688
41689         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
41690         * modules/frexp (Link): New section.
41691
41692         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
41693         * modules/frexpl (Link): New section.
41694
41695         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
41696         * modules/ldexpl (Link): New section.
41697
41698 2007-04-03  Bruno Haible  <bruno@clisp.org>
41699
41700         * modules/TEMPLATE-EXTENDED: New file.
41701         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
41702
41703 2007-04-03  Bruno Haible  <bruno@clisp.org>
41704
41705         * DEPENDENCIES: New file.
41706         Suggested by Simon Josefsson.
41707
41708 2007-04-03  Bruno Haible  <bruno@clisp.org>
41709
41710         * doc/gnulib.texi: Escape @.
41711
41712 2007-04-03  James Youngman  <jay@gnu.org>
41713         and Paul Eggert  <eggert@cs.ucla.edu>
41714
41715         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
41716         birthtime on all systems that have birthtime, not just those which
41717         use st_birthtimensec rather than st_birthtim.  Putting zero in
41718         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
41719         that the birth time is not available for files on an NFS mount.
41720
41721 2007-04-03  Simon Josefsson  <simon@josefsson.org>
41722
41723         * modules/memxor: Move back from crypto/, suggested by Bruno.
41724         * modules/crypto/hmac-sha1: Fix memxor dependency.
41725
41726         * modules/crypto/gc: Moved from ../.
41727
41728 2007-04-02  Eric Blake  <ebb9@byu.net>
41729
41730         * lib/ldexpl.c (includes): Avoid libm.
41731
41732         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
41733
41734 2007-04-02  Bruno Haible  <bruno@clisp.org>
41735
41736         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
41737         on IRIX.
41738
41739 2007-04-02  Bruno Haible  <bruno@clisp.org>
41740
41741         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
41742         x86 or x86_64 platforms running MacOS X.
41743         Reported by Ryan Schmidt <@ryandesign.com>.
41744
41745 2007-04-02  Bruno Haible  <bruno@clisp.org>
41746
41747         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
41748         i386.
41749
41750 2007-04-01  Simon Josefsson  <simon@josefsson.org>
41751
41752         * modules/crypto/arcfour: Moved from ../.
41753         * modules/crypto/arcfour-tests: Moved from ../.
41754         * modules/crypto/arctwo: Moved from ../.
41755         * modules/crypto/arctwo-tests: Moved from ../.
41756         * modules/crypto/des: Moved from ../.
41757         * modules/crypto/des-tests: Moved from ../.
41758         * modules/crypto/gc-arcfour: Moved from ../.
41759         * modules/crypto/gc-arcfour-tests: Moved from ../.
41760         * modules/crypto/gc-arctwo: Moved from ../.
41761         * modules/crypto/gc-arctwo-tests: Moved from ../.
41762         * modules/crypto/gc-des: Moved from ../.
41763         * modules/crypto/gc-des-tests: Moved from ../.
41764         * modules/crypto/gc-hmac-md5: Moved from ../.
41765         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
41766         * modules/crypto/gc-hmac-sha1: Moved from ../.
41767         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
41768         * modules/crypto/gc-md2: Moved from ../.
41769         * modules/crypto/gc-md2-tests: Moved from ../.
41770         * modules/crypto/gc-md4: Moved from ../.
41771         * modules/crypto/gc-md4-tests: Moved from ../.
41772         * modules/crypto/gc-md5: Moved from ../.
41773         * modules/crypto/gc-md5-tests: Moved from ../.
41774         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
41775         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
41776         * modules/crypto/gc-random: Moved from ../.
41777         * modules/crypto/gc-rijndael: Moved from ../.
41778         * modules/crypto/gc-rijndael-tests: Moved from ../.
41779         * modules/crypto/gc-sha1: Moved from ../.
41780         * modules/crypto/gc-sha1-tests: Moved from ../.
41781         * modules/crypto/gc-tests: Moved from ../.
41782         * modules/crypto/hmac-md5: Moved from ../.
41783         * modules/crypto/hmac-md5-tests: Moved from ../.
41784         * modules/crypto/hmac-sha1: Moved from ../.
41785         * modules/crypto/hmac-sha1-tests: Moved from ../.
41786         * modules/crypto/md2: Moved from ../.
41787         * modules/crypto/md2-tests: Moved from ../.
41788         * modules/crypto/md4: Moved from ../.
41789         * modules/crypto/md4-tests: Moved from ../.
41790         * modules/crypto/md5: Moved from ../.
41791         * modules/crypto/md5-tests: Moved from ../.
41792         * modules/crypto/memxor: Moved from ../.
41793         * modules/crypto/rijndael: Moved from ../.
41794         * modules/crypto/rijndael-tests: Moved from ../.
41795         * modules/crypto/sha1: Moved from ../.
41796
41797 2007-03-30  James Youngman  <jay@gnu.org>
41798
41799         * tests/test-stat-time.c (prepare_test): use chmod() rather than
41800         rename() to change the ctime of a file (because ctime is unaffected
41801         by rename on jfs2 on AIX 5.1).
41802         (main): Start by doing cleanup, in case a previous run failed leaving
41803         test files behind.
41804
41805 2007-03-31  Bruno Haible  <bruno@clisp.org>
41806
41807         Support old proprietary implementations of iconv.
41808         * modules/iconv_open: New file.
41809         * lib/iconv_.h: New file.
41810         * m4/iconv_h.m4: New file.
41811         * lib/iconv_open.c: New file.
41812         * lib/iconv_open-aix.gperf: New file.
41813         * lib/iconv_open-hpux.gperf: New file.
41814         * lib/iconv_open-irix.gperf: New file.
41815         * lib/iconv_open-osf.gperf: New file.
41816         * m4/iconv_open.m4: New file.
41817         * modules/linebreak (Depends-on): Add iconv_open.
41818         * modules/striconv (Depends-on): Likewise.
41819         * modules/striconveh (Depends-on): Likewise.
41820         * modules/unicodeio (Depends-on): Likewise.
41821         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
41822         (iconv_t)(-1).
41823         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
41824         conversion if cd is (iconv_t)(-1).
41825         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
41826         is not possible.
41827
41828 2007-03-31  Bruno Haible  <bruno@clisp.org>
41829
41830         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
41831         work on Solaris either. Protect also second use of "autodetect_jp".
41832
41833 2007-03-31  Bruno Haible  <bruno@clisp.org>
41834
41835         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
41836         the function is not present.
41837
41838 2007-03-31  Bruno Haible  <bruno@clisp.org>
41839
41840         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
41841         the function is not present.
41842
41843 2007-03-31  Bruno Haible  <bruno@clisp.org>
41844
41845         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
41846         a bug in HP-UX iconv_open().
41847
41848 2007-03-31  Bruno Haible  <bruno@clisp.org>
41849
41850         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
41851         (Mathematics <math.h>): New section, add fpieee.
41852         (Input/output <stdio.h>): Add fseterr.
41853         (Mathematics <math.h>): New section, add printf-frexp.
41854         (Container data structures): Add sublist.
41855         (Core language properties): Add fpucw, inline.
41856         (Functions for greatest-width integer types <inttypes.h>): Add
41857         imaxabs, imaxdiv, inttypes.
41858         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
41859         isnanl-nolibm, ldexp.
41860         (Mathematics <math.h>): New section, add printf-frexpl.
41861         (Support for systems lacking POSIX:2001): Add fprintf-posix,
41862         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
41863         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
41864         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
41865         (Unicode string functions): Add unistr/u*-mbtoucr.
41866         (Java): Add javacomp-script, javaexec-script.
41867         (C#): Add csharpcomp-script, csharpexec-script.
41868         (Support for building libraries and executables): Add havelib,
41869         relocatable-*.
41870         (Support for maintaining and releasing projects): Renamed from
41871         'Support for maintaining and release projects'. Add announce-gen.
41872
41873 2007-03-31  Bruno Haible  <bruno@clisp.org>
41874
41875         * README: Talk primarily about git.
41876         (git and CVS): Renamed from CVS.
41877         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
41878         gnulib is available through git.
41879         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
41880
41881 2007-03-30  Bruno Haible  <bruno@clisp.org>
41882
41883         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
41884         * lib/poll_.h: Likewise.
41885         * lib/stat_.h: Likewise.
41886         * lib/sys_time_.h: Likewise.
41887         * lib/sysexit_.h: Likewise.
41888         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
41889         * lib/stdbool_.h: Likewise.
41890         * lib/byteswap_.h: Add double-inclusion guard.
41891
41892 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
41893
41894         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
41895
41896 2007-03-30  Karl Berry  <karl@gnu.org>
41897
41898         * config/srclist-update: double space after USA in the license
41899         substitution, since that's how it's usually (?) written.
41900
41901 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
41902
41903         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
41904         reported by Bruno Haible.
41905
41906 2007-03-29  Bruno Haible  <bruno@clisp.org>
41907
41908         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
41909         a bug in AIX iconv().
41910
41911 2007-03-29  Bruno Haible  <bruno@clisp.org>
41912
41913         * modules/ldexpl-tests: New file.
41914         * tests/test-ldexpl.c: New file.
41915
41916 2007-03-29  Bruno Haible  <bruno@clisp.org>
41917
41918         * lib/ldexpl.c: Include fpucw.h.
41919         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
41920         multiplication.
41921         * modules/ldexpl (Depends-on): Add fpucw.
41922
41923 2007-03-29  Bruno Haible  <bruno@clisp.org>
41924
41925         * modules/ldexpl: New file.
41926         * m4/ldexpl.m4: New file.
41927         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
41928         set.
41929         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
41930         REPLACE_LDEXPL.
41931         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
41932         REPLACE_LDEXPL.
41933         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
41934         gl_FUNC_LDEXPL_WORKS.
41935         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
41936         * modules/mathl (Files): Remove lib/ldexpl.c.
41937         (Depends-on): Add ldexpl.
41938
41939 2007-03-29  Bruno Haible  <bruno@clisp.org>
41940
41941         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
41942
41943 2007-03-29  Bruno Haible  <bruno@clisp.org>
41944
41945         * tests/test-striconveh.c (main): Don't assume that a direct conversion
41946         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
41947         and possibly also HP-UX.
41948         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
41949         work on AIX, IRIX, HP-UX, OSF/1.
41950         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
41951         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
41952         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
41953         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
41954         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
41955         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
41956
41957 2007-03-29  Bruno Haible  <bruno@clisp.org>
41958
41959         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
41960
41961 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
41962
41963         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
41964         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
41965
41966 2007-03-29  Eric Blake  <ebb9@byu.net>
41967
41968         * lib/acl-internal.h: Remove redundant include.
41969         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
41970         Cygwin when a file is locked.
41971
41972 2007-03-29  Bruno Haible  <bruno@clisp.org>
41973
41974         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
41975         file.
41976         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
41977
41978 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
41979
41980         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
41981         try to remove a parent directory if the child couldn't be removed
41982         (except for the first rmdir, which could fail because the child
41983         doesn't exist).  Problem reported by Jeff Blaine in
41984         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
41985
41986 2007-03-28  Bruno Haible  <bruno@clisp.org>
41987
41988         * lib/striconveh.c (utf8conv_carefully): New function.
41989         (mem_cd_iconveh_internal): Invoke it.
41990
41991 2007-03-28  Bruno Haible  <bruno@clisp.org>
41992
41993         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
41994         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
41995         input.
41996         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
41997         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
41998         unistr/u8-uctomb.
41999
42000 2007-03-28  Bruno Haible  <bruno@clisp.org>
42001
42002         * modules/unistr/u8-mbtoucr: New file.
42003         * lib/unistr/u8-mbtoucr.c: New file.
42004         * modules/unistr/u16-mbtoucr: New file.
42005         * lib/unistr/u16-mbtoucr.c: New file.
42006         * modules/unistr/u16-mbtoucr: New file.
42007         * lib/unistr/u16-mbtoucr.c: New file.
42008         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
42009
42010 2007-03-27  Simon Josefsson  <simon@josefsson.org>
42011             Bruno Haible  <bruno@clisp.org>
42012
42013         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
42014         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
42015         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
42016
42017         * m4/stdio_h.m4: Add stubs for vasprintf too.
42018
42019         * modules/stdio: Support vasprintf in sed command.
42020
42021         * modules/vasprintf: Depend on stdio for prototypes.  Remove
42022         vasprintf.h.  Add stdio module indicator.
42023
42024         * lib/stdio_.h: Declare asprintf and vasprintf, based on
42025         vasprintf.h.
42026
42027         * lib/vasprintf.h: File removed.
42028
42029         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
42030         * lib/vasprintf.c: Ditto.
42031         * lib/xvasprintf.c: Ditto.
42032         * tests/test-vasprintf-posix.c: Ditto.
42033         * tests/test-vasprintf.c: Ditto.
42034
42035 2007-03-27  Bruno Haible  <bruno@clisp.org>
42036
42037         Make vasnprintf multithread-safe.
42038         * lib/vasnprintf.c (decimal_point_char): New function.
42039         (VASNPRINTF): Use it.
42040         Suggested by Simon Josefsson.
42041
42042 2007-03-27  Eric Blake  <ebb9@byu.net>
42043
42044         Support sub-second birthtime on cygwin.
42045         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
42046         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
42047         (get_stat_birthtime): Also work with st_birthtim.
42048
42049 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
42050
42051         * lib/stat-time.h (USE_BIRTHTIME): Remove.
42052         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
42053         (get_stat_birthtime_ns): Do not try to use "spare" fields.
42054         (get_stat_birthtime_ns): Simplify compile-time tests.
42055         (get_stat_birthtime): Change the API to look like
42056         get_stat_mtime etc., except return a negative tv_nsec on error.
42057         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
42058         Don't check for "spare" fields.
42059         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
42060         or for struct stat.st_birthtime, as these tests aren't used.
42061         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
42062
42063 2007-03-27  Bruno Haible  <bruno@clisp.org>
42064
42065         * lib/stat-time.h: Include <sys/stat.h>.
42066
42067 2007-03-27  James Youngman  <jay@gnu.org>
42068
42069         * lib/stat-time.h (get_stat_birthtime): New function for
42070           retrieving st_birthtime as provided by UFS2 (hence *BSD).
42071         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
42072           and its variants.
42073         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
42074         * modules/stat-time-test: New file.
42075         * tests/test-stat-time.c: New test, devised by Bruno Haible.
42076
42077 2007-03-26  Bruno Haible  <bruno@clisp.org>
42078
42079         Better support of signalling NaNs.
42080         * lib/atanl.c: Include isnanl.h.
42081         (atanl): Perform test for NaN at the beginning of the function and
42082         through a call to isnanl.
42083         * lib/cosl.c: Include isnanl.h.
42084         (cosl): Perform test for NaN at the beginning of the function and
42085         through a call to isnanl.
42086         * lib/ldexpl.c: Include isnanl.h.
42087         (ldexpl): Perform test for NaN through a call to isnanl.
42088         * lib/logl.c: Include isnanl.h.
42089         (logl): Perform test for NaN at the beginning of the function and
42090         through a call to isnanl.
42091         * lib/sinl.c: Include isnanl.h.
42092         (sinl): Perform test for NaN at the beginning of the function and
42093         through a call to isnanl.
42094         * lib/sqrtl.c: Include isnanl.h.
42095         (sqrtl): Perform test for NaN at the beginning of the function and
42096         through a call to isnanl.
42097         * lib/tanl.c: Include isnanl.h.
42098         (tanl): Perform test for NaN at the beginning of the function and
42099         through a call to isnanl.
42100         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
42101         * modules/mathl (Depends-on): Add isnanl.
42102
42103 2007-03-26  Eric Blake  <ebb9@byu.net>
42104
42105         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
42106         regression in logic sense of previous patch.
42107
42108 2007-03-26  Bruno Haible  <bruno@clisp.org>
42109
42110         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
42111         unportable shell command "if ! ...".
42112         Reported by Ralf Wildenhues.
42113
42114 2007-03-25  Bruno Haible  <bruno@clisp.org>
42115
42116         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
42117         <sysexits.h> file, and only add EX_CONFIG.
42118         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
42119         absolute file name and whether it is sufficient. Substitute also
42120         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
42121         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
42122         ABSOLUTE_SYSEXITS_H into sysexits.h.
42123
42124 2007-03-25  Bruno Haible  <bruno@clisp.org>
42125
42126         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
42127         hints is NULL.
42128
42129 2007-03-25  Bruno Haible  <bruno@clisp.org>
42130
42131         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
42132         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
42133
42134 2007-03-25  Bruno Haible  <bruno@clisp.org>
42135
42136         * lib/vasnprintf.c: Include langinfo.h.
42137         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
42138         multithread-safe.
42139         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
42140         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
42141         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
42142         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
42143         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
42144         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
42145         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
42146         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
42147         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
42148         Reported by Simon Josefsson.
42149
42150 2007-03-25  Bruno Haible  <bruno@clisp.org>
42151
42152         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
42153         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
42154         * modules/vasnprintf (Depends-on): Add stdint.
42155
42156 2007-03-25  Bruno Haible  <bruno@clisp.org>
42157
42158         * modules/fpieee: New file.
42159         * m4/fpieee.m4: New file.
42160         * modules/isnan-nolibm (Depends-on): Add fpieee.
42161         * modules/isnanl-nolibm (Depends-on): Add fpieee.
42162         * modules/isnanl (Depends-on): Add fpieee.
42163
42164 2007-03-25  Bruno Haible  <bruno@clisp.org>
42165
42166         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
42167
42168 2007-03-25  Bruno Haible  <bruno@clisp.org>
42169
42170         Avoid test failures on IRIX 6.5.
42171         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
42172         (main): Use it.
42173         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
42174         macros.
42175         (main): Use them.
42176
42177 2007-03-25  Bruno Haible  <bruno@clisp.org>
42178
42179         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
42180         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
42181         exists but doesn't work.
42182         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
42183         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
42184         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
42185         * modules/math (Makefile.am) Substibute also REPLACE_FREXPL into math.h.
42186
42187 2007-03-25  Bruno Haible  <bruno@clisp.org>
42188
42189         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
42190         returns inf. Needed on IRIX 6.5.
42191
42192 2007-03-25  Bruno Haible  <bruno@clisp.org>
42193
42194         * tests/test-frexpl.c: Include isnanl-nolibm.h.
42195         (main): Use isnanl instead of x != x idiom.
42196         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
42197
42198         * tests/test-frexp.c: Include isnan.h.
42199         (main): Use isnan instead of x != x idiom.
42200         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
42201
42202 2007-03-25  Bruno Haible  <bruno@clisp.org>
42203
42204         * tests/test-frexp.c (NaN): New function/macro.
42205         (main): Use it instead of 0.0 / 0.0.
42206         * tests/test-isnan.c (NaN): New function/macro.
42207         (main): Use it instead of 0.0 / 0.0.
42208         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
42209         (test_function): Use it instead of 0.0 / 0.0.
42210         * tests/test-vasprintf-posix.c (NaN): New function/macro.
42211         (test_function): Use it instead of 0.0 / 0.0.
42212         * tests/test-snprintf-posix.h (NaN): New function/macro.
42213         (test_function): Use it instead of 0.0 / 0.0.
42214         * tests/test-sprintf-posix.h (NaN): New function/macro.
42215         (test_function): Use it instead of 0.0 / 0.0.
42216         * tests/test-fprintf-posix.h (NaN): New function/macro.
42217         (test_function): Use it instead of 0.0 / 0.0.
42218         * tests/test-printf-posix.h (NaN): New function/macro.
42219         (test_function): Use it instead of 0.0 / 0.0.
42220
42221         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
42222
42223 2007-03-25  Bruno Haible  <bruno@clisp.org>
42224
42225         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
42226
42227 2007-03-25  Bruno Haible  <bruno@clisp.org>
42228
42229         * lib/regexec.c (merge_state_with_log): Make static.
42230
42231 2007-03-25  Bruno Haible  <bruno@clisp.org>
42232
42233         * lib/trigl.c (kernel_rem_pio2): Make static.
42234
42235 2007-03-25  Bruno Haible  <bruno@clisp.org>
42236
42237         * lib/sincosl.c (sincosl_table): Make static.
42238
42239 2007-03-25  Bruno Haible  <bruno@clisp.org>
42240
42241         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
42242         if the compiler does not support C99.
42243
42244 2007-03-25  Bruno Haible  <bruno@clisp.org>
42245
42246         * modules/time (Makefile.am): Ensure all rule action lines start with a
42247         tab.
42248
42249 2007-03-24  Bruno Haible  <bruno@clisp.org>
42250
42251         * modules/tsearch-tests: New file.
42252         * tests/test-tsearch.sh: New file.
42253         * tests/test-tsearch.c: New file, mostly copied from glibc.
42254
42255         * modules/search-tests: New file.
42256         * tests/test-search.c: New file.
42257
42258         * modules/search: New file.
42259         * lib/search_.h: New file, incorporating lib/tsearch.h.
42260         * m4/search_h.m4: New file.
42261         * lib/tsearch.h: Remove file.
42262         * lib/tsearch.c: Include search.h instead of tsearch.h.
42263         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
42264         HAVE_TSEARCH.
42265         * modules/tsearch (Files): Remove lib/tsearch.h.
42266         (Depends-on): Add search.
42267         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
42268         (Include): Change tsearch.h into search.h.
42269
42270 2007-03-24  Bruno Haible  <bruno@clisp.org>
42271
42272         * modules/fpucw: New file.
42273         * lib/fpucw.h: New file.
42274         * lib/frexp.c: Include fpucw.h.
42275         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
42276         (FUNC): Use them.
42277         * lib/printf-frexp.c: Include fpucw.h.
42278         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
42279         (FUNC): Use them.
42280         * lib/vasnprintf.c: Include fpucw.h.
42281         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
42282         'long double' calculations.
42283         * tests/test-frexpl.c: Include fpucw.h.
42284         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
42285         * tests/test-printf-frexpl.c: Include fpucw.h.
42286         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
42287         * modules/frexpl (Depends-on): Add fpucw.
42288         * modules/printf-frexpl (Depends-on): Likewise.
42289         * modules/fprintf-posix (Depends-on): Likewise.
42290         * modules/snprintf-posix (Depends-on): Likewise.
42291         * modules/sprintf-posix (Depends-on): Likewise.
42292         * modules/vasnprintf-posix (Depends-on): Likewise.
42293         * modules/vasprintf-posix (Depends-on): Likewise.
42294         * modules/vfprintf-posix (Depends-on): Likewise.
42295         * modules/vsnprintf-posix (Depends-on): Likewise.
42296         * modules/vsprintf-posix (Depends-on): Likewise.
42297         * modules/frexpl-tests (Depends-on): Likewise.
42298         * modules/printf-frexpl-tests (Depends-on): Likewise.
42299
42300 2007-03-24  Bruno Haible  <bruno@clisp.org>
42301
42302         * lib/float+.h: New file.
42303         * lib/isnan.c: Include float+.h.
42304         (SIZE): New macro.
42305         (FUNC): Compare only SIZE bytes of the value.
42306         * lib/vasnprintf.c: Include float+.h.
42307         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
42308         SIZEOF_LDBL or SIZEOF_DBL bytes.
42309         * modules/isnan-nolibm (Files): Add lib/float+.h.
42310         * modules/isnanl-nolibm (Files): Add lib/float+.h.
42311         * modules/isnanl (Files): Add lib/float+.h.
42312         * modules/vasnprintf (Files): Add lib/float+.h.
42313
42314 2007-03-24  Bruno Haible  <bruno@clisp.org>
42315
42316         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
42317         include isnanl-nolibm.h.
42318
42319 2007-03-24  Bruno Haible  <bruno@clisp.org>
42320
42321         * tests/test-read-file.c (main): Don't produce spurious output for
42322         expected situations. Make the test fail if it encountered unexpected
42323         results.
42324
42325 2007-03-24  Bruno Haible  <bruno@clisp.org>
42326
42327         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
42328         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
42329
42330 2007-03-24  Bruno Haible  <bruno@clisp.org>
42331
42332         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
42333
42334 2007-03-24  Bruno Haible  <bruno@clisp.org>
42335
42336         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
42337         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
42338
42339         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
42340         * modules/utf8-ucs4: Turn into a symbolic link to module
42341         unistr/u8-mbtouc.
42342
42343         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
42344         utf8-ucs4-unsafe.
42345         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
42346         unistr/u8-mbtouc-unsafe.
42347
42348         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
42349         * modules/utf16-ucs4: Turn into a symbolic link to module
42350         unistr/u16-mbtouc.
42351
42352         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
42353         utf16-ucs4-unsafe.
42354         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
42355         unistr/u16-mbtouc-unsafe.
42356
42357         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
42358         * modules/ucs4-utf8: Turn into a symbolic link to module
42359         unistr/u8-ubtomb.
42360
42361         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
42362         * modules/ucs4-utf16: Turn into a symbolic link to module
42363         unistr/u16-ubtomb.
42364
42365 2007-03-24  Bruno Haible  <bruno@clisp.org>
42366
42367         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
42368         Enable the function only if HAVE_INLINE.
42369         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
42370         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
42371         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
42372         Enable the function only if HAVE_INLINE.
42373         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
42374         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
42375         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
42376         Enable the function only if HAVE_INLINE.
42377         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
42378         Enable the function only if HAVE_INLINE.
42379         * modules/utf8-ucs4: Update.
42380         * modules/utf8-ucs4-unsafe: Update.
42381         * modules/utf16-ucs4: Update.
42382         * modules/utf16-ucs4-unsafe: Update.
42383         * modules/ucs4-utf8: Update.
42384         * modules/ucs4-utf16: Update.
42385
42386 2007-03-24  Bruno Haible  <bruno@clisp.org>
42387
42388         * lib/utf8-ucs4.h: Remove file.
42389         * lib/utf8-ucs4-unsafe.h: Remove file.
42390         * lib/utf16-ucs4.h: Remove file.
42391         * lib/utf16-ucs4-unsafe.h: Remove file.
42392         * lib/ucs4-utf8.h: Remove file.
42393         * lib/ucs4-utf16.h: Remove file.
42394         * lib/unistr.h: Include their previous contents.
42395         * m4/utf-ucs4.m4: Remove file.
42396         * m4/ucs4-utf.m4: Remove file.
42397         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
42398         (Depends-on): Add unistr/base.
42399         (configure.ac): Remove gl_UTF_UCS4.
42400         (Makefile.am): Update.
42401         (Include): Change to unistr.h.
42402         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
42403         (Depends-on): Add unistr/base.
42404         (configure.ac): Remove gl_UTF_UCS4.
42405         (Makefile.am): Update.
42406         (Include): Change to unistr.h.
42407         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
42408         (Depends-on): Add unistr/base.
42409         (configure.ac): Remove gl_UTF_UCS4.
42410         (Makefile.am): Update.
42411         (Include): Change to unistr.h.
42412         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
42413         (Depends-on): Add unistr/base.
42414         (configure.ac): Remove gl_UTF_UCS4.
42415         (Makefile.am): Update.
42416         (Include): Change to unistr.h.
42417         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
42418         (Depends-on): Add unistr/base.
42419         (configure.ac): Remove gl_UCS4_UTF.
42420         (Makefile.am): Update.
42421         (Include): Change to unistr.h.
42422         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
42423         (Depends-on): Add unistr/base.
42424         (configure.ac): Remove gl_UCS4_UTF.
42425         (Makefile.am): Update.
42426         (Include): Change to unistr.h.
42427         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
42428         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
42429         utf8-ucs4-unsafe.h.
42430         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
42431         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
42432         utf16-ucs4-unsafe.h.
42433         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
42434         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
42435         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
42436         * lib/unistr/u8-strchr.c: Likewise.
42437         * lib/unistr/u8-strrchr.c: Likewise.
42438         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
42439         * lib/unistr/u16-strchr.c: Likewise.
42440         * lib/unistr/u16-strrchr.c: Likewise.
42441         * lib/striconveh.c: Update.
42442         * lib/linebreak.c: Update.
42443
42444 2007-03-24  Bruno Haible  <bruno@clisp.org>
42445
42446         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
42447         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
42448
42449 2007-03-22  Bruno Haible  <bruno@clisp.org>
42450
42451         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
42452
42453 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
42454
42455         * MODULES.html.sh (File system functions): New module write-any-file.
42456         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
42457         * m4/write-any-file.m4: New files.
42458
42459 2007-03-23  Eric Blake  <ebb9@byu.net>
42460
42461         * gnulib-tool: Rearrange space-tab sequences, since some editors
42462         like to eat them.
42463
42464 2007-03-23  Eric Blake  <ebb9@byu.net>
42465
42466         * lib/version-etc.c (version_etc_va): Update license wording to
42467         be more concise.  Recommended by Richard Stallman.
42468
42469 2007-03-22  Bruno Haible  <bruno@clisp.org>
42470
42471         * lib/poll.c (MSG_PEEK): New fallback definition.
42472
42473 2007-03-22  Bruno Haible  <bruno@clisp.org>
42474
42475         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
42476         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
42477         (main): Update.
42478         Fixes a compilation error on BeOS.
42479
42480 2007-03-22  Bruno Haible  <bruno@clisp.org>
42481
42482         * modules/frexpl-tests: New file.
42483         * tests/test-frexpl.c: New file.
42484
42485         * modules/frexpl: New file.
42486         * m4/frexpl.m4: New file.
42487         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
42488         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
42489         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
42490         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
42491         (Depends-on): Add frexpl. Remove isnanl-nolibm.
42492         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
42493
42494 2007-03-22  Bruno Haible  <bruno@clisp.org>
42495
42496         * lib/frexpl.c: Share code with lib/frexp.c.
42497         * modules/mathl (Files): Add lib/frexp.c.
42498         (Depends-on): Add isnanl-nolibm.
42499
42500 2007-03-22  Bruno Haible  <bruno@clisp.org>
42501
42502         * modules/printf-frexp (Files): Add m4/frexp.m4.
42503         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
42504         only if the found frexp function actually works.
42505
42506 2007-03-22  Bruno Haible  <bruno@clisp.org>
42507
42508         * lib/frexp.c: Remove older implementation that uses divisions.
42509
42510 2007-03-21  Bruno Haible  <bruno@clisp.org>
42511
42512         * modules/frexp-tests: New file.
42513         * tests/test-frexp.c: New file.
42514
42515         * modules/frexp: New file.
42516         * lib/frexp.c: New file.
42517         * m4/frexp.m4: New file.
42518         * lib/math_.h (frexp): New declaration.
42519         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
42520         REPLACE_FREXP.
42521         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
42522
42523 2007-03-21  Bruno Haible  <bruno@clisp.org>
42524
42525         * modules/isnanl-tests: New file.
42526         * tests/test-isnanl.c: New file.
42527
42528         * modules/isnanl: New file.
42529         * lib/isnanl.h: New file.
42530         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
42531         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
42532         gl_FUNC_ISNANL_WORKS.
42533         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
42534         New macros.
42535
42536 2007-03-21  Bruno Haible  <bruno@clisp.org>
42537
42538         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
42539         lib/isnanl.h.
42540         (Include): Update.
42541         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
42542         * lib/vasnprintf.c: Update.
42543         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
42544         tests/test-isnanl.h, remove tests/test-isnanl.c.
42545         (Makefile.am): Update.
42546         * tests/test-isnanl-nolibm.c: New file.
42547         * tests/test-isnanl.h: New file.
42548         * tests/test-isnanl.c: Remove file.
42549
42550 2007-03-21  Jim Meyering  <jim@meyering.net>
42551
42552         When trying to open ".", treat ESTALE like EACCES.
42553         * lib/savewd.c (savewd_save): Resort to forking not just upon
42554         failure with EACCES, but also when errno is ESTALE.
42555
42556 2007-03-20  Bruno Haible  <bruno@clisp.org>
42557
42558         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
42559         Needed on AIX 5.1. Reported by Matthew Woehlke.
42560
42561 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
42562
42563         Suggestions by Bruno Haible:
42564         * lib/acl-internal.h: Include "gettext.h" rather than rolling
42565         our own.
42566         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
42567         * modules/acl (Depends-on): Add gettext.
42568
42569 2007-03-19  Bruno Haible  <bruno@clisp.org>
42570
42571         * modules/iconvme: Remove file.
42572         * lib/iconvme.h: Remove file.
42573         * lib/iconvme.c: Remove file.
42574         * m4/iconvme.m4: Remove file.
42575
42576 2007-03-19  Bruno Haible  <bruno@clisp.org>
42577
42578         * doc/relocatable-maint.texi: Break long shell script line.
42579         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
42580
42581 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
42582
42583         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
42584         handle file_has_acl.
42585         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
42586         * lib/acl.c: Move header inclusions and related macro defns into
42587         lib/acl-internal.h.
42588         (S_ISLNK): Remove defn, since that's now done for us.
42589         (file_has_acl): Move to lib/file-has-acl.c.
42590         Call acl_trivial if available.  This is the crucial part of the fix.
42591         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
42592         shared within the library.  Rewrite a bit, partly to make it compatible
42593         with the GNU coding style.
42594         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
42595         Remove unnecessary double-quotes.
42596         Don't test for acl_to_text; the build will catch that.
42597         Replace acl_entries if it doesn't exist and it is needed.
42598         Check for -lsec and acl_trivial (as used on Solaris 10).
42599         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
42600         lib/file-has-acl.c.
42601         (Depends-on): Add sys_stat, for S_ISLNK.
42602
42603 2007-03-19  Ben Pfaff  <blp@gnu.org>
42604
42605         * doc/gnulib.texi: Fix typos.
42606         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
42607
42608 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
42609
42610         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
42611         If size is zero here, buf must be zero.
42612
42613 2007-03-19  Simon Josefsson  <simon@josefsson.org>
42614
42615         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
42616         <bruno@clisp.org>.
42617
42618 2007-03-18  Bruno Haible  <bruno@clisp.org>
42619
42620         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
42621         Suggested by Eric Blake.
42622
42623 2007-03-18  Ben Pfaff  <blp@gnu.org>
42624
42625         * doc/relocatable.texi: Recommend using as prefix a directory
42626         that does not exist and will never be created.  Based on
42627         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
42628         and others.
42629
42630 2007-03-17  Bruno Haible  <bruno@clisp.org>
42631
42632         * lib/fchownat.c: Include lchown.h.
42633
42634 2007-03-17  Bruno Haible  <bruno@clisp.org>
42635
42636         Fix endless loop when the given allocated size was > INT_MAX.
42637         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
42638         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
42639         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
42640         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
42641         * lib/sprintf.c (sprintf): Likewise.
42642
42643 2007-03-17  Bruno Haible  <bruno@clisp.org>
42644
42645         * tests/test-argp-2.sh (func_compare): Output a context diff.
42646
42647 2007-03-17  Bruno Haible  <bruno@clisp.org>
42648
42649         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
42650         locale's decimal-point character.
42651
42652 2007-03-17  Bruno Haible  <bruno@clisp.org>
42653
42654         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
42655         before comparing it. Needed because on some platforms (e.g. x86) a
42656         'long double' occupies less bytes than sizeof (long double).
42657
42658 2007-03-17  Bruno Haible  <bruno@clisp.org>
42659
42660         * tests/test-crc.c (main): Make printf statements 64-bit clean.
42661         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
42662         * tests/test-getaddrinfo.c (simple): Likewise.
42663         * tests/test-read-file.c (main): Likewise.
42664
42665 2007-03-17  Bruno Haible  <bruno@clisp.org>
42666
42667         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
42668
42669 2007-03-17  Bruno Haible  <bruno@clisp.org>
42670
42671         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
42672         unused variable.
42673
42674 2007-03-17  Bruno Haible  <bruno@clisp.org>
42675
42676         * tests/test-c-strcasecmp.c: Include c-strcase.h.
42677         * tests/test-c-strncasecmp.c: Likewise.
42678
42679 2007-03-17  Bruno Haible  <bruno@clisp.org>
42680
42681         * modules/stdlib (Depends-on): Add unistd.
42682         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
42683         Needed for MacOS X 10.3.
42684
42685 2007-03-17  Bruno Haible  <bruno@clisp.org>
42686
42687         * lib/unistr/u-strdup.h: Include <stdlib.h>.
42688
42689 2007-03-17  Bruno Haible  <bruno@clisp.org>
42690
42691         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
42692
42693 2007-03-17  Bruno Haible  <bruno@clisp.org>
42694
42695         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
42696         to reflect files copied from gnulib (with or without modifications).
42697         Suggested by Jim Meyering.
42698
42699 2007-03-17  Eric Blake  <ebb9@byu.net>
42700
42701         * NEWS: Document stdlib change from 2007-02-18.
42702
42703 2007-03-17  Jim Meyering  <jim@meyering.net>
42704
42705         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
42706         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
42707         someone uses a name containing shell meta-characters.
42708         Reported by Alfred M. Szmidt.
42709
42710         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
42711
42712 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
42713
42714         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
42715         and copy gettext configuration files only if configure.ac contains
42716         a use of AM_GNU_GETTEXT_VERSION.
42717
42718 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
42719
42720         * build-aux/bootstrap (gnulib_name): New variable.
42721         (gnulib_tool_options): Use it.
42722
42723 2007-03-13  Simon Josefsson  <simon@josefsson.org>
42724
42725         * tests/test-des.c: Use new namespace.
42726
42727 2007-03-15  Bruno Haible  <bruno@clisp.org>
42728
42729         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
42730         Reported by James Youngman <jay@gnu.org>.
42731
42732 2007-03-15  Bruno Haible  <bruno@clisp.org>
42733
42734         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
42735         declared prototype. Needed with cc on OSF/1 5.1.
42736
42737 2007-03-15  Bruno Haible  <bruno@clisp.org>
42738
42739         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
42740         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
42741         (struct gl_list_implementation): Add dispose_fn argument to the
42742         'create_empty', 'create' methods.
42743         (struct gl_list_impl_base): Add field 'dispose_fn'.
42744         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
42745         argument.
42746         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
42747         dispose_fn argument.
42748         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
42749         dispose_fn on the dropped values.
42750         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
42751         dispose_fn argument.
42752         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
42753         dropped values.
42754         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
42755         (gl_tree_remove_node): Call dispose_fn on the dropped value.
42756         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
42757         (gl_tree_remove_node): Call dispose_fn on the dropped value.
42758         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
42759         argument.
42760         (gl_tree_list_free): Call dispose_fn on the dropped values.
42761         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
42762         the dropped values.
42763         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
42764         Add dispose_fn argument.
42765         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
42766         Call dispose_fn on the dropped values.
42767         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
42768         Add dispose_fn argument.
42769         (gl_sublist_create): Initialize the 'dispose_fn' field.
42770         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
42771         * tests/test-array_list.c (main): Update.
42772         * tests/test-carray_list.c (main): Update.
42773         * tests/test-avltree_list.c (main): Update.
42774         * tests/test-rbtree_list.c (main): Update.
42775         * tests/test-avltreehash_list.c (main): Update.
42776         * tests/test-rbtreehash_list.c (main): Update.
42777         * tests/test-linked_list.c (main): Update.
42778         * tests/test-linkedhash_list.c (main): Update.
42779         * tests/test-array_oset.c (main): Update.
42780
42781 2007-03-15  Bruno Haible  <bruno@clisp.org>
42782
42783         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
42784         (gl_oset_create_empty): Add dispose_fn argument.
42785         (struct gl_oset_implementation): Add dispose_fn argument to
42786         'create_empty' method.
42787         (struct gl_oset_impl_base): Add dispose_fn field.
42788         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
42789         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
42790         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
42791         values.
42792         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
42793         (gl_tree_oset_free): Call dispose_fn on the dropped values.
42794         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
42795         dropped value.
42796         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
42797         dropped value.
42798         * tests/test-array_oset.c (main): Update.
42799         * tests/test-avltree_oset.c (main): Update.
42800         * tests/test-rbtree_oset.c (main): Update.
42801         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
42802
42803 2007-03-13  Bruno Haible  <bruno@clisp.org>
42804
42805         * tests/test-stdbool.c (i): Update after last patch.
42806
42807 2007-03-12  Bruno Haible  <bruno@clisp.org>
42808
42809         * lib/quotearg.c: Include <wctype.h> early, before the definition of
42810         the iswprint macro. Needed on Solaris 2.5.1.
42811
42812 2007-03-12  Bruno Haible  <bruno@clisp.org>
42813
42814         * tests/test-printf-frexp.c (main): Declare x as volatile.
42815
42816 2007-03-12  Simon Josefsson  <simon@josefsson.org>
42817
42818         * doc/gnulib.texi (Build robot for gnulib): New section.
42819
42820 2007-03-12  Jim Meyering  <jim@meyering.net>
42821
42822         * build-aux/bootstrap: New file.
42823         * build-aux/bootstrap.conf: New file, from coreutils.
42824
42825 2007-03-11  Bruno Haible  <bruno@clisp.org>
42826
42827         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
42828
42829 2007-03-12  Simon Josefsson  <simon@josefsson.org>
42830
42831         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
42832         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
42833         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
42834
42835 2007-03-11  Bruno Haible  <bruno@clisp.org>
42836
42837         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
42838         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
42839
42840 2007-03-11  Bruno Haible  <bruno@clisp.org>
42841
42842         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
42843         formula. Needed for SunPRO C 5.0.
42844
42845 2007-03-11  Bruno Haible  <bruno@clisp.org>
42846
42847         * modules/long-options (Depends-on): Add getopt.
42848
42849 2007-03-11  Bruno Haible  <bruno@clisp.org>
42850
42851         * modules/modechange (Depends-on): Add stdbool.
42852
42853 2007-03-11  Bruno Haible  <bruno@clisp.org>
42854
42855         * modules/i-ring (Depends-on): Add stdbool.
42856
42857 2007-03-11  Bruno Haible  <bruno@clisp.org>
42858
42859         * modules/gc-des (Depends-on): Add stdbool.
42860
42861 2007-03-11  Bruno Haible  <bruno@clisp.org>
42862
42863         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
42864
42865 2007-03-11  Bruno Haible  <bruno@clisp.org>
42866
42867         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
42868
42869 2007-03-11  Bruno Haible  <bruno@clisp.org>
42870
42871         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
42872
42873 2007-03-11  Bruno Haible  <bruno@clisp.org>
42874
42875         * lib/vasnprintf.c (sprintf): Undefine.
42876
42877 2007-03-11  Bruno Haible  <bruno@clisp.org>
42878
42879         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
42880         initializers in SunPRO C and Compaq C compilers.
42881
42882 2007-03-11  Bruno Haible  <bruno@clisp.org>
42883
42884         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
42885         decrementing code ANSI C compliant.
42886
42887 2007-03-11  Bruno Haible  <bruno@clisp.org>
42888
42889         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
42890         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
42891
42892 2007-03-11  Bruno Haible  <bruno@clisp.org>
42893
42894         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
42895         <stdbool.h> substitute doesn't pass.
42896
42897 2007-03-11  Bruno Haible  <bruno@clisp.org>
42898
42899         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
42900
42901 2007-03-11  Bruno Haible  <bruno@clisp.org>
42902
42903         * gnulib-tool (func_create_megatestdir): Create also an autobuild
42904         script, for submission to autobuild.josefsson.org.
42905
42906 2007-03-10  Bruno Haible  <bruno@clisp.org>
42907
42908         * modules/canonicalize-lgpl-tests: New file.
42909         * tests/test-canonicalize-lgpl.sh: New file.
42910         * tests/test-canonicalize-lgpl.c: New file.
42911
42912         * modules/c-strcase-tests: New file.
42913         * tests/test-c-strcase.sh: New file.
42914         * tests/test-c-strcasecmp.c: New file.
42915         * tests/test-c-strncasecmp.c: New file.
42916
42917         * modules/atexit-tests: New file.
42918         * tests/test-atexit.sh: New file.
42919         * tests/test-atexit.c: New file.
42920
42921 2007-03-10  Bruno Haible  <bruno@clisp.org>
42922
42923         * tests/test-binary-io.sh: Use temporary filenames that are not so
42924         likely to clash with those of other tests (in a parallel make).
42925         * tests/test-binary-io.c: Likewise.
42926
42927 2007-03-10  Bruno Haible  <bruno@clisp.org>
42928
42929         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
42930         fallback; use #error instead.
42931         Suggested by Simon Josefsson.
42932
42933 2007-03-10  Bruno Haible  <bruno@clisp.org>
42934
42935         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
42936         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
42937         first and the last.
42938
42939 2007-03-10  Bruno Haible  <bruno@clisp.org>
42940
42941         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
42942
42943 2007-03-10  Bruno Haible  <bruno@clisp.org>
42944
42945         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
42946         "make distcheck".
42947         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
42948         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
42949         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
42950
42951 2007-03-10  Bruno Haible  <bruno@clisp.org>
42952
42953         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
42954         variable.
42955         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
42956         variable.
42957
42958 2007-03-09  Eric Blake  <ebb9@byu.net>
42959         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
42960
42961         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
42962         types are not being provided by gnulib.
42963         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
42964         types are supported.
42965
42966 2007-03-10  Bruno Haible  <bruno@clisp.org>
42967
42968         * lib/stdio_.h (__attribute__): New macro.
42969         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
42970         vsprintf): Specify __attribute__ __format__ for GCC.
42971         Suggested by Eric Blake.
42972
42973 2007-03-09  Bruno Haible  <bruno@clisp.org>
42974
42975         * modules/printf-posix-tests: New file.
42976         * tests/test-printf-posix.sh: New file.
42977         * tests/test-printf-posix.c: New file.
42978
42979         * modules/printf-posix: New file.
42980         * lib/printf.c: New file.
42981         * m4/printf-posix-rpl.m4: New file.
42982         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
42983         REPLACE_PRINTF.
42984         * lib/stdio_.h (printf): New declaration.
42985         (format, __format__, ____printf____, ____scanf____, ____strftime____,
42986         ____strfmon____): New macros.
42987         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
42988         REPLACE_PRINTF.
42989
42990 2007-03-09  Bruno Haible  <bruno@clisp.org>
42991
42992         * tests/test-vasnprintf-posix2.sh: New file.
42993         * tests/test-vasnprintf-posix2.c: New file.
42994         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
42995         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
42996         (Makefile.am): Activate test-vasnprintf-posix2.sh.
42997
42998         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
42999         a locale dependent decimal point, rather than always '.'.
43000
43001 2007-03-09  Eric Blake  <ebb9@byu.net>
43002
43003         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
43004         spite of platforms like Tandem/NSK that define it to -1.
43005
43006 2007-03-08  Bruno Haible  <bruno@clisp.org>
43007
43008         * modules/vprintf-posix-tests: New file.
43009         * tests/test-vprintf-posix.sh: New file.
43010         * tests/test-vprintf-posix.c: New file.
43011         * tests/test-printf-posix.h: New file.
43012
43013         * modules/vprintf-posix: New file.
43014         * lib/vprintf.c: New file.
43015         * m4/vprintf-posix.m4: New file.
43016         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
43017         REPLACE_VPRINTF.
43018         * lib/stdio_.h (vprintf): New declaration.
43019         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
43020         REPLACE_VPRINTF.
43021
43022 2007-03-08  Bruno Haible  <bruno@clisp.org>
43023
43024         * modules/fprintf-posix-tests: New file.
43025         * tests/test-fprintf-posix.sh: New file.
43026         * tests/test-fprintf-posix.c: New file.
43027
43028         * modules/fprintf-posix: New file.
43029         * lib/fprintf.c: New file.
43030         * m4/fprintf-posix.m4: New file.
43031         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
43032         REPLACE_FPRINTF.
43033         * lib/stdio_.h (fprintf): New declaration.
43034         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
43035         REPLACE_FPRINTF.
43036
43037 2007-03-08  Bruno Haible  <bruno@clisp.org>
43038
43039         * modules/vfprintf-posix-tests: New file.
43040         * tests/test-vfprintf-posix.sh: New file.
43041         * tests/test-vfprintf-posix.c: New file.
43042         * tests/test-fprintf-posix.h: New file.
43043         * tests/test-fprintf-posix.out: New file.
43044
43045         * modules/vfprintf-posix: New file.
43046         * lib/vfprintf.c: New file.
43047         * m4/vfprintf-posix.m4: New file.
43048         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
43049         REPLACE_VFPRINTF.
43050         * lib/stdio_.h (vfprintf): New declaration.
43051         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
43052         REPLACE_VFPRINTF.
43053
43054 2007-03-08  Bruno Haible  <bruno@clisp.org>
43055
43056         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
43057
43058 2007-03-08  Bruno Haible  <bruno@clisp.org>
43059
43060         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
43061         instead of 'expr' invocations.
43062         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
43063         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
43064         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
43065         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
43066         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
43067         Suggested by Paul Eggert.
43068
43069 2007-03-08  Bruno Haible  <bruno@clisp.org>
43070
43071         * modules/fseterr-tests: New file.
43072         * tests/test-fseterr.c: New file.
43073
43074         * modules/fseterr: New file.
43075         * lib/fseterr.h: New file.
43076         * lib/fseterr.c: New file.
43077
43078 2007-03-08  Bruno Haible  <bruno@clisp.org>
43079
43080         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
43081         * lib/getopt_.h: Likewise.
43082         * lib/mbswidth.h: Likewise.
43083         * lib/setenv.h: Likewise.
43084         * lib/vasnprintf.h: Likewise.
43085         * lib/vasprintf.h: Likewise.
43086         * lib/verror.h: Likewise.
43087         * lib/xsetenv.h: Likewise.
43088         * lib/xvasprintf.h: Likewise.
43089
43090 2007-03-08  Jim Meyering  <jim@meyering.net>
43091
43092         * users.txt: Add parted.
43093
43094         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
43095
43096 2007-03-07  Bruno Haible  <bruno@clisp.org>
43097
43098         * m4/printf.m4: Make the shell script snippets copy&pastable.
43099
43100 2007-03-02  Bruno Haible  <bruno@clisp.org>
43101
43102         * lib/netinet_in_.h: New file.
43103         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
43104         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
43105         * modules/netinet_in (Files): Add lib/netinet_in_.h.
43106         (Depends-on): Add absolute-header.
43107         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
43108         into netinet/in.h.
43109
43110 2007-03-03  Bruno Haible  <bruno@clisp.org>
43111
43112         * lib/sys_select_.h: New file.
43113         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
43114         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
43115         * modules/sys_select (Files): Add lib/sys_select_.h.
43116         (Depends-on): Add absolute-header.
43117         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
43118         into sys/select.h.
43119
43120 2007-03-02  Bruno Haible  <bruno@clisp.org>
43121
43122         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
43123         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
43124         values.
43125         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
43126         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
43127         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
43128         * modules/sys_socket (Depends-on): Add absolute-header.
43129         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
43130         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
43131         (Include): Remove requirement of inclusion of <sys/types.h>.
43132
43133 2007-03-02  Bruno Haible  <bruno@clisp.org>
43134
43135         * lib/byteswap_.h (bswap_32): Fix formula.
43136
43137 2007-03-06  Bruno Haible  <bruno@clisp.org>
43138
43139         * modules/sprintf-posix-tests: New file.
43140         * tests/test-sprintf-posix.c: New file.
43141
43142         * modules/sprintf-posix: New file.
43143         * lib/sprintf.c: New file.
43144         * m4/sprintf-posix.m4: New file.
43145         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
43146         REPLACE_SPRINTF.
43147         * lib/stdio_.h (sprintf): New declaration.
43148         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
43149         REPLACE_SPRINTF.
43150
43151 2007-03-06  Bruno Haible  <bruno@clisp.org>
43152
43153         * modules/vsprintf-posix-tests: New file.
43154         * tests/test-vsprintf-posix.c: New file.
43155         * tests/test-sprintf-posix.h: New file.
43156
43157         * modules/vsprintf-posix: New file.
43158         * lib/vsprintf.c: New file.
43159         * m4/vsprintf-posix.m4: New file.
43160         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
43161         REPLACE_VSPRINTF.
43162         * lib/stdio_.h (vsprintf): New declaration.
43163         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
43164         REPLACE_VSPRINTF.
43165
43166 2007-03-06  Bruno Haible  <bruno@clisp.org>
43167
43168         * modules/vsnprintf (Depend-on): Remove minmax.
43169
43170 2007-03-06  Bruno Haible  <bruno@clisp.org>
43171
43172         * modules/snprintf-posix-tests: New file.
43173         * tests/test-snprintf-posix.c: New file.
43174
43175         * modules/snprintf-posix: New file.
43176         * m4/snprintf-posix.m4: New file.
43177         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
43178         gl_FUNC_SNPRINTF.
43179         (gl_FUNC_SNPRINTF): Invoke it.
43180         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
43181         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
43182         is set.
43183         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
43184
43185 2007-03-06  Bruno Haible  <bruno@clisp.org>
43186
43187         * modules/vsnprintf-posix-tests: New file.
43188         * tests/test-vsnprintf-posix.c: New file.
43189         * tests/test-snprintf-posix.h: New file.
43190
43191         * modules/vsnprintf-posix: New file.
43192         * m4/vsnprintf-posix.m4: New file.
43193         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
43194         gl_FUNC_VSNPRINTF.
43195         (gl_FUNC_VSNPRINTF): Invoke it.
43196         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
43197         * lib/stdio_.h (vsnprintf): Define as a replacement if
43198         REPLACE_VSNPRINTF is set.
43199         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
43200
43201 2007-03-06  Bruno Haible  <bruno@clisp.org>
43202
43203         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
43204         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
43205
43206 2007-03-06  Bruno Haible  <bruno@clisp.org>
43207
43208         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
43209         (asinl): Declare also if HAVE_DECL_ASINL is set.
43210         (atanl): Declare also if HAVE_DECL_ATANL is set.
43211         (ceill): Declare also if HAVE_DECL_CEILL is set.
43212         (cosl): Declare also if HAVE_DECL_COSL is set.
43213         (expl): Declare also if HAVE_DECL_EXPL is set.
43214         (floorl): Declare also if HAVE_DECL_FLOORL is set.
43215         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
43216         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
43217         (logl): Declare also if HAVE_DECL_LOGL is set.
43218         (sinl): Declare also if HAVE_DECL_SINL is set.
43219         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
43220         (tanl): Declare also if HAVE_DECL_TANL is set.
43221         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
43222         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
43223         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
43224         declaration of frexpl, ldexpl.
43225         * modules/printf-frexpl (Depends-on): Add math.
43226         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
43227
43228 2007-03-05  Bruno Haible  <bruno@clisp.org>
43229
43230         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
43231         frexpl and ldexpl are declared.
43232         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
43233
43234 2007-03-05  Bruno Haible  <bruno@clisp.org>
43235
43236         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
43237         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
43238
43239 2007-03-05  Bruno Haible  <bruno@clisp.org>
43240
43241         * lib/stdio_.h: Include <stddef.h>.
43242
43243 2007-03-05  Bruno Haible  <bruno@clisp.org>
43244
43245         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
43246
43247 2007-03-05  Bruno Haible  <bruno@clisp.org>
43248
43249         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
43250         NetBSD 4, from Ralf Wildenhues.
43251
43252 2007-03-04  Bruno Haible  <bruno@clisp.org>
43253
43254         * lib/vasprintf.h: Update #if logic for the case when the functions
43255         exist but are overridden.
43256
43257 2007-03-04  Bruno Haible  <bruno@clisp.org>
43258
43259         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
43260         implementations: glibc-2.4 and MacOS X 10.3.
43261         * tests/test-vasnprintf-posix.c (test_function): Test also the case
43262         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
43263         * tests/test-vasprintf-posix.c (test_function): Likewise.
43264
43265 2007-03-04  Bruno Haible  <bruno@clisp.org>
43266
43267         * modules/vasprintf-posix-tests: New file.
43268         * tests/test-vasprintf-posix.c: New file.
43269
43270         * modules/vasprintf-posix: New file.
43271         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
43272         defined.
43273         * m4/vasprintf-posix.m4: New file.
43274         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
43275         gl_FUNC_VASPRINTF.
43276         (gl_FUNC_VASPRINTF): Invoke it.
43277         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
43278         here.
43279         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
43280
43281 2007-03-04  Bruno Haible  <bruno@clisp.org>
43282
43283         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
43284         REPLACE_GETTIMEOFDAY.
43285         * modules/sys_time (Makefile.am): Likewise.
43286         * m4/sys_time_h.m4: Likewise.
43287         * m4/gettimeofday.m4: Likewise.
43288
43289 2007-03-04  Bruno Haible  <bruno@clisp.org>
43290
43291         * modules/vasnprintf-posix-tests: New file.
43292         * tests/test-vasnprintf-posix.c: New file.
43293
43294         * modules/vasnprintf-posix: New file.
43295         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
43296         printf-frexpl.h.
43297         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
43298         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
43299         REPLACE_VASNPRINTF is defined.
43300         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
43301         gl_FUNC_VASNPRINTF.
43302         (gl_FUNC_VASNPRINTF): Invoke it.
43303         * m4/vasnprintf-posix.m4: New file.
43304         * m4/printf.m4: New file.
43305
43306 2007-03-04  Bruno Haible  <bruno@clisp.org>
43307
43308         Compile progreloc.c only if --enable-relocatable is specified.
43309         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
43310         if --enable-relocatable was specified.
43311         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
43312         lib_SOURCES.
43313
43314 2007-03-04  Jim Meyering  <jim@meyering.net>
43315
43316         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
43317         Use it consistently, rather than enumerating errno constants.
43318
43319 2007-03-04  Bruno Haible  <bruno@clisp.org>
43320
43321         * modules/xvasprintf-tests: New file.
43322         * tests/test-xvasprintf.c: New file.
43323
43324         * modules/vasprintf-tests: New file.
43325         * tests/test-vasprintf.c: New file.
43326
43327         * modules/vasnprintf-tests: New file.
43328         * tests/test-vasnprintf.c: New file.
43329
43330         * modules/vsnprintf-tests: New file.
43331         * tests/test-vsnprintf.c: New file.
43332
43333         * modules/snprintf-tests: New file.
43334         * tests/test-snprintf.c: New file.
43335
43336 2007-03-04  Bruno Haible  <bruno@clisp.org>
43337
43338         Compile relocatable.c only if --enable-relocatable is specified.
43339         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
43340         gl_RELOCATABLE_LIBRARY.
43341         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
43342         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
43343         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
43344         gl_RELOCATABLE_LIBRARY.
43345         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
43346         (Makefile.am): Remove lib_SOURCES.
43347         * modules/relocatable-lib-lgpl (configure.ac): Invoke
43348         gl_RELOCATABLE_LIBRARY.
43349         (Makefile.am): Remove lib_SOURCES.
43350         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
43351         always.
43352         * modules/relocatable-prog-wrapper (configure.ac): Invoke
43353         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
43354
43355 2007-03-04  Bruno Haible  <bruno@clisp.org>
43356
43357         * modules/argmatch-tests: New file.
43358         * tests/test-argmatch.c: New file.
43359
43360         * tests/test-allocsa.c (main): Halve the number of loop runs.
43361
43362         * modules/alloca-opt-tests: New file.
43363         * tests/test-alloca-opt.c: New file.
43364
43365 2007-03-04  Jim Meyering  <jim@meyering.net>
43366
43367         Work around difference between Linux ACLs and Solaris 10 ZFS.
43368         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
43369         for EINVAL.
43370
43371 2007-03-03  Bruno Haible  <bruno@clisp.org>
43372
43373         * modules/relocatable-prog (Depends-on): Add back progreloc's
43374         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
43375
43376 2007-03-03  Bruno Haible  <bruno@clisp.org>
43377
43378         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
43379         * modules/relocatable-lib: New file.
43380
43381 2007-03-03  Bruno Haible  <bruno@clisp.org>
43382
43383         * modules/relocatable-prog: Renamed from modules/relocatable.
43384         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
43385
43386 2007-03-03  Bruno Haible  <bruno@clisp.org>
43387
43388         * modules/relocatable-script (Files): Add doc/relocatable.texi,
43389         m4/relocatable-lib.m4.
43390         (Depends-on): Remove 'relocatable'.
43391         (configure.ac): Add gl_RELOCATABLE_NOP.
43392
43393 2007-03-03  Bruno Haible  <bruno@clisp.org>
43394
43395         * modules/relocatable-prog-wrapper: New file.
43396         * modules/relocatable (Depends-on): Add it. Remove all other
43397         dependencies except progname.
43398         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
43399
43400         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
43401         (gl_FUNC_STRERROR): Nop.
43402         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
43403
43404         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
43405         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
43406
43407         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
43408         (gl_FUNC_READLINK): Update.
43409
43410         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
43411
43412 2007-03-03  Bruno Haible  <bruno@clisp.org>
43413
43414         * lib/xreadlink.c: Include <unistd.h> unconditionally.
43415         * modules/xreadlink (Depends-on): Add unistd.
43416         * modules/xreadlink-with-size (Depends-on): Likewise.
43417
43418 2007-03-03  Bruno Haible  <bruno@clisp.org>
43419
43420         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
43421         extracted from gt_FUNC_SETENV.
43422         (gt_FUNC_SETENV): Remove macro.
43423         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
43424         remove gt_FUNC_SETENV.
43425
43426 2007-03-03  Bruno Haible  <bruno@clisp.org>
43427
43428         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
43429         ENABLE_RELOCATABLE here.
43430         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
43431
43432 2007-03-03  Bruno Haible  <bruno@clisp.org>
43433
43434         * modules/rbtreehash-list-tests (Depends-on): Add progname.
43435         * tests/test-rbtreehash_list.c: Include progname.h.
43436         (main): Call set_program_name.
43437
43438         * modules/rbtree-oset-tests (Depends-on): Add progname.
43439         * tests/test-rbtree_oset.c: Include progname.h.
43440         (main): Call set_program_name.
43441
43442         * modules/rbtree-list-tests (Depends-on): Add progname.
43443         * tests/test-rbtree_list.c: Include progname.h.
43444         (main): Call set_program_name.
43445
43446         * modules/linked-list-tests (Depends-on): Add progname.
43447         * tests/test-linked_list.c: Include progname.h.
43448         (main): Call set_program_name.
43449
43450 2007-03-03  Bruno Haible  <bruno@clisp.org>
43451
43452         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
43453         All uses of __restrict changed to _Restrict_.
43454         * lib/glob_.h (__restrict): Remove macro.
43455
43456 2007-03-02  Bruno Haible  <bruno@clisp.org>
43457
43458         * modules/gettext (configure.ac): Require gettext infrastructure
43459         from version 0.16.1.
43460
43461 2007-03-02  Bruno Haible  <bruno@clisp.org>
43462
43463         * modules/linkedhash-list-tests (Depends-on): Add progname.
43464         * tests/test-linkedhash_list.c: Include progname.h.
43465         (main): Call set_program_name.
43466
43467         * modules/carray-list-tests (Depends-on): Add progname.
43468         * tests/test-carray_list.c: Include progname.h.
43469         (main): Call set_program_name.
43470
43471         * modules/avltreehash-list-tests (Depends-on): Add progname.
43472         * tests/test-avltreehash_list.c: Include progname.h.
43473         (main): Call set_program_name.
43474
43475         * modules/avltree-oset-tests (Depends-on): Add progname.
43476         * tests/test-avltree_oset.c: Include progname.h.
43477         (main): Call set_program_name.
43478
43479         * modules/avltree-list-tests (Depends-on): Add progname.
43480         * tests/test-avltree_list.c: Include progname.h.
43481         (main): Call set_program_name.
43482
43483         * modules/array-oset-tests (Depends-on): Add progname.
43484         * tests/test-array_oset.c: Include progname.h.
43485         (main): Call set_program_name.
43486
43487         * modules/array-list-tests (Depends-on): Add progname.
43488         * tests/test-array_list.c: Include progname.h.
43489         (main): Call set_program_name.
43490
43491         * modules/argp-tests (Depends-on): Add progname.
43492         * tests/test-argp.c: Include argp.h first. Include progname.h.
43493         (main): Call set_program_name.
43494
43495 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
43496
43497         * doc/gnulib-tool.texi (Initial import): Reword description of
43498         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
43499         limited effect even if defined after the first system include.
43500
43501 2007-03-01  Bruno Haible  <bruno@clisp.org>
43502
43503         * build-aux/config.libpath: Update to libtool-1.5.22.
43504         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43505
43506 2007-03-01  Bruno Haible  <bruno@clisp.org>
43507
43508         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
43509         foo_CFLAGS.
43510         Reported by Ralf Wildenhues.
43511
43512 2007-03-01  Bruno Haible  <bruno@clisp.org>
43513
43514         * build-aux/install-reloc: Remove object files left over by some
43515         compilers.
43516         Reported by Ralf Wildenhues.
43517
43518 2007-03-01  Bruno Haible  <bruno@clisp.org>
43519
43520         * build-aux/install-reloc: Break long lines.
43521
43522 2007-03-01  Bruno Haible  <bruno@clisp.org>
43523
43524         * doc/relocatable.texi: Document that it may not work on OpenBSD.
43525         Reported by Ralf Wildenhues.
43526
43527 2007-03-01  Bruno Haible  <bruno@clisp.org>
43528
43529         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
43530         include ordering constraints.
43531
43532 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
43533
43534         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
43535         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
43536         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
43537         as another example.
43538         * lib/time_.h: Fix misspelling.
43539         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
43540         Require gl_HEADER_TIME_H_DEFAULTS.
43541         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
43542         * m4/time_r.m4 (gl_TIME_R): Likewise.
43543         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
43544
43545 2007-03-01  Bruno Haible  <bruno@clisp.org>
43546
43547         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
43548         * m4/utimens.m4 (gl_UTIMENS): Likewise.
43549
43550 2007-03-01  Jim Meyering  <jim@meyering.net>
43551
43552         * modules/xreadlink (Maintainer): Add my name.
43553         * modules/xreadlink-with-size (Depends-on): Alphabetize.
43554
43555 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
43556             Bruno Haible  <bruno@clisp.org>
43557
43558         * build-aux/install-reloc: Compile also c-ctype.c.
43559         * build-aux/relocatable.sh.in: New file.
43560         * doc/relocatable.texi: New file.
43561         * doc/relocatable-maint.texi: New file.
43562         * doc/gnulib.texi: Include relocatable-maint.texi.
43563         * lib/progreloc.c: Include unistd.h unconditionally.
43564         * lib/relocwrapper.c: Include unistd.h unconditionally.
43565         Include c-ctype.h.
43566         (add_dotbin): Use c_tolower.
43567         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
43568         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
43569         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
43570         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
43571         to m4/relocatable-lib.m4.
43572         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
43573         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
43574         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
43575         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
43576         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
43577         * modules/relocatable: New file.
43578         * modules/relocatable-lib: New file.
43579         * modules/relocatable-script: New file.
43580
43581 2007-02-28  Bruno Haible  <bruno@clisp.org>
43582
43583         Import --enable-relocatable infrastructure.
43584         * build-aux/config.libpath: New file, from GNU gettext.
43585         * build-aux/install-reloc: New file, from GNU gettext.
43586         * build-aux/reloc-ldflags: New file, from GNU gettext.
43587         * lib/relocatable.h: New file, from GNU gettext.
43588         * lib/relocatable.c: New file, from GNU gettext.
43589         * lib/relocwrapper.c: New file, from GNU gettext.
43590         * m4/relocatable.m4: New file, from GNU gettext.
43591
43592 2007-02-28  Bruno Haible  <bruno@clisp.org>
43593
43594         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
43595
43596         * modules/xreadlink: New file, from GNU gettext with modifications.
43597         * lib/xreadlink.c: New file, from GNU gettext.
43598         * lib/xreadlink.h: Add comments.
43599         (xreadlink): New declaration.
43600
43601         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
43602         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
43603         lib/xreadlink-with-size.c.
43604         (configure.ac): Remove gl_XREADLINK invocation.
43605         (Makefile.am): Augment lib_SOURCES.
43606         * m4/xreadlink.m4: Remove file.
43607         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
43608         (xreadlink_with_size): Renamed from xreadink.
43609         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
43610         * modules/canonicalize (Depends-on): Replace xreadlink with
43611         xreadlink-with-size.
43612         * lib/canonicalize.c (canonicalize_filename_mode): Update.
43613
43614 2007-02-25  Jim Meyering  <jim@meyering.net>
43615
43616         * build-aux/announce-gen: When complaining about excess arguments,
43617         list them.
43618
43619 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
43620
43621         * README: Document signed integer overflow situation more
43622         accurately.
43623
43624 2007-02-25  Bruno Haible  <bruno@clisp.org>
43625
43626         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
43627         'a' or 'A' conversion.
43628
43629 2007-02-25  Bruno Haible  <bruno@clisp.org>
43630
43631         * modules/filename: Renamed from modules/pathname.
43632         (Files): Replace lib/pathname.h with lib/filename.h. Replace
43633         lib/concatpath.c with lib/concat-filename.c.
43634         (Makefile.am): Update.
43635         (Include): Replace pathname.h with filename.h.
43636         * lib/filename.h: Renamed from lib/pathname.h.
43637         (concatenated_filename): Renamed from concatenated_pathname.
43638         * lib/concat-filename.c: Renamed from lib/concatpath.c.
43639         (concatenated_filename): Renamed from concatenated_pathname.
43640         * lib/findprog.c: Include filename.h instead of pathname.h.
43641         (find_in_path): Update.
43642         * lib/javacomp.c: Include filename.h instead of pathname.h.
43643         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
43644         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
43645         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
43646         is_oldgcj_14_13_usable, is_javac_usable): Update.
43647         * lib/javaexec.c: Include filename.h instead of pathname.h.
43648         (execute_java_class): Update.
43649         * modules/findprog: Update.
43650         * modules/javacomp: Update.
43651         * modules/javaexec: Update.
43652         * MODULES.html.sh (File system functions): Add 'filename', remove
43653         'pathname'.
43654
43655 2007-02-25  Bruno Haible  <bruno@clisp.org>
43656
43657         * modules/printf-frexpl-tests: New file.
43658         * tests/test-printf-frexpl.c: New file.
43659
43660         * modules/printf-frexpl: New file.
43661         * lib/printf-frexpl.h: New file.
43662         * lib/printf-frexpl.c: New file.
43663         * m4/printf-frexpl.m4: New file.
43664
43665 2007-02-25  Bruno Haible  <bruno@clisp.org>
43666
43667         * modules/printf-frexp-tests: New file.
43668         * tests/test-printf-frexp.c: New file.
43669
43670         * modules/printf-frexp: New file.
43671         * lib/printf-frexp.h: New file.
43672         * lib/printf-frexp.c: New file.
43673         * m4/printf-frexp.m4: New file.
43674
43675 2007-02-25  Bruno Haible  <bruno@clisp.org>
43676
43677         Assume automake >= 1.10 for the tests.
43678         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
43679         * modules/arctwo-tests: Likewise.
43680         * modules/argp-tests: Likewise.
43681         * modules/avltree-list-tests: Likewise.
43682         * modules/avltree-oset-tests: Likewise.
43683         * modules/avltreehash-list-tests: Likewise.
43684         * modules/carray-list-tests: Likewise.
43685         * modules/crc-tests: Likewise.
43686         * modules/des-tests: Likewise.
43687         * modules/gc-arcfour-tests: Likewise.
43688         * modules/gc-arctwo-tests: Likewise.
43689         * modules/gc-des-tests: Likewise.
43690         * modules/gc-hmac-md5-tests: Likewise.
43691         * modules/gc-hmac-sha1-tests: Likewise.
43692         * modules/gc-md2-tests: Likewise.
43693         * modules/gc-md4-tests: Likewise.
43694         * modules/gc-md5-tests: Likewise.
43695         * modules/gc-pbkdf2-sha1-tests: Likewise.
43696         * modules/gc-rijndael-tests: Likewise.
43697         * modules/gc-sha1-tests: Likewise.
43698         * modules/gc-tests: Likewise.
43699         * modules/getaddrinfo-tests: Likewise.
43700         * modules/hmac-md5-tests: Likewise.
43701         * modules/hmac-sha1-tests: Likewise.
43702         * modules/linked-list-tests: Likewise.
43703         * modules/linkedhash-list-tests: Likewise.
43704         * modules/lock-tests: Likewise.
43705         * modules/md2-tests: Likewise.
43706         * modules/md4-tests: Likewise.
43707         * modules/md5-tests: Likewise.
43708         * modules/rbtree-list-tests: Likewise.
43709         * modules/rbtree-oset-tests: Likewise.
43710         * modules/rbtreehash-list-tests: Likewise.
43711         * modules/read-file-tests: Likewise.
43712         * modules/rijndael-tests: Likewise.
43713         * modules/stdint-tests: Likewise.
43714         * modules/tls-tests: Likewise.
43715
43716 2007-02-24  Bruno Haible  <bruno@clisp.org>
43717
43718         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
43719         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
43720         function; instead check whether isnan with a double argument links.
43721         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
43722         function; instead check whether isnan with a 'long double' argument
43723         links.
43724         Reported by Eric Blake <ebb9@byu.net>.
43725
43726 2007-02-24  Bruno Haible  <bruno@clisp.org>
43727
43728         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
43729         defined.
43730         * lib/isnanl.c: Remove all code. Just include isnan.c.
43731         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
43732
43733 2007-02-25  Jim Meyering  <jim@meyering.net>
43734
43735         Avoid conflicting types for 'unsetenv' on FreeBSD.
43736         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
43737         conflicting with FreeBSD's (5.0 and 6.1) function declaration
43738         in stdlib.h.
43739
43740 2007-02-24  Bruno Haible  <bruno@clisp.org>
43741
43742         * modules/isnanl-nolibm-tests: New file.
43743         * tests/test-isnanl.c: New file.
43744
43745         * modules/isnanl-nolibm: New file.
43746         * lib/isnanl.h: New file.
43747         * lib/isnanl.c: New file.
43748         * m4/isnanl.m4: New file.
43749
43750 2007-02-24  Bruno Haible  <bruno@clisp.org>
43751
43752         * modules/isnan-nolibm-tests: New file.
43753         * tests/test-isnan.c: New file.
43754
43755         * modules/isnan-nolibm: New file.
43756         * lib/isnan.h: New file.
43757         * lib/isnan.c: New file.
43758         * m4/isnan.m4: New file.
43759
43760 2007-02-24  Bruno Haible  <bruno@clisp.org>
43761
43762         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
43763         assume that an exponent fits in 20 bits.
43764
43765 2007-02-24  Jim Meyering  <jim@meyering.net>
43766
43767         * m4/regex.m4: Update the description of the configure-time option,
43768         --without-included-regex, to state accurately what the defaults are,
43769         and perhaps to give people an idea why using this option is risky.
43770
43771 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
43772
43773         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
43774         loops on small arguments.  This attempts to avoid the problem
43775         Bruno Haible reported for AIX 4.3.2 in
43776         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
43777
43778 2007-02-23  Bruno Haible  <bruno@clisp.org>
43779
43780         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
43781         Needed for help2man.
43782
43783 2007-02-23  Karl Berry  <karl@gnu.org>
43784
43785         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
43786         exists, foo.h should be cvs-ignored, not committed.
43787
43788 2007-02-23  Eric Blake  <ebb9@byu.net>
43789
43790         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
43791         * lib/stat-time.h (includes): Likewise.
43792         * lib/utimecmp.c (includes): Likewise.
43793         * lib/utimens.h (includes): Likewise.
43794         * lib/getdate.y (includes): Also include "timespec.h" for use
43795         internal to the module.
43796         * modules/utimens (Depends-on): Revert yesterday's patch.
43797         * modules/nanosleep (Depends-on): Add missing dependency.
43798
43799 2007-02-22  Bruno Haible  <bruno@clisp.org>
43800
43801         * lib/glob.c: Don't include getlogin_r.h.
43802
43803 2007-02-22  Jim Meyering  <jim@meyering.net>
43804
43805         * modules/utimens (Depends-on): Add timespec, required for
43806         utimens.h's inclusion of timespec.h.
43807
43808 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
43809
43810         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
43811         long unreadable paths in GNU/Linux.  Problem reported by Andreas
43812         Schwab in
43813         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
43814         I'll try to think of a better way to fix the Solaris problem.
43815
43816         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
43817         like glibc; on Solaris 10, it fails with errno == EINVAL.
43818         POSIX says the behavior is unspecified if the first argument is NULL,
43819         so play it safe and never pass NULL to the system getcwd.
43820
43821 2007-02-21  Jim Meyering  <jim@meyering.net>
43822
43823         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
43824         of gettimeofday.  It would conflict with the one now always
43825         provided via sys_time_.h.  Reported by Matthew Woehlke, as
43826         an IRIX 6.5 build failure.
43827
43828 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
43829
43830         Minor fixups to port to Solaris 10 with Sun C 5.8.
43831         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
43832         * modules/getcwd (Depends-on): Add dirfd.
43833         * lib/putenv.c (putenv): #undef it.
43834         (rpl_putenv): New decl.
43835         (malloc, free): Include <stdlib.h> rather than prototyping separately.
43836
43837 2007-02-20  Bruno Haible  <bruno@clisp.org>
43838
43839         * modules/stdio-tests: New file.
43840         * tests/test-stdio.c: New file.
43841
43842         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
43843         (Depends-on): Add stdio.
43844         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
43845         (Include): Use <stdio.h> instead of vsnprintf.h.
43846         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
43847         HAVE_DECL_VSNPRINTF.
43848         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
43849
43850         * modules/snprintf (Files): Remove lib/snprintf.h.
43851         (Depends-on): Add stdio.
43852         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
43853         (Include): Use <stdio.h> instead of snprintf.h.
43854         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
43855         HAVE_DECL_SNPRINTF.
43856         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
43857         * lib/getaddrinfo.c: Likewise.
43858
43859         * modules/stdio: New file.
43860         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
43861         * lib/snprintf.h: Remove file.
43862         * lib/vsnprintf.h: Remove file.
43863         * lib/.cppi-disable: Remove snprintf.h.
43864         * m4/stdio_h.m4: New file.
43865         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
43866
43867 2007-02-20  Jim Meyering  <jim@meyering.net>
43868
43869         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
43870         used by e.g., mingw.  From Bruno Haible.
43871
43872 2007-02-19  Bruno Haible  <bruno@clisp.org>
43873
43874         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
43875         warnings.
43876         Reported by Ben Pfaff <blp@cs.stanford.edu>.
43877
43878 2007-02-19  Bruno Haible  <bruno@clisp.org>
43879
43880         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
43881         from mingw users.
43882
43883 2007-02-19  Bruno Haible  <bruno@clisp.org>
43884
43885         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
43886         warnings.
43887         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
43888
43889 2007-02-19  Jim Meyering  <jim@meyering.net>
43890
43891         Don't use FD after a successful "fdopendir (fd)".
43892         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
43893         Reset it by calling dirfd on the just-obtained DIR*.
43894
43895         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
43896         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
43897
43898 2007-02-18  Bruno Haible  <bruno@clisp.org>
43899
43900         * lib/readlink.c: Include <unistd.h>.
43901         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
43902         HAVE_READLINK.
43903         * modules/readlink (Depends-on): Add unistd.
43904         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43905         (Include): Add <unistd.h>.
43906
43907         * lib/getlogin_r.h: Remove file.
43908         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
43909         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
43910         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
43911         HAVE_DECL_GETLOGIN_R.
43912         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
43913         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43914         (Include): Use <unistd.h> instead of getlogin_r.h.
43915
43916         * lib/getcwd.h: Remove file.
43917         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
43918         * lib/xgetcwd.c: Likewise.
43919         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
43920         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
43921         * modules/getcwd (Files): Remove lib/getcwd.h.
43922         (Depends-on): Add unistd.
43923         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43924         (Include): Use <unistd.h> instad of getcwd.h.
43925
43926         * lib/ftruncate.c: Include <unistd.h> first.
43927         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
43928         Set HAVE_FTRUNCATE.
43929         * modules/ftruncate (Depends-on): Add unistd.
43930         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43931
43932         * lib/fchdir.c: Include <unistd.h> first.
43933         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
43934         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
43935         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
43936         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43937         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
43938
43939         * lib/dup2.c: Include <unistd.h> first.
43940         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
43941         HAVE_DUP2.
43942         * modules/dup2 (Depends-on): Add unistd.
43943         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43944
43945         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
43946         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
43947         REPLACE_CHOWN. Don't define chown as a macro here.
43948         * modules/chown (Depends-on): Add unistd.
43949         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
43950
43951         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
43952         Add definition for GL_LINK_WARNING.
43953         (chown, dup2): New declarations.
43954         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
43955         link warning.
43956         (ftruncate): New declaration.
43957         (getcwd): New declaration, taken from old getcwd.h.
43958         (getlogin_r): New declaration, taken from old getlogin_r.h.
43959         (readlink): New declaration.
43960         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
43961         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
43962         (gl_PREREQ_UNISTD): Remove macro.
43963         (gl_UNISTD_MODULE_INDICATOR): New macro.
43964         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
43965         many new variables. Don't set UNISTD_H.
43966         * modules/unistd (Description): Change.
43967         (Depends-on): Add link-warning.
43968         (configure.ac): Update.
43969         (Makefile.am): Create unistd.h always. Substitute many new variables
43970         into it.
43971
43972 2007-02-18  Bruno Haible  <bruno@clisp.org>
43973
43974         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
43975         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
43976         HAVE_GETSUBOPT.
43977         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
43978         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
43979         * lib/getsubopt.h: Remove file.
43980         * modules/getsubopt (Files): Remove lib/getsubopt.h.
43981         (Depends-on): Add stdlib.
43982         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
43983         (Includes): Use <stdlib.h> instead of getsubopt.h.
43984         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
43985         Set HAVE_GETSUBOPT.
43986         * lib/getsubopt.c: Don't include getsubopt.h.
43987
43988 2007-02-18  Bruno Haible  <bruno@clisp.org>
43989
43990         * modules/fchdir (Depends-on): Add dup2.
43991
43992 2007-02-18  Bruno Haible  <bruno@clisp.org>
43993
43994         * lib/stdlib_.h: Handle glibc's special invocation convention
43995         specially.
43996
43997 2007-02-18  Bruno Haible  <bruno@clisp.org>
43998
43999         * modules/stdlib-tests: New file.
44000         * tests/test-stdlib.c: New file.
44001
44002         * modules/mkstemp (Files): Remove lib/mkstemp.h.
44003         (Depends-on): Add stdlib.
44004         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44005         (Includes): Use <stdlib.h> instead of mkstemp.h.
44006         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
44007         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
44008         * lib/mkstemp.c: Don't include mkstemp.h.
44009         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
44010         * lib/stdlib--.h: Don't include mkstemp.h.
44011
44012         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
44013         (Depends-on): Add stdlib.
44014         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
44015         (Includes): Use <stdlib.h> instead of mkdtemp.h.
44016         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
44017         HAVE_MKDTEMP.
44018         * lib/mkdtemp.c: Don't include mkdtemp.h.
44019         * lib/clean-temp.c: Don't include mkdtemp.h.
44020
44021         * modules/exit (Files): Remove lib/exit.h.
44022         (Depends-on): Add stdlib.
44023         (Makefile.am): Remove lib_SOURCES.
44024         (Include): Use <stdlib.h> instead of exit.h.
44025         * lib/argmatch.c: Don't include exit.h.
44026         * lib/execute.c: Likewise.
44027         * lib/pagealign_alloc.c: Likewise.
44028         * lib/pipe.c: Likewise.
44029         * lib/wait-process.c: Likewise.
44030         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
44031         * lib/exitfail.c: Likewise.
44032         * lib/savewd.c: Likewise.
44033         * lib/xsetenv.c: Likewise.
44034
44035         * modules/stdlib: New file.
44036         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
44037         and extra comments about mkstemp().
44038         * lib/exit.h: Remove file.
44039         * lib/mkdtemp.h: Remove file.
44040         * lib/mkstemp.h: Remove file.
44041         * m4/stdlib_h.m4: New file.
44042         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
44043
44044 2007-02-18  Bruno Haible  <bruno@clisp.org>
44045
44046         * modules/math-tests: New file.
44047         * tests/test-math.c: New file.
44048
44049         * modules/math: New file.
44050         * modules/mathl (Files): Remove lib/mathl.h.
44051         (Depends-on): Add math.
44052         (Makefile.am): Don't mention mathl.h.
44053         (Include): Use <math.h> instead of mathl.h.
44054         * lib/math_.h: New file.
44055         * lib/mathl.h: Remove file.
44056         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
44057         mathl.h.
44058         * lib/asinl.c: Likewise.
44059         * lib/atanl.c: Likewise.
44060         * lib/ceill.c: Likewise.
44061         * lib/cosl.c: Likewise.
44062         * lib/expl.c: Likewise.
44063         * lib/floorl.c: Likewise.
44064         * lib/frexpl.c: Likewise.
44065         * lib/ldexpl.c: Likewise.
44066         * lib/logl.c: Likewise.
44067         * lib/sincosl.c: Likewise.
44068         * lib/sinl.c: Likewise.
44069         * lib/sqrtl.c: Likewise.
44070         * lib/tanl.c: Likewise.
44071         * lib/trigl.c: Likewise.
44072         * m4/math_h.m4: New file.
44073         * MODULES.html.sh (Mathematics): Add math.
44074
44075 2007-02-17  Bruno Haible  <bruno@clisp.org>
44076
44077         * modules/wctype-tests: New file.
44078         * tests/test-wctype.c: New file.
44079
44080         * modules/wchar-tests: New file.
44081         * tests/test-wchar.c: New file.
44082
44083         * modules/unistd-tests: New file.
44084         * tests/test-unistd.c: New file.
44085
44086         * modules/time-tests: New file.
44087         * tests/test-time.c: New file.
44088
44089         * modules/sysexits-tests: New file.
44090         * tests/test-sysexits.c: New file.
44091
44092         * modules/sys_time-tests: New file.
44093         * tests/test-sys_time.c: New file.
44094
44095         * modules/sys_stat-tests: New file.
44096         * tests/test-sys_stat.c: New file.
44097
44098         * modules/sys_socket-tests: New file.
44099         * tests/test-sys_socket.c: New file.
44100
44101         * modules/sys_select-tests: New file.
44102         * tests/test-sys_select.c: New file.
44103
44104         * modules/string-tests: New file.
44105         * tests/test-string.c: New file.
44106
44107         * modules/stdbool-tests: New file.
44108         * tests/test-stdbool.c: New file.
44109
44110         * modules/netinet_in-tests: New file.
44111         * tests/test-netinet_in.c: New file.
44112
44113         * modules/inttypes-tests: New file.
44114         * tests/test-inttypes.c: New file.
44115
44116         * modules/fcntl-tests: New file.
44117         * tests/test-fcntl.c: New file.
44118
44119         * modules/byteswap-tests: New file.
44120         * tests/test-byteswap.c: New file.
44121
44122         * modules/arpa_inet-tests: New file.
44123         * tests/test-arpa_inet.c: New file.
44124
44125 2007-02-17  Bruno Haible  <bruno@clisp.org>
44126
44127         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
44128         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
44129         if the corresponding module is not enabled. Emit link warnings if
44130         the function is used nevertheless.
44131         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
44132         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
44133         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
44134         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
44135         * modules/inttypes (Depends-on): Add link-warning.
44136         (Makefile.am): Copy the contents of build-aux/link-warning.h into
44137         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
44138         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
44139         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
44140         * modules/imaxdiv (configure.ac): Likewise.
44141         * modules/strtoimax (configure.ac): Likewise.
44142         * modules/strtoumax (configure.ac): Likewise.
44143
44144 2007-02-17  Bruno Haible  <bruno@clisp.org>
44145
44146         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
44147         gl_STRING_MODULE_INDICATOR_DEFAULTS.
44148         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
44149         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
44150
44151 2007-02-17  Bruno Haible  <bruno@clisp.org>
44152
44153         * modules/link-warning: New file.
44154         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
44155         * lib/string_.h (GL_LINK_WARNING): Remove definition.
44156         * modules/string (Depends-on): Add link-warning.
44157         (Makefile.am): Copy the contents of build-aux/link-warning.h into
44158         string.h.
44159         * MODULES.html.sh (Support for building libraries and executables): Add
44160         link-warning.
44161
44162 2007-02-17  Bruno Haible  <bruno@clisp.org>
44163
44164         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
44165         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
44166         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
44167         long lines.
44168
44169 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
44170             Bruno Haible  <bruno@clisp.org>
44171
44172         * modules/tmpfile: New file.
44173         * lib/tmpfile.c: New file.
44174         * m4/tmpfile.m4: New file.
44175         * MODULES.html.sh (func_all_modules): New section "Input/output".
44176
44177 2007-02-15  Bruno Haible  <bruno@clisp.org>
44178
44179         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
44180         (supports_delete_on_close): New function.
44181         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
44182
44183 2007-02-14  Bruno Haible  <bruno@clisp.org>
44184
44185         * modules/mbspcasecmp-tests: New file.
44186         * tests/test-mbspcasecmp.sh: New file.
44187         * tests/test-mbspcasecmp.c: New file.
44188
44189         New module mbspcasecmp.
44190         * modules/mbspcasecmp: New file.
44191         * lib/mbspcasecmp.c: New file.
44192         * lib/string_.h (strncasecmp): Change warning message.
44193         (mbspcasecmp): New declaration.
44194         * m4/mbspcasecmp.m4: New file.
44195         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44196         GNULIB_MBSPCASECMP.
44197         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
44198         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
44199
44200 2007-02-14  Bruno Haible  <bruno@clisp.org>
44201
44202         * modules/mbsncasecmp-tests: New file.
44203         * tests/test-mbsncasecmp.sh: New file.
44204         * tests/test-mbsncasecmp.c: New file.
44205
44206         New module mbsncasecmp.
44207         * modules/mbsncasecmp: New file.
44208         * lib/mbsncasecmp.c: New file.
44209         * lib/string_.h (mbsncasecmp): New declaration.
44210         * m4/mbsncasecmp.m4: New file.
44211         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44212         GNULIB_MBSNCASECMP.
44213         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
44214         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
44215
44216 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
44217
44218         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
44219         Verify that it doesn't overlap with our flags.
44220         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
44221         do not have the desired effect in multibyte locales; instead, use
44222         mbscasecmp.
44223         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
44224         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
44225         we don't require GNU fnmatch ourselves (if our users require it, they
44226         should do so explicitly).
44227
44228         Fix regex code so it doesn't rely on strcasecmp.
44229         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
44230         Otherwise, include gnulib's langinfo.h.
44231         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
44232         undesirable behavior in non-C locales.  Instead, rely on localecharset.
44233         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
44234         * modules/regex (FILES): Remove m4/codeset.m4.
44235         (Depends-on): Add localcharset.  Remove strcase.
44236
44237 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44238
44239         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
44240         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
44241
44242 2007-02-13  Bruno Haible  <bruno@clisp.org>
44243
44244         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
44245         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44246
44247 2007-02-12  Bruno Haible  <bruno@clisp.org>
44248
44249         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
44250         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
44251         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
44252         time warning rather than a link error.
44253
44254 2007-02-12  Bruno Haible  <bruno@clisp.org>
44255
44256         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
44257         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
44258         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
44259
44260 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
44261
44262         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
44263         args, not 2.
44264
44265 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
44266
44267         New module 'time', so that apps can include <time.h> as per
44268         POSIX and GNU instead of separate include files like time_r.h
44269         and timegm.h.  This implementation tries out a simpler approach
44270         for replacing decls in standard include files (as compared to
44271         the string module), somewhat as an experiment.
44272
44273         * config/srclist.txt: Comment out mktime.c for now.
44274         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
44275         since it doesn't apply any more.  Use generic wording instead.
44276         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
44277         'time'.
44278         * lib/time_.h, m4/time_h.m4, modules/time: New files.
44279         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
44280         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
44281         Don't include <sys/types.h>; no longer needed since we assume C89.
44282         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
44283         * lib/strftime.c: Likewise.
44284         * lib/time_r.c: Likewise.
44285         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
44286         * lib/nanosleep.c: Include <time.h> first, to check interface.
44287         * lib/strptime.c: Likewise.
44288         * lib/time_r.c: Likewise.
44289         * lib/timegm.c: Likewise.
44290         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
44291         needed.
44292         * lib/timegm.c: Don't include timegm.h; no longer needed.
44293         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
44294         time.h now handles any problems in that area.
44295         (struct timespec, nanosleep): Remove; time.h now arranges for these.
44296         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
44297         that time.h defines struct timespec.
44298         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
44299         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
44300         handles that.
44301         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
44302         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
44303         needed.  Set REPLACE_LOCALTIME.
44304         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
44305         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
44306         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
44307         nanosleep; time_h.m4 now does that.  Don't require
44308         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
44309         module handles this now.
44310         * modules/getdate (Depends-on): Remove timespec.  Add time.
44311         * modules/nanosleep (Depends-on): Likewise.
44312         * modules/stat-time (Depends-on): Likewise.
44313         * modules/nanosleep (Include): Include time.h, not timespec.h.
44314         * modules/strptime (Files): Remove lib/strptime.h.
44315         (Depends-on): Add extensions, time.
44316         (Include): Include time.h, not strptime.h.
44317         * modules/time_r (Files): Remove lib/time_r.h.
44318         (Depends-on): Add time.
44319         (Include): Include time.h, not time_r.h.
44320         * modules/timegm: Likewise.
44321         * modules/timespec (Description): Now does timespec-related decls
44322         of our own, instead of struct timespec itself.
44323         (Depends-on): Add time; remove extensions.
44324         (Maintainer): Add self.
44325         * modules/utimecmp (Depends-on): Add time; remove timespec.
44326         * modules/utimens (Depends-on): Likewise.
44327         * modules/xnanosleep (Depends-on): Likewise.
44328
44329 2007-02-11  Bruno Haible  <bruno@clisp.org>
44330
44331         * lib/c-strstr.c: Include allocsa.h.
44332         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
44333         * lib/c-strcasestr.c: Include allocsa.h.
44334         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
44335         * lib/strcasestr.c: Include allocsa.h.
44336         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
44337         * lib/mbsstr.c: Include allocsa.h.
44338         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
44339         allocsa/freesa instead of malloc/free.
44340         * lib/mbscasestr.c: Include allocsa.h.
44341         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
44342         allocsa/freesa instead of malloc/free.
44343         * modules/c-strstr (Depends-on): Add allocsa.
44344         * modules/c-strcasestr (Depends-on): Likewise.
44345         * modules/strcasestr (Depends-on): Likewise.
44346         * modules/mbsstr (Depends-on): Likewise.
44347         * modules/mbscasestr (Depends-on): Likewise.
44348
44349 2007-02-11  Bruno Haible  <bruno@clisp.org>
44350
44351         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
44352
44353         * modules/mbsspn-tests: New file.
44354         * tests/test-mbsspn.sh: New file.
44355         * tests/test-mbsspn.c: New file.
44356
44357 2007-02-11  Bruno Haible  <bruno@clisp.org>
44358
44359         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
44360
44361         * modules/mbspbrk-tests: New file.
44362         * tests/test-mbspbrk.sh: New file.
44363         * tests/test-mbspbrk.c: New file.
44364
44365 2007-02-11  Bruno Haible  <bruno@clisp.org>
44366
44367         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
44368         unneeded cast.
44369
44370         * modules/mbscspn-tests: New file.
44371         * tests/test-mbscspn.sh: New file.
44372         * tests/test-mbscspn.c: New file.
44373
44374 2007-02-11  Bruno Haible  <bruno@clisp.org>
44375
44376         * modules/mbscasecmp-tests: New file.
44377         * tests/test-mbscasecmp.sh: New file.
44378         * tests/test-mbscasecmp.c: New file.
44379
44380 2007-02-11  Bruno Haible  <bruno@clisp.org>
44381
44382         Ensure O(n) worst-case complexity of mbscasestr.
44383         * lib/mbscasestr.c: Include stdbool.h.
44384         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
44385         functions.
44386         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
44387         the bookkeeping indicates that it's worth it.
44388         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
44389
44390         * modules/mbscasestr-tests: New file.
44391         * tests/test-mbscasestr1.c: New file.
44392         * tests/test-mbscasestr2.sh: New file.
44393         * tests/test-mbscasestr2.c: New file.
44394         * tests/test-mbscasestr3.sh: New file.
44395         * tests/test-mbscasestr3.c: New file.
44396         * tests/test-mbscasestr4.sh: New file.
44397         * tests/test-mbscasestr4.c: New file.
44398         * m4/locale-tr.m4: New file.
44399
44400 2007-02-11  Bruno Haible  <bruno@clisp.org>
44401
44402         Ensure O(n) worst-case complexity of mbsstr.
44403         * lib/mbsstr.c: Include stdbool.h.
44404         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
44405         functions.
44406         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
44407         bookkeeping indicates that it's worth it.
44408         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
44409
44410         * modules/mbsstr-tests: New file.
44411         * tests/test-mbsstr1.c: New file.
44412         * tests/test-mbsstr2.sh: New file.
44413         * tests/test-mbsstr2.c: New file.
44414         * tests/test-mbsstr3.sh: New file.
44415         * tests/test-mbsstr3.c: New file.
44416         * m4/locale-fr.m4: New file.
44417
44418 2007-02-11  Bruno Haible  <bruno@clisp.org>
44419
44420         * lib/mbsrchr.c (mbsrchr): Fix bug.
44421
44422         * modules/mbsrchr-tests: New file.
44423         * tests/test-mbsrchr.sh: New file.
44424         * tests/test-mbsrchr.c: New file.
44425
44426 2007-02-11  Bruno Haible  <bruno@clisp.org>
44427
44428         * lib/mbschr.c (mbschr): Fix bug.
44429
44430         * modules/mbschr-tests: New file.
44431         * tests/test-mbschr.sh: New file.
44432         * tests/test-mbschr.c: New file.
44433         * m4/locale-zh.m4: New file.
44434
44435 2007-02-11  Bruno Haible  <bruno@clisp.org>
44436
44437         Support for copying multibyte string iterators.
44438         * lib/mbiter.h: Include <string.h>.
44439         (mbiter_multi_copy): New function.
44440         (mbi_copy): New macro.
44441         * lib/mbuiter.h: Include <string.h>.
44442         (mbuiter_multi_copy): New function.
44443         (mbui_copy): New macro.
44444
44445 2007-02-11  Bruno Haible  <bruno@clisp.org>
44446
44447         New module mbslen.
44448         * modules/mbslen: New file.
44449         * lib/mbslen.c: New file.
44450         * lib/string_.h (mbslen): New declaration.
44451         * m4/mbslen.m4: New file.
44452         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44453         GNULIB_MBSLEN.
44454         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
44455         * MODULES.html.sh (Internationalization functions): Add mbslen.
44456
44457 2007-02-11  Bruno Haible  <bruno@clisp.org>
44458
44459         Ensure O(n) worst-case complexity of strcasestr substitute.
44460         * lib/strcasestr.c: Include stdbool.h.
44461         (knuth_morris_pratt): New function.
44462         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
44463         bookkeeping indicates that it's worth it.
44464         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
44465
44466         * modules/strcasestr-tests: New file.
44467         * tests/test-strcasestr.c: New file.
44468
44469 2007-02-11  Bruno Haible  <bruno@clisp.org>
44470
44471         Ensure O(n) worst-case complexity of c_strcasestr.
44472         * lib/c-strcasestr.c: Include stdbool.h, string.h.
44473         (knuth_morris_pratt): New function.
44474         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
44475         the bookkeeping indicates that it's worth it.
44476         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
44477
44478         * modules/c-strcasestr-tests: New file.
44479         * tests/test-c-strcasestr.c: New file.
44480
44481 2007-02-11  Bruno Haible  <bruno@clisp.org>
44482
44483         Ensure O(n) worst-case complexity of c_strstr.
44484         * lib/c-strstr.c: Include stdbool.h, string.h.
44485         (knuth_morris_pratt): New function.
44486         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
44487         bookkeeping indicates that it's worth it.
44488         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
44489
44490         * lib/c-strstr.c: Complete rewrite for maintainability.
44491
44492         * modules/c-strstr-tests: New file.
44493         * tests/test-c-strstr.c: New file.
44494
44495 2007-02-11  Bruno Haible  <bruno@clisp.org>
44496
44497         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
44498         5.2.1 and earlier, whereby \055 was treated just like the range
44499         delimiter '-'.
44500         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
44501
44502 2007-02-08  Bruno Haible  <bruno@clisp.org>
44503
44504         * modules/regex (Depends-on): Add stdbool.
44505         Reported by Dalibor Topic <robilad@kaffe.org>.
44506
44507 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
44508
44509         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
44510         Prefer returning from main to exiting from it.
44511         Remove unnecessary parens after sizeof.
44512
44513 2007-02-05  Bruno Haible  <bruno@clisp.org>
44514
44515         New module mbssep.
44516         * modules/mbssep: New file.
44517         * lib/mbssep.c: New file.
44518         * lib/string_.h (strsep): Add a conditional link warning.
44519         (mbssep): New declaration.
44520         * m4/mbssep.m4: New file.
44521         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44522         GNULIB_MBSSEP.
44523         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
44524         * MODULES.html.sh (Internationalization functions): Add mbssep.
44525
44526 2007-02-05  Bruno Haible  <bruno@clisp.org>
44527
44528         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
44529         Optimize search in case of 1 delimiter.
44530
44531 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
44532
44533         * lib/acl.h: Include sys/types.h before sys/acl.h.
44534
44535 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
44536
44537         Merge upstream fix for glibc bugzilla #3957:
44538
44539         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
44540
44541         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
44542         bit for RE_HAT_LISTS_NOT_NEWLINE.
44543         (build_charclass_op): Remove bogus comment.
44544
44545 2007-02-05  Simon Josefsson  <simon@josefsson.org>
44546
44547         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
44548
44549 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
44550
44551         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
44552         * lib/memmem.c [!defined _LIBC]: Include config.h.
44553
44554 2007-02-04  Bruno Haible  <bruno@clisp.org>
44555
44556         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
44557         warning message.
44558
44559 2007-02-04  Bruno Haible  <bruno@clisp.org>
44560
44561         New module mbstok_r.
44562         * modules/mbstok_r: New file.
44563         * lib/mbstok_r.c: New file.
44564         * lib/string_.h (strtok_r): Change argument names to match the
44565         comments. Add a conditional link warning.
44566         (mbstok_r): New declaration.
44567         * m4/mbstok_r.m4: New file.
44568         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44569         GNULIB_MBSTOK_R.
44570         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
44571         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
44572
44573 2007-02-04  Bruno Haible  <bruno@clisp.org>
44574
44575         New module mbsspn.
44576         * modules/mbsspn: New file.
44577         * lib/mbsspn.c: New file.
44578         * lib/string_.h (strspn): Add a conditional link warning.
44579         (mbsspn): New declaration.
44580         * m4/mbsspn.m4: New file.
44581         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44582         GNULIB_MBSSPN.
44583         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
44584         * MODULES.html.sh (Internationalization functions): Add mbsspn.
44585
44586 2007-02-04  Bruno Haible  <bruno@clisp.org>
44587
44588         New module mbspbrk.
44589         * modules/mbspbrk: New file.
44590         * lib/mbspbrk.c: New file.
44591         * lib/string_.h (strpbrk): Add a conditional link warning.
44592         (mbspbrk): New declaration.
44593         * m4/mbspbrk.m4: New file.
44594         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44595         GNULIB_MBSPBRK.
44596         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
44597         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
44598
44599 2007-02-04  Bruno Haible  <bruno@clisp.org>
44600
44601         New module mbscspn.
44602         * modules/mbscspn: New file.
44603         * lib/mbscspn.c: New file.
44604         * lib/string_.h (strcspn): Add a conditional link warning.
44605         (mbscspn): New declaration.
44606         * m4/mbscspn.m4: New file.
44607         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44608         GNULIB_MBSCSPN.
44609         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
44610         * MODULES.html.sh (Internationalization functions): Add mbscspn.
44611
44612 2007-02-04  Bruno Haible  <bruno@clisp.org>
44613
44614         New module mbscasestr, reduced goal of strcasestr.
44615         * modules/mbscasestr: New file.
44616         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
44617         (mbscasestr): Renamed from strcasestr.
44618         * lib/strcasestr.c: Don't include mbuiter.h.
44619         (strcasestr): Remove support for multibyte locales.
44620         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
44621         Change the conditional link warning.
44622         (mbscasestr): New declaration.
44623         * m4/mbscasestr.m4: New file.
44624         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
44625         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
44626         REPLACE_STRCASESTR.
44627         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
44628         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44629         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
44630         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
44631         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
44632         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
44633         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
44634         (Depends-on): Remove mbuiter.
44635         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
44636
44637 2007-02-04  Bruno Haible  <bruno@clisp.org>
44638
44639         Simplify handling of strncasecmp.
44640         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
44641         the conditional link warning.
44642         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
44643         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
44644         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
44645         * modules/strcase (configure.ac): Don't invoke
44646         gl_STRING_MODULE_INDICATOR.
44647         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
44648
44649 2007-02-04  Bruno Haible  <bruno@clisp.org>
44650
44651         New module mbscasecmp, reduced goal of strcasecmp.
44652         * modules/mbscasecmp: New file.
44653         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
44654         (mbscasecmp): Renamed from strcasecmp.
44655         * lib/strcasecmp.c: Don't include mbuiter.h.
44656         (strcasecmp): Remove support for multibyte locales.
44657         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
44658         Change the conditional link warning.
44659         (mbscasecmp): New declaration.
44660         * m4/mbscasecmp.m4: New file.
44661         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
44662         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
44663         REPLACE_STRCASECMP.
44664         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
44665         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44666         GNULIB_MBSCASECMP.
44667         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
44668         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
44669         * modules/strcase (Files): Remove m4/mbrtowc.m4.
44670         (Depends-on): Remove mbuiter.
44671         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
44672
44673 2007-02-04  Bruno Haible  <bruno@clisp.org>
44674
44675         New module mbsstr. Remove module strstr.
44676         * modules/mbsstr: New file.
44677         * modules/strstr: Remove file.
44678         * lib/mbsstr.c: Renamed from lib/strstr.c.
44679         (mbsstr): Renamed from strstr.
44680         * lib/string_.h (strstr): Remove declaration. Change the conditional
44681         link warning.
44682         (mbsstr): New declaration.
44683         * m4/mbsstr.m4: New file.
44684         * m4/strstr.m4: Remove file.
44685         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
44686         REPLACE_STRSTR.
44687         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
44688         Don't initialize GNULIB_STRSTR.
44689         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
44690         substitute GNULIB_STRSTR and REPLACE_STRSTR.
44691         * MODULES.html.sh (Internationalization functions): Add mbsstr.
44692         (Support for systems lacking ANSI C 89): Remove strstr.
44693
44694 2007-02-04  Bruno Haible  <bruno@clisp.org>
44695
44696         New module mbsrchr.
44697         * modules/mbsrchr: New file.
44698         * lib/mbsrchr.c: New file.
44699         * lib/string_.h (strrchr): Add a conditional link warning.
44700         (mbsrchr): New declaration.
44701         * m4/mbsrchr.m4: New file.
44702         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44703         GNULIB_MBSRCHR.
44704         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
44705         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
44706
44707 2007-02-04  Bruno Haible  <bruno@clisp.org>
44708
44709         New module mbschr.
44710         * modules/mbschr: New file.
44711         * lib/mbschr.c: New file.
44712         * lib/string_.h (strchr): Add a conditional link warning.
44713         (mbschr): New declaration.
44714         * m4/mbschr.m4: New file.
44715         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
44716         GNULIB_MBSCHR.
44717         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
44718         * MODULES.html.sh (Internationalization functions): Add mbschr.
44719
44720 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
44721
44722         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
44723
44724         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
44725
44726 2007-02-04  Bruno Haible  <bruno@clisp.org>
44727
44728         New module description section 'configure.ac-early'.
44729         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
44730         (func_get_autoconf_early_snippet): New function.
44731         (func_import, func_create_testdir): Use it. Remove special cases for
44732         modules 'extensions' and 'lock'.
44733         * modules/extensions (configure.ac-early): Require
44734         gl_USE_SYSTEM_EXTENSIONS.
44735         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
44736
44737 2007-02-04  Bruno Haible  <bruno@clisp.org>
44738
44739         Make use of gcj-4.3's -fsource and -ftarget option.
44740         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
44741         and if so try the options -fsource and -ftarget.
44742         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
44743         source_version, ftarget_option, target_version arguments.
44744         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
44745         (is_envjavac_oldgcj_14_14_usable): Renamed from
44746         is_envjavac_gcj_14_14_usable.
44747         (is_envjavac_oldgcj_14_13_usable): Renamed from
44748         is_envjavac_gcj_14_13_usable.
44749         (is_gcj_present): Update.
44750         (is_gcj_43, is_gcj43_usable): New functions.
44751         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
44752         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
44753         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
44754         try the options -fsource and -ftarget.
44755
44756 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
44757
44758         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
44759         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
44760         larger value.
44761
44762 2007-02-03  Jim Meyering  <jim@meyering.net>
44763
44764         Give tools a better chance to allocate space for very large buffers.
44765         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
44766
44767         Make pwd and readlink work also when run with an unreadable parent dir
44768         on systems with openat support.
44769         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
44770         provided getcwd function, even when we have openat support.
44771         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
44772
44773 2007-02-02  Bruno Haible  <bruno@clisp.org>
44774
44775         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
44776         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
44777         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
44778         portability problems if one of these functions is only used on specific
44779         platforms.
44780         Reported by Paul Eggert.
44781
44782 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
44783
44784         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
44785         is causing more trouble than it's curing.
44786         * lib/regex_internal.h (__mempcpy): Remove.
44787         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
44788         (and make the code a tad smaller to boot).
44789         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
44790
44791 2007-02-02  Jim Meyering  <jim@meyering.net>
44792
44793         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
44794         section, not in the Makefile.am: one.
44795
44796 2007-02-02  Eric Blake  <ebb9@byu.net>
44797
44798         * lib/strchrnul.c: Always include config.h first.
44799
44800         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
44801         gnulib strstr is not necessary here.
44802
44803 2007-02-02  Simon Josefsson  <simon@josefsson.org>
44804
44805         * m4/socklen.m4: Fix typo.
44806
44807 2007-02-02  Eric Blake  <ebb9@byu.net>
44808
44809         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
44810         * modules/netinet_in (Makefile.am): Likewise.
44811
44812 2007-02-01  Bruno Haible  <bruno@clisp.org>
44813
44814         * lib/string_.h (GL_LINK_WARNING): New macro.
44815         (strcasecmp, strstr, strcasestr): If provided by the system,
44816         conditionally define as a macro that leads to a warning instead of to
44817         an error.
44818         (strncasecmp): Conditionally define as a macro that leads to a warning.
44819
44820 2007-02-01  Karl Berry  <karl@gnu.org>
44821
44822         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
44823
44824 2007-02-01  Bruno Haible  <bruno@clisp.org>
44825
44826         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
44827         renamings.
44828
44829 2007-02-01  Eric Blake  <ebb9@byu.net>
44830
44831         * modules/regex (Depends-on): Revert dependence on mempcpy.
44832         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
44833         module's definition of mempcpy.
44834         Reported by Paul Eggert.
44835
44836 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
44837
44838         * lib/string_.h: If the gnulib module XYZ is not present, undefine
44839         the symbol XYZ before redefining it.  This fixes a problem with
44840         programs that don't use XYZ, when compiled on systems that define
44841         XYZ to something else.
44842
44843 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
44844
44845         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
44846         occurs when "mkdir -m foo" creates a setgid directory that is (1)
44847         writeable to group or other and (2) is intended to have a special
44848         mode bit that is set or cleared.  In such a case, the directory
44849         should be neither group- nor other-writeable until the special
44850         mode bits are right.
44851
44852 2007-01-31  Eric Blake  <ebb9@byu.net>
44853
44854         * modules/mountlist (Depends-on): Add strstr.
44855
44856         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
44857         bug.
44858         * modules/string (Makefile.am): Remove redundant replacement.
44859         * modules/regex (Depends-on): Add mempcpy.
44860
44861 2007-01-31  Bruno Haible  <bruno@clisp.org>
44862
44863         New module description field 'Link'.
44864         * gnulib-tool (func_usage): Document --extract-link-directive.
44865         (sed_extract_prog): Recognize 'Link' directive.
44866         (func_get_link_directive): New function.
44867         (func_import): Show summary of link directives.
44868         Handle --extract-link-directive option.
44869         * modules/acl (Link): New section.
44870         * modules/clock-time (Link): New section.
44871         * modules/euidaccess (Link): New section.
44872         * modules/gettext (Link): New section.
44873         * modules/iconv (Link): New section.
44874         * modules/lock (Link): New section.
44875         * modules/nanosleep (Link): New section.
44876         * modules/readline (Link): New section.
44877
44878 2007-01-27  Bruno Haible  <bruno@clisp.org>
44879
44880         Enforce the use of gnulib modules for unportable <string.h> functions.
44881         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
44882         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
44883         (gl_HEADER_STRING_H_BODY): Require it.
44884         * lib/string_.h: If the gnulib module XYZ is not present, redefine
44885         the symbol XYZ to one that gives a link error.
44886         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
44887         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
44888         * modules/mempcpy (configure.ac): Likewise.
44889         * modules/memrchr (configure.ac): Likewise.
44890         * modules/stpcpy (configure.ac): Likewise.
44891         * modules/stpncpy (configure.ac): Likewise.
44892         * modules/strcase (configure.ac): Likewise.
44893         * modules/strcasestr (configure.ac): Likewise.
44894         * modules/strchrnul (configure.ac): Likewise.
44895         * modules/strdup (configure.ac): Likewise.
44896         * modules/strndup (configure.ac): Likewise.
44897         * modules/strnlen (configure.ac): Likewise.
44898         * modules/strpbrk (configure.ac): Likewise.
44899         * modules/strsep (configure.ac): Likewise.
44900         * modules/strstr (configure.ac): Likewise.
44901         * modules/strtok_r (configure.ac): Likewise.
44902
44903 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
44904
44905         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
44906
44907 2007-01-30  Jim Meyering  <jim@meyering.net>
44908
44909         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
44910
44911 2007-01-29  Bruno Haible  <bruno@clisp.org>
44912
44913         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
44914         * lib/execute.c: Likewise.
44915         * lib/pipe.c: Likewise.
44916         * lib/printf-args.h: Likewise.
44917         * lib/printf-args.c: Likewise.
44918         * lib/printf-parse.c: Likewise.
44919         * lib/vasnprintf.c: Likewise.
44920
44921 2007-01-29  Eric Blake  <ebb9@byu.net>
44922
44923         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
44924         declaration.
44925
44926 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
44927
44928         * lib/strptime.h (strptime): Use 'restrict' for args where
44929         POSIX requires this.
44930         * lib/strptime.c (strptime): Likewise.
44931         Change license notice from LGPL to GPL, since gnulib-tool will
44932         change this as needed.
44933         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
44934         defined.
44935         Include "strptime.h" first, to check interface.
44936         Do not #undef _LIBC and _NL_CURRENT.
44937         Do not include <stdlib.h>; no longer needed.
44938         Include "time_r.h" and declare ptime_locale_status
44939         only if _LIBC is not defined.
44940         (__P): Remove unused macro.
44941         (match_string): Bring back glibc version, but use it only if _LIBC
44942         is defined.
44943         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
44944         Remove unnecessary assertion and abort() call.
44945         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
44946         * m4/strptime.m4: Fix serial number comment.
44947         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
44948         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
44949         (Depends-on): Add time_r.
44950
44951 2007-01-29  Bruno Haible  <bruno@clisp.org>
44952
44953         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
44954         strptime.
44955         * modules/strptime (Depends-on): Add stdbool.
44956         * lib/strptime.h: Include <time.h> always. Add comments.
44957
44958 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
44959
44960         * modules/strptime: New file.
44961         * lib/strptime.h: New file.
44962         * lib/strptime.c: New file.
44963         * m4/strptime.m4: New file.
44964
44965 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
44966
44967         * MODULES.html.sh: New module mpsort.
44968         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
44969
44970         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
44971         a circularity problem with HP-UX ia64 reported by Bob Proulx in
44972         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
44973         All uses changed.
44974         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
44975         All uses changed.
44976         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
44977         to _Restrict_.
44978         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
44979         the parameter matches the prototype.
44980
44981 2007-01-28  Jim Meyering  <jim@meyering.net>
44982
44983         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
44984         sys/time.h here, reverting that part of the previous patch:
44985         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
44986
44987 2007-01-28  Bruno Haible  <bruno@clisp.org>
44988
44989         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
44990         value of $(SYS_TIME_H).
44991         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
44992         remove it conditionally, too. [added by Jim Meyering]
44993         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
44994         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
44995         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
44996         GETTIMEOFDAY_REPLACEMENT to 1.
44997
44998 2007-01-28  Bruno Haible  <bruno@clisp.org>
44999
45000         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
45001         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
45002         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
45003         Set UNISTD_H instead of UNISTD_H2.
45004         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
45005
45006 2007-01-28  Bruno Haible  <bruno@clisp.org>
45007
45008         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
45009         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
45010
45011 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45012
45013         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
45014         (func_create_testdir): Ensure C locale for `grep' and `tr'
45015         character ranges.
45016         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
45017         ACLOCAL_AMFLAGS parsing state machine.
45018
45019 2007-01-27  Bruno Haible  <bruno@clisp.org>
45020
45021         * modules/unistr/base: Update.
45022
45023 2007-01-27  Bruno Haible  <bruno@clisp.org>
45024
45025         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
45026         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
45027         * modules/unistr/u32-mbtouc-unsafe: Renamed from
45028         modules/unistr/u32-mbtouc.
45029         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
45030         * lib/unistr.h: Update.
45031         * lib/linebreak.c: Update.
45032         * modules/unistr/u32-mbtouc: Renamed from
45033         modules/unistr/u32-mbtouc-safe.
45034         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
45035         * lib/unistr.h: Update.
45036         * lib/unistr/u32-to-u8.c: Update.
45037         * lib/unistr/u32-to-u16.c: Update.
45038
45039 2007-01-27  Bruno Haible  <bruno@clisp.org>
45040
45041         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
45042         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
45043         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
45044         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
45045         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
45046         * modules/unistr/u16-mbtouc-unsafe: Renamed from
45047         modules/unistr/u16-mbtouc.
45048         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
45049         * lib/unistr.h: Update.
45050         * lib/linebreak.c: Update.
45051         * modules/linebreak: Update.
45052         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
45053         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
45054         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
45055         * modules/unistr/u16-mbtouc: Renamed from
45056         modules/unistr/u16-mbtouc-safe.
45057         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
45058         * lib/unistr.h: Update.
45059         * lib/unistr/u16-to-u8.c: Update.
45060         * modules/unistr/u16-to-u8: Update.
45061         * lib/unistr/u16-to-u32.c: Update.
45062         * modules/unistr/u16-to-u32: Update.
45063
45064 2007-01-27  Bruno Haible  <bruno@clisp.org>
45065
45066         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
45067         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
45068         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
45069         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
45070         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
45071         * modules/unistr/u8-mbtouc-unsafe: Renamed from
45072         modules/unistr/u8-mbtouc.
45073         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
45074         * lib/unistr.h: Update.
45075         * lib/striconveh.c: Update.
45076         * modules/striconveh: Update.
45077         * lib/linebreak.c: Update.
45078         * modules/linebreak: Update.
45079         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
45080         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
45081         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
45082         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
45083         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
45084         * lib/unistr.h: Update.
45085         * lib/striconveh.c: Update.
45086         * modules/striconveh: Update.
45087         * lib/unistr/u8-to-u16.c: Update.
45088         * modules/unistr/u8-to-u16: Update.
45089         * lib/unistr/u8-to-u32.c: Update.
45090         * modules/unistr/u8-to-u32: Update.
45091
45092 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45093
45094         Sync from Libtool.
45095         * lib/argz.c: Do not include strings.h nor memory.h, include
45096         string.h unconditionally.  Patch by Simon Josefsson.
45097
45098 2007-01-27  Bruno Haible  <bruno@clisp.org>
45099
45100         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
45101         from gl_HEADER_STRING_H_BODY.
45102         (gl_HEADER_STRING_H_BODY): Require it.
45103         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
45104         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
45105         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
45106         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
45107         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
45108         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
45109         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
45110         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
45111         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
45112         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
45113         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
45114         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
45115         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
45116         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
45117         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
45118
45119 2007-01-27  Bruno Haible  <bruno@clisp.org>
45120
45121         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
45122         check_PROGRAMS into noinst_PROGRAMS.
45123         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
45124         check_PROGRAMS in this case.
45125         (func_import): Set for_test to false.
45126         (func_create_testdir): Set for_test to true.
45127
45128 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
45129             Bruno Haible  <bruno@clisp.org>
45130
45131         * modules/strcasestr (Files): Remove lib/strcasestr.h.
45132         (Depends-on): Add string.
45133         (Includes): Use <string.h> instead of strcasestr.h.
45134         * modules/string (Makefile.am): Also substitute the value of
45135         REPLACE_STRCASESTR.
45136         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
45137         assume strcasestr is declared in <string.h> not <strings.h>. Also
45138         set REPLACE_STRCASESTR.
45139         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
45140         REPLACE_STRCASESTR.
45141         * lib/strcasestr.h: Remove file.
45142         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
45143         * lib/string_.h (strcasestr): New declaration.
45144
45145 2007-01-27  Bruno Haible  <bruno@clisp.org>
45146
45147         * lib/string_.h: Use 'extern'.
45148
45149 2007-01-27  Jim Meyering  <jim@meyering.net>
45150
45151         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
45152         of set-but-not-used local, "q".
45153
45154         * lib/mempcpy.c: Include <config.h> before <string.h>.
45155         This fixes a compilation error on HP-UX, due to the system's
45156         "restrict"-using mempcpy prototype.
45157
45158 2007-01-26  Bruno Haible  <bruno@clisp.org>
45159
45160         Small optimization.
45161         * lib/javacomp.c: Include c-strstr.h.
45162          (is_envjavac_gcj): Use c_strstr instead of strstr.
45163         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
45164
45165 2007-01-26  Bruno Haible  <bruno@clisp.org>
45166
45167         * MODULES.html.sh (Unicode string functions): Add the new modules.
45168
45169         * modules/uniconv/u32-strconv-to-locale: New file.
45170         * lib/uniconv/u32-strconv-to-locale.c: New file.
45171
45172         * modules/uniconv/u16-strconv-to-locale: New file.
45173         * lib/uniconv/u16-strconv-to-locale.c: New file.
45174
45175         * modules/uniconv/u8-strconv-to-locale: New file.
45176         * lib/uniconv/u8-strconv-to-locale.c: New file.
45177
45178         * modules/uniconv/u32-strconv-from-locale: New file.
45179         * lib/uniconv/u32-strconv-from-locale.c: New file.
45180
45181         * modules/uniconv/u16-strconv-from-locale: New file.
45182         * lib/uniconv/u16-strconv-from-locale.c: New file.
45183
45184         * modules/uniconv/u8-strconv-from-locale: New file.
45185         * lib/uniconv/u8-strconv-from-locale.c: New file.
45186
45187         * modules/uniconv/u32-strconv-to-enc: New file.
45188         * lib/uniconv/u32-strconv-to-enc.c: New file.
45189         * modules/uniconv/u32-strconv-to-enc-tests: New file.
45190         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
45191
45192         * modules/uniconv/u16-strconv-to-enc: New file.
45193         * lib/uniconv/u16-strconv-to-enc.c: New file.
45194         * lib/uniconv/u-strconv-to-enc.h: New file.
45195         * modules/uniconv/u16-strconv-to-enc-tests: New file.
45196         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
45197
45198         * modules/uniconv/u8-strconv-to-enc: New file.
45199         * lib/uniconv/u8-strconv-to-enc.c: New file.
45200         * modules/uniconv/u8-strconv-to-enc-tests: New file.
45201         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
45202
45203         * modules/uniconv/u32-strconv-from-enc: New file.
45204         * lib/uniconv/u32-strconv-from-enc.c: New file.
45205         * modules/uniconv/u32-strconv-from-enc-tests: New file.
45206         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
45207
45208         * modules/uniconv/u16-strconv-from-enc: New file.
45209         * lib/uniconv/u16-strconv-from-enc.c: New file.
45210         * modules/uniconv/u16-strconv-from-enc-tests: New file.
45211         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
45212
45213         * modules/uniconv/u8-strconv-from-enc: New file.
45214         * lib/uniconv/u8-strconv-from-enc.c: New file.
45215         * lib/uniconv/u-strconv-from-enc.h: New file.
45216         * modules/uniconv/u8-strconv-from-enc-tests: New file.
45217         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
45218
45219         * modules/uniconv/u32-conv-from-enc: New file.
45220         * lib/uniconv/u32-conv-from-enc.c: New file.
45221         * modules/uniconv/u32-conv-from-enc-tests: New file.
45222         * tests/uniconv/test-u32-conv-from-enc.c: New file.
45223
45224         * modules/uniconv/u16-conv-from-enc: New file.
45225         * lib/uniconv/u16-conv-from-enc.c: New file.
45226         * lib/uniconv/u-conv-from-enc.h: New file.
45227         * modules/uniconv/u16-conv-from-enc-tests: New file.
45228         * tests/uniconv/test-u16-conv-from-enc.c: New file.
45229
45230         * modules/uniconv/u8-conv-from-enc: New file.
45231         * lib/uniconv/u8-conv-from-enc.c: New file.
45232         * modules/uniconv/u8-conv-from-enc-tests: New file.
45233         * tests/uniconv/test-u8-conv-from-enc.c: New file.
45234
45235         * modules/uniconv/base: New file.
45236         * lib/uniconv.h: New file.
45237
45238 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
45239
45240         * doc/gnulib-tool.texi (Initial import): Update to match current
45241         behavior with strdup module.
45242         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
45243         * lib/memmem.h: Remove; all uses removed.  This is now done
45244         by <string.h>.
45245         * lib/mempcpy.h: Likewise.
45246         * lib/memrchr.h: Likewise.
45247         * lib/stpcpy.h: Likewise.
45248         * lib/stpncpy.h: Likewise.
45249         * lib/strcase.h: Likewise.
45250         * lib/strchrnul.h: Likewise.
45251         * lib/strdup.h: Likewise.
45252         * lib/strndup.h: Likewise.
45253         * lib/strnlen.h: Likewise.
45254         * lib/strpbrk.h: Likewise.
45255         * lib/strsep.h: Likewise.
45256         * lib/strstr.h: Likewise.
45257         * lib/strtok_r.h: Likewise.
45258         * lib/string_.h: New file.
45259         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
45260         Rely on <string.h> instead.
45261         * lib/canon-host.c: Likewise.
45262         * lib/chdir-long.c: Likewise.
45263         * lib/concatpath.c: Likewise.
45264         * lib/exclude.c: Likewise.
45265         * lib/fchdir.c: Likewise.
45266         * lib/getaddrinfo.c: Likewise.
45267         * lib/getcwd.c: Likewise.
45268         * lib/getsubopt.c: Likewise.
45269         * lib/glob.c: Likewise.
45270         * lib/hard-locale.c: Likewise.
45271         * lib/iconvme.c: Likewise.
45272         * lib/javacomp.c: Likewise.
45273         * lib/mempcpy.c: Likewise.
45274         * lib/memrchr.c: Likewise.
45275         * lib/regex_internal.h: Likewise.
45276         * lib/stpncpy.c: Likewise.
45277         * lib/strcasecmp.c: Likewise.
45278         * lib/strchrnul.c: Likewise.
45279         * lib/strdup.c: Likewise.
45280         * lib/striconv.c: Likewise.
45281         * lib/striconveh.c: Likewise.
45282         * lib/striconveha.c: Likewise.
45283         * lib/strncasecmp.c: Likewise.
45284         * lib/strndup.c: Likewise.
45285         * lib/strnlen.c: Likewise.
45286         * lib/strsep.c: Likewise.
45287         * lib/strstr.c: Likewise.
45288         * lib/strtok_r.c: Likewise.
45289         * lib/userspec.c: Likewise.
45290         * lib/w32spawn.h: Likewise.
45291         * lib/xstrndup.c: Likewise.
45292         * lib/mountlist.c (strstr): Remove decl.
45293         * m4/string_h.m4: New file.
45294         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
45295         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
45296         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
45297         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
45298         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
45299         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
45300         Set REPLACE_STRCASECMP if necessary.
45301         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
45302         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
45303         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
45304         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
45305         HAVE_DECL_STRDUP if necessary.
45306         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
45307         since gl_FUNC_STRNDUP does that now.
45308         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
45309         Check for decl here...
45310         (gl_PREREQ_STRNLEN): ... not here.
45311         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
45312         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
45313         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
45314         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
45315         necessary.
45316         * modules/string: New file.
45317         * modules/memmem (Files): Remove special-purpose include file.
45318         (Depends-on): Add string.
45319         (Include): Include <string.h>, not the removed file.
45320         * modules/mempcpy: Likewise.
45321         * modules/memrchr: Likewise.
45322         * modules/stpcpy: Likewise.
45323         * modules/stpncpy: Likewise.
45324         * modules/strcase: Likewise.
45325         * modules/strchrnul: Likewise.
45326         * modules/strdup: Likewise.
45327         * modules/strndup: Likewise.
45328         * modules/strnlen: Likewise.
45329         * modules/strpbrk: Likewise.
45330         * modules/strsep: Likewise.
45331         * modules/strstr: Likewise.
45332         * modules/strtok_r: Likewise.
45333         * tests/test-dirname.c: Don't include "strdup.h", since
45334         <string.h> now suffices.
45335         * tests/test-memmem.c: Don't include "memmem.h", since
45336         <string.h> now suffices.
45337
45338 2007-01-25  Bruno Haible  <bruno@clisp.org>
45339
45340         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
45341         *resultp is 0.
45342
45343         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
45344         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
45345         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
45346         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
45347
45348         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
45349         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
45350         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
45351         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
45352         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
45353         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
45354
45355 2007-01-24  Bruno Haible  <bruno@clisp.org>
45356
45357         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
45358         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
45359         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
45360         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
45361         gl_FUNC_FTS_CORE.
45362         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
45363         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
45364         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
45365         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
45366         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
45367         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
45368         gl_FUNC_FCHOWNAT.
45369         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
45370         gl_FUNC_STRFTIME.
45371         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
45372         Reported by Ralf Wildenhues.
45373
45374 2007-01-24  Bruno Haible  <bruno@clisp.org>
45375
45376         Drop AC_REQUIRE calls that are redundant with the module dependencies.
45377         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
45378         gl_GETADDRINFO.
45379         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
45380         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
45381         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
45382
45383 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
45384
45385         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
45386         Don't use 'exit'; just return from 'main'.
45387         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
45388
45389         * lib/fnmatch_.h: Readjust white space and comments to match
45390         glibc, to avoid spurious diffs.
45391
45392 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45393
45394         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
45395         2004-12-01 change by Jakub Jelinek, since this code won't compile
45396         if !LIBC.  Problem reported by Bob Proulx.
45397
45398 2007-01-23  Bruno Haible  <bruno@clisp.org>
45399
45400         * lib/striconveh.c: Include c-strcaseeq.h.
45401         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
45402         * modules/striconveh (Depends-on): Add c-strcaseeq.
45403
45404 2007-01-23  Bruno Haible  <bruno@clisp.org>
45405
45406         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
45407
45408         * modules/c-strcaseeq: New file.
45409         * lib/c-strcaseeq.h: New file.
45410
45411         * modules/streq: New file.
45412         * lib/streq.h: New file.
45413
45414 2007-01-23  Bruno Haible  <bruno@clisp.org>
45415
45416         * modules/striconveha-tests: New file.
45417         * tests/test-striconveha.c: New file.
45418
45419         * lib/striconveha.h: Include <stdbool.h>.
45420         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
45421         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
45422         (mem_iconveha_notranslit): Renamed from mem_iconveha.
45423         (mem_iconveha): New function.
45424         (str_iconveha_notranslit): Renamed from str_iconveha.
45425         (str_iconveha): New function.
45426         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
45427         c-strcase.
45428
45429 2007-01-23  Bruno Haible  <bruno@clisp.org>
45430
45431         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
45432         encodings without forgiving before trying any encoding with handler.
45433         (str_iconveha): Try all encodings without forgiving before trying any
45434         encoding with handler.
45435
45436 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
45437
45438         Import the following changes from libc.
45439
45440         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
45441
45442         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
45443
45444         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
45445
45446         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
45447         normal_bracket label.
45448
45449         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
45450
45451         [BZ #361]
45452         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
45453         to normal_bracket after fetching the next character.
45454
45455 2007-01-22  Bruno Haible  <bruno@clisp.org>
45456
45457         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
45458         argument.
45459         * lib/striconveh.c (iconv_carefully_1): New function.
45460         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
45461         argument.
45462         (str_cd_iconveh): Update.
45463         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
45464         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
45465         * tests/test-striconveh.c (MAGIC): New macro.
45466         (new_offsets): New function.
45467         (main): Test call with and without offsets.
45468
45469 2007-01-22  Bruno Haible  <bruno@clisp.org>
45470
45471         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
45472         * modules/sys_select (Makefile.am): Likewise.
45473         * modules/sys_socket (Makefile.am): Likewise.
45474         * modules/sys_time (Makefile.am): Likewise.
45475
45476 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
45477
45478         * modules/gettimeofday (License): Change from GPL to LGPL, since
45479         gettimeofday is a library function.
45480
45481 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45482
45483         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
45484
45485 2007-01-21  Bruno Haible  <bruno@clisp.org>
45486
45487         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
45488
45489 2007-01-21  Bruno Haible  <bruno@clisp.org>
45490
45491         * modules/striconveha: New file.
45492         * lib/striconveha.h: New file.
45493         * lib/striconveha.c: New file.
45494         * MODULES.html.sh (Internationalization functions): Add striconveha.
45495         * lib/striconv.c (str_iconv): Optimize the case of an empty input
45496         string.
45497         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
45498
45499 2007-01-21  Bruno Haible  <bruno@clisp.org>
45500
45501         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
45502         * lib/striconveh.c (str_iconveh): Likewise.
45503
45504 2007-01-21  Bruno Haible  <bruno@clisp.org>
45505
45506         * lib/striconveh.h (mem_iconveh): New declaration.
45507         * lib/striconveh.c (mem_iconveh): New function.
45508         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
45509
45510 2007-01-21  Bruno Haible  <bruno@clisp.org>
45511
45512         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
45513
45514         * lib/striconveh.h (mem_cd_iconveh): Change specification.
45515         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
45516         original result buffer.
45517         (str_cd_iconveh): Update.
45518         * tests/test-striconveh.c (main): Update.
45519
45520         * lib/striconv.h (mem_cd_iconv): Change specification.
45521         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
45522         result buffer.
45523         (str_cd_iconv): Update.
45524         * tests/test-striconv.c (main): Update.
45525
45526 2007-01-21  Bruno Haible  <bruno@clisp.org>
45527
45528         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
45529
45530 2007-01-20  Jim Meyering  <jim@meyering.net>
45531
45532         * lib/userspec.c (parse_with_separator): If a user or group string
45533         starts with "+", skip the corresponding name-to-ID look-up, since
45534         such a look-up must fail: user and group names may not include "+".
45535
45536 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
45537
45538         * lib/poll.c: Include sys/time.h and time.h unconditionally,
45539         since we now assume the sys_time module.
45540         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
45541         check for sys/time.h; no longer needed.
45542         * modules/poll (Depends-on): Depend on sys_time.
45543
45544 2007-01-18  Bruno Haible  <bruno@clisp.org>
45545
45546         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
45547         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
45548
45549         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
45550         gettimeofday.
45551
45552         * tests/test-gettimeofday.c: Include <time.h>.
45553         (dummy): Remove variable.
45554
45555         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
45556         gl_HEADER_SYS_TIME_H.
45557         (gl_HEADER_SYS_TIME_H): New macro.
45558
45559         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
45560         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45561         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
45562         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
45563         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45564         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
45565         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
45566         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45567         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
45568         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
45569         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45570
45571         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
45572         last change; it caused a compilation error when cross-compiling to
45573         Cygwin.
45574
45575 2007-01-18  Jim Meyering  <jim@meyering.net>
45576
45577         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
45578         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
45579         than the race-prone "test -d sys || mkdir sys".
45580         (configure.ac): Use AC_PROG_MKDIR_P.
45581         * modules/sys_select: Likewise.
45582         * modules/sys_socket: Likewise.
45583         * modules/sys_time: Likewise.
45584
45585 2007-01-18  Eric Blake  <ebb9@byu.net>
45586
45587         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
45588         replace gettimeofday.
45589         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
45590         name, to avoid infinite recursion.
45591
45592 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
45593
45594         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
45595         module sys_time.
45596         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
45597         assume timespec.h defines struct timeval.
45598         * lib/settime.c: Likewise.
45599         * lib/utimens.c: Likewise.
45600         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
45601         since we now assume the gettimeofday module.
45602         * lib/tempname.c (__gen_tempname): Likewise.
45603         * lib/gettimeofday.h: Remove.
45604         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
45605         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
45606         Include <time.h>, for 'time()'.
45607         (localtime_buffer_addr): Also use this workaround if
45608         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
45609         to simplify the uses.  All uses changed.
45610         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
45611         that #undef is inside {}, and 'const' follows type name consistently.
45612         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
45613         (gettimeofday): Do not use the maximum possible value for
45614         tv->tv_usec, since that might break usages other than ls.c.
45615         Instead, we'll leave ls.c alone.  This undoes today's patch
45616         by Bruno.  Add a compile-time warning for 1s-clock resolution;
45617         we've never observed the problem but might as well keep the
45618         canary.
45619         * lib/nanosleep.c: Include timespec.h first, for interface check.
45620         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
45621         now assume the sys_time module.
45622         * lib/tempname.c: Likewise.
45623         * lib/timespec.h: Likewise.
45624         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
45625         needed.
45626         * lib/strftime.c: Likewise.
45627         * lib/timespec.h: Likewise.
45628         * lib/posixtm.c: Include posixtm.h first, for interface check.
45629         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
45630         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
45631         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
45632         * lib/sys_time_.h: New file.
45633         * lib/timespec.h (struct timespec): Use long int, not long.
45634         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
45635         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
45636         Remove obsolescent call to AC_HEADER_TIME.
45637         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
45638         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
45639         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
45640         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
45641         Likewise.
45642         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
45643         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
45644         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
45645         into the sys_time module.  Check for gettimeofday just once.
45646         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
45647         for gettimeofday signature to just check the signature.  Merely
45648         compile it, since linking doesn't test signature.  Improve test for
45649         whether gettimeofday.o is actually needed.
45650         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
45651         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
45652         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
45653         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45654         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
45655         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
45656         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
45657         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
45658         than worrying about sys/time.h.
45659         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
45660         Don't bother worrying about TIME_WITH_SYS_TIME.
45661         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45662         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
45663         * m4/sys_time_h.m4: New file.
45664         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
45665         Don't include sys/time.h.  Return from main rather than exiting.
45666         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
45667         all uses changed.
45668         * modules/gethrxtime (Depends-on): Add sys_time.
45669         * modules/gettime (Depends-on): Likewise.
45670         * modules/gettimeofday (Depends-on): Likewise.
45671         * modules/nanosleep (Depends-on): Likewise.
45672         * modules/settime (Depends-on): Likewise.
45673         * modules/tempname (Depends-on): Likewise.
45674         * modules/utimens (Depends-on): Likewise.
45675         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
45676         (Include:) Change back to <sys/time.h>.
45677         (Maintainer:) Add self.
45678         * modules/sys_time: New file.
45679         * modules/tempname (Depends-on): Add gettimeofday.
45680         * tests/test-gettimeofday.c: Include <sys/time.h>
45681         rather than gettimeofday.h.
45682
45683 2007-01-17  Bruno Haible  <bruno@clisp.org>
45684
45685         * gnulib-tool (func_get_license): Revert last patch. Instead, let
45686         the license default to GPL.
45687         (func_create_testdir): Don't complain if a module is LGPL and its
45688         tests module depends on GPLed modules.
45689
45690 2007-01-17  Bruno Haible  <bruno@clisp.org>
45691
45692         * lib/gettimeofday.c (gettimeofday): Add code for the case
45693         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
45694         maximum possible value for tv->tv_usec, rather than the minimum one.
45695
45696 2005-10-08  Martin Lambers  <marlam@marlam.de>
45697 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
45698 2007-01-16  Bruno Haible  <bruno@clisp.org>
45699
45700         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
45701         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
45702         gl_FUNC_GETTIMEOFDAY.
45703         (Include): Add gettimeofday.h.
45704         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
45705         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
45706         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
45707         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
45708         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
45709         * lib/gettimeofday.h: New file.
45710         * lib/gettimeofday.c: Include <sys/timeb.h>.
45711         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
45712         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
45713         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
45714         fall back on time().
45715
45716         * tests/test-gettimeofday.c: New file.
45717         * modules/gettimeofday-tests: New file.
45718
45719 2007-01-16  Eric Blake  <ebb9@byu.net>
45720
45721         * modules/fnmatch (Depends-on): Depend on wchar.
45722         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
45723         * m4/fnmatch.m4: Likewise.
45724         * modules/mbchar (Makefile.am): Assume <wchar.h>.
45725         * m4/mbchar.m4: Likewise.
45726         * modules/mbswidth (Depends-on): Depend on wchar.
45727         * lib/mbswidth.c: Assume <wchar.h>.
45728         * m4/mbswidth.m4: Likewise.
45729         * modules/quotearg (Depends-on): Depend on wchar.
45730         * lib/quotearg.c: Assume <wchar.h>.
45731         * m4/quotearg.m4: Likewise.
45732         * modules/regex (Depends-on): Depend on wchar.
45733         * lib/regex_internal.h: Assume <wchar.h>.
45734         * m4/regex.m4: Likewise.
45735         * modules/stdint (Depends-on): Depend on wchar.
45736         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
45737         * m4/stdint.m4: Likewise.
45738         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
45739         * modules/strftime (Depends-on): Depend on wchar.
45740         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
45741         * modules/strtol (Depends-on): Depend on wchar.
45742         * lib/strtol.c: Assume <wchar.h>.
45743         * modules/wcwidth (Depends-on): Depend on wchar.
45744         * lib/wcwidth.h: Assume <wchar.h>.
45745         * m4/wcwidth.m4: Likewise.
45746
45747 2007-01-16  Bruno Haible  <bruno@clisp.org>
45748
45749         * modules/csharpexec-script: New, created from...
45750         * modules/csharpexec: ... this.
45751
45752 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
45753
45754         * modules/javaexec-script: New, created from...
45755         * modules/javaexec: ... this.
45756
45757 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
45758
45759         * modules/poll (Dependencies): Add sys_select.
45760
45761 2007-01-15  Jim Meyering  <jim@meyering.net>
45762
45763         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
45764         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
45765         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
45766         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
45767
45768 2007-01-15  Bruno Haible  <bruno@clisp.org>
45769
45770         * modules/striconveh: New file.
45771         * lib/striconveh.h: New file.
45772         * lib/striconveh.c: New file.
45773         * MODULES.html.sh (Internationalization functions): Add striconveh.
45774
45775         * modules/striconveh-tests: New file.
45776         * tests/test-striconveh.c: New file.
45777
45778 2007-01-15  Bruno Haible  <bruno@clisp.org>
45779
45780         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
45781         not from GNU libiconv or GNU libc.
45782
45783 2007-01-15  Bruno Haible  <bruno@clisp.org>
45784
45785         * doc/gnulib-intro.texi (Copyright): Explain the different license
45786         terms for module descriptions, autoconf macros, tests, documentation.
45787
45788 2007-01-14  Bruno Haible  <bruno@clisp.org>
45789
45790         * modules/striconv-tests: New file.
45791         * tests/test-striconv.c: New file.
45792
45793 2007-01-14  Bruno Haible  <bruno@clisp.org>
45794
45795         * modules/iconv-tests: New file.
45796         * tests/test-iconv.c: New file.
45797
45798 2007-01-14  Bruno Haible  <bruno@clisp.org>
45799
45800         * gnulib-tool (func_get_license): For test modules, use the license of
45801         the main module.
45802
45803 2007-01-14  Bruno Haible  <bruno@clisp.org>
45804
45805         * modules/iconv (Include): Clarify that <iconv.h> can only be included
45806         if iconv is found to exist.
45807
45808 2007-01-14  Bruno Haible  <bruno@clisp.org>
45809
45810         * modules/c-ctype-tests: New file.
45811         * tests/test-c-ctype.c: New file.
45812
45813 2007-01-14  Bruno Haible  <bruno@clisp.org>
45814
45815         * modules/binary-io-tests: New file.
45816         * tests/test-binary-io.sh: New file.
45817         * tests/test-binary-io.c: New file.
45818
45819 2007-01-14  Bruno Haible  <bruno@clisp.org>
45820
45821         * modules/array-oset-tests: New file.
45822         * tests/test-array_oset.c: New file.
45823
45824 2007-01-14  Bruno Haible  <bruno@clisp.org>
45825
45826         * modules/array-list-tests: New file.
45827         * tests/test-array_list.c: New file.
45828
45829 2007-01-14  Bruno Haible  <bruno@clisp.org>
45830
45831         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
45832         and make.
45833         Reported by Simon Josefsson in
45834         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
45835
45836 2007-01-14  Bruno Haible  <bruno@clisp.org>
45837
45838         * modules/allocsa-tests: New file.
45839         * tests/test-allocsa.c: New file.
45840
45841 2007-01-14  Bruno Haible  <bruno@clisp.org>
45842
45843         * modules/fchdir (Depends-on): Add absolute-header.
45844         * modules/unistd (Depends-on): Likewise.
45845
45846 2006-12-30  Bruno Haible  <bruno@clisp.org>
45847
45848         * modules/fchdir: New file.
45849         * modules/unistd (Files): Add lib/unistd_.h.
45850         (Makefile.am): Generate unistd.h from unistd_.h.
45851         * lib/fchdir.c: New file.
45852         * lib/dirent_.h: New file.
45853         * lib/unistd_.h: New file.
45854         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
45855         * m4/fchdir.m4: New file.
45856         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
45857         (gl_HEADER_UNISTD): Invoke it.
45858         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
45859         function.
45860         * lib/backupfile.c (opendir, closedir): Undefine.
45861         * lib/chown.c (open, close): Undefine.
45862         * lib/clean-temp.c (open, close): Undefine.
45863         * lib/copy-file.c (open, close): Undefine.
45864         * lib/execute.c (open, close): Undefine.
45865         * lib/fsusage.c (open, close): Undefine.
45866         * lib/gc-gnulib.c (open, close): Undefine.
45867         * lib/getcwd.c (opendir, closedir): Undefine.
45868         * lib/glob.c (opendir, closedir): Undefine.
45869         * lib/javacomp.c (open, close): Undefine.
45870         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
45871         * lib/openat-proc.c (open, close): Undefine.
45872         * lib/pagealign_alloc.c (open, close): Undefine.
45873         * lib/pipe.c (open, close): Undefine.
45874         * lib/progreloc.c (open, close): Undefine.
45875         * lib/savedir.c (opendir, closedir): Undefine.
45876         * lib/utime.c (open, close): Undefine.
45877         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
45878
45879 2007-01-10  Bruno Haible  <bruno@clisp.org>
45880
45881         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
45882
45883 2007-01-12  Eric Blake  <ebb9@byu.net>
45884
45885         Provide a robust <wchar.h>.  Further simplifications are now
45886         possible in other modules, but not included here.
45887         * modules/wchar: New module.
45888         * m4/wchar.m4: New file.
45889         * lib/wchar_.h: Likewise.
45890         * modules/mbchar (Depends-on): Depend on wchar, as the first use
45891         of the new module.
45892         * MODULES.html.sh (Extended multibyte and wide character utilities):
45893         New section.
45894
45895 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
45896
45897         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
45898         to a reasonable default for memory allocation.
45899         (xreadlink): Don't allocate a huge buffer, to work around a buggy
45900         file system that reports garbage st_size values for symlinks.
45901         Problem reported by Liyang Hu.
45902
45903 2007-01-11  Simon Josefsson  <simon@josefsson.org>
45904
45905         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
45906         Emacs .#* auto-save files).
45907
45908 2007-01-11  Bruno Haible  <bruno@clisp.org>
45909
45910         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
45911         directory.
45912
45913 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
45914
45915         Use @...@ consistently in lib/wctype_.h.
45916         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
45917         on it being set to 1 or 0.
45918         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
45919         go back to AC_SUBSTing it.
45920         * modules/wctype (Makefile.am): Undo previous change.
45921
45922 2007-01-10  Eric Blake  <ebb9@byu.net>
45923
45924         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
45925         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
45926         * modules/wctype (Makefile.am): Likewise.
45927         Reported by Chris McGuire.
45928
45929 2007-01-10  Jim Meyering  <jim@meyering.net>
45930
45931         fts.c: a small readability/maintainability improvement
45932         * lib/fts.c (fts_read): Make this code slightly more readable and
45933         maintainable by hoisting the "sp->fts_cur = p" assignments to
45934         immediately follow the statements that set P.  Derived from
45935         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
45936
45937 2007-01-10  Eric Blake  <ebb9@byu.net>
45938
45939         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
45940         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
45941         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
45942         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
45943         Reported by Chris McGuire.
45944
45945 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45946
45947         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
45948         in sed script.
45949
45950 2007-01-09  Bruno Haible  <bruno@clisp.org>
45951
45952         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
45953         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
45954         variables.
45955         (func_module): Use them.
45956
45957 2007-01-09  Bruno Haible  <bruno@clisp.org>
45958
45959         * modules/unistr/base: New file.
45960         * lib/unistr.h: New file.
45961
45962         * modules/unistr/u8-to-u16: New file.
45963         * lib/unistr/u8-to-u16.c: New file.
45964
45965         * modules/unistr/u8-to-u32: New file.
45966         * lib/unistr/u8-to-u32.c: New file.
45967
45968         * modules/unistr/u16-to-u8: New file.
45969         * lib/unistr/u16-to-u8.c: New file.
45970
45971         * modules/unistr/u16-to-u32: New file.
45972         * lib/unistr/u16-to-u32.c: New file.
45973
45974         * modules/unistr/u32-to-u8: New file.
45975         * lib/unistr/u32-to-u8.c: New file.
45976
45977         * modules/unistr/u32-to-u16: New file.
45978         * lib/unistr/u32-to-u16.c: New file.
45979
45980         * modules/unistr/u8-check: New file.
45981         * modules/unistr/u16-check: New file.
45982         * modules/unistr/u32-check: New file.
45983         * lib/unistr/u8-check.c: New file.
45984         * lib/unistr/u16-check.c: New file.
45985         * lib/unistr/u32-check.c: New file.
45986
45987         * modules/unistr/u8-chr: New file.
45988         * modules/unistr/u16-chr: New file.
45989         * modules/unistr/u32-chr: New file.
45990         * lib/unistr/u8-chr.c: New file.
45991         * lib/unistr/u16-chr.c: New file.
45992         * lib/unistr/u32-chr.c: New file.
45993
45994         * modules/unistr/u8-cmp: New file.
45995         * modules/unistr/u16-cmp: New file.
45996         * modules/unistr/u32-cmp: New file.
45997         * lib/unistr/u8-cmp.c: New file.
45998         * lib/unistr/u16-cmp.c: New file.
45999         * lib/unistr/u32-cmp.c: New file.
46000
46001         * modules/unistr/u8-cpy: New file.
46002         * modules/unistr/u16-cpy: New file.
46003         * modules/unistr/u32-cpy: New file.
46004         * lib/unistr/u8-cpy.c: New file.
46005         * lib/unistr/u16-cpy.c: New file.
46006         * lib/unistr/u32-cpy.c: New file.
46007         * lib/unistr/u-cpy.h: New file.
46008
46009         * modules/unistr/u8-cpy-alloc: New file.
46010         * modules/unistr/u16-cpy-alloc: New file.
46011         * modules/unistr/u32-cpy-alloc: New file.
46012         * lib/unistr/u8-cpy-alloc.c: New file.
46013         * lib/unistr/u16-cpy-alloc.c: New file.
46014         * lib/unistr/u32-cpy-alloc.c: New file.
46015         * lib/unistr/u-cpy-alloc.h: New file.
46016
46017         * modules/unistr/u8-endswith: New file.
46018         * modules/unistr/u16-endswith: New file.
46019         * modules/unistr/u32-endswith: New file.
46020         * lib/unistr/u8-endswith.c: New file.
46021         * lib/unistr/u16-endswith.c: New file.
46022         * lib/unistr/u32-endswith.c: New file.
46023         * lib/unistr/u-endswith.h: New file.
46024
46025         * modules/unistr/u8-mblen: New file.
46026         * modules/unistr/u16-mblen: New file.
46027         * modules/unistr/u32-mblen: New file.
46028         * lib/unistr/u8-mblen.c: New file.
46029         * lib/unistr/u16-mblen.c: New file.
46030         * lib/unistr/u32-mblen.c: New file.
46031
46032         * modules/unistr/u8-mbtouc: New file.
46033         * modules/unistr/u16-mbtouc: New file.
46034         * modules/unistr/u32-mbtouc: New file.
46035         * lib/unistr/u8-mbtouc.c: New file.
46036         * lib/unistr/u16-mbtouc.c: New file.
46037         * lib/unistr/u32-mbtouc.c: New file.
46038
46039         * modules/unistr/u8-mbtouc-safe: New file.
46040         * modules/unistr/u16-mbtouc-safe: New file.
46041         * modules/unistr/u32-mbtouc-safe: New file.
46042         * lib/unistr/u8-mbtouc-safe.c: New file.
46043         * lib/unistr/u16-mbtouc-safe.c: New file.
46044         * lib/unistr/u32-mbtouc-safe.c: New file.
46045
46046         * modules/unistr/u8-move: New file.
46047         * modules/unistr/u16-move: New file.
46048         * modules/unistr/u32-move: New file.
46049         * lib/unistr/u8-move.c: New file.
46050         * lib/unistr/u16-move.c: New file.
46051         * lib/unistr/u32-move.c: New file.
46052         * lib/unistr/u-move.h: New file.
46053
46054         * modules/unistr/u8-next: New file.
46055         * modules/unistr/u16-next: New file.
46056         * modules/unistr/u32-next: New file.
46057         * lib/unistr/u8-next.c: New file.
46058         * lib/unistr/u16-next.c: New file.
46059         * lib/unistr/u32-next.c: New file.
46060
46061         * modules/unistr/u8-prev: New file.
46062         * modules/unistr/u16-prev: New file.
46063         * modules/unistr/u32-prev: New file.
46064         * lib/unistr/u8-prev.c: New file.
46065         * lib/unistr/u16-prev.c: New file.
46066         * lib/unistr/u32-prev.c: New file.
46067
46068         * modules/unistr/u8-set: New file.
46069         * modules/unistr/u16-set: New file.
46070         * modules/unistr/u32-set: New file.
46071         * lib/unistr/u8-set.c: New file.
46072         * lib/unistr/u16-set.c: New file.
46073         * lib/unistr/u32-set.c: New file.
46074         * lib/unistr/u-set.h: New file.
46075
46076         * modules/unistr/u8-startswith: New file.
46077         * modules/unistr/u16-startswith: New file.
46078         * modules/unistr/u32-startswith: New file.
46079         * lib/unistr/u8-startswith.c: New file.
46080         * lib/unistr/u16-startswith.c: New file.
46081         * lib/unistr/u32-startswith.c: New file.
46082         * lib/unistr/u-startswith.h: New file.
46083
46084         * modules/unistr/u8-stpcpy: New file.
46085         * modules/unistr/u16-stpcpy: New file.
46086         * modules/unistr/u32-stpcpy: New file.
46087         * lib/unistr/u8-stpcpy.c: New file.
46088         * lib/unistr/u16-stpcpy.c: New file.
46089         * lib/unistr/u32-stpcpy.c: New file.
46090         * lib/unistr/u-stpcpy.h: New file.
46091
46092         * modules/unistr/u8-stpncpy: New file.
46093         * modules/unistr/u16-stpncpy: New file.
46094         * modules/unistr/u32-stpncpy: New file.
46095         * lib/unistr/u8-stpncpy.c: New file.
46096         * lib/unistr/u16-stpncpy.c: New file.
46097         * lib/unistr/u32-stpncpy.c: New file.
46098         * lib/unistr/u-stpncpy.h: New file.
46099
46100         * modules/unistr/u8-strcat: New file.
46101         * modules/unistr/u16-strcat: New file.
46102         * modules/unistr/u32-strcat: New file.
46103         * lib/unistr/u8-strcat.c: New file.
46104         * lib/unistr/u16-strcat.c: New file.
46105         * lib/unistr/u32-strcat.c: New file.
46106         * lib/unistr/u-strcat.h: New file.
46107
46108         * modules/unistr/u8-strchr: New file.
46109         * modules/unistr/u16-strchr: New file.
46110         * modules/unistr/u32-strchr: New file.
46111         * lib/unistr/u8-strchr.c: New file.
46112         * lib/unistr/u16-strchr.c: New file.
46113         * lib/unistr/u32-strchr.c: New file.
46114
46115         * modules/unistr/u8-strcmp: New file.
46116         * modules/unistr/u16-strcmp: New file.
46117         * modules/unistr/u32-strcmp: New file.
46118         * lib/unistr/u8-strcmp.c: New file.
46119         * lib/unistr/u16-strcmp.c: New file.
46120         * lib/unistr/u32-strcmp.c: New file.
46121
46122         * modules/unistr/u8-strcpy: New file.
46123         * modules/unistr/u16-strcpy: New file.
46124         * modules/unistr/u32-strcpy: New file.
46125         * lib/unistr/u8-strcpy.c: New file.
46126         * lib/unistr/u16-strcpy.c: New file.
46127         * lib/unistr/u32-strcpy.c: New file.
46128         * lib/unistr/u-strcpy.h: New file.
46129
46130         * modules/unistr/u8-strcspn: New file.
46131         * modules/unistr/u16-strcspn: New file.
46132         * modules/unistr/u32-strcspn: New file.
46133         * lib/unistr/u8-strcspn.c: New file.
46134         * lib/unistr/u16-strcspn.c: New file.
46135         * lib/unistr/u32-strcspn.c: New file.
46136         * lib/unistr/u-strcspn.h: New file.
46137
46138         * modules/unistr/u8-strdup: New file.
46139         * modules/unistr/u16-strdup: New file.
46140         * modules/unistr/u32-strdup: New file.
46141         * lib/unistr/u8-strdup.c: New file.
46142         * lib/unistr/u16-strdup.c: New file.
46143         * lib/unistr/u32-strdup.c: New file.
46144         * lib/unistr/u-strdup.h: New file.
46145
46146         * modules/unistr/u8-strlen: New file.
46147         * modules/unistr/u16-strlen: New file.
46148         * modules/unistr/u32-strlen: New file.
46149         * lib/unistr/u8-strlen.c: New file.
46150         * lib/unistr/u16-strlen.c: New file.
46151         * lib/unistr/u32-strlen.c: New file.
46152         * lib/unistr/u-strlen.h: New file.
46153
46154         * modules/unistr/u8-strmblen: New file.
46155         * modules/unistr/u16-strmblen: New file.
46156         * modules/unistr/u32-strmblen: New file.
46157         * lib/unistr/u8-strmblen.c: New file.
46158         * lib/unistr/u16-strmblen.c: New file.
46159         * lib/unistr/u32-strmblen.c: New file.
46160
46161         * modules/unistr/u8-strmbtouc: New file.
46162         * modules/unistr/u16-strmbtouc: New file.
46163         * modules/unistr/u32-strmbtouc: New file.
46164         * lib/unistr/u8-strmbtouc.c: New file.
46165         * lib/unistr/u16-strmbtouc.c: New file.
46166         * lib/unistr/u32-strmbtouc.c: New file.
46167
46168         * modules/unistr/u8-strncat: New file.
46169         * modules/unistr/u16-strncat: New file.
46170         * modules/unistr/u32-strncat: New file.
46171         * lib/unistr/u8-strncat.c: New file.
46172         * lib/unistr/u16-strncat.c: New file.
46173         * lib/unistr/u32-strncat.c: New file.
46174         * lib/unistr/u-strncat.h: New file.
46175
46176         * modules/unistr/u8-strncmp: New file.
46177         * modules/unistr/u16-strncmp: New file.
46178         * modules/unistr/u32-strncmp: New file.
46179         * lib/unistr/u8-strncmp.c: New file.
46180         * lib/unistr/u16-strncmp.c: New file.
46181         * lib/unistr/u32-strncmp.c: New file.
46182
46183         * modules/unistr/u8-strncpy: New file.
46184         * modules/unistr/u16-strncpy: New file.
46185         * modules/unistr/u32-strncpy: New file.
46186         * lib/unistr/u8-strncpy.c: New file.
46187         * lib/unistr/u16-strncpy.c: New file.
46188         * lib/unistr/u32-strncpy.c: New file.
46189         * lib/unistr/u-strncpy.h: New file.
46190
46191         * modules/unistr/u8-strnlen: New file.
46192         * modules/unistr/u16-strnlen: New file.
46193         * modules/unistr/u32-strnlen: New file.
46194         * lib/unistr/u8-strnlen.c: New file.
46195         * lib/unistr/u16-strnlen.c: New file.
46196         * lib/unistr/u32-strnlen.c: New file.
46197         * lib/unistr/u-strnlen.h: New file.
46198
46199         * modules/unistr/u8-strpbrk: New file.
46200         * modules/unistr/u16-strpbrk: New file.
46201         * modules/unistr/u32-strpbrk: New file.
46202         * lib/unistr/u8-strpbrk.c: New file.
46203         * lib/unistr/u16-strpbrk.c: New file.
46204         * lib/unistr/u32-strpbrk.c: New file.
46205         * lib/unistr/u-strpbrk.h: New file.
46206
46207         * modules/unistr/u8-strrchr: New file.
46208         * modules/unistr/u16-strrchr: New file.
46209         * modules/unistr/u32-strrchr: New file.
46210         * lib/unistr/u8-strrchr.c: New file.
46211         * lib/unistr/u16-strrchr.c: New file.
46212         * lib/unistr/u32-strrchr.c: New file.
46213
46214         * modules/unistr/u8-strspn: New file.
46215         * modules/unistr/u16-strspn: New file.
46216         * modules/unistr/u32-strspn: New file.
46217         * lib/unistr/u8-strspn.c: New file.
46218         * lib/unistr/u16-strspn.c: New file.
46219         * lib/unistr/u32-strspn.c: New file.
46220         * lib/unistr/u-strspn.h: New file.
46221
46222         * modules/unistr/u8-strstr: New file.
46223         * modules/unistr/u16-strstr: New file.
46224         * modules/unistr/u32-strstr: New file.
46225         * lib/unistr/u8-strstr.c: New file.
46226         * lib/unistr/u16-strstr.c: New file.
46227         * lib/unistr/u32-strstr.c: New file.
46228         * lib/unistr/u-strstr.h: New file.
46229
46230         * modules/unistr/u8-strtok: New file.
46231         * modules/unistr/u16-strtok: New file.
46232         * modules/unistr/u32-strtok: New file.
46233         * lib/unistr/u8-strtok.c: New file.
46234         * lib/unistr/u16-strtok.c: New file.
46235         * lib/unistr/u32-strtok.c: New file.
46236         * lib/unistr/u-strtok.h: New file.
46237
46238         * modules/unistr/u8-uctomb: New file.
46239         * modules/unistr/u16-uctomb: New file.
46240         * modules/unistr/u32-uctomb: New file.
46241         * lib/unistr/u8-uctomb.c: New file.
46242         * lib/unistr/u16-uctomb.c: New file.
46243         * lib/unistr/u32-uctomb.c: New file.
46244
46245         * MODULES.html.sh (Unicode string functions): Add the new modules.
46246
46247 2007-01-08  Bruno Haible  <bruno@clisp.org>
46248
46249         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
46250         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
46251         subdirectories.
46252
46253 2007-01-08  Karl Berry  <karl@gnu.org>
46254
46255         * doc/error.texi: mention that main() fns must set program_name
46256         when progname is used.
46257
46258 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
46259
46260         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
46261         WCTYPE_H is empty, for the benefit of builds from non-distclean
46262         directories.  Problem reported by Eric Blake in
46263         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
46264
46265 2007-01-08  Bruno Haible  <bruno@clisp.org>
46266
46267         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
46268         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
46269         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
46270         PROVIDE_CANONICALIZE_FILENAME_MODE.
46271         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
46272
46273 2007-01-08  Bruno Haible  <bruno@clisp.org>
46274
46275         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
46276         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
46277         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
46278         * lib/fts.c: Likewise.
46279         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
46280
46281 2006-12-25  Bruno Haible  <bruno@clisp.org>
46282
46283         * modules/utf8-ucs4-safe: New file.
46284         * lib/utf8-ucs4-safe.h: New file.
46285         * lib/unistr/utf8-ucs4-safe.c: New file.
46286
46287         * modules/utf16-ucs4-safe: New file.
46288         * lib/utf16-ucs4-safe.h: New file.
46289         * lib/unistr/utf16-ucs4-safe.c: New file.
46290
46291         * MODULES.html.sh (Unicode string functions): Add the new modules.
46292
46293 2007-01-08  Bruno Haible  <bruno@clisp.org>
46294
46295         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
46296         (Depends-on): Add unitypes.
46297         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
46298         (u8_mbtouc_aux): Move out to separate file.
46299         (u8_mbtouc): Use ucs4_t, uint8_t types.
46300         * lib/unistr/utf8-ucs4.c: New file.
46301
46302         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
46303         (Depends-on): Add unitypes.
46304         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
46305         (u16_mbtouc_aux): Move out to separate file.
46306         (u16_mbtouc): Use ucs4_t, uint16_t types.
46307         * lib/unistr/utf16-ucs4.c: New file.
46308
46309         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
46310         (Depends-on): Add unitypes.
46311         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
46312         (u8_uctomb_aux): Move out to separate file.
46313         (u8_uctomb): Use ucs4_t, uint8_t types.
46314         * lib/unistr/ucs4-utf8.c: New file.
46315
46316         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
46317         (Depends-on): Add unitypes.
46318         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
46319         (u16_uctomb_aux): Move out to separate file.
46320         (u16_uctomb): Use ucs4_t, uint16_t types.
46321         * lib/unistr/ucs4-utf16.c: New file.
46322
46323 2006-12-25  Bruno Haible  <bruno@clisp.org>
46324
46325         * modules/unitypes: New file.
46326         * lib/unitypes.h: New file.
46327         * MODULES.html.sh (func_all_modules): New section "Unicode string
46328         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
46329         this section. Add unitypes.
46330
46331 2007-01-08  Bruno Haible  <bruno@clisp.org>
46332
46333         Avoid variable names that conflict with those from libtool.
46334         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
46335         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
46336         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
46337         library_names_spec to acl_library_names_spec, hardcode_* to
46338         acl_hardcode_*.
46339         Reported by Ralf Wildenhues.
46340
46341 2007-01-08  Bruno Haible  <bruno@clisp.org>
46342
46343         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
46344         definition.
46345         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
46346         definition.
46347         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
46348         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
46349         definition.
46350         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
46351         definition.
46352         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
46353         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
46354         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
46355         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
46356         definition.
46357         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
46358         definition.
46359         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
46360         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
46361         GC_USE_<algorithm>.
46362         * lib/gc-libgcrypt.c: Likewise.
46363         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
46364         * modules/gc-arctwo (configure.ac): Likewise.
46365         * modules/gc-des (configure.ac): Likewise.
46366         * modules/gc-hmac-md5 (configure.ac): Likewise.
46367         * modules/gc-hmac-sha1 (configure.ac): Likewise.
46368         * modules/gc-md2 (configure.ac): Likewise.
46369         * modules/gc-md4 (configure.ac): Likewise.
46370         * modules/gc-md5 (configure.ac): Likewise.
46371         * modules/gc-random (configure.ac): Likewise.
46372         * modules/gc-rijndael (configure.ac): Likewise.
46373         * modules/gc-sha1 (configure.ac): Likewise.
46374
46375 2007-01-08  Bruno Haible  <bruno@clisp.org>
46376
46377         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
46378         macro definition.
46379         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
46380         definition.
46381         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
46382         definition.
46383         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
46384         * modules/fcntl-safer (configure.ac): Likewise.
46385         * modules/fopen-safer (configure.ac): Likewise.
46386         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
46387         GNULIB_FWRITEERROR macro definition.
46388
46389 2007-01-08  Bruno Haible  <bruno@clisp.org>
46390
46391         * m4/gnulib-common.m4: New file.
46392         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
46393         (func_get_filelist): Add m4/gnulib-common.m4.
46394
46395 2007-01-08  Bruno Haible  <bruno@clisp.org>
46396
46397         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
46398         command.
46399
46400 2007-01-08  Jim Meyering  <jim@meyering.net>
46401
46402         Use a more robust test for a "can't happen" condition.
46403         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
46404         narrowed the st_size value.  Presuming the "can't happen" condition
46405         is true, that narrowing could conceivably convert an invalid st_size
46406         value into a valid one.  Instead, use a change based on Matthew
46407         Woehlke's original patch.
46408
46409         Slight readability improvement: use an assert-like macro
46410         in place of literal "abort ()" uses.
46411         * lib/fts.c (fts_assert): Define.
46412         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
46413         Use this macro instead of a bare 'abort'.
46414
46415 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
46416
46417         Don't worry about using IRIX 5.3's wctype.h broken definitions;
46418         simply work around them.
46419         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
46420         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
46421         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
46422         declaring.
46423         Don't bother to define as macros, since the standard doesn't require it.
46424         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
46425         longer worry about IRIX 5.3.
46426         (HAVE_WCTYPE_CTMP_BUG): Remove.
46427
46428 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
46429
46430         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
46431         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
46432         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
46433         Problems reported by Georg Schwarz for IRIX 5.3.
46434
46435         * gnulib-tool (autoconf_minversion): Take the maximum version number
46436         found, not the minimum.  Problem reported by James Youngman.
46437
46438 2007-01-03  Karl Berry  <karl@gnu.org>
46439
46440         * doc/error.texi: new file, explaining interaction with progname.
46441         * doc/gnulib.texi: include it.  Update copyright.
46442
46443 2007-01-03  Simon Josefsson  <simon@josefsson.org>
46444
46445         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
46446         AC_CANONICAL_HOST, to improve autobuild outputs.
46447
46448 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
46449             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
46450
46451         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
46452         sockets, server sockets, and other file descriptors.  Count errors
46453         to compute the return value.  Reorder the code a bit to be easier
46454         to follow.  Don't set event bits that were not requested (except
46455         POLLERR and POLLHUP).
46456
46457 2007-01-01  Bruno Haible  <bruno@clisp.org>
46458
46459         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
46460
46461 2007-01-03  Jim Meyering  <jim@meyering.net>
46462
46463         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
46464
46465 2007-01-02  Bruno Haible  <bruno@clisp.org>
46466
46467         * modules/settime (Include): Require timespec.h.
46468         * modules/nanosleep (Include): Likewise.
46469
46470 2007-01-01  Bruno Haible  <bruno@clisp.org>
46471
46472         * gnulib-tool (func_emit_copyright_notice): Bump year.
46473         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
46474
46475 2007-01-01  Bruno Haible  <bruno@clisp.org>
46476
46477         Improve support for OpenBSD.
46478         * build-aux/config.rpath (libname_spec): Export.
46479         (library_names_spec): New variable. Export.
46480         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
46481         library_names_spec from the config.rpath output. Locate shared library
46482         through the name pattern in library_names_spec.
46483
46484 2007-01-01  Eric Blake  <ebb9@byu.net>
46485
46486         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
46487
46488 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
46489
46490         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
46491         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
46492         assume the C locale, and avoid an "eval" that could cause trouble.
46493         Problem with SORT reported by Bob Proulx.
46494
46495         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
46496         Define.  Trivial patch from Henning Nielsen Lund, originally
46497         sent to bug-grep@gnu.org today.
46498
46499 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
46500
46501         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
46502         struct stat.  Problem reported by Henning Nielsen Lund.
46503         * lib/acl.c: Include acl.h first, to check interface.  Don't
46504         bother to include sys/types.h and sys/stat.h again.
46505
46506 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
46507
46508         Import the following change from libc; problem reported by
46509         Sven Verdoolaege.
46510
46511         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
46512
46513         [BZ #1373]
46514         * lib/argp.h: Remove __NTH for __argp_usage inline function.
46515
46516 2006-12-28  Jim Meyering  <jim@meyering.net>
46517
46518         * build-aux/announce-gen: Do not assume that the package
46519         builds any of tar.gz, tar.bz2, and .xdelta files.
46520         Suggestion from Simon Josefsson.
46521
46522 2006-12-28  Simon Josefsson  <simon@josefsson.org>
46523
46524         * modules/announce-gen: New file.
46525
46526 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
46527
46528         * lib/mbchar.h: Just include <wctype.h>; the wctype module
46529         handles its gotchas now.
46530         * lib/mbswidth.c: Likewise.
46531         * lib/wcwidth.h: Likewise.
46532         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
46533         and iswcntrl; the wctype module does this stuff now.
46534         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
46535         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
46536         * modules/mbchar (Depends-on): Add wctype.
46537         * modules/mbswidth (Depends-on): Likewise.
46538         * modules/wcwidth (Depends-on): Likewise.
46539
46540 2006-12-27  Eric Blake  <ebb9@byu.net>
46541
46542         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
46543         module uses more than what <wctype.h> is required to provide.
46544
46545 2006-12-26  Eric Blake  <ebb9@byu.net>
46546
46547         * gnulib-tool (sed_extract_prog): Avoid space-tab.
46548
46549 2006-12-26  Eric Blake  <ebb9@byu.net>
46550
46551         * modules/absolute-header: New module.
46552         * modules/fcntl (Depends-on): Depend on it.
46553         * modules/inttypes (Depends-on): Likewise.
46554         * modules/stdint (Depends-on): Likewise.
46555         * modules/sys_stat (Depends-on): Likewise.
46556         * modules/wctype (Depends-on): Likewise.
46557         * MODULES.html.sh (Support for building libraries and
46558         executables): Document it.
46559
46560 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
46561
46562         * gnulib-tool (SED): Remove, undoing previous change.
46563         The problem was that it broke coreutils on Solaris, because
46564         "sed --posix" leaked into a makefile.
46565         (sed): New alias, if 'alias' and GNU sed.
46566
46567 2006-12-24  Jim Meyering  <jim@meyering.net>
46568
46569         Work around an fchownat bug in glibc-2.4:
46570         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
46571         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
46572         in spite of the -P option.
46573         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
46574         New macros.
46575         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
46576         * modules/openat (Files): Add lib/fchownat.c.
46577         * lib/openat.c (fchownat): Don't define here.  Move to...
46578         * lib/fchownat.c: ...this new file.
46579
46580 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
46581
46582         Fix bug reported by Bruno Haible in
46583         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
46584         where quotearg.c didn't compile on Mac OS X 10.2 because it
46585         lacks <wchar.h> and wint_t.
46586         * lib/wctype_.h (__wctype_wint_t): New type.
46587         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
46588         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
46589         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
46590         Arg is now of type __wctype_wint_t, not wint_t.
46591         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
46592         substitute HAVE_WINT_T.
46593         * modules/wctype (Files): Add m4/wint_t.m4.
46594         (wctype.h): Substitute HAVE_WINT_T.
46595
46596 2006-12-23  Bruno Haible  <bruno@clisp.org>
46597
46598         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
46599
46600 2006-12-23  Bruno Haible  <bruno@clisp.org>
46601
46602         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
46603         S_ISLNK.
46604         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
46605         mingw.
46606
46607 2006-12-22  Bruno Haible  <bruno@clisp.org>
46608
46609         * lib/copy-file.c: Include acl.h.
46610         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
46611         Close the file descriptors only after being done with copy_acl.
46612         * modules/copy-file (Depends-on): Add acl.
46613
46614 2006-12-22  Bruno Haible  <bruno@clisp.org>
46615
46616         * gnulib-tool (SED): New variable.
46617         Use $SED instead of sed everywhere.
46618
46619 2006-12-22  Bruno Haible  <bruno@clisp.org>
46620
46621         * modules/no-c++: New file.
46622         * m4/no-c++.m4: New file.
46623         * MODULES.html.sh (Support for building libraries and executables):
46624         Add no-c++.
46625
46626 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
46627
46628         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
46629         Include <limits.h>, and use its INT_MAX to rewrite the
46630         j loop so that it does not overflow 'int'.  Problem reported by
46631         Ralf Wildenhues in
46632         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
46633         Play it safe by shifting left by 1 rather than multiplying by 2,
46634         as GCC is less likely to optimize this away when the value
46635         is signed (when it assumes overflow leads to undefined behavior).
46636         Also, don't assume time_t uses two's complement.
46637
46638 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
46639
46640         * MODULES.html.sh: New module wctype.
46641         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
46642         * lib/fnmatch.c: Don't bother to include <wchar.h> before
46643         <wctype.h>, since the new wctype module should fix this.
46644         * lib/quotearg.c: Include <wctype.h> unconditionally, since
46645         the wctype module should arrange for it.
46646         * lib/regex_internal.h: Likewise.
46647         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
46648         since the wctype module should handle this now.
46649         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
46650         * modules/fnmatch (Depends-on): Add wctype.
46651         * modules/quotearg (Depends-on): Likewise.
46652         * modules/regex (Depends-on): Likewise.
46653
46654 2006-12-19  Bruno Haible  <bruno@clisp.org>
46655
46656         * lib/strdup.h [C++]: Wrap definitions in extern "C".
46657         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
46658
46659 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46660
46661         * modules/savewd (Depends-on): Fix dependency on fcntl.
46662
46663 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46664
46665         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
46666         conforms to C99, rather than relying on the user's environment
46667         setting of STDINT_H.
46668
46669 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
46670         and Eric Blake  <ebb9@byu.net>
46671
46672         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
46673         This is more consistent with the other defines here.
46674         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
46675         Port to z/OS.  Problem reported by Paul Gilmartin.
46676         Change local vars to use gl_ prefix rather than ac_.
46677         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
46678         with other defines.
46679         * modules/double-slash-root: New module.
46680         * modules/dirname (Files): Remove m4/double-slash-root.m4.
46681         (Depends-on): Add double-slash-root.
46682         * MODULES.html.sh (File system functions): Mention new module.
46683
46684 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
46685
46686         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
46687         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
46688         This is for the benefit of gzip, which doesn't do i18n.
46689
46690 2006-12-12  Jim Meyering  <jim@meyering.net>
46691
46692         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
46693         Reported by Andreas Schwab <schwab@suse.de>.
46694
46695 2006-12-12  Bruno Haible  <bruno@clisp.org>
46696
46697         Merge these changes.
46698         2006-09-05  Bruno Haible  <bruno@clisp.org>
46699         * lib/iconvme.c (iconv_string): No need to save and restore errno when
46700         iconv_alloc succeeded.
46701         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
46702         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
46703         test for " && dest " at the end - dest is always != NULL there. Call
46704         iconv with 4xNULL arguments initially, to reset the state. Call iconv
46705         with 2xNULL arguments, also to flush the state storage. Handle the
46706         IRIX iconv behaviour. Realloc the final result, to throw away unused
46707         memory.
46708
46709 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
46710
46711         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
46712         and fchmodat unconditionally, since glibc 2.4 has them.
46713         Problem reported by Arkadiusz Miskiewicz.
46714
46715 2006-12-10  Bruno Haible  <bruno@clisp.org>
46716
46717         * gnulib-tool (func_import): Show the include files only for those
46718         modules that are copied and specified.
46719         Reported by Karl Berry.
46720
46721 2006-12-08  Jim Meyering  <jim@meyering.net>
46722
46723         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
46724         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
46725
46726         * build-aux/announce-gen: Add two new options, both optional:
46727         --bootstrap-tools=TOOL_LIST
46728               a comma-separated list of tools, e.g.,
46729               autoconf,automake,bison,gnulib
46730         --gnulib-snapshot-date=DATE
46731               if gnulib is in the bootstrap tool list,
46732               then report this as the snapshot date.
46733               If not specified, use the current date/time.
46734               If you specify a date here, be sure it's UTC.
46735
46736 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46737
46738         * tests/test-argp-2.sh: Fix test to match actual output.
46739         (func_compare): Fix sed script to be portable.
46740
46741 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
46742
46743         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
46744         workaround for this case.  It is not autoconfigured now; offhand
46745         it's hard to see how to autoconfigure it.
46746
46747 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
46748
46749         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
46750         a directory that is about to be chowned.  Such a directory's
46751         initial file permissions should permit the owner only and this
46752         should not be changed until after the chown, since the group and
46753         other bits would be incorrect if they granted permission before
46754         the chown.
46755
46756         Fix porting problem for iswctype reported by Georg Schwarz in:
46757         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
46758         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
46759         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
46760         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
46761         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
46762
46763 2006-12-03  Jim Meyering  <jim@meyering.net>
46764
46765         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
46766         p->fts_statp may not yet be defined.
46767         (fts_read): Instead, set it in the caller, once p->fts_statp is
46768         sure to be defined, and corresponds to a top-level directory.
46769         This bug made du -x fail.  Here's the coreutils test case:
46770         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
46771         Reported by Mike Frysinger.
46772
46773 2006-12-01  Jim Meyering  <jim@meyering.net>
46774
46775         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
46776         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
46777         Reported by Simon Josefsson.
46778
46779 2006-11-30  Jim Meyering  <jim@meyering.net>
46780
46781         * m4/warning.m4: Use the all-permissive copyright notice
46782         recommended by RMS (rather than LGPL).
46783         * m4/vararrays.m4: Likewise.
46784         * m4/flexmember.m4: Likewise.
46785
46786 2006-11-29  Bruno Haible  <bruno@clisp.org>
46787
46788         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
46789         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
46790         using +=.
46791         Reported by Simon Josefsson <simon@josefsson.org>.
46792
46793 2006-11-28  James Youngman <jay@gnu.org>
46794
46795         * README: Advise users that they might find the bug-gnulib@gnu.org
46796         and autotools-announce@gnu.org mailing lists useful.
46797
46798 2006-11-28  Bruno Haible  <bruno@clisp.org>
46799
46800         * m4/ptrdiff_max.m4: Remove file.
46801
46802 2006-11-21  Bruno Haible  <bruno@clisp.org>
46803
46804         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
46805         _AC_COMPUTE_INT.
46806         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
46807         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
46808         _AC_COMPUTE_INT.
46809         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
46810         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
46811         _AC_COMPUTE_INT.
46812         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
46813
46814 2006-11-28  Jim Meyering  <jim@meyering.net>
46815
46816         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
46817         warning from "gcc -Wshadow" about shadowing the builtin.
46818
46819 2006-11-27  Bruno Haible  <bruno@clisp.org>
46820
46821         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
46822         _AC_COMPUTE_INT.
46823         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
46824
46825 2006-11-27  Bruno Haible  <bruno@clisp.org>
46826             Paul Eggert  <eggert@cs.ucla.edu>
46827
46828         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
46829
46830 2006-11-26  Bruno Haible  <bruno@clisp.org>
46831
46832         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
46833         noinst_LTLIBRARIES.
46834
46835 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
46836             Bruno Haible  <bruno@clisp.org>
46837
46838         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
46839         if compiling with "gcc -ansi".
46840
46841 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
46842
46843         Fix some incompatibilities with gcc -ansi -pedantic.
46844         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
46845         if compiling pedantically with GCC, unless it's C99 or later.
46846         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
46847         it mishandles gcc -ansi -pedantic as well.
46848         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
46849         if gcc -pedantic.
46850         * lib/regexec.c (check_node_accept_bytes): Don't use auto
46851         initializers for struct if -pedantic, unless it's C99 or later.
46852
46853 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
46854
46855         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
46856         Don't close an fd more than once. Identical atimes indicate
46857         success, not failure.
46858
46859 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
46860
46861         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
46862
46863 2006-11-23  Jim Meyering  <jim@meyering.net>
46864
46865         * build-aux/announce-gen: New file.  From coreutils.
46866
46867 2006-11-22  Jim Meyering  <jim@meyering.net>
46868
46869         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
46870         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
46871         (fts_read): Use a temporary to narrow the overused st_size member
46872         before using it in a switch statement.  Reported by Matthew Woehlke.
46873
46874         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
46875         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
46876
46877 2006-11-20  Bruno Haible  <bruno@clisp.org>
46878
46879         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
46880         changequote instead of pairs of brackets.
46881         Reported by Andreas Schwab <schwab@suse.de>.
46882
46883 2006-11-21  Jim Meyering  <jim@meyering.net>
46884
46885         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
46886         so as to remain compatible with older compilers.
46887         Patch from Michael Deutschmann.
46888
46889 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
46890
46891         * MODULES.html.sh (File system functions): Add openat.
46892
46893         * lib/openat.h (rpl_fstatat): New macro, if
46894         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
46895         (fstatat): Define to rpl_fstatat under the same conditions,
46896         unless COMPILING_FSTATAT.
46897         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
46898         seems to have the bug.
46899         * lib/fstatat.c: New file.
46900         * modules/openat (Files): Add it.
46901
46902 2006-11-20  Bruno Haible  <bruno@clisp.org>
46903
46904         * Makefile: New file.
46905
46906 2006-11-20  Jim Meyering  <jim@meyering.net>
46907
46908         The beginnings of syntax-related checks for gnulib.
46909         * lib/Makefile: New file.
46910         * lib/t-idcache: New script.  Ensure that the two halves of
46911         idcache.c stay in sync.
46912
46913         * lib/idcache.c: Adjust comments in user- and group- portions to
46914         be more accurate, and to be consistent with one another.
46915
46916 2006-11-20  Jim Meyering  <jim@meyering.net>
46917
46918         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
46919         continue using the flexible array member (thus, this module performs
46920         half as many malloc calls), with the addition that...
46921         (getgroup, getuser): Consistently record a non-match via an empty
46922         "name" string, and map an empty string match to a NULL return value.
46923         * modules/idcache (Depends-on): Re-add flexmember.
46924
46925         * lib/idcache.c (getuser): Remove all uses of the register keyword.
46926         (getuidbyname, getgroup, getgidbyname): Likewise.
46927
46928         Use cleaner syntax: NULL rather than 0.
46929         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
46930
46931 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
46932
46933         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
46934         It mishandled the case where the group was missing.
46935         Problem reported by Greg Schafer.
46936         * modules/idcache: Likewise.
46937
46938 2006-11-18  Jim Meyering  <jim@meyering.net>
46939
46940         * check-module (%exempt_header): Add exception for some
46941         conditionally-included headers.
46942
46943         * modules/i-ring (Depends-on): Add verify.
46944         (License): Change to LGPL.
46945
46946 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
46947
46948         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
46949         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
46950         and inttostr.h.  Use snprintf rather than uinttostr, so that
46951         LGPLed code doesn't depend on GPLed.
46952
46953 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
46954
46955         * modules/inline (License): Change from GPL to LGPL.
46956
46957 2006-11-17  Jim Meyering  <jim@meyering.net>
46958
46959         * modules/d-type (License): Switch to LGPL.
46960
46961 2006-11-15  Bruno Haible  <bruno@clisp.org>
46962
46963         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
46964
46965 2006-11-15  Eric Blake  <ebb9@byu.net>
46966
46967         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
46968         the module dependency.
46969
46970 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
46971             Bruno Haible  <bruno@clisp.org>
46972
46973         * gnulib-tool (func_create_testdir): Add license consistency check.
46974
46975 2006-11-15  Eric Blake  <ebb9@byu.net>
46976
46977         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
46978         random "(cached)" in configure output.
46979
46980 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46981
46982         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
46983         test for conforming inttypes.h is both announced and cached.
46984
46985         * MODULES.html.sh (seen_modules, seen_files): New variables.
46986         (func_module): Rewrite to use a few less gnulib-tool and sed
46987         invocations.  Avoid a couple of quadratic algorithms for ...
46988         (missed_modules, missed_files): ... these, with ...
46989         (func_append, func_tmpdir): ... these new functions, from
46990         gnulib-tool.  Analogously, install traps for cleanup.
46991
46992         * tests/test-gc.c (main): Remove unused variables.
46993         * tests/test-read-file.c: Include stdlib.h, for 'free'.
46994
46995 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
46996
46997         * modules/inttostr (License): Change to LGPL.
46998
46999 2006-11-14  Eric Blake  <ebb9@byu.net>
47000
47001         * modules/tempname (License): Change to LGPL.
47002
47003 2006-11-14  Eric Blake  <ebb9@byu.net>
47004
47005         * doc/functions.texi (Function Portability): *printf functions on
47006         Cygwin now understand all POSIX size specifiers.
47007
47008 2006-11-14  Bruno Haible  <bruno@clisp.org>
47009
47010         * modules/c-ctype (License): Change to LGPL.
47011
47012 2006-11-12  Bruno Haible  <bruno@clisp.org>
47013
47014         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
47015         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
47016         for GNOME libraries, for which the include files are installed in
47017         subdirectories of $prefix/include.
47018
47019 2006-11-12  Bruno Haible  <bruno@clisp.org>
47020
47021         * m4/lib-link.m4: Require at least autoconf-2.54.
47022         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
47023         name to underscores for the --with option.
47024
47025 2006-11-13  Bruno Haible  <bruno@clisp.org>
47026
47027         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
47028         the tests directory.
47029         Reported by Ralf Wildenhues.
47030
47031 2006-11-13  Bruno Haible  <bruno@clisp.org>
47032
47033         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
47034         (func_emit_initmacro_end): Undo the override here.
47035         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
47036         Works around the famous automake error in coreutils.
47037
47038 2006-11-13  Eric Blake  <ebb9@byu.net>
47039
47040         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
47041         element, not its node.
47042
47043 2006-11-12  Bruno Haible  <bruno@clisp.org>
47044
47045         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
47046         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
47047
47048 2006-11-12  Bruno Haible  <bruno@clisp.org>
47049
47050         * gnulib-tool: New option --local-symlink.
47051         (func_usage): Document it.
47052         (lsymbolic): New variable.
47053         (func_import, func_create_testdir): If --symlink was not specified,
47054         test whether --local-symlink was specified and the file comes from
47055         the local_gnulib_dir.
47056
47057 2006-11-12  Bruno Haible  <bruno@clisp.org>
47058
47059         * gnulib-tool (func_ln): New function.
47060         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
47061
47062 2006-11-12  Bruno Haible  <bruno@clisp.org>
47063
47064         Finish support for source files in subdirectories.
47065         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
47066         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
47067         AUTOMAKE_OPTIONS.
47068         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
47069
47070 2006-11-12  Bruno Haible  <bruno@clisp.org>
47071
47072         * gnulib-tool (func_get_automake_snippet): Synthesize also an
47073         EXTRA_lib_SOURCES augmentation.
47074         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
47075
47076 2006-11-12  Jim Meyering  <jim@meyering.net>
47077
47078         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
47079         file descriptors.  This also averts a failure on systems with
47080         native openat support when a traversed directory lacks "x" access.
47081         * lib/fts_.h: Include "i-ring.h"
47082         (struct FTS) [fts_fd_ring]: New member.
47083         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
47084         (FCHDIR): Add parentheses.
47085         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
47086         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
47087         When descending, rather than simply closing the previous
47088         fts_cwd_fd value, push that file descriptor onto the ring.
47089         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
47090         (fts_open): Initialize the new fd_ring member.
47091         (fts_close): Clear the ring.
47092         (fts_safe_changedir): When possible, use our new fd_ring to skip
47093         the diropen and fstat and dev/ino comparison that would normally
47094         accompany a virtual `chdir ("..")'.
47095
47096         * modules/fts (Depends-on): Add i-ring.
47097         * modules/i-ring: New module.
47098         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
47099         * m4/i-ring.m4: New file.
47100
47101 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47102
47103         * gnulib-tool (func_create_testdir): Fix replacement of
47104         `build-aux' in configure.ac.  Run autotools in gltests
47105         subdirectory.
47106         (func_create_testdir, func_create_megatestdir, test): There is
47107         no need for '--force' in most autotool invocations in a new
47108         tree.  Actually fail the whole test if any of the tools, or the
47109         configure or make stages fail.
47110
47111         Sync from Automake.
47112         * build-aux/gnupload: Revert last change.  Add pointer to upload
47113         instructions of the GNU Maintenance Instructions.
47114         Suggestion by Karl Berry.
47115
47116 2006-11-10  Jim Meyering  <jim@meyering.net>
47117
47118         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
47119
47120 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
47121
47122         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
47123         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
47124         (bind_textdomain_codeset) [! ENABLE_NLS]:
47125         Evaluate all the arguments.  That way, callers get compatible behavior
47126         if the arguments have side effects.  Also, it avoids some GCC
47127         diagnostics in some cases; Joel E. Denny reported problems when Bison
47128         was configured with --enable-gcc-warnigs.
47129
47130 2006-11-10  Jim Meyering  <jim@meyering.net>
47131
47132         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
47133         relevant options in CFLAGS (like -O, -fno-inline) are taken into
47134         account.
47135
47136 2006-11-10  Jim Meyering  <jim@meyering.net>
47137
47138         * modules/inline: New file/module.
47139         * modules/xalloc (Files): Remove m4/inline.m4.
47140         (Depends-on): Add inline, instead.
47141         * modules/oset: Likewise.
47142         * modules/list: Likewise.
47143
47144 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
47145
47146         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
47147         Problem reported by Matthew Woehlke.
47148
47149 2006-11-09  Bruno Haible  <bruno@clisp.org>
47150
47151         * lib/tempname.c (gen_tempname): Remove variant that invokes
47152         __gen_tempname.
47153         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
47154         __gen_tempname.
47155
47156 2006-11-08  Bruno Haible  <bruno@clisp.org>
47157
47158         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
47159         to 'yes' instead of 'cross-compiling'.
47160
47161 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
47162
47163         * lib/quotearg.h (quotearg_free): New decl.
47164         * lib/quotearg.c (quotearg_free): New function.
47165         (slot0, nslots, slotvec0, slotvec):
47166         Now file-scope so that quotearg_free can get at them.
47167
47168 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47169
47170         Sync from Automake.
47171         * build-aux/gnupload: Add missing 'gnu' to example URL.
47172         Report by Karl Berry.
47173
47174 2006-11-08  Bruno Haible  <bruno@clisp.org>
47175
47176         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
47177         Suggested by Paul Eggert.
47178
47179 2006-11-08  Jim Meyering  <jim@meyering.net>
47180
47181         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
47182         It's already included if !_LIBC.
47183         (fts_safe_changedir): Add a comment.
47184
47185 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
47186
47187         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
47188         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
47189         Matthew Woehlke.
47190
47191         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
47192         definitions up, to avoid colliding with change below.
47193         (static_inline) [HAVE_INLINE]: New macro.
47194         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
47195         Provide extern decls when !HAVE_INLINE.  Do not define unless
47196         static_inline is defined, either by us or by xmalloc.c.  Use
47197         static_inline rather than static inline.
47198         (XCALLOC): Optimize sizeof(T) = 1 case.
47199         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
47200
47201 2006-11-07  Bruno Haible  <bruno@clisp.org>
47202
47203         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
47204         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
47205         AC_C_INLINE.
47206         * modules/xalloc (Files): Add m4/inline.m4.
47207
47208 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47209
47210         * README: Fix typo.
47211         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
47212         (Miscellanous Notes): ...from this.
47213
47214 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
47215
47216         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
47217         Mention that offsetof should be used instead of sizeof.
47218         From Bruno Haible.
47219
47220 2006-11-07  Bruno Haible  <bruno@clisp.org>
47221
47222         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
47223
47224 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
47225
47226         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
47227         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
47228         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
47229         (gl_tree_add_before, gl_tree_add_after):
47230         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
47231         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
47232         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
47233         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
47234         (gl_linked_add_after, gl_linked_add_at): Likewise.
47235         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
47236         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
47237         (gl_tree_add_before, gl_tree_add_after): Likewise.
47238         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
47239         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
47240         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
47241
47242 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47243
47244         * lib/gl_oset.h: Use C comment style, not C++ comment style.
47245
47246 2006-11-06  Bruno Haible  <bruno@clisp.org>
47247
47248         * m4/inline.m4: New file.
47249         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
47250         * modules/list (Files): Add m4/inline.m4.
47251         * modules/oset (Files): Likewise.
47252
47253 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
47254
47255         * lib/idcache.c: Include <stddef.h>, for offsetof.
47256         (struct userid.name): Change from char * to a flexible array member.
47257         All uses changed.
47258         * modules/idcache (Depends-on): Add flexmember.
47259
47260         * MODULES.html.sh (Core language properties): New module flexmember.
47261         * modules/flexmember, m4/flexmember.m4: New files.
47262
47263         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
47264         inline functions that are identical with the old xnmalloc_inline,
47265         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
47266         that we can avoid some unnecessary integer multiplications and
47267         divisions in the common case where the element size is known at
47268         compile time.
47269         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
47270         needed.
47271         (xnboundedmalloc): Remove.
47272         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
47273         arguments, for consistency with rest of this header.
47274         (xcharalloc): Rewrite using XNMALLOC.
47275         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
47276         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
47277         versions have been moved to lib/xalloc.h and renamed to be the
47278         non-*_inline versions.
47279         (xmalloc, xrealloc): Implement without reference to the xnmalloc
47280         and xnrealloc functions, since those functions are now inline and
47281         now call us.
47282         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
47283         renaming described above.
47284         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
47285         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
47286         captures the dependency in AC_C_INLINE.
47287
47288         New module canonicalize-lgpl, proposed by Charles Wilson in
47289         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
47290         with a few small changes afterwards.
47291         * MODULES.html.sh (File system functions): New module
47292         canonicalize-lgpl.
47293         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
47294         and canonicalize_file_name.
47295         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
47296         * modules/canonicalize-lgpl: New files.
47297
47298 2006-11-05  Bruno Haible  <bruno@clisp.org>
47299
47300         * gnulib-tool (func_import, func_create_testdir): Create directories
47301         also for files in subdirectories of lib/.
47302
47303 2006-11-05  Bruno Haible  <bruno@clisp.org>
47304
47305         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
47306         ANSI C compliant.
47307
47308 2006-11-03  Bruno Haible  <bruno@clisp.org>
47309
47310         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
47311         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
47312         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
47313         (xnboundedmalloc): New inline function.
47314         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
47315         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
47316         xmalloc.
47317         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
47318         xmalloc.
47319         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
47320         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
47321         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
47322         xmalloc.
47323         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
47324         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
47325         xmalloc.
47326         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
47327         gl_tree_add_after): Use XMALLOC instead of xmalloc.
47328         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
47329         xmalloc.
47330         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
47331         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
47332         gl_tree_add_after): Use XMALLOC instead of xmalloc.
47333         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
47334         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
47335         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
47336         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
47337
47338 2006-11-03  Bruno Haible  <bruno@clisp.org>
47339
47340         * lib/c-ctype.h [C++]: Define functions without name mangling.
47341         * lib/fwriteerror.h [C++]: Likewise.
47342         * lib/gcd.h [C++]: Likewise.
47343         * lib/linebreak.h [C++]: Likewise.
47344
47345 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
47346
47347         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
47348         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
47349         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
47350         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
47351         Check for functions and headers just once.
47352         Check for declaration of canonicalize_file_name.
47353         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
47354
47355 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
47356
47357         * gnulib-tool (func_import): Fix typo in actioncmd.
47358
47359 2006-11-02  Bruno Haible  <bruno@clisp.org>
47360
47361         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
47362         newline sequence in the Makefile.am snippet as a space, like "make"
47363         does.
47364         Reported by Roger Persson <perrog@gmail.com>.
47365
47366 2006-11-01  Bruno Haible  <bruno@clisp.org>
47367
47368         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
47369         already declared in <string.h>.
47370         * lib/strcase.h (strncasecmp): Don't declare it if yes.
47371
47372 2006-11-01  Bruno Haible  <bruno@clisp.org>
47373
47374         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
47375         * lib/strcase.h: Include <string.h>.
47376         (strcasecmp): Define to rpl_strcasecmp here.
47377
47378 2006-11-01  Bruno Haible  <bruno@clisp.org>
47379
47380         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
47381
47382 2006-11-01  Eric Blake  <ebb9@byu.net>
47383
47384         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
47385
47386         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
47387
47388 2006-10-29  Bruno Haible  <bruno@clisp.org>
47389
47390         Make it compile in C++ mode.
47391         * lib/full-write.c (full_rw): Add a cast.
47392
47393 2006-11-01  Bruno Haible  <bruno@clisp.org>
47394
47395         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
47396         be POSIX compliant.
47397         Reported by Roger Persson <perrog@gmail.com>.
47398
47399 2006-11-01  Eric Blake  <ebb9@byu.net>
47400
47401         * lib/getopt_.h: Fix comments.
47402
47403 2006-10-31  Eric Blake  <ebb9@byu.net>
47404
47405         * modules/tmpdir (Depends-on): Add sys_stat.
47406         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
47407         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
47408         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
47409         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
47410         tempname.
47411
47412 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
47413
47414         Avoid some C++ diagnostics reported by Bruno Haible.
47415         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
47416         xmalloc.
47417         (quotearg_alloc): Use xcharalloc rather than xmalloc.
47418         (struct slotvec): Move to top level.
47419         (quotearg_n_options): Rewrite to avoid xmalloc.
47420         * lib/xalloc.h (xcharalloc): New function.
47421         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
47422         [defined __cplusplus]: Add function template that provides result
47423         type propagation.  This part of the change is from Bruno Haible.
47424
47425 2006-10-29  Bruno Haible  <bruno@clisp.org>
47426
47427         Make it compile in C++ mode.
47428         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
47429         * lib/strnlen1.c (strnlen1): Cast memchr result.
47430         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
47431         * lib/clean-temp.c (string_equals, string_hash): Add casts.
47432         (create_temp_dir): Rename local variable 'template'.
47433         (compile_csharp_using_sscli): Add cast.
47434         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
47435         * lib/findprog.c (find_in_path): Likewise.
47436         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
47437         * lib/wait-process.c (register_slave_subprocess): Likewise.
47438
47439 2006-10-22  Bruno Haible  <bruno@clisp.org>
47440
47441         * modules/tsearch: New file.
47442         * lib/tsearch.h: New file.
47443         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
47444         * m4/tsearch.m4: New file.
47445         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
47446
47447 2006-10-29  Eric Blake  <ebb9@byu.net>
47448
47449         * lib/arcfour.c: Assume config.h.
47450         * lib/arctwo.c: Likewise.
47451         * lib/base64.c: Likewise.
47452         * lib/check-version.c: Likewise.
47453         * lib/crc.c: Likewise.
47454         * lib/des.c: Likewise.
47455         * lib/gc-gnulib.c: Likewise.
47456         * lib/gc-libgcrypt.c: Likewise.
47457         * lib/gc-pbkdf2-sha1.c: Likewise.
47458         * lib/getaddrinfo.c: Likewise.
47459         * lib/getdelim.c: Likewise.
47460         * lib/getline.c: Likewise.
47461         * lib/hmac-md5.c: Likewise.
47462         * lib/hmac-sha1.c: Likewise.
47463         * lib/iconvme.c: Likewise.
47464         * lib/md2.c: Likewise.
47465         * lib/md4.c: Likewise.
47466         * lib/memxor.c: Likewise.
47467         * lib/read-file.c: Likewise.
47468         * lib/readline.c: Likewise.
47469         * lib/rijndael-alg-fst.c: Likewise.
47470         * lib/rijndael-api-fst.c: Likewise.
47471         * lib/xgetdomainname.c: Likewise.
47472
47473 2006-10-28  Eric Blake  <ebb9@byu.net>
47474
47475         * lib/xstrndup.c: Assume config.h.
47476
47477 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
47478
47479         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
47480         stat-macros.h is now for our own macros, whereas stat_h is for
47481         macros in the <sys/stat.h> name space.
47482         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
47483         (STAT_MACROS_H): Remove.
47484         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
47485         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
47486         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
47487         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
47488         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
47489         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
47490         Move these macros to ...
47491         * lib/stat_.h: here.  Don't include stat-macros.h.
47492         * lib/canonicalize.c: Don't include stat-macros.h.
47493         * lib/chown.c: Likewise.
47494         * lib/euidaccess.c: Likewise.
47495         * lib/file-type.c: Likewise.
47496         * lib/filemode.c: Likewise.
47497         * lib/glob.c: Likewise.
47498         * lib/isapipe.c: Likewise.
47499         * lib/lchown.c: Likewise.
47500         * lib/lstat.c: Likewise.
47501         * lib/mkdir-p.c: Likewise.
47502         * lib/rmdir.c: Likewise.
47503         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
47504         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
47505         unless mkdir isn't declared, to speed up 'configure'.
47506         Always create sys/stat.h, since it's unlikely any real sys/stat.h
47507         would define all the S_* symbols.
47508         * modules/canonicalize (Depends-on):
47509         Depend on sys_stat, not stat-macros.
47510         * modules/chown: Likewise.
47511         * modules/euidaccess: Likewise.
47512         * modules/filemode: Likewise.
47513         * modules/file-type: Likewise.
47514         * modules/glob: Likewise.
47515         * modules/isapipe: Likewise.
47516         * modules/lchown: Likewise.
47517         * modules/lstat: Likewise.
47518         * modules/mkancesdirs: Likewise.
47519         * modules/rmdir: Likewise.
47520         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
47521         * modules/modechange: Likewise.
47522         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
47523         (configure.ac): Remove gl_STAT_MACROS.
47524         * modules/sys_stat (Depends-on): Remove stat-macros.
47525
47526 2006-10-27  Bruno Haible  <bruno@clisp.org>
47527
47528         * m4/signed.m4: Remove file.
47529         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
47530         invocation.
47531         * modules/vasnprintf (Files): Remove m4/signed.m4.
47532
47533 2006-10-27  Bruno Haible  <bruno@clisp.org>
47534
47535         Update to GNU gettext 0.16.
47536         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
47537         m4/inttypes-h.m4, m4/signed.m4.
47538         * m4/gettext.m4: Update to GNU gettext 0.16.
47539         * m4/intl.m4: New file, from GNU gettext.
47540         * m4/intldir.m4: New file, from GNU gettext.
47541         * config/srclist.txt: Update
47542
47543 2006-10-27  Eric Blake  <ebb9@byu.net>
47544
47545         * MODULES.html.sh: Document tempname.
47546         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
47547         dependencies.
47548         (Files): Move lib/tempname.c...
47549         * modules/tempname: ...to this new module.
47550         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
47551         (gl_PREREQ_TEMPNAME): Move...
47552         * m4/tempname.m4: ...to this new file.
47553         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
47554         * modules/sys_stat (Depends-on): Add stat-macros.
47555         * lib/stat_.h (includes): Pick up stat macros.
47556         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
47557         if stat macros are broken.
47558         * lib/tempname.c (includes): No need to include "stat-macros.h".
47559         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
47560         (direxists, __path_search) [!_LIBC]: Don't compile these in
47561         gnulib; the tmpdir module covers that.
47562         * lib/tempname.h: New file.
47563
47564 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
47565
47566         * COPYING: Explain how gnulib-tool converts licence headers.
47567         Almost all wording by Eric Blake.
47568
47569 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
47570
47571         * lib/mbchar.h (is_basic_table): Make read-only.
47572         * lib/mbchar.c (is_basic_table): Likewise.
47573         Reported by John Darrington.
47574
47575 2006-10-25  Bruno Haible  <bruno@clisp.org>
47576
47577         * lib/progname.h (set_program_name): Undefine before defining.
47578
47579 2006-10-25  Bruno Haible  <bruno@clisp.org>
47580
47581         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
47582         false for non-gcc C++ compilers.
47583         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
47584
47585 2006-10-24  Bruno Haible  <bruno@clisp.org>
47586
47587         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
47588         iconv implementations like Irix iconv.
47589
47590 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47591
47592         * modules/vararrays: New file.
47593         * m4/vararrays.m4: New file, taken from diffutils.
47594         * MODULES.html.sh: New module vararrays.
47595
47596 2006-10-24  Karl Berry  <karl@gnu.org>
47597
47598         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
47599         Don't call GNU Unix.
47600
47601 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47602
47603         * users.txt: Add Libtool.
47604
47605         Sync from Libtool:
47606
47607         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47608
47609         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
47610         to gnulib's policy of including config.h unconditionally.
47611
47612 2006-10-24  Bruno Haible  <bruno@clisp.org>
47613
47614         * modules/wcwidth (Files): Add m4/wint_t.m4.
47615         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
47616         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
47617
47618 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
47619
47620         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
47621         to pacify GCC with some -W flags enabled.  Problem reported by
47622         Bruno Haible.
47623
47624 2006-10-24  Jim Meyering  <jim@meyering.net>
47625
47626         * MODULES.html.sh: Remove uinttostr.  It's not a module.
47627         Reported by Karl Berry.
47628
47629 2006-10-23  Bruno Haible  <bruno@clisp.org>
47630
47631         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
47632
47633 2006-10-24  Bruno Haible  <bruno@clisp.org>
47634
47635         * lib/gl_list.h: Use C comment style, not C++ comment style.
47636
47637 2006-10-23  Eric Blake  <ebb9@byu.net>
47638
47639         * lib/getaddrinfo.c (includes): Add missing include.
47640
47641 2006-10-23  Bruno Haible  <bruno@clisp.org>
47642             Paul Eggert  <eggert@cs.ucla.edu>
47643
47644         Ability to rename obstack_free.
47645         * lib/obstack.h (__obstack_free): New macro. Declare instead of
47646         obstack_free.
47647         (obstack_free): Invoke the __obstack_free macro.
47648         * lib/obstack.c (obstack_free): Use __obstack_free macro.
47649
47650 2006-10-23  Bruno Haible  <bruno@clisp.org>
47651             Paul Eggert  <eggert@cs.ucla.edu>
47652
47653         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
47654         __argc, __argv from the declaration. (They are defined as macros on
47655         mingw.)
47656
47657 2006-10-22  Bruno Haible  <bruno@clisp.org>
47658
47659         * doc/gnulib-intro.texi: New file.
47660         * doc/gnulib.texi: Include it.
47661
47662 2006-10-21  Bruno Haible  <bruno@clisp.org>
47663
47664         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
47665         "Introduction", "Miscellanous Notes", "Particular Modules".
47666
47667 2006-10-21  Bruno Haible  <bruno@clisp.org>
47668
47669         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
47670         Change mostlyclean-local rule to avoid sh syntax error from bash
47671         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
47672
47673 2006-10-23  Jim Meyering  <jim@meyering.net>
47674
47675         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
47676         in place of snprintf.
47677
47678         * modules/inttostr (Files): Add lib/uinttostr.c.
47679         * lib/uinttostr.c (inttostr): New file/function.
47680         * lib/inttostr.h (uinttostr): Declare.
47681         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
47682         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
47683         Add uinttostr.
47684         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
47685
47686 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
47687
47688         * lib/canonicalize.c (ELOOP): Define if not already defined.
47689         Problem reported by Bruno Haible in
47690         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
47691
47692 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
47693
47694         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
47695         Problem reported by Perry Smith and Ville Laurikari.
47696
47697         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
47698         uses.
47699
47700 2006-10-19  Bruno Haible  <bruno@clisp.org>
47701
47702         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
47703         for mingw.
47704
47705 2006-10-19  Bruno Haible  <bruno@clisp.org>
47706
47707         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
47708         Needed for mingw.
47709
47710 2006-10-19  Bruno Haible  <bruno@clisp.org>
47711
47712         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
47713
47714 2006-10-19  Bruno Haible  <bruno@clisp.org>
47715
47716         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
47717         it.
47718
47719 2006-10-19  Bruno Haible  <bruno@clisp.org>
47720
47721         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
47722         invocation.
47723
47724 2006-10-19  Bruno Haible  <bruno@clisp.org>
47725
47726         * gnulib-tool (func_create_testdir): Don't include ftruncate and
47727         mountlist by default.
47728
47729 2006-10-16  Bruno Haible  <bruno@clisp.org>
47730
47731         * lib/c-strstr.c: Include c-strstr.h.
47732
47733 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
47734
47735         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
47736         in a slash.
47737
47738 2006-10-18  Bruno Haible  <bruno@clisp.org>
47739
47740         * lib/lock.h [C++]: Wrap definitions in extern "C".
47741
47742 2006-10-18  Bruno Haible  <bruno@clisp.org>
47743
47744         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
47745         gl_LIBOBJS list.
47746
47747 2006-10-18  Bruno Haible  <bruno@clisp.org>
47748
47749         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
47750
47751 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
47752
47753         * lib/xstrtol.h: Include gettext.h.
47754         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
47755         Problem reported by Eric Blake.
47756         * modules/xstrtol (Depends-on): Add gettext-h.
47757
47758 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
47759
47760         * lib/strftime.c (advance): New macro.
47761         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
47762         incomplete type, so you can't add 0 to it.  Problem and patch
47763         reported by Eelco Dolstra for dietlibc.
47764
47765 2006-10-18  Jim Meyering  <jim@meyering.net>
47766
47767         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
47768         type for a local, and rename it: s/up/user_proc/.
47769
47770 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
47771
47772         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
47773         READ_UTMP_USER_PROCESS.
47774         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
47775
47776 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
47777
47778         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
47779         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
47780
47781 2006-10-17  Eric Blake  <ebb9@byu.net>
47782
47783         * lib/sigprocmask.c (sigprocmask): Fix typo.
47784
47785         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
47786
47787         * modules/clean-temp (Makefile.am): Don't add to make output...
47788         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
47789         config.h.
47790
47791 2006-10-17  Bruno Haible  <bruno@clisp.org>
47792
47793         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
47794         differently if DEFAULT_TEXT_DOMAIN is set.
47795
47796 2006-10-16  Bruno Haible  <bruno@clisp.org>
47797
47798         * lib/clean-temp.c: Include fwriteerror.h.
47799
47800 2006-10-16  Bruno Haible  <bruno@clisp.org>
47801
47802         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
47803
47804 2006-10-16  Bruno Haible  <bruno@clisp.org>
47805
47806         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
47807         * lib/sigprocmask.h: Include <sys/types.h>.
47808         (sigset_t): Use the system's definition if present.
47809
47810 2006-10-17  Eric Blake  <ebb9@byu.net>
47811
47812         * lib/xvasprintf.c (includes): Assume config.h.
47813         * lib/xasprintf.c (includes): Likewise.
47814
47815 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
47816
47817         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
47818         at least as wide as intmax_t.
47819
47820 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
47821
47822         (Imported from Automake.)
47823         * build-aux/gnupload: Update to version 1.1 of directive file.
47824
47825 2006-10-16  Eric Blake  <ebb9@byu.net>
47826
47827         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
47828         match Automake 1.10a.
47829
47830 2006-10-14  Bruno Haible  <bruno@clisp.org>
47831
47832         * modules/sigprocmask: New file.
47833         * lib/sigprocmask.h: New file.
47834         * lib/sigprocmask.c: New file.
47835         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
47836         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
47837         request sigprocmask.o.
47838         (gl_PREREQ_SIGPROCMASK): New macro.
47839         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
47840         (Depends-on): Add sigprocmask.
47841         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
47842         gt_SIGNALBLOCKING. Test for 'raise' only once.
47843         * lib/fatal-signal.c: Include sigprocmask.h.
47844         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
47845         unblock_fatal_signals): Define always.
47846         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
47847         sigprocmask.
47848
47849 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
47850
47851         Sync from Automake.
47852         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
47853         which incorrectly sets the mode of an existing destination
47854         directory.  In some cases the unpatched install-sh could do the
47855         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
47856         system.  We hope this is rare in practice, but it's clearly worth
47857         fixing.  Problem reported by Alex Unleashed in
47858         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
47859         Also, don't bother to check for -m bugs unless we're using -m;
47860         suggested by Stepan Kasal.
47861
47862 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47863
47864         Sync from Automake.
47865         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
47866         `-c' flag, so they appear at the same position as in %FASTDEP%
47867         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
47868         which ignores unknown options only after the first non-option.
47869         Bug report against M4 by Nelson H. F. Beebe.
47870
47871 2006-10-13  Jim Meyering  <jim@meyering.net>
47872
47873         Fix a bug in yesterday's change.
47874         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
47875         p->fts_statp->st_dev would be used uninitialized.
47876         Ensures that we always call fts_stat on the very first entry.
47877         Miklos Szeredi reported that find -xdev stopped working.
47878
47879 2006-10-12  Bruno Haible  <bruno@clisp.org>
47880
47881         * gnulib-tool (func_get_automake_snippet): Append an automatically
47882         computed EXTRA_DIST augmentation.
47883         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
47884         * modules/alloca-opt (Makefile.am): Likewise.
47885         * modules/allocsa (Makefile.am): Likewise.
47886         * modules/arcfour (Makefile.am): Likewise.
47887         * modules/arctwo (Makefile.am): Likewise.
47888         * modules/argmatch (Makefile.am): Likewise.
47889         * modules/argz (Makefile.am): Likewise.
47890         * modules/atexit (Makefile.am): Likewise.
47891         * modules/backupfile (Makefile.am): Likewise.
47892         * modules/byteswap (Makefile.am): Likewise.
47893         * modules/c-strtod (Makefile.am): Likewise.
47894         * modules/c-strtold (Makefile.am): Likewise.
47895         * modules/calloc (Makefile.am): Likewise.
47896         * modules/canon-host (Makefile.am): Likewise.
47897         * modules/canonicalize (Makefile.am): Likewise.
47898         * modules/chdir-long (Makefile.am): Likewise.
47899         * modules/chdir-safer (Makefile.am): Likewise.
47900         * modules/check-version (Makefile.am): Likewise.
47901         * modules/chown (Makefile.am): Likewise.
47902         * modules/cloexec (Makefile.am): Likewise.
47903         * modules/close-stream (Makefile.am): Likewise.
47904         * modules/closeout (Makefile.am): Likewise.
47905         * modules/crc (Makefile.am): Likewise.
47906         * modules/csharpexec (Makefile.am): Likewise.
47907         * modules/cycle-check (Makefile.am): Likewise.
47908         * modules/des (Makefile.am): Likewise.
47909         * modules/dev-ino (Makefile.am): Likewise.
47910         * modules/dirfd (Makefile.am): Likewise.
47911         * modules/dirname (Makefile.am): Likewise.
47912         * modules/dup2 (Makefile.am): Likewise.
47913         * modules/eealloc (Makefile.am): Likewise.
47914         * modules/error (Makefile.am): Likewise.
47915         * modules/euidaccess (Makefile.am): Likewise.
47916         * modules/exclude (Makefile.am): Likewise.
47917         * modules/exitfail (Makefile.am): Likewise.
47918         * modules/fcntl-safer (Makefile.am): Likewise.
47919         * modules/fcntl (Makefile.am): Likewise.
47920         * modules/file-type (Makefile.am): Likewise.
47921         * modules/fileblocks (Makefile.am): Likewise.
47922         * modules/filemode (Makefile.am): Likewise.
47923         * modules/filenamecat (Makefile.am): Likewise.
47924         * modules/fnmatch (Makefile.am): Likewise.
47925         * modules/fopen-safer (Makefile.am): Likewise.
47926         * modules/fpending (Makefile.am): Likewise.
47927         * modules/fprintftime (Makefile.am): Likewise.
47928         * modules/free (Makefile.am): Likewise.
47929         * modules/fsusage (Makefile.am): Likewise.
47930         * modules/ftruncate (Makefile.am): Likewise.
47931         * modules/fts (Makefile.am): Likewise.
47932         * modules/gc-arcfour (Makefile.am): Likewise.
47933         * modules/gc-des (Makefile.am): Likewise.
47934         * modules/gc-hmac-md5 (Makefile.am): Likewise.
47935         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
47936         * modules/gc-md4 (Makefile.am): Likewise.
47937         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
47938         * modules/gc-sha1 (Makefile.am): Likewise.
47939         * modules/gc (Makefile.am): Likewise.
47940         * modules/getaddrinfo (Makefile.am): Likewise.
47941         * modules/getcwd (Makefile.am): Likewise.
47942         * modules/getdelim (Makefile.am): Likewise.
47943         * modules/getdomainname (Makefile.am): Likewise.
47944         * modules/getgroups (Makefile.am): Likewise.
47945         * modules/gethostname (Makefile.am): Likewise.
47946         * modules/gethrxtime (Makefile.am): Likewise.
47947         * modules/getline (Makefile.am): Likewise.
47948         * modules/getloadavg (Makefile.am): Likewise.
47949         * modules/getlogin_r (Makefile.am): Likewise.
47950         * modules/getndelim2 (Makefile.am): Likewise.
47951         * modules/getopt (Makefile.am): Likewise.
47952         * modules/getpagesize (Makefile.am): Likewise.
47953         * modules/getpass-gnu (Makefile.am): Likewise.
47954         * modules/getpass (Makefile.am): Likewise.
47955         * modules/getsubopt (Makefile.am): Likewise.
47956         * modules/gettime (Makefile.am): Likewise.
47957         * modules/gettimeofday (Makefile.am): Likewise.
47958         * modules/getugroups (Makefile.am): Likewise.
47959         * modules/getusershell (Makefile.am): Likewise.
47960         * modules/glob (Makefile.am): Likewise.
47961         * modules/group-member (Makefile.am): Likewise.
47962         * modules/hard-locale (Makefile.am): Likewise.
47963         * modules/hash (Makefile.am): Likewise.
47964         * modules/hmac-md5 (Makefile.am): Likewise.
47965         * modules/hmac-sha1 (Makefile.am): Likewise.
47966         * modules/human (Makefile.am): Likewise.
47967         * modules/idcache (Makefile.am): Likewise.
47968         * modules/imaxabs (Makefile.am): Likewise.
47969         * modules/imaxdiv (Makefile.am): Likewise.
47970         * modules/inet_ntop (Makefile.am): Likewise.
47971         * modules/inet_pton (Makefile.am): Likewise.
47972         * modules/intprops (Makefile.am): Likewise.
47973         * modules/inttostr (Makefile.am): Likewise.
47974         * modules/inttypes (Makefile.am): Likewise.
47975         * modules/isapipe (Makefile.am): Likewise.
47976         * modules/javaversion (Makefile.am): Likewise.
47977         * modules/lchmod (Makefile.am): Likewise.
47978         * modules/lchown (Makefile.am): Likewise.
47979         * modules/localcharset (Makefile.am): Likewise.
47980         * modules/long-options (Makefile.am): Likewise.
47981         * modules/lstat (Makefile.am): Likewise.
47982         * modules/malloc (Makefile.am): Likewise.
47983         * modules/mathl (Makefile.am): Likewise.
47984         * modules/mbchar (Makefile.am): Likewise.
47985         * modules/md2 (Makefile.am): Likewise.
47986         * modules/md4 (Makefile.am): Likewise.
47987         * modules/md5 (Makefile.am): Likewise.
47988         * modules/memcasecmp (Makefile.am): Likewise.
47989         * modules/memchr (Makefile.am): Likewise.
47990         * modules/memcmp (Makefile.am): Likewise.
47991         * modules/memcoll (Makefile.am): Likewise.
47992         * modules/memcpy (Makefile.am): Likewise.
47993         * modules/memmem (Makefile.am): Likewise.
47994         * modules/memmove (Makefile.am): Likewise.
47995         * modules/mempcpy (Makefile.am): Likewise.
47996         * modules/memrchr (Makefile.am): Likewise.
47997         * modules/memset (Makefile.am): Likewise.
47998         * modules/memxor (Makefile.am): Likewise.
47999         * modules/mkancesdirs (Makefile.am): Likewise.
48000         * modules/mkdir-p (Makefile.am): Likewise.
48001         * modules/mkdir (Makefile.am): Likewise.
48002         * modules/mkdtemp (Makefile.am): Likewise.
48003         * modules/mkstemp (Makefile.am): Likewise.
48004         * modules/mktime (Makefile.am): Likewise.
48005         * modules/modechange (Makefile.am): Likewise.
48006         * modules/mountlist (Makefile.am): Likewise.
48007         * modules/nanosleep (Makefile.am): Likewise.
48008         * modules/obstack (Makefile.am): Likewise.
48009         * modules/openat (Makefile.am): Likewise.
48010         * modules/pagealign_alloc (Makefile.am): Likewise.
48011         * modules/pathmax (Makefile.am): Likewise.
48012         * modules/physmem (Makefile.am): Likewise.
48013         * modules/poll (Makefile.am): Likewise.
48014         * modules/posixtm (Makefile.am): Likewise.
48015         * modules/posixver (Makefile.am): Likewise.
48016         * modules/putenv (Makefile.am): Likewise.
48017         * modules/quote (Makefile.am): Likewise.
48018         * modules/quotearg (Makefile.am): Likewise.
48019         * modules/raise (Makefile.am): Likewise.
48020         * modules/read-file (Makefile.am): Likewise.
48021         * modules/readline (Makefile.am): Likewise.
48022         * modules/readlink (Makefile.am): Likewise.
48023         * modules/readtokens (Makefile.am): Likewise.
48024         * modules/readutmp (Makefile.am): Likewise.
48025         * modules/realloc (Makefile.am): Likewise.
48026         * modules/regex (Makefile.am): Likewise.
48027         * modules/rename-dest-slash (Makefile.am): Likewise.
48028         * modules/rename (Makefile.am): Likewise.
48029         * modules/rijndael (Makefile.am): Likewise.
48030         * modules/rmdir (Makefile.am): Likewise.
48031         * modules/rpmatch (Makefile.am): Likewise.
48032         * modules/safe-read (Makefile.am): Likewise.
48033         * modules/safe-write (Makefile.am): Likewise.
48034         * modules/same-inode (Makefile.am): Likewise.
48035         * modules/same (Makefile.am): Likewise.
48036         * modules/save-cwd (Makefile.am): Likewise.
48037         * modules/savedir (Makefile.am): Likewise.
48038         * modules/setenv (Makefile.am): Likewise.
48039         * modules/settime (Makefile.am): Likewise.
48040         * modules/sha1 (Makefile.am): Likewise.
48041         * modules/sig2str (Makefile.am): Likewise.
48042         * modules/snprintf (Makefile.am): Likewise.
48043         * modules/stat-macros (Makefile.am): Likewise.
48044         * modules/stat-time (Makefile.am): Likewise.
48045         * modules/stdbool (Makefile.am): Likewise.
48046         * modules/stdint (Makefile.am): Likewise.
48047         * modules/stdlib-safer (Makefile.am): Likewise.
48048         * modules/stpcpy (Makefile.am): Likewise.
48049         * modules/stpncpy (Makefile.am): Likewise.
48050         * modules/strcase (Makefile.am): Likewise.
48051         * modules/strcasestr (Makefile.am): Likewise.
48052         * modules/strchrnul (Makefile.am): Likewise.
48053         * modules/strcspn (Makefile.am): Likewise.
48054         * modules/strdup (Makefile.am): Likewise.
48055         * modules/strerror (Makefile.am): Likewise.
48056         * modules/strftime (Makefile.am): Likewise.
48057         * modules/strndup (Makefile.am): Likewise.
48058         * modules/strnlen (Makefile.am): Likewise.
48059         * modules/strpbrk (Makefile.am): Likewise.
48060         * modules/strsep (Makefile.am): Likewise.
48061         * modules/strstr (Makefile.am): Likewise.
48062         * modules/strtod (Makefile.am): Likewise.
48063         * modules/strtoimax (Makefile.am): Likewise.
48064         * modules/strtok_r (Makefile.am): Likewise.
48065         * modules/strtol (Makefile.am): Likewise.
48066         * modules/strtoll (Makefile.am): Likewise.
48067         * modules/strtoul (Makefile.am): Likewise.
48068         * modules/strtoull (Makefile.am): Likewise.
48069         * modules/strtoumax (Makefile.am): Likewise.
48070         * modules/strverscmp (Makefile.am): Likewise.
48071         * modules/sys_socket (Makefile.am): Likewise.
48072         * modules/sys_stat (Makefile.am): Likewise.
48073         * modules/sysexits (Makefile.am): Likewise.
48074         * modules/time_r (Makefile.am): Likewise.
48075         * modules/timegm (Makefile.am): Likewise.
48076         * modules/timespec (Makefile.am): Likewise.
48077         * modules/tmpfile-safer (Makefile.am): Likewise.
48078         * modules/trim (Makefile.am): Likewise.
48079         * modules/unistd-safer (Makefile.am): Likewise.
48080         * modules/unlinkdir (Makefile.am): Likewise.
48081         * modules/unlocked-io (Makefile.am): Likewise.
48082         * modules/userspec (Makefile.am): Likewise.
48083         * modules/utime (Makefile.am): Likewise.
48084         * modules/utimecmp (Makefile.am): Likewise.
48085         * modules/utimens (Makefile.am): Likewise.
48086         * modules/vasnprintf (Makefile.am): Likewise.
48087         * modules/vasprintf (Makefile.am): Likewise.
48088         * modules/vsnprintf (Makefile.am): Likewise.
48089         * modules/xalloc (Makefile.am): Likewise.
48090         * modules/xgetcwd (Makefile.am): Likewise.
48091         * modules/xnanosleep (Makefile.am): Likewise.
48092         * modules/xreadlink (Makefile.am): Likewise.
48093         * modules/xstrtod (Makefile.am): Likewise.
48094         * modules/xstrtol (Makefile.am): Likewise.
48095         * modules/xstrtold (Makefile.am): Likewise.
48096         * modules/yesno (Makefile.am): Likewise.
48097         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
48098
48099 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
48100
48101         * modules/error (Makefile.am): Distribute files through
48102         EXTRA_DIST, not lib_SOURCES.
48103
48104 2006-10-12  Eric Blake  <ebb9@byu.net>
48105
48106         * modules/error (Makefile.am): Distribute files in /lib.
48107         * modules/obstack (Makefile.am): Likewise.
48108
48109 2006-10-12  Bruno Haible  <bruno@clisp.org>
48110
48111         * modules/acl (Makefile.am): Distribute all files in lib/ through
48112         EXTRA_DIST.
48113         * modules/arcfour (Makefile.am): Likewise.
48114         * modules/arctwo (Makefile.am): Likewise.
48115         * modules/argmatch (Makefile.am): Likewise.
48116         * modules/argz (Makefile.am): Likewise.
48117         * modules/atexit (Makefile.am): Likewise.
48118         * modules/backupfile (Makefile.am): Likewise.
48119         * modules/c-strtod (Makefile.am): Likewise.
48120         * modules/c-strtold (Makefile.am): Likewise.
48121         * modules/calloc (Makefile.am): Likewise.
48122         * modules/canon-host (Makefile.am): Likewise.
48123         * modules/canonicalize (Makefile.am): Likewise.
48124         * modules/chdir-long (Makefile.am): Likewise.
48125         * modules/chdir-safer (Makefile.am): Likewise.
48126         * modules/check-version (Makefile.am): Likewise.
48127         * modules/chown (Makefile.am): Likewise.
48128         * modules/cloexec (Makefile.am): Likewise.
48129         * modules/close-stream (Makefile.am): Likewise.
48130         * modules/closeout (Makefile.am): Likewise.
48131         * modules/crc (Makefile.am): Likewise.
48132         * modules/cycle-check (Makefile.am): Likewise.
48133         * modules/des (Makefile.am): Likewise.
48134         * modules/dirfd (Makefile.am): Likewise.
48135         * modules/dirname (Makefile.am): Likewise.
48136         * modules/dup2 (Makefile.am): Likewise.
48137         * modules/euidaccess (Makefile.am): Likewise.
48138         * modules/exclude (Makefile.am): Likewise.
48139         * modules/exitfail (Makefile.am): Likewise.
48140         * modules/fcntl-safer (Makefile.am): Likewise.
48141         * modules/file-type (Makefile.am): Likewise.
48142         * modules/fileblocks (Makefile.am): Likewise.
48143         * modules/filemode (Makefile.am): Likewise.
48144         * modules/filenamecat (Makefile.am): Likewise.
48145         * modules/fnmatch (Makefile.am): Likewise.
48146         * modules/fopen-safer (Makefile.am): Likewise.
48147         * modules/fpending (Makefile.am): Likewise.
48148         * modules/fprintftime (Makefile.am): Likewise.
48149         * modules/free (Makefile.am): Likewise.
48150         * modules/fsusage (Makefile.am): Likewise.
48151         * modules/ftruncate (Makefile.am): Likewise.
48152         * modules/fts (Makefile.am): Likewise.
48153         * modules/gc (Makefile.am): Likewise.
48154         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
48155         * modules/getaddrinfo (Makefile.am): Likewise.
48156         * modules/getcwd (Makefile.am): Likewise.
48157         * modules/getdelim (Makefile.am): Likewise.
48158         * modules/getdomainname (Makefile.am): Likewise.
48159         * modules/getgroups (Makefile.am): Likewise.
48160         * modules/gethostname (Makefile.am): Likewise.
48161         * modules/gethrxtime (Makefile.am): Likewise.
48162         * modules/getline (Makefile.am): Likewise.
48163         * modules/getloadavg (Makefile.am): Likewise.
48164         * modules/getlogin_r (Makefile.am): Likewise.
48165         * modules/getopt (Makefile.am): Likewise.
48166         * modules/getpass (Makefile.am): Likewise.
48167         * modules/getpass-gnu (Makefile.am): Likewise.
48168         * modules/getsubopt (Makefile.am): Likewise.
48169         * modules/gettime (Makefile.am): Likewise.
48170         * modules/gettimeofday (Makefile.am): Likewise.
48171         * modules/getugroups (Makefile.am): Likewise.
48172         * modules/getusershell (Makefile.am): Likewise.
48173         * modules/glob (Makefile.am): Likewise.
48174         * modules/group-member (Makefile.am): Likewise.
48175         * modules/hard-locale (Makefile.am): Likewise.
48176         * modules/hash (Makefile.am): Likewise.
48177         * modules/hmac-md5 (Makefile.am): Likewise.
48178         * modules/hmac-sha1 (Makefile.am): Likewise.
48179         * modules/human (Makefile.am): Likewise.
48180         * modules/idcache (Makefile.am): Likewise.
48181         * modules/imaxabs (Makefile.am): Likewise.
48182         * modules/imaxdiv (Makefile.am): Likewise.
48183         * modules/inet_ntop (Makefile.am): Likewise.
48184         * modules/inet_pton (Makefile.am): Likewise.
48185         * modules/inttostr (Makefile.am): Likewise.
48186         * modules/isapipe (Makefile.am): Likewise.
48187         * modules/lchown (Makefile.am): Likewise.
48188         * modules/long-options (Makefile.am): Likewise.
48189         * modules/lstat (Makefile.am): Likewise.
48190         * modules/malloc (Makefile.am): Likewise.
48191         * modules/mathl (Makefile.am): Likewise.
48192         * modules/mbchar (Makefile.am): Likewise.
48193         * modules/md2 (Makefile.am): Likewise.
48194         * modules/md4 (Makefile.am): Likewise.
48195         * modules/md5 (Makefile.am): Likewise.
48196         * modules/memcasecmp (Makefile.am): Likewise.
48197         * modules/memchr (Makefile.am): Likewise.
48198         * modules/memcmp (Makefile.am): Likewise.
48199         * modules/memcoll (Makefile.am): Likewise.
48200         * modules/memcpy (Makefile.am): Likewise.
48201         * modules/memmem (Makefile.am): Likewise.
48202         * modules/memmove (Makefile.am): Likewise.
48203         * modules/mempcpy (Makefile.am): Likewise.
48204         * modules/memrchr (Makefile.am): Likewise.
48205         * modules/memset (Makefile.am): Likewise.
48206         * modules/memxor (Makefile.am): Likewise.
48207         * modules/mkancesdirs (Makefile.am): Likewise.
48208         * modules/mkdir (Makefile.am): Likewise.
48209         * modules/mkdir-p (Makefile.am): Likewise.
48210         * modules/mkdtemp (Makefile.am): Likewise.
48211         * modules/mkstemp (Makefile.am): Likewise.
48212         * modules/mktime (Makefile.am): Likewise.
48213         * modules/modechange (Makefile.am): Likewise.
48214         * modules/mountlist (Makefile.am): Likewise.
48215         * modules/nanosleep (Makefile.am): Likewise.
48216         * modules/openat (Makefile.am): Likewise.
48217         * modules/pagealign_alloc (Makefile.am): Likewise.
48218         * modules/physmem (Makefile.am): Likewise.
48219         * modules/poll (Makefile.am): Likewise.
48220         * modules/posixtm (Makefile.am): Likewise.
48221         * modules/posixver (Makefile.am): Likewise.
48222         * modules/putenv (Makefile.am): Likewise.
48223         * modules/quote (Makefile.am): Likewise.
48224         * modules/quotearg (Makefile.am): Likewise.
48225         * modules/raise (Makefile.am): Likewise.
48226         * modules/read-file (Makefile.am): Likewise.
48227         * modules/readline (Makefile.am): Likewise.
48228         * modules/readlink (Makefile.am): Likewise.
48229         * modules/readtokens (Makefile.am): Likewise.
48230         * modules/readutmp (Makefile.am): Likewise.
48231         * modules/realloc (Makefile.am): Likewise.
48232         * modules/regex (Makefile.am): Likewise.
48233         * modules/rename (Makefile.am): Likewise.
48234         * modules/rename-dest-slash (Makefile.am): Likewise.
48235         * modules/rijndael (Makefile.am): Likewise.
48236         * modules/rmdir (Makefile.am): Likewise.
48237         * modules/rpmatch (Makefile.am): Likewise.
48238         * modules/safe-read (Makefile.am): Likewise.
48239         * modules/safe-write (Makefile.am): Likewise.
48240         * modules/same (Makefile.am): Likewise.
48241         * modules/save-cwd (Makefile.am): Likewise.
48242         * modules/savedir (Makefile.am): Likewise.
48243         * modules/setenv (Makefile.am): Likewise.
48244         * modules/settime (Makefile.am): Likewise.
48245         * modules/sha1 (Makefile.am): Likewise.
48246         * modules/sig2str (Makefile.am): Likewise.
48247         * modules/snprintf (Makefile.am): Likewise.
48248         * modules/stdlib-safer (Makefile.am): Likewise.
48249         * modules/stpcpy (Makefile.am): Likewise.
48250         * modules/stpncpy (Makefile.am): Likewise.
48251         * modules/strcase (Makefile.am): Likewise.
48252         * modules/strcasestr (Makefile.am): Likewise.
48253         * modules/strchrnul (Makefile.am): Likewise.
48254         * modules/strcspn (Makefile.am): Likewise.
48255         * modules/strdup (Makefile.am): Likewise.
48256         * modules/strerror (Makefile.am): Likewise.
48257         * modules/strftime (Makefile.am): Likewise.
48258         * modules/strndup (Makefile.am): Likewise.
48259         * modules/strnlen (Makefile.am): Likewise.
48260         * modules/strpbrk (Makefile.am): Likewise.
48261         * modules/strsep (Makefile.am): Likewise.
48262         * modules/strstr (Makefile.am): Likewise.
48263         * modules/strtod (Makefile.am): Likewise.
48264         * modules/strtoimax (Makefile.am): Likewise.
48265         * modules/strtok_r (Makefile.am): Likewise.
48266         * modules/strtol (Makefile.am): Likewise.
48267         * modules/strtoll (Makefile.am): Likewise.
48268         * modules/strtoul (Makefile.am): Likewise.
48269         * modules/strtoull (Makefile.am): Likewise.
48270         * modules/strtoumax (Makefile.am): Likewise.
48271         * modules/strverscmp (Makefile.am): Likewise.
48272         * modules/time_r (Makefile.am): Likewise.
48273         * modules/timegm (Makefile.am): Likewise.
48274         * modules/tmpfile-safer (Makefile.am): Likewise.
48275         * modules/unistd-safer (Makefile.am): Likewise.
48276         * modules/unlinkdir (Makefile.am): Likewise.
48277         * modules/userspec (Makefile.am): Likewise.
48278         * modules/utime (Makefile.am): Likewise.
48279         * modules/utimecmp (Makefile.am): Likewise.
48280         * modules/utimens (Makefile.am): Likewise.
48281         * modules/vasnprintf (Makefile.am): Likewise.
48282         * modules/vasprintf (Makefile.am): Likewise.
48283         * modules/vsnprintf (Makefile.am): Likewise.
48284         * modules/xalloc (Makefile.am): Likewise.
48285         * modules/xgetcwd (Makefile.am): Likewise.
48286         * modules/xnanosleep (Makefile.am): Likewise.
48287         * modules/xreadlink (Makefile.am): Likewise.
48288         * modules/xstrtod (Makefile.am): Likewise.
48289         * modules/xstrtol (Makefile.am): Likewise.
48290         * modules/xstrtold (Makefile.am): Likewise.
48291         * modules/yesno (Makefile.am): Likewise.
48292
48293 2006-10-12  Jim Meyering  <jim@meyering.net>
48294
48295         * m4/getloadavg.m4: Revert the change below.
48296
48297         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
48298         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
48299         fail with a symlink, which is what coreutils' ./bootstrap now
48300         creates by default.
48301
48302 2006-10-12  Bruno Haible  <bruno@clisp.org>
48303
48304         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
48305         mingw.
48306         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
48307         MSVC and mingw explicitly.
48308
48309 2006-10-11  Simon Josefsson  <jas@extundo.com>
48310             Bruno Haible  <bruno@clisp.org>
48311
48312         Add support for multiple gnulib-tool invocations in the scope of a
48313         single configure.ac file.
48314         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
48315         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
48316         with the same contents as the _LIBADD variable.
48317         (func_emit_initmacro_start, func_emit_initmacro_end,
48318         func_emit_initmacro_done): New functions.
48319         (func_import, func_create_testdir): Invoke them. Allow the identifiers
48320         gl_LIBOBJS and gl_LTLIBOBJS.
48321
48322 2006-10-11  Bruno Haible  <bruno@clisp.org>
48323
48324         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
48325         (func_create_testdir): Don't create po/Makefile.am, don't invoke
48326         autoreconf. Instead, invoke autopoint explicitly but move back the
48327         *.m4 files from gnulib.
48328
48329 2006-10-11  Bruno Haible  <bruno@clisp.org>
48330
48331         * gnulib-tool (func_usage): Make module names after --create-testdir
48332         optional.
48333         (func_create_testdir): If no module was specified, use nearly all
48334         modules.
48335
48336 2006-10-12  Jim Meyering  <jim@meyering.net>
48337
48338         Big performance improvement for fts-based tools that use FTS_NOSTAT.
48339         Avoid spurious inode-mismatch problems on non-POSIX file systems.
48340         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
48341         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
48342         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
48343         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
48344         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
48345         (fts_set_stat_required): New function.
48346         (fts_open): Defer the calls to fts_stat, if possible or requested.
48347         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
48348         into fts_stat itself.
48349         (fts_read): Perform any required (deferred) fts_stat call.
48350         (fts_build): Likewise, for the directory we're about to open and read.
48351         In the readdir loop, carefully decide whether each entry will require
48352         an eventual call to fts_stat, using dirent.d_type info if available.
48353         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
48354         a command line argument into this function.  Update all callers.
48355         Map a return value of FTS_DOT to FTS_D for a command line argument.
48356         * modules/fts (Depends-on): Add d-type.  Alphabetize.
48357         Thanks to Miklos Szeredi for his tenacity and for the initial
48358         bug report about "find" failing on a FUSE-based file system.
48359
48360         * lib/fts.c (fts_open): Use consistent indentation.
48361
48362 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
48363
48364         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
48365         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
48366         reported by Jim Meyering.  All uses of cache variables renamed
48367         to match Autoconf's.
48368         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
48369         the other one.
48370
48371         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
48372         Fix misspelling in diagnostic.
48373
48374 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
48375
48376         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
48377         defined.  Problem reported by Matthew Woehlke.
48378
48379         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
48380         Add support for Tandem NonStop R series.
48381         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
48382         Use new macro.
48383
48384         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
48385         (has_trailing_slash): Omit size arg; all callers changed.
48386         Omit 'inline', since it doesn't help performance and we'd
48387         need to configure it.
48388         Don't count //, ///, etc. as having a trailing slash.
48389         As a side effect, this removes a C99ism reported by Matthew Woehlke.
48390         (rpl_rename_dest_slash): On failure, use rename's errno rather
48391         than (in some cases) an incorrect or junk errno.
48392         Simplify code by removing need to compute length; this does
48393         cause it to make two passes instead of one over the file name,
48394         but it's worth it.
48395
48396         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
48397         change, since Autoconf's version may no longer be appropriate now
48398         that we are using CVS Autoconf's version.  Add support for Tandem.
48399
48400 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
48401             Bruno Haible  <bruno@clisp.org>
48402
48403         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
48404         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
48405         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
48406         gl_AC_TYPE_LONG_LONG.
48407
48408         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
48409         instead of HAVE_LONG_LONG.
48410         * lib/printf-args.c (printf_fetchargs): Likewise.
48411         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
48412         * lib/vasnprintf.c (VASNPRINTF): Likewise.
48413         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
48414         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
48415         gl_AC_TYPE_LONG_LONG.
48416
48417 2006-10-11  Bruno Haible  <bruno@clisp.org>
48418
48419         * m4/longlong.m4: Add comments.
48420         * m4/ulonglong.m4: Likewise.
48421
48422 2006-10-10  Bruno Haible  <bruno@clisp.org>
48423
48424         Make it possible to #define stpcpy, strdup to aliases.
48425         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
48426         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
48427
48428 2006-10-10  Bruno Haible  <bruno@clisp.org>
48429
48430         Make it possible to #define gcd to an alias.
48431         * lib/gcd.c: Include config.h.
48432
48433 2006-10-10  Bruno Haible  <bruno@clisp.org>
48434
48435         Make it possible to #define c_isascii to an alias.
48436         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
48437         defined. Undefine the macros before defining them, to avoid gcc
48438         warnings.
48439         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
48440         define NO_C_CTYPE_MACROS early.
48441
48442 2006-10-10  Bruno Haible  <bruno@clisp.org>
48443
48444         Make it possible to #define set_program_name to an alias.
48445         * lib/progname.c: Don't undefine set_program_name; instead, undefine
48446         ENABLE_RELOCATABLE early.
48447
48448 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
48449
48450         Port to Tandem NSK OSS, which has 64-bit signed int but at most
48451         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
48452         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
48453         More generally, don't assume that 64-bit signed int is available
48454         if unsigned int is, and vice versa.
48455         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
48456         unsigned symbols, not on their signed counterparts.
48457         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
48458         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
48459         (UINT64_C, UINTMAX_C):
48460         Likewise.
48461         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
48462         unsigned counterparts.
48463         (Have_long_long, Unsigned): New macros.
48464         (Int): Renamed from INT.
48465         (strtoimax): Use the new macros.
48466         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
48467         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
48468         * modules/inttypes (inttypes.h): Substitute
48469         HAVE_UNSIGNED_LONG_LONG_INT.
48470         * modules/stdint (stdint.h): Likewise.
48471         (Files): Add m4/ulonglong.m4.
48472
48473 2006-10-10  Bruno Haible  <bruno@clisp.org>
48474
48475         Fix a gcc -Wshadow warning.
48476         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
48477         to 'bucket'.
48478         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
48479         gl_linked_indexof_from_to): Likewise.
48480         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
48481         Likewise.
48482         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
48483         Likewise.
48484         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
48485         Reported by Eric Blake.
48486
48487 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
48488
48489         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
48490         for NetBSD.  Problem reported by Bruno Haible.
48491
48492 2006-10-09  Jim Meyering  <jim@meyering.net>
48493
48494         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
48495         Patch from Bruno Haible.
48496
48497 2006-10-09  Jim Meyering  <jim@meyering.net>
48498
48499         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
48500         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
48501         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
48502
48503 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
48504
48505         Don't include <config.h> twice; this doesn't work in some cases,
48506         e.g., when config.h has "#define intmax_t long long int" and
48507         we include <config.h>, <inttypes.h>, <config.h> in that order.
48508         Problem reported by Matthew Woehlke in:
48509         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
48510         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
48511         * lib/fts-cycle.c: Don't include config.h.
48512         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
48513         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
48514         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
48515         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
48516         inttypes.h.
48517         * lib/xstrtoumax.c: Likewise.
48518         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
48519         __strtol and the like, so that this module is more like its siblings.
48520         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
48521         Remove; no longer needed now that we assume gnulib inttypes.h.
48522
48523 2006-10-08  Bruno Haible  <bruno@clisp.org>
48524
48525         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
48526         option.
48527
48528 2006-10-07  Jim Meyering  <jim@meyering.net>
48529
48530         * modules/inttypes (inttypes.h): Revert what seems to have been
48531         an inadvertent part of today's change: use "|", not "/" in the
48532         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
48533
48534 2006-10-07  Bruno Haible  <bruno@clisp.org>
48535
48536         * modules/sublist: New file.
48537
48538 2006-10-07  Bruno Haible  <bruno@clisp.org>
48539
48540         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
48541         * modules/argz (argz.h): Likewise.
48542         * modules/arpa_inet (arpa/inet.h): Likewise.
48543         * modules/byteswap (byteswap.h): Likewise.
48544         * modules/configmake (configmake.h): Likewise.
48545         * modules/fcntl (fcntl.h): Likewise.
48546         * modules/fnmatch (fnmatch.h): Likewise.
48547         * modules/getopt (getopt.h): Likewise.
48548         * modules/glob (glob.h): Likewise.
48549         * modules/inttypes (inttypes.h): Likewise.
48550         * modules/netinet_in (netinet/in.h): Likewise.
48551         * modules/poll (poll.h): Likewise.
48552         * modules/stdbool (stdbool.h): Likewise.
48553         * modules/stdint (stdint.h): Likewise.
48554         * modules/sys_select (sys/select.h): Likewise.
48555         * modules/sys_socket (sys/socket.h): Likewise.
48556         * modules/sys_stat (sys/stat.h): Likewise.
48557         * modules/sysexits (sysexits.h): Likewise.
48558         * modules/unistd (unistd.h): Likewise.
48559         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
48560         Add a "DO NOT EDIT" comment to the generated file.
48561         (func_import): Likewise for gnulib-comp.m4.
48562
48563 2006-10-07  Bruno Haible  <bruno@clisp.org>
48564
48565         * lib/gl_sublist.h: New file.
48566         * lib/gl_sublist.c: New file.
48567
48568 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
48569
48570         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
48571         name (relative to the original working directory) and the file
48572         name component (relative to the temporary working directory).  All
48573         callers changed.
48574         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
48575         * lib/mkdir-p.c (make_dir_parents): Likewise.
48576         * lib/mkdir-p.h (make_dir_parents): Likewise.
48577
48578 2006-10-06  Eric Blake  <ebb9@byu.net>
48579
48580         Define several macros for use by the clean-temp module.
48581         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
48582         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
48583         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
48584
48585         * lib/clean-temp.h (close_stream_temp): New declaration.
48586         * lib/clean-temp.c (includes): Pull in headers according to what
48587         other modules are in use.
48588         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
48589
48590 2006-10-06  Bruno Haible  <bruno@clisp.org>
48591
48592         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
48593         instead of fopen, fwriteerror.
48594
48595 2006-10-06  Bruno Haible  <bruno@clisp.org>
48596
48597         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
48598         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
48599         int.
48600         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
48601         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
48602         Return an error indicator.
48603         Suggested by Eric Blake.
48604
48605 2006-10-06  Bruno Haible  <bruno@clisp.org>
48606
48607         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
48608         Reported by Eric Blake.
48609
48610 2006-10-06  Bruno Haible  <bruno@clisp.org>
48611
48612         * modules/closeout (Description): Mention stderr too.
48613
48614 2006-10-06  Bruno Haible  <bruno@clisp.org>
48615         and Paul Eggert  <eggert@cs.ucla.edu>
48616
48617         * lib/closeout.c (close_stdout): Also close stderr.
48618         * lib/closeout.h: Update comment.
48619
48620 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
48621
48622         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
48623         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
48624         * lib/dirchownmod.c: Include lchown.h.
48625         * lib/lchown.c: Don't include files that lchown.h now includes.
48626         Don't declare chown, since lchown.h now does that.
48627         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
48628         (lchown): Define to rpl_chown if lchown is declared but
48629         does not exist.  Declare using a prototype if lchown is not
48630         declared.  Add a copyright notice.
48631         * lib/mkstemp.h: Include <unistd.h>.
48632         * lib/openat.c: Include lchown.h.
48633
48634         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
48635         we now test for that separately.
48636         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
48637         rather than O_NOFOLLOW, when testing whether it's possible to
48638         avoid a race condition reliably.
48639         * lib/savewd.c (savewd_chdir): Likewise.
48640
48641         Remove macros that are no longer needed now that stdint.h is
48642         reliable.
48643         * lib/fsusage.c (UINTMAX_MAX): Remove.
48644         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
48645         * lib/utimecmp.c (SIZE_MAX): Remove.
48646
48647         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
48648
48649         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
48650         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
48651         O_NOATIME works.
48652
48653 2006-10-05  Bruno Haible  <bruno@clisp.org>
48654
48655         * lib/gl_list.h (gl_sortedlist_search_from_to,
48656         gl_sortedlist_indexof_from_to): New declarations.
48657         (gl_list_implementation): New fields sortedlist_search_from_to,
48658         sortedlist_indexof_from_to.
48659         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
48660         inline functions.
48661         * lib/gl_list.c (gl_sortedlist_search_from_to,
48662         gl_sortedlist_indexof_from_to): New functions.
48663         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
48664         function.
48665         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
48666         (gl_array_sortedlist_search_from_to): New function.
48667         (gl_array_list_implementation): Update.
48668         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
48669         function.
48670         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
48671         (gl_carray_sortedlist_search_from_to): New function.
48672         (gl_carray_list_implementation): Update.
48673         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
48674         gl_linked_sortedlist_indexof_from_to): New functions.
48675         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
48676         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
48677         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
48678         gl_tree_sortedlist_indexof_from_to): New functions.
48679         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
48680         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
48681         Update.
48682         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
48683         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
48684         Update.
48685
48686 2006-10-05  Bruno Haible  <bruno@clisp.org>
48687
48688         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
48689         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
48690         (struct gl_list_implementation): Add fields search_from_to,
48691         indexof_from_to. Remove fields search, indexof.
48692         (gl_list_search): Use the search_from_to method.
48693         (gl_list_search_from, gl_list_search_from_to): New functions.
48694         (gl_list_indexof): Use the indexof_from_to method.
48695         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
48696         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
48697         (gl_list_search_from, gl_list_search_from_to): New functions.
48698         (gl_list_indexof): Use the indexof_from_to method.
48699         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
48700         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
48701         gl_array_indexof. Add start_index, end_index arguments.
48702         (gl_array_search_from_to): Renamed from gl_array_search. Add
48703         start_index, end_index arguments.
48704         (gl_array_remove, gl_array_list_implementation): Update.
48705         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
48706         gl_carray_indexof. Add start_index, end_index arguments.
48707         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
48708         start_index, end_index arguments.
48709         (gl_carray_remove, gl_carray_list_implementation): Update.
48710         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
48711         gl_linked_search. Add start_index, end_index arguments.
48712         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
48713         start_index, end_index arguments.
48714         (gl_linked_remove): Update.
48715         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
48716         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
48717         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
48718         field to 'size_t'.
48719         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
48720         gl_tree_search. Add start_index, end_index arguments.
48721         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
48722         start_index, end_index arguments.
48723         (gl_tree_remove): Update.
48724         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
48725         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
48726         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
48727         function.
48728         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
48729         gl_tree_search. Add start_index, end_index arguments.
48730         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
48731         start_index, end_index arguments.
48732         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
48733         Update.
48734         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
48735
48736 2006-10-05  Bruno Haible  <bruno@clisp.org>
48737
48738         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
48739
48740         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
48741         fwriteerror_temp): New declarations.
48742         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
48743         (descriptors): New variable.
48744         (cleanup): First, close the descriptors.
48745         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
48746         fclose_temp, fwriteerror_temp): New functions.
48747
48748 2006-10-04  Jim Meyering  <jim@meyering.net>
48749
48750         * lib/fts.c (fts_open): Tiny comment change.
48751
48752 2006-10-04  Bruno Haible  <bruno@clisp.org>
48753
48754         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
48755         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
48756         gl_LOCK_BODY.
48757         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
48758         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
48759         gl_LOCK_EARLY_BODY.
48760         (gl_LOCK): Require gl_LOCK_BODY.
48761
48762 2006-10-04  Bruno Haible  <bruno@clisp.org>
48763
48764         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
48765         (gl_oset_search_atleast): New declaration.
48766         (struct gl_oset_implementation): Add field 'search_atleast'.
48767         (gl_oset_search_atleast): New inline function.
48768         * lib/gl_oset.c (gl_oset_search_atleast): New function.
48769         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
48770         (gl_array_oset_implementation): Update.
48771         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
48772         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
48773         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
48774
48775 2006-10-04  Bruno Haible  <bruno@clisp.org>
48776
48777         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
48778
48779 2006-10-03  Bruno Haible  <bruno@clisp.org>
48780
48781         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
48782         from gl_avltreehash_list_implementation.
48783
48784 2006-10-03  Bruno Haible  <bruno@clisp.org>
48785
48786         * lib/gl_oset.c (gl_oset_add): Fix return type.
48787
48788 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
48789
48790         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
48791
48792 2006-10-02  Eric Blake  <ebb9@byu.net>
48793
48794         * modules/strnlen (Depends-on): Add extensions.
48795
48796 2006-10-02  Eric Blake  <ebb9@byu.net>
48797
48798         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
48799         definition in 2.60+.
48800
48801 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
48802
48803         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
48804         checks.
48805
48806 2006-10-02  Bruno Haible  <bruno@clisp.org>
48807
48808         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
48809         to the AUTOMAKE_OPTIONS.
48810         Reported by Jim Meyering.
48811
48812 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
48813
48814         Work around bug in Solaris 10 /proc file system:
48815         /proc/self/fd/NNN/.. isn't the parent directory of
48816         the directory whose file descriptor is NNN.  This needs to
48817         be worked around at run time, not compile time, since a
48818         program might be built on Solaris 8, where things work, and
48819         run on Solaris 10.
48820         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
48821         to use the following interface instead:
48822         (OPENAT_BUFFER_SIZE): New macro.
48823         (openat_proc_name): New function.
48824         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
48825         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
48826         Likewise.
48827         * lib/openat-proc.c: New file.
48828         * modules/openat (Files): Add lib/openat-proc.c.
48829         (Depends-on): Add same-inode, stdbool.
48830         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
48831
48832 2006-09-29  Bruno Haible  <bruno@clisp.org>
48833
48834         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
48835         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
48836         argument. Set stdout_closed before testing for ferror, not after.
48837         (fwriteerror, fwriteerror_no_ebadf): New functions.
48838
48839 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48840
48841         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
48842
48843 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
48844
48845         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
48846         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
48847
48848 2006-09-28  Jim Meyering  <jim@meyering.net>
48849
48850         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
48851         Include <unistd.h>.
48852
48853 2006-09-28  Bruno Haible  <bruno@clisp.org>
48854
48855         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
48856         * modules/linkedhash-list (Depends-on): Likewise.
48857         * modules/rbtreehash-list (Depends-on): Likewise.
48858
48859 2006-09-28  Bruno Haible  <bruno@clisp.org>
48860
48861         * lib/strndup.h: Simplify the redefinition of strndup.
48862         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
48863         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
48864
48865 2006-09-28  Bruno Haible  <bruno@clisp.org>
48866
48867         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
48868         * lib/gl_linkedhash_list.c: Likewise.
48869         * lib/gl_rbtreehash_list.c: Likewise.
48870
48871 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
48872
48873         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
48874         getaddrinfo.
48875
48876         * lib/__fpending.h: Don't include <stdio_ext.h> unless
48877         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
48878         it causes <stdio_ext.h> to cause a compile-time error.
48879         Problem reported by Nelson H. F. Beebe.
48880         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
48881         of HAVE_DECL___PENDING.
48882
48883         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
48884         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
48885         declaration.
48886
48887 2006-09-27  Jim Meyering  <jim@meyering.net>
48888
48889         This file could end up with a definition for a function
48890         named __strndup, rather than rpl_strndup on a system with
48891         incomplete weak_alias support.
48892         * lib/strndup.c (strndup): Rename from __strndup.
48893         Remove #defines that used to map __strndup to strndup.
48894         Don't use K&R prototypes.
48895         Remove LIBC-related code, since this file is not sync'd with glibc.
48896         * lib/strndup.h: Revamp, accordingly.
48897         * m4/strndup.m4: Modernize.
48898
48899 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
48900
48901         * modules/savewd (Depends-on): Add 'raise'.
48902         * lib/savewd.c: Include <signal.h>, for 'raise'.
48903
48904 2006-09-26  Jim Meyering  <jim@meyering.net>
48905
48906         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
48907         when we detect Darwin 8.7.0's acl_get_file bug.
48908         Rearrange to perform the new (below) run-test while $LIBS
48909         contains any acl-related library.  Set USE_ACL at the end.
48910         (gl_ACL_GET_FILE): New function.
48911
48912 2006-09-26  Eric Blake  <ebb9@byu.net>
48913
48914         * lib/verror.c: Include <config.h> unconditionally.
48915
48916 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
48917
48918         * modules/clock-time (Maintainer): Add self.
48919         * modules/getlogin_r (Depends-on): Add extensions.
48920
48921 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48922
48923         * modules/clock-time: New module.
48924         * modules/nanosleep (Depends-on): Add clock-time.
48925         * modules/gethrxtime (Depends-on): Likewise.
48926         * modules/gettime (Depends-on): Likewise.
48927         * modules/settime (Depends-on): Likewise.
48928
48929         * modules/fts-lgpl: Depend on openat.
48930         * modules/mkancesdirs: Depend on savewd.
48931         * modules/mkdir-p: Likewise.
48932
48933 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48934
48935         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
48936
48937         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
48938         `gl_have_arbitrary_file_name_length_limit' to
48939         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
48940         actually works between configure runs.
48941
48942 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48943             Bruno Haible  <bruno@clisp.org>
48944
48945         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
48946
48947 2006-09-25  Jim Meyering  <jim@meyering.net>
48948
48949         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
48950         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
48951
48952 2006-09-25  Eric Blake  <ebb9@byu.net>
48953
48954         * gnulib-tool (func_import, func_create_testdir): Fix typos in
48955         exec's in 2006-09-18 patch when shuffling fds.
48956
48957 2006-09-25  Bruno Haible  <bruno@clisp.org>
48958
48959         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
48960         Reported by Jim Meyering.
48961
48962 2006-09-24  Jim Meyering  <jim@meyering.net>
48963
48964         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
48965         compare a pointer against a literal "0".  That caused failures with
48966         at least HP-UX's hpcc.
48967
48968 2006-09-22  Simon Josefsson  <jas@extundo.com>
48969
48970         * modules/gc-sha1:
48971         * modules/gc-md4:
48972         * modules/gc-hmac-sha1:
48973         * modules/gc-hmac-md5:
48974         * modules/gc-des:
48975         * modules/gc-arcfour: Distribute more files.
48976
48977 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48978
48979         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
48980         (gl_linked_iterator_from_to): Initialize struct completely.
48981         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
48982         (gl_tree_iterator_from_to): Likewise
48983         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
48984         * lib/gl_array_list.c [lint] (gl_array_iterator)
48985         (gl_array_iterator_from_to): Likewise.
48986         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
48987         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
48988         (gl_carray_iterator_from_to): Likewise.
48989
48990         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
48991         * lib/md4.c (md4_process_block): Remove unused variable.
48992         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
48993         parentheses for clarity.
48994
48995 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48996
48997         * modules/bison-i18n (Depends-on): Add gettext.
48998
48999 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49000
49001         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
49002         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
49003         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
49004         also add missing comma that caused broken test.
49005         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
49006         stdlib.h, for `abort'.
49007         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
49008         variables.
49009         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
49010         include unistd.h if present, for `rmdir'.
49011         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
49012         variables.
49013         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
49014         in the process include standard headers for prototypes.
49015         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
49016         gets declared on GNU/Linux.
49017         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
49018         unistd.h, for `rmdir'.
49019         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
49020
49021         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
49022         always true.
49023         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
49024
49025         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
49026
49027 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49028
49029         * gnulib-tool (func_version): Create output all at once.  This
49030         may help avoid triggering unnecessary SIGPIPEs, and at any
49031         rate it doesn't hurt.
49032
49033 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49034             Bruno Haible  <bruno@clisp.org>
49035
49036         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
49037         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
49038         * m4/signed.m4 (bh_C_SIGNED): Likewise.
49039
49040         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
49041         (gl_FUNC_VASPRINTF): Invoke it.
49042
49043 2006-09-22  Bruno Haible  <bruno@clisp.org>
49044
49045         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
49046         getloadavg.c as first argument.
49047
49048 2006-09-22  Bruno Haible  <bruno@clisp.org>
49049
49050         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
49051         at the beginning of the gl_INIT macro.
49052         * modules/getloadavg (configure.ac): Pass $gl_source_base to
49053         gl_GETLOADAVG.
49054
49055 2006-09-22  Bruno Haible  <bruno@clisp.org>
49056
49057         * gnulib-tool (func_create_megatestdir): Don't include the config-h
49058         module.
49059         Suggested by Ralf Wildenhues.
49060
49061 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
49062
49063         Import this patch from libc:
49064
49065         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
49066
49067         * lib/regex_internal.c (re_string_reconstruct): Handle
49068         offset < pstr->valid_raw_len && pstr->offsets_needed case.
49069         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
49070         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
49071         re_string_context_at.
49072
49073         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
49074         now requires it.
49075         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
49076         gl_REGEX now does it for us.
49077         (gl_REGEX): Add test taken from
49078         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
49079
49080         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
49081         Check that large offsets work.  Modernize Autoconf usages.
49082         Prefer "yes" to mean a good thing rather than a bad.
49083         Don't put "#define mkstemp" in config.h, as this might interfere
49084         with standard system headers that "#define mkstemp mkstemp64".
49085
49086         * modules/mkstemp (Depends-on): Add extensions, so that
49087         mkstemp is visible on some platforms.
49088         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
49089         (Include): Change to "mkstemp.h" from <stdlib.h>.
49090         (Files): Add mkstemp.h.
49091
49092         * lib/mkstemp.h: New file, since some standard headers
49093         #define mkstemp.
49094         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
49095         Include "mkstemp.h".
49096         Make the _LIBC code resemble glibc original more,
49097         e.g., use K&R style.
49098         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
49099         (mkstemp): Remove, since mkstemp.h does this for us.
49100         * lib/stdlib--.h: Include mkstemp.h.
49101
49102         Import this patch from libc:
49103
49104         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
49105
49106         * lib/tempname.c (__gen_tempname): Change attempts_min
49107         into a macro.  Use preprocessor to decide how to initialize
49108         attempts [Coverity CID 67].
49109
49110 2006-09-20  Bruno Haible  <bruno@clisp.org>
49111
49112         * lib/mkdtemp.c: Import from libc.
49113         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
49114                 * sysdeps/posix/tempname.c (__gen_tempname): Change
49115                 attempts_min into a macro.  Use preprocessor to decide how to
49116                 initialize attempts [Coverity CID 67].
49117         2001-11-27  Paul Eggert  <eggert@twinsun.com>
49118                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
49119                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
49120
49121 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49122
49123         * gnulib-tool (func_exit): New function, to allow to pass the
49124         exit status portably through the trap.  Use everywhere.
49125         (--help, --version): Signal a write error.
49126         (trap): catch SIGPIPE, for write errors.
49127         Exit at the end of the trap, with the correct exit status.
49128
49129 2006-09-19  Karl Berry  <karl@gnu.org>
49130
49131         * doc/gnulib.texi: note about the license texinfo files.
49132
49133 2006-09-19  Eric Blake  <ebb9@byu.net>
49134
49135         * gnulib-tool: Avoid space-tab.
49136
49137 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49138
49139         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
49140         that prevented coreutils 6.1 from building.  Problem reported
49141         by Petter Reinholdtsen.
49142
49143 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
49144
49145         * gnulib-tool (avoidlist): Fix typo that broke options like
49146         --avoid=lock that are used by coreutils bootstrap.
49147
49148 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
49149
49150         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
49151         more systematically.
49152
49153 2006-09-18  Jim Meyering  <jim@meyering.net>
49154
49155         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
49156
49157 2006-09-18  Bruno Haible  <bruno@clisp.org>
49158
49159         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
49160
49161 2006-09-18  Bruno Haible  <bruno@clisp.org>
49162
49163         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
49164         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
49165         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
49166         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
49167         * m4/gettext.m4: Require autoconf >= 2.52.
49168         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
49169         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
49170         of gl_cv_header_inttypes_h.
49171
49172 2006-09-18  Bruno Haible  <bruno@clisp.org>
49173
49174         * lib/javaversion.c: Include configmake.h.
49175
49176 2006-09-18  Bruno Haible  <bruno@clisp.org>
49177
49178         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
49179         avoid that the while loops be executed in a subshell.
49180
49181 2006-09-18  Bruno Haible  <bruno@clisp.org>
49182
49183         * MODULES.html.sh (func_module): Break long lines.
49184         Suggested by Bruce Korb <bkorb@gnu.org>.
49185
49186 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49187
49188         Speed up by a factor of 1.12.
49189         * gnulib-tool (nl): New variable.
49190         (func_import): Rewrite include directive extraction to only read each
49191         directive once.
49192
49193 2006-09-17  Bruno Haible  <bruno@clisp.org>
49194
49195         * modules/javaversion (Makefile.am): Remove DEFS setting.
49196         (Depends-on): Add configmake, for PKGDATADIR definition.
49197
49198 2006-09-17  Bruno Haible  <bruno@clisp.org>
49199
49200         * gnulib-tool (func_create_testdir): Rewrite all files at once.
49201
49202 2006-09-17  Bruno Haible  <bruno@clisp.org>
49203
49204         * gnulib-tool (func_append): New function, stolen from libtool.m4.
49205         (func_modules_transitive_closure, func_modules_add_dummy,
49206         func_modules_to_filelist, func_import, func_create_testdir,
49207         func_create_megatestdir, ...): Use it wherever possible.
49208         Suggested by Ralf Wildenhues.
49209
49210 2006-09-16  Karl Berry  <karl@gnu.org>
49211
49212         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
49213         to avoid sectioning errors.
49214         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
49215         [ifinfo]: blank line after @center-ed titles.
49216         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
49217         Spell FSF address consistently with others.
49218         (These changes approved by rms.)
49219
49220 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49221
49222         Speed up by a factor of 1.61.
49223         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
49224         already checked module names again.
49225
49226 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49227
49228         Speed up by a factor of 1.13.
49229         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
49230         for new_files, and the input to func_add_or_update.
49231
49232 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49233
49234         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
49235         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
49236
49237 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
49238
49239         * modules/mkancesdirs (Depends-on): Add fcntl.
49240         * modules/savewd: New file.
49241         * MODULES.html.sh (File system functions): Add savewd.
49242
49243         * modules/configmake (Makefile.am): Add support for the
49244         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
49245
49246 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
49247
49248         * m4/savewd.m4: New file.
49249
49250 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
49251
49252         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
49253         (dirchownmod): New arg FD.  All callers changed.
49254         Use FD rather than opening the directory ourself, as opening is
49255         now the caller's responsibility.
49256         * lib/dirchownmod.h: Likewise.
49257         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
49258         hosts that require <sys/types.h> before <sys/stat.h>.  Include
49259         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
49260         (test_dir): Remove.
49261         (mkancesdirs): Return length of prefix of FILE that has already
49262         been made, or -2 if there is a child doing the work.  Redo
49263         algorithm so that it is O(N) rather than O(N**2).  Optimize away
49264         ".", and treat ".." specially since it might stray back into
49265         already-created areas.  Use a subprocess if necessary.  New arg
49266         WD; all users changed.  MAKE_DIR function should now return 1
49267         if it creates a directory that is not readable.  Return -2 if
49268         a child process is spun off.
49269         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
49270         Adjust signature to match code.
49271         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
49272         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
49273         all users changed.
49274         * lib/savewd.c, lib/savewd.h: New files.
49275
49276 2006-09-15  Jim Meyering  <jim@meyering.net>
49277
49278         * modules/rename-dest-slash: New module.
49279         * MODULES.html.sh (posix_compat): Add it here.
49280
49281         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
49282
49283 2006-09-15  Jim Meyering  <jim@meyering.net>
49284
49285         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
49286         file.
49287
49288         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
49289
49290 2006-09-15  Jim Meyering  <jim@meyering.net>
49291
49292         * lib/rename-dest-slash.c (has_trailing_slash): Use
49293         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
49294         (rpl_rename_dest_slash): Perform the cheaper trailing slash
49295         test before testing whether SRC is a directory.
49296         Suggestions from Bruno Haible.
49297
49298         Avoid a warning about an unused variable.
49299         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
49300         into the #ifdef block where it's used.
49301
49302         * lib/rename-dest-slash.c: New file.
49303
49304 2006-09-14  Bruno Haible  <bruno@clisp.org>
49305
49306         * lib/allocsa.c: Include <config.h> unconditionally.
49307         * lib/asnprintf.c: Likewise.
49308         * lib/asprintf.c: Likewise.
49309         * lib/c-strcasecmp.c: Likewise.
49310         * lib/c-strcasestr.c: Likewise.
49311         * lib/c-strncasecmp.c: Likewise.
49312         * lib/c-strstr.c: Likewise.
49313         * lib/classpath.c: Likewise.
49314         * lib/clean-temp.c: Likewise.
49315         * lib/concatpath.c: Likewise.
49316         * lib/copy-file.c: Likewise.
49317         * lib/csharpcomp.c: Likewise.
49318         * lib/csharpexec.c: Likewise.
49319         * lib/execute.c: Likewise.
49320         * lib/fatal-signal.c: Likewise.
49321         * lib/findprog.c: Likewise.
49322         * lib/fwriteerror.c: Likewise.
49323         * lib/gl_array_list.c: Likewise.
49324         * lib/gl_array_oset.c: Likewise.
49325         * lib/gl_avltree_list.c: Likewise.
49326         * lib/gl_avltree_oset.c: Likewise.
49327         * lib/gl_avltreehash_list.c: Likewise.
49328         * lib/gl_carray_list.c: Likewise.
49329         * lib/gl_linked_list.c: Likewise.
49330         * lib/gl_linkedhash_list.c: Likewise.
49331         * lib/gl_list.c: Likewise.
49332         * lib/gl_oset.c: Likewise.
49333         * lib/gl_rbtree_list.c: Likewise.
49334         * lib/gl_rbtree_oset.c: Likewise.
49335         * lib/gl_rbtreehash_list.c: Likewise.
49336         * lib/imaxabs.c: Likewise.
49337         * lib/imaxdiv.c: Likewise.
49338         * lib/javacomp.c: Likewise.
49339         * lib/javaexec.c: Likewise.
49340         * lib/javaversion.c: Likewise.
49341         * lib/linebreak.c: Likewise.
49342         * lib/localcharset.c: Likewise.
49343         * lib/lock.c: Likewise.
49344         * lib/mbchar.c: Likewise.
49345         * lib/mbswidth.c: Likewise.
49346         * lib/mkdtemp.c: Likewise.
49347         * lib/pipe.c: Likewise.
49348         * lib/printf-args.c: Likewise.
49349         * lib/printf-parse.c: Likewise.
49350         * lib/progname.c: Likewise.
49351         * lib/progreloc.c: Likewise.
49352         * lib/readlink.c: Likewise.
49353         * lib/sh-quote.c: Likewise.
49354         * lib/stpcpy.c: Likewise.
49355         * lib/stpncpy.c: Likewise.
49356         * lib/strcasecmp.c: Likewise.
49357         * lib/strcasestr.c: Likewise.
49358         * lib/strcspn.c: Likewise.
49359         * lib/striconv.c: Likewise.
49360         * lib/strncasecmp.c: Likewise.
49361         * lib/strnlen1.c: Likewise.
49362         * lib/strstr.c: Likewise.
49363         * lib/strtok_r.c: Likewise.
49364         * lib/tls.c: Likewise.
49365         * lib/tmpdir.c: Likewise.
49366         * lib/unicodeio.c: Likewise.
49367         * lib/unsetenv.c: Likewise.
49368         * lib/vasnprintf.c: Likewise.
49369         * lib/vasprintf.c: Likewise.
49370         * lib/wait-process.c: Likewise.
49371         * lib/xallocsa.c: Likewise.
49372         * lib/xsetenv.c: Likewise.
49373         * lib/xstriconv.c: Likewise.
49374
49375 2006-09-13  Simon Josefsson  <jas@extundo.com>
49376
49377         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
49378         that internally, suggested by Ralf Wildenhues
49379         <Ralf.Wildenhues@gmx.de>.
49380
49381 2006-09-13  Simon Josefsson  <jas@extundo.com>
49382
49383         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
49384         @LIBOBJS@.
49385         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
49386
49387 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
49388
49389         * lib/_fpending.c: Include <config.h> unconditionally, since we no
49390         longer worry about uses that don't define HAVE_CONFIG_H.
49391         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
49392         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
49393         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
49394         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
49395         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
49396         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
49397         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
49398         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
49399         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
49400         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
49401         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
49402         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
49403         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
49404         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
49405         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
49406         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
49407         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
49408         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
49409         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
49410         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
49411         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
49412         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
49413         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
49414         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
49415         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
49416         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
49417         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
49418         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
49419         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
49420         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
49421         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
49422         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
49423         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
49424         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
49425         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
49426         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
49427         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
49428         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
49429         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
49430         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
49431         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
49432         Likewise.
49433
49434 2006-09-13  Eric Blake  <ebb9@byu.net>
49435
49436         * lib/getopt.c: Fix typo in last commit.
49437
49438 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
49439
49440         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
49441         dgettext.
49442
49443 2006-09-12  Jim Meyering  <jim@meyering.net>
49444
49445         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
49446         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
49447         Reported by Nelson H. F. Beebe.
49448
49449 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
49450
49451         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
49452         program_invocation_name and program_invocation_short_name are
49453         initialized.
49454         * lib/argp-namefrob.h: Move declarations of program_invocation_name
49455         and program_invocation_short_name to argp.h, so they are visible
49456         to user programs.
49457         * lib/argp.h: Likewise
49458
49459 2006-09-10  Bruno Haible  <bruno@clisp.org>
49460
49461         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
49462         m4/inttypes_h.m4, m4/uintmax_t.m4.
49463
49464 2006-09-10  Bruno Haible  <bruno@clisp.org>
49465
49466         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
49467         gl_AC_TYPE_UINTMAX_T.
49468
49469 2006-09-10  Bruno Haible  <bruno@clisp.org>
49470
49471         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
49472
49473 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
49474
49475         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
49476         convention.  Text proposed by Bruno Haible.
49477         (struct argp_option): Document the use of N_() wrappers.
49478
49479         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
49480         '\v', and translate the two parts separately, instead of feeding
49481         the whole string to gettext.  This allows to exclude
49482         '\v' from the strings visible to the translator by writing doc
49483         strings as N_("..") "\v" N_("..").
49484
49485 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
49486
49487         * config/srclist.txt: Undo latest change; the bug was fixed.
49488
49489 2006-09-09  Bruno Haible  <bruno@clisp.org>
49490
49491         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
49492         assignments if building a library without libtool.
49493         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
49494         in func_emit_lib_Makefile_am.
49495         (func_import): When building a static library libfoo.a, arrange to
49496         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
49497         (func_create_testdir): Likewise.
49498         * modules/gc (configure.ac, Makefile.am): If building statically,
49499         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
49500         * modules/iconvme (configure.ac, Makefile.am): Likewise.
49501         * modules/striconv (configure.ac, Makefile.am): Likewise.
49502         Based on a suggestion by Ralf Wildenhues.
49503
49504 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
49505
49506         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
49507         Check for unistd.h too, since Autoconf doesn't assume POSIX.
49508         Also:
49509
49510         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
49511         Add year_2050_test to catch glibc bug 2821
49512         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
49513
49514         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
49515         Prefer #ifdef to #if.
49516
49517         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
49518         Return from 'main' instead of calling 'exit'.
49519
49520 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
49521
49522         * lib/mktime.c (guess_time_tm): Fix bug where mktime
49523         returned the maximum time_t value rather than (time_t) -1.
49524         Problem originally reported by William Bardwell
49525         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
49526
49527         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
49528         Moved to here ...
49529         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
49530         ... from here.
49531
49532 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
49533
49534         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
49535         2821 is fixed.
49536
49537 2006-09-08  Jim Meyering  <jim@meyering.net>
49538
49539         Don't make generated files read-only.  That would bother too many
49540         people.  However, do retain the ability to work when targets are
49541         read-only: remove the destination and temporary files before writing
49542         them (when generated via sed or echo), or by using the -f option for
49543         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
49544         * modules/alloca-opt, modules/argz, modules/arpa_inet:
49545         * modules/byteswap, modules/configmake, modules/fcntl:
49546         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
49547         * modules/localcharset, modules/netinet_in, modules/poll:
49548         * modules/stdbool, modules/stdint, modules/sys_select:
49549         * modules/sys_socket, modules/sys_stat, modules/sysexits:
49550
49551 2006-09-08  Jim Meyering  <jim@meyering.net>
49552
49553         Avoid new build failure on FreeBSD 6.0.
49554         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
49555         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
49556         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
49557
49558 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49559
49560         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
49561
49562 2006-09-07  Jim Meyering  <jim@meyering.net>
49563
49564         Fix global typo in last change: use chmod u-w, not chmod u-x.
49565         Spotted by Paul Eggert and Bruce Korb.
49566         * modules/alloca-opt, modules/argz, modules/arpa_inet:
49567         * modules/byteswap, modules/configmake, modules/fcntl:
49568         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
49569         * modules/localcharset, modules/netinet_in, modules/poll:
49570         * modules/stdbool, modules/stdint, modules/sys_select:
49571         * modules/sys_socket, modules/sys_stat, modules/sysexits:
49572
49573 2006-09-06  Jim Meyering  <jim@meyering.net>
49574
49575         Make generated files be read-only.
49576         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
49577         Ensure that each generated file is now read-only.
49578         * modules/argz: Likewise.
49579         * modules/arpa_inet: Likewise.
49580         * modules/byteswap: Likewise.
49581         * modules/configmake: Likewise.
49582         * modules/fcntl: Likewise.
49583         * modules/fnmatch: Likewise.
49584         * modules/getopt: Likewise.
49585         * modules/glob: Likewise.
49586         * modules/inttypes: Likewise.
49587         * modules/netinet_in: Likewise.
49588         * modules/poll: Likewise.
49589         * modules/stdbool: Likewise.
49590         * modules/stdint: Likewise.
49591         * modules/sys_select: Likewise.
49592         * modules/sys_socket: Likewise.
49593         * modules/sys_stat: Likewise.
49594         * modules/sysexits: Likewise.
49595         * modules/localcharset: Same as above, but continue using temporary
49596         file named "t-$@" (why different?) rather than the "$@-t" used
49597         everywhere else.
49598
49599         * modules/sysexits (Makefile.am): Replace literal occurrences
49600         of "sysexit.h" more readable, and more consistent, "$@".
49601
49602 2006-09-06  Bruno Haible  <bruno@clisp.org>
49603
49604         * modules/striconv: New file.
49605         * modules/xstriconv: New file.
49606         * MODULES.html.sh (Internationalization functions): Add striconv,
49607         xstriconv.
49608
49609 2006-09-06  Bruno Haible  <bruno@clisp.org>
49610
49611         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
49612         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
49613         not using libtool correctly.
49614
49615 2006-09-06  Bruno Haible  <bruno@clisp.org>
49616
49617         * lib/striconv.h: New file.
49618         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
49619         iconvstring.c.
49620         * lib/xstriconv.h: New file.
49621         * lib/xstriconv.c: New file.
49622
49623 2006-09-06  Bruno Haible  <bruno@clisp.org>
49624
49625         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
49626         lib_..._LDFLAGS.
49627
49628 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49629
49630         * lib/argz_.h: Sync from Libtool.
49631
49632         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
49633                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
49634
49635         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
49636
49637 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
49638
49639         * modules/trim: New file.
49640
49641 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
49642
49643         * lib/trim.h: New file.
49644         * lib/trim.c: New file.
49645
49646 2006-09-05  Bruno Haible  <bruno@clisp.org>
49647
49648         * MODULES.html.sh (String handling): Add trim.
49649
49650 2006-09-04  Karl Berry  <karl@gnu.org>
49651
49652         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
49653         until next release.
49654
49655 2006-09-03  Bruno Haible  <bruno@clisp.org>
49656
49657         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
49658         correctly.
49659
49660 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49661
49662         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
49663         not gl_GETLOADAVG.  Omit unneeded semicolons.
49664         Problems reported by Ralf Wildenhues in
49665         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
49666         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
49667         at the end, which is the usual gnulib style.
49668
49669         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
49670         of doing all the work ourselves.
49671         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
49672         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
49673
49674 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49675
49676         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
49677         Problem reported by Ralf Wildenhues in
49678         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
49679
49680         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
49681         HAVE_STRUCT_STATFS_F_FSTYPENAME.
49682
49683 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
49684
49685         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
49686         yesterday's patch by changing test -n to test -z.
49687
49688 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
49689
49690         * modules/getloadavg (Files): Add m4/getloadavg.m4.
49691         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
49692         the former is now obsolescent.
49693
49694         * modules/chdir-long (Depends-on): Add fcntl.
49695
49696 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
49697
49698         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
49699         obsolescent, and programs should use gnulib instead.
49700         * m4/getloadavg.m4: New file, with contents taken from Autoconf
49701         but with prefixes changed.
49702
49703 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
49704
49705         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
49706         or stdbool.h, because they might not exist while configuring.
49707
49708         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
49709         Don't include unistd.h or limits.h; not needed, since chdir-long.h
49710         does that for us.
49711         (O_DIRECTORY): Remove.
49712
49713 2006-08-31  Eric Blake  <ebb9@byu.net>
49714
49715         * gnulib-tool: Don't let emacs change spaces to TAB.
49716
49717 2006-08-31  Bruno Haible  <bruno@clisp.org>
49718
49719         * gnulib-tool: When calling func_import more than once, do it in a
49720         subshell.
49721         Reported by Eric Blake <ebb9@byu.net>.
49722
49723 2006-08-31  Bruno Haible  <bruno@clisp.org>
49724
49725         * gnulib-tool (nl): Remove variable.
49726         (sed_transform_lib_file): Use more robust test for config-h module.
49727         (func_import): Fix typo in 2006-08-25 patch.
49728
49729 2006-08-31  Bruno Haible  <bruno@clisp.org>
49730
49731         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
49732         specified, augment Makefile.am variables instead of assigning them.
49733
49734 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49735
49736         Work around a bug in both the Linux and SunOS 64-bit kernels:
49737         nanosleep mishandles sleeps for longer than 2**31 seconds.
49738         Problem reported by Frank v Waveren in
49739         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
49740         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
49741         Check for nanosleep bug.
49742         (LIB_NANOSLEEP): Append clock_gettime library if needed.
49743
49744 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49745
49746         Work around a bug in both the Linux and SunOS 64-bit kernels:
49747         nanosleep mishandles sleeps for longer than 2**31 seconds.
49748         Problem reported by Frank v Waveren in
49749         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
49750         * lib/nanosleep.c (BILLION): New constant.
49751         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
49752         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
49753         implementation.
49754
49755 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49756
49757         * modules/nanosleep (Depends-on): Add gettime.
49758
49759 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
49760         and Simon Josefsson  <jas@extundo.com>
49761         and Oskar Liljeblad  <oskar@osk.mine.nu>
49762
49763         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
49764         * gnulib-tool (func_import): New license type 'unmodifiable license
49765         text'.
49766         * modules/fdl: Use it.  Longer description.
49767         * module/gpl, module/lgpl: New files.
49768
49769 2006-08-30  Jim Meyering  <jim@meyering.net>
49770
49771         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
49772         shadowing the parameter.
49773
49774 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49775
49776         Sync from Libtool:
49777
49778         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49779
49780         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
49781         sharing with gnulib.  Report by Eric Blake.
49782
49783 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
49784
49785         * modules/isapipe: New file.
49786         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
49787
49788 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
49789
49790         * modules/configmake (Makefile.am): Add a comment, and omit
49791         the CONFIGMAKE_ prefix from generated macro names.  Suggested
49792         by Bruno Haible.
49793
49794 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
49795
49796         * m4/isapipe.m4: New file.
49797
49798 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
49799
49800         * lib/isapipe.c, lib/isapipe.h: New files.
49801
49802 2006-08-29  Jim Meyering  <jim@meyering.net>
49803
49804         * modules/configmake (Makefile.am): Make configmake.h depend on
49805         Makefile.  Otherwise, a stale configmake.h could hang around.
49806
49807 2006-08-29  Eric Blake  <ebb9@byu.net>
49808
49809         * lib/error.c (error_at_line, print_errno_message): Match libc, after
49810         resolution of upstream bug 3044.
49811
49812 2006-08-29  Bruno Haible  <bruno@clisp.org>
49813
49814         * modules/localcharset (Depends-on): Add configmake.
49815         (Makefile.am): Remove setting of LIBDIR through DEFS.
49816
49817 2006-08-29  Bruno Haible  <bruno@clisp.org>
49818
49819         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
49820         defined.
49821
49822 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
49823
49824         * modules/fcntl: New file.
49825         * modules/chdir-safer (Depends-on): Add fcntl.
49826         * modules/fts: Likewise.
49827         * modules/mkdir-p: Likewise.
49828
49829         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
49830         This undoes the most recent change, since we're now addressing the
49831         problem in a different way.
49832
49833         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
49834         into output, since the output might be called Makefile.am even
49835         if $makefile_name is something different.
49836         (func_import): Use $makefile_am rather than
49837         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
49838         empty.
49839
49840         * modules/inttypes (Files): Add m4/inttypes-h.m4.
49841
49842 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
49843
49844         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
49845         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
49846         recent change to stdint.m4, since we're now addressing the problem in a
49847         different way.
49848
49849 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
49850
49851         * m4/fcntl_h.m4: New file.
49852
49853 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
49854
49855         * lib/fcntl_.h: New file.
49856         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
49857         the fcntl module.
49858         * lib/dirchownmod.c: Likewise.
49859         * lib/fts.c: Likewise.
49860
49861         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
49862         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
49863         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
49864         just before including <inttypes.h>, to avoid circular inclusion.
49865
49866 2006-08-28  Jim Meyering  <jim@meyering.net>
49867
49868         * doc/visibility.texi: Actually read and correct the grammar of the
49869         sentence affected by yesterday's change.
49870
49871 2006-08-28  Eric Blake  <ebb9@byu.net>
49872
49873         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
49874         needs wrapper.
49875
49876 2006-08-28  Eric Blake  <ebb9@byu.net>
49877
49878         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
49879
49880 2006-08-28  Eric Blake  <ebb9@byu.net>
49881
49882         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
49883
49884 2006-08-28  Bruno Haible  <bruno@clisp.org>
49885
49886         * modules/c-strstr: New file, from GNU gettext.
49887         * MODULES.html.sh (String handling): Add c-strstr.
49888
49889 2006-08-28  Bruno Haible  <bruno@clisp.org>
49890
49891         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
49892         macros.
49893         Reported by Eric Blake.
49894
49895 2006-08-28  Bruno Haible  <bruno@clisp.org>
49896
49897         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
49898         (VASNPRINTF): Return a string of length > INT_MAX without failing.
49899         * lib/vasprintf.c: Include errno.h, limits.h.
49900         (EOVERFLOW): New fallback definition.
49901         (vasprintf): Test here whether the string length is > INT_MAX.
49902         * lib/vsnprintf.c: Include errno.h, limits.h.
49903         (EOVERFLOW): New fallback definition.
49904         (vsnprintf): Fix bug when generated string was too long for the buffer.
49905         Test here whether the string length is > INT_MAX.
49906
49907 2006-08-28  Bruno Haible  <bruno@clisp.org>
49908
49909         * lib/inttypes_.h (SCNX*): Remove definitions.
49910         Reported by Eric Blake.
49911
49912 2006-08-28  Bruno Haible  <bruno@clisp.org>
49913
49914         * lib/c-strstr.h: New file, from GNU gettext.
49915         * lib/c-strstr.c: New file, from GNU gettext.
49916
49917 2006-08-28  Bruno Haible  <bruno@clisp.org>
49918
49919         * gnulib-tool: Reorder some statements.
49920
49921 2006-08-28  Bruno Haible  <bruno@clisp.org>
49922
49923         * gnulib-tool: New option --makefile-name.
49924         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
49925         $makefile_name.
49926         (func_import): Write $makefile_name to the cache file, and read it from
49927         there unless explicitly specified. Use $makefile_name as file name
49928         instead of Makefile.am. Adjust the recommendations accordingly.
49929
49930 2006-08-28  Bruno Haible  <bruno@clisp.org>
49931
49932         * gnulib-tool (func_verify_module): Check against misapplying patch.
49933
49934 2006-08-28  Bruno Haible  <bruno@clisp.org>
49935
49936         * gnulib-tool (func_relativize, func_relconcat): New functions.
49937         Give an error if --local-dir is given with --update.
49938         Remove trailing slashes from $local_gnulib_dir.
49939         (func_import): Store the relativized $local_gnulib_dir in
49940         gnulib-cache.m4, and read it from there if not specified explicitly.
49941
49942 2006-08-28  Bruno Haible  <bruno@clisp.org>
49943
49944         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
49945         is the current directory. Respect also $local_gnulib_dir.
49946
49947 2006-08-28  Bruno Haible  <bruno@clisp.org>
49948             Simon Josefsson  <jas@extundo.com>
49949
49950         BeOS portability.
49951         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
49952
49953 2006-08-27  Jim Meyering  <jim@meyering.net>
49954
49955         * doc/visibility.texi: Remove duplicate word: "pointer".
49956
49957 2006-08-26  Bruno Haible  <bruno@clisp.org>
49958
49959         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
49960         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
49961         (Makefile.am): Create inttypes.h from inttypes_.h.
49962         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
49963
49964         * modules/imaxabs: New file.
49965
49966         * modules/imaxdiv: New file.
49967
49968 2006-08-26  Bruno Haible  <bruno@clisp.org>
49969
49970         * m4/inttypes.m4: New file.
49971         * m4/_inttypes_h.m4: Remove file.
49972         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
49973         PRI_MACROS_BROKEN.
49974         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
49975
49976         * m4/imaxabs.m4: New file.
49977
49978         * m4/imaxdiv.m4: New file.
49979
49980 2006-08-26  Bruno Haible  <bruno@clisp.org>
49981
49982         * lib/inttypes_.h: New file.
49983         * lib/inttypes.h: Remove file.
49984         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
49985
49986         * lib/imaxabs.c: New file.
49987
49988         * lib/imaxdiv.c: New file.
49989
49990 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
49991
49992         New config-h module, so that "make" output needn't be cluttered
49993         by -DHAVE_CONFIG_H.
49994         * MODULES.html.sh (Support for building libraries and executables):
49995         Add config-h.
49996         * modules/config-h: New file.
49997         * gnulib-tool (nl, sed_transform_lib_file): New vars.
49998         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
49999         the config-h module is used.
50000
50001         New configmake module, so that "make" output needn't be cluttered
50002         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
50003         * MODULES.html.sh (Support for building libraries and executables):
50004         Add configmake.
50005         * modules/configmake: New file.
50006
50007 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
50008
50009         * m4/config-h.m4: New file.
50010
50011 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
50012
50013         * config/srclist.txt: Add elisp-comp.
50014
50015 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
50016
50017         * MODULES.html.sh (Support for building libraries and executables):
50018         Add elisp-comp.
50019         * build-aux/elisp-comp: New file.
50020         * modules/elisp-comp: New file.
50021
50022 2006-08-24  Bruno Haible  <bruno@clisp.org>
50023
50024         * gnulib-tool (func_create_testdir): Use non-default values of
50025         sourcebase and m4base.
50026
50027 2006-08-24  Bruno Haible  <bruno@clisp.org>
50028
50029         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
50030         HTML structure.
50031
50032 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
50033
50034         * modules/openat (Depends-on): Add lchown.
50035
50036 2006-08-23  Bruno Haible  <bruno@clisp.org>
50037
50038         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
50039         of gl_LOCK_EARLY instead of gl_LOCK.
50040
50041 2006-08-23  Bruno Haible  <bruno@clisp.org>
50042
50043         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
50044         on OSF/1 to no.
50045         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
50046
50047 2006-08-23  Bruno Haible  <bruno@clisp.org>
50048
50049         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
50050         as unusable.
50051
50052         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
50053         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
50054         (gl_LOCK): New macro.
50055
50056 2006-08-22  Simon Josefsson  <jas@extundo.com>
50057
50058         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
50059         to md5 module.
50060
50061 2006-08-22  Simon Josefsson  <jas@extundo.com>
50062
50063         * MODULES.html.sh: Add "Support for maintaining and release
50064         projects".
50065
50066         * build-aux/gnupload: New file, from coreutils.
50067
50068 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
50069
50070         Avoid the need for AC_LIBSOURCES in m4 macros.
50071         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
50072         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
50073         * modules/check-version (EXTRA_DIST): Add check-version.h.
50074         * modules/crc (EXTRA_DIST): Add crc.h.
50075         * modules/des (EXTRA_DIST): Add des.h.
50076         * modules/gc (EXTRA_DIST): Add gc.h.
50077         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
50078         * modules/getline (EXTRA_DIST): Add getline.h.
50079         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
50080         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
50081         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
50082         * modules/md2 (EXTRA_DIST): Add md2.h.
50083         * modules/md4 (EXTRA_DIST): Add md4.h.
50084         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
50085         * modules/read-file (EXTRA_DIST): Add read-file.h.
50086         * modules/readline (EXTRA_DIST): Add readline.h.
50087         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
50088         rijndael-api-fst.h.
50089
50090 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
50091
50092         * m4/rijndael.m4 (gl_ARCFOUR):
50093         * m4/arctwo.m4 (gl_ARCTWO):
50094         * m4/check-version.m4 (gl_CHECK_VERSION):
50095         * m4/crc.m4 (gl_CRC):
50096         * m4/des.m4 (gl_DES):
50097         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
50098         * m4/gc.m4 (gl_GC):
50099         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
50100         * m4/getline.m4 (gl_FUNC_GETLINE):
50101         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
50102         * m4/hmac-md5.m4 (gl_HMAC_MD5):
50103         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
50104         * m4/md2.m4 (gl_MD2):
50105         * m4/md4.m4 (gl_MD4):
50106         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
50107         * m4/read-file.m4 (gl_FUNC_READ_FILE):
50108         * m4/readline.m4 (gl_FUNC_READLINE):
50109         * m4/rijndael.m4 (gl_RIJNDAEL):
50110         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
50111         to get the necessary .h files and whatnot.
50112
50113 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
50114
50115         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
50116         gnulib rather than the other way around.
50117         * config/srclistvars.sh (COREUTILS): Remove.
50118
50119 2006-08-22  Jim Meyering  <jim@meyering.net>
50120
50121         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
50122
50123         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
50124
50125 2006-08-22  Eric Blake  <ebb9@byu.net>
50126
50127         * modules/regexprops-generic: New file.
50128         * MODULES.html.sh (Support for building documentation): List it.
50129
50130 2006-08-22  Eric Blake  <ebb9@byu.net>
50131
50132         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
50133         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
50134         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
50135         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
50136
50137 2006-08-22  Bruno Haible  <bruno@clisp.org>
50138
50139         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
50140         and lib_LTLIBRARIES like the other lib_* variables.
50141
50142 2006-08-22  Bruno Haible  <bruno@clisp.org>
50143
50144         * build-aux/x-to-1.in: New file, from GNU gettext.
50145
50146 2006-08-22  Bruno Haible  <bruno@clisp.org>
50147
50148         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
50149         <utmpx.h> exists.
50150
50151 2006-08-22  Bruno Haible  <bruno@clisp.org>
50152
50153         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
50154         <utmpx.h> exists.
50155
50156 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
50157
50158         BeOS portability.
50159         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
50160         exist.
50161         Problem reported by Bruno Haible.
50162
50163 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
50164
50165         Avoid the need for AC_LIBSOURCES in m4 macros.
50166         * modules/acl (EXTRA_DIST): Add acl.h.
50167         * modules/argmatch (Files): Add m4/argmatch.m4.
50168         (configure.ac): Add gl_ARGMATCH.
50169         (EXTRA_DIST): Renamed from lib_SOURCES, for
50170         consistency with the other modules.  Remove argmatch.c.
50171         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
50172         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
50173         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
50174         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
50175         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
50176         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
50177         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
50178         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
50179         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
50180         * modules/closeout (EXTRA_DIST): Add closeout.h.
50181         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
50182         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
50183         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
50184         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
50185         dirname.h; remove basename.c and stripslash.c.
50186         * modules/exclude (EXTRA_DIST): Add exclude.h.
50187         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
50188         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
50189         * modules/file-type (EXTRA_DIST): Add file-type.h.
50190         * modules/filemode (EXTRA_DIST): Add filemode.h.
50191         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
50192         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
50193         * modules/fpending (EXTRA_DIST): Add __fpending.h.
50194         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
50195         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
50196         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
50197         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
50198         * modules/getdate (EXTRA_DIST): Add getdate.c.
50199         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
50200         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
50201         * modules/getpass (EXTRA_DIST): Add getpass.h.
50202         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
50203         * modules/group-member (EXTRA_DIST): Add group-member.h.
50204         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
50205         * modules/hash (EXTRA_DIST): Add hash.h.
50206         * modules/human (EXTRA_DIST): Add human.h.
50207         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
50208         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
50209         * modules/lchown (EXTRA_DIST): Add lchown.h.
50210         * modules/long-options (EXTRA_DIST): Add long-options.h.
50211         * modules/lstat (EXTRA_DIST): Add lstat.h.
50212         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
50213         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
50214         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
50215         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
50216         * modules/memxor (EXTRA_DIST): Add memxor.h.
50217         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
50218         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
50219         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
50220         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
50221         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
50222         * modules/physmem (EXTRA_DIST): Add physmem.h.
50223         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
50224         * modules/posixver (EXTRA_DIST): Add posixver.h.
50225         * modules/quote (EXTRA_DIST): Add quote.h.
50226         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
50227         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
50228         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
50229         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
50230         regex_internal.h regexec.c.
50231         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
50232         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
50233         * modules/same (EXTRA_DIST): Add same.h.
50234         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
50235         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
50236         * modules/savedir (EXTRA_DIST): Add savedir.h.
50237         * modules/sha1 (EXTRA_DIST): Add sha1.h.
50238         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
50239         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
50240         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
50241         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
50242         * modules/strdup (EXTRA_DIST): Add strdup.h.
50243         * modules/strftime (EXTRA_DIST): Add strftime.h.
50244         * modules/strndup (EXTRA_DIST): Add strndup.h.
50245         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
50246         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
50247         * modules/time_r (EXTRA_DIST): Add time_r.h.
50248         * modules/timespec (EXTRA_DIST): Add timespec.h.
50249         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
50250         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
50251         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
50252         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
50253         * modules/userspec (EXTRA_DIST): Add userspec.h.
50254         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
50255         * modules/utimens (EXTRA_DIST): Add utimens.h.
50256         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
50257         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
50258         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
50259         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
50260         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
50261         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
50262         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
50263         * modules/yesno (EXTRA_DIST): Add yesno.h.
50264
50265 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
50266
50267         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
50268
50269         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
50270         * m4/dev-ino.m4, same-inode.m4: Remove.
50271
50272         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
50273         * m4/acl.m4 (AC_FUNC_ACL):
50274         * m4/backupfile.m4 (gl_BACKUPFILE):
50275         * m4/c-strtod.m4 (gl_C99_STRTOLD):
50276         * m4/canon-host.m4 (gl_CANON_HOST):
50277         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
50278         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
50279         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
50280         * m4/cloexec.m4 (gl_CLOEXEC):
50281         * m4/close-stream.m4 (gl_CLOSE_STREAM):
50282         * m4/closeout.m4 (gl_CLOSEOUT):
50283         * m4/dirfd.m4 (gl_FUNC_DIRFD):
50284         * m4/dirname.m4 (gl_DIRNAME):
50285         * m4/exclude.m4 (gl_EXCLUDE):
50286         * m4/exitfail.m4 (gl_EXITFAIL):
50287         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
50288         * m4/file-type.m4 (gl_FILE_TYPE):
50289         * m4/filemode.m4 (gl_FILEMODE):
50290         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
50291         * m4/fpending.m4 (gl_FUNC_FPENDING):
50292         * m4/fprintftime.m4 (gl_FPRINTFTIME):
50293         * m4/fts.m4 (gl_FUNC_FTS):
50294         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
50295         * m4/getdate.m4 (gl_GETDATE):
50296         * m4/gethrxtime.m4 (gl_GETHRXTIME):
50297         * m4/getpagesize.m4 (gl_GETPAGESIZE):
50298         * m4/getpass.m4 (gl_FUNC_GETPASS):
50299         * m4/gettime.m4 (gl_GETTIME):
50300         * m4/getugroups.m4 (gl_GETUGROUPS):
50301         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
50302         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
50303         * m4/hard-locale.m4 (gl_HARD_LOCALE):
50304         * m4/hash.m4 (gl_HASH):
50305         * m4/idcache.m4 (gl_IDCACHE):
50306         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
50307         * m4/lchown.m4 (gl_FUNC_LCHOWN):
50308         * m4/long-options.m4 (gl_LONG_OPTIONS):
50309         * m4/lstat.m4 (gl_FUNC_LSTAT):
50310         * m4/md5.m4 (gl_MD5):
50311         * m4/memcasecmp.m4 (gl_MEMCASECMP):
50312         * m4/memcoll.m4 (gl_MEMCOLL):
50313         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
50314         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
50315         * m4/memxor.m4 (gl_MEMXOR):
50316         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
50317         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
50318         * m4/modechange.m4 (gl_MODECHANGE):
50319         * m4/mountlist.m4 (gl_MOUNTLIST):
50320         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
50321         * m4/openat.m4 (gl_FUNC_OPENAT):
50322         * m4/pathmax.m4 (gl_PATHMAX):
50323         * m4/physmem.m4 (gl_PHYSMEM):
50324         * m4/posixtm.m4 (gl_POSIXTM):
50325         * m4/posixver.m4 (gl_POSIXVER):
50326         * m4/quote.m4 (gl_QUOTE):
50327         * m4/quotearg.m4 (gl_QUOTEARG):
50328         * m4/readtokens.m4 (gl_READTOKENS):
50329         * m4/readutmp.m4 (gl_READUTMP):
50330         * m4/regex.m4 (gl_REGEX):
50331         * m4/safe-read.m4 (gl_SAFE_READ):
50332         * m4/safe-write.m4 (gl_SAFE_WRITE):
50333         * m4/same.m4 (gl_SAME):
50334         * m4/save-cwd.m4 (gl_SAVE_CWD):
50335         * m4/savedir.m4 (gl_SAVEDIR):
50336         * m4/settime.m4 (gl_SETTIME):
50337         * m4/sha1.m4 (gl_SHA1):
50338         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
50339         * m4/stat-macros.m4 (gl_STAT_MACROS):
50340         * m4/stat-time.m4 (gl_STAT_TIME):
50341         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
50342         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
50343         * m4/strdup.m4 (gl_FUNC_STRDUP):
50344         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
50345         * m4/strndup.m4 (gl_FUNC_STRNDUP):
50346         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
50347         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
50348         * m4/time_r.m4 (gl_TIME_R):
50349         * m4/timespec.m4 (gl_TIMESPEC):
50350         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
50351         * m4/unlinkdir.m4 (gl_UNLINKDIR):
50352         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
50353         * m4/userspec.m4 (gl_USERSPEC):
50354         * m4/utimecmp.m4 (gl_UTIMECMP):
50355         * m4/utimens.m4 (gl_UTIMENS):
50356         * m4/xalloc.m4 (gl_XALLOC):
50357         * m4/xgetcwd.m4 (gl_XGETCWD):
50358         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
50359         * m4/xreadlink.m4 (gl_XREADLINK):
50360         * m4/xstrtod.m4 (gl_XSTRTOD):
50361         * m4/yesno.m4 (gl_YESNO):
50362         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
50363         to get the necessary .h files and whatnot.
50364
50365 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
50366             Bruno Haible  <bruno@clisp.org>
50367
50368         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
50369         /bin/sh understanding of '!' conditional negation.
50370
50371 2006-08-21  Jim Meyering  <jim@meyering.net>
50372
50373         * modules/openat (Depends-on): Really alphabetize.
50374
50375         * modules/acl (Depends-on): Add error and quote.
50376
50377         * check-module (find_included_lib_files): Add at-func.c to the
50378         ok-to-include-more-than-once white list.
50379
50380         * modules/openat (Depends-on): Add lstat.  Alphabetize.
50381
50382 2006-08-21  Bruno Haible  <bruno@clisp.org>
50383
50384         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50385         Emit a pkgdata_DATA variable only if some snippets add contents to it.
50386         Reported by Martin Lambers <marlam@marlam.de>.
50387
50388 2006-08-21  Bruno Haible  <bruno@clisp.org>
50389
50390         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
50391         specify an installation location, don't emit a noinst_LIBRARIES or
50392         noinst_LTLIBRARIES assignment.
50393
50394 2006-08-21  Bruno Haible  <bruno@clisp.org>
50395
50396         BeOS portability.
50397         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
50398         BeOS has mbrtowc() but no <wctype.h>.
50399
50400 2006-08-21  Bruno Haible  <bruno@clisp.org>
50401
50402         BeOS portability.
50403         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
50404         exist.
50405
50406 2006-08-21  Bruno Haible  <bruno@clisp.org>
50407
50408         BeOS portability.
50409         * lib/mbchar.h: Include <wctype.h> only if it exists.
50410
50411 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
50412
50413         Remove files that are no longer needed by their respective modules.
50414         * m4/obstack.m4: Remove.
50415         * m4/strerror_r.m4: Remove.
50416         * m4/uint32_t.m4: Remove.
50417         * m4/uintptr_t.m4: Remove.
50418         * m4/ullong_max.m4: Remove.
50419         * m4/xstrtoimax.m4: Remove.
50420         * m4/xstrtoumax.m4: Remove.
50421
50422         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
50423         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
50424         dependencies now capture this.
50425
50426         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
50427         Do not use AC_LIBSOURCES, since gnulib modules now do this.
50428         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
50429         * m4/human.m4 (gl_HUMAN): Likewise.
50430         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
50431         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
50432
50433         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
50434
50435         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
50436         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
50437         stdint.
50438         * m4/human.m4 (gl_HUMAN): Likewise.
50439         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
50440         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
50441         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
50442         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
50443         * m4/xstrtol (gl_XSTRTOL): Likewise.
50444
50445         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
50446         AC_TYPE_LONG_LONG_INT.
50447         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
50448         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
50449         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
50450         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
50451
50452         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
50453         on stdbool.
50454
50455         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
50456         (gl_PREREQ_XSTRTOUL): Remove.
50457
50458         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
50459
50460         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
50461         mode.
50462
50463 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
50464
50465         Add and change modules to make it easier for coreutils to use
50466         gnulib-tool.
50467         * modules/backupfile (Files): Remove m4/d-ino.m4.
50468         (Depends-on): Add d-ino.
50469         * modules/cycle-check (Depends-on): Add stdint.
50470         (lib_SOURCES): Add cycle-check.h.
50471         * modules/d-ino: New module.
50472         * modules/d-type: New module.
50473         * modules/error (Files): Remove m4/strerror_r.m4.
50474         * modules/filemode (Files): Add m4/st_dm_mode.m4.
50475         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
50476         m4/inttypes_h.m4, m4/uintmax_t.m4.
50477         (Depends-on): Add stdint.
50478         (lib_SOURCES): Add fsusage.h.
50479         * modules/getcwd (Files): Remove d-ino.m4.
50480         (Depends-on): Add d-ino.
50481         * modules/getndelim2 (Depends-on): Add stdint.
50482         * modules/glob (Files): Remove m4/d-type.m4.
50483         (Depends-on): Add d-type.
50484         * modules/host-os: New module.
50485         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
50486         m4/inttypes_h.m4, m4/uintmax_t.m4.
50487         * Depends-on: Add stdint.
50488         (lib_SOURCES): Add human.h.
50489         * modules/inttostr (Files): Remove m4/intmax_t.m4,
50490         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
50491         m4/uintmax_t.m4, m4/ulonglong.m4.
50492         (Depends-on): Add stdint.
50493         (EXTRA_DIST): Add inttostr.h.
50494         * modules/lchmod: New module.
50495         * modules/link-follow: New module.
50496         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
50497         (Depends-on): Add lchmod.
50498         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
50499         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
50500         (Depends-on): Add stdint.
50501         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
50502         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
50503         (Depends-on): Add stdint.
50504         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
50505         * modules/perl: New module.
50506         * modules/regex (Depends-on): Add stdint.
50507         * modules/rmdir-errno: New module.
50508         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
50509         m4/intmax_t.m4.
50510         (Depends-on): Add stdint.
50511         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
50512         m4/uintmax_t.m4.
50513         (Depends-on): Add stdint.
50514         * modules/unlink-busy: New module.
50515         * modules/utimecmp (Depends-on): Add stdint.
50516         * modules/uptime: New module.
50517         * modules/winsz-ioctl: New module.
50518         * modules/winsz-termios: New module.
50519         * modules/xnanosleep (Depends-on): Add nanosleep.
50520         * modules/ullong_max: Remove.
50521         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
50522         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
50523         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
50524         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
50525         (Depends-on): Add inttypes.
50526         (lib_SOURCES): Add xstrtol.h.
50527         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
50528         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
50529         * MODULES.html.sh: Move 'assert' into the assert section.
50530         Move 'dummy' into the linking section.
50531         Remove ullong_max.
50532         Add section for compatibility checks for POSIX:2001 functions,
50533         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
50534         winsz-ioctl, and winsz-termios into it.
50535         Add lchmod.
50536         Add top-level Misc section and put host-os, perl, and uptime
50537         into it.
50538
50539 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
50540
50541         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
50542         now assume the stdint module.  Do not include inttypes.h.
50543         * lib/fsusage.h: Likewise.
50544         * lib/getndelim2.c: Likewise.
50545         * lib/human.h: Likewise.
50546         * lib/inttostr.h: Likewise.
50547         * lib/obstack.c: Likewise.
50548         * lib/regex_internal.h: Likewise.
50549         * lib/tempname.c: Likewise.
50550         * lib/utimecmp.c: Likewise.
50551         * lib/xstrtol.h: Likewise.
50552
50553         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
50554
50555         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
50556         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
50557         * lib/xtime.h: Likewise.
50558
50559 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
50560
50561         * modules/openat (Files): Add lib/fchmodat.c.
50562         Fixes problem reported by Jay Youngman.
50563
50564 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
50565
50566         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
50567         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
50568
50569 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
50570             Bruno Haible  <bruno@clisp.org>
50571
50572         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
50573         and is a script that invokes bison. Tighten the code. Add comments.
50574
50575 2006-08-18  Jim Meyering  <jim@meyering.net>
50576
50577         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
50578         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
50579         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
50580         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
50581
50582 2006-08-18  Bruno Haible  <bruno@clisp.org>
50583
50584         * modules/bison-i18n: New file.
50585         * MODULES.html.sh (Internationalization functions): Add it.
50586
50587 2006-08-18  Bruno Haible  <bruno@clisp.org>
50588
50589         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
50590         sys/statvfs.h. When getmntinfo was found, check its declaration and
50591         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
50592
50593 2006-08-18  Bruno Haible  <bruno@clisp.org>
50594
50595         * m4/bison-i18n.m4: New file, from bison.
50596
50597 2006-08-18  Bruno Haible  <bruno@clisp.org>
50598
50599         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
50600         (ME_DUMMY): Treat "kernfs" as a dummy.
50601         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
50602
50603 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
50604
50605         Update from coreutils.
50606
50607         2006-08-15  Jim Meyering  <jim@meyering.net>
50608
50609         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
50610
50611         2006-01-17  Jim Meyering  <jim@meyering.net>
50612
50613         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
50614
50615         2006-01-11  Jim Meyering  <jim@meyering.net>
50616
50617         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
50618         Check for the lchmod function.
50619
50620 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
50621
50622         Update from coreutils.
50623
50624         * lib/__fpending.h: Add copyright notice.
50625         * lib/fprintftime.h: Likewise.
50626         * lib/savedir.c: Use (C) in copyright notice.
50627         * lib/savedir.h: Likewise.
50628
50629         2006-08-15  Jim Meyering  <jim@meyering.net>
50630
50631         * lib/at-func.c: New file, with the logic of all emulated at-functions.
50632         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
50633         in support of the EXPECTED_ERRNO macro.
50634         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
50635         definitions.  Instead, define the appropriate symbols and include
50636         "at-func.c".
50637         * lib/mkdirat.c (mkdirat): Likewise.
50638         * lib/fchmodat.c (fchmodat): Likewise.
50639         (ENOSYS): Remove definition.
50640         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
50641         it.  Don't include "unistd--.h" -- it wasn't ever used.
50642
50643         2006-01-17  Jim Meyering  <jim@meyering.net>
50644
50645         Rewrite fts.c not to change the current working directory,
50646         by using openat, fstatat, fdopendir, etc..
50647
50648         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
50649         (HAVE_OPENAT_SUPPORT): Define.
50650         [_LIBC] (fchdir): Don't undef or define; no longer used.
50651         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
50652         Now, this `function' always succeeds, and consumes its file descriptor
50653         parameter -- so callers must not close such FDs.  Update callers.
50654         (diropen_fd, opendirat, cwd_advance_fd): New functions.
50655         (diropen): Add parameter, SP.  Adjust all callers.
50656         Implement using diropen_fd, rather than open.
50657         (fts_open): Initialize new member, fts_cwd_fd.
50658         Remove fts_rft-setting code.
50659         (fts_close): Close fts_cwd_fd, if necessary.
50660         (__opendir2): Define in terms of opendir or opendirat,
50661         depending on whether the FST_NOCHDIR flag is set.
50662         (fts_build): Since fts_safe_changedir consumes its FD, and since
50663         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
50664         and close the dup'd file descriptor upon failure.
50665         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
50666         (fts_safe_changedir): Tweak semantics to reflect that this function
50667         now calls cwd_advance_fd and hence consumes its FD argument.
50668         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
50669         [struct FTS] (fts_rft): Remove now-unused member.
50670         [struct FTS] (fts_cycle.state): Improve comment.
50671
50672         * lib/openat.c (openat_needs_fchdir): New function.
50673         * lib/openat.h (openat_needs_fchdir): Declare it.
50674
50675 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
50676
50677         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
50678         Problem and fix reported by Pádraig Brady in
50679         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
50680
50681 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50682
50683         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
50684
50685 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50686
50687         * lib/memcoll.c (memcoll): Optimize for the common case where the
50688         arguments are bytewise equal.
50689
50690 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
50691
50692         * doc/regexprops-generic.texi: Add a copyright notice.
50693
50694 2006-08-15  Bruno Haible  <bruno@clisp.org>
50695
50696         * modules/tmpdir (License): Change to LGPL.
50697
50698 2006-08-15  Bruno Haible  <bruno@clisp.org>
50699
50700         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
50701         module.
50702
50703 2006-08-14  Simon Josefsson  <jas@extundo.com>
50704
50705         * config/srclist.txt: Add gnupload.
50706
50707 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50708
50709         Change copyright notice from LGPL 2 to GPL 2, since that's the
50710         standard form used in the gnulib repository.
50711         * tests/test-lock.c: Likewise.
50712         * tests/test-stdint.c: Likewise.
50713         * tests/test-tls.c: Likewise.
50714
50715         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
50716         prelude-manager.  User shorter URLs for GNU projects, without '?'.
50717         Add copyright notice.
50718
50719         * check-module: Add copyright notice.  Output a copyright
50720         notice if "--version" is specified.
50721         * modules/COPYING: New file.
50722         * tests/test-getaddrinfo.c: Add copyright notice.
50723         * tests/test-verify.c: Likewise.
50724
50725 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50726
50727         Change copyright notice from LGPL 2 to GPL 2, since that's the
50728         standard form used in the gnulib repository.
50729         * lib/lock.c: LGPL -> GPL.
50730         * lib/lock.h: Likewise.
50731         * lib/strnlen1.c: Likewise.
50732         * lib/strnlen1.h: Likewise.
50733         * lib/tls.c: Likewise.
50734         * lib/tls.h: Likewise.
50735         * lib/tmpdir.c: Likewise.
50736
50737         * lib/TODO: Remove; this belongs only in coreutils.
50738
50739 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50740
50741         Add copyright notices to long-enough files that lack them, since
50742         otherwise the files aren't clearly free.  Use the same notice that
50743         getdate.texi already uses.
50744         * doc/alloca-opt.texi: Add copyright notice.
50745         * doc/alloca.texi: Likewise.
50746         * doc/ctime.texi: Likewise.
50747         * doc/functions.texi: Likewise.
50748         * doc/gcd.texi: Likewise.
50749         * doc/gnulib-tool.texi: Likewise.
50750         * doc/inet_ntoa.texi: Likewise.
50751         * doc/visibility.texi: Likewise.
50752
50753         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
50754         * doc/quote.texi: Add copyright notice.
50755
50756         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
50757         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
50758         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
50759         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
50760         is now obsolete, and give a pointer to the Sun list.
50761         Add copyright notice.
50762
50763 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
50764
50765         * config/srclistvars.sh: Add copyright notice.
50766
50767 2006-08-14  Eric Blake  <ebb9@byu.net>
50768
50769         Import the following change from libc:
50770
50771         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
50772
50773         Upstream bug 2997.
50774         * lib/misc/error.c: Add space between program name and message if file
50775         name is missing.
50776
50777 2006-08-12  Karl Berry  <karl@gnu.org>
50778
50779         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
50780         remove, these originate in gnulib now.
50781
50782 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50783
50784         * doc/Makefile (standards.info standards.html standards.dvi):
50785         Also depend on make-stds.texi.
50786
50787 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
50788
50789         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
50790         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
50791
50792         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
50793         in wchar_t.  Problem reported by Eric Blake.
50794
50795         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
50796         LEN is smaller than SIZE.  Suggested by Bruno Haible.
50797         Also, help the compiler to keep LEN in a register.
50798
50799 2006-08-11  Eric Blake  <ebb9@byu.net>
50800
50801         * users.txt: Sort.  Add tar.
50802
50803 2006-08-11  Bruno Haible  <bruno@clisp.org>
50804
50805         * users.txt: New file.
50806
50807 2006-08-11  Bruno Haible  <bruno@clisp.org>
50808
50809         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
50810         before <wchar.h>. Needed for OSF/1 and BSD/OS.
50811
50812 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50813
50814         * modules/snprintf (Depends-on): Remove minmax.
50815         (Maintainer): Add self and Bruno.
50816
50817 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
50818
50819         * lib/.cppi-disable: Add snprintf.h, socket_.h.
50820         * lib/snprintf.c: Include <errno.h> and <limits.h>.
50821         (EOVERFLOW): Define if the system does not.
50822         Do not include "minmax.h"; it wasn't used.
50823         (snprintf): Don't assume size_t promotes to an unsigned type.
50824         Fix bug when generated string was too long for the buffer: the
50825         buffer's contents are supposed to be the initial prefix of the
50826         output.  Don't assume vasnprintf returns EOVERFLOW if the size
50827         exceeds INT_MAX; do the check ourselves.
50828
50829         Import the following changes from libc:
50830
50831         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
50832
50833         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
50834         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
50835         set wc to the byte which couldn't be converted.
50836         (re_string_reconstruct): Don't clear valid_raw_len before calling
50837         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
50838         tip_context using re_string_context_at.
50839
50840         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
50841
50842         * lib/posix/regex.h: g++ still cannot handled [restrict].
50843
50844         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
50845
50846         * lib/posix/regex.h: Remove special handling for VMS.
50847
50848 2006-08-10  Jim Meyering  <jim@meyering.net>
50849
50850         * modules/same-inode: New module.
50851         * modules/dev-ino: New module.
50852         * modules/cycle-check: Depend on these modules, rather than simply
50853         including their .h files.
50854         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
50855         required via m4/cycle-check.m4.
50856         * modules/same: Depend on new same-inode module, rather than
50857         including same-inode.h.
50858         * modules/chdir-safer: New file.
50859
50860         * modules/chown (Depends-on): Add stat-macros.
50861
50862 2006-08-10  Jim Meyering  <jim@meyering.net>
50863
50864         * m4/cycle-check.m4: New file.
50865         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
50866         * m4/dev-ino.m4, m4/same-inode.m4: New files.
50867
50868 2006-08-10  Eric Blake  <ebb9@byu.net>
50869
50870         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
50871         in from original proposal.
50872
50873 2006-08-10  Eric Blake  <ebb9@byu.net>
50874         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
50875
50876         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
50877         namespace.
50878
50879 2006-08-10  Bruno Haible  <bruno@clisp.org>
50880
50881         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
50882         as well.
50883
50884 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
50885
50886         Sync from coreutils.
50887
50888         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
50889
50890         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
50891         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
50892
50893 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
50894
50895         * modules/restrict: Remove; no longer needed now that we assume
50896         Autoconf 2.59 or later.
50897         * MODULES.html.sh: Remove 'restrict'.
50898         * modules/argp (Depends-on): Remove 'restrict'.
50899         * modules/base64 (Depends-on): Likewise.
50900         * modules/gc (Depends-on): Likewise.
50901         * modules/getaddrinfo (Depends-on): Likewise.
50902         * modules/glob (Depends-on): Likewise.
50903         * modules/inet_ntop (Depends-on): Likewise.
50904         * modules/inet_pton (Depends-on): Likewise.
50905         * modules/memxor (Depends-on): Likewise.
50906         * modules/regex (Depends-on): Likewise.
50907         * modules/strtok_r (Depends-on): Likewise.
50908         * modules/time_r (Depends-on): Likewise.
50909
50910 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
50911
50912         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
50913         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
50914         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
50915         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
50916         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
50917         * m4/memxor.m4 (gl_MEMXOR): Likewise.
50918         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
50919         gl_C_RESTRICT replaced by AC_C_RESTRICT.
50920
50921         Merge from coreutils.
50922         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
50923         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
50924         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
50925         * m4/time_r.m4 (gl_TIME_R): Likewise.
50926
50927 2006-08-09  Karl Berry  <karl@gnu.org>
50928
50929         * config/srclist.txt: no more gettext-tools, per Bruno.
50930
50931 2006-08-08  Eric Blake  <ebb9@byu.net>
50932
50933         * modules/verror: New module.
50934         * MODULES.html.sh: Document it.
50935
50936 2006-08-08  Eric Blake  <ebb9@byu.net>
50937
50938         * lib/verror.h, lib/verror.c: New files.
50939
50940 2006-08-08  Eric Blake  <ebb9@byu.net>
50941
50942         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
50943         verror_at_line output complies with GNU Coding Standards even when
50944         file is NULL.
50945
50946 2006-08-07  Bruno Haible  <bruno@clisp.org>
50947
50948         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
50949         versions of AIX.
50950         Reported by Ralf Wildenhues.
50951
50952 2006-08-07  Bruno Haible  <bruno@clisp.org>
50953
50954         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
50955         in an AC_DEFUN. Needed so that the autoconf snippets can use
50956         AC_REQUIRE.
50957
50958 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50959
50960         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50961         Initialize pkgdata_DATA.
50962         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
50963         overriding it.
50964
50965 2006-08-06  Eric Blake  <ebb9@byu.net>
50966
50967         * lib/error.h: Fold in some upstream changes from glibc.
50968         * lib/error.c: Likewise.
50969
50970 2006-08-04  Bruno Haible  <bruno@clisp.org>
50971
50972         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
50973         Make the mostlyclean-local rule depend on mostlyclean-generic.
50974         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
50975
50976 2006-07-31  Bruno Haible  <bruno@clisp.org>
50977
50978         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
50979         <stdlib.h>, <string.h>.
50980
50981 2006-07-30  Bruno Haible  <bruno@clisp.org>
50982
50983         * modules/readlink (License): Change to LGPL.
50984
50985 2006-07-30  Bruno Haible  <bruno@clisp.org>
50986
50987         * modules/javaversion (Makefile.am): Distribute javaversion.java and
50988         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
50989         set PKGDATADIR to point to it.
50990
50991 2006-07-30  Bruno Haible  <bruno@clisp.org>
50992
50993         * modules/csharpexec (configure.ac): Comment out macro invocation.
50994         * modules/javaexec (configure.ac): Likewise.
50995         * modules/javacomp-script (configure.ac): Likewise.
50996
50997         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
50998
50999 2006-07-30  Bruno Haible  <bruno@clisp.org>
51000
51001         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
51002         linked-list.
51003
51004 2006-07-30  Bruno Haible  <bruno@clisp.org>
51005
51006         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
51007
51008 2006-07-30  Bruno Haible  <bruno@clisp.org>
51009
51010         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
51011         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
51012         get removed.
51013
51014 2006-07-29  Bruno Haible  <bruno@clisp.org>
51015
51016         Make it possible for gnulib-tool to work with locally modified or
51017         augmented gnulib repositories.
51018         * gnulib-tool (func_usage): Document --local-dir option.
51019         (local_gnulib_dir): New variable.
51020         Handle --local-dir option.
51021         (func_lookup_file): New function.
51022         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
51023         (func_get_description, func_get_filelist, func_get_description,
51024         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
51025         func_get_automake_snippet, func_get_include_directive,
51026         func_get_license, func_get_maintainer): Use func_lookup_file.
51027         (func_import, func_create_testdir): Use func_lookup_file.
51028
51029 2006-07-29  Bruno Haible  <bruno@clisp.org>
51030
51031         * modules/setenv (Depends-on): Add unistd.
51032
51033 2006-07-29  Bruno Haible  <bruno@clisp.org>
51034
51035         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
51036
51037 2006-07-29  Bruno Haible  <bruno@clisp.org>
51038
51039         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
51040
51041 2006-07-29  Bruno Haible  <bruno@clisp.org>
51042
51043         * gnulib-tool (import, update): If there is no Makefile.am, look at
51044         aclocal.m4, instead of bailing out.
51045
51046 2006-07-29  Bruno Haible  <bruno@clisp.org>
51047
51048         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
51049         Categorize the options by when they are useful.
51050
51051 2006-07-29  Bruno Haible  <bruno@clisp.org>
51052
51053         * gnulib-tool (func_usage): Document option --no-libtool.
51054         Handle option --no-libtool.
51055         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
51056         for changed semantics of $libtool variable.
51057         (func_import): Likewise. If libtool is not used, show this through
51058         an option --no-libtool.
51059         (func_create_testdir): Update.
51060
51061 2006-07-29  Bruno Haible  <bruno@clisp.org>
51062
51063         * gnulib-tool (func_import): Extend error message about missing
51064         --doc-base.
51065
51066 2006-07-29  Bruno Haible  <bruno@clisp.org>
51067
51068         * gnulib-tool (func_import): Don't create the $docbase directory if
51069         there is no file to store there.
51070
51071 2006-07-29  Bruno Haible  <bruno@clisp.org>
51072
51073         * gnulib-tool (autoconf_minversion): If a --dir option is given and
51074         relevant, look for configure.ac there, not in the current directory.
51075         Also use a simple search for AC_PREREQ, not "autoconf --trace".
51076
51077 2006-07-29  Bruno Haible  <bruno@clisp.org>
51078
51079         * gnulib-tool (SORT): New variable.
51080         (func_usage): Undocument --assume-autoconf option.
51081         Remove --assume-autoconf option handling.
51082         (autoconf_minversion): Determine from the contents of configure.ac.
51083         (func_import): Remove autoconf_minversion handling.
51084         Suggested by Eric Blake.
51085
51086 2006-07-29  Bruno Haible  <bruno@clisp.org>
51087
51088         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
51089
51090 2006-07-29  Bruno Haible  <bruno@clisp.org>
51091
51092         * config/srclist.txt (*setenv.[ch]): Remove rules.
51093
51094 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51095
51096         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
51097
51098 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51099
51100         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
51101         arpa/inet.h.
51102
51103 2006-07-28  Simon Josefsson  <jas@extundo.com>
51104
51105         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
51106         * modules/inet_pton (Depends-on): Likewise.
51107
51108 2006-07-28  Simon Josefsson  <jas@extundo.com>
51109
51110         * m4/netinet_in_h.m4: New file.
51111
51112 2006-07-28  Simon Josefsson  <jas@extundo.com>
51113
51114         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
51115         #include's.
51116
51117 2006-07-28  Simon Josefsson  <jas@extundo.com>
51118
51119         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
51120         #include's.
51121
51122 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
51123
51124         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
51125         setgid on directories only if they set these bits.
51126         * lib/modechange.h: Remove obsolete comment about masks.
51127
51128 2006-07-28  Eric Blake  <ebb9@byu.net>
51129
51130         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
51131         macro expansion.
51132
51133 2006-07-28  Bruno Haible  <bruno@clisp.org>
51134
51135         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
51136
51137 2006-07-28  Bruno Haible  <bruno@clisp.org>
51138
51139         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
51140
51141 2006-07-28  Bruno Haible  <bruno@clisp.org>
51142
51143         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
51144         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
51145         Define fallbacks.
51146         Avoids link error on FreeBSD 4.x.
51147         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
51148
51149         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
51150         encoding.
51151         * lib/mbswidth.c (iswcntrl): Likewise.
51152
51153 2006-07-27  Bruno Haible  <bruno@clisp.org>
51154
51155         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
51156         test.
51157
51158 2006-07-27  Bruno Haible  <bruno@clisp.org>
51159
51160         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
51161         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
51162         defined.
51163
51164 2006-07-26  Eric Blake  <ebb9@byu.net>
51165
51166         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
51167
51168 2006-07-26  Eric Blake  <ebb9@byu.net>
51169
51170         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
51171         like mingw that lack mkstemp.
51172         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
51173         avoid compilation warning on mingw.
51174
51175 2006-07-26  Bruno Haible  <bruno@clisp.org>
51176
51177         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
51178         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
51179         INT_FAST*_MIN, INTPTR_MIN.
51180
51181 2006-07-25  Bruno Haible  <bruno@clisp.org>
51182
51183         * modules/version-etc (Depends-on): Add stdarg.
51184
51185 2006-07-25  Bruno Haible  <bruno@clisp.org>
51186
51187         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
51188         complex commands.
51189
51190 2006-07-25  Bruno Haible  <bruno@clisp.org>
51191
51192         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
51193         defined in <stdarg.h> or config.h.
51194
51195 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51196
51197         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
51198         (gl_STDIO_SAFER): Remove.
51199
51200 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
51201
51202         * MODULES.html.sh (File stream based Input/Output):
51203         Add fopen-safer, tmpfile-safer; remove stdio-safer.
51204         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
51205         * modules/fopen-safer, modules/tmpfile-safer: New files.
51206         * modules/stdio-safer: Remove.
51207
51208 2006-07-24  Bruno Haible  <bruno@clisp.org>
51209
51210         * modules/tmpdir: New file.
51211         * MODULES.html.sh (File system functions): Add it.
51212
51213 2006-07-24  Bruno Haible  <bruno@clisp.org>
51214
51215         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
51216         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
51217
51218 2006-07-24  Bruno Haible  <bruno@clisp.org>
51219
51220         * modules/clean-temp: New file.
51221
51222 2006-07-24  Bruno Haible  <bruno@clisp.org>
51223
51224         * m4/tmpdir.m4: New file, from GNU gettext.
51225
51226 2006-07-24  Bruno Haible  <bruno@clisp.org>
51227
51228         * lib/tmpdir.h: New file, from GNU gettext.
51229         * lib/tmpdir.c: New file, from GNU gettext.
51230
51231 2006-07-24  Bruno Haible  <bruno@clisp.org>
51232
51233         * lib/clean-temp.h: New file, from GNU gettext.
51234         * lib/clean-temp.c: New file, from GNU gettext.
51235
51236 2006-07-23  Eric Blake  <ebb9@byu.net>
51237
51238         * modules/stdio-safer (Files): Add tmpfile-safer.c.
51239         (Depends-on): Add binary-io.
51240
51241 2006-07-23  Eric Blake  <ebb9@byu.net>
51242
51243         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
51244
51245 2006-07-23  Eric Blake  <ebb9@byu.net>
51246
51247         * lib/tmpfile-safer.c: New file.
51248         * lib/stdio-safer.h (fopen_safer): Add prototype.
51249         * lib/stdio--.h (tmpfile): Make safer.
51250
51251 2006-07-23  Bruno Haible  <bruno@clisp.org>
51252
51253         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
51254         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
51255         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
51256         gl_linked_remove_at): Use it.
51257
51258 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51259         and Simon Josefsson <jas@extundo.com>
51260
51261         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
51262
51263         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
51264
51265 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51266
51267         * modules/close-stream: New file.
51268         * modules/closeout (Description): Make it clear that it exits
51269         with a diagnostic on error.
51270         (Depends-on): Add close-stream.  Remove fpending, stdbool.
51271         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
51272
51273 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51274
51275         * m4/close-stream.m4: New file.
51276
51277 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
51278
51279         * lib/close-stream.c, lib/close-stream.h: New files.
51280
51281 2006-07-22  Bruno Haible  <bruno@clisp.org>
51282
51283         Merge from GNU gettext 0.15.
51284
51285         2006-05-01  Bruno Haible  <bruno@clisp.org>
51286
51287                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
51288
51289         2006-07-22  Bruno Haible  <bruno@clisp.org>
51290
51291                 * modules/javaversion: New file.
51292                 * MODULES.html.sh (Java): Add javaversion.
51293
51294         2006-03-12  Bruno Haible  <bruno@clisp.org>
51295
51296                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
51297
51298         2005-12-04  Bruno Haible  <bruno@clisp.org>
51299
51300                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
51301                 (untested).
51302
51303         2006-06-21  Bruno Haible  <bruno@clisp.org>
51304
51305                 Avoid warnings from recent versions of mcs.
51306                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
51307                 -o, -L, -r any more. Use options documented since mcs-1.0
51308                 instead. Similarly for -g.
51309
51310         2005-12-04  Bruno Haible  <bruno@clisp.org>
51311
51312                 * build-aux/csharpcomp.sh.in: Suffix for resources is
51313                 .resources, not .resource.
51314
51315         2005-07-09  Bruno Haible  <bruno@clisp.org>
51316
51317                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
51318                 add a .dll suffix.
51319                 Reported by Mark Junker <mjscod@gmx.de>.
51320
51321         2006-07-22  Bruno Haible  <bruno@clisp.org>
51322
51323                 * modules/gettext: Upgrade to gettext-0.15.
51324                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
51325                 m4/visibility.m4.
51326                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
51327
51328 2006-07-22  Bruno Haible  <bruno@clisp.org>
51329
51330         Merge from GNU gettext 0.15.
51331
51332         2006-03-25  Bruno Haible  <bruno@clisp.org>
51333
51334                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
51335
51336         2006-07-21  Bruno Haible  <bruno@clisp.org>
51337
51338                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
51339                 "1.1".
51340
51341         2006-05-09  Bruno Haible  <bruno@clisp.org>
51342
51343                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
51344                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
51345                 for the conftestver execution.
51346
51347         2006-05-01  Bruno Haible  <bruno@clisp.org>
51348
51349                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
51350                 optional target-version argument. Verify that the compiler
51351                 groks source of the specified source-version, or add -source
51352                 option as necessary. Verify that the compiler produces
51353                 bytecode in the specified target-version, or add -target and
51354                 -source options as necessary. Make the result of the test
51355                 available as variable CONF_JAVAC. Also log error output in
51356                 config.log.
51357
51358         2006-03-11  Bruno Haible  <bruno@clisp.org>
51359
51360                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
51361
51362         2006-05-09  Bruno Haible  <bruno@clisp.org>
51363
51364                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
51365                 CLASSPATH_SEPARATOR to a semicolon.
51366
51367         2006-03-12  Bruno Haible  <bruno@clisp.org>
51368
51369                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
51370                 available as variable CONF_JAVA, for subsequent autoconf
51371                 tests. Also log error output in config.log.
51372
51373         2006-07-19  Bruno Haible  <bruno@clisp.org>
51374
51375                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
51376                 that getline works on glibc2 systems. Needed to avoid trouble
51377                 in relocatable.c.
51378                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
51379
51380         2005-12-04  Bruno Haible  <bruno@clisp.org>
51381
51382                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
51383                 launcher (untested).
51384
51385         2005-12-04  Bruno Haible  <bruno@clisp.org>
51386
51387                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
51388
51389         2006-07-22  Bruno Haible  <bruno@clisp.org>
51390
51391                 * gettext.m4: Update from GNU gettext-0.15.
51392                 * nls.m4: Likewise.
51393                 * po.m4: Likewise.
51394                 * inttypes-pri.m4: Likewise.
51395                 * inttypes-h.m4: Renamed from inttypes.m4.
51396                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
51397
51398 2006-07-22  Bruno Haible  <bruno@clisp.org>
51399
51400         Merge from GNU gettext 0.15.
51401
51402         2005-07-05  Bruno Haible  <bruno@clisp.org>
51403
51404                 * printf-args.c (printf_fetchargs): Work around broken
51405                 definition of wint_t on mingw.
51406
51407         2005-02-12  Bruno Haible  <bruno@clisp.org>
51408
51409                 * xallocsa.h: Add extern "C" for C++.
51410
51411         2006-05-17  Bruno Haible  <bruno@clisp.org>
51412
51413                 Cygwin portability.
51414                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
51415
51416         2006-04-30  Bruno Haible  <bruno@clisp.org>
51417
51418                 * progreloc.c: Include <mach-o/dyld.h> if available.
51419                 (find_executable): Use _NSGetExecutablePath when possible.
51420
51421         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
51422
51423                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
51424                 function.
51425
51426         2005-12-29  Bruno Haible  <bruno@clisp.org>
51427
51428                 * progreloc.c (set_program_name_and_installdir): Fix
51429                 compilation error.
51430
51431         2005-12-04  Bruno Haible  <bruno@clisp.org>
51432
51433                 Cygwin portability.
51434                 * progreloc.c: Include <windows.h> also on Cygwin.
51435                 (find_executable): Add support for Cygwin.
51436                 (set_program_name_and_installdir): Handle also platforms with
51437                 nonempty EXEEXT.
51438
51439         2006-07-11  Bruno Haible  <bruno@clisp.org>
51440
51441                 * javacomp.c: Fix a comment.
51442                 Reported by Jim Meyering.
51443
51444         2006-04-30  Bruno Haible  <bruno@clisp.org>
51445
51446                 * javacomp.h (compile_java_class): Add source_version,
51447                 target_version arguments.
51448                 * javacomp.c: Rewritten to choose only a compiler that
51449                 respects the specified source_version and target_version.
51450
51451         2006-06-27  Bruno Haible  <bruno@clisp.org>
51452
51453                 Assume correct S_ISDIR macro.
51454                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
51455
51456         2006-07-22  Bruno Haible  <bruno@clisp.org>
51457
51458                 * javaversion.h: New file, from GNU gettext.
51459                 * javaversion.c: New file, from GNU gettext.
51460                 * javaversion.java: New file, from GNU gettext.
51461                 * javaversion.class: New file, from GNU gettext.
51462
51463         2006-05-17  Bruno Haible  <bruno@clisp.org>
51464
51465                 Cygwin portability.
51466                 * javaexec.c (execute_java_class): Test for jview program
51467                 also on Cygwin.
51468
51469         2006-04-09  Bruno Haible  <bruno@clisp.org>
51470
51471                 * fatal-signal.c: Don't include string.h.
51472                 (at_fatal_signal): Use a copying loop instead of memcpy.
51473
51474         2005-12-04  Bruno Haible  <bruno@clisp.org>
51475
51476                 * csharpexec.c: Add support for 'clix' launcher (untested).
51477                 (execute_csharp_using_sscli): New function.
51478                 (execute_csharp_program): Call it.
51479
51480         2006-06-21  Bruno Haible  <bruno@clisp.org>
51481
51482                 Avoid warnings from recent versions of mcs.
51483                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
51484                 -o, -L, -r any more. Use options documented since mcs-1.0
51485                 instead. Similarly for -g.
51486
51487         2005-07-09  Bruno Haible  <bruno@clisp.org>
51488
51489                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
51490                 add a .dll suffix.
51491                 Reported by Mark Junker <mjscod@gmx.de>.
51492
51493         2006-06-17  Bruno Haible  <bruno@clisp.org>
51494
51495                 * config.charset: Update for NetBSD 3.0.
51496
51497         2006-05-17  Bruno Haible  <bruno@clisp.org>
51498
51499                 Cygwin portability.
51500                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
51501
51502         2006-05-16  Bruno Haible  <bruno@clisp.org>
51503
51504                 * localcharset.c [CYGWIN]: Include <windows.h>.
51505                 (get_charset_aliases): For Cygwin, return the same CPxxx
51506                 aliases list as under WIN32.
51507                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
51508                 the environment variables. Fall back to GetACP().
51509
51510         2006-04-05  Bruno Haible  <bruno@clisp.org>
51511
51512                 * config.charset: Update Juan Manuel Guerrero's address.
51513
51514         2005-02-12  Bruno Haible  <bruno@clisp.org>
51515
51516                 * allocsa.h: Add extern "C" for C++.
51517
51518         2005-02-10  Bruno Haible  <bruno@clisp.org>
51519
51520                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
51521                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
51522
51523         2006-07-22  Bruno Haible  <bruno@clisp.org>
51524
51525                 * gettext.h: Update to GNU gettext-0.15.
51526
51527 2006-07-22  Bruno Haible  <bruno@clisp.org>
51528
51529         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
51530         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
51531         lib-prefix.m4, longdouble.m4, ssize_t.m4.
51532
51533 2006-07-21  Eric Blake  <ebb9@byu.net>
51534
51535         * modules/stdlib-safer: New file.
51536         * MODULES.html.sh (File stream based Input/Output): Add
51537         stdlib-safer.
51538
51539 2006-07-21  Eric Blake  <ebb9@byu.net>
51540
51541         * lib/stdlib-safer.h: New file from coreutils, required by
51542         stdlib--.h.
51543
51544 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
51545
51546         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
51547
51548 2006-07-20  Bruno Haible  <bruno@clisp.org>
51549
51550         * gnulib-tool: Recognize new option --assume-autoconf.
51551         (autoconf_minversion): New variable.
51552         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
51553
51554 2006-07-20  Bruno Haible  <bruno@clisp.org>
51555
51556         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
51557
51558 2006-07-19  Derek R. Price  <derek@ximbiot.com>
51559
51560         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
51561         Reindent and repaginate.
51562
51563 2006-07-19  Derek Price  <derek@ximbiot.com>
51564
51565         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
51566         Correct grammar.
51567
51568 2006-07-17  Bruno Haible  <bruno@clisp.org>
51569
51570         * modules/list: New file.
51571         * modules/array-list: New file.
51572         * modules/carray-list, modules/carray-list-tests: New files.
51573         * modules/linked-list, modules/linked-list-tests: New files.
51574         * modules/avltree-list, modules/avltree-list-tests: New files.
51575         * modules/rbtree-list, modules/rbtree-list-tests: New files.
51576         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
51577         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
51578         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
51579         * modules/oset: New file.
51580         * modules/array-oset: New file.
51581         * modules/avltree-oset, modules/avltree-oset-tests: New files.
51582         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
51583         * tests/test-carray_list.c: New file.
51584         * tests/test-linked_list.c: New file.
51585         * tests/test-avltree_list.c: New file.
51586         * tests/test-rbtree_list.c: New file.
51587         * tests/test-linkedhash_list.c: New file.
51588         * tests/test-avltreehash_list.c: New file.
51589         * tests/test-rbtreehash_list.c: New file.
51590         * tests/test-avltree_oset.c: New file.
51591         * tests/test-rbtree_oset.c: New file.
51592         * MODULES.html.sh (Container data structures): New section.
51593
51594 2006-07-17  Bruno Haible  <bruno@clisp.org>
51595
51596         * m4/gl_list.m4: New file.
51597
51598 2006-07-17  Bruno Haible  <bruno@clisp.org>
51599
51600         * lib/gl_list.h: New file.
51601         * lib/gl_list.c: New file.
51602         * lib/gl_array_list.h: New file.
51603         * lib/gl_array_list.c: New file.
51604         * lib/gl_carray_list.h: New file.
51605         * lib/gl_carray_list.c: New file.
51606         * lib/gl_linked_list.h: New file.
51607         * lib/gl_linked_list.c: New file.
51608         * lib/gl_anylinked_list1.h: New file.
51609         * lib/gl_anylinked_list2.h: New file.
51610         * lib/gl_avltree_list.h: New file.
51611         * lib/gl_avltree_list.c: New file.
51612         * lib/gl_anyavltree_list1.h: New file.
51613         * lib/gl_anyavltree_list2.h: New file.
51614         * lib/gl_rbtree_list.h: New file.
51615         * lib/gl_rbtree_list.c: New file.
51616         * lib/gl_anyrbtree_list1.h: New file.
51617         * lib/gl_anyrbtree_list2.h: New file.
51618         * lib/gl_anytree_list1.h: New file.
51619         * lib/gl_anytree_list2.h: New file.
51620         * lib/gl_linkedhash_list.h: New file.
51621         * lib/gl_linkedhash_list.c: New file.
51622         * lib/gl_anyhash_list1.h: New file.
51623         * lib/gl_anyhash_list2.h: New file.
51624         * lib/gl_avltreehash_list.h: New file.
51625         * lib/gl_avltreehash_list.c: New file.
51626         * lib/gl_rbtreehash_list.h: New file.
51627         * lib/gl_rbtreehash_list.c: New file.
51628         * lib/gl_anytreehash_list1.h: New file.
51629         * lib/gl_anytreehash_list2.h: New file.
51630
51631         * lib/gl_oset.h: New file.
51632         * lib/gl_oset.c: New file.
51633         * lib/gl_array_oset.h: New file.
51634         * lib/gl_array_oset.c: New file.
51635         * lib/gl_avltree_oset.h: New file.
51636         * lib/gl_avltree_oset.c: New file.
51637         * lib/gl_rbtree_oset.h: New file.
51638         * lib/gl_rbtree_oset.c: New file.
51639         * lib/gl_anytree_oset.h: New file.
51640
51641 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51642
51643         * m4/mkancesdirs.m4: New file.
51644         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
51645         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
51646         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
51647         it.
51648
51649 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51650
51651         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
51652         * lib/mkancesdirs.h: New files.
51653         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
51654         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
51655         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
51656         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
51657         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
51658         callers changed.  Revamp internals significantly, by not
51659         attempting to create directories that are temporarily more
51660         permissive than the final results.  Do not attempt to use
51661         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
51662         This removes some race conditions, fixes some bugs, and simplifies
51663         things.  Use new dirchownmod function to do owner and mode changes.
51664         * lib/mkdir-p.h: Likewise.
51665         * lib/modechange.c (octal_to_mode): New function.
51666         (struct mode_change): New member mentioned.
51667         (make_node_op_equals): New arg mentioned.  All callers changed.
51668         (mode_compile): Keep track of which mode bits the user has explicitly
51669         mentioned.
51670         (mode_adjust): New arg DIR, so that we implement the X op correctly.
51671         New arg PMODE_BITS, to keep track of which mode bits the user
51672         mentioned; it treats S_ISUID and S_ISGID speciall.
51673         All callers changed.
51674         * lib/modechange.h: Likewise.
51675
51676 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
51677
51678         * MODULES.html.sh: Add mkancestors.
51679         * modules/mkancesdirs: New module.
51680         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
51681         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
51682         The chdir-safer and afs files are now orphans; I'll remove them
51683         unless someone speaks up.
51684         Add lib/dirchownmod.c, lib/dirchownmod.h.
51685         (Depends-on): Remove alloca, chown, save-cwd, dirname.
51686         Add lchown, mkancesdirs.
51687         (Maintainer): Add self.
51688
51689 2006-07-15  Karl Berry  <karl@gnu.org>
51690
51691         * gnulib-tool: help message wording/arrangement.
51692
51693 2006-07-14  Simon Josefsson  <jas@extundo.com>
51694
51695         * doc/gnulib.texi (Libtool and Windows): New section.
51696
51697 2006-07-12  Simon Josefsson  <jas@extundo.com>
51698
51699         * modules/gendocs (License): Fix license, approved by Karl.
51700
51701 2006-07-12  Eric Blake  <ebb9@byu.net>
51702
51703         * MODULES.html.sh: Add gendocs.
51704
51705 2006-07-11  Eric Blake  <ebb9@byu.net>
51706
51707         * modules/fdl: New module, to install doc/fdl.texi.
51708         * MODULES.html.sh: Add new section for documentation modules.
51709         * gnulib-tool: Avoid space-tab.
51710         (--doc-base): New option, to manage files from doc.
51711
51712 2006-07-11  Eric Blake  <ebb9@byu.net>
51713
51714         * m4/absolute-header.m4: Fix comments to match recent change.
51715
51716 2006-07-11  Eric Blake  <ebb9@byu.net>
51717
51718         * gnulib-tool: List --doc-base before --tests-base.
51719
51720 2006-07-11  Derek R. Price  <derek@ximbiot.com>
51721
51722         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
51723
51724 2006-07-11  Bruno Haible  <bruno@clisp.org>
51725
51726         * README: Mention where to put documentation.
51727
51728 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51729
51730         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
51731
51732 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
51733
51734         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
51735         to stdint.m4.
51736
51737 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
51738
51739         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
51740         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
51741         "no/such/file/stdint.h" when there is no such file, so that
51742         the resulting C code can be parsed by dodgy compilers.
51743         Problems reported by Bob Proulx.
51744
51745 2006-07-10  Derek R. Price  <derek@ximbiot.com>
51746
51747         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
51748         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
51749         macros into the GNU _D_EXACT_NAMLEN.
51750         * lib/savedir.c:  Likewise.
51751         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
51752
51753 2006-07-10  Derek R. Price  <derek@ximbiot.com>
51754         and Paul Eggert  <eggert@cs.ucla.edu>
51755
51756         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
51757         * m4/savedir.m4:
51758         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
51759         macros into the GNU _D_EXACT_NAMLEN.
51760
51761 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51762
51763         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
51764         around the absolute name, to work around a problem with the HP-UX
51765         11.23 native C compiler, reported by Bob Proulx.
51766
51767 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51768
51769         * doc/maintain.texi, make-stds.texi: Sync from
51770         <http://savannah.gnu.org/projects/gnustandards>.
51771
51772 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
51773
51774         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
51775
51776 2006-07-09  Jim Meyering  <jim@meyering.net>
51777
51778         * m4/glob.m4: Remove a doubled word in a comment.
51779
51780 2006-07-09  Jim Meyering  <jim@meyering.net>
51781
51782         * lib/argp-pv.c: Remove a doubled word in a comment.
51783         * lib/check-version.c (check_version): Likewise.
51784         * lib/javacomp.c (compile_java_class): Likewise.
51785
51786 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
51787
51788         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
51789         for the benefit of people using Autoconf 2.60.  If you want to
51790         support older Autoconf versions you can copy m4/onceonly_2_57.m4
51791         (or m4/onceonly.m4, if pre-2.57) manually.
51792
51793 2006-07-08  Jim Meyering  <jim@meyering.net>
51794
51795         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
51796         comment.
51797         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
51798         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
51799         comment.
51800
51801 2006-07-08  Jim Meyering  <jim@meyering.net>
51802
51803         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
51804
51805 2006-07-07  Simon Josefsson  <jas@extundo.com>
51806
51807         * tests/test-crc.c: Change expected crc value, the test vector
51808         were probably computed using the old broken crc.c?
51809
51810 2006-07-06  Simon Josefsson  <jas@extundo.com>
51811
51812         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
51813         now the canonical place for the M4 file).
51814
51815         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
51816         from the sys_socket dependency now.
51817
51818         * modules/inet_pton (Files): Ditto.
51819
51820         * modules/inet_ntop (Files): Ditto.
51821
51822 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
51823
51824         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
51825         not gl_PREREQ_GETUSERSHELL.
51826
51827 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51828
51829         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
51830         with only one argument, for Autoconf 2.60.
51831         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
51832         expand to nothing, so add a shell command to avoid syntax error.
51833         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
51834
51835 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51836
51837         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
51838
51839 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51840
51841         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
51842         no longer needed.  Check for isblank decl.
51843         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
51844         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
51845         of existence.
51846
51847 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51848
51849         * lib/getloadavg.c: Use __VMS, not VMS.
51850         * lib/getopt.c: Likewise.
51851         * lib/getpagesize.h: Likewise.
51852         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
51853         and probably does not work.
51854
51855 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
51856
51857         * lib/.cppi-disable: Add wcwidth.
51858         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
51859         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
51860         (ISGRAPH): Remove.  All uses changed to isgraph.
51861         (FOLD) [!defined _LIBC]: Remove special case.
51862         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
51863         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
51864         HAVE_ISBLANK.
51865         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
51866         case.
51867
51868 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
51869
51870         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
51871         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
51872         brackets.  Other minor changes to suppress some compiler
51873         warnings.
51874
51875 2006-07-06  Derek R. Price  <derek@ximbiot.com>
51876         and Paul Eggert  <eggert@cs.ucla.edu>
51877
51878         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
51879         of invoking obsolescent AC_HEADER_DIRENT macro.
51880         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
51881         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
51882         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
51883         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
51884         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
51885         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
51886         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
51887         * m4/readdir.m4: Remove; no longer needed.
51888
51889 2006-07-06  Derek R. Price  <derek@ximbiot.com>
51890         and Paul Eggert  <eggert@cs.ucla.edu>
51891
51892         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
51893         Don't worry about this obsolete case any more.
51894         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
51895         directories.
51896         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
51897         worry about this obsolete case any more.
51898         * lib/fts.c: Likewise.
51899         * lib/getcwd.c: Likewise.
51900         * lib/glob.h: Likewise.
51901         * lib/savedir.c: Likewise.
51902
51903 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
51904
51905         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
51906         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
51907         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
51908         needed.
51909         All uses removed.
51910         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
51911         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
51912         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
51913         needed.
51914         * m4/getdate.m4 (gl_GETDATE): Likewise.
51915         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
51916         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
51917         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
51918         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
51919         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
51920         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
51921         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
51922         needed.
51923
51924 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
51925
51926         * lib/memcasecmp.c: Include <limits.h>.
51927         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
51928         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
51929         Don't assume isdigit succeeds only on '0' through '9'.
51930
51931 2006-07-05  Eric Blake  <ebb9@byu.net>
51932
51933         * modules/getaddrinfo (Depends-on): Add snprintf.
51934
51935 2006-07-05  Eric Blake  <ebb9@byu.net>
51936
51937         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
51938         to avoid 'header present but could not be compiled' on cygwin.
51939
51940 2006-07-05  Eric Blake  <ebb9@byu.net>
51941
51942         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
51943         missing from netdb.h.
51944         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
51945
51946 2006-07-05  Derek R. Price  <derek@ximbiot.com>
51947
51948         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
51949         no longer needed.
51950         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
51951         * m4/getdate.m4 (gl_GETDATE): Likewise.
51952         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
51953         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
51954         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
51955         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
51956         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
51957
51958 2006-07-05  Derek R. Price  <derek@ximbiot.com>
51959
51960         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
51961         All uses of is_space replaced by isspace.
51962         * lib/exit.h: Don't talk about STDC_HEADERS.
51963         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
51964         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
51965         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
51966         replaced by isprint etc.
51967         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
51968         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
51969         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
51970         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
51971         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
51972         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
51973
51974 2006-07-05  Bruno Haible  <bruno@clisp.org>
51975
51976         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
51977         the function exists, before testing against AIX.
51978         Reported by Martin Lambers <marlam@marlam.de>.
51979
51980 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
51981
51982         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
51983         From Mark D. Baushke.
51984
51985 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
51986
51987         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
51988         to the absolute name, not just one, to bypass Sun C 5.8's
51989         "warning: #include of /usr/include/... may be non-portable".
51990
51991 2006-07-04  Eric Blake  <ebb9@byu.net>
51992
51993         * modules/dirname-tests: New test module.
51994         * tests/test-dirname.c: New file, replacing dirname.c
51995         TEST_DIRNAME section that was recently deleted.
51996
51997 2006-07-04  Bruno Haible  <bruno@clisp.org>
51998
51999         Assume ANSI C header files and <ctype.h> functions.
52000         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
52001         (mbsnwidth): Use isprint, iscntrl instead.
52002
52003 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52004
52005         Merge from coreutils.
52006         * MODULES.html.sh: Add xstrtold.
52007         * modules/xstrtold: New file.
52008         * modules/cycle-check (Files): Add lib/same-inode.h.
52009         * modules/dirname (Files): Add m4/double-slash-root.m4.
52010         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
52011         * modules/mkdir-p (Files): Add lib/same-inode.h.
52012         * modules/same (Files): Add lib/same-inode.h.
52013
52014 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52015
52016         * m4/absolute-header.m4: Renamed from full-header-path.m4.
52017         This is to keep the terminology clean; POSIX talks about
52018         "absolute pathnames", not "full pathnames", but the GNU
52019         Coding Standards say to use "path" for something else;
52020         so use "absolute" to keep both sides happy.
52021         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
52022         Set gl_absolute_header, not gl_full_header_path.
52023         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
52024         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
52025         All uses changed.
52026
52027         Merge from coreutils.
52028
52029         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
52030
52031         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
52032         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
52033         want to require the building of c-strtod.o.
52034         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
52035         needs -lm directly.
52036         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
52037
52038         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
52039
52040         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
52041         --as-needed option if available.  Problem reported by Albert Chin in
52042         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
52043         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
52044         cc merely issues a bunch of annoying warnings for --as-needed
52045         (this problem was reported by Bob Proulx).  Also, try linking with
52046         -lm to detect a bug in binutils 2.16 (this problem was reported
52047         by Ralf Wildenhues).
52048
52049         2006-06-18  Jim Meyering  <jim@meyering.net>
52050
52051         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
52052         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
52053         macro.
52054         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
52055         also check for glibc-2.4's abort-inducing bug.
52056
52057         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
52058         Low-probability clean-up should be to use rmdir to get rid of
52059         the just-created directory, not unlink.
52060
52061         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
52062         configure fail, and request a bug report to inform us about it.
52063         Add a comment that, barring reports to the contrary, in 2007 we'll
52064         assume ftruncate is universally available.
52065
52066         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
52067
52068         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
52069
52070         2006-03-12  Jim Meyering  <jim@meyering.net>
52071
52072         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
52073         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
52074         * m4/same.m4 (gl_SAME): Likewise.
52075         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
52076
52077         2006-03-11  Eric Blake  <ebb9@byu.net>
52078
52079         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
52080         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
52081         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
52082         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
52083
52084 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
52085
52086         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
52087         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
52088         reported by Mark D. Baushke, one in
52089         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
52090
52091         Merge from coreutils.
52092
52093         * lib/.cppi-disable: Add stdint_.h.
52094         * lib/.cvsignore: Add stdint.h.
52095
52096         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
52097
52098         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
52099         both double and long double versions.
52100         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
52101         * lib/xstrtold.c: New file.
52102         * lib/xstrtod.h (xstrtold): New decl.
52103
52104         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
52105
52106         * lib/filemode.c (setst): Remove.
52107         (strmode): Rewrite to avoid setst.  This makes the code shorter,
52108         (arguably) clearer, and the generated code is a bit smaller on my
52109         Debian GNU/Linux stable x86 host.
52110
52111         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
52112
52113         * lib/filemode.c: Include "filemode.h" first, to test the interface.
52114         Assume that filemode.h includes sys/types.h and sys/stat.h.
52115         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
52116         (ftypelet): Reorder to put common cases first, for efficiency.
52117         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
52118         to do 'M'.
52119         (strmode): Renamed from mode_string, and now stores 12 bytes instead
52120         of 10, for compatibility with FreeBSD.  All callers changed.
52121         (filemodestring): Now stores 12 bytes instead of 10, and sets file
52122         types that can't be deduced solely from st_mode.  First arg is now a
52123         const pointer.
52124         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
52125         (strmode): Renamed from mode_string.
52126         (filemodestring): New decl.
52127         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
52128         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
52129         needed.
52130         (S_ISPORT, S_ISWHT): New macros, if not already defined.
52131
52132         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
52133
52134         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
52135         fsusage.h now does that.  Include fsusage.h first, to test interface.
52136         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
52137         at most one method (the old code could have generated decls that
52138         didn't conform to C89, not that this was ever exercised).
52139         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
52140
52141         2006-03-19  Jim Meyering  <jim@meyering.net>
52142
52143         Work even in a chroot where d_ino values for entries in "/"
52144         don't match the stat.st_ino values for the same names.
52145         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
52146         number, iterate through all entries again, using lstat instead.
52147         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
52148         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
52149
52150         * lib/getcwd.c (__getcwd): Clarify a comment.
52151         Use memcpy in place of a call to strcpy.
52152
52153         2006-03-12  Jim Meyering  <jim@meyering.net>
52154
52155         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
52156         matches that of the current directory (which we're about to chdir ".."
52157         out of), then save the dev-ino of the parent, instead.
52158
52159         * lib/same-inode.h (SAME_INODE): New file/macro.
52160         * lib/chdir-safer.c (SAME_INODE): Remove definition.
52161         Include "same-inode.h", instead.
52162         * lib/same.c: Likewise.
52163         * lib/cycle-check.h: Include "same-inode.h".
52164         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
52165         * lib/cycle-check.c (SAME_INODE): Remove definition.
52166         * lib/root-dev-ino.h: Include "same-inode.h".
52167
52168         2006-03-11  Eric Blake  <ebb9@byu.net>
52169
52170         * lib/same.c (same_name): s/base_name/last_component/
52171         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
52172         * lib/filenamecat.c (file_name_concat): Likewise.
52173
52174         2006-03-11  Eric Blake  <ebb9@byu.net>,
52175                     Paul Eggert  <eggert@cs.ucla.edu>
52176
52177         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
52178         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
52179         drive prefix.
52180         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
52181         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
52182         (last_component): New method.
52183         * lib/dirname.c (dir_len): Determine when drive letters need a
52184         subsequent slash.  Preserve // when it is special.
52185         (dir_name): Don't append dot when drive letter is absolute.
52186         [TEST_DIRNAME]: Move into a full-blown gnulib test.
52187         * lib/basename.c (base_name): New semantics - malloc the result.
52188         Preserve // when it is special.  Preserve relative files that look
52189         like drive letters.
52190         (base_len): Preserve // when it is special.
52191         (last_component): New method, similar to old base_name semantics.
52192         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
52193         base_name.  Strip redundant slashes from ///.
52194
52195 2006-07-03  Jim Meyering  <jim@meyering.net>
52196
52197         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
52198         macro is used before the first cycle_check call.
52199
52200 2006-07-03  Eric Blake  <ebb9@byu.net>
52201
52202         * modules/dirname (Depends-on): Add xstrndup.
52203
52204 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
52205
52206         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
52207         test cases, so that config.log is a bit easier to follow.
52208
52209 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
52210
52211         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
52212         both are 64 bits, since this seems to be the tradition, and this
52213         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
52214         we ever run into a host that prefers long long to long in this
52215         case, we'll need another configure-time test.  Problem reported by
52216         Jim Meyering.
52217
52218 2006-07-02  Eric Blake  <ebb9@byu.net>
52219
52220         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
52221
52222 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52223
52224         * modules/inttypes (Depends-on): No longer depends on stdint.
52225         * modules/stdint (Description): Say more about assumptions.
52226         Say that the fast types might differ.  Say macros are used.
52227         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
52228         (Makefile.am): Revise list of substituted symbols to match
52229         new stdint.m4.
52230         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
52231         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
52232         * tests/test-stdint.c (verify_same_types)
52233         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
52234         the code conforms to C99/C89.
52235         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
52236         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
52237
52238 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52239
52240         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
52241         but fix a bug, by requiring at least 64 bits.
52242         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
52243         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
52244         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
52245         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG) Likewise.
52246
52247         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
52248         changes.  Make 2.59 a prerequisite.  Check and substitute for
52249         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
52250         inttypes.h.  Do not use special include files; just use the
52251         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
52252         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
52253         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
52254         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
52255         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
52256         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
52257         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
52258         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
52259         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
52260         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
52261         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
52262         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
52263         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
52264         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
52265         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
52266         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
52267         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
52268         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
52269         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
52270         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
52271         WINT_MAX.  Check for C99 conformance more strictly, by detecting
52272         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
52273         not check for things that C99 does not require, e.g., int8_t.  If
52274         a test isn't needed unless <stdint.h> isn't working, and is
52275         unlikely to be needed for any other reason, then don't do it
52276         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
52277         size_t, since we assume C89 freestanding at least.  Do not check
52278         for sig_atomic_t, wchar_t, or wint_t, since the code now does
52279         the right thing even if the types are not defined.  Instead use:
52280         (gl_STDINT_TYPE_PROPERTIES): New macro.
52281         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
52282         testing whether <sys/types.h> clashes, as Autoconf does this for
52283         us now.  All uses removed.
52284         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
52285         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
52286         (gl_CHECK_TYPE_SAME):
52287         Remove; no longer needed.
52288         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
52289         exists, since we'll return 0 anyway in that case.
52290         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
52291
52292 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
52293
52294         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
52295         possible collision with system files.
52296         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
52297         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
52298         WCHAR_MIN and WCHAR_MAX in this case.
52299         (<stddef.h>): Do not include; no longer needed.
52300         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
52301         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
52302         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
52303         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
52304         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
52305         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
52306         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
52307         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
52308         !defined(__c99))]: Include in this case too, since it's harmless
52309         now.
52310         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
52311         dangerous to do so.
52312         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
52313         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
52314         (_STDINT_MIN, _STDINT_MAX): New macros.
52315         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
52316         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
52317         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
52318         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
52319         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
52320         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
52321         macros, not typedefs; this simplifies things quite a bit.
52322         Use long int for all types narrower than int64_t.
52323         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
52324         Define in terms of long long int or int64_t or long int,
52325         not int64_t or int32_t.  This saves some compile-time testing.
52326         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
52327         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
52328         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
52329         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
52330         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
52331         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
52332         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
52333         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
52334         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
52335         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
52336         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
52337         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
52338         undef any previous version and define our own version, for
52339         simplicity and consistency with the new macros for types.
52340         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
52341         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
52342         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
52343         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
52344         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
52345         @WINT_T_SUFFIX@ to keep things simple here.
52346         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
52347         Simplify by assuming typical 8/16/32/64 host, since we're
52348         already doing that elsewhere anyway.
52349         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
52350         and assume long long int is 64 bits if available.  This
52351         speeds up 'configure'.
52352
52353 2006-07-01  Eric Blake  <ebb9@byu.net>
52354
52355         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
52356         Reported by Andreas Buening.
52357
52358 2006-07-01  Eric Blake  <ebb9@byu.net>
52359
52360         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
52361
52362 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
52363
52364         * lib/getaddrinfo.c: fixed typo
52365
52366 2006-06-29  Jim Meyering  <jim@meyering.net>
52367
52368         * modules/strftime (Maintainer): Add my name, since with the
52369         FPRINTFTIME changes strftime.c has forked from glibc.
52370
52371 2006-06-29  Eric Blake  <ebb9@byu.net>
52372
52373         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
52374
52375 2006-06-29  Eric Blake  <ebb9@byu.net>
52376
52377         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
52378
52379 2006-06-29  Eric Blake  <ebb9@byu.net>
52380
52381         * lib/stat_.h: New file.
52382
52383 2006-06-29  Eric Blake  <ebb9@byu.net>
52384
52385         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
52386         unused static function.
52387
52388 2006-06-29  Eric Blake  <ebb9@byu.net>
52389
52390         * doc/functions.texi (Function Portability): Document missing lstat
52391         on mingw.
52392
52393 2006-06-29  Eric Blake  <ebb9@byu.net>
52394
52395         * MODULES.html.sh: Add sys_stat.
52396         * modules/sys_stat: New module.
52397         * modules/mkstemp (Depends-on): Add sys_stat.
52398
52399 2006-06-29  Derek R. Price  <derek@ximbiot.com>
52400
52401         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
52402
52403 2006-06-29  Derek R. Price  <derek@ximbiot.com>
52404
52405         * m4/c-bs-a.m4: Removed.
52406
52407 2006-06-29  Derek R. Price  <derek@ximbiot.com>
52408
52409         * lib/strftime.c: Assume strftime() exists.
52410
52411 2006-06-29  Derek Price  <derek@ximbiot.com>
52412
52413         * modules/c-bs-a: Removed - \a is C89.
52414         * MODULES.html.sh: Remove c-bs-a.
52415
52416 2006-06-29  Bruno Haible  <bruno@clisp.org>
52417
52418         * modules/wcwidth (License): Change to LGPL.
52419
52420 2006-06-28  Simon Josefsson  <jas@extundo.com>
52421
52422         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
52423         on _WIN32.
52424
52425         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
52426         getnameinfo.
52427
52428 2006-06-28  Simon Josefsson  <jas@extundo.com>
52429
52430         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
52431
52432 2006-06-28  Simon Josefsson  <jas@extundo.com>
52433
52434         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
52435         functions there.  It will succeed on Windows XP, but on Windows
52436         2000 and (presumably) earlier, it will fail, and use the internal
52437         re-implementation.
52438         (use_win32_p): New function.
52439         (getaddrinfo): Use strtoul on servname, to support numeric ports.
52440         Support AI_NUMERICSERV to disable getservbyname.
52441         (getnameinfo): New function, only supports
52442         NI_NUMERICHOST|NI_NUMERICSERV for now.
52443
52444         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
52445         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
52446         getnameinfo.
52447
52448 2006-06-28  Eric Blake  <ebb9@byu.net>
52449
52450         * modules/wcwidth: New file.
52451         * modules/mbchar (Depends-on): Add wcwidth.
52452         * modules/mbswidth (Depends-on): Add wcwidth.
52453         * MODULES.html.sh: Add wcwidth.
52454
52455 2006-06-28  Eric Blake  <ebb9@byu.net>
52456
52457         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
52458         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
52459
52460 2006-06-28  Eric Blake  <ebb9@byu.net>
52461
52462         * lib/xvasprintf.h: Fix comments.
52463
52464 2006-06-28  Eric Blake  <ebb9@byu.net>
52465
52466         * lib/mbchar.h (wcwidth): Include wcwidth.h.
52467         * lib/mbswidth.c (wcwidth): Move from here...
52468         * lib/wcwidth.h: ...to this new file.
52469
52470 2006-06-28  Derek R. Price  <derek@ximbiot.com>
52471
52472         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
52473
52474         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
52475         it's obsolete.
52476         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
52477
52478 2006-06-28  Derek R. Price  <derek@ximbiot.com>
52479
52480         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
52481         Autoconf 2.60 says this stuff was obsolete.
52482
52483 2006-06-28  Bruno Haible  <bruno@clisp.org>
52484
52485         * modules/wcwidth (Files): Add m4/wchar_t.m4.
52486
52487 2006-06-28  Bruno Haible  <bruno@clisp.org>
52488
52489         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
52490         gt_TYPE_WCHAR_T.
52491
52492 2006-06-28  Bruno Haible  <bruno@clisp.org>
52493
52494         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
52495         declaration for wcwidth.
52496         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
52497
52498 2006-06-28  Bruno Haible  <bruno@clisp.org>
52499
52500         * lib/mkdtemp.c [MINGW]: Include <io.h>.
52501         (mkdir): Define using _mkdir.
52502
52503 2006-06-28  Bruno Haible  <bruno@clisp.org>
52504
52505         * lib/getaddrinfo.h: Fix POSIX URL.
52506         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
52507         _WIN32.
52508         (use_win32_p): Make static.
52509         (getaddrinfo): Reject service name if it is empty or does not consist
52510         solely of decimal digits, or if its value is > 65535.
52511         (getnameinfo): Remove useless casts.
52512
52513 2006-06-27  Simon Josefsson  <jas@extundo.com>
52514
52515         * modules/sys_select: New file, suggested by Bruno Haible, Paul
52516         Eggert and Martin Lambers.
52517
52518 2006-06-27  Simon Josefsson  <jas@extundo.com>
52519
52520         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
52521         Eggert and Martin Lambers.
52522
52523 2006-06-27  Bruno Haible  <bruno@clisp.org>
52524
52525         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
52526         result to 0, not to empty.
52527         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
52528
52529 2006-06-27  Bruno Haible  <bruno@clisp.org>
52530
52531         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
52532
52533 2006-06-26  Simon Josefsson  <jas@extundo.com>
52534
52535         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
52536         present.
52537
52538 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
52539
52540         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
52541         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
52542         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
52543
52544 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
52545
52546         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
52547
52548 2006-06-26  Bruno Haible  <bruno@clisp.org>
52549
52550         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
52551
52552 2006-06-26  Bruno Haible  <bruno@clisp.org>
52553
52554         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
52555
52556 2006-06-26  Bruno Haible  <bruno@clisp.org>
52557
52558         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
52559         SGI C compiler in pre-C99 mode.
52560         Suggested by Mark D. Baushke and Larry Jones.
52561
52562 2006-06-26  Bruno Haible  <bruno@clisp.org>
52563
52564         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
52565         WCHAR_MAX.
52566         Reported by Mark D. Baushke and Larry Jones.
52567
52568 2006-06-26  Bruno Haible  <bruno@clisp.org>
52569
52570         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
52571         in pre-C99 mode.
52572         Suggested by Mark D. Baushke and Larry Jones.
52573
52574 2006-06-23  Simon Josefsson  <jas@extundo.com>
52575             Bruno Haible  <bruno@clisp.org>
52576
52577         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
52578         Emit mostlyclean-local rule.
52579         (func_emit_tests_Makefile_am): Likewise.
52580         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
52581
52582 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
52583
52584         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
52585
52586 2006-06-23  Bruno Haible  <bruno@clisp.org>
52587
52588         * tests/test-stdint.c: Update to match ISO C 99 Technical
52589         Corrigendum 1.
52590
52591 2006-06-23  Bruno Haible  <bruno@clisp.org>
52592
52593         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
52594
52595 2006-06-23  Bruno Haible  <bruno@clisp.org>
52596
52597         * lib/stdint_.h: Treat IRIX like OpenBSD.
52598
52599 2006-06-23  Bruno Haible  <bruno@clisp.org>
52600
52601         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
52602         ISO C 99 Technical Corrigendum 1.
52603
52604 2006-06-22  Simon Josefsson  <jas@extundo.com>
52605
52606         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
52607         MinGW.
52608
52609 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
52610
52611         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
52612         needed.  Some compiler complained about some of them.  Problem reported
52613         by Larry Jones in
52614         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
52615
52616 2006-06-21  Simon Josefsson  <jas@extundo.com>
52617
52618         * tests/test-getaddrinfo.c: New file.
52619
52620         * modules/getaddrinfo-tests: New file.
52621
52622         * MODULES.html.sh: Add inet_pton.
52623
52624         * modules/inet_pton: New file.
52625
52626 2006-06-21  Simon Josefsson  <jas@extundo.com>
52627
52628         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
52629         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
52630         of using the (limited) gnulib implementation on Windows XP.
52631
52632         * m4/inet_pton.m4: New file.
52633
52634 2006-06-21  Simon Josefsson  <jas@extundo.com>
52635
52636         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
52637         variable.
52638
52639         * lib/socket_.h: Don't define WINVER.
52640
52641         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
52642         slightly modified to work in gnulib.
52643
52644 2006-06-21  Simon Josefsson  <jas@extundo.com>
52645
52646         * doc/gnulib.texi (Windows sockets): Add.
52647
52648 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
52649
52650         * lib/read-file.c (fread_file): Start with buffer allocation of
52651         0 bytes rather than 1 byte; this simplifies the code.
52652         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
52653         code to free buffer and save/restore errno.
52654         (internal_read_file): Remove unused local.
52655
52656 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
52657
52658         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
52659         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
52660         Problem reported by Denis Excoffier in
52661         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
52662
52663 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
52664
52665         * modules/sys_socket, modules/socklen: Include sys/types since
52666         FreeBSD 4.x's sys/socket.h needs it.
52667
52668 2006-06-19  Simon Josefsson  <jas@extundo.com>
52669
52670         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
52671
52672 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
52673
52674         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
52675
52676 2006-06-19  Bruno Haible  <bruno@clisp.org>
52677
52678         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
52679         and FULL_PATH_INTTYPES_H in angle brackets.
52680         Reported by Mark D. Baushke <mdb@gnu.org>.
52681
52682 2006-06-17  Eric Blake  <ebb9@byu.net>
52683
52684         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
52685         errno.
52686
52687 2006-06-17  Bruno Haible  <bruno@clisp.org>
52688
52689         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
52690         <sys/inttypes.h>.
52691
52692 2006-06-17  Bruno Haible  <bruno@clisp.org>
52693
52694         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
52695         whether errno is declared. Assume <errno.h> declares errno.
52696
52697 2006-06-17  Bruno Haible  <bruno@clisp.org>
52698
52699         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
52700
52701 2006-06-17  Bruno Haible  <bruno@clisp.org>
52702
52703         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
52704         problem on Solaris 2.5.1.
52705
52706 2006-06-16  Eric Blake  <ebb9@byu.net>
52707
52708         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
52709         * lib/unicodeio.c [!defined errno]: Likewise.
52710         * lib/strtol.c [!defined errno]: Likewise.
52711         * lib/strtod.c [!defined errno]: Likewise.
52712
52713 2006-06-15  Eric Blake  <ebb9@byu.net>
52714
52715         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
52716
52717 2006-06-15  Eric Blake  <ebb9@byu.net>
52718
52719         * config/srclist.txt (ssize_t.m4): Lose sync.
52720
52721 2006-06-15  Bruno Haible  <bruno@clisp.org>
52722
52723         * modules/stdint (Files): Include m4/full-header-path.m4,
52724         m4/size_max.m4, m4/wchar_t.m4.
52725         (Makefile.am): Many more substitutions.
52726         * modules/stdint-tests: New file.
52727         * tests/test-stdint.c: New file.
52728
52729 2006-06-15  Bruno Haible  <bruno@clisp.org>
52730
52731         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
52732         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
52733         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
52734         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
52735         gl_CHECK_TYPE_SAME): New macros.
52736
52737 2006-06-15  Bruno Haible  <bruno@clisp.org>
52738
52739         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
52740
52741 2006-06-15  Bruno Haible  <bruno@clisp.org>
52742
52743         * lib/stdint_.h: Rewritten to be fully auto-configured.
52744         Fixes bug on HP-UX/IA64.
52745
52746 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
52747
52748         * lib/getdate.y (__attribute__): Don't define if already defined.
52749         Problem reported by Larry Jones.
52750         * lib/utimens.c (__attribute__): Likewise.
52751
52752 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
52753
52754         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
52755         reported by Andreas Schwab.
52756
52757 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52758             Bruno Haible  <bruno@clisp.org>
52759
52760         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
52761         check for the declaration of strnlen and a run test that exposes the
52762         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
52763         rpl_strndup.
52764
52765 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52766             Bruno Haible  <bruno@clisp.org>
52767
52768         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
52769
52770 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52771
52772         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
52773         compile test, for Tru64 4.0D.
52774
52775 2006-05-28  Karl Berry  <karl@gnu.org>
52776
52777         * config/srclist.txt (printf-args.c): lose sync.
52778
52779 2006-05-26  Martin Lambers  <marlam@marlam.de>
52780
52781         * lib/getpass.c: Updates the test for the native W32 API, and adds
52782         missing includes, thus fixing compilation warnings.
52783
52784 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
52785
52786         * lib/exclude.c (exclude_fnmatch): New function.
52787         (excluded_file_name): Call exclude_fnmatch.
52788         * lib/exclude.h (excluded_file_name): New prototype
52789
52790 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
52791
52792         * lib/tempname.c (small_open, large_open): New macros.
52793         (__open, __open64) [!_LIBC]: Remove.
52794         (__gen_tempname): Use small_open and large_open instead of __open
52795         and __open64.  This fixes a portability bug on HP-UX 11.11i
52796         reported by Simon Wing-Tang in
52797         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
52798
52799 2006-05-24  Bruno Haible  <bruno@clisp.org>
52800
52801         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
52802         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
52803         Reported by Thorsten Maerz <torte@netztorte.de> via
52804         Aaron Stone <aaron@serendipity.cx>.
52805
52806 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
52807
52808         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
52809         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
52810         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
52811         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
52812         not really conditional on the cache.
52813         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
52814
52815 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
52816
52817         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
52818         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
52819         (my_usleep): Don't mishandle maximum value.
52820
52821 2006-05-19  Jim Meyering  <jim@meyering.net>
52822
52823         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
52824
52825 2006-05-17  Bruno Haible  <bruno@clisp.org>
52826
52827         Cygwin portability.
52828         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
52829
52830 2006-05-17  Bruno Haible  <bruno@clisp.org>
52831
52832         * lib/stdint_.h: Fix recognition of Cygwin.
52833
52834 2006-05-15  Bruno Haible  <bruno@clisp.org>
52835
52836         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
52837         on libtool patch by Ralf Wildenhues.
52838
52839 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
52840
52841         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
52842         test for C99 conformance; (bool) 0.5 is an integer constant
52843         expression, but (bool) -0.5 is not.  Problem reported by Fedor
52844         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
52845
52846 2006-05-11  Simon Josefsson  <jas@extundo.com>
52847
52848         * m4/xvasprintf.m4: Fix obvious typo.
52849
52850 2006-05-11  Jim Meyering  <jim@meyering.net>
52851
52852         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
52853         James Lemley.
52854
52855 2006-05-10  Simon Josefsson  <jas@extundo.com>
52856
52857         * lib/md4.c: Typo fix, update copyright years.
52858         (K1, K2): Don't use L because it turn computations into 64-bit on
52859         64-bit platforms.
52860
52861 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
52862
52863         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
52864         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
52865         unwanted sign propagation, e.g., on hosts with 64-bit int.
52866         There still are some problems with reeelly weird theoretical hosts
52867         (e.g., 33-bit int) but it's not worth worrying about now.
52868         * lib/sha1.c (rol): Likewise.
52869         (K1, K2, K3, K4): Remove unnecessary L suffix.
52870
52871 2006-05-10  Bruno Haible  <bruno@clisp.org>
52872
52873         * lib/des.c: Cast to avoid warnings.
52874
52875 2006-05-09  Bruno Haible  <bruno@clisp.org>
52876
52877         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
52878         (Depends-on): Depend also on xsize, stdarg.
52879         (configure.ac): Add gl_XVASPRINTF.
52880
52881 2006-05-09  Bruno Haible  <bruno@clisp.org>
52882
52883         * m4/xvasprintf.m4: New file.
52884
52885 2006-05-09  Bruno Haible  <bruno@clisp.org>
52886
52887         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
52888         (EOVERFLOW): Define fallback value.
52889         (xstrcat): New function.
52890         (xvasprintf): Recognize the special case of a string concatenation.
52891
52892 2006-05-08  Eric Blake  <ebb9@byu.net>
52893
52894         * gnulib-tool (func_version): Base copyright year on CVS date.
52895         (func_emit_copyright_notice): New function.
52896         (func_emit_lib_Makefile_am): Use it.
52897         (func_emit_tests_Makefile_am): Likewise.
52898         (func_import): Likewise.
52899
52900 2006-05-08  Bruno Haible  <bruno@clisp.org>
52901
52902         * modules/stdarg: New file.
52903         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
52904
52905 2006-05-08  Bruno Haible  <bruno@clisp.org>
52906
52907         * m4/stdarg.m4: New file, from GNU gettext.
52908
52909 2006-05-08  Bruno Haible  <bruno@clisp.org>
52910
52911         * config/srclist.txt (build-aux/config.rpath): different from latest
52912         release.
52913
52914 2006-05-08  Bruno Haible  <bruno@clisp.org>
52915
52916         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
52917
52918 2006-05-05  Jim Meyering  <jim@meyering.net>
52919
52920         * m4/warning.m4: New file, derived from bison's file by the same name.
52921
52922 2006-05-03  Bruno Haible  <bruno@clisp.org>
52923
52924         * lib/stdint_.h: Shorter URL.
52925         * lib/inttypes.h: Likewise.
52926
52927 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52928
52929         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
52930
52931 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52932
52933         * lib/verify.h: Document the internals better.  Most of this change
52934         was written by Bruno Haible.
52935
52936 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
52937
52938         * doc/verify.texi: New file, partly based on a proposal by
52939         Bruno Haible.
52940
52941 2006-05-02  Bruno Haible  <bruno@clisp.org>
52942
52943         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
52944         test from here...
52945         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
52946
52947 2006-04-29  Bruno Haible  <bruno@clisp.org>
52948
52949         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
52950         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
52951
52952 2006-04-29  Bruno Haible  <bruno@clisp.org>
52953
52954         * gnulib-tool: Make --update option actually work.
52955
52956 2006-04-29  Bruno Haible  <bruno@clisp.org>
52957
52958         * doc/gcd.texi: New file.
52959         * doc/gnulib.texi: Include it.
52960
52961 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
52962
52963         * lib/getdate.y (get_date): When adding relative date, start with the
52964         initial time, not with the result of the first mktime call.
52965
52966 2006-04-25  Bruno Haible  <bruno@clisp.org>
52967
52968         * gnulib-tool (func_import): Output the include directives in three
52969         blocks, sorted separately.
52970         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52971
52972 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
52973
52974         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
52975         to define main with arguments, for C++.  Reported by Eric Blake.
52976         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
52977         Prefer 'int main ()' to 'int main (void)', for C++.
52978         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
52979         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
52980         for 'main', for C99 and C++.
52981
52982 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
52983
52984         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
52985         Don't assume that exit status -1 is valid.
52986         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
52987         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
52988         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
52989         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
52990         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
52991         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
52992         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
52993         functions can be used without declaring them, or that you can
52994         exit with status -1.
52995         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
52996
52997 2006-04-24  Karl Berry  <karl@gnu.org>
52998
52999         * config/srclist.txt (longdouble.m4): sync lost.
53000
53001 2006-04-24  Eric Blake  <ebb9@byu.net>
53002
53003         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
53004
53005 2006-04-24  Bruno Haible  <bruno@clisp.org>
53006
53007         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
53008         poll() implementation in AIX.
53009         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53010
53011 2006-04-24  Bruno Haible  <bruno@clisp.org>
53012
53013         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
53014         assigned exactly once.
53015
53016 2006-04-23  Claudio Fontana  <claudio@gnu.org>
53017             Bruno Haible  <bruno@clisp.org>
53018
53019         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
53020         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
53021         for AM_CPPFLAGS.
53022
53023 2006-04-23  Bruno Haible  <bruno@clisp.org>
53024
53025         * modules/copy-file: Depend on unistd.
53026         * modules/execute: Likewise.
53027         * modules/fatal-signal: Likewise.
53028         * modules/findprog: Likewise.
53029         * modules/mkdtemp : Likewise.
53030         * modules/pipe: Likewise.
53031         * modules/wait-process: Likewise.
53032
53033 2006-04-23  Bruno Haible  <bruno@clisp.org>
53034
53035         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
53036         condition was already detected.
53037         Reported by Ben Pfaff <blp@cs.stanford.edu>.
53038
53039 2006-04-23  Bruno Haible  <bruno@clisp.org>
53040
53041         * lib/copy-file.c: Include <unistd.h> unconditionally.
53042         * lib/execute.c: Likewise.
53043         * lib/fatal-signal.c: Likewise.
53044         * lib/findprog.c: Likewise.
53045         * lib/mkdtemp.c: Likewise.
53046         * lib/pipe.h: Likewise.
53047         * lib/pipe.c: Likewise.
53048         * lib/wait-process.h: Likewise.
53049
53050 2006-04-23  Bruno Haible  <bruno@clisp.org>
53051
53052         * gnulib-tool (func_usage): Fix --import description. Document
53053         --update.
53054         (func_import): Create temporary file in a temporary directory, if
53055         --dry-run is specified. Silence errors from 'grep' when there are no
53056         m4 files in $m4dir.
53057         (func_create_testdir): Silence errors from 'grep' when there are no
53058         m4 files in $m4dir.
53059         Reported by Karl Berry <karl@freefriends.org>.
53060
53061 2006-04-20  Bruno Haible  <bruno@clisp.org>
53062
53063         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
53064         one argument, so that the code will be portable to Autoconf 2.60.
53065         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
53066         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
53067         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
53068
53069 2006-04-19  Derek Price  <derek@ximbiot.com>
53070             Eric Blake  <ebb9@byu.net>
53071
53072         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
53073         rather than "/full/path.h".  Update comment to match.  Shorten &
53074         generalize m4_translit call via AS_TR_CPP.
53075
53076 2006-04-19  Derek Price  <derek@ximbiot.com>
53077             Eric Blake  <ebb9@byu.net>
53078
53079         * lib/inttypes.h: Correct grammar in comment.
53080
53081 2006-04-18  Derek Price  <derek@ximbiot.com>
53082             Paul Eggert  <eggert@cs.ucla.edu>
53083
53084         * modules/inttypes: New file.
53085         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
53086
53087 2006-04-18  Derek Price  <derek@ximbiot.com>
53088             Paul Eggert  <eggert@cs.ucla.edu>
53089
53090         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
53091         New files.
53092
53093 2006-04-18  Derek Price  <derek@ximbiot.com>
53094             Paul Eggert  <eggert@cs.ucla.edu>
53095
53096         * lib/inttypes.h: New file.
53097         * lib/strtoimax.c: Assume <inttypes.h>.
53098
53099 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
53100
53101         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
53102         isn't mounted.  Problem reported by Kir Kolyshkin.
53103
53104 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
53105
53106         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
53107         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
53108         Derek R. Price.
53109         * lib/regex.h (RE_DUP_MAX): Update comment to match current
53110         implementation.
53111
53112 2006-04-12  Eric Blake  <ebb9@byu.net>
53113
53114         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
53115         is now done automatically by the corresponding Autoconf macro.
53116
53117 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
53118
53119         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
53120         time_r.h.
53121
53122 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53123
53124         Merge regex changes from libc, removing some of our
53125         POSIX-conformance changes that were rejected and redoing them in a
53126         less-intrusive way.
53127
53128         * lib/regcomp.c (re_compile_internal, init_dfa):
53129         Length arg is now size_t, not Idx.  All uses changed.
53130         (peek_token): Forward decl now says internal_function.
53131         (__re_error_msgid, __re_error_msgid_idx):
53132         Now static rather than extern with attribute_hidden.
53133         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
53134         For some reason libc prefers K&R style defns for external functions.
53135         (regerror) [!defined _LIBC]: Likewise.
53136         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
53137         (seek_collating_symbol_entry, lookup_collation_sequence_value):
53138         (build_range_exp, build_collating_symbol):
53139         Use K&R-style defn.
53140         (re_compile_fastmap): Use '\0' to memset, not 0.
53141         (utf8_sb_map): Make the calculations more obvious.
53142         (init_dfa, parse_bracket_exp, build_charclass_op):
53143         Call calloc and cast result, as glibc does.
53144         (init_word_char, fetch_token, peek_token, peek_token_bracket):
53145         (build_range_exp, build_collating_symbol):
53146         Now internal functions.
53147
53148         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
53149
53150         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
53151         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
53152         Don't depend on VMS; depend on __VMS instead, for POSIX
53153         namespace cleanness.
53154         (regoff_t): Define to ssize_t, not long int.
53155
53156         Remove the REG_ macros named below.  Instead, make the old names
53157         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
53158         __USE_GNU_REGEX.
53159         (REG_BACKSLASH_ESCAPE_IN_LISTS):
53160         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
53161         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
53162         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
53163         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
53164         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
53165         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
53166         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
53167         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
53168         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
53169         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
53170         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
53171         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
53172         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
53173         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
53174         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
53175         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
53176         (REG_NREGS):
53177         Remove.  All uses replaced by the old RE_* names.
53178         (RE_BACKSLASH_ESCAPE_IN_LISTS):
53179         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
53180         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
53181         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
53182         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
53183         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
53184         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
53185         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
53186         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
53187         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
53188         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
53189         Don't bother having these macros be independent of each others'
53190         values, since they no longer exist in the POSIX name space.
53191
53192         Rename the following member names back to their old names,
53193         unless !__USE_GNU_REGEX.  All uses changed back.
53194         (buffer): Renamed from re_buffer.
53195         (allocated): Renamed from re_allocated.
53196         (used): Renamed from re_used.
53197         (syntax): Renamed from re_syntax.
53198         (fastmap): Renamed from re_fastmap.
53199         (translate): Renamed from re_translate.
53200         (can_be_null): Renamed from re_can_be_null.
53201         (regs_allocated): Renamed from re_regs_allocated.
53202         (fastmap_accurate): Renamed from re_fastmap_accurate.
53203         (no_sub): Renamed from re_no_sub.
53204         (not_bol): Renamed from re_not_bol.
53205         (not_eol): Renamed from re_not_eol.
53206         (newline_anchor): Renamed from re_newline_anchor.
53207         (num_regs): Renamed from rm_num_regs.
53208         (start): Renamed from rm_start.
53209         (end): Renamed from rm_end.
53210
53211         (free_state): Move up a bit.
53212
53213         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
53214         #define to be empty.
53215         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
53216         when that is what is intended.
53217         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
53218         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
53219         (MAX): New macro.
53220         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
53221         All uses changed back to re_malloc, etc.  It's now the caller's
53222         responsibility to check for overflow; all callers changed.
53223         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
53224         (re_x2nrealloc): Remove.
53225         (free_state): Remove decl.
53226
53227         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
53228         (re_set_registers, re_exec):
53229         Use K&R-style defn.
53230
53231         2006-01-31  Roland McGrath  <roland@redhat.com>
53232
53233         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
53234         Reported by Mike Frysinger <vapier@gentoo.org>.
53235
53236         2006-01-15  Andreas Jaeger  <aj@suse.de>
53237
53238         [BZ #1950]
53239         * lib/regex_internal.c (re_string_reconstruct): Adjust for
53240         build_wcs_upper_buffer change.
53241         (build_wcs_upper_buffer): Change return type.
53242
53243         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
53244
53245         * lib/regex_internal.h: Include <stdint.h> if available.
53246
53247         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
53248
53249         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
53250
53251         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
53252
53253         * lib/regcomp.c: Adjust for changed secondary hash function.
53254
53255         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
53256
53257         * lib/regex.h: Pretty printing.
53258         Clean up namespace a bit.
53259
53260         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
53261
53262         * lib/regexec.c (update_cur_sifted_state, check_arrival,
53263         check_arrival_add_next_nodes): Avoid using uninitialized variable.
53264
53265         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
53266                     Ulrich Drepper  <drepper@redhat.com>
53267
53268         [BZ #1302]
53269         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
53270         changed.
53271         (bitset_word_t): Renamed from bitset_word.  All uses changed.
53272
53273         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
53274
53275         [BZ #281]
53276         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
53277         * lib/regcomp.c: Remove unnecessary uses of
53278         unsigned RE_TRANSLATE_TYPE.
53279         * lib/regex_internal.h: Likewise.
53280         * lib/regex_internal.c: Likewise.
53281         * lib/regexec.c: Likewise.
53282         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
53283
53284         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
53285
53286         * lib/regexec.c (find_recover_state): Remove unnecessary
53287         initialization.
53288         (transit_state_bkref): Make DFA a const pointer.
53289         (get_subexp): Likewise.
53290         (check_arrival): Likewise.
53291         (update_cur_sifted_state): Likewise.
53292         (re_search_internal): Likewise.
53293         (prune_impossible_nodes): Likewise.
53294         (acquire_init_state_context): Likewise.
53295         (proceed_next_node): Likewise.
53296         (set_regs): Likewise.
53297         (free_fail_stack_return): Likewise.
53298         (check_arrival_expand_ecl): Mark DFA parameter as const.
53299         (check_arrival_expand_ecl_sub): Likewise.
53300         (check_subexp_limits): Likewise.
53301         (sub_epsilon_src_nodes):  Likewise.
53302         (add_epsilon_src_nodes):  Likewise.
53303         (merge_state_array): Likewise.
53304         (update_regs): Likewise.
53305         (build_trtable): Likewise.
53306         (sift_states_backward): Mark MCTX parameter as const.
53307         (build_sifted_states): Likewise.
53308         (update_cur_sifted_state): Likewise.
53309         (sift_states_mkref): Likewise.
53310         (check_arrival_expand_ecl): Mark eclosure as const.
53311         (check_dst_limits_calc_pos_1): Likewise.
53312         * lib/regex_internal.h (re_match_context_t): Make dfa a const
53313         pointer.
53314
53315         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
53316
53317         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
53318         (transit_state_sb): Likewise.
53319         (transit_state_mb): Likewise.
53320         (sift_states_iter_mb): Likewise.
53321         (check_arrival_add_next_nodes): Likewise.
53322         (check_node_accept_bytes): Change first parameter to pointer-to-const.
53323         [_LIBC] (re_search_2_stub): Use mempcpy.
53324
53325         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
53326         mbrtowc for very simple UTF-8 case.
53327
53328         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
53329         a pointer-to-const.
53330         (re_acquire_state_context): Likewise.
53331         * lib/regex_internal.h: Adjust prototypes.
53332
53333         * lib/regex.c: Prevent using C++ compilers.
53334
53335         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
53336         (re_acquire_state_context): Likewise.
53337
53338 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53339
53340         * modules/regex (Depends-on): Add ssize_t.
53341
53342 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53343
53344         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
53345         translation table.
53346
53347 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
53348
53349         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
53350
53351 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
53352             Bruno Haible  <bruno@clisp.org>
53353
53354         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
53355         <sys/types.h> and <inttypes.h>.
53356
53357 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53358
53359         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
53360         `__error_t_defined', so argp.h will not typedef the former.
53361
53362 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
53363
53364         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
53365         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
53366         glibc names.  Even if glibc is changed to conform to POSIX, the
53367         traditional names will be available anyway, since regex depends on
53368         the extensions module.  Also, fix a longstanding typo in the
53369         implementation of Spencer ERE test #75 from grep 2.3.  Problems
53370         reported by Emanuele Giaquinta.  Also, change sense of cached
53371         variable, so that the message makes sense.
53372
53373 2006-03-24  Simon Josefsson  <jas@extundo.com>
53374
53375         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
53376         including some doc fixes.
53377         (base64_encode_alloc): Fix +1 bug on allocation failures.
53378
53379 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53380
53381         * lib/base64.c (base64_encode): Do not read past end of array with
53382         unsanitized input on systems with CHAR_BIT > 8.
53383
53384 2006-03-24  Eric Blake  <ebb9@byu.net>
53385
53386         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
53387
53388 2006-03-22  Karl Berry  <karl@gnu.org>
53389
53390         * config/srclist.txt (*setenv.[ch]): get from coreutils.
53391         * config/srclistvars.sh (COREUTILS): new var.
53392
53393 2006-03-17  Jim Meyering  <jim@meyering.net>
53394
53395         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
53396         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
53397
53398 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
53399
53400         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
53401         no longer needs it.  Instead, check that regoff_t is as least
53402         as wide as ptrdiff_t.
53403
53404         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
53405         so that our regex.h stays compatible with the installed regex.
53406         This is helpful for installers who configure --without-included-regex.
53407         Problem reported by Emanuele Giaquinta.
53408
53409 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
53410
53411         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
53412         Typedef to long int, not to off_, as POSIX will likely change
53413         in that direction.
53414
53415 2006-03-15  Eric Blake  <ebb9@byu.net>
53416
53417         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
53418
53419 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
53420
53421         * lib/argp-help.c (validate_uparams): Fix typo
53422         * lib/argp-parse.c (argp_default_options): Consistently begin help
53423         messages with a lowercase letter.
53424
53425 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
53426
53427         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
53428         overrun buffers and shouldn't be used (much as gets shouldn't be
53429         used).
53430         * lib/time_r.c (asctime_r, ctime_r): Likewise.
53431
53432 2006-03-08  Simon Josefsson  <jas@extundo.com>
53433
53434         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
53435         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53436
53437 2006-03-08  Simon Josefsson  <jas@extundo.com>
53438
53439         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
53440         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53441
53442 2006-03-08  Simon Josefsson  <jas@extundo.com>
53443
53444         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
53445         signal that configure disabled the device.
53446
53447 2006-03-08  Simon Josefsson  <jas@extundo.com>
53448
53449         * build-aux/maint.mk: Fix refresh-po, to handle no translated
53450         languages.
53451
53452 2006-03-07  Simon Josefsson  <jas@extundo.com>
53453
53454         * modules/getopt (Depends-on): Add unistd.
53455
53456         * modules/unistd: New file.
53457
53458 2006-03-07  Simon Josefsson  <jas@extundo.com>
53459
53460         * modules/gc-random: New file.
53461
53462 2006-03-07  Simon Josefsson  <jas@extundo.com>
53463
53464         * m4/unistd_h.m4: New file.
53465
53466 2006-03-07  Simon Josefsson  <jas@extundo.com>
53467
53468         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
53469         test to be side-effect free by storing the result in the cache
53470         variable gl_cv_lib_readline, and moving the assignment of
53471         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
53472         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53473
53474 2006-03-07  Simon Josefsson  <jas@extundo.com>
53475
53476         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
53477         error on missing devices (the functions will return an error).
53478
53479         * m4/gc.m4: Move random stuff to gc-random.m4
53480
53481 2006-03-07  Simon Josefsson  <jas@extundo.com>
53482
53483         * lib/unistd_.h: New file.
53484
53485 2006-03-07  Simon Josefsson  <jas@extundo.com>
53486
53487         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
53488
53489 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
53490
53491         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
53492         Problem reported by Juan Manuel Guerrero.
53493
53494 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
53495
53496         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
53497         the unistd module.
53498         * lib/getlogin_r.c: Likewise.
53499         * lib/getlogin_r.h: Likewise.
53500         * lib/glob.c: Likewise.
53501         * lib/pagealign_alloc.c: Likewise.
53502         * lib/unistd_.h: Remove; no longer needed.
53503
53504 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
53505
53506         * MODULES.html.sh (Support for systems lacking POSIX:2001):
53507         Add unistd.
53508         * modules/c-stack (Depends-on): Add unistd.
53509         * modules/getlogin_r: Likewise.
53510         * modules/glob: Likewise.
53511         * modules/pagealign_alloc: Likewise.
53512         * modules/unistd (Files): Remove lib/unistd_.h.
53513         (EXTRA_DIST): Remove.
53514         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
53515         need unistd_.h.
53516         (MOSTLYCLEANFILES): Remove unistd.h-t.
53517
53518 2006-03-03  Simon Josefsson  <jas@extundo.com>
53519
53520         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
53521
53522 2006-03-03  Simon Josefsson  <jas@extundo.com>
53523
53524         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
53525         libidn and bison.
53526
53527 2006-03-03  Simon Josefsson  <jas@extundo.com>
53528
53529         * build-aux/maint.mk: Add indent target.
53530
53531 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
53532
53533         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
53534         our replacement poll.h in any case, to avoid a differing
53535         declaration from a system header.  Seen on AIX.
53536
53537 2006-03-01  Simon Josefsson  <jas@extundo.com>
53538
53539         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
53540         <kasal@ucw.cz>.
53541
53542 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53543
53544         * modules/gettime (Depends-on): Add extensions module.
53545         * modules/nanosleep (Depends-on): Likewise.
53546         * modules/settime (Depends-on): Likewise.
53547
53548 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
53549
53550         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
53551         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
53552         pedantically.
53553         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
53554         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
53555
53556         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
53557         not "==".  Reported by Ralf Wildenhues.
53558
53559 2006-03-01  Karl Berry  <karl@gnu.org>
53560
53561         * doc/Copyright/request-*: new files, synced from gnuorg.
53562
53563 2006-03-01  Karl Berry  <karl@gnu.org>
53564
53565         * config/srclist.txt (Copyright/*): new entries.
53566
53567 2006-02-28  Simon Josefsson  <jas@extundo.com>
53568
53569         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
53570
53571 2006-02-27  Simon Josefsson  <jas@extundo.com>
53572
53573         * lib/base64.h: Indent #define's.  From Jim Meyering
53574         <jim@meyering.net>.
53575
53576 2006-02-27  Jim Meyering  <jim@meyering.net>
53577
53578         Revert the change of 2006-02-24, so these files can continue
53579         to be sync'd from gettext.
53580         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
53581         of `config.h'.
53582
53583 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
53584
53585         * modules/intprops: New file.
53586         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
53587         Add intprops.
53588         * modules/getloadavg (Files): Remove lib/intprops.h.
53589         (Depends-on): Add intprops.
53590         * modules/human: Likewise.
53591         * modules/inttostr: Likewise.
53592         * modules/openat: Likewise.
53593         * modules/sig2str: Likewise.
53594         * modules/userspec: Likewise.
53595         * modules/utimecmp: Likewise.
53596         * modules/xnanosleep: Likewise.
53597         * modules/xstrtol: Likewise.
53598
53599 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
53600
53601         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
53602         * modules/lock-tests (TESTS): Use $(EXEEXT).
53603         * modules/tls-tests: Likewise.
53604         * modules/argp-tests: Likewise.
53605         (check_PROGRAMS): New var, replacing...
53606         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
53607
53608 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53609
53610         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
53611         `config.h'.
53612
53613 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
53614
53615         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
53616
53617 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53618
53619         Sync from coreutils.
53620         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
53621         gl_CHDIR_SAFER.
53622
53623 2006-02-22  Jim Meyering  <jim@meyering.net>
53624
53625         Sync from coreutils.
53626         * m4/chdir-safer.m4: New file.
53627
53628 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
53629
53630         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
53631         AT_FDCWD exceeds INT_MAX.
53632         * lib/openat.h (AT_FDCWD): Likewise.
53633
53634 2006-02-17  Eric Blake  <address@hidden>
53635
53636         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
53637
53638 2006-02-16  Simon Josefsson  <jas@extundo.com>
53639
53640         * modules/getaddrinfo (Depends-on): Add sys_socket.
53641
53642 2006-02-15  Simon Josefsson  <jas@extundo.com>
53643
53644         * build-aux/maint.mk: Add dsyntax-check rule.
53645
53646 2006-02-15  Eric Blake  <ebb9@byu.net>
53647
53648         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
53649         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
53650         'present but cannot compile' warnings on cygwin.
53651         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
53652         use ws2tcpip.h if sys/socket.h works.
53653         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
53654         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
53655
53656 2006-02-14  Simon Josefsson  <jas@extundo.com>
53657
53658         * modules/maintainer-makefile (Files): Rename.
53659
53660         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
53661         and (the local) Makefile.cfg to maint-cfg.mk.
53662
53663         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
53664         to the latter.
53665
53666         * modules/maintainer-makefile: New module.
53667
53668         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
53669         severaly stripped to make it possible to build it up from scratch
53670         with reliable tests.
53671
53672         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
53673         fixes to permit overriding the default actions when configure and
53674         makefile are not available.
53675
53676 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
53677
53678         Sync from coreutils.
53679         * modules/lstat (Depends-on): Don't depend on xalloc.
53680         (License): Change from GPL to LGPL, since this is now simply a
53681         replacement for a libc function.
53682
53683 2006-02-14  Jim Meyering  <jim@meyering.net>
53684
53685         Sync from coreutils.
53686
53687         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
53688         failure on deficient systems, and simplify gnulib lgpl dependencies.
53689         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
53690         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
53691
53692         * lib/xalloc-die.c: Remove unused definition of N_.
53693
53694 2006-02-14  Jim Meyering  <jim@meyering.net>
53695
53696         Sync from coreutils.
53697         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
53698         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
53699         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
53700         double-quote uses of that variable, to accommodate the rare case in
53701         which getmntent is available in none of the libraries checked.  This
53702         happens at least on FreeBSD 5.0.
53703
53704 2006-02-13  Simon Josefsson  <jas@extundo.com>
53705
53706         * gnulib-tool (Usage): Fix --import, from
53707         karl@freefriends.org (Karl Berry).
53708
53709 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
53710
53711         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
53712
53713 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
53714
53715         * lib/argp-namefrob.h: Restore changes accidentally lost during the
53716         "autoupdate" on 2005-12-12.
53717
53718 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
53719
53720         * modules/closeout (Depends-on): Remove atexit.
53721
53722 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
53723
53724         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
53725         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
53726
53727 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
53728
53729         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
53730         __EXTENSIONS__ if this causes compilation to fail.  Problem
53731         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
53732         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
53733
53734 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
53735
53736         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
53737         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
53738         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
53739         All uses changed.
53740
53741 2006-01-26  Simon Josefsson  <jas@extundo.com>
53742
53743         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
53744         prototype is visible on mingw32.
53745
53746         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
53747         for mingw32.
53748
53749         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
53750         mingw32).
53751
53752 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
53753
53754         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
53755         attempt to open for write; this always fails, at least on POSIX
53756         hosts.  This reinstates the 2006-01-09 change, which was
53757         inadvertently removed.
53758
53759 2006-01-26  Bruno Haible  <bruno@clisp.org>
53760
53761         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
53762         Reported by Paul Eggert.
53763
53764 2006-01-26  Bruno Haible  <bruno@clisp.org>
53765             Paul Eggert  <eggert@cs.ucla.edu>
53766
53767         * lib/stdbool_.h (_Bool)
53768         [(! (defined __cplusplus || defined __BEOS__)
53769           && !defined __GNUC__
53770           && !(defined __HP_cc || defined __xlc__
53771                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
53772                || defined __sgi))]:
53773         #define to signed char in these cases too; this simplifies
53774         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
53775         etc., separately) and makes it more conservative.
53776
53777 2006-01-25  Simon Josefsson  <jas@extundo.com>
53778
53779         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
53780         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
53781         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
53782
53783 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
53784
53785         * lib/argp-namefrob.h: Bugfix. Remove stray #
53786
53787 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
53788
53789         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
53790         so that we test the test.
53791         Check for yet another HP-UX cc bug involving *bool |= bool.
53792
53793 2006-01-25  Karl Berry  <karl@gnu.org>
53794
53795         * config/srclist.txt (vasnprintf.c): sync lost.
53796
53797 2006-01-25  Jim Meyering  <jim@meyering.net>
53798
53799         Sync from the stable (b5) branch of coreutils:
53800
53801         * lib/fts.c (fts_children): Don't let close() clobber errno from
53802         failed fchdir().
53803
53804         * lib/fts.c (fts_stat): When following a symlink-to-directory,
53805         don't necessarily interpret stat-fails+lstat-succeeds as indicating
53806         a dangling symlink.  That can also happen at least for ELOOP.
53807         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
53808         FYI, this bug predates the inclusion of fts.c in coreutils.
53809
53810         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
53811         in their own block, so pre-c99 compilers don't object.
53812
53813         Avoid the double-free (first in fts_read, second in fts_close) that
53814         would occur when an `active' directory is made inaccessible (e.g.,
53815         via chmod a-x) during a traversal.
53816         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
53817         before returning.  Reproduce this failure by
53818         mkdir -p a/b; cd a; chmod a-x . b
53819         Reported by Stavros Passas.
53820
53821 2006-01-25  Jim Meyering  <jim@meyering.net>
53822
53823         * lib/fileblocks.c: Remove more useless parentheses.
53824         * lib/readutmp.h: Likewise.
53825
53826 2006-01-25  Bruno Haible  <bruno@clisp.org>
53827
53828         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
53829         warnings.
53830         Reported by Paul Eggert.
53831
53832 2006-01-25  Bruno Haible  <bruno@clisp.org>
53833
53834         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
53835         rid of a trap command. For Solaris sh.
53836         Reported by Mark D. Baushke <mdb@gnu.org>.
53837
53838 2006-01-24  Simon Josefsson  <jas@extundo.com>
53839
53840         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
53841         Bruno.
53842
53843 2006-01-24  Karl Berry  <karl@gnu.org>
53844
53845         * config/srclist.txt (argp-namefrob.h): sync lost.
53846
53847 2006-01-24  Jim Meyering  <jim@meyering.net>
53848
53849         * modules/openat (Files): Add lib/intprops.h.
53850         From Mark D. Baushke.
53851
53852 2006-01-24  Jim Meyering  <jim@meyering.net>
53853
53854         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
53855         Reported by Mark D. Baushke.
53856
53857 2006-01-24  Jim Meyering  <jim@meyering.net>
53858
53859         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
53860
53861 2006-01-24  Bruno Haible  <bruno@clisp.org>
53862
53863         * modules/strnlen (Maintainer): Change from glibc to all.
53864
53865 2006-01-24  Bruno Haible  <bruno@clisp.org>
53866
53867         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
53868         Patch by Paul Eggert.
53869
53870 2006-01-24  Bruno Haible  <bruno@clisp.org>
53871
53872         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
53873         already has it.
53874         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
53875         2005-11-26.
53876
53877         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
53878         'signed char' to avoid problems with the built-in _Bool type.
53879         Reported by Paul Eggert on 2005-11-26.
53880
53881 2006-01-24  Bruno Haible  <bruno@clisp.org>
53882
53883         * gnulib-tool (func_import): Avoid constructing complicated sed
53884         expressions inside backquote.
53885         Report and solution by Mark D. Baushke <mdb@gnu.org>.
53886
53887 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
53888
53889         These changes imported from libc.
53890         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
53891         test and two separate function calls.
53892         * lib/strndup.c (__strndup): Add libc_hidden_def.
53893
53894 2006-01-23  Simon Josefsson  <jas@extundo.com>
53895
53896         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
53897         Remove the test_*_SOURCES variable: automake infers it by default.
53898         * modules/tls-tests: Likewise.
53899
53900 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53901
53902         Work around porting bugs reported by Dieter in
53903         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
53904         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
53905         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
53906         Include "getopt.h" first, to check interface.
53907         (getenv): Declare only if defined HAVE_DECL_GETENV &&
53908         !HAVE_DECL_GETENV.
53909         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
53910         (__strndup): Revert to K&R-style function dfns, the glibc style.
53911         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
53912         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
53913         Include strnlen.h first, to get prototype properly.
53914         (strnlen): Renamed from __strnlen.
53915         Remove weak alias.
53916
53917 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53918
53919         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
53920
53921 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
53922
53923         * config/srclist.txt: Adjust to reflect glibc reorganization.
53924         This affects only comments.
53925
53926 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
53927
53928          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
53929          Reported by Bruce Korb <bkorb@gnu.org>.
53930
53931 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
53932
53933         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
53934         to pacify gcc -Wswitch-default.
53935
53936 2006-01-22  Bruno Haible  <bruno@clisp.org>
53937
53938         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
53939         temporary buffer for sprintf, take into account the precision also
53940         for 'd', 'i', 'u', 'o', 'x', 'X'.
53941
53942 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
53943
53944         * modules/argp-tests: New module
53945         * tests/test-argp.c: New file
53946         * tests/test-argp-2.sh: New file
53947
53948 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
53949
53950         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
53951         (__argp_base_name): Removed
53952         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
53953         typo.
53954         (__argp_base_name): Provide macro definition or extern declaration
53955         depending on the configuration
53956
53957 2006-01-20  Simon Josefsson  <jas@extundo.com>
53958
53959         * modules/inet_ntop (Depends-on): Depend on sys_socket.
53960
53961 2006-01-20  Simon Josefsson  <jas@extundo.com>
53962
53963         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
53964
53965 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
53966
53967         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
53968         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
53969         Suggested by Bruno Haible.
53970
53971 2006-01-20  Karl Berry  <karl@gnu.org>
53972
53973         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
53974         until changes propagate, I guess.
53975
53976 2006-01-19  Simon Josefsson  <jas@extundo.com>
53977
53978         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
53979
53980 2006-01-19  Simon Josefsson  <jas@extundo.com>
53981
53982         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
53983
53984 2006-01-19  Simon Josefsson  <jas@extundo.com>
53985
53986         * gnulib-tool: Set check_PROGRAMS.
53987
53988         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
53989         modules/des-tests, modules/gc-arcfour-tests,
53990         modules/gc-arctwo-tests, modules/gc-des-tests,
53991         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
53992         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
53993         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
53994         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
53995         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
53996         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
53997         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
53998         test_*_SOURCES.
53999
54000 2006-01-18  Simon Josefsson  <jas@extundo.com>
54001
54002         * modules/socklen (Depends-on): Depend on sys_socket.
54003
54004 2006-01-18  Simon Josefsson  <jas@extundo.com>
54005
54006         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
54007         modules/des-tests, modules/gc-arcfour-tests,
54008         modules/gc-arctwo-tests, modules/gc-des-tests,
54009         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
54010         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
54011         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
54012         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
54013         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
54014         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
54015         $(EXEEXT) to automake TESTS variable, for mingw32.
54016
54017 2006-01-17  Simon Josefsson  <jas@extundo.com>
54018
54019         * modules/socklen (Include): Need sys/socket.h.
54020
54021 2006-01-17  Bruno Haible  <bruno@clisp.org>
54022
54023         * modules/ssize_t (Include): Add <sys/types.h>.
54024
54025 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
54026
54027         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
54028         it's not portable and it doesn't work with cross-compiles.
54029         Problem reported by Bruno Haible.  Fix missing-$ typo in
54030         'test "gl_cv_ignore_unused_libraries" ...' that prevented
54031         -zignore from being used with Sun's C compiler.
54032
54033 2006-01-12  Simon Josefsson  <jas@extundo.com>
54034
54035         * lib/base64.c: Fix warning, reported by Bruno Haible
54036         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
54037
54038 2006-01-12  Bruno Haible  <bruno@clisp.org>
54039
54040         * modules/ldd: New file.
54041         * build-aux/ldd.sh.in: New file.
54042         * MODULES.html.sh (Support for building libraries and executables): Add
54043         ldd.
54044
54045 2006-01-12  Bruno Haible  <bruno@clisp.org>
54046
54047         * m4/ldd.m4: New file.
54048
54049 2006-01-12  Bruno Haible  <bruno@clisp.org>
54050
54051         * gnulib-tool (func_import, func_create_testdir): Don't go into an
54052         endless loop while replacing $auxdir with build-aux.
54053
54054 2006-01-11  Simon Josefsson  <jas@extundo.com>
54055
54056         * lib/stdint_.h (SIZE_MAX): Add missing (.
54057
54058 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
54059
54060         Sync from coreutils.
54061         * lib/md5.c: Fix commentary typos.
54062         (alignof, UNALIGNED_P): No need for a GCC-specific version.
54063         * lib/md5.h (__attribute__): Remove; unused.
54064         * lib/sha1.c: Fix commentary to match md5 better.
54065         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
54066         so that we don't need to worry about alignment.  All uses changed.
54067         This merges the 2005-10-28 md5 change into sha1.
54068
54069 2006-01-11  Jim Meyering  <jim@meyering.net>
54070
54071         Sync from coreutils.
54072         * lib/md5.c (OP): Fix spacing.
54073
54074 2006-01-11  Bruno Haible  <bruno@clisp.org>
54075
54076         Ensure automatic ordering between gl_LOCK and gl_ARGP.
54077         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
54078         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
54079
54080 2006-01-11  Bruno Haible  <bruno@clisp.org>
54081
54082         Ensure automatic ordering between gl_LOCK and gl_ARGP.
54083         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
54084         the "early" section as well.
54085
54086 2006-01-11  Bruno Haible  <bruno@clisp.org>
54087
54088         Avoid "ar: no archive members specified" error on MacOS X.
54089         * gnulib-tool (func_modules_add_dummy): New function.
54090         (func_import, func_create_testdir): Invoke it.
54091
54092 2006-01-11  Bruno Haible  <bruno@clisp.org>
54093
54094         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
54095         with $auxdir in AC_CONFIG_FILES statements.
54096
54097 2006-01-11  Bruno Haible  <bruno@clisp.org>
54098
54099         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
54100         Initialize also noinst_HEADERS to empty.
54101
54102 2006-01-11  Bruno Haible  <bruno@clisp.org>
54103
54104         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
54105         variables.
54106         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
54107         autoreconf.
54108
54109 2006-01-11  Bruno Haible  <bruno@clisp.org>
54110
54111         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
54112         overridable by the user.
54113         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54114
54115 2006-01-10  Simon Josefsson  <jas@extundo.com>
54116
54117         * modules/sys_socket: New file.
54118
54119 2006-01-10  Simon Josefsson  <jas@extundo.com>
54120
54121         * m4/sys_socket_h.m4: New file.
54122
54123 2006-01-10  Simon Josefsson  <jas@extundo.com>
54124
54125         * lib/socket_.h: New file.
54126
54127 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54128
54129         * modules/readutmp (Maintainer): Add myself.
54130
54131 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54132
54133         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
54134         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
54135         People who are still concerned with buggy memcmp implementations
54136         can invoke gl_FUNC_MEMCMP themselves.
54137
54138 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
54139
54140         * lib/regex_internal.h (BITSET_WORD_BITS):
54141         Work around a bug in 64-bit PGC (before version 6.1-2), where the
54142         preprocessor mishandles large unsigned values as if they were signed.
54143         Problem reported by Claudio Fontana in
54144         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
54145
54146 2006-01-10  Jim Meyering  <jim@meyering.net>
54147
54148         Avoid the double-free (first in fts_read, second in fts_close) that
54149         would occur when an `active' directory is made inaccessible (e.g.,
54150         via chmod a-x) during a traversal.
54151         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
54152         before returning.  Reproduce this failure by
54153         mkdir -p a/b; cd a; chmod a-x . b
54154         Reported by Stavros Passas.
54155
54156         Sync from coreutils.
54157         * lib/sha1.c: Tweak grammar in a comment.
54158
54159 2006-01-10  Jim Meyering  <jim@meyering.net>
54160
54161         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
54162         Patch by Joerg Sonnenberger.
54163
54164 2006-01-10  Bruno Haible  <bruno@clisp.org>
54165
54166         * modules/readutmp: Depend on module free.
54167         * modules/strtok_r: Depend on module restrict.
54168
54169 2006-01-10  Bruno Haible  <bruno@clisp.org>
54170
54171         * modules/gettext (configure.ac): Add an invocation of
54172         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
54173
54174 2006-01-10  Bruno Haible  <bruno@clisp.org>
54175
54176         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
54177         Reported by Werner Lemberg <wl@gnu.org>.
54178
54179 2006-01-10  Bruno Haible  <bruno@clisp.org>
54180
54181         * lib/localcharset.c: Update from GNU gettext.
54182
54183 2006-01-10  Bruno Haible  <bruno@clisp.org>
54184
54185         * lib/argp.h (__const): Remove macro. Use const instead.
54186         * lib/argp-fmtstream.h (__const): Likewise.
54187         * lib/glob_.h (__const): Remove macro.
54188         * lib/glob-libc.h: Use const instead of __const.
54189
54190 2006-01-10  Bruno Haible  <bruno@clisp.org>
54191
54192         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
54193         variable.
54194         Needed to avoid an automake error regarding the 'gettext' module.
54195
54196 2006-01-09  Simon Josefsson  <jas@extundo.com>
54197
54198         * modules/inet_ntop (Depends-on): Add restrict.
54199
54200 2006-01-09  Simon Josefsson  <jas@extundo.com>
54201
54202         * modules/gc-rijndael-tests (License): Put under LGPL.
54203
54204         * modules/gc-des-tests (License): Likewise.
54205
54206         * modules/gc-arcfour-tests (License): Likewise.
54207
54208         * modules/gc-arctwo-tests (License): Likewise.
54209
54210         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
54211
54212         * modules/gc-hmac-sha1-tests (Files): Likewise.
54213
54214         * modules/gc-hmac-md5-tests (License): Likewise.
54215
54216         * modules/gc-sha1-tests (License): Likewise.
54217
54218         * modules/gc-md5-tests (License): Likewise.
54219
54220         * modules/gc-md4-tests (License): Likewise.
54221
54222         * modules/gc-md2-tests (License): Likewise.
54223
54224         * modules/gc-tests (License): Likewise.
54225
54226         * modules/des-tests (License): Likewise.
54227
54228         * modules/md4-tests (License): Likewise.
54229
54230         * modules/md2-tests (License): Likewise.
54231
54232 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54233
54234         Sync from coreutils:
54235
54236         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
54237         * modules/lib-ignore: New file.
54238         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
54239         chdir-safer.m4, lchmod.m4.
54240         * modules/openat: Add mkdirat.c, openat-priv.h.
54241
54242 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54243
54244         Sync from coreutils.
54245         * m4/lib-ignore.m4: New file.
54246         * m4/lchmod.m4: New file.
54247
54248 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54249
54250         Sync from coreutils.
54251         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
54252         for write access: POSIX says that must fail.
54253         * lib/fts.c (diropen): Likewise.
54254         * lib/save-cwd.c (save_cwd): Likewise.
54255         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
54256         well, for minor improvements on hosts that lack O_DIRECTORY.
54257         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
54258         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
54259         Fall back on chown if open failed with EACCES.
54260
54261         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
54262         Report an error at compile-time if only a 1-second nominal clock
54263         resolution is found.
54264
54265         * lib/lchmod.h: New file.
54266         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
54267         (make_dir_parents): Use lchown rather than chown, and
54268         lchmod rather than chmod.
54269
54270         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
54271         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
54272         "proc" reported by n0dalus.
54273
54274         * lib/mountlist.c: Include <limits.h>.
54275         (dev_from_mount_options)
54276         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
54277         New function.  It no longer assumes "dev=" has the System V meaning
54278         on Linux (since it doesn't).  It also parses "dev=" more carefully.
54279         (read_file_system_list)
54280         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
54281         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
54282         dev= in that case.
54283
54284         * lib/posixtm.h (PDS_PRE_2000): New macro.
54285         * lib/posixtm.c (year): Arg is now syntax_bits rather than
54286         allow_century.  All usages changed.  Reject dates outside the range
54287         1969-1999 if PDS_PRE_2000 is used.
54288
54289 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
54290
54291         Sync from coreutils.
54292         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
54293         (Time of day items): Mention the possibility of leap seconds.
54294         Problem reported by Dr. David Alan Gilbert.
54295
54296 2006-01-09  Jim Meyering  <jim@meyering.net>
54297
54298         Sync from coreutils.
54299
54300         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
54301
54302         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
54303
54304         * lib/modechange.c (mode_compile): Reject an invalid mode string
54305         that starts with an octal digit.  From Andreas Gruenbacher.
54306
54307         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
54308         and dup to open_safer and dup_safer, respectively.
54309         (openat_permissive): Fix typo in comment.
54310
54311         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
54312         "gettext.h"; either no longer needed or are guaranteed by openat.h.
54313         (_): Remove; no longer needed.
54314         (openat): Renamed from rpl_openat; no need for rpl_openat
54315         since openat.h renames openat for us.
54316         Replace most of the body with a call to openat_permissive,
54317         to avoid duplicate code.
54318         Port to (probably hypothetical) environments were mode_t is
54319         wider than int.
54320         (openat_permissive): Require mode arg, so that we can check
54321         types better.  Put it just after flags.  Change cwd failure
54322         indicator from pointer-to-bool to pointer-to-errno-value.
54323         All callers changed.
54324         Invoke openat_save_fail and/or openat_restore_fail if
54325         cwd_errno is null, so that openat can call us.
54326         (openat_permissive, fdopendir, fstatat, unlinkat):
54327         Simplify errno handling to avoid some duplicate code,
54328         as it's OK to set errno on success.
54329         * lib/openat.h: Revamp code so that function macros depend on
54330         __OPENAT_PREFIX only, not also on AT_FDCWD.
54331         (openat_ro): Remove.  Caller changed to use openat_permissive.
54332         (openat_permissive): Now a macro, if not a function.
54333         (openat_restore_fail, openat_save_fail): Now always functions,
54334         since mkdirat needs them even if __OPENAT_PREFIX is defined.
54335
54336         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
54337         and openat.c.
54338         * lib/mkdirat.c: Include openat-priv.h.
54339         Remove definitions of macros defined therein.
54340         * lib/openat.c: Likewise.
54341
54342         * lib/mkdirat.c (mkdirat): New file and function.
54343         * lib/openat.h (mkdirat): Declare.
54344
54345         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
54346
54347         * lib/openat.h (openat_permissive): Declare.
54348         (openat_ro): Define.
54349
54350         * lib/openat.c (EXPECTED_ERRNO): New macro.
54351         (openat_permissive): New function -- used in remove.c rewrite.
54352         (all functions): Set errno just before returning, only if there
54353         was an actual failure.
54354         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
54355
54356         Emulate openat-family functions using Linux's procfs, if possible.
54357         Idea and some code based on Ulrich Drepper's glibc changes.
54358
54359         * lib/openat.c: (BUILD_PROC_NAME): New macro.
54360         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
54361         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
54362         before falling back on save_cwd and restore_cwd.
54363         (fdopendir, fstatat, unlinkat): Likewise.
54364
54365         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
54366         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
54367
54368         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
54369         as second argument to va_arg.  Otherwise, some versions of gcc
54370         warn that `if this code is reached, the program will abort'.
54371
54372 2006-01-09  Jim Meyering  <jim@meyering.net>
54373
54374         Sync from coreutils.
54375         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
54376         Require openat-priv.h.
54377
54378 2006-01-09  Bruno Haible  <bruno@clisp.org>
54379
54380         * modules/strnlen (Include): Use strnlen.h.
54381
54382 2006-01-09  Bruno Haible  <bruno@clisp.org>
54383
54384         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
54385
54386 2006-01-09  Bruno Haible  <bruno@clisp.org>
54387
54388         * lib/sysexit_.h (EX_OK): New macro.
54389         Suggested by Martin Lambers <marlam@marlam.de>.
54390
54391 2006-01-09  Bruno Haible  <bruno@clisp.org>
54392
54393         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
54394         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
54395
54396 2006-01-09  Bruno Haible  <bruno@clisp.org>
54397
54398         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
54399         numbers.
54400
54401 2006-01-09  Bruno Haible  <bruno@clisp.org>
54402
54403         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
54404         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
54405         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
54406         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
54407
54408 2006-01-09  Bruno Haible  <bruno@clisp.org>
54409
54410         * build-aux/javacomp.sh.in: New file, moved from lib/.
54411         * modules/javacomp-script (Files): Update.
54412         (configure.ac): Add AC_CONFIG_FILES invocation.
54413         (EXTRA_DIST): Remove variable.
54414
54415         * build-aux/javaexec.sh.in: New file, moved from lib/.
54416         * modules/javaexec (Files): Update.
54417         (configure.ac): Add AC_CONFIG_FILES invocation.
54418         (EXTRA_DIST): Remove javaexec.sh.in.
54419
54420         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
54421         * modules/csharpcomp-script (Files): Update.
54422         (configure.ac): Add AC_CONFIG_FILES invocation.
54423         (EXTRA_DIST): Remove variable.
54424
54425         * build-aux/csharpexec.sh.in: New file, moved from lib/.
54426         * modules/csharpexec (Files): Update.
54427         (configure.ac): Add AC_CONFIG_FILES invocation.
54428         (EXTRA_DIST): Remove csharpexec.sh.in.
54429
54430 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
54431
54432         Sync from coreutils.
54433
54434         Add POSIX ACL support
54435         * lib/acl.h (copy_acl, set_acl): Add declarations.
54436         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
54437         systems other than Linux.
54438         (chmod_or_fchmod): New function: use fchmod when possible,
54439         and chmod otherwise.
54440         (file_has_acl): Add a POSIX ACL implementation, with a
54441         Linux-specific subcase.
54442         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
54443         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
54444         acls are unsupported.
54445         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
54446         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
54447         are unsupported.
54448
54449 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
54450
54451         Sync from coreutils.
54452         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
54453
54454 2006-01-07  Bruno Haible  <bruno@clisp.org>
54455
54456         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
54457         gl_EARLY.
54458
54459 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54460
54461         * lib/strftime.c (tzname): Don't declare if it is already #defined.
54462         Problem reported for Mingw by Mark Junker.
54463
54464 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54465
54466         * README: Gnulib normally doesn't generate a tarball.
54467
54468 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
54469
54470         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
54471         long int, not int, for nanosecond counts, so that people who are
54472         used to POSIX struct timespec won't be surprised.  Reported by Jim
54473         Meyering.
54474
54475 2005-12-28  Bruno Haible  <bruno@clisp.org>
54476
54477         * build-aux/config.rpath: Update from GNU gettext.
54478
54479 2005-12-16  Jim Meyering  <jim@meyering.net>
54480
54481         * modules/fprintftime: New module.
54482         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
54483
54484 2005-12-16  Jim Meyering  <jim@meyering.net>
54485
54486         * m4/fprintftime.m4: New file.
54487
54488 2005-12-16  Jim Meyering  <jim@meyering.net>
54489
54490         * lib/fprintftime.c, lib/fprintftime.h: New files.
54491
54492 2005-12-15  Simon Josefsson  <jas@extundo.com>
54493
54494         * modules/socklen (configure.ac): Fix M4 macro name, to align with
54495         new m4/socklen.m4.
54496
54497 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
54498
54499         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
54500         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
54501
54502 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
54503
54504         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
54505         * lib/argp-help.c (fill_in_uparams): Check if the constructed
54506         struct uparams is valid. Fall back to the default values if it is
54507         not.
54508
54509 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54510
54511         * modules/argp (Files): Add argp-pin.c
54512         (Depends-on): dirname
54513         (lib_SOURCES): Add argp-pin.c
54514
54515 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54516
54517         * m4/argp.m4:  Check if program_invocation_name and
54518         program_invocation_short_name are declared and define appropriate
54519         macros if they are not.
54520
54521 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
54522
54523         * lib/argp-help.c (__argp_base_name): New function
54524         (__argp_short_program_name): Rewrite using __argp_base_name
54525         * lib/argp-namefrob.h: Define program_invocation_name and
54526         program_invocation_short_name if requested
54527         (__argp_base_name): Add prototype
54528         * lib/argp-parse.c (argp_def): Use gettext wrappers
54529         (argp_default_parser): Use __argp_base_name
54530         * lib/argp-pin.c: New file. Defines program_invocation_name and
54531         program_invocation_short_name on systems that lack them.
54532
54533 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
54534
54535         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
54536         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
54537         porting problem reported by Georg Schwarz in
54538         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
54539
54540 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
54541
54542         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
54543         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
54544         porting problem reported by Georg Schwarz in
54545         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
54546
54547 2005-12-05  Bruno Haible  <bruno@clisp.org>
54548
54549         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
54550         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
54551         Reported by Mark Junker <mjscod@gmx.de>.
54552
54553 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
54554
54555         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
54556         Use implementation from Albert Chin, with some
54557         comments/corrections by Stepan Kasal and myself.
54558
54559 2005-12-02  Bruno Haible  <bruno@clisp.org>
54560
54561         * gnulib-tool (func_import): Accept GPLed build tool modules when
54562         --lgpl is given.
54563         * modules/csharpcomp-script: New file.
54564         * modules/csharpcomp: Depend on it.
54565         * modules/javacomp-script: New file.
54566         * modules/javacomp: Depend on it.
54567         Suggested by Simon Josefsson.
54568
54569 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
54570
54571         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
54572         statement, to work around an HP-UX 10.20 compiler bug reported by
54573         Peter O'Gorman.
54574
54575 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
54576
54577         * modules/savedir (Depends-on): Add openat.
54578
54579 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
54580
54581         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
54582         (uintmax_t) [defined uintmax_t]: Do not declare.
54583         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
54584         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
54585         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
54586         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
54587         sake of portability to weird hosts that C allows (though we don't
54588         know of any practical examples).
54589
54590         * lib/savedir.h (fdsavedir): New decl.
54591         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
54592         contains most of the former guts of savedir.
54593         (savedir): Use savedirstream.
54594         Include "openat.h".
54595
54596 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
54597
54598         * modules/obstack (Files): Add m4/ulonglong.m4.
54599         Problem reported by Davide Angelocola.
54600
54601 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
54602
54603         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
54604         coreutils no longer futzes with rounding modes.
54605
54606 2005-11-14  Jim Meyering  <jim@meyering.net>
54607
54608         * lib/mkstemp-safer.c: Include <config.h>, required for possible
54609         replacement of mkstemp.
54610
54611 2005-11-10  Simon Josefsson  <jas@extundo.com>
54612
54613         * lib/readline.c: Remove EOL.
54614
54615 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54616
54617         * modules/gethrxtime (Depends-on): Add gettime.
54618
54619 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54620
54621         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
54622         or gettimeofday; no longer needed.
54623
54624 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
54625
54626         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
54627         time business.
54628         (gethrxtime) [! (HAVE_NANOUPTIME
54629         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
54630         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
54631         our own approximation.
54632
54633 2005-11-08  Eric Blake  <ebb9@byu.net>
54634
54635         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
54636
54637 2005-11-08  Eric Blake  <ebb9@byu.net>
54638
54639         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
54640
54641 2005-11-04  Bruno Haible  <bruno@clisp.org>
54642
54643         * gnulib-tool: Implement --update mode.
54644
54645 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
54646
54647         Fix porting problem reported by Theodoros V. Kalamatianos.
54648         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
54649         Don't assume that futimes failing means we must fail.
54650
54651 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
54652
54653         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
54654         variables to suggest the intended function of the PATH_MAX check.
54655
54656 2005-10-30  Kean Johnston  <jkj@sco.com>
54657
54658         Trivial changes to support SCO systems.
54659         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
54660         as PATH_MAX.
54661         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
54662         where __ptr is null when no I/O is pending.
54663
54664 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
54665
54666         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
54667         leave errno alone.  Problem reported by Dmitry V. Levin.
54668
54669 2005-10-28  Simon Josefsson  <jas@extundo.com>
54670
54671         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
54672         Test more.
54673
54674         * tests/test-gc-md2.c, tests/test-md2.c: New files.
54675
54676         * modules/md2, modules/md2-tests: New files.
54677
54678 2005-10-28  Simon Josefsson  <jas@extundo.com>
54679
54680         * m4/inet_ntop.m4: More tests.
54681
54682         * m4/gc-md2.m4, md2.m4: New file.
54683
54684 2005-10-28  Simon Josefsson  <jas@extundo.com>
54685
54686         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
54687         "restrict" keywords, as per POSIX.  Protect the function
54688         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
54689         Don't use K&R prototypes.  Check the sprintf return values.
54690         Re-define EAFNOSUPPORT if not present.  Indent.
54691
54692         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
54693         suggested by Bruno Haible <bruno@clisp.org>.
54694
54695         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
54696
54697         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
54698
54699         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
54700         libgcrypt).
54701
54702         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
54703
54704         * lib/md2.h, lib/md2.c: New files.
54705
54706 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
54707
54708         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
54709         errno alone.  Problem reported by Frederic Jolliton.
54710
54711 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
54712
54713         * modules/verify (License): Change from GPL to LGPL.  This is a
54714         tiny module and there are apparently near-equivalents that are
54715         under the BSD license.
54716
54717 2005-10-24  Simon Josefsson  <jas@extundo.com>
54718
54719         * modules/sha1: Relicense to LGPL.
54720
54721 2005-10-24  Simon Josefsson  <jas@extundo.com>
54722
54723         * lib/md4.h: Shrink buffer size, now that we changed the type.
54724
54725 2005-10-23  Simon Josefsson  <jas@extundo.com>
54726
54727         * gnulib-tool (func_import): Fix --tests-base.
54728
54729 2005-10-22  Simon Josefsson  <jas@extundo.com>
54730
54731         * modules/arcfour (Depends-on): Need stdint.
54732
54733 2005-10-22  Simon Josefsson  <jas@extundo.com>
54734
54735         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
54736         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
54737
54738 2005-10-22  Simon Josefsson  <jas@extundo.com>
54739
54740         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
54741         suggested by Bruno Haible <bruno@clisp.org>.
54742
54743 2005-10-22  Simon Josefsson  <jas@extundo.com>
54744
54745         * lib/crc.h: Include stddef.h, for size_t.
54746
54747 2005-10-22  Simon Josefsson  <jas@extundo.com>
54748
54749         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
54750         arcfour_context struct (simplify test vector testing in GNU
54751         Shishi).
54752
54753 2005-10-21  Simon Josefsson  <jas@extundo.com>
54754
54755         * modules/des, modules/des-tests: New files.
54756
54757         * modules/gc-des, modules/gc-des-tests: New files.
54758
54759         * tests/test-des.c, tests/test-gc-des.c: New file.
54760
54761 2005-10-21  Simon Josefsson  <jas@extundo.com>
54762
54763         * modules/arctwo, modules/arctwo-tests: New files.
54764
54765         * tests/test-arctwo.c: New file.
54766
54767         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
54768
54769         * tests/test-gc-arctwo.c: New file.
54770
54771 2005-10-21  Simon Josefsson  <jas@extundo.com>
54772
54773         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
54774         Bruno Haible <bruno@clisp.org>.
54775
54776         * m4/gc-des.m4: New file.
54777
54778 2005-10-21  Simon Josefsson  <jas@extundo.com>
54779
54780         * m4/arctwo.m4: New file.
54781
54782         * m4/gc-arctwo.m4: New file.
54783
54784 2005-10-21  Simon Josefsson  <jas@extundo.com>
54785
54786         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
54787         block.
54788
54789 2005-10-21  Simon Josefsson  <jas@extundo.com>
54790
54791         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
54792         <bruno@clisp.org>.
54793
54794         * lib/hmac-sha1.c (hmac_sha1): Likewise.
54795
54796         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
54797         Bruno Haible <bruno@clisp.org>.
54798
54799         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
54800         <bruno@clisp.org>.
54801
54802 2005-10-21  Simon Josefsson  <jas@extundo.com>
54803
54804         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
54805
54806 2005-10-21  Simon Josefsson  <jas@extundo.com>
54807
54808         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
54809
54810 2005-10-21  Simon Josefsson  <jas@extundo.com>
54811
54812         * lib/des.h, lib/des.c: New files.
54813
54814         * lib/gc-gnulib.c: Support DES.c
54815
54816 2005-10-21  Simon Josefsson  <jas@extundo.com>
54817
54818         * lib/arctwo.h, lib/arctwo.c: New files.
54819
54820         * lib/gc-gnulib.c: Support ARCTWO.
54821
54822 2005-10-21  Simon Josefsson  <jas@extundo.com>
54823
54824         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
54825         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54826
54827 2005-10-21  Simon Josefsson  <jas@extundo.com>
54828
54829         * gnulib-tool (func_import, func_create_testdir): Define automake
54830         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
54831         Makefile.am snippet),
54832         suggested by Bruno Haible <bruno@clisp.org>.
54833
54834         * modules/gc (Makefile.am): Use it.
54835
54836 2005-10-21  Bruno Haible  <bruno@clisp.org>
54837
54838         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
54839         patch.
54840
54841 2005-10-19  Simon Josefsson  <jas@extundo.com>
54842
54843         * tests/test-gc-rijndael.c: New file.
54844
54845         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
54846
54847 2005-10-19  Simon Josefsson  <jas@extundo.com>
54848
54849         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
54850         interface too.
54851
54852 2005-10-19  Simon Josefsson  <jas@extundo.com>
54853
54854         * tests/test-gc-arcfour.c: New file.
54855
54856         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
54857
54858 2005-10-19  Simon Josefsson  <jas@extundo.com>
54859
54860         * modules/gc-md4, modules/gc-md4-tests: New file.
54861
54862         * tests/test-gc-md4.c: New file.
54863
54864 2005-10-19  Simon Josefsson  <jas@extundo.com>
54865
54866         * m4/gc-md4.m4: New file.
54867
54868 2005-10-19  Simon Josefsson  <jas@extundo.com>
54869
54870         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
54871         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
54872         <kasal@ucw.cz>.
54873
54874 2005-10-19  Simon Josefsson  <jas@extundo.com>
54875
54876         * m4/gc-arcfour.m4: New file.
54877
54878         * m4/gc-rijndael.m4: New file.
54879
54880 2005-10-19  Simon Josefsson  <jas@extundo.com>
54881
54882         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
54883
54884 2005-10-19  Simon Josefsson  <jas@extundo.com>
54885
54886         * lib/gc-gnulib.c: Support ARCFOUR.
54887
54888 2005-10-19  Simon Josefsson  <jas@extundo.com>
54889
54890         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
54891         support.
54892
54893         * lib/gc.h: Add ECB enum type.
54894
54895         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
54896
54897 2005-10-18  Simon Josefsson  <jas@extundo.com>
54898
54899         * tests/test-md5.c: New file.
54900
54901         * modules/md5-tests: New file.
54902
54903 2005-10-18  Simon Josefsson  <jas@extundo.com>
54904
54905         * tests/test-md4.c: New file.
54906
54907         * modules/md4, modules/md4-tests: New files.
54908
54909 2005-10-18  Simon Josefsson  <jas@extundo.com>
54910
54911         * m4/md4.m4: New file.
54912
54913 2005-10-18  Simon Josefsson  <jas@extundo.com>
54914
54915         * lib/md4.h, lib/md4.c: New files, based on md5.?.
54916
54917 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
54918
54919         * gnulib-tool (func_create_testdir): Omit the second check whether
54920         BUILT_SOURCES in nonempty.
54921
54922 2005-10-17  Simon Josefsson  <jas@extundo.com>
54923
54924         * tests/test-rijndael.c: New file.
54925
54926 2005-10-17  Simon Josefsson  <jas@extundo.com>
54927
54928         * modules/sha1: Depend on stdint instead of md5.
54929
54930         * modules/md5: Depend on stdint, remove uint32_t.
54931
54932 2005-10-17  Simon Josefsson  <jas@extundo.com>
54933
54934         * modules/gc-sha1-tests: New file.
54935
54936         * tests/test-gc-sha1.c: New file.
54937
54938 2005-10-17  Simon Josefsson  <jas@extundo.com>
54939
54940         * m4/md5.m4: Remove call to uint32_t.m4.
54941
54942 2005-10-17  Simon Josefsson  <jas@extundo.com>
54943
54944         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
54945
54946         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
54947         md5.h.
54948
54949         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
54950
54951         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
54952
54953 2005-10-17  Simon Josefsson  <jas@extundo.com>
54954
54955         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
54956
54957 2005-10-17  Simon Josefsson  <jas@extundo.com>
54958
54959         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
54960
54961 2005-10-17  Simon Josefsson  <jas@extundo.com>
54962
54963         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
54964
54965         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
54966
54967 2005-10-17  Bruno Haible  <bruno@clisp.org>
54968
54969         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
54970         that it can also be used in a test.
54971
54972 2005-10-16  Bruno Haible  <bruno@clisp.org>
54973
54974         * gnulib-tool (func_emit_tests_Makefile_am): Also define
54975         TESTS_ENVIRONMENT, so that individual tests can augment it.
54976
54977         * gnulib-tool (func_create_testdir): Use an intermediate target for
54978         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
54979         macros, like $(ALLOCA_H), which cannot be passed through the command
54980         line.
54981
54982 2005-10-15  Simon Josefsson  <jas@extundo.com>
54983
54984         * modules/rijndael-tests: New file.
54985
54986         * modules/rijndael: New file.
54987
54988 2005-10-15  Simon Josefsson  <jas@extundo.com>
54989
54990         * m4/rijndael.m4: New file.
54991
54992 2005-10-15  Simon Josefsson  <jas@extundo.com>
54993
54994         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
54995
54996         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
54997
54998 2005-10-14  Simon Josefsson  <jas@extundo.com>
54999
55000         * tests/test-arcfour.c: New file.
55001
55002         * modules/arcfour, modules/arcfour-tests: New files.
55003
55004 2005-10-14  Simon Josefsson  <jas@extundo.com>
55005
55006         * m4/arcfour.m4: New file.
55007
55008 2005-10-14  Simon Josefsson  <jas@extundo.com>
55009
55010         * lib/arcfour.h, lib/arcfour.c: New files.
55011
55012 2005-10-14  Roland McGrath  <roland@redhat.com>
55013
55014         Import from libc.  [BZ #1331]
55015         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
55016         macro argument.
55017         Reported by Matej Vela <vela@debian.org>.
55018
55019 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
55020
55021         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
55022         include <wchar.h>; no longer needed.
55023
55024 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
55025
55026         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
55027
55028 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
55029         and  Ulrich Drepper  <drepper@redhat.com>
55030
55031         Import from libc.
55032         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
55033         instead of inline stream orientation test and two separate
55034         function calls.  Pay no attention to USE_IN_LIBIO.
55035
55036 2005-10-13  Simon Josefsson  <jas@extundo.com>
55037
55038         * modules/gc-hmac-md5-tests: New file.
55039
55040         * tests/test-gc-hmac-sha1.c: New file.
55041
55042         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
55043
55044         * modules/gc-hmac-md5-tests: New file.
55045
55046         * tests/test-gc-md5.c: New file.
55047
55048         * modules/gc-md5-tests: New file.
55049
55050 2005-10-13  Simon Josefsson  <jas@extundo.com>
55051
55052         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
55053         Move memory allocation outside of loop.
55054
55055 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
55056
55057         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
55058         intermediate directory is in a read-only file system.  Problem
55059         reported by Eric Blake.
55060
55061 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
55062
55063         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
55064
55065 2005-10-12  Simon Josefsson  <jas@extundo.com>
55066
55067         * tests/test-hmac-sha1.c: New file.
55068
55069         * modules/hmac-sha1-tests: New file.
55070
55071         * modules/hmac-sha1: New file.
55072
55073 2005-10-12  Simon Josefsson  <jas@extundo.com>
55074
55075         * modules/gc-sha1: New file.
55076
55077 2005-10-12  Simon Josefsson  <jas@extundo.com>
55078
55079         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
55080
55081         * tests/test-gc-pbkdf2-sha1.c: New file.
55082
55083 2005-10-12  Simon Josefsson  <jas@extundo.com>
55084
55085         * modules/gc-md5, modules/gc-hmac-md5: New files.
55086
55087         * modules/gc (Files): Remove md5, memxor and hmac files.
55088
55089 2005-10-12  Simon Josefsson  <jas@extundo.com>
55090
55091         * m4/gc-pbkdf2-sha1.m4: New file.
55092
55093         * m4/gc-hmac-sha1.m4: New file.
55094
55095         * m4/gc-sha1: New file.
55096
55097         * m4/hmac-sha1.m4: New file.
55098
55099 2005-10-12  Simon Josefsson  <jas@extundo.com>
55100
55101         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
55102
55103         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
55104
55105 2005-10-12  Simon Josefsson  <jas@extundo.com>
55106
55107         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
55108         suggested by Bruno Haible <bruno@clisp.org>.
55109
55110 2005-10-12  Simon Josefsson  <jas@extundo.com>
55111
55112         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
55113
55114 2005-10-12  Simon Josefsson  <jas@extundo.com>
55115
55116         * lib/gc-pbkdf2-sha1.c: New file.
55117
55118         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
55119
55120 2005-10-12  Simon Josefsson  <jas@extundo.com>
55121
55122         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
55123
55124         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
55125
55126 2005-10-12  Simon Josefsson  <jas@extundo.com>
55127
55128         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
55129         GC_USE_HMAC_MD5, respectively.
55130
55131         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
55132         (gc_md5): Fix typo.
55133
55134         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
55135
55136         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
55137
55138         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
55139
55140 2005-10-12  Bruno Haible  <bruno@clisp.org>
55141
55142         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
55143         Reported by Stepan Kasal <kasal@ucw.cz>.
55144
55145 2005-10-11  Simon Josefsson  <jas@extundo.com>
55146
55147         * tests/test-crc.c: New file.
55148
55149         * modules/crc, modules/crc-tests: New files.
55150
55151 2005-10-11  Simon Josefsson  <jas@extundo.com>
55152
55153         * m4/crc.m4: New file.
55154
55155 2005-10-11  Simon Josefsson  <jas@extundo.com>
55156
55157         * lib/gc.h: Add gc_hash and gc_hash_buffer.
55158
55159         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
55160
55161         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
55162
55163 2005-10-11  Simon Josefsson  <jas@extundo.com>
55164
55165         * lib/crc.h, lib/crc.c: New files.
55166
55167         * lib/gc.h (gc_hash_buffer): Add doc.
55168
55169 2005-10-11  Bruno Haible  <bruno@clisp.org>
55170
55171         * modules/c-strcasestr: New file.
55172         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
55173
55174 2005-10-11  Bruno Haible  <bruno@clisp.org>
55175
55176         * modules/c-strcase: New file.
55177         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
55178
55179 2005-10-11  Bruno Haible  <bruno@clisp.org>
55180
55181         * lib/strcasecmp.c: Include limits.h.
55182         (strcasecmp): Avoid integer overflow on exotic platforms.
55183         * lib/strncasecmp.c: Include limits.h.
55184         (strncasecmp): Avoid integer overflow on exotic platforms.
55185         Reported by Paul Eggert.
55186
55187 2005-10-11  Bruno Haible  <bruno@clisp.org>
55188
55189         * lib/c-strcasestr.h: New file, from GNU gettext.
55190         * lib/c-strcasestr.c: New file, from GNU gettext.
55191
55192 2005-10-11  Bruno Haible  <bruno@clisp.org>
55193
55194         * lib/c-strcase.h: New file, from GNU gettext.
55195         * lib/c-strcasecmp.c: New file, from GNU gettext.
55196         * lib/c-strncasecmp.c: New file, from GNU gettext.
55197
55198 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
55199
55200         * modules/mempcpy (License): GPL -> LGPL.
55201         * modules/strchrnul (License): Likewise.
55202         * modules/sysexits (License): Likewise.
55203
55204 2005-10-08  Simon Josefsson  <jas@extundo.com>
55205
55206         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
55207
55208 2005-10-07  Simon Josefsson  <jas@extundo.com>
55209
55210         * m4/memxor.m4: Remove gl_C_RESTRICT call.
55211
55212 2005-10-06  Simon Josefsson  <jas@extundo.com>
55213
55214         * tests/test-hmac-md5.c: New file.
55215
55216         * modules/hmac-md5-tests: New file.
55217
55218         * modules/hmac-md5: New file.
55219
55220 2005-10-06  Simon Josefsson  <jas@extundo.com>
55221
55222         * m4/hmac-md5.m4: New file.
55223
55224         * m4/memxor.m4: Require gl_C_RESTRICT.
55225
55226 2005-10-06  Simon Josefsson  <jas@extundo.com>
55227
55228         * lib/memxor.c (memxor): Avoid casts and warnings.
55229
55230 2005-10-06  Simon Josefsson  <jas@extundo.com>
55231
55232         * lib/hmac-md5.c: New file.
55233
55234         * lib/hmac.h: New file.
55235
55236 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
55237
55238         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
55239         promotes to int, not unsigned int, to catch the AIX 5.3
55240         compiler bug.
55241
55242 2005-10-05  Simon Josefsson  <jas@extundo.com>
55243
55244         * modules/memxor: New file.
55245
55246         * modules/iconv (Files): Move config.rpath to havelib, it is used
55247         there.
55248
55249         * modules/havelib (Files): Add config.rpath.
55250
55251 2005-10-05  Simon Josefsson  <jas@extundo.com>
55252
55253         * m4/memxor.m4: New file.
55254
55255 2005-10-05  Simon Josefsson  <jas@extundo.com>
55256
55257         * lib/memxor.c (memxor): Fix compiler error.
55258
55259         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
55260         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
55261
55262         * lib/memxor.h, lib/memxor.c: New files.
55263
55264         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
55265         we assume all systems have it, suggested by Jim Meyering
55266         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
55267         any systems lack sys/socket.h; mingw32 is known to lack it, but we
55268         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
55269         same reasons.
55270
55271 2005-10-05  Simon Josefsson  <jas@extundo.com>
55272
55273         * config/srclist.txt: Add glibc bug 1423 for md5.h.
55274
55275 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
55276
55277         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
55278         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
55279         needed, since the source code now assumes these .h files.
55280
55281 2005-10-05  Derek Price  <derek@ximbiot.com>
55282
55283         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
55284
55285 2005-10-05  Bruno Haible  <bruno@clisp.org>
55286
55287         * modules/stdint (License): Change to LGPL.
55288
55289 2005-10-04  Simon Josefsson  <jas@extundo.com>
55290
55291         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
55292         D. Baushke" <mdb@gnu.org>.
55293
55294 2005-10-04  Bruno Haible  <bruno@clisp.org>
55295
55296         * lib/verify.h (verify_true): Provide alternative definition for C++.
55297
55298 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
55299
55300         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
55301         (SSIZE_MAX): New macro, if not already defined.
55302         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
55303         than 2 GiB.
55304
55305 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
55306
55307         Sync from coreutils.
55308         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
55309         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
55310         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
55311         ULLONG_MAX doesn't work with 2.7.2.1.
55312
55313 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
55314
55315         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
55316         From Ben Pfaff.
55317
55318         * modules/exclude (Depends-on): Depend on verify.
55319         * modules/strtoimax (Depends-on): Likewise.
55320         * modules/utimecmp (Depends-on): Likewise.
55321
55322 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
55323
55324         * lib/exclude.c: Include verify.h.
55325         (verify): Remove.  All callers changed to use verify.h's version.
55326         * lib/strtoimax.c: Likewise.
55327         * lib/utimecmp.c: Likewis.e
55328
55329         Sync from coreutils.
55330         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
55331         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
55332         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
55333         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
55334         bother returning ENOSYS if settimeofday or stime fails; just let
55335         them return whatever errno they want to return.
55336         * lib/utimens.c: Include unistd.h, for dup2.
55337         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
55338         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
55339
55340 2005-10-02  Jim Meyering  <jim@meyering.net>
55341
55342         Sync from coreutils.
55343         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
55344         from glibc-2.2.5 that fails for read-only files.
55345
55346 2005-10-02  Jim Meyering  <jim@meyering.net>
55347
55348         Sync from coreutils.
55349         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
55350         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
55351         `#if HAVE_CONFIG_H'.
55352         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
55353         Remove AT_FDCWD test.
55354         Do not consume the fd unless successful.
55355         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
55356         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
55357         block, so that we don't even try to compile it if settimeofday is
55358         available.  This works around a compilation failure on OSF1 V5.1,
55359         due to stime requiring a `long int*' while tv_sec is `int'.
55360
55361 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
55362
55363         Sync from coreutils.
55364         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
55365         against `yes', rather than just testing for nonempty.
55366
55367 2005-10-01  Simon Josefsson  <jas@extundo.com>
55368
55369         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
55370         and Darwin.
55371
55372         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
55373         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
55374         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
55375         freeaddrinfo and gai_strerror are declared by the POSIX headers.
55376         Check if struct addrinfo is declared.
55377
55378 2005-10-01  Simon Josefsson  <jas@extundo.com>
55379
55380         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
55381         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
55382         AI_* and EAI_* definitions.  Protect function declarations.
55383
55384 2005-10-01  Jim Meyering  <jim@meyering.net>
55385
55386         Sync from coreutils.
55387
55388         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
55389         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
55390         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
55391         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
55392         in the inet and nsl libraries.  Required on Solaris 5.7.
55393
55394 2005-10-01  Jim Meyering  <jim@meyering.net>
55395
55396         Sync from coreutils.
55397         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
55398         in the inet and nsl libraries.  Required on Solaris 5.7.
55399
55400 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
55401
55402         * lib/getdelim.c (getdelim): Remove unused variables.
55403
55404 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
55405
55406         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
55407         so that the code works even with ancient cpp.  Portability problem
55408         with GCC 2.7.2.1 reported by Thomas M.Ott.
55409
55410 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
55411
55412         * modules/regex (Depends-on): Add strcase.
55413
55414         * modules/gethostname (Licence): Change from GPL to LGPL, since
55415         gethostname.c is a trivial implementation of a standard library
55416         function.
55417         * modules/poll (License): Change from GPL to LGPL, since it's
55418         derived from LGPL code.
55419
55420 2005-09-27  Jim Meyering  <jim@meyering.net>
55421
55422         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
55423         HAVE_CONFIG_H.
55424
55425         * lib/intprops.h (signed_type_or_expr__): Define.
55426         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
55427         for unsigned types.
55428
55429 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
55430
55431         * lib/verify.h (verify_expr): Remove, replacing with:
55432         (verify_true): New macro that returns true instead of void.
55433         (verify_type__): Remove.
55434         (verify): Use verify_true rather than verify_type__.
55435
55436 2005-09-26  Bruno Haible  <bruno@clisp.org>
55437
55438         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
55439         is necessary.
55440         (lib_SOURCES): Remove mbchar.c.
55441         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
55442         (Files): Add m4/mbrtowc.m4.
55443         * modules/mbiter: Likewise.
55444         * modules/mbuiter: Likewise.
55445
55446 2005-09-26  Bruno Haible  <bruno@clisp.org>
55447
55448         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
55449         compile mbchar.c if they are not both present.
55450         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
55451         * m4/mbiter.m4 (gl_MBITER): Likewise.
55452         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
55453         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
55454         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
55455
55456 2005-09-25  Jim Meyering  <jim@meyering.net>
55457
55458         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
55459         also uses socklen_t.
55460
55461 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
55462
55463         * lib/utimens.c (ENOSYS): Define if not already defined.
55464         (futimens): Support having a null PATH if the file descriptor
55465         is nonnegative.
55466
55467         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
55468         Remove.
55469         (__attribute): Define to empty unless GCC 3.1 or later.
55470         This works around a core dump on OpenBSD 3.4, which has GCC
55471         2.95.3, which dumps core when given __attribute__(()).  It also
55472         simplifies other tests, since we really don't want to bother with
55473         worrying about which ancient version of GCC supported what.
55474         Original problem reported by Yoann Vandoorselaere, with part of
55475         the fix suggested by Derek Price.
55476
55477 2005-09-24  Jim Meyering  <jim@meyering.net>
55478
55479         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
55480         so we can once again use a positive bitfield width of 1 -- now we
55481         don't have to explain why we were using a bitfield width of 2.
55482
55483 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
55484
55485         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
55486         and similarly for the other external symbols.  Problem reported
55487         by James Gallager.
55488
55489         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
55490         bug reported by Jim Meyering.
55491
55492         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
55493         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
55494         not needed, since socklen is a prerequisite module.
55495
55496 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
55497
55498         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
55499         Problem reported by Eric Blake.
55500         (getaddrinfo): Initialize se so that it's not garbage.
55501         Redo internal storage allocation so that it doesn't make unportable
55502         assumptions about alignment.
55503         Fix a memory leak.
55504
55505         * lib/utimens.c (futimens): Use futimesat if available.
55506         Prefer it to futimes since it doesn't have the futimes bug.
55507
55508         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
55509         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
55510         Instead, declare a function that returns a pointer to an array,
55511         and use verify_type__ to declare the size of the array.
55512         Problem and germ of a solution reported by Bruno Haible.
55513         (verify_type__): Use 2, not 1, for bitfield size, to avoid
55514         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
55515
55516 2005-09-23  Jim Meyering  <jim@meyering.net>
55517
55518         Sync from coreutils.
55519         Correct build failure (socklen_t not defined) on at least
55520         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
55521         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
55522
55523 2005-09-23  Jim Meyering  <jim@meyering.net>
55524
55525         * modules/getaddrinfo (Depends-on): Add socklen.
55526
55527 2005-09-23  Bruno Haible  <bruno@clisp.org>
55528
55529         * tests/test-verify.c: New file.
55530
55531 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55532
55533         Sync from coreutils.
55534
55535         * modules/argmatch (Depends-on): Add verify.
55536         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
55537         unistd-safer.
55538         * modules/save-cwd (Depends-on): Likewise.
55539
55540         * modules/openat (Files): Add lib/openat-die.c.
55541         (Depends-on): Remove error, exitfail.
55542         Add dirname.
55543
55544         * modules/verify: New file.
55545         * MODULES.html.sh (Diagnostics <assert.h>): New section,
55546         with "verify" module.
55547
55548 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55549
55550         Sync from coreutils.
55551
55552         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
55553         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
55554         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
55555         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
55556         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
55557         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
55558         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
55559         Don't bother checking for string.h, stdlib.h, unistd.h.
55560         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
55561         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
55562         module's job.
55563         * m4/jm-macros.m4 (gl_MACROS): Likewise.
55564         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
55565
55566         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
55567         (gl_GETDATE): Use it.
55568
55569         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
55570
55571 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55572
55573         Sync from coreutils.
55574
55575         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
55576         stat-time.h.
55577         * lib/argmatch.h: Include verify.h
55578         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
55579         (ARGMATCH_ASSERT): Remove; unused.
55580         * lib/canonicalize.c: Assume STDC_HEADERS.
55581         * lib/exclude.c: Include "strcase.h".
55582         * lib/regex_internal.h [!defined _LIBC]: Likewise.
55583         * lib/getusershell.c: Include stdio--.h rather than stdio.h
55584         and stdio-safer.h.
55585         (getusershell): Call fopen, not fopen_safer.
55586         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
55587         Do not include unistd-safer.h.
55588         (save_cwd): Don't call fd_safer; no longer needed
55589         now that we include fcntl--.h.
55590
55591         * lib/getdate.y (relative_time): New type.
55592         (RELATIVE_TIME_0): New constant.
55593         (parser_control): Use relative_time instead of doing it ourselves.
55594         (%union): Add new relative_time rel member.
55595         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
55596         Now typeless.
55597         (relunit, relunit_snumber): Now of type rel.
55598         (zone, rel, relunit, get_date): Adjust to above changes.
55599
55600         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
55601         Do not include unistd-safer.h.
55602         (getloadavg): Don't call fd_safer; no longer needed
55603         now that we include fcntl--.h.
55604
55605         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
55606         (make_dir_parents): Treat ENOSYS like EEXIST.
55607
55608         Improve quality of diagnostics on restore_cwd failure.
55609         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
55610         (make_dir_parents): Last arg is now int * (for errno), not bool *.
55611         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
55612         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
55613         each time through the loop.  Do not diagnose restore_cwd failure;
55614         that is the caller's job (and perhaps the caller does not care).
55615
55616         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
55617         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
55618         If the file already exists but is not a directory, don't bother
55619         to try to make its parents.
55620         Close potential file descriptor leak if we can't chdir("/") (!).
55621         Don't always return true if chdir($PWD) fails; return true only
55622         if the requested action was done successfully (except for the
55623         chdir($PWD)).
55624         Don't log final directory unless we actually made it.
55625         Refactor to avoid duplicate code to fix up permissions.
55626         Don't attempt to fix up parent permissions if chdir($PWD) fails.
55627
55628         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
55629         to make it a bit faster and (I hope) clearer.
55630         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
55631         Fix bug in formats like %2N.
55632
55633         * lib/verify.h: New file.
55634
55635 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
55636
55637         Sync from coreutils.
55638         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
55639
55640 2005-09-22  Jim Meyering  <jim@meyering.net>
55641
55642         Sync from coreutils.
55643
55644         * m4/lstat.m4 (gl_FUNC_LSTAT):
55645         Use AC_LIBSOURCES to require lstat.c and lstat.h.
55646         Remove obsolete comment.
55647         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
55648         * m4/xstrtod.m4: Likewise.
55649
55650         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
55651
55652 2005-09-22  Jim Meyering  <jim@meyering.net>
55653
55654         Sync from coreutils.
55655
55656         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
55657
55658         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
55659         the .tm_year member, since otherwise gcc-4.0 would now warn about
55660         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
55661
55662         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
55663         order to avoid an unsuppressible warning from gcc on 64-bit systems.
55664
55665         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
55666         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
55667         when run in a time zone for which daylight savings time is in effect
55668         for the starting date.
55669
55670         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
55671         stop us from restricting permissions of just-created absolute-named
55672         directories.
55673         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
55674         to restore initial working directory.
55675         * lib/mkdir-p.c (make_dir_parents): New parameter:
55676         different_working_dir, to tell caller if/when we change the working
55677         directory and are unable to return to the initial one.
55678         * lib/mkdir-p.h (make_dir_parents): Update prototype.
55679         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
55680         `return false'.  This fixes a bug introduced on 2004-07-30.
55681
55682         * lib/openat.c (fdopendir): Be sure to close the supplied
55683         file descriptor before returning.  This makes our replacement
55684         implementation a little closer to Solaris's, where fdopendir
55685         ties the file descriptor to the returned DIR* pointer.
55686         * lib/openat.c (unlinkat): New function.
55687         * lib/openat.h (unlinkat): Add prototype.
55688         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
55689         (openat_restore_fail): Rename from openat_restore_die.
55690         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
55691
55692         Provide an alternative to exiting immediately upon save_cwd or
55693         restore_cwd failure.  Now, an application can arrange e.g.,
55694         to perform a longjump in that case.
55695         * lib/openat.c: Include dirname.h.
55696         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
55697         (rpl_openat, fdopendir, fstatat): Call openat_save_die
55698         and openat_restore_die rather than calling error directly.
55699         Don't include "error.h" or "exitfail.h"; they're no longer needed.
55700
55701         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
55702         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
55703         define.
55704
55705         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
55706         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
55707                             int utc, int nanoseconds);
55708         Background:
55709         date should not have to allocate a megabyte of virtual memory to
55710         handle a format argument like +%1048575T.  When implemented with
55711         strftime, it must allocate such a buffer, use strftime to fill it
55712         in, print it, then free it.
55713         With fprintftime, it simply prints everything and exits.
55714         With no need for memory allocation, that's one fewer way to fail.
55715         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
55716         optional field width, not before, so we accept %9:z, not %:9z.
55717         (my_strftime): Be sure to use L_('x') for literals.
55718
55719         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
55720         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
55721         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
55722         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
55723         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
55724         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
55725         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
55726         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
55727         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
55728         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
55729         * lib/xgethostname.c, lib/xreadlink.c:
55730         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
55731
55732         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
55733         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
55734         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
55735         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
55736         and don't include <sys/file.h>).
55737
55738 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
55739
55740         Sync from coreutils.
55741
55742         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
55743         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
55744         [!LDAV_DONE]: Avoid unused variable warning.
55745
55746 2005-09-21  Bruno Haible  <bruno@clisp.org>
55747
55748         * lib/unicodeio.h (unicode_to_mb): New declaration.
55749
55750 2005-09-20  Derek Price  <derek@ximbiot.com>
55751
55752         * lib/getaddrinfo.c: Don't include <netdb.h> included from
55753         getaddrinfo.h.
55754
55755 2005-09-20  Bruno Haible  <bruno@clisp.org>
55756
55757         * gnulib-tool: Remove trailing slashes from the values specified for
55758         --source-base, --m4-base, --tests-base, --aux-dir.
55759         Suggested by Simon Josefsson <jas@extundo.com>.
55760
55761 2005-09-20  Bruno Haible  <bruno@clisp.org>
55762
55763         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
55764         func_modules_to_filelist, func_import, func_create_testdir): Make all
55765         sorting results locale-independent, so that gnulib-cache.m4 doesn't
55766         change when gnulib-tool is invoked in a different locale.
55767
55768 2005-09-19  Simon Josefsson  <jas@extundo.com>
55769
55770         * m4/socklen.m4: Fix typo.
55771
55772 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
55773
55774         Use a consistent style for including <config.h>.
55775         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
55776         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
55777         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
55778         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
55779         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
55780         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
55781         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
55782         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
55783         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
55784         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
55785         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
55786         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
55787         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
55788         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
55789         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
55790         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
55791         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
55792         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
55793         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
55794         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
55795         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
55796         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
55797         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
55798         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
55799         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
55800         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
55801         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
55802         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
55803         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
55804         lib/xstrtoumax.c, lib/yesno.c:
55805         Standardize inclusion of config.h.
55806         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
55807         lib/inttostr.h:  Removed inclusion of config.h from header files.
55808         * lib/inttostr.c:  Adjusted in-tree users.
55809         * lib/timespec.h: Remove superfluous warning to include config.h.
55810         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
55811         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
55812         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
55813         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
55814         config.h with HAVE_CONFIG_H.
55815
55816 2005-09-19  Jim Meyering  <jim@meyering.net>
55817
55818         * modules/pathmax (License): Change to LGPL.
55819
55820 2005-09-19  Derek Price  <derek@ximbiot.com>
55821
55822         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
55823
55824 2005-09-19  Bruno Haible  <bruno@clisp.org>
55825
55826         * gnulib-tool (import): Provide default for --tests-base.
55827
55828 2005-09-19  Bruno Haible  <bruno@clisp.org>
55829
55830         * doc/quote.texi: New file, extracted from gnulib.texi.
55831         * doc/ctime.texi: New file, extracted from gnulib.texi.
55832         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
55833         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
55834         * doc/gnulib.texi: Include them.
55835
55836 2005-09-18  Bruno Haible  <bruno@clisp.org>
55837
55838         Portability fix.
55839         * gnulib-tool (func_readlink): New function.
55840         (func_ln_if_changed): Use it.
55841
55842 2005-09-18  Bruno Haible  <bruno@clisp.org>
55843
55844         * gnulib-tool: Support --with-tests also with --import.
55845         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
55846         (func_import): Use variables $testsbase and $inctests. Emit a
55847         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
55848         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
55849         SUBDIRS += $testsdir.
55850         (func_create_testdir): Update.
55851
55852 2005-09-18  Bruno Haible  <bruno@clisp.org>
55853
55854         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
55855         instead of $dry_run.
55856         (func_cp_if_changed, func_mv_if_changed): Remove functions.
55857         (func_ln_if_changed): Don't handle dry-run here.
55858         (func_import): In dry-run mode, detect more precisely which actions
55859         would be performed, and don't use "...ing" verbs.
55860
55861 2005-09-18  Bruno Haible  <bruno@clisp.org>
55862
55863         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
55864         (func_import): Use join on two temporary files instead of three nested
55865         loops, in order to determine which files are new or old.
55866
55867 2005-09-18  Bruno Haible  <bruno@clisp.org>
55868
55869         * gnulib-tool (func_import): Comment out code that spits out the
55870         new files with --dry-run.
55871
55872 2005-09-18  Bruno Haible  <bruno@clisp.org>
55873
55874         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
55875
55876 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
55877
55878         * lib/stat-time.h: New file.
55879         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
55880         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
55881         in a different way.
55882         (timespec_cmp): New function.
55883         * lib/utimecmp.c: Include stat-time.h.
55884         (SYSCALL_RESOLUTION): Depend on whether various struct stat
55885         members exist, not on the obsolescent ST_MTIM_NSEC.
55886         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
55887
55888 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
55889
55890         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
55891
55892 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
55893
55894         * MODULES.html.sh (File system functions): Add stat-time.
55895         * modules/stat-time: New file.
55896         * modules/timespec (Files): Remove m4/st_mtim.m4; this
55897         is now done in a different way, by the stat-time module.
55898         * modules/utimecmp (Depends-on): Add stat-time.
55899
55900 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
55901
55902         * m4/st_mtim.m4: Remove.  Superseded by...
55903         * m4/stat-time.m4: New file.
55904         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
55905         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
55906
55907 2005-09-15  Derek Price  <derek@ximbiot.com>
55908
55909         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
55910
55911 2005-09-15  Derek Price  <derek@ximbiot.com>
55912
55913         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
55914         * lib/regex_internal.c: Ditto, using this...
55915         (__GNUC_PREREQ): ...new macro.
55916         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
55917         using...
55918         (__GNUC_PREREQ): ...this new macro.
55919
55920         * lib/strstr.h: Include string.h. Define strstr as a macro here.
55921
55922 2005-09-15  Derek Price  <derek@ximbiot.com>
55923             Paul Eggert  <eggert@cs.ucla.edu>
55924
55925         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
55926         changes, consolidating in...
55927         * lib/regex_internal.h: ...this file.
55928
55929 2005-09-13  Jim Meyering  <jim@meyering.net>
55930
55931         * lib/canon-host.c: Filter through gnu indent and reword comments
55932         slightly.
55933         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
55934
55935 2005-09-13  Derek Price  <derek@ximbiot.com>
55936
55937         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
55938         failure.
55939         Reported by Jim Meyering  <jim@meyering.net>.
55940
55941 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
55942
55943         * lib/base64.c: Typo.
55944         (base64_encode): Put b64str in initialized data section.
55945
55946 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
55947
55948         Merge glibc and coreutils changes into gnulib, plus a few
55949         extra fixes.
55950         * lib/md5.c: Use #error rather than a string.
55951         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
55952         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
55953         (__attribute__): Define to empty for non recent-GCC.
55954         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
55955         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
55956         Renamed from their non-__ counterparts, with new macros replacing
55957         them if not _LIBC.  Add __THROW attribute.
55958         (rol): Remove.
55959         (struct md5_ctx): Align buffer if using GCC.
55960         * lib/sha1.h (struct sha1_ctx): Likewise.
55961         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
55962         The old name was backwards.
55963         (NOTSWAP): Remove; not used.
55964         (rol): New macro, moved here from md5.h.
55965         (sha1_process_block): Remove a FIXME that doesn't make sense.
55966
55967 2005-09-12  Derek Price  <derek@ximbiot.com>
55968
55969         Return usable errors from canon-host.
55970         * lib/canon-host.h: New file.
55971         * lib/canon-host.c (canon_host): Wrap...
55972         (canon_host_r): ...this new function, which now relies exclusively on
55973         getaddrinfo.
55974         (ch_strerror): New function.
55975         (last_cherror): New global.
55976         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
55977         interface.
55978         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
55979         void *.
55980         (freeaddrinfo): Free ai->ai_canonname when set.
55981
55982 2005-09-12  Derek Price  <derek@ximbiot.com>
55983
55984         Make canon-host require getaddrinfo.
55985         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
55986         AC_LIBSOURCE canon-host.h.  Call...
55987         (gl_PREREQ_CANON_HOST): ...this new function, which requires
55988         gl_GETADDRINFO.
55989         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
55990
55991 2005-09-12  Derek Price  <derek@ximbiot.com>
55992
55993         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
55994         LGPL.
55995         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
55996
55997 2005-09-12  Derek Price  <derek@ximbiot.com>
55998
55999         * lib/gai_strerror.c: Include config.h when available.  Include
56000         getaddrinfo.h before other headers to test interface.
56001         Reported by Larry Jones <lawrence.jones@ugs.com>.
56002
56003 2005-09-12  Derek Price  <derek@ximbiot.com>
56004             Paul Eggert  <eggert@cs.ucla.edu>
56005
56006         * modules/glob (Files): Add glob-libc.h.
56007
56008 2005-09-12  Derek Price  <derek@ximbiot.com>
56009             Paul Eggert  <eggert@cs.ucla.edu>
56010
56011         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
56012         glob_.h, glob-libc.h.
56013         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
56014
56015 2005-09-12  Derek Price  <derek@ximbiot.com>
56016             Paul Eggert  <eggert@cs.ucla.edu>
56017
56018         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
56019         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
56020         protecting things that should be done only in gnulib contexts.
56021         * lib/glob_.h: New file, containing only the glob things needed for
56022         gnulib.
56023         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
56024         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
56025         (glob, globfree, glob_pattern_p): Now defined simply in terms of
56026         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
56027         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
56028         and to respect the namespace rules better.
56029
56030 2005-09-08  Simon Josefsson  <jas@extundo.com>
56031
56032         * modules/socklen: New file.
56033
56034 2005-09-08  Simon Josefsson  <jas@extundo.com>
56035
56036         * m4/socklen.m4: New file.
56037
56038 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56039
56040         * modules/utimens (Files): Add m4/utimbuf.m4, since
56041         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
56042         Reported by Sergey Poznyakoff.
56043
56044 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56045
56046         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
56047         definitions, since that's the preferred style in glibc.
56048         Fix a minor spacing issue, and update copyright notice to match
56049         glibc's.
56050
56051 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
56052
56053         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
56054
56055 2005-09-06  Simon Josefsson  <jas@extundo.com>
56056
56057         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
56058         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
56059
56060 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56061
56062         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
56063         warning.
56064
56065 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
56066
56067         * config/srclist.txt: Add glibc bug 1302.
56068
56069 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
56070
56071         Change bitset word type from unsigned int to unsigned long int,
56072         as this has better performance on typical 64-bit hosts.
56073         Port bitset code to hosts with unusual word sizes.
56074         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
56075         (build_collating_symbol):
56076         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
56077         argument is a bitset.  This is merely a style issue, but it makes
56078         it clearer that an entire array is expected.
56079         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
56080         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
56081         Port to the case where bitset_word is not the same as unsigned int.
56082         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
56083         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
56084         Likewise.
56085         * lib/regexec.c (check_dst_limits_calc_pos_1,
56086         check_subexp_matching_top):
56087         (build_trtable, group_nodes_into_DFAstates):
56088         Likewise.
56089         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
56090         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
56091         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
56092         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
56093         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
56094         * lib/regcomp.c (optimize_subexps, lower_subexp):
56095         Work even if bitset_word has holes in its bitwise representation.
56096         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
56097         * lib/regexec.c (check_dst_limits_calc_pos_1,
56098         check_subexp_matching_top):
56099         Likewise.
56100         * lib/regex_internal.c (re_string_reconstruct):
56101         Don't assume UCHAR_MAX == 255.
56102         * lib/regex_internal.h (bitset_set_all): Likewise.
56103         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
56104         All uses changed.
56105         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
56106         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
56107         All uses changed.
56108         (BITSET_WORD_MAX): New macro.
56109         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
56110         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
56111         (bitset_empty, bitset_copy):
56112         Prefer sizeof (bitset) to multiplying it out ourselves.
56113         (bitset_not_merge): Remove; unused.
56114         (bitset_contain): Return bool, not unsigned int with one bit on.
56115         All callers changed.
56116         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
56117         alignment than re_node_set; do this by defining a new internal
56118         type struct dests_alloc and using it to allocate memory.
56119
56120 2005-09-05  Bruno Haible  <bruno@clisp.org>
56121
56122         * gnulib-tool (func_import): Fix comparison in handling of symbolic
56123         links.
56124
56125 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
56126
56127         * modules/size_max (Makefile.am): Add size_max.h
56128
56129 2005-09-04  Derek Price  <derek@ximbiot.com>
56130
56131         * gnulib-tool (func_import): Fix reversed $symbolic logic.
56132
56133 2005-09-03  Simon Josefsson  <jas@extundo.com>
56134
56135         * gnulib-tool: Fix typo.
56136
56137 2005-09-03  Simon Josefsson  <jas@extundo.com>
56138
56139         * config/srclist.txt: Add glibc bug 1293.
56140
56141 2005-09-03  Derek Price  <derek@ximbiot.com>
56142
56143         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
56144         From Larry Jones <lawrence.jones@ugs.com>.
56145
56146 2005-09-02  Simon Josefsson  <jas@extundo.com>
56147
56148         * modules/socklen: New file.
56149
56150 2005-09-02  Simon Josefsson  <jas@extundo.com>
56151
56152         * modules/havelib: New module.
56153
56154         * modules/gettext, modules/iconv, modules/lock, modules/readline:
56155         Use havelib.
56156
56157 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
56158
56159         Check for arithmetic overflow when calculating sizes, to prevent
56160         some buffer-overflow issues.  These patches are conservative, in the
56161         sense that when I couldn't determine whether an overflow was possible,
56162         I inserted a run-time check.
56163         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
56164         macros.
56165         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
56166         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
56167         (re_xnrealloc, re_x2nrealloc): New inline functions.
56168         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
56169         parse_bracket_exp):
56170         (build_equiv_class, build_charclass): Check for arithmetic overflow
56171         in size expression calculations.
56172         * lib/regex_internal.c (re_string_realloc_buffers):
56173         (build_wcs_upper_buffer, re_node_set_add_intersect):
56174         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
56175         (re_dfa_add_node, register_state): Likewise.
56176         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
56177         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
56178         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
56179         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
56180
56181 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
56182
56183         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
56184         m4/ulonglong.m4.  Problem reported by Martin Lambers.
56185
56186 2005-09-02  Bruno Haible  <bruno@clisp.org>
56187
56188         Support for lib vs. lib64 distinction on biarch platforms.
56189         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
56190         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
56191         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
56192
56193 2005-09-02  Bruno Haible  <bruno@clisp.org>
56194
56195         * gnulib-tool (import): In the other first-use case, provide defaults
56196         as well.
56197
56198 2005-09-02  Bruno Haible  <bruno@clisp.org>
56199
56200         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
56201         patches not yet found in the latest gettext release.
56202
56203 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56204
56205         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
56206         to avoid a collision with bits/local_lim.h in glibc.
56207         All uses changed.  Problem reported by Dmitry V. Levin in
56208         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
56209
56210         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
56211         bugs in int versus size_t comparisons.
56212         (re_string_context_at): Fix bug where the code assumed that
56213         Idx is signed.
56214
56215         Use bool where appropriate.
56216         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
56217         All callers changed.
56218         (calc_eclosure_iter): Likewise, for ROOT arg.
56219         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
56220         (build_charclass_op): Likewise, for NON_MATCH arg.
56221         * lib/regex_internal.c (re_string_allocate, re_string_construct):
56222         (re_string_construct_common): Likewise, for ICASE arg.
56223         * lib/regexec.c (re_search_2_stub, re_search_stub):
56224         Likewise, for RET_LEN arg.
56225         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
56226         (set_regs): Likewise, for FL_BACKTRACK arg.
56227         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
56228         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
56229         (calc_eclosure_iter, parse_bracket_exp):
56230         Use bool for internal variables that are booleans.
56231         * lib/regexec.c (re_search_internal, check_matching,
56232         proceed_next_node):
56233         (set_regs, build_sifted_states, sift_states_bkref):
56234         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
56235         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
56236         (find_collation_sequence_value):
56237         Likewise.
56238         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
56239         (re_node_set_compare):
56240         Return bool, not int. All callers changed.
56241         * lib/regexec.c (check_halt_node_context, check_dst_limits):
56242         (build_trtable, check_node_accept): Likewise.
56243         * lib/regex_internal.h: Include stdbool.h.
56244
56245         Fix bugs uncovered when converting to bool.
56246         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
56247         failure instead of charging ahead blindly.
56248         * lib/regex_internal.c (register_state): Likewise.
56249         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
56250         for freeing internal storage.
56251         (group_nodes_into_DFA_states): Use unsigned int, not int, for
56252         bitset pieces used as boolean, to avoid undefined behavior
56253         on hosts that do int overflow checking.
56254
56255 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
56256
56257         * config/srclist.txt: Add glibc bugs 1285-1287.
56258
56259 2005-09-01  Jim Meyering  <jim@meyering.net>
56260
56261         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
56262         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
56263         Require gl_STAT_MACROS, too.
56264
56265 2005-09-01  Bruno Haible  <bruno@clisp.org>
56266
56267         * gnulib-tool (import): In the first-use case, provide defaults.
56268
56269 2005-09-01  Bruno Haible  <bruno@clisp.org>
56270
56271         * gnulib-tool (func_import): Remove the .tmp files.
56272
56273 2005-09-01  Bruno Haible  <bruno@clisp.org>
56274
56275         * gnulib-tool (func_import): Fix handling of symbolic links.
56276
56277 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56278
56279         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
56280         old glibc regex code mishandles strings longer than 2**31 bytes.
56281         This patch fixes this when the regex code is used in gnulib
56282         (i.e., outside glibc).
56283
56284         This patch should not affect the use of the regex code inside
56285         glibc.  No doubt this problem also needs to be handled for glibc
56286         as well, but the result will be an incompatible change to the
56287         glibc ABI, and the old ABI will have to be supported too.  That
56288         can be the the subject for another patch.
56289
56290         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
56291         governing whether the rest of this patch is active.  By default,
56292         the macro is disabled and the patch has no effect.
56293         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
56294         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
56295         (struct re_pattern_buffer, re_search, re_search_2, re_match):
56296         (re_match_2, re_set_registers): Use the new types.
56297         * lib/regex_internal.h (Idx, re_hashval_t): New types.
56298         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
56299         New macros.
56300         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
56301         (re_string_context_at, bin_tree_t, re_dfastate_t):
56302         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
56303         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
56304         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
56305         (re_string_char_size_at, re_string_wchar_at):
56306         (re_string_elem_size_at):
56307         Use the new types and macros to port to 64-bit hosts.
56308         Use unsigned types for internal values, so that the code
56309         mostly works even for arrays larger than SSIZE_MAX.
56310         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
56311         (search_duplicated_node, calc_eclosure_iter, fetch_number):
56312         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
56313         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
56314         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
56315         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
56316         (calc_inveclosure, parse_dup_op, build_range_exp):
56317         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
56318         (fetch_number, create_token_tree, mark_opt_subexp):
56319         Likewise.
56320         * lib/regex_internal.c (re_string_construct_common,
56321         create_ci_newstate):
56322         (create_cd_newstate, re_string_allocate, re_string_construct):
56323         (re_string_realloc_buffers, build_wcs_upper_buffer):
56324         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
56325         (re_string_reconstruct, re_string_peek_byte_case):
56326         (re_string_fetch_byte_case, re_string_context_at):
56327         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
56328         (re_node_set_init_copy, re_node_set_add_intersect):
56329         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
56330         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
56331         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
56332         (re_acquire_state, re_acquire_state_context, register_state):
56333         Likewise.
56334         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
56335         search_cur_bkref_entry):
56336         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
56337         (re_search_internal, re_search_2_stub, re_search_stub)
56338         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
56339         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
56340         (update_cur_sifted_state, check_dst_limits):
56341         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
56342         (check_subexp_limits, sift_states_bkref, merge_state_array):
56343         (check_subexp_matching_top, get_subexp, get_subexp_sub):
56344         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
56345         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
56346         (expand_bkref_cache, check_node_accept_bytes):
56347         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
56348         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
56349         (acquire_init_state_context, check_halt_node_context):
56350         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
56351         (sift_states_backward, clean_state_log_if_needed):
56352         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
56353         (find_recover_state, transit_state_sb, transit_state_mb):
56354         (transit_state_bkref, build_trtable, match_ctx_clean):
56355         Likewise.
56356         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
56357         to work around an assumption that REG_MISSING is negative.
56358
56359         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
56360         (seek_collating_symbol_entry) [defined _LIBC]:
56361         (lookup_collation_sequence_value) [defined _LIBC]:
56362         (build_range_exp, build_collating_symbol) [defined _LIBC]:
56363         Use prototypes rather than old-style function definitions.
56364         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
56365         (transit_state_sb) [0]:
56366         (find_collation_sequence_value) [defined _LIBC]: Likewise.
56367
56368         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
56369         rm_eo.
56370
56371         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
56372         (optimize_subexps, lower_subexp):
56373         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
56374         since the signed shift might overflow.  Use 1u<<31 instead.
56375         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
56376         Likewise.
56377         * lib/regexec.c (check_dst_limits_calc_pos_1,
56378         check_subexp_matching_top): Likewise.
56379
56380         * lib/regcomp.c (optimize_subexps, lower_subexp):
56381         Use CHAR_BIT rather than 8, for clarity.
56382         * lib/regexec.c (check_dst_limits_calc_pos_1):
56383         (check_subexp_matching_top): Likewise.
56384         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
56385         have to worry about portability issues when shifting it left.
56386         Remove no-longer-needed test for table_size > 0.
56387         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
56388         in a word, as the resulting behavior is undefined.
56389         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
56390         in one case, a <= should have been an <, and in another case the
56391         whole test was missing.
56392         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
56393         the standard name CHAR_BIT.
56394         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
56395         this is not true on one's complement and signed-magnitude hosts.
56396
56397         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
56398         next_last_offset.
56399         (struct re_dfa_t): Remove unused member states_alloc.
56400         * lib/regcomp.c (init_dfa): Don't initialize unused members.
56401
56402 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56403
56404         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
56405         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
56406         and large-file glibc and in 32-bit large-file Solaris.
56407
56408 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56409
56410         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
56411         lengths fit in regoff_t; this isn't true if regoff_t is the same
56412         width as size_t.
56413         * lib/regex.c (re_search_internal): 5th arg is LAST_START
56414         (= START + RANGE) instead of RANGE.  This avoids overflow
56415         problems when regoff_t is the same width as size_t.
56416         All callers changed.
56417         (re_search_2_stub): Check for overflow when adding the
56418         sizes of the two strings.
56419         (re_search_stub): Check for overflow when adding START
56420         to RANGE; if it occurs, substitute the extreme value.
56421
56422 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
56423
56424         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
56425
56426 2005-08-31  Jim Meyering  <jim@meyering.net>
56427
56428         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
56429         a pointer-to-const.
56430         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
56431         (register_state): Likewise.
56432         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
56433         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
56434         (group_nodes_into_DFAstates): Likewise.
56435
56436 2005-08-31  Jim Meyering  <jim@meyering.net>
56437
56438         * check-module: Add a FIXME comment.
56439
56440 2005-08-31  Eric Blake  <ebb9@byu.net>
56441
56442         * modules/unistd-safer (Files): Add unistd--.h.
56443         * modules/stdio-safer (Files): Add stdio--.h.
56444
56445 2005-08-31  Derek Price  <derek@ximbiot.com>
56446
56447         * lib/getdelim.c (getdelim): Return EOF on EOF.
56448         Reported by Larry Jones <lawrence.jones@ugs.com>.
56449
56450 2005-08-31  Bruno Haible  <bruno@clisp.org>
56451
56452         Avoid unnecessary diffs in the generated lib/Makefile.am.
56453         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
56454         the generated files.
56455         (func_import): Don't set cmd.
56456
56457 2005-08-31  Bruno Haible  <bruno@clisp.org>
56458
56459         * lib/strstr.c: Include <stddef.h>, for NULL.
56460         * lib/strcasestr.c: Likewise.
56461         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56462
56463 2005-08-31  Bruno Haible  <bruno@clisp.org>
56464
56465         * gnulib-tool: New option --macro-prefix.
56466         (func_import): Use macro_prefix.
56467         (import): Handle option --macro-prefix.
56468
56469 2005-08-31  Bruno Haible  <bruno@clisp.org>
56470
56471         * gnulib-tool (import): Rename most ac_* variables to cached_*.
56472         Also use new variables cached_lgpl, cached_libtool.
56473
56474 2005-08-31  Bruno Haible  <bruno@clisp.org>
56475
56476         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
56477         always instantiating them.
56478
56479 2005-08-31  Bruno Haible  <bruno@clisp.org>
56480
56481         * gnulib-tool (func_import): Read the previous cached settings
56482         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
56483         earlier added by gnulib but are now dropped. Warn when a gnulib file
56484         overwrites a non-gnulib file.
56485
56486 2005-08-31  Bruno Haible  <bruno@clisp.org>
56487
56488         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
56489         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
56490         projects that don't keep autogenerated files in CVS. Put into
56491         actioncmd only the specified modules, not the transitive closure.
56492
56493 2005-08-31  Bruno Haible  <bruno@clisp.org>
56494
56495         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
56496         Create directories that shall be filled.
56497         (import): Don't look for gl_* macros in configure.ac. Recurse across
56498         all directories containing a gnulib-cache.m4 files, if meaningful.
56499
56500 2005-08-31  Bruno Haible  <bruno@clisp.org>
56501
56502         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
56503         (import): Set seen_libtool when we see gl_LIBTOOL.
56504
56505 2005-08-31  Bruno Haible  <bruno@clisp.org>
56506
56507         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
56508         declaration macro definitions from generated gnulib.m4.
56509
56510 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
56511
56512         * lib/iconvme.h: Add prototype for iconv_alloc.
56513
56514 2005-08-29  Simon Josefsson  <jas@extundo.com>
56515
56516         * lib/iconvme.c: Fix errno.
56517
56518 2005-08-29  Bruno Haible  <bruno@clisp.org>
56519
56520         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
56521         that it works when the directory contains spaces.
56522
56523 2005-08-29  Bruno Haible  <bruno@clisp.org>
56524
56525         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
56526
56527 2005-08-29  Bruno Haible  <bruno@clisp.org>
56528
56529         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
56530         Emit more advice.
56531
56532 2005-08-29  Bruno Haible  <bruno@clisp.org>
56533         and Stepan Kasal  <kasal@ucw.cz>
56534
56535         * check-module: If more parameters are given, check each of them
56536         separately; add more exceptions, as noted by Jim Meyering.
56537         (check_module): New procedure.
56538         (%exempt_header): Now contains all exceptions.
56539
56540 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
56541
56542         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
56543
56544 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
56545
56546         * lib/iconvme.c: Split iconv_string into iconv_alloc.
56547
56548 2005-08-28  Bruno Haible  <bruno@clisp.org>
56549
56550         * m4/gnulib-tool.m4: New file.
56551
56552 2005-08-27  Jim Meyering  <jim@meyering.net>
56553
56554         * modules/unistd-safer (Files): Add pipe-safer.c.
56555         * modules/fcntl-safer (Files): Add creat-safer.c.
56556
56557 2005-08-27  Jim Meyering  <jim@meyering.net>
56558
56559         * m4/stdlib-safer.m4: New file.  From coreutils.
56560         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
56561         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
56562         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
56563         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
56564         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
56565
56566 2005-08-27  Jim Meyering  <jim@meyering.net>
56567
56568         * lib/fopen-safer.c: Merge minor changes from coreutils.
56569         * lib/dup-safer.c: Likewise.
56570         * lib/fd-safer.c: Likewise.
56571
56572         Merge from coreutils.
56573         * lib/stdio--.h: New file.
56574         * lib/stdlib--.h: New file.
56575         * lib/mkstemp-safer.c: New file.
56576
56577         GNU tar needs these.
56578         * lib/pipe-safer.c: New file.
56579         * lib/creat-safer.c: New file.
56580         * lib/fcntl--.h (creat): Define to creat_safer.
56581         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
56582         * lib/unistd--.h (pipe): Define to pipe_safer.
56583         * lib/unistd-safer.h: Declare pipe_safer.
56584
56585 2005-08-26  Simon Josefsson  <jas@extundo.com>
56586
56587         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
56588         Haible <bruno@clisp.org>.
56589
56590 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
56591
56592         * lib/regex_internal.h: Remove all references to
56593         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
56594         or better.
56595         (bitset_not, bitset_merge, bitset_not_merge):
56596         (bitset_mask, re_string_allocate, re_string_construct):
56597         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
56598         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
56599         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
56600         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
56601         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
56602         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
56603         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
56604         (re_acquire_state_context):
56605         Remove unnecessary forward decls.
56606         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
56607         Put __attribute at function definition,
56608         now that the function decl has been removed.
56609         * lib/regex_internal.c (re_string_peek_byte_case):
56610         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
56611         Likewise.
56612
56613 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
56614
56615         * m4/regex.m4: Add AC_PREREQ(2.50).
56616         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
56617
56618 2005-08-25  Simon Josefsson  <jas@extundo.com>
56619
56620         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
56621         __fsetlocking.
56622
56623 2005-08-25  Simon Josefsson  <jas@extundo.com>
56624
56625         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
56626         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
56627         GLIBC specific code.
56628
56629 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56630
56631         Make regex safe for g++.  This fixes one real bug (an "err"
56632         that should have been "*err").  g++ problem reported by
56633         Sam Steingold.
56634         * lib/regex_internal.h (re_calloc): New macro, consistent with
56635         re_malloc etc.  All callers of calloc changed to use re_calloc.
56636         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
56637         not int.  All callers changed.
56638         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
56639         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
56640         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
56641         (find_recover_state): Change "err" to "*err"; this fixes what
56642         appears to be a real bug.
56643         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
56644         versus int.
56645
56646 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56647
56648         * modules/regex (Depends-on): Add malloc, since the code
56649         assumes that !malloc(0) means failure.
56650
56651 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56652
56653         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
56654
56655         alloca modernization/simplification for regex.
56656         * lib/regex.c: Remove portability cruft for alloca.  This no longer
56657         needs to be at the start of the file, and can be moved into
56658         regex_internal.h and simplified.
56659         * lib/regex_internal.h: Include <alloca.h>.
56660         (__libc_use_alloca) [!defined _LIBC]: New macro.
56661         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
56662         now works outside glibc.
56663
56664 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
56665
56666         * config/srclist.txt: Add glibc bugs 1241, 1245.
56667
56668 2005-08-25  Jim Meyering  <jim@meyering.net>
56669
56670         * lib/open-safer.c: Include <config.h>.
56671         Otherwise, we'd lose LARGEFILE support in any file using
56672         e.g. "fcntl--.h"
56673
56674 2005-08-25  Bruno Haible  <bruno@clisp.org>
56675
56676         * m4/minmax.m4: Require autoconf 2.52.
56677         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
56678         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
56679         alternatives of translit over the alphabet.
56680         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
56681
56682 2005-08-24  Simon Josefsson  <jas@extundo.com>
56683
56684         * tests/test-getpass.c: New file.
56685
56686 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56687
56688         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
56689         for GNU regex features.
56690
56691 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56692
56693         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
56694         * lib/regex.h (regerror): Likewise.
56695
56696         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
56697         requires this.  (The code never needed it.)
56698
56699         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
56700         All uses of recently-renamed identifiers changed to use the new,
56701         POSIX-compliant names.  The code will build and run just fine
56702         without these changes, but it's better to eat our own dog food
56703         and use the standard-conforming names.
56704
56705         * lib/regex.h: Fix a multitude of POSIX name space violations.
56706         These changes have an effect only for programs that define
56707         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
56708         do not change anything for programs compiled in the normal way.
56709         Also, there is no effect on the ABI.
56710
56711         (_REGEX_SOURCE): New macro.
56712         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
56713         defined and _GNU_SOURCE is not; this fixes a name space violation.
56714
56715         Rename the following macros to obey POSIX requirements.
56716         The old names are still visible as macros if _REGEX_SOURCE is defined.
56717         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
56718         RE_BACKSLASH_ESCAPE_IN_LISTS.
56719         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
56720         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
56721         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
56722         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
56723         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
56724         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
56725         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
56726         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
56727         (REG_INTERVALS): renamed from RE_INTERVALS.
56728         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
56729         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
56730         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
56731         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
56732         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
56733         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
56734         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
56735         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
56736         RE_UNMATCHED_RIGHT_PAREN_ORD.
56737         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
56738         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
56739         (REG_DEBUG): renamed from RE_DEBUG.
56740         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
56741         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
56742         unusual, since we can't clash with the POSIX REG_ICASE.
56743         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
56744         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
56745         (REG_NO_SUB): renamed from RE_NO_SUB.
56746         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
56747         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
56748         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
56749         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
56750         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
56751         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
56752         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
56753         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
56754         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
56755         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
56756         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
56757         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
56758         RE_SYNTAX_POSIX_MINIMAL_BASIC.
56759         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
56760         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
56761         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
56762         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
56763         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
56764         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
56765         (REG_FIXED): Renamed from REGS_FIXED.
56766         (REG_NREGS): Renamed from RE_NREGS.
56767
56768         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
56769         of other REG_* macros, since POSIX says the user is allowed to
56770         #undef these macros selectively.
56771
56772         (reg_errcode_t): Update comment stating what other tables need
56773         to be consistent.
56774
56775         Rename the following enum values to obey POSIX requirements.
56776         The old names are still visible as macros.
56777         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
56778         is not defined, since GNU is supposed to be a superset of POSIX as
56779         much as possible, and since we want reg_errcode_t to be a signed
56780         type for implementation consistency.
56781         (_REG_NOERROR): Renamed from REG_NOERROR.
56782         (_REG_NOMATCH): Renamed from REG_NOMATCH.
56783         (_REG_BADPAT): Renamed from REG_BADPAT.
56784         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
56785         (_REG_ECTYPE): Renamed from REG_ECTYPE.
56786         (_REG_EESCAPE): Renamed from REG_EESCAPE.
56787         (_REG_ESUBREG): Renamed from REG_ESUBREG.
56788         (_REG_EBRACK): Renamed from REG_EBRACK.
56789         (_REG_EPAREN): Renamed from REG_EPAREN.
56790         (_REG_EBRACE): Renamed from REG_EBRACE.
56791         (_REG_BADBR): Renamed from REG_BADBR.
56792         (_REG_ERANGE): Renamed from REG_ERANGE.
56793         (_REG_ESPACE): Renamed from REG_ESPACE.
56794         (_REG_BADRPT): Renamed from REG_BADRPT.
56795         (_REG_EEND): Renamed from REG_EEND.
56796         (_REG_ESIZE): Renamed from REG_ESIZE.
56797         (_REG_ERPAREN): Renamed from REG_ERPAREN.
56798         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
56799         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
56800         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
56801         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
56802
56803         (_REG_RE_NAME, _REG_RM_NAME): New macros.
56804         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
56805         changed.  But support the old name if the new one is not defined
56806         and if _REGEX_SOURCE.
56807
56808         Change the following member names in struct re_pattern_buffer.
56809         The old names are still supported if !_REGEX_SOURCE.
56810         The new names are always supported, regardless of _REGEX_SOURCE.
56811         (re_buffer): Renamed from buffer.
56812         (re_allocated): Renamed from allocated.
56813         (re_used): Renamed from used.
56814         (re_syntax): Renamed from syntax.
56815         (re_fastmap): Renamed from fastmap.
56816         (re_translate): Renamed from translate.
56817         (re_can_be_null): Renamed from can_be_null.
56818         (re_regs_allocated): Renamed from regs_allocated.
56819         (re_fastmap_accurate): Renamed from fastmap_accurate.
56820         (re_no_sub): Renamed from no_sub.
56821         (re_not_bol): Renamed from not_bol.
56822         (re_not_eol): Renamed from not_eol.
56823         (re_newline_anchor): Renamed from newline_anchor.
56824
56825         Change the following member names in struct re_registers.
56826         The old names are still supported if !_REGEX_SOURCE.
56827         The new names are always supported, regardless of _REGEX_SOURCE.
56828         (rm_num_regs): Renamed from num_regs.
56829         (rm_start): Renamed from start.
56830         (rm_end): Renamed from end.
56831
56832         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
56833         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
56834         Prepend __ to parameter names.
56835
56836         Undo yesterday's changes.
56837
56838 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
56839
56840         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
56841         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
56842         lib/regex.c.
56843
56844 2005-08-24  Jim Meyering  <jim@meyering.net>
56845
56846         Sync from coreutils.
56847         * m4/fcntl-safer.m4: New file.
56848
56849         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
56850         and object files for this module.
56851
56852 2005-08-24  Jim Meyering  <jim@meyering.net>
56853
56854         Sync from coreutils.
56855         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
56856
56857 2005-08-24  Jim Meyering  <jim@meyering.net>
56858
56859         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
56860         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
56861
56862 2005-08-24  Jim Meyering  <jim@meyering.net>
56863
56864         * modules/fcntl-safer: New module.
56865         * modules/fts (Depends-on): Add fcntl-safer.
56866         * MODULES.html.sh (File descriptor based Input/Output):
56867         Add fcntl-safer.
56868
56869 2005-08-24  Bruno Haible  <bruno@clisp.org>
56870
56871         Support for unit test modules.
56872         * modules/README: Mention tests modules.
56873         * modules/TEMPLATE-TESTS: New file.
56874         * gnulib-tool: New options --extract-tests-module, --with-tests and
56875         --tests-base (unused for the moment).
56876         (testsbase, inctests): New variables.
56877         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
56878         (func_verify_module): Exclude TEMPLATE-TESTS.
56879         (func_verify_nontests_module, func_verify_tests_module): New functions.
56880         (func_get_dependencies): Add implicit dependency for tests modules.
56881         (func_get_tests_module): New function.
56882         (func_modules_transitive_closure): When --with-tests was specified,
56883         include the unit tests as well, unless explicitly avoided.
56884         (func_emit_lib_Makefile_am): Ignore the tests modules here.
56885         (func_emit_tests_Makefile_am): New function.
56886         (func_create_testdir): When --with-tests was specified, emit a
56887         tests/ directory.
56888         * MODULES.html.sh (Future developments): Update.
56889
56890 2005-08-24  Bruno Haible  <bruno@clisp.org>
56891
56892         * modules/tls-tests: New file.
56893         * tests/test-tls.c: New file, from GNU gettext.
56894
56895 2005-08-24  Bruno Haible  <bruno@clisp.org>
56896
56897         * modules/lock-tests: New file.
56898         * tests/test-lock.c: New file, from GNU gettext.
56899
56900 2005-08-24  Bruno Haible  <bruno@clisp.org>
56901
56902         * lib/lock.h: Add multiple inclusion guard.
56903         * lib/tls.h: Add multiple inclusion guard.
56904
56905 2005-08-24  Bruno Haible  <bruno@clisp.org>
56906
56907         * gnulib-tool: Add support for the --aux-dir option to
56908         --create-testdir, --create-megatestdir, --test, --megatest.
56909         (func_create_testdir, func_create_megatestdir): Optionally emit a
56910         AC_CONFIG_AUX_DIR directive.
56911         (create-testdir, create-megatestdir, test, megatest): Provide a
56912         default value for $auxdir.
56913
56914 2005-08-24  Bruno Haible  <bruno@clisp.org>
56915
56916         * gnulib-tool (import): Use compound statement instead of subshell
56917         where possible.
56918
56919 2005-08-24  Bruno Haible  <bruno@clisp.org>
56920
56921         * gnulib-tool (import): Change --aux-dir default to "build-aux".
56922
56923 2005-08-24  Bruno Haible  <bruno@clisp.org>
56924
56925         * gnulib-tool (func_version): Update.
56926
56927 2005-08-24  Bruno Haible  <bruno@clisp.org>
56928
56929         * gnulib-tool (func_import, func_create_testdir,
56930         func_create_megatestdir): Quote all autoconf macro arguments.
56931
56932 2005-08-24  Bruno Haible  <bruno@clisp.org>
56933
56934         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
56935         option --force, because --force causes the aclocal.m4 of each
56936         subdirectory to be newer than the corresponding config.h.in.
56937
56938 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56939
56940         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
56941         All contents moved to gl_REGEX.
56942         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
56943         assume that it does.
56944
56945 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56946
56947         * lib/regex.h (REG_NOSYS)
56948         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
56949         Define, since POSIX requires it as of 2001.
56950         (_REG_ENOSYS)
56951         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
56952         New private symbol, used to keep the enum signed in all cases.
56953         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
56954         Youngman in
56955         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
56956
56957         * lib/regex_internal.c (re_string_skip_chars, register_state):
56958         (calc_state_hash):
56959         Remove forward decls; no longer needed now that we use prototypes.
56960         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
56961         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
56962         (clean_state_log_if_needed): Likewise.
56963
56964 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
56965
56966         * config/srclist.txt: Add glibc bugs 1231-1233.
56967
56968 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
56969
56970         Fix problems reported by Sam Steingold in
56971         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
56972         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
56973         assumed that reg_errcode_t is a signed type, which is not
56974         necessarily true if _XOPEN_SOURCE is not defined.
56975         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
56976         since some compilers warn about it otherwise.
56977
56978 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
56979
56980         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
56981         (init_word_char, create_initial_state, duplicate_node_closure):
56982         (fetch_token, peek_token_bracket, build_range_exp):
56983         (build_collating_symbol): Remove forward decls; no longer needed
56984         now that we use prototypes.
56985
56986         * lib/regcomp.c:
56987         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
56988         (re_compile_fastmap_iter, regcomp, regerror, regfree):
56989         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
56990         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
56991         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
56992         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
56993         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
56994         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
56995         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
56996         (build_range_exp, build_collating_symbol, parse_bracket_exp):
56997         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
56998         (build_charclass, build_charclass_op, fetch_number, create_tree):
56999         (create_token_tree, mark_opt_subexp, duplicate_tree):
57000         Use prototypes rather than old-style definitions.
57001
57002         * lib/regex_internal.c:
57003         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
57004         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
57005         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
57006         (re_string_reconstruct, re_string_peek_byte_case):
57007         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
57008         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
57009         (re_node_set_init_copy, re_node_set_add_intersect):
57010         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
57011         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
57012         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
57013         (re_acquire_state, re_acquire_state_context, register_state):
57014         (create_ci_newstate, create_cd_newstate, free_state):
57015         Likewise.
57016         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
57017         re_search_2):
57018         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
57019         (re_search_internal, prune_impossible_nodes):
57020         (acquire_init_state_context, check_matching, static):
57021         (check_halt_node_context, check_halt_state_context, proceed_next_node):
57022         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
57023         (update_regs, sift_states_backward, build_sifted_states):
57024         (clean_state_log_if_needed, merge_state_array):
57025         (update_cur_sifted_state, add_epsilon_src_nodes):
57026         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
57027         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
57028         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
57029         (find_recover_state, check_subexp_matching_top, transit_state_mb):
57030         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
57031         (check_arrival, check_arrival_add_next_nodes):
57032         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
57033         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
57034         (check_node_accept_bytes, check_node_accept, extend_buffers):
57035         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
57036         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
57037         (sift_ctx_init):
57038         Likewise.
57039
57040         * lib/regex_internal.h:
57041         (re_string_allocate, re_string_construct, re_string_reconstruct):
57042         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
57043         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
57044         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
57045         (re_string_context_at, re_string_peek_byte_case):
57046         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
57047         is defined, since we now use prototypes always.
57048
57049         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
57050         C89 or better.  All uses removed.
57051
57052 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
57053
57054         * config/srclist.txt: Add glibc bugs 1220-1227.
57055
57056 2005-08-20  Jim Meyering  <jim@meyering.net>
57057
57058         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
57059         of unused local, dfa.
57060
57061 2005-08-20  Bruno Haible  <bruno@clisp.org>
57062
57063         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
57064
57065 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57066
57067         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
57068         (re_node_set_insert_last, re_dfa_add_node):
57069         Rename local variables to avoid GCC shadowing warnings.
57070
57071 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57072
57073         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
57074         [defined lint]: Suppress bogus uninitialized-variable warnings.
57075
57076         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
57077         and let the caller return REG_ESPACE if out of space.  This
57078         removes an uninitialied-variable warning with GCC 4.0.1, and also
57079         avoids taking the address of a local variable.  All callers
57080         changed.
57081
57082 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
57083
57084         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
57085         $LIBCSRC/posix/regexec.c.
57086         Add glibc bug 1217 for regcomp.c.
57087
57088 2005-08-19  Jim Meyering  <jim@meyering.net>
57089
57090         * lib/regexec.c (proceed_next_node): Redo local variables to
57091         avoid GCC shadowing warnings.
57092
57093 2005-08-18  Bruno Haible  <bruno@clisp.org>
57094
57095         * lib/strstr.c (strstr): Fix return value in multibyte case.
57096         * lib/strcasestr.c (strcasestr): Likewise.
57097
57098 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
57099
57100         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
57101
57102 2005-08-17  Jim Meyering  <jim@meyering.net>
57103
57104         Make the %s format (seconds since the epoch) work for a negative
57105         number and when used with a zero-padded field width, e.g. %015s.
57106
57107         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
57108         label so that it precedes the code to set `digits'.  Otherwise,
57109         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
57110         print `00-22'.  Now, it prints `-0022', as it should.
57111
57112 2005-08-17  Bruno Haible  <bruno@clisp.org>
57113
57114         * modules/strstr (Files): Add m4/mbrtowc.m4.
57115         (Depends-on): Add mbuiter.
57116
57117 2005-08-17  Bruno Haible  <bruno@clisp.org>
57118
57119         * modules/strcasestr: New file.
57120         * MODULES.html.sh (String handling, based on ANSI C 89): Add
57121         strcasestr.
57122
57123 2005-08-17  Bruno Haible  <bruno@clisp.org>
57124
57125         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
57126
57127 2005-08-17  Bruno Haible  <bruno@clisp.org>
57128
57129         * modules/mbuiter: New file.
57130         * MODULES.html.sh (Extended multibyte and wide character utilities):
57131         Add mbuiter.
57132
57133 2005-08-17  Bruno Haible  <bruno@clisp.org>
57134
57135         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
57136         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
57137
57138 2005-08-17  Bruno Haible  <bruno@clisp.org>
57139
57140         * m4/strcasestr.m4: New file.
57141
57142 2005-08-17  Bruno Haible  <bruno@clisp.org>
57143
57144         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
57145         * lib/strstr.c: Completely rewritten, with multibyte locale support.
57146
57147 2005-08-17  Bruno Haible  <bruno@clisp.org>
57148
57149         * lib/strcasestr.h: New file.
57150         * lib/strcasestr.c: New file.
57151
57152 2005-08-17  Bruno Haible  <bruno@clisp.org>
57153
57154         * lib/strcasecmp.c: Use mbuiter.h.
57155
57156 2005-08-17  Bruno Haible  <bruno@clisp.org>
57157
57158         * lib/mbuiter.h: New file.
57159
57160 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
57161
57162         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
57163         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
57164         and gl_GETOPT are both invoked via different paths (as happens
57165         with GNU tar CVS because it uses both argp and getopt), the former
57166         wins.
57167
57168 2005-08-16  Bruno Haible  <bruno@clisp.org>
57169
57170         * modules/tls: New file.
57171         * MODULES.html.sh (Multithreading): Add tls.
57172
57173 2005-08-16  Bruno Haible  <bruno@clisp.org>
57174
57175         * modules/strnlen1: New file.
57176         * MODULES.html.sh (String handling): Add strnlen1.
57177
57178 2005-08-16  Bruno Haible  <bruno@clisp.org>
57179
57180         * modules/strcase (Files): Add m4/mbrtowc.m4.
57181         (Depends-on): Add strnlen1, mbchar.
57182
57183 2005-08-16  Bruno Haible  <bruno@clisp.org>
57184
57185         * modules/mbiter: New file.
57186         * MODULES.html.sh (Extended multibyte and wide character utilities):
57187         Add mbiter.
57188
57189 2005-08-16  Bruno Haible  <bruno@clisp.org>
57190
57191         * modules/mbfile: New file.
57192         * MODULES.html.sh (Extended multibyte and wide character utilities):
57193         Add mbfile.
57194
57195 2005-08-16  Bruno Haible  <bruno@clisp.org>
57196
57197         * modules/mbchar: New file.
57198         * MODULES.html.sh (Extended multibyte and wide character utilities):
57199         New section.
57200
57201 2005-08-16  Bruno Haible  <bruno@clisp.org>
57202
57203         * m4/tls.m4: New file, from GNU gettext.
57204
57205 2005-08-16  Bruno Haible  <bruno@clisp.org>
57206
57207         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
57208         always.
57209         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
57210
57211 2005-08-16  Bruno Haible  <bruno@clisp.org>
57212
57213         * m4/mbiter.m4: New file.
57214
57215 2005-08-16  Bruno Haible  <bruno@clisp.org>
57216
57217         * m4/mbfile.m4: New file.
57218
57219 2005-08-16  Bruno Haible  <bruno@clisp.org>
57220
57221         * m4/mbchar.m4: New file.
57222
57223 2005-08-16  Bruno Haible  <bruno@clisp.org>
57224
57225         * lib/tls.h: New file, from GNU gettext.
57226         * lib/tls.c: New file, from GNU gettext.
57227
57228 2005-08-16  Bruno Haible  <bruno@clisp.org>
57229
57230         * lib/strnlen1.h: New file.
57231         * lib/strnlen1.c: New file.
57232
57233 2005-08-16  Bruno Haible  <bruno@clisp.org>
57234
57235         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
57236         (mbi_init): Update.
57237         (mbi_avail, mbi_advance): Let the iteration end before the terminating
57238         NUL byte, not after it.
57239
57240 2005-08-16  Bruno Haible  <bruno@clisp.org>
57241
57242         * lib/strcase.h (strcasecmp): Add note in comments.
57243         * lib/strncasecmp.c: Use code from strcasecmp.c.
57244         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
57245         (strcasecmp): Work correctly in multibyte locales.
57246
57247 2005-08-16  Bruno Haible  <bruno@clisp.org>
57248
57249         * lib/mbiter.h: New file.
57250
57251 2005-08-16  Bruno Haible  <bruno@clisp.org>
57252
57253         * lib/mbfile.h: New file.
57254
57255 2005-08-16  Bruno Haible  <bruno@clisp.org>
57256
57257         * lib/mbchar.h: New file.
57258         * lib/mbchar.c: New file.
57259
57260 2005-08-16  Bruno Haible  <bruno@clisp.org>
57261
57262         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
57263         the valid ones. Makes the comparison operations transitive:
57264         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
57265         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
57266
57267 2005-08-15  Simon Josefsson  <jas@extundo.com>
57268
57269         * modules/ssize_t (License): Change to 'unlimited'.
57270
57271         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
57272
57273 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
57274
57275         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
57276         Add comments for each pending glibc patch.
57277
57278 2005-08-15  Bruno Haible  <bruno@clisp.org>
57279
57280         * lib/regex.h (__restrict_arr): Don't define to __restrict if
57281         __cplusplus is defined.
57282
57283 2005-08-14  Jim Meyering  <jim@meyering.net>
57284
57285         Sync from coreutils.
57286
57287         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
57288         Use the hash-table-based cycle-detection code not just when
57289         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
57290         Reported by James Youngman in
57291         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
57292         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
57293         FTS_TIGHT_CYCLE_CHECK.
57294         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
57295         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
57296         once again.
57297         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
57298         * lib/fts.c (fd_safer): Remove decl.
57299         Include fcntl--.h rather than unistd-safer.h
57300         (fts_safe_changedir): Don't call fd_safer; no longer needed
57301         now that we include fcntl--.h.
57302
57303 2005-08-12  Simon Josefsson  <jas@extundo.com>
57304
57305         * modules/getndelim2: Use ssize_t module.
57306         * modules/getnline: Likewise.
57307         * modules/safe-read: Likewise.
57308         * modules/xreadlink: Likewise.
57309
57310         * modules/ssize_t: New file.
57311
57312 2005-08-12  Simon Josefsson  <jas@extundo.com>
57313
57314         * m4/readline.m4: Look for termcap, curses or ncurses if required.
57315
57316 2005-08-12  Simon Josefsson  <jas@extundo.com>
57317
57318         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57319         ssize_t.
57320
57321 2005-08-12  Simon Josefsson  <jas@extundo.com>
57322
57323         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
57324         readline, getdelim and check_version.
57325         (Support for systems lacking ISO C 99: Sizes of integer types):
57326         Add size_max.
57327
57328 2005-08-12  Bruno Haible  <bruno@clisp.org>
57329
57330         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
57331
57332 2005-08-11  Simon Josefsson  <jas@extundo.com>
57333
57334         * modules/readline: New file.
57335
57336         * modules/strnlen (Files): Add strnlen.h.
57337
57338 2005-08-11  Simon Josefsson  <jas@extundo.com>
57339
57340         * m4/readline.m4: New file.
57341
57342 2005-08-11  Simon Josefsson  <jas@extundo.com>
57343
57344         * lib/readline.h, readline.c: New file.
57345
57346 2005-08-11  Simon Josefsson  <jas@extundo.com>
57347
57348         * doc/gnulib.texi (Initial import, Finishing touches): Mention
57349         gl_AVOID.
57350
57351 2005-08-11  Bruno Haible  <bruno@clisp.org>
57352
57353         * lib/strnlen.h (strnlen): Change parameter name to match comment.
57354
57355 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
57356
57357         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
57358
57359 2005-08-10  Simon Josefsson  <jas@extundo.com>
57360
57361         * tests/test-iconvme.c: New file.
57362
57363 2005-08-10  Simon Josefsson  <jas@extundo.com>
57364
57365         * m4/strnlen.m4: New file.
57366
57367         * m4/strndup.m4: Don't check for strnlen declaration, done in
57368         strnlen.m4.
57369
57370 2005-08-10  Simon Josefsson  <jas@extundo.com>
57371
57372         * lib/strndup.c: Use strnlen.h.
57373
57374         * lib/strnlen.h: New file.
57375
57376 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
57377
57378         * README: Typos.
57379
57380 2005-08-02  Simon Josefsson  <jas@extundo.com>
57381
57382         * modules/readline: New file.
57383
57384 2005-08-02  Simon Josefsson  <jas@extundo.com>
57385
57386         * modules/getdelim: New file.
57387
57388         * modules/getline: Rewrite, don't use getndelim2.
57389
57390 2005-08-02  Simon Josefsson  <jas@extundo.com>
57391
57392         * m4/getline.m4: Separate out getdelim stuff into separate module.
57393
57394         * m4/getdelim.m4: New file.
57395
57396 2005-08-02  Simon Josefsson  <jas@extundo.com>
57397
57398         * lib/getline.h, getline.c: Rewrite.
57399
57400         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
57401
57402 2005-07-31  Bruno Haible  <bruno@clisp.org>
57403
57404         * lib/lock.h (gl_lock_initializer): New macro.
57405         (gl_lock_define_initialized): Use it.
57406         (gl_rwlock_initializer): New macro.
57407         (gl_rwlock_define_initialized): Use it.
57408         (gl_recursive_lock_initializer): New macro.
57409         (gl_recursive_lock_define_initialized): Use it.
57410
57411 2005-07-30  Karl Berry  <karl@gnu.org>
57412
57413         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
57414         Report from Ben Pfaff, regarding getopt.
57415
57416 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
57417
57418         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
57419         normal way.
57420         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
57421         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
57422         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
57423         (gl_GETOPT): Use the new macros.  Most of the implementation
57424         is moved to the new macros.  This is for programs like Emacs
57425         that don't want all the functionality of gl_GETOPT.
57426
57427 2005-07-26  Bruno Haible  <bruno@clisp.org>
57428
57429         * m4/lock.m4: Update from GNU gettext.
57430
57431 2005-07-26  Bruno Haible  <bruno@clisp.org>
57432
57433         * lib/lock.h: Update from GNU gettext.
57434         * lib/lock.c: Update from GNU gettext.
57435
57436 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
57437
57438         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
57439         obsolescent AC_TRY_RUN.  Include the default includes files, for
57440         'exit'.
57441
57442 2005-07-24  Bruno Haible  <bruno@clisp.org>
57443
57444         * modules/visibility: New file.
57445         * MODULES.html.sh (Misc): Add visibility.
57446
57447 2005-07-24  Bruno Haible  <bruno@clisp.org>
57448
57449         * m4/visibility.m4: New file.
57450
57451 2005-07-24  Bruno Haible  <bruno@clisp.org>
57452
57453         * doc/visibility.texi: New file.
57454
57455 2005-07-22  Bruno Haible  <bruno@clisp.org>
57456
57457         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
57458         $(ALLOCA_H), redundant through BUILT_SOURCES.
57459         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
57460         redundant through BUILT_SOURCES.
57461         * modules/byteswap (Makefile.am): Remove explicit dependency on
57462         $(BYTESWAP_H), redundant through BUILT_SOURCES.
57463         * modules/fnmatch (Makefile.am): Remove explicit dependency on
57464         $(FNMATCH_H), redundant through BUILT_SOURCES.
57465         * modules/getopt (Makefile.am): Remove explicit dependency on
57466         $(GETOPT_H), redundant through BUILT_SOURCES.
57467         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
57468         redundant through BUILT_SOURCES.
57469         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
57470         redundant through BUILT_SOURCES.
57471         * modules/stdbool (Makefile.am): Remove explicit dependency on
57472         $(STDBOOL_H), redundant through BUILT_SOURCES.
57473         * modules/stdint (Makefile.am): Remove explicit dependency on
57474         $(STDINT_H), redundant through BUILT_SOURCES.
57475         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
57476         Remove explicit dependency on $(SYSEXITS_H).
57477         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
57478
57479 2005-07-18  Simon Josefsson  <jas@extundo.com>
57480
57481         * lib/check-version.c (check_version): Accept identical versions too.
57482
57483 2005-07-18  Bruno Haible  <bruno@clisp.org>
57484
57485         * modules/lock: New file.
57486         * MODULES.html.sh (Multithreading): New section.
57487
57488 2005-07-18  Bruno Haible  <bruno@clisp.org>
57489
57490         * m4/lock.m4: New file, from GNU gettext.
57491
57492 2005-07-18  Bruno Haible  <bruno@clisp.org>
57493
57494         * lib/lock.h: New file, from GNU gettext.
57495         * lib/lock.c: New file, from GNU gettext.
57496
57497 2005-07-18  Bruno Haible  <bruno@clisp.org>
57498
57499         * lib/lock.h (gl_once_t): New type.
57500         (gl_once_define, gl_once): New macros.
57501         * lib/lock.c (fresh_once): New variable.
57502         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
57503         functions.
57504
57505 2005-07-16  Simon Josefsson  <jas@extundo.com>
57506
57507         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
57508         workaround, suggested by Bruno.
57509
57510 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
57511
57512         * modules/xalloc (Depends-on): Add xalloc-die.
57513         * modules/xvasprintf (Depends-on): Add xalloc-die.
57514
57515 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
57516
57517         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
57518         with a minor change.
57519
57520 2005-07-15  Bruno Haible  <bruno@clisp.org>
57521
57522         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
57523         When using lib/poll.c, define poll as rpl_poll.
57524
57525 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
57526
57527         * modules/argp (Depends-on): Remove unlocked-io.
57528
57529 2005-07-14  Derek Price  <derek@ximbiot.com>
57530
57531         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
57532         for glob symlink bug.
57533
57534 2005-07-14  Bruno Haible  <bruno@clisp.org>
57535
57536         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
57537         Instead, test for *_unlocked function declarations directly.
57538
57539 2005-07-11  Simon Josefsson  <jas@extundo.com>
57540
57541         * modules/size_max: New file.
57542
57543         * modules/xsize: Depend on size_max module for size_max.m4.
57544
57545 2005-07-11  Simon Josefsson  <jas@extundo.com>
57546
57547         * lib/size_max.h: New file.
57548
57549 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
57550
57551         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
57552         copyright symbol and the year.
57553         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
57554         (version_etc_va): Use parameterized copyright notice.
57555         Reword to conform to the current GNU coding standards.
57556
57557 2005-07-11  Karl Berry  <karl@gnu.org>
57558
57559         * doc/gnulib.texi (Quoting): new node.
57560         (Initial import): more info, from Patrice.
57561
57562 2005-07-11  Bruno Haible  <bruno@clisp.org>
57563
57564         * gnulib-tool (func_usage): Document option --avoid.
57565         (Command line options): Handle --avoid.
57566         (func_acceptable): New function.
57567         (func_modules_transitive_closure): Use it.
57568
57569 2005-07-11  Bruno Haible  <bruno@clisp.org>
57570
57571         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
57572         Reported by Jim Meyering.
57573
57574 2005-07-10  Bruno Haible  <bruno@clisp.org>
57575
57576         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
57577         Needed when size_t is smaller than 'unsigned int'.
57578         Reported by Paul Eggert.
57579
57580 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
57581
57582         * modules/argp (Depends-on): Add unlocked-io
57583
57584 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
57585
57586         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
57587         block of defines.
57588
57589 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
57590
57591         * config/srclist.txt: Comment out regcomp.c, since we have a porting
57592         fix now.
57593
57594 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
57595         and Paul Eggert  <eggert@cs.ucla.edu>
57596
57597         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
57598         in wint_t, not wchar_t.  Remove now-unnecessary cast.
57599
57600 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
57601
57602         * modules/regex (Files): Add lib/regex_internal.c,
57603         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
57604         (Depends-on): Add extensions.
57605         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
57606
57607 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
57608
57609         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
57610         pathconf.
57611         * m4/same.m4 (gl_SAME): Likewise.
57612         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
57613
57614         * m4/regex.m4: Adjust to new libc regex implementation.
57615         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
57616         all the .c and .h parts of (the new) regex.
57617         Quote the m4 stuff better.
57618         Check for RE_ICASE bug of old gnulib.
57619         Check for REG_STARTEND of recent libc.
57620         Rename local variables from jm_* to gl_*.
57621         Quote operand of "test -f".
57622         Say "recent enough" version of libc, not "version 2".
57623         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
57624         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
57625         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
57626         Remove check for btowc, isascii.
57627         Require AM_LANGINFO_CODESET.
57628
57629 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
57630
57631         * lib/regex.c, regex.h: Sync from libc.
57632         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
57633         * lib/regexec.c:
57634         New files, synced from libc, except that regex_internal.h
57635         currently has a small porting fix.
57636
57637 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
57638
57639         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
57640         regex_internal.c, regexec.c.
57641         Add regex_internal.h too, but as a comment, since the libc version
57642         is currently broken in gnulib mode.
57643
57644 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
57645
57646         Support programs like Emacs that use gnulib but not gettext.
57647         * MODULES.html.sh (Internationalization functions): Add gettext-h.
57648         * modules/gettext-h: New file.
57649         * modules/gettext (Files): Remove lib/gettext.h.
57650         (Depends-on): Add gettext-h.
57651         (Makefile.am): Remove lib_SOURCES.
57652         * modules/argmatch, modules/c-stack, modules/closeout:
57653         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
57654         * modules/execute, modules/file-type, modules/getaddrinfo:
57655         * modules/getopt, modules/human, modules/javacomp:
57656         * modules/javaexec, modules/mkdir-p, modules/obstack:
57657         * modules/openat, modules/pagealign_alloc, modules/pipe:
57658         * modules/quotearg, modules/regex, modules/rpmatch:
57659         * modules/unicodeio, modules/userspec, modules/version-etc:
57660         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
57661         * modules/xsetenv:
57662         Depend on gettext-h, not gettext.
57663
57664 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
57665
57666         * gnulib-tool (func_import): Add support for 'public domain' license.
57667         * modules/alloca, modules/atexit, modules/memmove:
57668         Now public domain, not GPL.
57669         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
57670         * modules/realloc, modules/strerror, modules/strtod:
57671         Now LGPL, not GPL.
57672
57673 2005-07-05  Bruno Haible  <bruno@clisp.org>
57674
57675         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
57676         autoconf CVS. Needed for mingw.
57677
57678 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
57679
57680         Remove the dependency of the strftime module on the tzset module.
57681         * modules/strftime (Depends-on): Remove dependency on tzset.
57682
57683 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
57684
57685         Remove the dependency of the strftime module on the tzset module.
57686         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
57687         gl_FUNC_TZSET_CLOBBER.
57688
57689 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
57690
57691         Remove the dependency of the strftime module on the tzset module.
57692         * lib/strftime.c (my_strftime)
57693         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
57694         Copy the input structure, to work around some of the bug with
57695         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
57696         Solaris releases, you should also use the tzset module, but we won't
57697         require it as a dependency any more since we don't want LGPLed code
57698         to depend on GPLed code.
57699
57700 2005-07-02  Jim Meyering  <jim@meyering.net>
57701
57702         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
57703         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
57704         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
57705         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
57706
57707 2005-07-02  Jim Meyering  <jim@meyering.net>
57708
57709         * lib/backupfile.c (backup_args): Change a `0' to NULL.
57710
57711 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
57712
57713         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
57714         declares only 'struct timespec;' (!).
57715
57716 2005-07-01  Jim Meyering  <jim@meyering.net>
57717
57718         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
57719         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
57720         * lib/save-cwd.c, tempname.c:
57721         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
57722         and don't include <sys/file.h>).
57723
57724 2005-06-29  Jim Meyering  <jim@meyering.net>
57725
57726         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
57727         type name.  Use the variable name instead.
57728         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
57729         Likewise.
57730
57731 2005-06-28  Simon Josefsson  <jas@extundo.com>
57732
57733         * modules/check-version (Files): Add check-version.m4.
57734
57735 2005-06-28  Simon Josefsson  <jas@extundo.com>
57736
57737         * m4/check-version.m4: New file, suggested by Jim Meyering
57738         <jim@meyering.net>.
57739
57740 2005-06-28  Simon Josefsson  <jas@extundo.com>
57741
57742         * lib/check-version.h, lib/check-version.c: New files.
57743
57744 2005-06-28  Simon Josefsson  <jas@extundo.com>
57745
57746         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
57747         collision with global variable.  Better indentation.  Don't
57748         increment buffer pointer beyond buffer end.  Based on comments
57749         from Paul Eggert <eggert@cs.ucla.edu>.
57750
57751         * lib/base64.h: Indent.
57752
57753 2005-06-28  Simon Josefsson  <jas@extundo.com>
57754
57755         * doc/gnulib.texi (Library version handling): New section.
57756
57757 2005-06-28  Jim Meyering  <jim@meyering.net>
57758
57759         * check-module (find_included_lib_files): Hard-code another
57760         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
57761         but modules/fts-lgpl (correctly) does not list those files.
57762
57763         * modules/canonicalize (Files): Add lib/pathmax.h.
57764
57765 2005-06-25  Simon Josefsson  <jas@extundo.com>
57766
57767         * modules/check-version: New file.
57768
57769 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
57770
57771         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
57772         initializer of struct addrinfo, as an indication that we don't
57773         care how many members the structure has.
57774
57775 2005-06-24  Derek Price  <derek@ximbiot.com>
57776         and Bruno Haible  <bruno@clisp.org>
57777
57778         Remove stat module & update lstat.
57779         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
57780         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
57781         * m4/stat.m4: Remove this file.
57782
57783 2005-06-24  Derek Price  <derek@ximbiot.com>
57784         and Bruno Haible  <bruno@clisp.org>
57785
57786         Remove stat module & update lstat.
57787         * lib/stat.c: Remove this file...
57788         (slash_aware_lstat): ...moving this content and its support...
57789         * lib/lstat.c (rpl_lstat): ...into here.
57790         * lib/lstat.h: New file.
57791
57792 2005-06-24  Derek Price  <derek@ximbiot.com>
57793         and Bruno Haible  <bruno@clisp.org>
57794
57795         Remove stat module & update lstat.
57796         * config/srclist.txt (libc sources): Remove stat.
57797
57798 2005-06-24  Derek Price  <derek@ximbiot.com>
57799         and Bruno Haible  <bruno@clisp.org>
57800
57801         Remove stat module & update lstat.
57802         * MODULES.html.sh (stat): Remove.
57803         * MODULES.html: Regenerated.
57804         * modules/lstat (Description): Correct function name.
57805         (Files): Add "lstat.h".
57806         (Depends-on): Remove stat, add xalloc, stat-macros.
57807         * modules/stat: Remove this file.
57808         (Include): Add "lstat.h", remove <sys/stat.h>.
57809
57810 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
57811
57812         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
57813         (ranged_convert): Don't save conversion in a temporary struct.
57814         This causes a warning with GCC 4.0.0, and anyway in the typical
57815         case it's not worth the extra 100 bytes or so of code.
57816         (ranged_convert, __mktime_internal): When calling a function via a
57817         pointer P, use P () rather than (*P) (), as we now assume C89 or
57818         better.
57819
57820 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
57821
57822         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
57823         "who -r" failed to give output.  Problem reported by Tim Waugh.
57824
57825         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
57826         (xcalloc): Use it to avoid needless tests.
57827         Problem reported by Jim Meyering.
57828
57829 2005-06-20  Derek Price  <derek@ximbiot.com>
57830
57831         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
57832         unnecessary for Autoconfs > 2.59c.
57833
57834 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
57835
57836         * lib/argp.h (__option_is_short): Check upper limit of
57837         __key. Isprint() requires its argument to have the value
57838         of an unsigned char or EOF.
57839
57840 2005-06-16  Jim Meyering  <jim@meyering.net>
57841
57842         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
57843         when either N or S is zero.
57844
57845 2005-06-16  Derek Price  <derek@ximbiot.com>
57846
57847         * m4/bison.m4: Declare YACC & YFLAGS precious.
57848
57849 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
57850
57851         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
57852         multibyte string or pattern, fall back on unibyte matching.
57853         Problem reported by James Youngman.
57854
57855 2005-06-08  Bruno Haible  <bruno@clisp.org>
57856
57857         * modules/csharpcomp: New file.
57858         * MODULES.html.sh (C#): Add csharpcomp.
57859
57860 2005-06-08  Bruno Haible  <bruno@clisp.org>
57861
57862         * m4/csharpcomp.m4: New file, from GNU gettext.
57863
57864 2005-06-08  Bruno Haible  <bruno@clisp.org>
57865
57866         * lib/csharpcomp.h: New file, from GNU gettext.
57867         * lib/csharpcomp.c: New file, from GNU gettext.
57868         * lib/csharpcomp.sh.in: New file, from GNU gettext.
57869
57870 2005-06-08  Bruno Haible  <bruno@clisp.org>
57871
57872         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
57873         warning on mingw.
57874
57875 2005-06-07  Derek Price  <derek@ximbiot.com>
57876
57877         Sync from CVS.
57878         * lib/glob_.h: Indent nested #ifdef.
57879
57880 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
57881
57882         Sync from coreutils.
57883         Use "file name" when talking about file names, instead of "filename"
57884         or "path", as per the GNU coding standards.
57885         * lib/mkdir-p.c: Renamed from makepath.c.
57886         (make_dir_parents): Renamed from make_path.  All callers changed.
57887         * lib/mkdir-p.h: Likewise.  All includers changed.
57888         * lib/filenamecat.c: Renamed from path-concat.c.
57889         (file_name_concat): Renamed from path_concat.  All callers changed.
57890         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
57891         * lib/filenamecat.h: Likewise.  All includers changed.
57892         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
57893         in comments or local variable names.
57894         * lib/basename.c: Likewise.
57895         * lib/canonicalize.c, canonicalize.h: Likewise.
57896         * lib/dirname.c, dirname.h: Likewise.
57897         * lib/euidaccess.c: Likewise.
57898         * lib/exclude.c: Likewise
57899         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
57900         * lib/fsusage.c, fsuage.h: Likewise.
57901         * lib/fts.c, fts_.h: Likewise.
57902         * lib/getcwd.c: Likewise.
57903         * lib/getloadavg.c: Likewise.
57904         * lib/mkstemp.c: Likewise.
57905         * lib/mountlist.c, mountlist.h: Likewise.
57906         * lib/openat.c, openat.h: Likewise.
57907         * lib/readlink-stub.c: Likewise.
57908         * lib/readutmp.c, readutmp.h: Likewise.
57909         * lib/rename.c: Likewise.
57910         * lib/rmdir.c: Likewise.
57911         * lib/same.c: Likewise.
57912         * lib/savedir.c: Likewise.
57913         * lib/stripslash.c: Likewise.
57914         * lib/tempname.c: Likewise.
57915         * lib/xreadlink.c: Likewise.
57916         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
57917         All uses changed.
57918         * lib/exclude.h: Likewise.
57919
57920         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
57921         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
57922         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
57923         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
57924         * lib/pathmax.h: Include <limits.h> unconditionally, since other
57925         files have been getting away with it for years (MORE/BSD 4.3
57926         is extinct now).
57927         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
57928         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
57929
57930         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
57931         Define to 256, not 255, as per modern POSIX.
57932
57933 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
57934
57935         Sync from coreutils.
57936         Use "file name" when talking about file names, instead of "filename"
57937         or "path", as per the GNU coding standards.
57938         * MODULES.html.sh: mkdir-p renamed from makepath.
57939         filenamecat renamed from path-concat.
57940         * modules/filenamecat: Renamed from modules/path-concat.
57941         (Files): filenamecat.h and filenamecat.c renamed from
57942         path-concat.h and path-concat.c.
57943         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
57944         (Include): filenamecat.h, not path-concat.h.
57945         * modules/mkdir-p: Renamed from modules/makepath.
57946         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
57947         makepath.c.
57948         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
57949         (Include): mkdir-p.h, not makepath.h.
57950
57951 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
57952
57953         Sync from coreutils.
57954         * m4/mkdir-p.m4: Renamed from makepath.m4.
57955         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
57956         Rename files from makepath.c to mkdir-p.c, and from
57957         makepath.h to mkdir-p.h.
57958         * m4/filenamecat.m4: Renamed from path-concat.m4.
57959         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
57960         Rename files from path-concat.c to filenamecat.c,
57961         and from path-concat.h to filenamecat.h.
57962         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
57963         "file name" in local variables or comments.
57964         * m4/rename.m4: Likewise.
57965
57966 2005-06-01  Bruno Haible  <bruno@clisp.org>
57967
57968         * modules/csharpexec: New file.
57969         * MODULES.html.sh (C#): New section.
57970
57971 2005-06-01  Bruno Haible  <bruno@clisp.org>
57972
57973         * m4/csharp.m4: New file, from GNU gettext.
57974         * m4/csharpexec.m4: New file, from GNU gettext.
57975
57976 2005-06-01  Bruno Haible  <bruno@clisp.org>
57977
57978         * lib/csharpexec.h: New file, from GNU gettext.
57979         * lib/csharpexec.c: New file, from GNU gettext.
57980         * lib/csharpexec.sh.in: New file, from GNU gettext.
57981
57982 2005-05-31  Derek Price  <derek@ximbiot.com>
57983             Paul Eggert  <eggert@cs.ucla.edu>
57984
57985         Sync from cvs.
57986         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
57987
57988 2005-05-31  Derek Price  <derek@ximbiot.com>
57989             Paul Eggert  <eggert@cs.ucla.edu>
57990
57991         Sync from cvs.
57992         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
57993
57994 2005-05-29  Derek Price  <derek@ximbiot.com>
57995
57996         * config/srclist.txt (glob_.h, glob.c): Add these files.
57997
57998 2005-05-29  Derek Price  <derek@ximbiot.com>
57999
58000         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
58001         * modules/glob: New file.
58002         * modules/getlogin_r: Add link to POSIX spec in description.
58003
58004 2005-05-29  Derek Price  <derek@ximbiot.com>
58005             Paul Eggert  <eggert@cs.ucla.edu>
58006
58007         * m4/glob.m4: New file.
58008
58009 2005-05-29  Derek Price  <derek@ximbiot.com>
58010             Paul Eggert  <eggert@cs.ucla.edu>
58011
58012         * lib/glob_.h, lib/glob.c: New files.
58013
58014 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
58015
58016         * modules/fts (Files): Remove m4/inttypes-pri.m4.
58017         * modules/fts-lgpl (Depends-on): Remove gettext.
58018
58019 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
58020
58021         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
58022         and don't require gt_INTTYPES_PRI.
58023
58024 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
58025
58026         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
58027
58028         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
58029         the configuration hassle isn't worth it.
58030         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
58031         (LONGEST_MODIFIER, PRIuMAX): Remove.
58032
58033 2005-05-27  Bruno Haible  <bruno@clisp.org>
58034
58035         * lib/getlogin_r.h: Remove second include of <stddef.h>.
58036
58037 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
58038
58039         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
58040         _POSIX_PTHREAD_SEMANTICS for Solaris.
58041
58042 2005-05-25  Derek Price  <derek@ximbiot.com>
58043
58044         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
58045
58046 2005-05-25  Derek Price  <derek@ximbiot.com>
58047             Paul Eggert  <eggert@cs.ucla.edu>
58048
58049         * modules/getlogin_r, m4/getlogin_r.m4: New files.
58050         * lib/getlogin_r.c, getlogin_r.h: New files.
58051
58052 2005-05-25  Bruno Haible  <bruno@clisp.org>
58053             Derek Price  <derek@ximbiot.com>
58054
58055         * lib/getlogin_r.h: Simplify API documentation.
58056
58057 2005-05-23  Derek Price  <derek@ximbiot.com>
58058
58059         * modules/minmax (Files): Add m4/minmax.m4.
58060         (configure.ac): Add gl_MINMAX.
58061
58062 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
58063
58064         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
58065         so that unistd-safer.h (GPL'ed code) need not be included.
58066
58067 2005-05-22  Bruno Haible  <bruno@clisp.org>
58068
58069         * m4/minmax.m4: New file.
58070         Based on a patch by Derek Price <derek@ximbiot.com>.
58071
58072 2005-05-22  Bruno Haible  <bruno@clisp.org>
58073
58074         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
58075         (INT64_MIN): Fix definition.
58076         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
58077
58078         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
58079         NEED_SIGNED_INT_TYPES.
58080
58081         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
58082         HAVE_SYSTEM_INTTYPES.
58083
58084 2005-05-22  Bruno Haible  <bruno@clisp.org>
58085
58086         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
58087         Also include <sys/param.h> if it defines MIN, MAX.
58088         Based on a patch by Derek Price <derek@ximbiot.com>.
58089
58090 2005-05-21  Jim Meyering  <jim@meyering.net>
58091
58092         * modules/fts (Files): Add m4/inttypes-pri.m4.
58093         (Depends-on): Add lstat and remove gettext.  Alphabetize.
58094
58095 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58096
58097         New fts module.
58098         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
58099         (setup_dir, free_dir): New functions.
58100         (enter_dir, leave_dir): Define trivial
58101         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
58102         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
58103         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
58104         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
58105         Move to fts-cycle.c.
58106         (fts_open): Use setup_dir.
58107         (fts_close): Use free_dir.
58108         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
58109         This adds a label and some gotos, but the alternatives were messier.
58110         Check for memory allocation failure when entering a dir.
58111         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
58112         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
58113         (FTS): New member fts_cycle, that is a union that contains the
58114         old active_dir_ht and cycle_state.  All uses changed to mention
58115         fts_cycle.ht and fts_cycle.state.
58116         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
58117         fts.c, with the following changes:
58118         (setup_dir, free_dir): New functions.
58119         (enter_dir): Now returns bool.  Return true if successful, false
58120         if memory exhausted.  All callers changed.
58121         Do not bother partly cleaning up on
58122         memory allocation failure; that is free_dir's job.
58123         However, free ad if hash_insert fails, to avoid memory leak.
58124         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
58125         fts->fts_options to see which union member to use.
58126
58127 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58128
58129         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
58130         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
58131
58132 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
58133
58134         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
58135
58136 2005-05-20  Jim Meyering  <jim@meyering.net>
58137
58138         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
58139         Now a macro, to pacify GCC.
58140
58141 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
58142
58143         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
58144         of -1.
58145
58146 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
58147
58148         * lib/chown.c (rpl_chown): Return -1 on failure.
58149
58150 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
58151
58152         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
58153         Don't check for stddef.h.
58154         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
58155         don't use its results.
58156         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
58157         since we include them unconditionally.  Don't require
58158         AM_STDBOOL_H, since stdbool is a prerequisite.
58159         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
58160         since we assume C89 or better.
58161         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
58162         as we don't use their results.
58163         Don't check for fchdir, memmove, memset, strrchr, as we use
58164         them unconditionally.
58165         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
58166         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
58167
58168 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
58169
58170         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
58171         Include <stddef.h> unconditionally, since we assume C89 now.
58172         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
58173         * lib/fts.c: Include fts_.h first, to check interface.
58174         Do not include intprops.h; no longer needed.
58175         Include cycle-check.h and hash.h, since fts_.h no longer does.
58176         Remove unnecessary casts of closedir to void.
58177         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
58178         decide whether to decrement nlinks.
58179         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
58180         (FTS): Use struct hash_table * instead of Hash_table, so that
58181         we no longer need to include hash.h here.
58182
58183 2005-05-18  Jim Meyering  <jim@meyering.net>
58184
58185         * modules/dirfd (License): Change to LGPL.  Most of the code
58186         is already in the public domain.
58187
58188 2005-05-18  Jim Meyering  <jim@meyering.net>
58189
58190         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
58191         Reported by Yoann Vandoorselaere.
58192
58193 2005-05-17  Jim Meyering  <jim@meyering.net>
58194
58195         * m4/fts.m4: New file, from coreutils.
58196
58197 2005-05-17  Jim Meyering  <jim@meyering.net>
58198
58199         * lib/fts.c, lib/fts_.h: New files, from coreutils.
58200
58201 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58202
58203         Sync from coreutils.
58204         * m4/unlinkdir.m4: New file.
58205
58206 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58207
58208         Sync from coreutils.
58209         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
58210         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
58211         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
58212         White space changes only.
58213         * lib/makepath.c (make_path): Port to hosts where leading "//" is
58214         special.
58215         * lib/yesno.c: Include getline.h, not ctype.h.
58216         (yesno): Don't remove leading white space; POSIX doesn't allow it.
58217         Use getline to remove arbitrary restriction on response length.
58218
58219 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
58220
58221         * config/srclist-update: Spell out "Street" in FSF postal
58222         mail address; this is the style the FSF seems to prefer.
58223
58224         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
58225         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
58226         this updates FSF postal mail address.
58227
58228         Sync from coreutils.
58229         * modules/unlinkdir: New file.
58230         * modules/yesno (Depends-on): Add getline.
58231         * MODULES.html.sh (File system functions): Add unlinkdir.
58232
58233 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58234
58235         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
58236         lib/strsep.h:
58237         Change the initial comment to refer to GPL, not LGPL.
58238         gnulib-tool will change it to LGPL as needed.
58239
58240         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
58241         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
58242         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
58243         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
58244         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
58245         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
58246         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
58247         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
58248         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
58249         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
58250         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
58251         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
58252         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
58253         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
58254         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
58255         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
58256         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
58257         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
58258         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
58259         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
58260         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
58261         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
58262         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
58263         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
58264         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
58265         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
58266         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
58267         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
58268         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
58269         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
58270         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
58271         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
58272         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
58273         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
58274         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
58275         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
58276         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
58277         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
58278         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
58279         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
58280         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
58281         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
58282         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
58283         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
58284         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
58285         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
58286         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
58287         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
58288         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
58289         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
58290         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
58291         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
58292         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
58293         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
58294         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
58295         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
58296         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
58297         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
58298         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
58299         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
58300         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
58301         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
58302         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
58303         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
58304         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
58305         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
58306         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
58307         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
58308         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
58309         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
58310         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
58311         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
58312         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
58313         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
58314         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
58315         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
58316         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
58317         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
58318         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
58319         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
58320         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
58321         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
58322         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
58323         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
58324         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
58325         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
58326         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
58327         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
58328         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
58329         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
58330         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
58331         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
58332         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
58333         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
58334         lib/yesno.c, lib/yesno.h:
58335         Update FSF postal mail address.
58336
58337 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
58338
58339         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
58340         tests/test-memmem.c, tests/test-stpncpy.c:
58341         Update FSF postal mail address.
58342
58343 2005-05-13  Bruno Haible  <bruno@clisp.org>
58344
58345         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
58346         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
58347         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
58348         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
58349         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
58350         Add support for 64-bit integers in the MSVC compiler.
58351
58352 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
58353
58354         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
58355
58356 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
58357
58358         * gnulib-tool (func_import): Sort and uniquify recommended includes.
58359
58360 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
58361
58362         * doc/getdate.texi (General date syntax): Don't say that date
58363         date --iso-8601=ns generates acceptable dates; it doesn't yet.
58364         Problem reported by Nic Ferrier.
58365
58366 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58367
58368         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
58369         specified in ai_socktype. Fix invalid ai_protocol
58370         check. ai_protocol is usually set to 0 or depending on
58371         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
58372         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
58373         ai_socktype / ai_protocol in the returned addrinfo structure.
58374
58375 2005-05-10  Simon Josefsson  <jas@extundo.com>
58376
58377         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
58378         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
58379
58380 2005-05-10  Karl Berry  <karl@gnu.org>
58381
58382         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
58383         (from http://www.gnu.org/licenses).
58384         * doc/COPYING.LIB: also rename to COPYING.LESSER.
58385         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
58386         fdl.texi suffices.
58387
58388 2005-05-10  Karl Berry  <karl@gnu.org>
58389
58390         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
58391         (COPYING.DOC): remove.
58392
58393         * config/srclist-update: new FSF address.
58394
58395 2005-05-10  Derek Price  <derek@ximbiot.com>
58396
58397         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
58398         possible.
58399
58400 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58401             Bruno Haible  <bruno@clisp.org>
58402
58403         * modules/inet_ntop: New file.
58404         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58405         inet_ntop.
58406
58407 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58408             Bruno Haible  <bruno@clisp.org>
58409
58410         * m4/inet_ntop.m4: New file.
58411
58412 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
58413             Bruno Haible  <bruno@clisp.org>
58414
58415         * lib/inet_ntop.h: New file.
58416         * lib/inet_ntop.c: New file, from glibc with modifications.
58417
58418 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
58419
58420         * modules/time_r (License): Change to LGPL.
58421         * modules/extensions (License): Change to LGPL.  Actually,
58422         the license is more permissive than that, but currently gnulib-tool
58423         doesn't know how to handle more-permissive licenses.
58424
58425         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
58426         Problem reported by Dave Love.
58427
58428 2005-05-08  Jim Meyering  <jim@meyering.net>
58429
58430         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
58431         blank.
58432
58433 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
58434
58435         * modules/argmatch (Depends-on): Add stdbool.
58436         * modules/backupfile (Depends-on): Likewise.
58437         * modules/chdir-long (Depends-on): Likewise.
58438         * modules/closeout (Depends-on): Likewise.
58439         * modules/cycle-check (Depends-on): Likewise.
58440         * modules/dirname (Depends-on): Likewise.
58441         * modules/fnmatch (Depends-on): Likewise.
58442         * modules/fsusage (Depends-on): Likewise.
58443         * modules/fwriteerror (Depends-on): Likewise.
58444         * modules/getcwd (Depends-on): Likewise.
58445         * modules/getloadavg (Depends-on): Likewise.
58446         * modules/hard-locale (Depends-on): Likewise.
58447         * modules/makepath (Depends-on): Likewise.
58448         * modules/mountlist (Depends-on): Likewise.
58449         * modules/nanosleep (Depends-on): Likewise.
58450         * modules/posixtm (Depends-on): Likewise.
58451         * modules/quotearg (Depends-on): Likewise.
58452         * modules/readtokens (Depends-on): Likewise.
58453         * modules/readtokens0 (Depends-on): Likewise.
58454         * modules/readutmp (Depends-on): Likewise.
58455         * modules/save-cwd (Depends-on): Likewise.
58456         * modules/strftime (Depends-on): Likewise.
58457         * modules/userspec (Depends-on): Likewise.
58458         * modules/utimecmp (Depends-on): Likewise.
58459         * modules/xgetcwd (Depends-on): Likewise.
58460         * modules/xnanosleep (Depends-on): Likewise.
58461         * modules/xstrtod (Depends-on): Likewise.
58462         * modules/yesno (Depends-on): Likewise.
58463
58464 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
58465
58466         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
58467         needless checks.
58468
58469 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
58470
58471         Merge from coreutils.  Among other things,
58472         add bulletproofing for cases where stdin, stdout, or stderr are closed.
58473         * lib/fd-safer.c: New file.
58474         * lib/fcntl-safer.h, open-safer.c: Remove.
58475         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
58476         * lib/dup-safer.c: Include unistd-safer.h first.
58477         Don't include errno.h.
58478         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
58479         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
58480         * lib/file-type.c: Rely on file-type.h change.
58481         * lib/getloadavg.c: Include unistd-safer.h.
58482         (getloadavg): Use safer open.
58483         * lib/getusershell.c: Include "stdio-safer.h".
58484         (getusershell): Use safer fopen.
58485         * lib/long-options.c (long_options): Use NULL rather than 0.
58486         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
58487         'free'.
58488         * lib/modechange.c: Likewise.
58489         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
58490         (MODE_DONE): New constant.
58491         (struct mode_change): Remove 'next' member.
58492         (make_node_op_equals): New function; like the old one of the
58493         same name, except it allocates an array.
58494         (mode_compile, mode_create_from_ref): Use it.
58495         (mode_compile): Allocate result as an array, not a linked list.
58496         Parse octal string ourself, so that we catch mistakes like "+0".
58497         (mode_adjust): Arg is an array, not a linked list.
58498         * lib/modechange.c: Include stat-macros.h, xalloc.h.
58499         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
58500         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
58501         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
58502         Remove.  This is now stat-macros.h's job.
58503         (talloc): Remove.  All callers replaced by xalloc, so that
58504         our invokers don't have to worry about reporting memory failures.
58505         (make_node_op_equals): Remove.
58506         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
58507         New constants.
58508         (struct mode_change): Moved here from modechange.h.
58509         (mode_append_entry): Remove.
58510         (mode_compile): Remove MASKED_OPS arg, since it encouraged
58511         apps to have incorrect behavior.  Use simpler algorithm for head
58512         and tail.  Don't futz with umask; that's now the job of mode_adjust.
58513         Detect more invalid usages rather than having somewhat-random behavior.
58514         Don't insert an "a=" action, as that leads to incorrect behavior.
58515         (mode_compile, mode_create_from_ref): Return NULL on error instead
58516         of an enum, since now there's only one way to have an error.  All
58517         callers changed.
58518         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
58519         at the correct time.  Simplify calculation of "+u" and its ilk.
58520         Don't mishandle "+X".
58521         (mode_free): Remove "register" and localize decls.
58522         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
58523         (struct mode_change): Move to modechange.c; callers don't
58524         need to see this stuff.
58525         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
58526         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
58527         (mode_change, mode_adjust): Reflect the new signatures noted above.
58528         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
58529         that might redefine system include files.
58530         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
58531         (my_usleep): Use NULL rather than (void *) 0.
58532         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
58533         Use siginterrupt to specify that system calls should be interrupted.
58534         (rpl_nanosleep): Move initialization of suspended closer to call of
58535         my_usleep.
58536         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
58537         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
58538         (desirable_utmp_entry): New function.
58539         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
58540         using x2nrealloc, to simplify logic.
58541         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
58542         size calculation.  Do not assume utmp file is a regular file.
58543         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
58544         (READ_UTMP_CHECK_PIDS): New constant.
58545         * lib/save-cwd.c: Include unistd-safer.h.
58546         (save_cwd): Use fd_safer.
58547         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
58548         [!_LIBC] Include "stat-macros.h" instead.
58549         * lib/unistd-safer.h (fd_safer): New decl.
58550
58551 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
58552
58553         * modules/getloadavg (Depends-on): Add unistd-safer.
58554         * modules/getusershell (Depends-on): Add stdio-safer.
58555         * modules/lstat (Depends-on): Remove xalloc.
58556         * modules/mkstemp (Depends-on): Add stat-macros.
58557         * modules/modechange (Depends-on): Remove xstrtol.
58558         Add stat-macros, xalloc.
58559         * modules/save-cwd (Depends-on): Add unistd-safer.
58560         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
58561         * modules/unistd-safer (Files): Add lib/fd-safer.c
58562         (Makefile.am): Remove lib_SOURCES.
58563
58564         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
58565         Remove fcntl-safer; unistd-safer supersedes it.
58566
58567 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
58568
58569         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
58570         AC_HEADER_STAT.
58571         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
58572         (gl_PREREQ_CHOWN): Remove.
58573         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
58574         it.  Don't require AC_HEADER_STAT.
58575         (gl_PREREQ_LSTAT): Remove.
58576         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
58577         Don't require AC_HEADER_STAT.
58578         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
58579         (gl_PREREQ_RMDIR): Remove.
58580         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
58581         mention stat-macros.h or AC_HEADER_STAT, since we'll make
58582         the stat-macros module a prerequisite.
58583         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
58584         * m4/filemode.m4 (gl_FILEMODE): Likewise.
58585         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
58586         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
58587         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
58588         variable names.
58589         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
58590         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
58591         variable prefixes.
58592         * m4/fcntl-safer.m4: Remove.
58593         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
58594         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
58595         Invoke gl_PREREQ_FD_SAFER.
58596         (gl_PREREQ_FD_SAFER): New macro.
58597         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
58598         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
58599         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
58600         Remove duplicate call to AC_LIBOBJ(readutmp).
58601         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
58602
58603         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
58604         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
58605
58606 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
58607
58608         * MODULES.html.sh (Misc): Add byteswap.
58609
58610 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
58611
58612         * modules/getcwd (Depends-on): Add extensions.
58613         * modules/openat (Depends-on): Likewise.
58614
58615 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
58616
58617         * modules/byteswap: New file.
58618
58619 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
58620
58621         * m4/byteswap.m4: New file.
58622
58623 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
58624
58625         * lib/byteswap_.h: New file.
58626
58627 2005-04-25  Karl Berry  <karl@gnu.org>
58628
58629         * m4/gettext.m4: Update from GNU gettext 0.14.4.
58630
58631 2005-04-25  Albert Chin  <china@thewrittenword.com>
58632
58633         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
58634         Toolkit C bug.
58635
58636 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
58637
58638         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
58639         (func_ln_if_changed) Remove forcibly for no error message
58640         in case file does not exist.
58641
58642 2005-04-19  Simon Josefsson  <jas@extundo.com>
58643
58644         * gnulib-tool (Options): Make --symlink mean --symbolic.
58645
58646 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
58647
58648         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
58649
58650 2005-04-16  Simon Josefsson  <jas@extundo.com>
58651
58652         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
58653
58654 2005-04-15  Simon Josefsson  <jas@extundo.com>
58655
58656         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
58657
58658 2005-04-15  Simon Josefsson  <jas@extundo.com>
58659
58660         * gnulib-tool: Rename --symlink to --symbolic.
58661
58662 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
58663
58664         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
58665         symbolic links to files instead of copying/moving.  Add --aux-dir,
58666         specifying directory relative --dir where auxiliary build tools
58667         are placed.
58668
58669 2005-04-14  Bruno Haible  <bruno@clisp.org>
58670
58671         * modules/allocsa (License): Change to LGPL.
58672         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
58673
58674 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
58675
58676         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
58677         that "UTC +1 second" continues to work.  Problem reported
58678         by Dmitry V. Levin.
58679         (relunit_snumber): New rule.
58680         (relunit): Use it.
58681
58682 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
58683
58684         * lib/getdate.y (universal_time_zone_table): New constant.
58685         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
58686         universal_time_zone_table.
58687         (lookup_zone): Prefer universal_time_zone_table to
58688         local_time_zone_table, so that "GMT" time stamps are allowed in
58689         London during the summer.  Problem reported by Ian Abbott.
58690
58691 2005-04-12  Jim Meyering  <jim@meyering.net>
58692
58693         * lib/human.c (humblock): Set *options even when returning due to
58694         xstrtoumax conversion failure.  Thanks to a used-uninitialized
58695         warning from gcc-4.
58696
58697 2005-04-09  Jim Meyering  <jim@meyering.net>
58698
58699         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
58700         -Wuninitialized: initialize tm0.tm_year.
58701
58702 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
58703
58704         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
58705         count, since there's no maximum.  All uses changed.
58706         Add member dsts_seen.
58707         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
58708         not being INT_MAX.
58709         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
58710         Use pc_rels_seen to decide whther a date is absolute.
58711
58712         * lib/getdate.y (number): Don't overwrite year.
58713         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
58714         check.
58715
58716 2005-04-02  Simon Josefsson  <jas@extundo.com>
58717
58718         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
58719         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
58720
58721 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
58722
58723         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
58724         where no absolute path name can be longer than PATH_MAX.
58725
58726 2005-03-27  Jim Meyering  <jim@meyering.net>
58727
58728         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
58729
58730 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
58731
58732         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
58733         "one's complement" -> "ones' complement" in comment, as per Knuth.
58734         "value of type" -> "type or expression" in comment.
58735         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
58736
58737 2005-03-26  Jim Meyering  <jim@meyering.net>
58738
58739         Comment nits.
58740         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
58741         Correct typos: s/or/of/.
58742
58743 2005-03-26  Jim Meyering  <jim@meyering.net>
58744
58745         * modules/check-include-files: Move to ../ and rename to...
58746         * check-module: ...this.
58747
58748 2005-03-25  Jim Meyering  <jim@meyering.net>
58749
58750         * modules/xvasprintf (Files): Add xalloc.h.
58751
58752 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
58753
58754         * modules/gettext (Files): config/config.rpath ->
58755         build-aux/config.rpath
58756         * modules/iconv (Files): Likewise.
58757         Problem reported by Oskar Liljeblad.
58758
58759 2005-03-23  Jim Meyering  <jim@meyering.net>
58760
58761         * modules/check-include-files: New script to check for
58762         missing dependencies, multiple includes, etc.
58763
58764         * modules/c-strtold (Depends-on): Add xalloc.
58765         * modules/c-strtod (Depends-on): Add xalloc.
58766         * modules/hash (Depends-on): Add xalloc.
58767         (Files): Remove lib/xalloc.h.
58768
58769         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
58770         * modules/userspec (Files): Add lib/inttostr.h.
58771
58772 2005-03-23  Jim Meyering  <jim@meyering.net>
58773
58774         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
58775
58776 2005-03-22  Jim Meyering  <jim@meyering.net>
58777
58778         * modules/stat-macros: New module.
58779         * modules/canonicalize, modules/euidaccess, modules/file-type,
58780         * modules/filemode, modules/lchown, modules/makepath,
58781         * modules/rmdir, modules/stat: Depend on new stat-macros module
58782         rather than listing lib/stat-macros.h manually.
58783         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
58784
58785 2005-03-22  Jim Meyering  <jim@meyering.net>
58786
58787         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
58788
58789 2005-03-22  Bruno Haible  <bruno@clisp.org>
58790
58791         * config/srclist.txt: Replace target directory 'config' with
58792         'build-aux'.
58793         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
58794         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
58795         ../build-aux/.
58796
58797 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
58798
58799         * modules/chdir-long (Depends-on): Add mempcpy.
58800
58801         * modules/acl, modules/backupfile, modules/c-strtod,
58802         modules/c-strtold, modules/canon-host, modules/canonicalize,
58803         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
58804         modules/exclude, modules/exitfail, modules/file-type,
58805         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
58806         modules/getdate, modules/getline, modules/getpagesize,
58807         modules/getpass, modules/getugroups, modules/group-member,
58808         modules/hard-locale, modules/hash, modules/human, modules/idcache,
58809         modules/inttostr, modules/long-options, modules/makepath,
58810         modules/md5, modules/memcasecmp, modules/memcoll,
58811         modules/modechange, modules/mountlist, modules/path-concat,
58812         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
58813         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
58814         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
58815         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
58816         modules/strftime, modules/strndup, modules/strverscmp,
58817         modules/timespec, modules/unlocked-io, modules/userspec,
58818         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
58819         modules/yesno:
58820         Remove lib_SOURCES line from Makefile.am section, as this is now
58821         done automatically by the corresponding Autoconf macro.
58822
58823 2005-03-21  Jim Meyering  <jim@meyering.net>
58824
58825         Changes imported from coreutils.
58826
58827         * lib/cycle-check.c: Don't include xalloc.h.
58828
58829         * lib/path-concat.c: Don't include assert.h.
58830         (path_concat): Remove assertion that would have triggered
58831         for ABASE starting with more than one slash.
58832         Reported by Andreas Schwab.
58833
58834         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
58835         properly when ABASE is an absolute file name.
58836         Correct the description of this function.
58837         Include <assert.h>.
58838         Add an assertion and a test driver.
58839         This fixes a bug introduced on 2004-07-02.
58840         Andreas Schwab reported the resulting failure of cp --parents:
58841         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
58842
58843 2005-03-21  Jim Meyering  <jim@meyering.net>
58844
58845         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
58846         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
58847
58848 2005-03-21  Jim Meyering  <jim@meyering.net>
58849         and  Paul Eggert  <eggert@cs.ucla.edu>
58850
58851         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
58852         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
58853         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
58854         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
58855         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
58856         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
58857         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
58858         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
58859         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
58860         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
58861         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
58862         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
58863         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
58864         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
58865         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
58866         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
58867         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
58868         for these modules.
58869
58870 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
58871
58872         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
58873         (which shouldn't happen), generate nothing instead of returning 0
58874         immediately, so that nstrftime (NULL, ...) doesn't return 0.
58875
58876 2005-03-16  Bruno Haible  <bruno@clisp.org>
58877
58878         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
58879         HAVE_LONGLONG_64BIT.
58880
58881 2005-03-16  Bruno Haible  <bruno@clisp.org>
58882
58883         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
58884         HAVE_LONGLONG_64BIT.
58885
58886 2005-03-16  Bruno Haible  <bruno@clisp.org>
58887
58888         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
58889         HAVE_LONGLONG_64BIT.
58890
58891 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
58892
58893         * lib/strftime.c (my_strftime): Prepend space to format so that we can
58894         reliably distinguish strftime failure from empty output on POSIX
58895         hosts.
58896
58897 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
58898
58899         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
58900         (iconv_string): Don't guess a size-zero buffer, as that might cause
58901         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
58902         result would be 'too large', where 'too large' is (heuristically)
58903         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
58904         overflow concerns.  This will prevent some unwanted malloc failures
58905         when the inputs are very large.
58906
58907 2005-03-15  Karl Berry  <karl@gnu.org>
58908
58909         * config/srclist.txt (config.rpath): from gettext.
58910         * config/config.rpath: update.
58911
58912 2005-03-15  Bruno Haible  <bruno@clisp.org>
58913
58914         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
58915         to 'negate'.
58916
58917         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
58918         variable.
58919
58920         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
58921         results.
58922
58923 2005-03-14  Simon Josefsson  <jas@extundo.com>
58924
58925         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
58926         <fx@gnu.org>.
58927
58928 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
58929
58930         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
58931         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
58932         intprops.h.
58933         * lib/strtol.c: Likewise.
58934
58935 2005-03-14  Jim Meyering  <jim@meyering.net>
58936
58937         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
58938         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
58939         to be nonzero so that we (and caller) can detect the difference
58940         between a valid zero-length expansion and an error return, even
58941         when the underlying strftime fails before writing anything into
58942         that location.
58943
58944 2005-03-14  Bruno Haible  <bruno@clisp.org>
58945
58946         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
58947         Update from GNU gettext 0.14.3.
58948
58949 2005-03-10  Jim Meyering  <jim@meyering.net>
58950
58951         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
58952
58953 2005-03-10  Jim Meyering  <jim@meyering.net>
58954
58955         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
58956         so that this module works on systems without fchdir.
58957
58958 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
58959
58960         Factor int-properties macros into a single file, except for
58961         glibc-related files.
58962         * lib/intprops.h: New file.
58963         * lib/getloadavg.c: Include it instead of limits.h.
58964         (INT_STRLEN_BOUND): Remove.
58965         * lib/human.c: Include intprops.h.
58966         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
58967         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
58968         302/1000.
58969         * lib/inttostr.h: Include intprops.h instead of limits.h.
58970         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
58971         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
58972         for consistency with intprops.h.
58973         (time_t_is_integer, twos_complement_arithmetic): Use them.
58974         * lib/sig2str.h: Include <signal.h>, intprops.h.
58975         (INT_STRLEN_BOUND): Remove.
58976         * lib/strftime.c (TYPE_SIGNED): Remove.
58977         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
58978         * lib/strtol.c: Adjust comments to match intprops.h.
58979         * lib/userspec.c: Include intprops.h.
58980         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
58981         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
58982         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
58983         instead of rolling our own expressions.
58984         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
58985
58986         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
58987         instead of int.
58988         (my_strftime): Do not mishandle years close to INT_MAX, by doing
58989         the right thing even if adding 1900 would overflow.  Similarly
58990         for tm_mon + 1 and tm_yday + 1.
58991         Make %Y always equivalent to %C%y, and similarly for %G and %g.
58992         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
58993         (DO_SIGNED_NUMBER): New macro.
58994         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
58995
58996 2005-03-07  Bruno Haible  <bruno@clisp.org>
58997
58998         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
58999
59000 2005-03-07  Bruno Haible  <bruno@clisp.org>
59001
59002         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
59003
59004 2005-03-04  Derek R. Price  <derek@ximbiot.com>
59005
59006         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
59007         (func_import): Only replace files via --import when they have actually
59008         changed.
59009
59010 2005-03-03  Derek R. Price  <derek@ximbiot.com>
59011
59012         * m4/mmap-anon.m4: New file.
59013         * m4/pagealign_alloc.m4: New file.
59014
59015 2005-03-03  Derek R. Price  <derek@ximbiot.com>
59016             Bruno Haible  <bruno@clisp.org>
59017
59018         * modules/pagealign_alloc: New file.
59019         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
59020
59021 2005-03-03  Derek R. Price  <derek@ximbiot.com>
59022             Bruno Haible  <bruno@clisp.org>
59023
59024         * lib/pagealign_alloc.h: New file.
59025         * lib/pagealign_alloc.c: New file.
59026
59027 2005-03-03  Bruno Haible  <bruno@clisp.org>
59028
59029         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
59030         Use an all-permissive copyright notice, recommended by RMS.
59031
59032 2005-03-02  Bruno Haible  <bruno@clisp.org>
59033
59034         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
59035         of AIX, the replacement has to be done only after <string.h> is
59036         included, therefore not in config.h. stpncpy.h does the replacement,
59037         and stpncpy.c uses it.
59038
59039 2005-03-02  Bruno Haible  <bruno@clisp.org>
59040
59041         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
59042         stpncpy.c uses it.
59043
59044 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59045
59046         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
59047         The workaround isn't strictly needed for POSIX conformance, and
59048         it's too much of a pain to configure and maintain.  We'll ask
59049         people to fix their kernels instead.
59050         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
59051         (NANOSLEEP_BUG_WORKAROUND): Remove.
59052         (xnanosleep): Remove the workaround.
59053
59054 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59055
59056         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
59057         Reported by Derek Price.
59058         (Include): Add "timespec.h".
59059
59060         * modules/xnanosleep (Depends-on): Remove gethrxtime.
59061
59062 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
59063
59064         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
59065         to detect nanosleep bug.
59066
59067 2005-03-01  Bruno Haible  <bruno@clisp.org>
59068
59069         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
59070
59071 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
59072
59073         * modules/gethrxtime: New file.
59074         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
59075         (Depends-on): Add gethrxtime.
59076         (configure.ac): Add gl_XNANOSLEEP.
59077         (Makefile.am): Remove lib_SOURCES line.
59078
59079 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59080
59081         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
59082         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
59083
59084 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
59085
59086         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
59087         * lib/timespec.h (gettime): Return void, since it always
59088         succeeds now.  All uses changed.
59089         * lib/gettime.c (gettime) Likewise.
59090         [HAVE_NANOTIME]: Prefer nanotime.
59091         Assume gettimeofday succeeds, as POSIX requires.
59092         Assime time () succeeds, since other code already does.
59093         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
59094         (timespec_subtract): Remove.
59095         (NANOSLEEP_BUG_WORKAROUND): New constant.
59096         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
59097         things considerably.  Use it only on GNU/Linux hosts, since the
59098         workaround shouldn't be needed elsewhere.
59099
59100 2005-02-24  Bruno Haible  <bruno@clisp.org>
59101
59102         * modules/gettext (Files): Add m4/glibc2.m4.
59103
59104 2005-02-24  Bruno Haible  <bruno@clisp.org>
59105
59106         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
59107         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
59108         * m4/progtest.m4:
59109         Update from GNU gettext 0.14.2.
59110         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
59111
59112 2005-02-24  Bruno Haible  <bruno@clisp.org>
59113
59114         * lib/localcharset.c: Update from GNU gettext 0.14.2.
59115         * lib/config.charset: Update from GNU gettext 0.14.2.
59116
59117 2005-02-24  Bruno Haible  <bruno@clisp.org>
59118
59119         * lib/gettext.h: Update from GNU gettext 0.14.2.
59120
59121 2005-02-23  Simon Josefsson  <jas@extundo.com>
59122
59123         * m4/iconvme.m4: New file.
59124
59125 2005-02-23  Jim Meyering  <jim@meyering.net>
59126
59127         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
59128         change.
59129         Thanks to Bruno Haible for catching it.
59130
59131 2005-02-22  Simon Josefsson  <jas@extundo.com>
59132
59133         * modules/iconvme: New file.
59134
59135         * MODULES.html.sh: Add iconvme.
59136
59137 2005-02-22  Simon Josefsson  <jas@extundo.com>
59138
59139         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
59140
59141 2005-02-22  Simon Josefsson  <jas@extundo.com>
59142
59143         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
59144
59145 2005-02-22  Jim Meyering  <jim@meyering.net>
59146
59147         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
59148         s/ifndef/ifdef/.
59149
59150 2005-02-20  Neil Conway  <neilc@samurai.com>
59151
59152         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
59153         returned by OSX/Darwin if the specified buffer is not large
59154         enough for the hostname.
59155
59156 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59157
59158         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
59159         pass it to _help, otherwise the latter coredumps trying to
59160         dereference state.root_argp.
59161
59162 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59163
59164         * modules/chdir-long (Depends-on): Add memrchr.
59165         * modules/memrchr (Files): Add lib/memrchr.h.
59166         (Include): "memrchr.h".
59167
59168 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59169
59170         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
59171
59172 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
59173
59174         * lib/memrchr.h: New file.
59175         * lib/chdir-long.c: Include it.
59176         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
59177         Don't bother including stddef.h.
59178
59179 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
59180
59181         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
59182         inclusion.
59183         Include <sys/types.h>, for dev_t.
59184         (ME_DUMMY, ME_REMOTE): Move from here....
59185         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
59186         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
59187         Dmitry V. Levin.
59188         Include mountlist.h first, to test the interface.
59189
59190 2005-01-29  Bruno Haible  <bruno@clisp.org>
59191
59192         * lib/progname.c (program_name): Initialize.
59193         Needed when linking statically on MacOS X.
59194
59195 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59196
59197         Sync from coreutils.
59198         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
59199         (Depends-on): Add c-strtod.
59200         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
59201
59202 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
59203
59204         Sync from coreutils.
59205         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
59206
59207         Remove files that are specific to coreutils.
59208         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
59209
59210 2005-01-28  Bruno Haible  <bruno@clisp.org>
59211
59212         * modules/javacomp: New file.
59213         * MODULES.html.sh (Java): Add javacomp.
59214
59215 2005-01-28  Bruno Haible  <bruno@clisp.org>
59216
59217         * m4/javacomp.m4: New file, from GNU gettext.
59218
59219 2005-01-28  Bruno Haible  <bruno@clisp.org>
59220
59221         * lib/javacomp.sh.in: New file, from GNU gettext.
59222         * lib/javacomp.h: New file, from GNU gettext.
59223         * lib/javacomp.c: New file, from GNU gettext.
59224
59225 2005-01-26  Simon Josefsson  <jas@extundo.com>
59226
59227         * lib/gai_strerror.c: Use GPL in header.
59228
59229 2005-01-26  Bruno Haible  <bruno@clisp.org>
59230
59231         * modules/javaexec: New file.
59232         * MODULES.html.sh (Java): Add javaexec.
59233
59234 2005-01-26  Bruno Haible  <bruno@clisp.org>
59235
59236         * m4/javaexec.m4: New file, from GNU gettext.
59237
59238 2005-01-26  Bruno Haible  <bruno@clisp.org>
59239
59240         * lib/javaexec.sh.in: New file, from GNU gettext.
59241         * lib/javaexec.h: New file, from GNU gettext.
59242         * lib/javaexec.c: New file, from GNU gettext.
59243
59244 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59245
59246         * modules/lchown (Depends-on): Remove lchown.h
59247
59248 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59249
59250         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
59251         must be defined if the header file was not found, in order
59252         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
59253
59254 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59255
59256         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
59257         initializers for struct pentry_state.
59258         (__argp_error): Check return value of __asprintf
59259         (__argp_failure): Translate error message
59260
59261         * lib/argp-parse.c: Removed braces around the expansion of N_()
59262
59263 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
59264
59265         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
59266         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
59267         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
59268         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
59269         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
59270         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
59271         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
59272         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
59273         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
59274         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
59275         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
59276         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
59277         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
59278         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
59279         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
59280         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
59281         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
59282         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
59283         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
59284         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
59285         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
59286         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
59287         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
59288         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
59289         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
59290         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
59291         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
59292         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
59293         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
59294         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
59295         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
59296         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
59297         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
59298         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
59299         xstrtol.m4, xstrtoumax.m4, yesno.m4:
59300         Use an all-permissive copyright notice, recommended by RMS.
59301
59302 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
59303
59304         * modules/chdir-long (Depends-on): Remove mempcpy.
59305
59306 2005-01-21  Jim Meyering  <jim@meyering.net>
59307
59308         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
59309         same value as for Solaris 9.
59310
59311         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
59312         component length.  This included changing the parameter to be
59313         of type `char *' rather than `char const *'.
59314         * lib/chdir-long.h (chdir_long): Update prototype.
59315
59316         * lib/openat.c (fdopendir, fstatat): New functions.
59317         * lib/openat.h: Include headers required for use of DIR and struct
59318         stat.
59319         [AT_SYMLINK_NOFOLLOW]: Define.
59320         (fdopendir, fstatat): Add prototypes.
59321
59322 2005-01-21  Bruno Haible  <bruno@clisp.org>
59323
59324         * modules/classpath: New file.
59325         * MODULES.html.sh (Java): Add classpath.
59326
59327 2005-01-21  Bruno Haible  <bruno@clisp.org>
59328
59329         * lib/classpath.h: New file, from GNU gettext.
59330         * lib/classpath.c: New file, from GNU gettext.
59331
59332 2005-01-20  Simon Josefsson  <jas@extundo.com>
59333
59334         * modules/version-etc-fsf: New file.
59335
59336 2005-01-20  Simon Josefsson  <jas@extundo.com>
59337
59338         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
59339         * lib/version-etc.c: Remove version_etc_copyright.
59340         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
59341         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
59342
59343 2005-01-20  Simon Josefsson  <jas@extundo.com>
59344
59345         * lib/base64.h (isbase64): Add.
59346
59347         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
59348         using a unsigned prototype, don't inline.
59349         (base64_decode): Use it.
59350
59351 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
59352
59353         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
59354         it.
59355
59356 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
59357
59358         * lib/save-cwd.c (save_cwd): Remove code to support the case
59359         where fchdir is missing or flaky.
59360
59361 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
59362
59363         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
59364
59365 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
59366
59367         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
59368         AC_LIBSOURCES now does this.
59369         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
59370         with new ullong_max module.
59371
59372 2005-01-19  Bruno Haible  <bruno@clisp.org>
59373
59374         * modules/sh-quote: New file.
59375         * MODULES.html.sh (Executing programs): Add sh-quote.
59376
59377 2005-01-19  Bruno Haible  <bruno@clisp.org>
59378
59379         * lib/sh-quote.h: New file, from GNU gettext.
59380         * lib/sh-quote.c: New file, from GNU gettext.
59381
59382 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59383
59384         Merge from coreutils.
59385         * m4/ullong_max.m4: New file.
59386         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
59387         (gl_MACROS): Assume localeconv exists.
59388
59389 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59390
59391         Merge changes from coreutils, as described below in several
59392         changelogs dated today.
59393
59394         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
59395         (O_DIRECTORY): Remove; not needed here, since "." must be
59396         a directory.  All uses removed.
59397         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
59398         universal on Suns, and we also need to test for IRIX.
59399         Revamp code to use 'if' rather than '#if'.
59400         Avoid unnecessary comparison of cwd->desc to 0.
59401
59402         * lib/utimens.c (futimens): Robustify the previous patch, by checking
59403         for known valid error numbers rather than observed invalid ones.
59404
59405 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
59406
59407         * modules/ullong_max: New file.
59408
59409         * modules/chdir-long, modules/openat: New files.
59410         * modules/save-cwd (Depends-on): Depend on chdir-long.
59411         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
59412
59413 2005-01-18  Jim Meyering  <jim@meyering.net>
59414
59415         Merge from coreutils.
59416         * m4/chdir-long.m4, m4/openat.m4: New files.
59417         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
59418         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
59419         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
59420         is sane and DOES follow symlinks.  Besides, testing 20 different
59421         systems found no broken chown implementations.
59422         Prompted by a change in rsync's copy of this macro.
59423         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
59424
59425         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
59426
59427         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
59428         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
59429         NULL-means-set-to-current-time semantics.
59430         Remove temporary file immediately, rather than waiting
59431         for configure's at-exit trap code to do it.
59432
59433 2005-01-18  Jim Meyering  <jim@meyering.net>
59434
59435         * lib/version-etc.c (version_etc_copyright): Update copyright date.
59436
59437         * lib/utimens.c (futimens): Account for the fact that futimes
59438         can also fail with errno == ENOSYS or errno == ENOENT.
59439         Patch from Dmitry V. Levin.
59440
59441         Change the name of the robust chdir function from chdir to chdir_long.
59442         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
59443         (restore_cwd): Use chdir_long, not chdir.
59444         * lib/chdir-long.c: Renamed from chdir.c.
59445         * lib/chdir-long.h: Renamed from chdir.h.
59446         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
59447         Hurd.
59448
59449 2005-01-18  Bruno Haible  <bruno@clisp.org>
59450
59451         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
59452         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
59453         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
59454         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
59455         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
59456         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
59457         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
59458         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
59459         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
59460         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
59461         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
59462         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
59463         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
59464         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
59465         Use an all-permissive copyright notice, recommended by RMS.
59466
59467 2005-01-18  Bob Proulx  <bob@proulx.com>
59468
59469         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
59470         simplify offsetof() macro construct to avoid compile failure with
59471         native HP-UX 11.0 ANSI C compiler.
59472
59473 2005-01-17  Bruno Haible  <bruno@clisp.org>
59474
59475         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
59476         redundant because stpncpy.m4 takes care of it.
59477
59478 2005-01-17  Bruno Haible  <bruno@clisp.org>
59479
59480         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
59481
59482 2005-01-17  Bruno Haible  <bruno@clisp.org>
59483
59484         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
59485         used.
59486
59487 2005-01-17  Bruno Haible  <bruno@clisp.org>
59488
59489         * lib/fwriteerror.h (fwriteerror): Change specification to include
59490         fclose.
59491         * lib/fwriteerror.c: Include <stdbool.h>.
59492         (fwriteerror): At the end, close the file stream. Record whether
59493         stdout was already closed.
59494
59495 2005-01-17  Bruno Haible  <bruno@clisp.org>
59496
59497         * lib/execute.c (environ): Declare if needed.
59498         * lib/pipe.c (environ): Likewise.
59499         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
59500
59501 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59502
59503         * modules/argp: Depend on vsnprintf
59504
59505 2005-01-10  Jim Meyering  <jim@meyering.net>
59506
59507         * modules/closeout (Depends-on): Add atexit.
59508
59509 2005-01-06  Bruno Haible  <bruno@clisp.org>
59510
59511         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
59512
59513 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
59514
59515         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
59516         definitions to be after all include files, to avoid collisions.
59517         Problem reported by Bob Proulx.
59518
59519 2005-01-04  Jim Meyering  <jim@meyering.net>
59520
59521         Changes imported from coreutils.
59522         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
59523         as the mkstemp template, use a temporary directory and an
59524         8.3-friendly template to avoid trouble on systems like DJGPP.
59525         Reported by Juan M. Guerrero via Stepan Kasal.
59526         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
59527         close. Remove the temporary directory right away, rather than waiting
59528         for configure's at-exit trap code to do it.
59529         Suggestion from Stepan Kasal.
59530
59531 2005-01-01  Simon Josefsson  <jas@extundo.com>
59532
59533         * gnulib-tool: Print #include directives when --import'ing.
59534
59535 2004-12-28  Simon Josefsson  <jas@extundo.com>
59536
59537         * tests/test-base64.c: Include required header files.  Remove
59538         unused variables.
59539
59540 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
59541
59542         * modules/error (Depends-on): Remove gettext.
59543
59544 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
59545
59546         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
59547         not needed.  This removes a dependency on the gettext module.
59548         [defined _LIBC]: Do not include <libintl.h>; not needed.
59549
59550 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
59551
59552         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
59553         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
59554
59555 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
59556
59557         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
59558         HAVE_DECL_STRTOLD.
59559
59560 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
59561
59562         * modules/getdate (Depends-on): Remove alloca-opt.
59563
59564 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
59565
59566         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
59567
59568 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
59569
59570         * lib/argp-parse.c: Include <stddef.h>.
59571         (alignof, alignto): New macros.
59572         (parser_init): Don't assume that void * is aligned sufficiently
59573         for struct option.
59574
59575         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
59576         need to extend the stack.
59577         (YYINITDEPTH): New macro, so that the initial stack isn't overly
59578         large.
59579
59580 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59581
59582         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
59583
59584 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
59585
59586         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
59587         (2004-10-24) change.  Apparently this was a false alarm.
59588
59589         * modules/getdate: Depend on alloca-opt, not alloca.
59590
59591 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
59592
59593         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
59594         Remove now-obsolete comment about AIX.
59595         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
59596         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
59597         (YYMAXDEPTH): New macro.
59598
59599 2004-12-18  Simon Josefsson  <jas@extundo.com>
59600
59601         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
59602
59603 2004-12-18  Bruno Haible  <bruno@clisp.org>
59604
59605         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
59606
59607 2004-12-18  Bruno Haible  <bruno@clisp.org>
59608
59609         * lib/fatal-signal.c (fatal_signals): Make non-const.
59610         (init_fatal_signals): New function.
59611         (uninstall_handlers, install_handlers): Ignore signals that were set to
59612         SIG_IGN.
59613         (at_fatal_signal): Call init_fatal_signals.
59614         (init_fatal_signal_set): Likewise. Ignore signals that were set to
59615         SIG_IGN.
59616         Reported by Paul Eggert.
59617
59618 2004-12-18  Bruno Haible  <bruno@clisp.org>
59619
59620         * doc/alloca.texi: New file.
59621         * doc/alloca-opt.texi: New file.
59622
59623 2004-12-17  Jim Meyering  <jim@meyering.net>
59624
59625         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
59626         Otherwise, install-sh could exit with improper exit status when
59627         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
59628
59629 2004-12-16  Simon Josefsson  <jas@extundo.com>
59630
59631         * tests/test-base64.c: Add license.
59632
59633 2004-12-15  Stepan Kasal  <address@hidden>
59634
59635         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
59636
59637 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
59638
59639         * modules/getcwd (Files): Add m4/d-ino.m4.
59640         Suggested by Mark D. Baushke.
59641
59642 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
59643
59644         * lib/getdate.y (textint): New member "negative".
59645         (time_zone_hhmm): New function.
59646         Expect 14 shift-reduce conflicts, not 13.
59647         (o_colon_minutes): New rule.
59648         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
59649         (yylex): Set the "negative" member of signed numbers.
59650
59651 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
59652
59653         * doc/getdate.texi (Time of day items, Time zone items):
59654         Describe new formats +00:00, UTC+00:00.
59655
59656 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
59657
59658         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
59659         spurious "-l"s.  Problem reported by Stepan Kasal.
59660
59661 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
59662
59663         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
59664         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
59665
59666 2004-12-04  Simon Josefsson  <jas@extundo.com>
59667
59668         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
59669         Vandoorselaere <yoann@prelude-ids.org>.
59670
59671 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
59672
59673         Changes imported from coreutils.
59674         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
59675         exist.
59676         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
59677
59678 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
59679
59680         Changes imported from coreutils.
59681         * lib/hard-locale.c: Assume <locale.h> exists.
59682         Include "strdup.h".
59683         (GLIBC_VERSION): New macro.
59684         (hard_locale): Assume setlocale exists.
59685         Rewrite to avoid #ifdef.
59686         Use strdup rather than malloc + strcpy.
59687         * lib/human.c: Assume <locale.h> exists.
59688         (human_readable): Assume localeconv exists.
59689
59690 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
59691
59692         * modules/hard-locale (Depends-on): Add strdup.
59693
59694 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
59695
59696         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
59697         convert T2, not T.  (Imported from libc.)
59698
59699 2004-11-30  Simon Josefsson  <jas@extundo.com>
59700
59701         * modules/restrict (License): Change to LGPL.
59702
59703 2004-11-30  Simon Josefsson  <jas@extundo.com>
59704
59705         * m4/restrict.m4: Add copyright and copying conditions.
59706
59707 2004-11-30  Simon Josefsson  <jas@extundo.com>
59708
59709         * m4/base64.m4: New file.
59710
59711 2004-11-30  Simon Josefsson  <jas@extundo.com>
59712
59713         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
59714         base64.
59715
59716         * tests/test-base64.c: New file.
59717
59718         * modules/base64: New file.
59719
59720 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
59721
59722         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
59723         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
59724
59725         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
59726
59727 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
59728
59729         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
59730         (__getcwd.c): Don't restore errno; glibc doesn't.
59731         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
59732         first, falling back to our code only if its results look suspicious.
59733         Ensure that the resulting buffer is only as large as necessary.
59734
59735         * lib/readutmp.c: Include readutmp.h first.
59736         Include <errno.h>, since readutmp.h no longer does that.
59737         * lib/readutmp.h: Don't include <errno.h>,
59738         <sys/param.h>, <time.h>; not needed to establish interface.
59739         (errno): Remove decl.
59740         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
59741         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
59742         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
59743
59744 2004-11-28  Simon Josefsson  <jas@extundo.com>
59745
59746         * lib/base64.h, base64.c: New file.
59747
59748 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
59749
59750         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
59751
59752 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
59753
59754         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
59755         (Depends-on): Remove pathmax, same.  Add mempcpy.
59756         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
59757         (Makefile.am): Append getcwd.h to lib_SOURCES.
59758         (Include): Add getcwd.h.
59759         (Maintainer): Change from Jim Meyering to "all, glibc",
59760         since getdate now uses intended-for-glibc code.
59761         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
59762         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
59763
59764 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
59765
59766         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
59767         HP's ANSI C compiler.
59768         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
59769         Declaring int functions causes warnings on some modern systems and
59770         shouldn't be needed to compile on ancient ones.
59771         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
59772         defined.
59773
59774         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
59775         with the following changes.
59776         (__set_errno): Parenthesize properly.
59777         Include <stdbool.h>.
59778         (MIN, MAX, MATCHING_INO): New macros.
59779         (__getcwd): Define with prototype, not K&R form.
59780         Use heuristics to allocate default buffer on stack if possible.
59781         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
59782         behavior, and to avoid the PATH_MAX limit when computing
59783         ../../../../...
59784         Use MATCHING_INO to compare inode number to file.
59785         Check for arithmetic overflow in size calculations.
59786         Fix bug in reallocation of dot array that caused getcwd to fail
59787         on directories nested deeper than 75.
59788         Be more careful about saving errno on error.
59789         Do not use realloc; use only free+malloc, as this is a bit
59790         more flexible and avoids a needless copy operation.
59791         Do not inspect st_dev and st_ino for symbolic links; POSIX
59792         doesn't specify the latter.
59793         Check for closedir errors.
59794         Avoid needless casts.
59795         Use "#ifdef weak_alias" around weak_alias, to be like other
59796         glibc code.
59797         The following changes to getcwd.c have effect only when used in
59798         gnulib; they have no effect inside glibc proper.
59799         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
59800         as alloca isn't used.
59801         (alloca, __alloca): Likewise.
59802         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
59803         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
59804         unconditionally, as gnulib assumes C89 or better.
59805         Do not include <sys/param.h>.
59806         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
59807         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
59808         better.
59809         (NULL) [!defined NULL]: Remove; we assume C89 or better.
59810         Include <dirent.h> in a way that is compatible with modern Autoconf.
59811         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
59812         New macros, if not already defined.
59813         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
59814         Use "_LIBC", not "defined _LIBC", for consistency.
59815         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
59816         a mempcpy module.
59817         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
59818         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
59819         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
59820         credit only to Jim Meyering and adjust the copyright dates.
59821         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
59822         <stdlib.h>, <unistd.h>, "pathmax.h".
59823         Instead, include "xgetcwd.h" (first) and "getcwd.h".
59824         (INITIAL_BUFFER_SIZE): Remove.
59825         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
59826
59827 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
59828
59829         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
59830         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
59831         Use the _ONCE methods, for efficiency.
59832         Check for fcntl.h.  In test program, include <errno.h>
59833         and <fcntl.h> if available.  Remove old K&R cruft from
59834         test program.  Check for common errors in GNU/Linux,
59835         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
59836         don't do AC_LIBOBJ, as that's getcwd.m4's job.
59837         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
59838         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
59839         name accordingly.
59840         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
59841         accommodate new getcwd.c.
59842         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
59843         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
59844         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
59845         that's all we need now.
59846
59847 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59848
59849         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
59850         argp-parse.c depends on getopt internals, that means we should
59851         always use our getopt, to be on the safe side.
59852         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
59853         order not to spoil the result of an eventual previous invocation
59854         of gl_GETOPT_SUBSTITUTE.
59855
59856 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
59857
59858         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
59859         redefinition warnings. To avoid them, include the defines
59860         in `#if !defined __need_getopt ... #endif'. The only place
59861         where __getopt_argv_const is used is in definitions
59862         of getopt_long and getopt_long_only below, which are as well
59863         protected by `#ifndef __need_getopt'.
59864         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
59865         __need_getopt after including <stdio.h> and <unistd.h> These
59866         headers might have defined it.
59867
59868 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
59869
59870         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
59871
59872 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
59873
59874         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
59875         (futimens): New function, which uses futimes if available.
59876         (futimens, utimens): Support timespec==NULL, with same semantics
59877         as utime and utimens.
59878         * lib/utimens.h (futimens): New decl.
59879
59880 2004-11-23  Jim Meyering  <jim@meyering.net>
59881
59882         * lib/getopt_.h: Remove trailing blanks.
59883
59884 2004-11-23  Jim Meyering  <jim@meyering.net>
59885
59886         * lib/__fpending.c: Add comment.
59887
59888 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
59889
59890         * modules/canonicalize (Depends-on): Add xreadlink.
59891         Problem reported by James Youngman.
59892
59893 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
59894
59895         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
59896         New macros.
59897         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
59898         optopt): Use them instead of invoking ## directly; otherwise, the
59899         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
59900
59901 2004-11-19  Bruno Haible  <bruno@clisp.org>
59902
59903         * lib/strtok_r.c: Move comments from here...
59904         * lib/strtok_r.h: ... to here.
59905
59906 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
59907
59908         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
59909         implementations that mishandle size_t overflow.
59910
59911 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
59912
59913         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
59914         might fail.  Problem reported by Yoann Vandoorselaere.
59915         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
59916         implementations that mishandle size_t overflow.
59917
59918 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59919
59920         * modules/canon-host (Depends-on): Add strdup.
59921
59922 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59923
59924         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
59925
59926 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59927
59928         * lib/canon-host.c: Include "strdup.h".
59929         (canon_host): Use getaddrinfo if available, so that IPv6 works.
59930         Use strdup instead of malloc/strcpy to duplicate strings.
59931
59932         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
59933         (human_space_before_unit): New constant.
59934         * lib/human.c (human_readable): Support it.
59935
59936         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
59937         (xgetcwd): Set errno correctly when failing.
59938         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
59939         the failure is actually due to a PATH_MAX problem.
59940
59941         Further getopt changes to make it more likely that glibc will
59942         buy the changes back.
59943         * lib/getopt.c (POSIXLY_CORRECT): New constant.
59944         (getopt): Use it, so to preserve glibc semantic
59945         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
59946         when compiling for libc.
59947         * lib/getopt_.h (__getopt_argv_const): Bring it back.
59948         (getopt_long, getopt_long_only): Use it.
59949
59950         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
59951         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
59952         (getopt): Argv is now char * const *, as per standard.
59953         (_getopt_internal_r, _getopt_internal): Argv is now char **,
59954         not char *__getopt_argv_const *.
59955         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
59956         _getopt_long_only_r): Likewise.
59957         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
59958         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
59959         _getopt_long_r, _getopt_long_only_r): Likewise.
59960         * lib/getopt_.h (__getopt_argv_const): Remove.
59961         (getopt): Argv is now char * const *, as per standard.
59962
59963         * lib/getdate.y (tORDINAL): New token.
59964         (day, relunit): Allow it for relative times.
59965         (relative_time_table): Use tORDINAL for ordinals.
59966
59967 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
59968
59969         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
59970         Document that "second" isn't allowed as an ordinal number.
59971
59972 2004-11-16  Jim Meyering  <jim@meyering.net>
59973
59974         * modules/closeout (Depends-on): Add fpending.
59975
59976 2004-11-15  Jim Meyering  <jim@meyering.net>
59977
59978         * lib/closeout.c: Include "__fpending.h" once again.
59979         Include <stdbool.h>.
59980         (close_stdout): Don't fail just because stdout was closed initially,
59981         since some programs don't write to stdout in the normal course of
59982         operation (other than --version and --help), and we don't want this
59983         function to make e.g. `touch file >&-' fail.
59984         But do fail if it was closed and someone has tried to write to it.
59985         E.g., `printf foo >&-' must fail.
59986
59987 2004-11-13  Jim Meyering  <jim@meyering.net>
59988
59989         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
59990
59991 2004-11-12  Simon Josefsson  <jas@extundo.com>
59992
59993         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
59994         small doc fix is still pending.
59995
59996 2004-11-11  Simon Josefsson  <jas@extundo.com>
59997
59998         * modules/strtok_r: New file.
59999
60000         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60001         strtok_r.
60002
60003 2004-11-11  Simon Josefsson  <jas@extundo.com>
60004
60005         * m4/strtok_r.m4: New file.
60006
60007         * m4/getopt.m4: Replace opterr.
60008
60009 2004-11-11  Simon Josefsson  <jas@extundo.com>
60010
60011         * lib/strtok_r.h, strtok_r.c: New file.
60012
60013 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
60014
60015         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
60016         of replacing opterr, getopt, etc.  This should handle the
60017         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
60018
60019 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
60020
60021         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
60022         we can stop lying to compilers about the constness of argv when we
60023         are compiled outside glibc.
60024         (getopt, getopt_long, getopt_long_only): Use it.
60025         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
60026         _getopt_internal, getopt): Likewise.
60027         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
60028         _getopt_long_only_r): Likewise.
60029         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
60030         _getopt_long_r, _getopt_long_only_r): Likewise.
60031
60032         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
60033         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
60034         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
60035         the other external symbols.
60036         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
60037         declaration, since the above renaming now works around collisions.
60038
60039 2004-11-11  Jim Meyering  <jim@meyering.net>
60040
60041         * lib/linebreak.c: Remove trailing blanks.
60042         * lib/alloca_.h: Likewise.
60043         * lib/acosl.c: Likewise.
60044         * lib/euidaccess.c: Likewise.
60045         * lib/allocsa.h: Likewise.
60046
60047 2004-11-10  Simon Josefsson  <jas@extundo.com>
60048
60049         * m4/getaddrinfo.m4: New file.
60050
60051 2004-11-10  Simon Josefsson  <jas@extundo.com>
60052
60053         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
60054
60055 2004-11-10  Simon Josefsson  <jas@extundo.com>
60056
60057         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60058         getaddrinfo.
60059
60060         * modules/getaddrinfo: New file.
60061
60062 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
60063
60064         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
60065
60066 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
60067
60068         * lib/mktime.c (SHR): New macro, which is a portable
60069         substitute for >> that should work even on Crays.
60070         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
60071         Problem reported by Mark D. Baushke in
60072         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
60073         * lib/getdate.y (SHR): Likewise.
60074         (tm_diff): Use it.
60075         * lib/strftime.c (SHR): Likewise.
60076         (tm_diff): Use it.
60077         * lib/quotearg.c (struct quoting_options): Use unsigned int for
60078         quote_these_too, so that right shifts are well defined.  All uses
60079         changed.
60080
60081 2004-11-10  Jim Meyering  <jim@meyering.net>
60082
60083         Ensure that no close failure goes unreported.
60084         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
60085         return early when it seems there's nothing to flush.
60086         Don't include __fpending.h.
60087
60088 2004-11-10  Jim Meyering  <jim@meyering.net>
60089
60090         * modules/closeout (Depends-on): Remove fpending.
60091
60092 2004-11-10  Jim Meyering  <jim@meyering.net>
60093
60094         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
60095
60096 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
60097
60098         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
60099         gl_FUNC_STRFTIME.
60100         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
60101         and AC_REQUIRE when possible, to avoid duplicate checks.
60102         Check for <wchar.h>.
60103
60104 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
60105
60106         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
60107
60108 2004-11-09  Bruno Haible  <bruno@clisp.org>
60109
60110         * m4/sockpfaf.m4: New file.
60111
60112 2004-11-05  Bruno Haible  <bruno@clisp.org>
60113
60114         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
60115         Reported by Mark D. Baushke <mdb@cvshome.org>.
60116
60117 2004-11-04  Bruno Haible  <bruno@clisp.org>
60118
60119         2004-09-11  Bruno Haible  <bruno@clisp.org>
60120                 * allocsa.valgrind: New file.
60121         2004-02-06  Bruno Haible  <bruno@clisp.org>
60122                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
60123                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
60124                 Reported by Christopher Seip <chris.seip@hp.com>.
60125
60126 2004-11-04  Bruno Haible  <bruno@clisp.org>
60127
60128         * modules/allocsa (Files): Add lib/allocsa.valgrind.
60129         (Makefile.am): Distribute it.
60130
60131 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
60132
60133         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
60134         with errno == ERANGE if the buffer is too small.
60135         Problem reported by Mark D. Baushke.
60136
60137 2004-11-03  Albert Chin  <china@thewrittenword.com>
60138             Paul Eggert  <eggert@cs.ucla.edu>
60139
60140         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
60141         equivalent, substitute $ac_type for equivalent type rather than
60142         blindly using uint32_t *always* which won't work if uint32_t is not
60143         available.  Define _UINT32_T to work around typedef of uint32_t if
60144         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
60145         2.5.1.
60146
60147 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60148
60149         * m4/jm-macros.m4: Sync from coreutils.
60150         (gl_MACROS): Check for mbrlen, for pathchk.
60151         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
60152
60153 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60154
60155         * lib/xreadlink.c (MAXSIZE): New macro.
60156         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
60157         size does not exceed MAXSIZE.  Avoid cast.
60158         As suggested by Mark D. Baushke in
60159         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
60160         if readlink fails with buffer size just under MAXSIZE, try again
60161         with MAXSIZE.
60162
60163 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
60164
60165         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
60166
60167 2004-11-02  Derek R. Price  <derek@ximbiot.com>
60168         and  Paul Eggert  <eggert@cs.ucla.edu>
60169
60170         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
60171         (get_date): Overparenthesize to avoid GCC warning.
60172
60173 2004-11-02  Bruno Haible  <bruno@clisp.org>
60174
60175         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
60176         returns void.
60177
60178 2004-11-02  Bruno Haible  <bruno@clisp.org>
60179
60180         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
60181         function returns void.
60182
60183 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60184
60185         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
60186         fflush_unlocked, flockfile, funlockfile, funlockfile,
60187         fputs_unlocked, putc_unlocked.
60188
60189 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
60190
60191         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
60192         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
60193         already declared.
60194
60195 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60196
60197         * modules/getdate (Files): Add doc/getdate.texi.
60198         (Depends-on): Add setenv, xalloc.
60199
60200 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60201
60202         * lib/getdate.y: Add support for TZ="foo" within a date string.
60203         Fix some bugs near time_t boundaries.  Reject dates with
60204         out-of-range components, e.g., "Sept 31".
60205         Include <stdlib.h>, "setenv.h", "xalloc.h".
60206         (ISDIGIT_LOCALE): Remove; unused.
60207         Note that the TZ and time functions used here are not reentrant.
60208         (mktime_ok, get_tz): New functions.
60209         (TZBUFSIZE): New constant.
60210         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
60211         This requires that we sometimes generate our own TZ="XXX..." setting.
60212
60213 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
60214
60215         * doc/getdate.texi: New file, from coreutils with modifications for
60216         the new TZ parsing.
60217
60218 2004-10-27  Derek R. Price  <derek@ximbiot.com>
60219
60220         * lib/mktime.c (not_equal_tm): Remove redundant check.
60221
60222 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60223
60224         * modules/regex (lib_SOURCES): Add regex.c.
60225         Reported by James Youngman in
60226         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
60227
60228 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
60229
60230         * lib/getdate.y: Use Bison 1.875 features, and some minor
60231         code cleanups.  This change does not affect semantics.
60232         Don't include <stdlib.h>; no longer needed.
60233         Don't include unlocked-io.h; only the "#if TEST" code uses
60234         stdio, and performance isn't crucial there.
60235         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
60236         Bison 1.875 features as described below.
60237         All uses of "PC." replaced by "pc->".
60238         (YYSTYPE): Add a forward declaration.
60239         (yylex, yyerror): Use full prototypes in forward decls.
60240         Use "%pure-parser" rather than obsolescent "%pure_parser".
60241         Use %parse-param and %lex-param instead of obsolescent
60242         YYPARSE_PARAM and YYLEX_PARAM.
60243         (meridian_table, month_and_day_table, time_units_table,
60244         relative_time_table, time_zone_table, military_table,
60245         lookup_zone, lookup_word, get_date):
60246         Use NULL instead of 0 where appropriate.
60247         (to_hour): Avoid abort (), to avoid a dependency on
60248         stdlib.h.
60249         (yyerror, yylex): Now accepts parser_control * arg.
60250         (main) [TEST]: Use '\0' rather than 0 for char.
60251
60252 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60253
60254         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
60255
60256 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
60257
60258         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
60259         It's now the caller's responsibility to handle the case where
60260         !HAVE_GETPAGESIZE && !defined getpagesize.
60261
60262         * lib/mktime.c (leapyear): Arg is long int, not int.
60263
60264 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
60265
60266         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
60267
60268 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
60269
60270         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
60271         missing.  Problem reported by James Youngman.
60272
60273 2004-10-16  Simon Josefsson  <jas@extundo.com>
60274
60275         * gnulib-tool: Fix comments.  Fix parse problem.
60276         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
60277
60278 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
60279
60280         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
60281         implementation of getopt_long.  Problem reported by Alexander Taler in:
60282         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
60283
60284 2004-10-15  Bruno Haible  <bruno@clisp.org>
60285
60286         * gnulib-tool: Untabify. Initialize supplied_libname.
60287         (func_usage): More homogenous output.
60288         (func_modules_transitive_closure, func_modules_to_filelist,
60289         func_emit_lib_Makefile_am): New functions.
60290         (func_import): New function, extracted from big case statement. Use
60291         func_get_license, func_modules_transitive_closure,
60292         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
60293         opt_lgpl. Don't use test -a, as it's not portable.
60294         (func_create_testdir): Use func_modules_transitive_closure,
60295         func_modules_to_filelist, func_emit_lib_Makefile_am.
60296
60297 2004-10-15  Bruno Haible  <bruno@clisp.org>
60298
60299         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
60300
60301 2004-10-15  Bruno Haible  <bruno@clisp.org>
60302
60303         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
60304         the portions belonging to each module.
60305         Suggested by Derek Robert Price <derek@ximbiot.com>.
60306
60307 2004-10-12  Simon Josefsson  <jas@extundo.com>
60308
60309         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
60310         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
60311         to real functions.
60312
60313 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60314
60315         * modules/vsnprintf: New file.
60316
60317 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60318
60319         * m4/vsnprintf.m4: New file.
60320
60321 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60322
60323         * lib/vsnprintf.h: New file.
60324         * lib/vsnprintf.c: New file.
60325
60326 2004-10-11  Bruno Haible  <bruno@clisp.org>
60327
60328         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
60329         vsnprintf.
60330
60331 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
60332
60333         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
60334
60335 2004-10-07  Bruno Haible  <bruno@clisp.org>
60336
60337         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
60338         fits into the provided buffer.
60339
60340 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
60341
60342         * lib/diacrit.c, diacrit.h: Add GPL notice.
60343
60344         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
60345         notice.
60346         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
60347         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
60348         This avoids a potential constant-folding bug.
60349
60350 2004-10-05  Bruno Haible  <bruno@clisp.org>
60351
60352         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
60353         for the declaration of strsep.
60354
60355 2004-10-05  Bruno Haible  <bruno@clisp.org>
60356
60357         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
60358
60359 2004-10-04  Simon Josefsson  <jas@extundo.com>
60360
60361         * modules/memmem: New file.
60362         * tests/test-memmem.c: New file.
60363         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
60364
60365 2004-10-04  Simon Josefsson  <jas@extundo.com>
60366
60367         * m4/memmem.m4: New file.
60368
60369 2004-10-04  Simon Josefsson  <jas@extundo.com>
60370
60371         * lib/memmem.h: New file.
60372         * lib/memmem.c: New file, taken from glibc.
60373
60374 2004-10-04  Simon Josefsson  <jas@extundo.com>
60375
60376         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
60377         '#ifdef USE_UNLOCKED_IO'.
60378
60379 2004-10-04  Simon Josefsson  <jas@extundo.com>
60380
60381         * config/srclist.txt: Add memmem from glibc.
60382
60383 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
60384
60385         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
60386
60387         * modules/argmatch, modules/argp, modules/closeout, modules/error,
60388         modules/exclude, modules/getdate, modules/getline,
60389         modules/getndelim2, modules/getpass, modules/getpass-gnu,
60390         modules/getusershell, modules/linebuffer, modules/md5,
60391         modules/mountlist, modules/posixtm, modules/readtokens,
60392         modules/readutmp, modules/regex, modules/sha1,
60393         modules/version-etc, modules/yesno:
60394         Remove dependency on unlocked-io.
60395
60396 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
60397
60398         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
60399
60400         * m4/unlocked-io.m4: Add copyright notice.
60401         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
60402
60403 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
60404
60405         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
60406         * lib/xmalloc.c (xmemdup): Likewise.
60407         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
60408         XFREE): Remove these long-obsolescent macros.
60409         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
60410         * lib/xstrdup.c: Remove.
60411
60412         * lib/regex.c (re_comp): Cast gettext return value to char *,
60413         Problem reported by Martin Neitzel via Mark D. Baushke.
60414
60415 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
60416
60417         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
60418         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
60419         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
60420         regex.c, sha1.c, version-etc.c, yesno.c:
60421         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
60422         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
60423         the includer's responsibility.
60424
60425         Sync from coreutils.
60426
60427         * lib/modechange.c (mode_compile): Don't decrement a pointer that
60428         points to the start of a string, as the C Standard says the
60429         resulting behavior is undefined.
60430
60431         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
60432         simple -> simple_backups, numbered_existing ->
60433         numbered_existing_backups, numbered -> numbered_backups
60434         to avoid shadowing problems.  All uses changed.
60435         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
60436         * lib/backupfile.c (check_extension, numbered_backup):
60437         Rename locals to avoid shadowing 'basename'.
60438         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
60439         once.
60440
60441         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
60442         * lib/.cvsignore: Add getopt.h.
60443
60444 2004-10-04  Bruno Haible  <bruno@clisp.org>
60445
60446         * modules/README: New file.
60447         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
60448         not a module.
60449
60450 2004-10-02  Jim Meyering  <jim@meyering.net>
60451
60452         * lib/dirfd.h, getpagesize.h: Add copyright notice.
60453
60454 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60455
60456         * modules/strsep: New file.
60457
60458 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60459
60460         * m4/strsep.m4: New file.
60461
60462 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
60463
60464         * lib/strsep.h: New file.
60465         * lib/strsep.c: New file.
60466
60467 2004-10-01  Simon Josefsson  <jas@extundo.com>
60468
60469         * lib/snprintf.c (snprintf): Handle size==0.
60470
60471 2004-10-01  Simon Josefsson  <jas@extundo.com>
60472             Bruno Haible  <bruno@clisp.org>
60473
60474         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
60475         (snprintf): Declare 'args'.
60476
60477 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
60478
60479         * lib/snprintf.c: Remove comments as to why each header is needed.
60480
60481 2004-10-01  Bruno Haible  <bruno@clisp.org>
60482
60483         * MODULES.html.sh: Add strsep.
60484
60485 2004-09-30  Simon Josefsson  <jas@extundo.com>
60486
60487         * modules/snprintf: New file.
60488
60489 2004-09-30  Simon Josefsson  <jas@extundo.com>
60490
60491         * m4/snprintf.m4: New file.
60492
60493 2004-09-30  Simon Josefsson  <jas@extundo.com>
60494
60495         * lib/snprintf.h, lib/snprintf.c: New files.
60496
60497 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
60498
60499         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
60500         (hol_entry_help): Never translate an empty string.
60501         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
60502         * lib/argp.h (OPTION_NO_TRANS): New option.
60503
60504 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
60505
60506         * modules/argp (Maintainer): Replace Simon Josefsson
60507         by Sergey Poznyakoff.
60508
60509 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
60510
60511         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
60512         changes merged back into glibc.
60513
60514 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
60515
60516         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
60517
60518 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
60519
60520         * lib/xvasprintf.c: Include xalloc.h.
60521         (xvasprintf): Use xalloc_die, not xmalloc_die.
60522
60523 2004-09-29  Bruno Haible  <bruno@clisp.org>
60524
60525         * modules/alloca-opt: New file, derived from modules/alloca.
60526         * modules/allocsa: Depend on alloca-opt instead of alloca.
60527         * modules/setenv: Likewise.
60528         * modules/vasnprintf: Likewise.
60529         * MODULES.html.sh: Add alloca-opt.
60530
60531 2004-09-28  Simon Josefsson  <jas@extundo.com>
60532
60533         * gnulib-tool: New parameter --lgpl, to asseert that modules are
60534         LGPL, and to replace license template from GPL to LGPL.
60535
60536 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
60537
60538         * modules/dummy: Change license to LGPL.
60539
60540 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
60541
60542         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
60543
60544 2004-09-24  Simon Josefsson  <jas@extundo.com>
60545
60546         * modules/minmax (License): Change from GPL to LGPL.
60547
60548 2004-09-23  Simon Josefsson  <jas@extundo.com>
60549
60550         * gnulib-tool (--import): Typo.
60551
60552 2004-09-23  Simon Josefsson  <jas@extundo.com>
60553
60554         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
60555
60556 2004-09-22  Bruno Haible  <bruno@clisp.org>
60557
60558         * modules/*: Add 'License' field.
60559         * gnulib-tool: Accept --extract-license option.
60560         (func_get_license): New function.
60561
60562 2004-09-21  Bruno Haible  <bruno@clisp.org>
60563
60564         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
60565         Reported by Simon Josefsson.
60566
60567 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
60568
60569         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
60570         gl_AC_TYPE_LONG_LONG.
60571
60572 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
60573
60574         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
60575
60576 2004-09-18  Simon Josefsson  <jas@extundo.com>
60577         and  Paul Eggert  <eggert@cs.ucla.edu>
60578
60579         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
60580         calls with autoreconf.  Define GL_LIB.
60581
60582 2004-09-14  Karl Berry  <karl@gnu.org>
60583
60584         * config/srclist.txt: unsync setenv.c, sigh.
60585
60586 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
60587
60588         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
60589         Problem reported by Bruno Haible in:
60590         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
60591
60592 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
60593
60594         * config/srclist.txt: Comment out argp-pvh.c.
60595
60596 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
60597
60598         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
60599         in case some system header has #define'd it.  Problem reported by
60600         Soeren D. Schulze in
60601         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
60602
60603 2004-09-09  Karl Berry  <karl@gnu.org>
60604
60605         * regex.[ch]: delete from the root.  These were supposed to be
60606                 synced with emacs cvs, but this has not happened for about
60607                 a year, and anyway nothing else uses emacs regex.[ch].
60608                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
60609                 lib/regex[.ch] is untouched.
60610
60611 2004-09-09  Bruno Haible  <bruno@clisp.org>
60612
60613         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
60614
60615 2004-09-09  Bruno Haible  <bruno@clisp.org>
60616
60617         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
60618         modifications.
60619         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
60620
60621 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
60622
60623         * modules/xvasprintf: New file.
60624         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
60625
60626 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
60627
60628         * lib/xvasprintf.h: New file.
60629         * lib/xvasprintf.c: New file.
60630         * lib/xasprintf.c: New file.
60631
60632 2004-09-08  Bruno Haible  <bruno@clisp.org>
60633
60634         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
60635
60636 2004-09-08  Bruno Haible  <bruno@clisp.org>
60637
60638         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
60639         length is > INT_MAX.
60640         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
60641         more.
60642
60643 2004-09-08  Bruno Haible  <bruno@clisp.org>
60644
60645         * lib/stdint_.h: New file, taken from GNU clisp.
60646
60647 2004-09-08  Bruno Haible  <bruno@clisp.org>
60648             Oskar Liljeblad  <oskar@osk.mine.nu>
60649
60650         * modules/stdint: New file.
60651         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
60652
60653 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60654
60655         Import from coreutils.
60656         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
60657         strings on unbounded length.  alloca's performance benefits aren't
60658         that important here.
60659         (V_STRDUP): Remove.
60660         (parse_with_separator): New function, with most of the internals
60661         of the old parse_user_spec.  Allow user to omit both user and group,
60662         for compatibility with FreeBSD.
60663         Clone only the user name, not the entire spec.
60664         Do not set *uid, *gid unless entirely successful.
60665         Avoid memory leak in some failing cases.
60666         Fix regression for USER.GROUP reported by Dmitry V. Levin in
60667         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
60668         (parse_user_spec): Rewrite to use parse_with_separator.
60669
60670 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60671
60672         * modules/userspec: Don't depend on alloca.
60673
60674 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
60675
60676         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
60677
60678 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
60679
60680         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
60681         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
60682         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
60683
60684 2004-08-16  Simon Josefsson  <jas@extundo.com>
60685
60686         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
60687         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
60688         Add --dry-run for --import.
60689         Let user provided command line parameters override configure.ac
60690         settings.
60691
60692 2004-08-12  Simon Josefsson  <jas@extundo.com>
60693
60694         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
60695         as discussed with Paul Eggert in threads rooted at
60696         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
60697         and
60698         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
60699         Before, the test was empty, and relied on ELIDE_CODE in source
60700         code.)
60701         (gl_PREREQ_GETOPT): New macro.
60702         (gl_GETOPT): Use them.
60703
60704 2004-08-12  Simon Josefsson  <jas@extundo.com>
60705
60706         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
60707         * lib/getopt_.h: Renamed from getopt.h.
60708
60709 2004-08-12  Simon Josefsson  <jas@extundo.com>
60710
60711         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
60712         Change default library name from libfoo to libgnu.
60713         Now, if you have a configure.ac that says:
60714                 gl_SOURCE_BASE(gl)
60715                 gl_M4_BASE(gl/m4)
60716                 gl_MODULES(error getopt etcetera)
60717                 gl_INIT
60718         you can import all you need by running:
60719                 ../gnulib/gnulib-tool --import
60720
60721         * modules/getopt (Files): Rename getopt.h to getopt_.h.
60722         (Makefile.am): Rewrite, use logic from argz.
60723         (Include): Use <getopt.h> instead of "getopt.h".
60724
60725 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
60726
60727         * modules/argp (Files): Add m4/unlocked-io.m4.
60728         (Depends-on): Add extensions.
60729
60730 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
60731
60732         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
60733         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
60734         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
60735         Check for program_invocation_name, program_invocation_short_name,
60736         flockfile, funlockfile, features.h, _getopt_long_only_r.
60737
60738 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
60739
60740         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
60741         its complicated substitute.
60742         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
60743         and program_invocation_name.
60744         (__argp_basename) [!_LIBC]: Remove; the only use was
60745         replaced by its body.
60746         (__argp_short_program_name): Change condition from
60747         !defined __argp_short_program_name to
60748         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
60749         to match argp-namefrob.h.
60750         (__argp_failure): Don't assume strerror_r returns char *.
60751         * lib/argp-parse.c (N_): Define unconditionally.
60752         (argp_default_options): Fill out initializers with 0 to avoid
60753         gcc warnings.
60754
60755 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
60756
60757         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
60758         getopt1.c.
60759
60760 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60761
60762         Merge from coreutils.
60763
60764         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
60765
60766         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
60767         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
60768
60769 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60770
60771         Merge from coreutils.
60772
60773         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
60774         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
60775         for Reliant Unix 5.43.
60776
60777         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
60778         (union fooround): Use uintmax_t, not long int.
60779         The rest is a merge from libc:
60780         [defined _LIBC]: Include <shlib-compat.h>.
60781         (_obstack) [defined _LIBC]: Remove after 2.3.4.
60782
60783         * lib/settime.c (settime): Recode to avoid warning with
60784         Sun Forte C 6U2.
60785
60786         * lib/strverscmp.c: Convert to UTF-8.
60787
60788 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
60789
60790         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
60791         m4/uintmax_t.m4.
60792
60793 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60794
60795         * modules/xalloc-die: New file.
60796         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
60797
60798         * modules/md5 (Files): Add m4/uint32_t.m4.
60799         * modules/sha1: Renamed from modules/sha.
60800         (Files):
60801         Rename lib/sha.h to lib/sha1.h.
60802         Rename lib/sha.c to lib/sha1.c.
60803         Rename m4/sha.m4 to m4/sha1.m4.
60804         (lib_SOURCES): Likewise.
60805         (configure.ac): Rename gl_SHA to gl_SHA1.
60806         (Include): sha.h -> sha1.h.
60807
60808 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60809
60810         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
60811         * m4/sha1.m4: Renamed from sha.m4.
60812         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
60813
60814 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
60815
60816         * lib/obstack.h (obstack_empty_p):
60817         Don't assume that chunk->contents is suitably aligned.
60818         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
60819         Likewise. Problem reported by Benno in
60820         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
60821
60822         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
60823         readable.  This could be improved further but it'd take some work.
60824
60825 2004-08-08  Simon Josefsson  <jas@extundo.com>
60826
60827         * modules/xgethostname (Depends-on): Remove exit and error (not
60828         used).
60829
60830         * modules/getpass-gnu: Add getpass.h.
60831         (Depends-on): Add stdbool.
60832         * modules/getpass: Add getpass.h.
60833
60834 2004-08-08  Simon Josefsson  <jas@extundo.com>
60835
60836         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
60837         Check getpass declaration.
60838
60839 2004-08-08  Simon Josefsson  <jas@extundo.com>
60840
60841         * lib/xgethostname.c: Don't include error.h (not used).
60842
60843         * lib/getpass.h: Add.
60844         * lib/getpass.c: Include getpass.h first.
60845
60846 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
60847
60848         * lib/xalloc-die.c: New file.
60849         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
60850         All uses removed.
60851         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
60852         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
60853         xalloc-die.c.
60854         (_, N_, xalloc_die): Move to xalloc-die.c.
60855         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
60856         so that we needn't mess with xalloc_msg_memory_exhausted.
60857
60858         * lib/sha1.h: Renamed from sha.h.
60859         (SHA1_H): Renamed from _SHA_H.
60860         (sha1_ctx): Renamed from sha_ctx.
60861         (sha1_init_ctx): Renamed from sha_init_ctx.
60862         (sha1_process_block): Renamed from sha_process_block.
60863         (sha1_process_bytes): Renamed from sha_process_bytes.
60864         (sha1_finish_ctx): Renamed from sha_finish_ctx.
60865         (sha1_read_ctx): Renamed from sha_read_ctx.
60866         (sha1_stream): Renamed from sha_stream.
60867         (sha1_buffer): Renamed from sha_buffer.
60868         * lib/sha1.c: Likewise; renamed from sha.c.
60869         Do not include <sys/types.h>.
60870         Include <stddef.h> rather than <stdlib.h>.
60871
60872 2004-08-08  Bruno Haible  <bruno@clisp.org>
60873
60874         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
60875         FILESYSTEM_PREFIX_LEN.
60876         * lib/progreloc.c: Likewise.
60877         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
60878
60879 2004-08-06  Simon Josefsson  <jas@extundo.com>
60880
60881         * modules/progname (Depends-on): Don't depend on stdbool.
60882
60883 2004-08-06  Simon Josefsson  <jas@extundo.com>
60884
60885         * modules/getsubopt: New file.
60886         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
60887         getsubopt.
60888
60889 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60890
60891         More merge from coreutils.
60892
60893         * m4/utimens.m4, m4/utimecmp.m4: New files.
60894         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
60895         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
60896         prereq.m4, sha.m4: Import changes from coreutils.
60897
60898 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60899
60900         More merge from coreutils.
60901         * modules/raise, modules/readtokens0, modules/utimens:
60902         * modules/utimecmp, module/xnanosleep: New files.
60903         * modules/strftime: Add lib/strftime.h.
60904         Change include from <time.h> to "strftime.h".
60905         * modules/yesno: Add lib/yesno.h.
60906         * modules/backupfile: Remove lib/addext.c.
60907         * modules/euidaccess: Add stat-macros.h.
60908         * modules/canonicalize, modules/euidaccess,
60909         modules/filemode, modules/lchown, modules/makepath,
60910         modules/rmdir, modules/stat: Likewise.
60911
60912 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
60913
60914         Merge from tar.
60915         * lib/argp-help.c (make_hol, hol_append): Don't assume that
60916         SIZE_MAX is a valid preprocessor constant.
60917         (__argp_basename): Change from "#ifndef _LIBC"
60918         to "#ifndef __argp_short_program_name", so that
60919         we don't compile these functions for tar.
60920
60921         More merges from coreutils.
60922         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
60923         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
60924         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
60925         * lib/addext.c: Remove; no longer needed.
60926         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
60927         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
60928         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
60929         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
60930         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
60931         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
60932         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
60933         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
60934         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
60935         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
60936         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
60937         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
60938         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
60939         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
60940         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
60941         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
60942         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
60943         Import changes from coreutils.
60944
60945 2004-08-05  Simon Josefsson  <jas@extundo.com>
60946
60947         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
60948
60949 2004-08-05  Simon Josefsson  <jas@extundo.com>
60950
60951         * m4/getsubopt.m4: New file.
60952
60953 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
60954
60955         Merge from coreutils.
60956
60957         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
60958         * m4/getcwd-path-max.m4: New files.
60959
60960         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
60961         FILESYSTEM_PREFIX_LEN ->
60962         FILE_SYSTEM_PREFIX_LEN.
60963         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
60964         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
60965         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
60966         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
60967
60968         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
60969         prerequisite modules now handle the DOS stuff.
60970         Don't check for unistd.h.
60971
60972 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
60973
60974         Merge from coreutils.
60975
60976         * lib/.gdb-history: Remove; this doesn't belong here.
60977
60978         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
60979         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
60980         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
60981         * lib/getcwd.c: New files.
60982
60983         * lib/dirname.h: Include <stdbool.h>.
60984         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
60985         for consistency with POSIX terminology.  All uses changed.
60986         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
60987         (strip_trailing_slashes): Use bool for booleans.
60988         * lib/stripslash.c (strip_trailing_slashes): Likewise.
60989
60990         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
60991         sometimes returns a positive errno value even when it succeeds.
60992         (print_errno_message) [!LIBC]: Fall back on strerror if
60993         __strerror_r fails.
60994
60995         * lib/path-concat.c (mempcpy): Don't define if a system header defines
60996         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
60997         (longest_relative_suffix): New function.
60998         (path_concat): Use it.  Assume first argument is not NULL.
60999         Port to DOS.  Omit redundant separators.
61000         Report an error instead of returning NULL.
61001         Use mempcpy instead of memcpy.
61002         (xpath_concat): Remove: not declared or used.
61003
61004         * lib/same.h: Include <stdbool.h>
61005         (same_name): Return bool, not int.
61006         * lib/same.c (same_name): Likewise.
61007         (errno): Don't declare; we assume C89 or better now.
61008
61009         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
61010         if not already defined.
61011
61012         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
61013         * lib/dup-safer.c (errno): Likewise.
61014
61015 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
61016
61017         Merge from coreutils.
61018         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
61019         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
61020         * modules/path-concat: Don't depend on strdup.
61021
61022 2004-08-03  Simon Josefsson  <jas@extundo.com>
61023
61024         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
61025         * lib/progname.h: Don't include stdbool.h.
61026
61027 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
61028
61029         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
61030         * MODULES.html.sh (func_all_modules): Remove fatal.
61031
61032 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
61033
61034         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
61035
61036 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
61037
61038         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
61039         working.
61040
61041 2004-08-02  Simon Josefsson  <jas@extundo.com>
61042
61043         * lib/getsubopt.h: New file, with comments from Bruno Haible.
61044         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
61045         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
61046
61047 2004-08-01  Simon Josefsson  <jas@extundo.com>
61048
61049         * lib/xgetdomainname.c: Include stdlib.h, for free().
61050
61051 2004-07-19  Bruno Haible  <bruno@clisp.org>
61052
61053         * MODULES.html.sh (func_all_modules): Add dummy.
61054
61055 2004-07-16  Simon Josefsson  <jas@extundo.com>
61056
61057         * modules/dummy: New file.
61058
61059 2004-07-16  Simon Josefsson  <jas@extundo.com>
61060
61061         * lib/dummy.c: New file.
61062
61063 2004-07-16  Bruno Haible  <bruno@clisp.org>
61064
61065         * lib/backupfile.h: Add extern "C" for C++.
61066         * lib/closeout.h: Likewise.
61067         * lib/copy-file.h: Likewise.
61068         * lib/findprog.h: Likewise.
61069         * lib/full-write.h: Likewise.
61070         * lib/pathname.h: Likewise.
61071         * lib/progname.h: Likewise.
61072         * lib/stpcpy.h: Likewise.
61073         * lib/stpncpy.h: Likewise.
61074         * lib/strcase.h: Likewise.
61075         * lib/strstr.h: Likewise.
61076         * lib/xalloc.h: Likewise.
61077
61078         * lib/mbswidth.h: Add extern "C" for C++.
61079         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
61080
61081 2004-07-13  Robert Millan  <robertmh@gnu.org>
61082
61083         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
61084
61085 2004-07-09  Simon Josefsson  <jas@extundo.com>
61086
61087         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
61088         failed without this.)
61089
61090 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61091
61092         * modules/chown (Files): Add lib/fchown-stub.c, since
61093         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
61094
61095 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
61096
61097         * lib/fchown-stub.c: New file.
61098
61099 2004-06-24  Jim Meyering  <jim@meyering.net>
61100
61101         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
61102
61103 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61104
61105         * modules/argz: Omit "#include".
61106
61107         * MODULES.html.sh (func_all_modules): Add calloc, to match
61108         2004-06-01 addition of calloc module.
61109
61110 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61111
61112         * m4/argz.m4: New file, which is autoupdated from libtool.
61113
61114 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61115
61116         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
61117         libtool.
61118
61119 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
61120
61121         * config/srclist-update: Don't insist on "USA." before the
61122         close-comment, as libtool omits the period and puts the */ on a
61123         separate line.
61124         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
61125         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
61126
61127 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
61128
61129         * modules/argz: New file.
61130         * MODULES.html.sh (func_all_modules): Add argz.
61131
61132 2004-06-12  Jim Meyering  <jim@meyering.net>
61133         and  Paul Eggert  <eggert@cs.ucla.edu>
61134
61135         * modules/hash (Files): Add lib/xalloc.h.
61136         * modules/pipe (Depends-on): Add wait-process.
61137         * modules/stat (Depends-on): Add xalloc.
61138         * modules/userspec (Files): Add lib/userspec.h.
61139         * modules/xstrto
61140
61141         Upgrade from gettext-0.13.
61142         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
61143         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
61144         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
61145
61146 2004-06-10  Jim Meyering  <jim@meyering.net>
61147
61148         * lib/calloc.c: New file.
61149
61150 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
61151
61152         * lib/getdate.y (yylex): Allow space between sign and number.
61153         Problem reported by Dan Jacobson.
61154
61155 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
61156
61157         Merge from coreutils CVS.
61158
61159         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
61160         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
61161         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
61162         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
61163         xstrtol.m4: Fix copyright date and/or serial number.
61164
61165         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
61166         See if we need an fchown replacement.
61167         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
61168         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
61169         and use the replacement function if we detect either defect.
61170
61171         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
61172         gl_UTIMECMP.
61173
61174 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
61175         and  Jim Meyering  <jim@meyering.net>
61176
61177         Merge from coreutils CVS.
61178
61179         * lib/stat-macros.h: New file, with contents from file-type.h
61180         and coreutils' system.h.
61181         * lib/file-type.c: Include "stat-macros.h".
61182         * lib/file-type.h (file_type): Move all macro definitions to new file,
61183         stat-macros.h.
61184
61185         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
61186         Wrap old code with this conditional.
61187         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
61188         function that does not dereference symlinks.
61189         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
61190
61191         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
61192         dependency problems.
61193         (xreadlink): Accept new arg SIZE, for efficiency.
61194         All decls and uses changed.
61195         * lib/xreadlink.h: Include <stddef.h>, for size_t.
61196
61197         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
61198         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
61199
61200         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
61201         sysexits.h.
61202
61203 2004-06-01  Jim Meyering  <jim@meyering.net>
61204
61205         * m4/calloc.m4: New file.
61206
61207 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
61208
61209         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
61210         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
61211         Also, fix a typo in a diagnostic.
61212
61213 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
61214
61215         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
61216         or AC_FUNC_REALLOC.
61217
61218 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
61219
61220         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
61221         macros to be defined.
61222         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
61223         the allocator returns NULL because the requested size is zero.
61224
61225 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
61226
61227         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
61228         var.  Add comment explaining why libc still defines it.  This
61229         merges the following patch from glibc:
61230         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
61231
61232 2004-05-20  Andreas Schwab  <schwab@suse.de>
61233
61234         * m4/free.m4: Replace free if it not known to work, not the other
61235         way round.
61236
61237 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
61238
61239         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
61240         present in glibc since revision 1.1 of this file.
61241         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
61242         obstack_alignment_mask, obstack_alloc, obstack_base,
61243         obstack_blank, obstack_blank_fast, obstack_chunk_size,
61244         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
61245         obstack_grow0, obstack_init, obstack_int_grow,
61246         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
61247         obstack_next_free, obstack_object_size, obstack_ptr_grow,
61248         obstack_ptr_grow_fast, obstack_room): Remove declarations of
61249         nonexistent functions.
61250
61251 2004-05-18  Karl Berry  <karl@gnu.org>
61252
61253         * config/srclist.txt: break link for vasnprintf.c.
61254
61255 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61256
61257         Port obstack to the AS/400, where pointers are 16 bytes wide and
61258         you cannot cast an integer to a valid pointer.  This patch is
61259         currently waiting to be integrated into glibc; see
61260         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
61261
61262         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
61263         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
61264         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
61265         (struct obstack): temp member is now a union of a pointer and
61266         an integer, instead of an integer.  All integer uses changed.
61267         This does not affect the physical layout of struct obstack,
61268         except on hosts (like the AS/400) where the size or alignment of
61269         void * is greater than that of ptrdiff_t.
61270         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
61271         __STDC__)]: Store temporary in pointer member of union, not
61272         integer member.
61273         * lib/obstack.c: Include <stddef.h>, for offsetof.
61274         (struct fooalign): Remove; it doesn't need a name.
61275         (union fooround): Change double to long double, and add void *.
61276         (DEFAULT_ALIGNMENT): Use offsetof to compute.
61277         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
61278         not a macro.  Hence the values are always int; so remove all
61279         casts-to-int in uses.
61280
61281 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
61282
61283         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
61284         we can get this patch merged into glibc.
61285
61286 2004-05-17  Derek R. Price  <derek@ximbiot.com>
61287             Paul Eggert  <eggert@cs.ucla.edu>
61288
61289         * m4/argp: Depend on alloca.
61290
61291 2004-05-17  Derek R. Price  <derek@ximbiot.com>
61292             Paul Eggert  <eggert@cs.ucla.edu>
61293
61294         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
61295         freecoding.
61296
61297 2004-05-17  Bruno Haible  <bruno@clisp.org>
61298
61299         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
61300         precision that consists of a '.' followed by an empty digit string.
61301         Patch by Tor Lillqvist <tml@iki.fi>.
61302
61303 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61304
61305         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
61306         for backward compatibility with older code.  We need our own
61307         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
61308         it under some other name, and our alloca.h will define it.
61309
61310 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
61311             Derek Price  <derek@ximbiot.com>
61312
61313         * lib/alloca.c: Include <alloca.h>, to get our interface.
61314         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
61315         include <alloca.h> first.  Use C89 prototype for alloca; this
61316         requires including <stddef.h> for size_t.  Use extern "C" if C++.
61317         Use #elif for simplicity, since we can assume C89 now.
61318         Don't try to source the system alloca.h since it will not be found
61319         and to prevent recursively including its replacement.
61320         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
61321         * lib/regex.c: Likewise.
61322
61323 2004-05-16  Derek Price  <derek@ximbiot.com>
61324             Paul Eggert  <eggert@cs.ucla.edu>
61325
61326         getline cleanup.  This changes the getndelim2 API: both order of
61327         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
61328         no delimiter).
61329
61330         * lib/getline.c: Don't include stddef.h or stdio.h, since our
61331         interface does that.
61332         (getline): Always use getdelim, so that we don't have two
61333         copies of this code.
61334         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
61335         if available.
61336         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
61337         (GETNDELIM2_MAXIMUM): New macro.
61338         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
61339         instead of the old practice of delim2==0.  All callers changed.
61340         Return -1 on overflow, instead of returning junk.
61341         Do not set *linesize unless allocation succeeds.
61342         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
61343         that we include sys/types.h.
61344         * lib/getnline.h: Likewise.
61345         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
61346         (getndelim2): Reorder arguments.
61347         * lib/getnline.c (getnline, getndelim):
61348         Don't discard the NMAX argument.
61349         (getnline): Invoke getndelim, to avoid code duplication.
61350         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
61351         of (size_t) -1 by callers of the getnline family.
61352
61353 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
61354
61355         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
61356         Check for gettimeofday.
61357         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
61358         Check for settimeofday, stime.
61359
61360 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
61361
61362         * lib/nanosleep.c (suspended): Change its type from int to
61363         sig_atomic_t volatile.
61364         (first_call): Make it private to rpl_nanosleep, and have it
61365         be zero initially as that's a bit faster.
61366         (my_usleep): Round up fractional times instead of truncating them,
61367         as this is the usual meaning for 'sleep'.
61368
61369         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
61370         doesn't work.
61371         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
61372         (ENOSYS): Define if not defined.
61373         (settime): Fall back on stime if it exists and settimeofday fails.
61374         But don't bother with fallbacks if a method fails with errno == EPERM.
61375
61376 2004-05-11  Jim Meyering  <jim@meyering.net>
61377
61378         Prior to this change, the save_cwd caller required read access to the
61379         current directory on most systems (ones with the fchdir function).
61380
61381         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
61382         fails, try write-only, and finally, resort to using xgetcwd.
61383
61384 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
61385
61386         * lib/obstack.c, obstack.h: Import changes from libc.
61387
61388 2004-04-28  Bruno Haible  <bruno@clisp.org>
61389
61390         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
61391         also implicitly appends .exe to executables.
61392         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
61393         accepts Windows pathnames.
61394         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
61395         Treat Cygwin like Windows, since it now accepts Windows pathnames.
61396         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
61397         Treat Cygwin like Windows, since it now accepts Windows pathnames.
61398         Reported by Derek Robert Price <derek@ximbiot.com>.
61399
61400 2004-04-21  Karl Berry  <karl@gnu.org>
61401
61402         * config/srclist.txt (localcharset.c): break sync.
61403
61404 2004-04-20  Paul Eggert  <eggert@twinsun.com>
61405
61406         * m4/host-os.m4: Add a copyright notice.
61407
61408 2004-04-20  Jim Meyering  <jim@meyering.net>
61409
61410         Change UTILS_ to gl_ in AC_DEFINE'd names.
61411         Change utils_- and jm_-prefixed variables, too.
61412         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
61413         UTILS_FUNC_MKDIR_TRAILING_SLASH.
61414         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
61415
61416         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
61417         Don't emit trailing blanks.
61418         Also rename jm_-prefixed variables to have gl_ prefix.
61419
61420         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
61421         Also rename jm_-prefixed variables to have gl_ prefix.
61422
61423         * m4/jm-macros.m4: Reflect the renamings.
61424         * m4/prereq.m4: Likewise.
61425
61426 2004-04-20  Jim Meyering  <jim@meyering.net>
61427
61428         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
61429         memory.
61430
61431 2004-04-20  Jim Meyering  <jim@meyering.net>
61432             Bruno Haible  <bruno@clisp.org>
61433
61434         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
61435         memory when realloc fails.
61436
61437 2004-04-19  Jim Meyering  <jim@meyering.net>
61438
61439         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
61440         now that readutmp.c may call `free (0)'.
61441
61442 2004-04-19  Bruno Haible  <bruno@clisp.org>
61443
61444         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
61445         * m4/inttypes_h.m4: Likewise.
61446         * m4/stdint_h.m4: Likewise.
61447         * m4/intmax_t.m4: Likewise.
61448         * m4/uintmax_t.m4: Likewise.
61449
61450 2004-04-18  Jim Meyering  <jim@meyering.net>
61451
61452         * m4/prereq.m4: Don't forbid jm_ prefix.
61453
61454         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
61455         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
61456         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
61457         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
61458         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
61459         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
61460         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
61461         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
61462         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
61463         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
61464         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
61465         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
61466         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
61467         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
61468         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
61469         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
61470         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
61471         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
61472         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
61473
61474 2004-04-18  Jim Meyering  <jim@meyering.net>
61475
61476         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
61477         failure, don't leak memory and do call END_UTMP_ENT.
61478
61479 2004-04-16  Jim Meyering  <jim@meyering.net>
61480
61481         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
61482         coreutils' stat program.
61483         (gl_PREREQ): Don't require jm_PREREQ_STAT.
61484
61485 2004-04-11  Paul Eggert  <eggert@twinsun.com>
61486
61487         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
61488         C89.
61489         (CHAR_BIT): Remove, since we assume C89.
61490         Include <stdint.h> if available, as per current Autoconf CVS advice.
61491
61492 2004-03-31  Jim Meyering  <jim@meyering.net>
61493
61494         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
61495         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
61496         * m4/xalloc.m4: Likewise.
61497
61498 2004-03-30  Paul Eggert  <eggert@twinsun.com>
61499
61500         Merge from coreutils.
61501
61502         * m4/inttostr.m4: New file.
61503         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
61504         Require AM_STDBOOL_H and gl_TIMESPEC instead.
61505         Require gl_CLOCK_TIME.
61506         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
61507
61508 2004-03-30  Paul Eggert  <eggert@twinsun.com>
61509
61510         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
61511         not bool, to be more consistent with Unix conventions.
61512         Suggested by Bruno Haible.
61513
61514         Merge from coreutils.
61515
61516         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
61517         * lib/umaxtostr.c: New files.
61518
61519         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
61520         the usual <time.h> dance.
61521         (get_date): Change signature to support fractional time stamps.
61522         All callers changed.
61523         * lib/getdate.y: Include "getdate.h" first, as we can now
61524         assume C89 and don't need to worry about 'const'.
61525         Similarly, include "unlocked-io.h" near start, not in middle.
61526         Include <limits.h>.
61527         (textint.value): Use long int rather than int.
61528         (textint.digits): Use size_t rather than int.
61529         (BILLION, LOG10_BILLION): New constants.
61530         (parser_control): New member rel_ns.  Members day_ordinal,
61531         time_zone, month, day, hour, minutes, rel_year, rel_month,
61532         rel_day, rel_hour, rel_minutes, rel_seconds
61533         are now long int, not int.  Member seconds is now struct timespec,
61534         not int.  New member timespec_seen.  Members dates_seen, days_seen,
61535         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
61536         not int.
61537         (%union.intval): Now long int, not int.
61538         New member timespec.
61539         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
61540         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
61541         (spec): Now is a timespec or an item list.
61542         (timespec, items): New nonterminals.
61543         (time, rel, relunit, number, get_date):
61544         Add support for fractional seconds.
61545         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
61546         (gmtime, localtime, mktime): Remove decls; not needed with C89.
61547         (to_hour): First arg is now long int, not int.
61548         (to_year): Returns long int, not int.
61549         Don't treat year -70 like 70.
61550         (tm_diff): Returns long int, not int.
61551         (lookup_word): Use bool instead of int when appropriate.
61552         (yylex): Use size_t for count, not int.
61553         Detect overflow when parsing large integer constants.
61554         Add support for fractions.
61555         (get_date): Make pointers 'const' if possible.
61556         Use more-portable code to detect integer overflow.
61557         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
61558         Don't use ctime; it's not reliable if the year has >4 digits.
61559
61560         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
61561         This is for compatibility with BSD.
61562
61563         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
61564         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
61565         From coreutils' system.h.
61566
61567         * lib/userspec.c: Don't include "posixver.h".
61568         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
61569         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
61570         compatible extension.  Simplify code by removing a boolean int
61571         that was always nonzero if a string was nonnull.
61572
61573 2004-03-30  Jim Meyering  <jim@meyering.net>
61574
61575         Merge from coreutils.
61576
61577         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
61578         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
61579         on some systems one must include <grp.h> before it.
61580         Reported by Christian Krackowizer.
61581
61582 2004-03-30  Jim Meyering  <jim@meyering.net>
61583
61584         Merge from coreutils.
61585
61586         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
61587
61588         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
61589         an empty input stream.
61590
61591         * lib/readtokens.c: Include <stdbool.h>.
61592         (readtoken): Use `size_t' rather than int/long.
61593         All callers adjusted.
61594         Use `bool' rather than `int' where appropriate.
61595         Use memset rather than an explicit loop.
61596         Use x2nrealloc rather than xrealloc.
61597         Allow the use of `\0' as a delimiter.
61598         (readtokens): Likewise.
61599         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
61600
61601 2004-03-30  Jim Meyering  <jim@meyering.net>
61602
61603         * m4/realloc.m4: Remove file, since now it does no more than
61604         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
61605         the `configure.ac' section of module/realloc.
61606         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
61607
61608 2004-03-30  Bruno Haible  <bruno@clisp.org>
61609
61610         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
61611         nonnull.
61612
61613 2004-03-29  Paul Eggert  <eggert@twinsun.com>
61614
61615         Merge changes to getloadavg.c from coreutils and Emacs.
61616
61617         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
61618         Define to an expression, not to the empty string.
61619         Include cloexec.h and xalloc.h.
61620         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
61621         Use set_cloexec_flag rather than rolling our own.
61622         * lib/cloexec.c, lib/cloexec.h: New files.
61623
61624 2004-03-29  Paul Eggert  <eggert@twinsun.com>
61625
61626         * m4/cloexec.m4: New file.
61627
61628 2004-03-18  Paul Eggert  <eggert@twinsun.com>
61629
61630         * lib/getopt.h: Sync with libc CVS.
61631
61632 2004-03-18  Paul Eggert  <eggert@twinsun.com>
61633             Bruno Haible  <bruno@clisp.org>
61634
61635         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
61636         mbswidth.
61637
61638 2004-03-18  Paul Eggert  <eggert@twinsun.com>
61639             Bruno Haible  <bruno@clisp.org>
61640
61641         * lib/mbswidth.h: Include <wchar.h> only if
61642         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
61643         <wchar.h>.
61644         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
61645
61646 2004-03-09  Paul Eggert  <eggert@twinsun.com>
61647
61648         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
61649         Sync with libc CVS.
61650         * lib/getopt_int.h: New file, also synced from libc.
61651
61652 2004-03-09  Paul Eggert  <eggert@twinsun.com>
61653
61654         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
61655         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
61656         Bring back getopt.c, getopt.h, getopt1.c.
61657
61658 2004-03-07  Paul Eggert  <eggert@twinsun.com>
61659
61660         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
61661         All uses changed.  Check for sa_sigaction member; this fixes
61662         a bug first reported by Jason Andrade in
61663         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
61664
61665 2004-03-07  Paul Eggert  <eggert@twinsun.com>
61666
61667         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
61668         '#if' expressions.  Unlike the code it replaces, it does not
61669         depend on (defined _SC_PAGESIZE).  However, it does depend on
61670         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
61671         first reported by Jason Andrade in
61672         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
61673
61674 2004-02-25  Simon Josefsson  <jas@extundo.com>
61675
61676         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
61677
61678 2004-02-25  Simon Josefsson  <jas@extundo.com>
61679
61680         * lib/strdup.h: New file.
61681         * lib/strdup.c: Include it.
61682         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
61683         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
61684
61685 2004-02-23  Karl Berry  <karl@gnu.org>
61686
61687         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
61688         (from fencepost.gnu.org:/gd/gnuorg).
61689
61690 2004-02-23  Karl Berry  <karl@gnu.org>
61691
61692         * config/srclistvars.sh (GNUORG) [karl]: redefine.
61693         * config/srclist.txt: add maintain/standards documents.
61694
61695 2004-02-18  Bruno Haible  <bruno@clisp.org>
61696
61697         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
61698         Reported by Derek Robert Price <derek@ximbiot.com>.
61699
61700 2004-02-16  Karl Berry  <karl@gnu.org>
61701
61702         * config/mkinstalldirs, install-sh: update from automake.
61703
61704 2004-02-06  Karl Berry  <karl@gnu.org>
61705
61706         * m4/po.m4: update from gettext 0.14.1.
61707
61708 2004-02-06  Karl Berry  <karl@gnu.org>
61709
61710         * lib/config.charset: update from gettext 0.14.1.
61711
61712 2004-02-05  Paul Eggert  <eggert@twinsun.com>
61713
61714         Add comments and code, prompted by suggestions from Bruno Haible
61715         for sh-quote.
61716         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
61717         describing the enum quoting_style values.
61718         * lib/quotearg.c (quotearg_alloc): New function.
61719         (quotearg_buffer_restyled): Treat lone { and } as special.
61720         Treat = as special.  Work around bug with older shells
61721         that "see" a '\' that is really the 2nd byte of a multibyte char.
61722         Quote empty string with shell_quoting_style.
61723
61724 2004-02-03  Bruno Haible  <bruno@clisp.org>
61725
61726         * m4/pipe.m4: New file, from GNU gettext.
61727
61728 2004-02-03  Bruno Haible  <bruno@clisp.org>
61729
61730         * lib/pipe.h: New file, from GNU gettext.
61731         * lib/pipe.c: New file, from GNU gettext.
61732
61733 2004-01-27  Bruno Haible  <bruno@clisp.org>
61734
61735         * m4/execute.m4: New file, from GNU gettext.
61736
61737 2004-01-27  Bruno Haible  <bruno@clisp.org>
61738
61739         * lib/execute.h: New file, from GNU gettext.
61740         * lib/execute.c: New file, from GNU gettext.
61741         * lib/w32spawn.h: New file, from GNU gettext.
61742
61743 2004-01-24  Paul Eggert  <eggert@twinsun.com>
61744
61745         Merge from diffutils.
61746
61747         * lib/file-type.c (file_type): Add typed memory objects.
61748         * lib/file-type.h (S_TYPEISTMO): New macro.
61749
61750         * lib/c-stack.h (c_stack_action): Remove argv argument.
61751         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
61752         (die): Don't calculate message unless segv_action returns.
61753         (get_stack_location, min_address_from_argv, max_address_from_argv,
61754         volatile stack_base, volatile_stack_size): Remove.
61755         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
61756         that every segmentation violation is a stack overflow.  (Ouch!)
61757         See Debian bug 136249 (still outstanding) for more info about why
61758         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
61759
61760 2004-01-24  Paul Eggert  <eggert@twinsun.com>
61761
61762         Exit-status fix from coreutils.
61763
61764         Use exit_failure consistently in place of EXIT_FAILURE,
61765         so that program exit statuses are consistent on failure.
61766
61767         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
61768         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
61769         * lib/argmatch.h: Comment fix to match the above.
61770         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
61771         Now a macro referring to exit_failure, instead of a separate
61772         variable.  Include "exitfail.h" to get it.
61773         * lib/xstrtol.h: Include "exitfail.h".
61774         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
61775
61776         * lib/long-options.c (parse_long_options): Use prototype
61777         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
61778         for clarity.
61779
61780 2004-01-21  Jim Meyering  <jim@meyering.net>
61781
61782         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
61783         so as not to conflict with a different-sized __mktime_internal
61784         function in GNU libc.
61785         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
61786         Problem building statically-linked `ls' reported by Michael Brunnbauer.
61787
61788 2004-01-20  Karl Berry  <karl@gnu.org>
61789
61790         * config/config.guess: update from config.
61791
61792         * config/srclistvars.sh: GNUWWWLICENSES for karl.
61793
61794 2004-01-20  Bruno Haible  <bruno@clisp.org>
61795
61796         Safer stack allocation.
61797         * lib/setenv.c: Include allocsa.h.
61798         (alloca): Remove fallback definition.
61799         (freea): Remove macro.
61800         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
61801         instead of freea.
61802
61803 2004-01-20  Bruno Haible  <bruno@clisp.org>
61804
61805         * m4/eealloc.m4: New file, from GNU gettext.
61806
61807 2004-01-20  Bruno Haible  <bruno@clisp.org>
61808
61809         * m4/allocsa.m4: New file, from GNU gettext.
61810
61811 2004-01-20  Bruno Haible  <bruno@clisp.org>
61812
61813         * lib/xallocsa.h: New file, from GNU gettext.
61814         * lib/xallocsa.c: New file, from GNU gettext.
61815
61816 2004-01-20  Bruno Haible  <bruno@clisp.org>
61817
61818         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
61819
61820 2004-01-20  Bruno Haible  <bruno@clisp.org>
61821
61822         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
61823         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
61824         specially.
61825
61826 2004-01-20  Bruno Haible  <bruno@clisp.org>
61827
61828         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
61829         patch.
61830
61831 2004-01-20  Bruno Haible  <bruno@clisp.org>
61832
61833         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
61834
61835 2004-01-20  Bruno Haible  <bruno@clisp.org>
61836
61837         * lib/eealloc.h: New file.
61838
61839 2004-01-20  Bruno Haible  <bruno@clisp.org>
61840
61841         * lib/binary-io.h: Avoid warnings on Cygwin.
61842
61843 2004-01-20  Bruno Haible  <bruno@clisp.org>
61844
61845         * lib/allocsa.h: New file, from GNU gettext.
61846         * lib/allocsa.c: New file, from GNU gettext.
61847
61848 2004-01-18  Karl Berry  <karl@gnu.org>
61849
61850         * doc/gpl.texi, doc/lgpl.texi: new files.
61851
61852 2004-01-18  Karl Berry  <karl@gnu.org>
61853
61854         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
61855         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
61856
61857 2004-01-15  Paul Eggert  <eggert@twinsun.com>
61858
61859         Merge from coreutils.
61860
61861         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
61862         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
61863         (gl_DEFAULT_POSIX2_VERSION): Move
61864         the documentation from 'configure' into 'config.hin',
61865         so that 'configure --help' isn't burdened by it and
61866         we don't have to worry about its formatting there.
61867         Reword the documentation so that it's more succinct
61868         and can be run together into a single paragraph.
61869         * m4/same.m4 (gl_SAME): Check for pathconf.
61870
61871 2004-01-15  Paul Eggert  <eggert@twinsun.com>
61872
61873         Merge from coreutils.
61874
61875         * lib/posixver.c: Include posixver.h.
61876
61877         * lib/same.c: Include <stdbool.h>, <limits.h>.
61878         (_POSIX_NAME_MAX): Define if not defined.
61879         (MIN): New macro.
61880         (same_name): If file names are silently truncated, report
61881         that the file names are the same if they are the same after
61882         the silent truncation.
61883
61884         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
61885         conversion function.
61886         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
61887         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
61888         longer needed.
61889
61890 2004-01-15  Jim Meyering  <jim@meyering.net>
61891
61892         Merge from coreutils.
61893
61894         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
61895         if no library is required.
61896         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
61897         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
61898         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
61899         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
61900         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
61901         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
61902         value, $ac_cv_search_crypt, if it's "none required".
61903         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
61904         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
61905         not gl_FUNC_GETLOADAVG.
61906         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
61907         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
61908
61909 2004-01-15  Jim Meyering  <jim@meyering.net>
61910
61911         Merge from coreutils.
61912
61913         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
61914         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
61915         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
61916
61917         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
61918         optional configure-time default.
61919
61920         * lib/version-etc.c (version_etc_copyright): Update copyright date.
61921
61922         * lib/xreadlink.c (xreadlink): Correct outdated comment.
61923
61924 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
61925
61926         Merge from coreutils.
61927
61928         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
61929         value, $ac_cv_search_nanosleep, if it's "none required".
61930
61931 2004-01-14  Paul Eggert  <eggert@twinsun.com>
61932
61933         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
61934         with like-named macro in fnmatch.c.
61935         (EXT): Use an internal constant instead.
61936
61937         Merge fnmatch patches from glibc.
61938         * lib/fnmatch.c (mbsinit): Remove define.
61939         Add libc_hidden_ver (__fnmatch, fnmatch).
61940         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
61941         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
61942
61943 2004-01-14  Karl Berry  <karl@gnu.org>
61944
61945         * config/install-sh: update from automake.
61946
61947 2004-01-13  Karl Berry  <karl@gnu.org>
61948
61949         * config/install-sh: update from automake.
61950
61951 2004-01-09  Karl Berry  <karl@gnu.org>
61952
61953         * config/install-sh: update from automake.
61954
61955 2004-01-05  Karl Berry  <karl@gnu.org>
61956
61957         * config/config.{sub,guess}: update from config.
61958
61959 2003-12-31  Karl Berry  <karl@gnu.org>
61960
61961         * config/depcomp: update from automake.
61962
61963 2003-12-14  Karl Berry  <karl@gnu.org>
61964
61965         * lib/config.charset: update from gettext-runtime.
61966
61967 2003-12-03  Paul Eggert  <eggert@twinsun.com>
61968
61969         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
61970         Bug reported by Alfred M. Szmidt.
61971
61972 2003-12-03  Bruno Haible  <bruno@clisp.org>
61973
61974         * m4/gettext.m4: Upgrade from gettext-0.13.
61975         * m4/po.m4: Upgrade from gettext-0.13.
61976         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
61977         * m4/intmax.m4: New file, from gettext-0.13.
61978         * m4/printf-posix.m4: New file, from gettext-0.13.
61979
61980 2003-11-29  Karl Berry  <karl@gnu.org>
61981
61982         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
61983
61984 2003-11-25  Paul Eggert  <eggert@twinsun.com>
61985             Bruno Haible  <bruno@clisp.org>
61986
61987         * lib/printf-parse.h: Don't include sys/types.h.
61988         (ARG_NONE): New macro.
61989         (char_directive): Change type of *arg_index fields to size_t.
61990         * lib/printf-parse.c: Don't include sys/types.h.
61991         (SSIZE_MAX): Remove macro.
61992         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
61993         Remove unnecessary overflow check.
61994         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
61995         fields.
61996
61997 2003-11-25  Bruno Haible  <bruno@clisp.org>
61998
61999         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
62000
62001 2003-11-25  Bruno Haible  <bruno@clisp.org>
62002
62003         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
62004         gt_TYPE_SSIZE_T.
62005
62006 2003-11-24  Paul Eggert  <eggert@twinsun.com>
62007
62008         * modules/alloca: Remove dependency on xalloc.
62009
62010 2003-11-24  Paul Eggert  <eggert@twinsun.com>
62011
62012         * lib/alloca.c: Remove dependency on xalloc module.
62013         (xalloc_die): Remove.
62014         (memory_full) [!defined emacs]: New macro.
62015         [!defined emacs]: Don't include xalloc.h.
62016         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
62017         address arithmetic overflows.  Change datatypes a bit to avoid
62018         unnecessary casts.
62019
62020 2003-11-22  Jim Meyering  <jim@meyering.net>
62021
62022         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
62023         s/size/size_t/.
62024
62025 2003-11-21  Karl Berry  <karl@gnu.org>
62026
62027         * config/config.{sub,guess}: update from config.
62028
62029 2003-11-18  Karl Berry  <karl@gnu.org>
62030
62031         * config/config.{sub,guess}: update from config.
62032
62033         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
62034
62035 2003-11-17  Paul Eggert  <eggert@twinsun.com>
62036
62037         * README: Mention that S+T cannot overflow if S is the size of
62038         an existing object and T is sufficiently small.
62039
62040 2003-11-17  Jim Meyering  <jim@meyering.net>
62041
62042         On systems without utime and without a utimes function capable of
62043         dealing with a NULL struct utimbuf* argument, this utime replacement
62044         could -- in unusual circumstances -- leak a file descriptor.
62045         * lib/utime.c: Include <unistd.h> and <errno.h>.
62046         (utime_null): Be sure to close `fd' and to preserve errno.
62047         Reported by Geoff Collyer via Arnold Robbins.
62048
62049 2003-11-17  Bruno Haible  <bruno@clisp.org>
62050
62051         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
62052         (Depends-on): Add xsize.
62053
62054 2003-11-17  Bruno Haible  <bruno@clisp.org>
62055
62056         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
62057
62058 2003-11-17  Bruno Haible  <bruno@clisp.org>
62059
62060         * lib/vasnprintf.c (alloca): Remove fallback definition.
62061         (freea): Remove definition.
62062         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
62063         Reported by Paul Eggert.
62064
62065 2003-11-16  Paul Eggert  <eggert@twinsun.com>
62066             Bruno Haible  <bruno@clisp.org>
62067
62068         Protect against address arithmetic overflow.
62069         * lib/printf-args.h: Include stddef.h.
62070         (arguments): Change type of field 'count' to size_t.
62071         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
62072         'unsigned int' where appropriate.
62073         * lib/printf-parse.h: Include sys/types.h.
62074         (char_directive): Change type of *arg_index fields to ssize_t.
62075         (char_directives): Change type of fields 'count', max_*_length to
62076         size_t.
62077         * lib/printf-parse.c: Include sys/types.h and xsize.h.
62078         (SSIZE_MAX): Define fallback value.
62079         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
62080         instead of 'int' where appropriate. Check a_allocated, d_allocated
62081         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
62082         * lib/vasnprintf.c: Include xsize.h.
62083         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
62084         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
62085         overflow. Avoid wraparound when converting a width or precision from
62086         decimal to binary.
62087
62088 2003-11-16  Bruno Haible  <bruno@clisp.org>
62089
62090         Update from GNU gettext.
62091         * lib/printf-parse.c: Generalize to it can be compiled for wide
62092         strings.
62093         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
62094         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
62095         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
62096         SNPRINTF): New macros.
62097         Don't include <alloca.h> if the file is used inside libintl.
62098         (local_wcslen): New function, for Solaris 2.5.1.
62099         (VASNPRINTF): Use it instead of wcslen.
62100
62101 2003-11-16  Bruno Haible  <bruno@clisp.org>
62102
62103         * lib/xsize.h (xmax): New function.
62104         (xsum, xsum3, xsum4): Declare as "pure" functions.
62105
62106 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62107
62108         * modules/xalloc (Files): Undo latest change, since xalloc.h
62109         no longer needs SIZE_MAX or PTRDIFF_MAX.
62110
62111 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62112
62113         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
62114         gl_PTRDIFF_MAX.
62115
62116 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62117
62118         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
62119         "return", to pacify some unknown compiler.  Problem reported
62120         by Joerg Schilling.
62121
62122 2003-11-12  Paul Eggert  <eggert@twinsun.com>
62123
62124         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
62125         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
62126         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
62127         heuristic is just as accurate as far as we know, and it removes a
62128         dependency on size_max.m4 and ptrdiff_max.m4.
62129
62130 2003-11-11  Bruno Haible  <bruno@clisp.org>
62131
62132         * modules/xsize (Files): Add m4/size_max.m4.
62133         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
62134
62135 2003-11-11  Bruno Haible  <bruno@clisp.org>
62136
62137         * m4/size_max.m4: New file.
62138         * m4/ptrdiff_max.m4: New file.
62139         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
62140         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
62141         (gl_XALLOC): Invoke it.
62142
62143 2003-11-11  Bruno Haible  <bruno@clisp.org>
62144
62145         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
62146         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
62147         defined.
62148
62149 2003-11-10  Paul Eggert  <eggert@twinsun.com>
62150
62151         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
62152         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
62153         rejected some allocations of exactly SIZE_MAX - 2 bytes.
62154         From Bruno Haible.
62155         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
62156         not (size_t) -1, since it's defined here.
62157
62158 2003-11-09  Karl Berry  <karl@gnu.org>
62159
62160         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
62161
62162 2003-11-06  Paul Eggert  <eggert@twinsun.com>
62163
62164         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
62165         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
62166         Reject sizes of exactly SIZE_MAX bytes.
62167         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
62168         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
62169
62170 2003-11-05  Bruno Haible  <bruno@clisp.org>
62171
62172         * lib/xsize.h: Include limits.h, to avoid a possible collision with
62173         SIZE_MAX defined in <limits.h> on Solaris.
62174
62175 2003-11-04  Jim Meyering  <jim@meyering.net>
62176
62177         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
62178         variable names, rather than @VAR@.
62179         * modules/poll: Likewise.
62180
62181 2003-11-04  Bruno Haible  <bruno@clisp.org>
62182
62183         * modules/xsize: New file.
62184         * modules/linebreak: Depend on xsize.
62185         * MODULES.html.sh (func_all_modules): Add xsize.
62186
62187 2003-11-04  Bruno Haible  <bruno@clisp.org>
62188
62189         * m4/xsize.m4: New file.
62190
62191 2003-11-04  Bruno Haible  <bruno@clisp.org>
62192
62193         * lib/xsize.h: New file.
62194         * lib/linebreak.c: Include xsize.h.
62195         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
62196         argument for overflow.
62197         Suggested by Paul Eggert.
62198
62199 2003-11-03  Karl Berry  <karl@gnu.org>
62200
62201         * config/config.{guess,sub}: update from config.
62202
62203 2003-11-03  Jim Meyering  <jim@meyering.net>
62204
62205         * modules/userspec (lib_SOURCES): Add userspec.h.
62206         (Include): Add "userspec.h".
62207         Improve description.
62208
62209 2003-11-03  Jim Meyering  <jim@meyering.net>
62210
62211         * lib/userspec.c: Include "userspec.h".
62212         * lib/userspec.h: New file.
62213
62214 2003-11-03  Bruno Haible  <bruno@clisp.org>
62215
62216         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
62217
62218 2003-11-03  Bruno Haible  <bruno@clisp.org>
62219
62220         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
62221         available, to avoid (extremely rare) race condition.
62222         Suggested by Paul Eggert.
62223
62224 2003-11-02  Karl Berry  <karl@gnu.org>
62225
62226         * config/srclist.txt (vasprintf.c): sync broken, sigh.
62227
62228 2003-10-31  Paul Eggert  <eggert@twinsun.com>
62229
62230         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
62231         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
62232         (read_filesystem_list): Set and use me_type_malloced.
62233         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
62234         whatever the type happens to be), for brevity and consistency.
62235         Check for size calculation overflow on Alphas running OSF/1.
62236
62237 2003-10-31  Jim Meyering  <jim@meyering.net>
62238
62239         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
62240
62241         * lib/linebuffer.c: Include <string.h> for declaration of memset.
62242
62243 2003-10-30  Paul Eggert  <eggert@twinsun.com>
62244             Bruno Haible  <bruno@clisp.org>
62245
62246         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
62247         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
62248
62249 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
62250
62251         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
62252         netbsd*-gnu*.  Suggested by Robert Millan.
62253
62254 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62255
62256         * modules/group-member: Depend on stdbool.
62257
62258 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62259
62260         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
62261
62262 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62263
62264         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
62265         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
62266         after the 'gnu' in these cases.  This fixes some bugs in the
62267         previous change, and is based on suggestions by Robert Millan.
62268
62269 2003-10-29  Paul Eggert  <eggert@twinsun.com>
62270
62271         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
62272         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
62273         no longer needed.
62274         * lib/quotearg.c (quotearg_n_options): Use it.
62275         * lib/group-member.c: Include <stdbool.h>.
62276         (free_group_info): Arg is now const *; don't free arg.
62277         (get_group_info): Now returns bool and accepts struct group_info *,
62278         rather than returning a malloc'ed struct group_info *.
62279         All uses changed.  Check for overflow in internal size calculation.
62280
62281         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
62282         rather than xmalloc/xrealloc.
62283         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
62284         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
62285         conformance bug: the old code used a pointer after freeing the
62286         storage that it addressed.
62287         * lib/hash.c (hash_initialize): Simplify the code by using
62288         xalloc_oversized rather than doing it by hand.
62289         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
62290         the buffer preserved.  Use free and xmalloc instead.
62291         * lib/quotearg.c (quotearg_n_options): Likewise.
62292         Use a simpler test for size overflow.  Don't use xalloc_oversized
62293         because unsigned int might be wider than size_t (!); this suggests
62294         that we should switch from unsigned int to size_t for slot numbers.
62295
62296 2003-10-28  Paul Eggert  <eggert@twinsun.com>
62297
62298         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
62299         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
62300         NetBSD kernels.  Requested by Richard Stallman.
62301
62302 2003-10-27  Paul Eggert  <eggert@twinsun.com>
62303
62304         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
62305         to allocate the returned structure.  Do not allocate a subarray,
62306         as x2nrealloc will do that.
62307         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
62308         instead of xnrealloc.
62309         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
62310
62311 2003-10-27  Bruno Haible  <bruno@clisp.org>
62312
62313         * lib/stdbool_.h: Better support for BeOS.
62314
62315 2003-10-26  Paul Eggert  <eggert@twinsun.com>
62316
62317         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
62318         now uses inline.
62319
62320 2003-10-26  Paul Eggert  <eggert@twinsun.com>
62321
62322         * lib/xalloc.h (xalloc_oversized): New static inline function, for
62323         callers that want to do their own size-overflow checking.  Include
62324         <stdbool.h>, since xalloc_oversized returns bool.
62325         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
62326         to use xalloc_oversized.
62327
62328         Add two functions x2realloc, x2nrealloc, for programs that grow
62329         arrays dynamically by doubling their sizes.
62330         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
62331         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
62332         New functions.
62333
62334         Port to C99 semantics for 'inline' of external functions.
62335         Bug reported by Bruno Haible.
62336         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
62337         with the old contents of xnmalloc.
62338         (xnmalloc, xmalloc): Use it.
62339         (xnrealloc_inline): New static inline function,
62340         with the old contents of xnrealloc.
62341         (xnrealloc, xrealloc): Use it.
62342
62343         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
62344         that.
62345
62346 2003-10-26  Karl Berry  <karl@gnu.org>
62347
62348         * config/srclist.txt (COPYING.DOC): no longer available from
62349         /gd/gnuorg; don't know where the ultimate source is.
62350
62351 2003-10-25  Paul Eggert  <eggert@twinsun.com>
62352
62353         Fix several address-calculation bugs in the hash modules,
62354         plus some minor code cleanup.
62355
62356         * lib/hash.h: Include <stdbool.h>, for bool.
62357         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
62358         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
62359         hash_get_n_entries, hash_get_max_bucket_length,
62360         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
62361         hash_rehash): Use size_t rather than unsigned.
62362         * lib/hash.c (struct hash_table, hash_get_n_buckets,
62363         hash_get_n_buckets_used, hash_get_n_entries,
62364         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
62365         hash_get_entries, hash_do_for_each, hash_string, is_prime,
62366         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
62367         Likewise.
62368         (SIZE_MAX): Define if not defined.
62369         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
62370         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
62371         hash_print):
62372         Use const * when possible.
62373         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
62374         (check_tuning): Fix bug: if tuning parameters were very close to
62375         0 or 1, rounding errors could have caused subscript violations.
62376         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
62377         (hash_initialize): Add 'fail:' label
62378         to free table and return NULL, and use it to simplify code.
62379         Use calloc rather than clearing the storage ourself.
62380         (hash_initialize, hash_rehash): Check for arithmetic overflow in
62381         buffer size calculations.
62382         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
62383         Include <stddef.h>, for size_t.
62384         * lib/hash-pjw.c (hash_pjw): Likewise.
62385         Switch to method described by Bruno Haible.
62386         Include <limits.h>, for CHAR_BIT.
62387         (SIZE_BITS): New macro.
62388
62389 2003-10-23  Paul Eggert  <eggert@twinsun.com>
62390
62391         * m4/getline.m4 (AM_FUNC_GETLINE):
62392         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
62393         hosts.  Problem reported by Derek Robert Price in
62394         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
62395         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
62396         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
62397
62398 2003-10-21  Paul Eggert  <eggert@twinsun.com>
62399
62400         * lib/getndelim2.c (getndelim2): When size calculation overflows,
62401         ceiling the allocation at NMAX bytes rather than silently
62402         discarding input bytes before NMAX is reached.  This makes
62403         a difference only if NMAX exceeds SIZE_MAX / 2.
62404
62405         * lib/obstack.c: Merge from glibc.
62406         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
62407         Add libc_hidden_def (_obstack_newchunk).
62408         (_obstack_free) [! defined _LIBC]: Remove.
62409         [defined _LIBC]: Make a strong alias from obstack_free, rather than
62410         a clone of the function body.
62411         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
62412         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
62413
62414         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
62415         glibc.
62416         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
62417         arg to memcpy.
62418
62419         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
62420         (obstack_ptr_grow_fast, obstack_int_grow_fast):
62421         Don't use lvalue casts, as GCC plans to remove support for them
62422         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
62423         was also present in the non-GCC version, indicating that this
62424         code had always been buggy and had never been widely used.
62425         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
62426         Use the fast variant of each macro, rather than copying the
62427         definiens of the fast variant; that way, we'll be more likely to
62428         catch future bugs in the fast variants.
62429
62430 2003-10-20  Bruno Haible  <bruno@clisp.org>
62431
62432         * modules/wait-process: New file.
62433         * MODULES.html.sh (func_all_modules): Add wait-process.
62434
62435 2003-10-20  Bruno Haible  <bruno@clisp.org>
62436
62437         * m4/wait-process.m4: New file.
62438
62439 2003-10-20  Bruno Haible  <bruno@clisp.org>
62440
62441         * lib/wait-process.h: New file, from GNU gettext.
62442         * lib/wait-process.c: New file, from GNU gettext.
62443
62444 2003-10-19  Jim Meyering  <jim@meyering.net>
62445
62446         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
62447         HPUX 10.20.
62448
62449 2003-10-18  Karl Berry  <karl@gnu.org>
62450
62451         * config/config.guess: update from config.
62452
62453 2003-10-16  Paul Eggert  <eggert@twinsun.com>
62454
62455         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
62456         (getgroups): First arg is int, not size_t.
62457         Don't let 'free' mangle errno.
62458
62459 2003-10-16  Paul Eggert  <eggert@twinsun.com>
62460
62461         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
62462
62463 2003-10-16  Karl Berry  <karl@gnu.org>
62464
62465         * config/config.{guess,sub}: update from config.
62466
62467 2003-10-16  Jim Meyering  <jim@meyering.net>
62468
62469         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
62470         memcpy.
62471
62472 2003-10-15  Paul Eggert  <eggert@twinsun.com>
62473
62474         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
62475         (SIZE_MAX): Remove.
62476         (new_exclude, add_exclude_file): Initial size no longer needs to
62477         be a power of 2.
62478         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
62479         our own address arithmetic overflow checking.
62480
62481         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
62482         (fnmatch): Do not alloca more than 2000 wide characters;
62483         instead, use malloc for large buffers.
62484         Check for address arithmetic overflow, and return -1
62485         with errno set to ENOMEM in that case.
62486         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
62487         (NEW_PATTERN): Do not alloca more than 8000 bytes;
62488         instead, return -1.  Check for address arithmetic overflow.
62489
62490 2003-10-14  Paul Eggert  <eggert@twinsun.com>
62491
62492         Handle invalid suffixes and overflow independently, so that
62493         callers can treat them independently as needed.  Fix some bugs in
62494         suffix handling, e.g., "100k@" was not diagnosed as an invalid
62495         suffix for a human-readable blocksize.  The major caller-visible
62496         change is the addition of a new
62497         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
62498         that both overflow and suffix chars were found.
62499
62500         * lib/human.c (humblock): Don't check separately for invalid suffix
62501         char; that is xstrtoumax's job (now that its bug is fixed).
62502         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
62503         INTMAX_MAX]: New macros.
62504         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
62505         TYPE_MAXIMUM): New macros.
62506         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
62507         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
62508         if overflow occurs, as it's what __strtol does and it's more useful
62509         in practice.
62510         (__xstrtol): If __strtol reports some error other than ERANGE,
62511         reflect it to the caller as LONGINT_INVALID.  If it reports
62512         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
62513         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
62514         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
62515         value.
62516         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
62517         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
62518         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
62519         [defined UINTMAX_MAX]: New macros.
62520
62521 2003-10-14  Bruno Haible  <bruno@clisp.org>
62522
62523         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
62524
62525 2003-10-14  Bruno Haible  <bruno@clisp.org>
62526
62527         * m4/sig_atomic_t: New file, from GNU gettext.
62528         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
62529
62530 2003-10-14  Bruno Haible  <bruno@clisp.org>
62531
62532         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
62533         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
62534         Also use volatile where needed.
62535
62536 2003-10-12  Paul Eggert  <eggert@twinsun.com>
62537
62538         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
62539         Change maintainer from Bruno Haible to 'all'.
62540
62541 2003-10-12  Paul Eggert  <eggert@twinsun.com>
62542
62543         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
62544
62545 2003-10-12  Paul Eggert  <eggert@twinsun.com>
62546
62547         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
62548         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
62549         and define in terms of the other primitives.
62550         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
62551         (SIZE_MAX): Define if not already defined.
62552         (array_size_overflow): New function.
62553         (xalloc_die): Abort instead of exiting if 'error' returns.
62554         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
62555         (xmalloc, xrealloc): Use them.
62556         (xcalloc): Check for address arithmetic overflow.
62557         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
62558         a bit faster than strcpy.
62559
62560 2003-10-10  Simon Josefsson  <jas@extundo.com>
62561
62562         * modules/argp (Depends-on): Add restrict and strcase.
62563
62564 2003-10-10  Simon Josefsson  <jas@extundo.com>
62565
62566         * m4/argp.m4: Add AC_C_INLINE.
62567
62568 2003-10-08  Paul Eggert  <eggert@twinsun.com>
62569
62570         Merge getpass from libc, plus a few fixes.
62571
62572         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
62573         Include <stdbool.h>.
62574         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
62575         __fsetlocking to empty.
62576         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
62577         do include <bits/libc-lock.h>.
62578         Do not include <fcntl.h>; not needed.
62579         [_LIBC]: Include <wchar.h>.
62580         (NOTCANCEL_MODE): New macro.
62581         (flockfile, funlockfile) [_LIBC]: New macros.
62582         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
62583         [!_LIBC]: New macros.
62584         (call_fclose): New function.
62585         (getpass): Use it.  Save tty stream separately; this simplifies the
62586         code and makes it more reliable if stdin happens to equal stdout.
62587         Invoke __fsetlocking on tty.
62588         Handle thread cancellation if needed.
62589         Namespace cleanup (use __tcgetattr, __getline).
62590         Use bool for Booleans.
62591         [USE_IN_LIBIO]: Handle wide streams.
62592         [!_LIBC]: Unconditionally do the fseek, since we don't know what
62593         stream might go where.
62594
62595         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
62596         doesn't have to include <stdio.h> before us.
62597         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
62598         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
62599         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
62600         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
62601         if not declared, so that we can use getpass.c code from libc without
62602         rewriting it.
62603         (flockfile, ftrylockfile, funlockfile): New macros.
62604
62605 2003-10-08  Paul Eggert  <eggert@twinsun.com>
62606
62607         * modules/getpass: Depend on stdbool.
62608
62609 2003-10-08  Paul Eggert  <eggert@twinsun.com>
62610
62611         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
62612
62613 2003-10-07  Karl Berry  <karl@gnu.org>
62614
62615         * config/config.{guess,sub}: update from config.
62616
62617 2003-10-06  Jim Meyering  <jim@meyering.net>
62618             Bruno Haible  <bruno@clisp.org>
62619
62620         This lets translators provide better translations for the
62621         "Written by ..." part of --version output.
62622         * lib/version-etc.h: Include stdarg.h.
62623         (version_etc_copyright): Declare as readonly.
62624         (version_etc): Make this function variadic with a NULL-terminated list
62625         of author name strings.
62626         (version_etc_va): New declaration.
62627         * lib/version-etc.c: Include stdarg.h, stdlib.h.
62628         (version_etc_copyright): Declare as readonly.
62629         (version_etc_va): New function. Provide a different translatable string
62630         for each possible number of authors < 10. Abbreviate when there are 10
62631         authors or more.
62632         (version_etc): Make this function variadic. Call version_etc_va.
62633         Suggestion from Gary V. Vaughan.
62634
62635         * lib/long-options.h (parse_long_options): Change prototype: the
62636         authors string is moved to the end and becomes variadic.
62637         * lib/long-options.c: Include stdarg.h.
62638         (parse_long_options): Make this function variadic, too.
62639         Call version_etc_va, not version_etc.
62640
62641 2003-10-06  Bruno Haible  <bruno@clisp.org>
62642
62643         * modules/version-etc-2: Remove file.
62644         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
62645
62646 2003-10-06  Bruno Haible  <bruno@clisp.org>
62647
62648         * modules/fatal-signal: New file.
62649         * MODULES.html.sh (func_all_modules): Add fatal-signal.
62650
62651 2003-10-06  Bruno Haible  <bruno@clisp.org>
62652
62653         * m4/fatal-signal.m4: New file.
62654         * m4/signalblocking.m4: New file, from GNU gettext.
62655
62656 2003-10-06  Bruno Haible  <bruno@clisp.org>
62657
62658         * lib/version-etc-2.h: Remove file.
62659         * lib/version-etc-2.c: Remove file.
62660
62661 2003-10-06  Bruno Haible  <bruno@clisp.org>
62662
62663         * lib/fatal-signal.h: New file, from GNU gettext.
62664         * lib/fatal-signal.c: New file, from GNU gettext.
62665
62666 2003-10-05  Paul Eggert  <eggert@twinsun.com>
62667
62668         * README: Rework advice for preventing empty .o files.
62669         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
62670         not <sys/types.h>.
62671
62672 2003-10-04  Karl Berry  <karl@gnu.org>
62673
62674         * lib/argp*: update from libc.
62675
62676 2003-10-04  Karl Berry  <karl@gnu.org>
62677
62678         * config/config.{guess,sub}: update from config.
62679
62680 2003-10-02  Bruno Haible  <bruno@clisp.org>
62681
62682         * modules/lchown (Include): Add lchown.h.
62683         * modules/time_r (Include): Use "..." syntax.
62684         * modules/xgetdomainname (Include): Add xgetdomainname.h.
62685
62686 2003-10-01  Simon Josefsson  <jas@extundo.com>
62687
62688         * MODULES.html.sh (func_all_modules): Move gethostname from section
62689         'based on' to section 'lacking' POSIX:2001.
62690
62691 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
62692
62693         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
62694         to output mode on the same stream.
62695
62696 2003-09-29  Paul Eggert  <eggert@twinsun.com>
62697
62698         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
62699         Fix arg typo in previous patch.
62700
62701 2003-09-28  Jim Meyering  <jim@meyering.net>
62702
62703         * lib/error.c: Correct cpp indentation.
62704
62705 2003-09-27  Paul Eggert  <eggert@twinsun.com>
62706
62707         * modules/free: New file.
62708
62709 2003-09-27  Paul Eggert  <eggert@twinsun.com>
62710
62711         * m4/free.m4: New file.
62712
62713 2003-09-27  Paul Eggert  <eggert@twinsun.com>
62714
62715         * lib/minmax.h (MIN, MAX)
62716         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
62717         Omit the special code that used __typeof__, since we worry that
62718         it could be more trouble than it's worth.  See:
62719         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
62720         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
62721
62722         * lib/free.c: New file.
62723
62724 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
62725
62726         Trivial fixes to Makefile.am parts of module listings.
62727         * modules/strstr: Append strstr.h to lib_SOURCES.
62728         * modules/strcase: Likewise, for strcase.h.
62729
62730 2003-09-27  Karl Berry  <karl@gnu.org>
62731
62732         * config/mkinstalldirs: update from automake.
62733
62734 2003-09-26  Paul Eggert  <eggert@twinsun.com>
62735
62736         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
62737         (error_tail): Do not loop, reallocating temporary buffer, since
62738         the output cannot contain more wide characters than the input
62739         contains bytes, the size must be big enough already.  This avoids
62740         one potential size overflow calculation.  Check for size overflow
62741         when calculating temporary buffer size.  Free temporary buffer
62742         when done, if it was allocated with malloc; this plugs a memory
62743         leak.  Remove casts from void * to pointers, that are no longer
62744         needed now that we're assuming C89 or better.
62745
62746         Merge error changes from glibc.
62747
62748         * lib/error.c, error.h: Update copyright notice header to match glibc.
62749         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
62750         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
62751         Disable cancellation while printing error.
62752         * lib/error.h: Prepend __ to parameter names.
62753
62754 2003-09-26  Jim Meyering  <jim@meyering.net>
62755
62756         * lib/error.c (error_tail): Move some declarations
62757         into inner scope where the local variables are used.
62758
62759 2003-09-26  Bruno Haible  <bruno@clisp.org>
62760
62761         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
62762         stpncpy().
62763         Don't define stpncpy through config.h; it's now done through stpncpy.h.
62764
62765 2003-09-26  Bruno Haible  <bruno@clisp.org>
62766
62767         * lib/stpncpy.h (gnu_stpncpy): New declaration.
62768         (stpncpy): Define as alias for gnu_stpncpy.
62769         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
62770
62771 2003-09-25  Simon Josefsson  <jas@extundo.com>
62772
62773         * lib/xgetdomainname.h: New file.
62774         * lib/xgetdomainname.c: New file.
62775
62776 2003-09-25  Simon Josefsson  <jas@extundo.com>
62777             Bruno Haible  <bruno@clisp.org>
62778
62779         * modules/getdomainname: New file.
62780         * modules/xgetdomainname: New file.
62781         * MODULES.html.sh (func_all_modules): Add getdomainname,
62782         xgetdomainname.
62783
62784 2003-09-25  Simon Josefsson  <jas@extundo.com>
62785             Bruno Haible  <bruno@clisp.org>
62786
62787         * m4/getdomainname.m4: New file.
62788
62789 2003-09-25  Simon Josefsson  <jas@extundo.com>
62790             Bruno Haible  <bruno@clisp.org>
62791
62792         * lib/getdomainname.h: New file.
62793         * lib/getdomainname.c: New file.
62794
62795 2003-09-25  Karl Berry  <karl@gnu.org>
62796
62797         * lib/argp-fmtstream.c, argp-help.c: update from libc.
62798
62799 2003-09-25  Karl Berry  <karl@gnu.org>
62800
62801         * config/install-sh: update from automake.
62802
62803 2003-09-25  Bruno Haible  <bruno@clisp.org>
62804
62805         * modules/version-etc-2: New file, from modules/version-etc with
62806         modifications.
62807         * MODULES.html.sh (func_all_modules): Add version-etc-2.
62808
62809 2003-09-25  Bruno Haible  <bruno@clisp.org>
62810
62811         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
62812         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
62813
62814 2003-09-24  Simon Josefsson  <jas@extundo.com>
62815
62816         * modules/xgethostname: Add xgethostname.h.
62817
62818 2003-09-24  Paul Eggert  <eggert@twinsun.com>
62819
62820         * lib/linebuffer.c (freebuffer): Don't free the argument, just
62821         the buffer associated with the argument.  Bug reported by
62822         Simon Josefsson.
62823
62824 2003-09-24  Paul Eggert  <eggert@twinsun.com>
62825
62826         * README: Document assumptions that 'int' is at least 32 bits
62827         wide, that integer arithmetic is 2's complement without overflow,
62828         that there are no holes in integer values, that adding sizes of
62829         two nonoverlapping objects can't overflow, and that all-bits-zero
62830         yields scalar zero.  Fix spelling and capitalization typos.
62831
62832 2003-09-19  Karl Berry  <karl@gnu.org>
62833
62834         * lib/argp.h: update from libc.
62835
62836 2003-09-17  Paul Eggert  <eggert@twinsun.com>
62837
62838         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
62839         to avoid spurious warnings like "AC_RUN_IFELSE was called before
62840         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
62841
62842 2003-09-17  Paul Eggert  <eggert@twinsun.com>
62843
62844         * gnulib-tool: Use "test -h", not "test -L", for portability
62845         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
62846         (tags_regexp): Remove, since \| doesn't conform to POSIX.
62847         (sed_extract_prog): Issue s commands one-by-one, rather than
62848         using \| in one s command.
62849
62850 2003-09-16  Paul Eggert  <eggert@twinsun.com>
62851
62852         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
62853         input error, instead of returning NULL the next time we are called
62854         (and therefore losing track of errno).
62855
62856 2003-09-16  Bruno Haible  <bruno@clisp.org>
62857
62858         * gnulib-tool (func_create_testdir): Warn about duplicated
62859         dependencies.
62860
62861 2003-09-15  Paul Eggert  <eggert@twinsun.com>
62862
62863         * modules/argmatch, modules/fatal, modules/obstack,
62864         modules/xalloc, modules/xgethostname: Sort dependencies by
62865         importance, not alphabetically.
62866
62867 2003-09-15  Paul Eggert  <eggert@twinsun.com>
62868
62869         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
62870         fails, so that the caller gets the proper errno.
62871
62872         * lib/readutmp.c (read_utmp): Likewise.
62873         Check for fstat error.  Close stream and free storage
62874         when failing.
62875
62876 2003-09-14  Karl Berry  <karl@gnu.org>
62877
62878         * config/srclist.txt (strdup.c): disable for c89 changes.
62879
62880 2003-09-14  Jim Meyering  <jim@meyering.net>
62881
62882         * lib/getloadavg.c: Correct cpp indentation.
62883         * lib/strdup.c: Likewise.
62884         * lib/vasnprintf.c: Likewise.
62885
62886 2003-09-14  Bruno Haible  <bruno@clisp.org>
62887
62888         * modules/fwriteerror: New file.
62889         * MODULES.html.sh (func_all_modules): Add fwriteerror.
62890
62891 2003-09-14  Bruno Haible  <bruno@clisp.org>
62892
62893         * lib/fwriteerror.h: New file.
62894         * lib/fwriteerror.c: New file.
62895
62896 2003-09-12  Paul Eggert  <eggert@twinsun.com>
62897
62898         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
62899         modules/xgethostname, modules/xalloc: Depend on exit.
62900
62901 2003-09-12  Paul Eggert  <eggert@twinsun.com>
62902
62903         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
62904
62905         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
62906         and AC_MINIX, too, so that their extensions are available.
62907
62908         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
62909         This macro has been superseded by gl_BACKUPFILE.
62910
62911         More patches to assume C89 or better.
62912
62913         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
62914
62915         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
62916         unconditionally.
62917         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
62918         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
62919         Include <string.h>, <stdlib.h> unconditionally.
62920         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
62921         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
62922         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
62923         headers or for string.h.
62924         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
62925         or strtoul.
62926
62927         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
62928         headers.
62929         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
62930         * m4/userspec.m4 (gl_USERSPEC): Likewise.
62931         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
62932         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
62933         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
62934         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
62935         memcpy, memset.
62936         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
62937         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
62938         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
62939         strtol.
62940         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
62941         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
62942         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
62943         strtoul.
62944
62945 2003-09-12  Paul Eggert  <eggert@twinsun.com>
62946
62947         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
62948         * lib/obstack.c [!defined _LIBC]: Likewise.
62949         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
62950         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
62951         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
62952
62953         More changes to assume C89 or better.
62954
62955         * lib/error.c (error_tail): Assume vprintf.
62956
62957         * lib/argmatch.c (getenv): Remove decl.
62958         * lib/progreloc.c (get_full_program_name): Define via prototype.
62959         * lib/setenv.c (clearenv): Likewise.
62960         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
62961         needed.
62962         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
62963         (malloc, memcpy): Remove decls.
62964         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
62965         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
62966         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
62967         (memcpy): Remove macro.
62968         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
62969         (__P): Remove.  All uses removed.
62970         (PTR): Remove.  All uses changed to void *.
62971         (CHAR_BIT, NULL): Remove.
62972         (spaces, zeros, memset_space, memset_zero)
62973         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
62974         Remove.
62975         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
62976         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
62977         Define with prototype.
62978         Remove now-unnecessary prototype decl.
62979         (extra_args_spec): Assume ANSI C.  All uses changed.
62980         (extra_args_spec_iso): Remove.
62981         (my_strftime, emacs_strftimeu): Define via prototype.
62982         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
62983         unconditionally.
62984         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
62985         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
62986         (strtoul, strtol): Remove decls.
62987         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
62988         LONG_MAX): Remove.
62989         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
62990         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
62991         (LOCALE_PARAM_PROTO): New macro.
62992         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
62993         (INTERNAL (strtol), strtol): Define with a prototype.
62994         (PARAMS): Remove.  All uses removed.
62995         * lib/tempname.c: Include <string.h> unconditionally.
62996         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
62997         * lib/xgethostname.c (main): Define with a prototype.
62998         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
62999         Include <stdlib.h> unconditionally.
63000         (calloc, malloc, realloc, free): Remove decls.
63001         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
63002         Include <stdlib.h> unconditionally.  Sort include file names.
63003         (strtod): Remove.
63004         (xstrtod): Define with a prototype.
63005         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
63006         (strtol, strtoul): Remove decls.
63007
63008 2003-09-11  Paul Eggert  <eggert@twinsun.com>
63009
63010         More patches to assume C89 or better.
63011         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
63012         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
63013         string.h, memchr, STDC_HEADERS.
63014
63015 2003-09-11  Paul Eggert  <eggert@twinsun.com>
63016
63017         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
63018         Include <stdlib.h>, <string.h> unconditionally.
63019         Remove now-unnecessary cast to char *.
63020         * lib/strnlen.c: Include <string.h> unconditionally.
63021         * lib/yesno.c (yesno): Define with a prototype.
63022
63023 2003-09-11  Bruno Haible  <bruno@clisp.org>
63024
63025         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
63026
63027 2003-09-10  Jim Meyering  <jim@meyering.net>
63028
63029         * lib/error.c: Correct indentation of cpp directives.
63030
63031 2003-09-10  Bruno Haible  <bruno@clisp.org>
63032
63033         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
63034         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
63035         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
63036         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
63037         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
63038         <stdlib.h> and <string.h> checks.
63039         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
63040         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
63041
63042 2003-09-10  Bruno Haible  <bruno@clisp.org>
63043
63044         * lib/strcspn.c: Include <string.h> unconditionally.
63045         * lib/strpbrk.c: Include <string.h> unconditionally.
63046         * lib/strstr.c: Include <string.h> unconditionally.
63047         * lib/unicodeio.c: Include <string.h> unconditionally.
63048         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
63049         * lib/unsetenv.c: Likewise.
63050         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
63051         * lib/yesno.c: Include <stdlib.h> unconditionally.
63052         (rpmatch): Add prototype.
63053
63054 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63055
63056         More patches to assume C89 or better.
63057         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
63058         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
63059         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
63060         or for string.h.
63061         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
63062         stdlib.h.
63063         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
63064         C headers.
63065         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
63066         string.h.
63067         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
63068         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
63069         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
63070         or for string.h.
63071         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
63072         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
63073         C headers.
63074         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
63075         memcpy.
63076         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
63077         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
63078         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
63079         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
63080         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
63081         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
63082         string.h, free.
63083         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
63084         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
63085         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
63086         C headers, or for string.h.
63087         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
63088         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
63089         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
63090         headers, memory.h, stdlib.h, string.h, strings.h.
63091         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
63092         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
63093         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
63094         strchr.
63095         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
63096         headers, memory.h, string.h.
63097         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
63098         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
63099         free.
63100         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
63101         headers.
63102         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
63103         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
63104         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
63105         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
63106         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
63107
63108 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63109
63110         More K&R removal.
63111
63112         * lib/acosl.c (main): Use a prototype.
63113         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
63114         tanl.c: Likewise.
63115
63116         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
63117
63118         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
63119         (getopt, etopt_long, getopt_long_only, _getopt_internal)
63120         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
63121         with a prototype.
63122         * lib/getopt.c (const): Remove macro.
63123         Include <string.h> unconditionally.
63124         (my_index): Remove; all uses changed to strchr.
63125         (strlen): Remove decl.
63126         (exchange): Remove forward decl; no longer needed.
63127         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
63128         Define with prototype.
63129         * lib/getopt1.c (const): Remove macro.
63130         (getopt_long, getopt_long_only, main): Define with prototype.
63131
63132         * lib/getugroups.c: Include <string.h> unconditionally.
63133
63134         * lib/getusershell.c: Include <stdlib.h> unconditionally.
63135         (getusershell, setusershell, endusershell, readname, main):
63136         Define with prototypes.
63137
63138         * lib/group-member.c: Include group-member.h first.
63139         Include <stdlib.h> unconditionally.
63140
63141         * lib/hard-locale.c: Include hard-locale.h first.
63142         Include <stdlib.h>, <string.h> unconditionally.
63143
63144         * lib/hash.c (free, malloc): Remove decls.
63145         Include <stdlib.h> unconditionally.
63146
63147         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
63148         (getenv): Do not declare.
63149
63150         * lib/idcache.c: Include <string.h> unconditionally.
63151
63152         * lib/long-options.c: Include long-options.h first, to test interface.
63153         Include <stdlib.h> unconditionally.
63154
63155         * lib/makepath.c: Include makepath.h first, to test interface.
63156         Include <stdlib.h> and <string.h> unconditionally.
63157
63158         * lib/linebuffer.c: Include <stdlib.h>.
63159         (free): Remove decl.
63160
63161         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
63162         stddef.h. rpl_malloc returns void *, not char *.
63163         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
63164         prototype.
63165
63166         * lib/md5.h: Include <limits.h> unconditionally.
63167         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
63168         (__P): Remove; all uses removed.
63169         * lib/md5.c: Include "md5.h" first.
63170         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
63171         md5_buffer, md5_process_bytes, md5_process_block):
63172         Define with prototypes.
63173         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
63174         * lib/sha.c: Include "sha.h" first.
63175         Include <stdlib.h>, <string.h> unconditionally.
63176
63177         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
63178         * lib/memcmp.c (__ptr_t): Likewise.
63179         * lib/memrchr.c (__ptr_t): Likewise.
63180         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
63181         Include <string.h> unconditionally.
63182         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
63183         * lib/memchr.c: Include <stdlib.h> unconditionally.
63184         * lib/memchr.c (LONG_MAX): Remove.
63185         * lib/memrchr.c (LONG_MAX): Likewise.
63186         * lib/memchr.c (__memchr): Define via a prototype.
63187         * lib/memrchr.c (__memrchr): Likewise.
63188         * lib/memcmp.c (__P): Remove, and remove all uses.
63189         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
63190         Remove forward decls; no longer needed.
63191         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
63192         Use types required by C89 in prototype.
63193
63194         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
63195         * lib/savedir.c: Likewise.
63196         * lib/mkdir.c (free): Remove decl.
63197         * lib/rmdir.c (rmdir): Define with a prototype.
63198         * lib/savedir.c: Include savedir.h first, to test interface.
63199
63200         * lib/mktime.c (STDC_HEADERS): Remove.
63201         Include <stdlib.h>, <string.h> unconditionally.
63202
63203         * lib/modechange.c: Include <stdlib.h> unconditionally.
63204         (malloc): Remove decl.
63205
63206         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
63207         (free): Remove decl.
63208
63209         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
63210         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
63211         (This type really should be intptr_t, but that's a C99ism.)
63212         (_obstack_memcpy): Remove: all uses changed to memcpy.
63213         Include <string.h> unconditionally.
63214         (struct obstack): Assume __STDC__ for types of members
63215         chunkfun, freefun, extra_arg.
63216         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
63217         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
63218         obstack_begin, obstack_specify_allocation,
63219         obstack_specify_allocation_with_arg, obstack_chunkfun,
63220         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
63221         Remove unprototyped decls and the macros that use them.
63222         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
63223         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
63224         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
63225         (defined __STDC__ && __STDC__)]:
63226         Remove nonprototyped code.
63227         Include <stdlib.h> unconditionally.
63228         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
63229         _obstack_allocated_p, _obstack_free, obstack_free,
63230         _obstack_memory_used, print_and_abort):
63231         Define using prototypes.
63232         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
63233         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
63234         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
63235         obstack_next_free, obstack_object_size, obstack_room) [0]:
63236         Remove unused, unprototyped code.
63237
63238         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
63239
63240         * lib/physmem.c (physmem_total, physmem_available, main): Define
63241         with prototypes.
63242
63243         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
63244         (main): Define with a prototype.
63245
63246         * lib/posixver.c (getenv): Remove decl.
63247
63248         * lib/putenv.c (malloc): Returns void *, not char *.
63249         Include <string.h> unconditionally.
63250         (strchr, memcpy, NULL): Do not define.
63251
63252         * lib/readtokens.c: Include readtokens.h first, to test interface.
63253         Include <stdlib.h>, <string.h> unconditionally.
63254         (init_tokenbuffer): Define with a prototype.
63255
63256         * lib/regex.c (PARAMS): Remove.  All uses removed.
63257         All uses of _RE_ARGS removed, too.
63258         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
63259         unconditionally.
63260         (bzero): Assume memset exists.
63261         (memcmp, memcpy, NULL): Remove.
63262         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
63263         char, or assignments to local vars of type signed char.
63264         (init_syntax_once, PREFIX(extract_number_and_incr),
63265         PREFIX(print_partial_compiled_pattern),
63266         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
63267         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
63268         PREFIX(regex_grow_registers), PREFIX(regex_compile),
63269         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
63270         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
63271         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
63272         wcs_compile_range, byte_compile_range, truncate_wchar,
63273         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
63274         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
63275         count_mbs_length, wcs_re_match_2_internal,
63276         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
63277         PREFIX(alt_match_null_string_p),
63278         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
63279         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
63280         regfree, PREFIX(extract_number)): Define with prototype.  Remove
63281         now-unnecessary declaration, if any.
63282         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
63283         regcomp, regexec):
63284         Remove now-unnecessary casts among pointer types.
63285         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
63286
63287         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
63288         (free): Remove decl.
63289
63290         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
63291
63292         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
63293         (free): Remove decl.
63294
63295         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
63296         * lib/xgetcwd.c: Likewise.
63297
63298         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
63299         (free): Remove decl.
63300
63301         * lib/strchrnul.c (strchrnul): Define with a prototype.
63302         Fix bug: c_in was not converted to char before searching.
63303
63304         The following changes are not K&R related:
63305
63306         * lib/group-member.h: Include <sys/types.h>, so that this file is
63307         self-contained.
63308         * lib/makepath.h: Likewise.
63309
63310         * lib/getusershell.c (readname, default_index, line_size, readname):
63311         Use size_t, not int, for sizes.
63312         (readname): If the size overflows, report an error instead of
63313         looping forever.
63314
63315 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63316
63317         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
63318         libc.
63319
63320 2003-09-09  Paul Eggert  <eggert@twinsun.com>
63321
63322         * README: New section: portability guidelines.
63323
63324 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
63325
63326         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
63327         C89 spec.
63328
63329 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
63330
63331         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
63332
63333 2003-09-08  Paul Eggert  <eggert@twinsun.com>
63334
63335         Assume C89 or better; remove K&R cruft.
63336         A few of these changes were first proposed by Derek Robert Price
63337         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
63338
63339         * lib/addext.c: Include <string.h> unconditionally.
63340         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
63341         Don't declare getenv or malloc.
63342
63343         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
63344         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
63345         (NULL): Remove.
63346         (find_stack_direction, alloca): Use prototypes.
63347
63348         * lib/atexit.c (atexit): Define using a prototype.
63349
63350         * lib/basename.c, dirname.c, stripslash.c:
63351         Include <string.h> unconditionally.
63352
63353         * lib/bcopy.c: Include <stddef.h>.
63354         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
63355
63356         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
63357
63358         * lib/error.h (error, error_at_line, error_print_progname)
63359         [! (defined (__STDC__) && __STDC__)]: Remove decls.
63360         * lib/error.c: Include error.h first, to check interface.
63361         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
63362         (VA_START): Remove; all uses changeed to va_start.
63363         (exit, strerror): Remove decls.
63364         (error_print_progname): Prototype uncondionally.
63365         Don't include <errno.h>; no longer needed.
63366         (private_strerror): Remove.
63367         (error_tail): Always define.
63368         (error, error_at_line): Assume C89 or better; always use prototypes.
63369         * lib/fatal.c: Include "fatal.h" first, to test interface.
63370         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
63371         (VA_START): Remove; all uses changed to va_start.
63372         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
63373         this case.
63374         (exit): Remove decl.
63375         (fatal): Prototype unconditionally.  Assume va_start works.
63376         Abort at end, to pacify gcc.
63377
63378         * lib/euidaccess.c (main): Define with a prototype.
63379
63380         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
63381
63382         * lib/exitfail.c: Include <stdlib.h> unconditionally.
63383
63384         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
63385         prototypes.
63386         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
63387         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
63388         (getenv): Remove decl.
63389         (fnmatch): Define using a prototype.
63390         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
63391         (FCT): Define using a prototype.
63392
63393         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
63394
63395         * lib/gethostname.c: Include <stddef.h>.
63396         (gethostname): Define with prototype.  Length is size_t, not int.
63397
63398 2003-09-08  Paul Eggert  <eggert@twinsun.com>
63399
63400         Assume C89 or better; remove K&R cruft.
63401         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
63402         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
63403         string.h, getenv, malloc.
63404         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
63405         headers.
63406         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
63407         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
63408         do not check for strerror.
63409         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
63410         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
63411         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
63412         do not check for doprnt or vprintf.
63413         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
63414         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
63415
63416 2003-09-08  Paul Eggert  <eggert@twinsun.com>
63417
63418         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
63419         getversion.c should have been removed then, but was accidentally
63420         preserved.
63421
63422         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
63423         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
63424
63425 2003-09-08  Karl Berry  <karl@gnu.org>
63426
63427         * config/config.sub, config.guess, srclistvars.sh: update from savannah
63428                 config, forget about prep.
63429
63430         * config/depcomp, missing: update from automake.
63431
63432 2003-09-07  Paul Eggert  <eggert@twinsun.com>
63433
63434         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
63435         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
63436
63437 2003-09-07  Paul Eggert  <eggert@twinsun.com>
63438
63439         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
63440         copy_tm_result.  Bug reported by Simon Josefsson in
63441         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
63442
63443 2003-09-06  Paul Eggert  <eggert@twinsun.com>
63444
63445         * m4/time_r.m4: New file.
63446         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
63447         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
63448         is. Check for timegm declaration.
63449         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
63450         Do not check for gmtime_r.
63451         Replace mktime if __mktime_internal does not exist and if mktime
63452         hasn't been replaced already.
63453
63454 2003-09-06  Paul Eggert  <eggert@twinsun.com>
63455
63456         * lib/time_r.c, lib/time_r.h: New files.
63457
63458         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
63459         __localtime_r.
63460         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
63461         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
63462
63463         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
63464         __gmtime_r.
63465         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
63466         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
63467         Include <time_r.h>.
63468
63469         * lib/timegm.c: Switch to glibc implementation, with the following
63470         changes:
63471         [defined HAVE_CONFIG_H]: Include <config.h>.
63472         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
63473         (__mktime_internal) [!defined _LIBC]: New decl.
63474         (__gmtime_r) [!defined _LIBC]: New macro and function.
63475         (timegm): Use a prototype, since gnulib assumes C89.
63476         Do not bother declaring tmp to be const, as it's not really usefu.
63477         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
63478         (timegm): Declare only if HAVE_DECL_TIMEGM.
63479
63480 2003-09-06  Paul Eggert  <eggert@twinsun.com>
63481
63482         * MODULES.html.sh (func_all_modules): Add time_r.
63483         * modules/time_r: New file.
63484         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
63485         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
63486
63487 2003-09-03  Paul Eggert  <eggert@twinsun.com>
63488
63489         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
63490         Bug reported by Lute Kamstra in
63491         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
63492
63493         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
63494         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
63495         course with correspondingly smaller numbers for tomorrow and
63496         yesterday.  From Tadayoshi Funaba.  Originally installed into
63497         sh-utils on 1999-08-07, but the patch got lost (I guess during the
63498         coreutils merge?).
63499
63500 2003-08-31  Simon Josefsson  <jas@extundo.com>
63501
63502         * modules/timegm: New file.
63503         * MODULES.html.sh (func_all_modules): Add timegm.
63504
63505 2003-08-31  Simon Josefsson  <jas@extundo.com>
63506
63507         * m4/timegm.m4: New file.
63508
63509 2003-08-31  Simon Josefsson  <jas@extundo.com>
63510
63511         * lib/timegm.h: New file.
63512         * lib/timegm.c: New file.  Based on
63513         wget-1.8.2/src/http.c:mktime_from_utc.
63514
63515 2003-08-31  Karl Berry  <karl@gnu.org>
63516
63517         * lib/argp.h: update from libc.
63518
63519 2003-08-28  Bruno Haible  <bruno@clisp.org>
63520
63521         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
63522         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
63523         followed by '#define fnmatch fnmatch_posix' gives an error.
63524
63525 2003-08-28  Bruno Haible  <bruno@clisp.org>
63526
63527         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
63528         warning on QNX, which defines O_BINARY to 000000.
63529
63530 2003-08-27  Jim Meyering  <jim@meyering.net>
63531
63532         * m4/mkstemp.m4: Require that the system mkstemp be able to create
63533         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
63534         would fail after 32.  Reported by Danny Levinson.  Details here:
63535         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
63536
63537 2003-08-24  Bruno Haible  <bruno@clisp.org>
63538
63539         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
63540         MSVC7 <stdio.h> is included later.
63541
63542 2003-08-22  Simon Josefsson  <jas@extundo.com>
63543
63544         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
63545
63546 2003-08-20  Karl Berry  <karl@gnu.org>
63547
63548         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
63549
63550 2003-08-20  Bruno Haible  <bruno@clisp.org>
63551
63552         * modules/progname: New file.
63553         * MODULES.html.sh (func_all_modules): Add progname.
63554
63555 2003-08-20  Bruno Haible  <bruno@clisp.org>
63556
63557         * lib/progname.h: New file, from GNU gettext.
63558         * lib/progname.c: New file, from GNU gettext.
63559         * lib/progreloc.c: New file, from GNU gettext.
63560
63561 2003-08-19  Jim Meyering  <jim@meyering.net>
63562
63563         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
63564         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
63565
63566 2003-08-19  Bruno Haible  <bruno@clisp.org>
63567
63568         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
63569         more.
63570
63571 2003-08-19  Bruno Haible  <bruno@clisp.org>
63572
63573         * lib/xstrdup.c: Assume <string.h> exists.
63574
63575 2003-08-18  Paul Eggert  <eggert@twinsun.com>
63576
63577         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
63578         in makefile rules.
63579
63580 2003-08-18  Jim Meyering  <jim@meyering.net>
63581
63582         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
63583         * m4/lib-ld.m4: Likewise.
63584
63585 2003-08-18  Jim Meyering  <jim@meyering.net>
63586
63587         * lib/setenv.h: Indent nested cpp directive.
63588         * lib/vasnprintf.c: Remove trailing blanks.
63589
63590 2003-08-17  Simon Josefsson  <jas@extundo.com>
63591
63592         * modules/xstrndup: New file.
63593         * MODULES.html.sh (func_all_modules): Add xstrndup.
63594
63595 2003-08-17  Simon Josefsson  <jas@extundo.com>
63596
63597         * modules/argp: Fix autoconf macro name. Add more dependencies.
63598
63599 2003-08-17  Simon Josefsson  <jas@extundo.com>
63600
63601         * m4/xstrndup.m4: New file.
63602
63603 2003-08-17  Simon Josefsson  <jas@extundo.com>
63604
63605         * m4/argp.m4: New file.
63606
63607 2003-08-17  Simon Josefsson  <jas@extundo.com>
63608             Bruno Haible  <bruno@clisp.org>
63609
63610         * lib/xstrndup.h: New file.
63611         * lib/xstrndup.c: New file.
63612
63613 2003-08-17  Bruno Haible  <bruno@clisp.org>
63614
63615         * modules/strndup (Files, Include): Add lib/strndup.h.
63616
63617 2003-08-17  Bruno Haible  <bruno@clisp.org>
63618
63619         * modules/euidaccess (Files): Add lib/euidaccess.h.
63620
63621 2003-08-17  Bruno Haible  <bruno@clisp.org>
63622
63623         * lib/strndup.h: New file.
63624
63625 2003-08-17  Bruno Haible  <bruno@clisp.org>
63626
63627         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
63628         like AC_GNU_SOURCE.
63629         * modules/extensions (configure.ac): Comment out the invocation of
63630         gl_USE_SYSTEM_EXTENSIONS.
63631
63632 2003-08-16  Paul Eggert  <eggert@twinsun.com>
63633
63634         Merges from coreutils, etc.
63635         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
63636         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
63637         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
63638         fixing a typo.
63639         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
63640         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
63641
63642 2003-08-16  Paul Eggert  <eggert@twinsun.com>
63643
63644         Document merge from coreutils.
63645         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
63646         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
63647         * modules/utime: Add m4/utimes-null.m4.
63648
63649 2003-08-16  Paul Eggert  <eggert@twinsun.com>
63650
63651         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
63652         space, undoing this 2003-08-12 change:
63653         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
63654
63655 2003-08-16  Paul Eggert  <eggert@twinsun.com>
63656
63657         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
63658         strtoul.c from libc, undoing this 2003-08-12 change:
63659         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
63660
63661 2003-08-16  Jim Meyering  <jim@meyering.net>
63662
63663         Merges from coreutils.
63664         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
63665         prefix.  Adjust cache variables similarly.  Create 500 rather than
63666         just 300 files, to exercise bug on Darwin6.5, too.
63667         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
63668         $missing_dir.
63669         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
63670         AM_SYS_POSIX_TERMIOS.
63671         Reported by mkc@mathdogs.com.
63672         Also change use of $am_cv_sys_posix_termios
63673         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
63674         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
63675         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
63676         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
63677         in /proc/mounts until it finds one with matching device number.  This
63678         is unnecessary when the FILE argument *is* a mount point.  No stat call
63679         is necessary in that case.  So, disable the statvfs-testing code on
63680         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
63681         as RedHat bug# 84846.
63682         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
63683         to 1MB, so as not to render systems with no stack size limit (e.g.,
63684         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
63685         Include <unistd.h>.  On some systems,
63686         it is required for the definition of _SC_PAGESIZE.
63687
63688 2003-08-16  Jim Meyering  <jim@meyering.net>
63689
63690         Merge from coreutils.
63691         * lib/xstrtoimax.c: #else #if -> #elif.
63692         * lib/xstrtoumax.c: Likewise.
63693
63694 2003-08-16  Jim Meyering  <jim@meyering.net>
63695
63696         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
63697         * m4/utimes.m4: Removed.
63698         * m4/utimes-null.m4: Renamed from utimes.m4.
63699
63700         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
63701         to 1MB, so as not to render systems with no stack size limit (e.g.,
63702         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
63703         Include <unistd.h>.  On some systems,
63704         it is required for the definition of _SC_PAGESIZE.
63705
63706 2003-08-16  Jim Meyering  <jim@meyering.net>
63707         and Paul Eggert  <eggert@cs.ucla.edu>
63708
63709         Merges from coreutils, etc.
63710
63711         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
63712         using the latest version from cvs.  This avoids problems with #line
63713         directives using a vendor (Sun) compiler.
63714         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
63715         Don't set GETGROUPS_LIB here; now it's
63716         done via getgroups.m4's wrapper function.
63717         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
63718         rather than just in sh-util/configure.in, so that the
63719         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
63720         same.
63721         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
63722         AC_FUNC_GETLOADAVG where to find getloadavg.c.
63723         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
63724         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
63725         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
63726         Remove code that is now done by the newly-required macros.
63727         Append $(EXEEXT) to DF_PROG.
63728         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
63729         Do not invoke or require the following here,
63730         since prereq.m4 or some gnulib .m4 now does this for us:
63731         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
63732         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
63733         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
63734         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
63735         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
63736         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
63737         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
63738         AC_FUNC_OBSTACK.
63739         Do not replace the following functions, as this is now the job
63740         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
63741         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
63742         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
63743         atexit getpass, strdup, getpagesize.
63744         Replace 'raise'.
63745         Do not check for the following functions, as this is now the job
63746         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
63747         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
63748         setregid.
63749         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
63750         Check for sys/sysctl.h.
63751         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
63752         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
63753         of checking for ssize_t ourselves.
63754
63755         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
63756         Require every macro that gnulib/modules/* suggests for us.
63757         (jm_PREREQ_ADDEXT): New macro.
63758         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
63759         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
63760
63761         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
63762         (gl_PHYSMEM): Use it.
63763         Also check for `table' function.
63764         Check for new headers and functions.
63765         Add check for sys/sysmp.h.
63766         With suggestions from Kaveh Ghazi.
63767         Ignore headers that are present but cannot be compiled.  This
63768         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
63769         C 5.4.
63770
63771 2003-08-15  Paul Eggert  <eggert@twinsun.com>
63772
63773         Document merge from coreutils.
63774         * modules/userspec: Depend on posixver.
63775         * modules/strftime: Depend on tzset.
63776
63777 2003-08-15  Paul Eggert  <eggert@twinsun.com>
63778
63779         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
63780         rather than tab, after '#' in shell-script copyright notices.
63781         Suggested by Bruno Haible.
63782
63783 2003-08-15  Paul Eggert  <eggert@twinsun.com>
63784
63785         * config/srclist-update: Use three spaces, rather than tab, after '#'
63786         in shell-script copyright notices.  Suggested by Bruno Haible.
63787         Remove unnecessary parenthesization in regular expression.
63788
63789 2003-08-15  Jim Meyering  <jim@meyering.net>
63790
63791         Merge from coreutils.
63792         * lib/xgethostname.c: Include <stdlib.h>.
63793         (xghostname): Don't exit for anything other than memory-related
63794         failure; just return NULL.
63795         * lib/userspec.c: Include "posixver.h".
63796         (parse_user_spec): Accept `.' as a separator only
63797         in pre-POSIX-200112 mode.
63798         * lib/strtoimax.c: Use #elif rather than #else #if.
63799         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
63800         Remove function, now that we can rely on a working tzset function.
63801         [!_LIBC]: Ensure that the required autoconf test has been run.
63802         [!defined _NL_CURRENT && HAVE_STRFTIME]:
63803         Use underlying_strftime for %r.
63804         * lib/sha.c: Merge in some clean-up and optimization changes from
63805         glibc.
63806         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
63807         Ensure that it is a multiple of 64.
63808         Rearrange loop exit tests so as to avoid performing an
63809         additional fread after encountering an error or EOF.
63810         * lib/realloc.c: Update copyright date.
63811
63812 2003-08-15  Jim Meyering  <jim@meyering.net>
63813         and Paul Eggert  <eggert@twinsun.com>
63814
63815         Merge from coreutils.
63816         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
63817         member but strut utmpx does not.  Needed for AIX 4.3.3.
63818         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
63819
63820 2003-08-15  Jim Meyering  <jim@meyering.net>
63821         and Paul Eggert  <eggert@cs.ucla.edu>
63822
63823         Merges from coreutils, etc.
63824         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
63825         Require gl_FUNC_TZSET_CLOBBER.
63826         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
63827         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
63828         members.
63829
63830 2003-08-14  Paul Eggert  <eggert@twinsun.com>
63831
63832         Help the merge from coreutils.
63833         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
63834         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
63835         * m4/tzset.m4: Use it too.
63836
63837 2003-08-14  Paul Eggert  <eggert@twinsun.com>
63838
63839         * modules/tzset: New file.
63840
63841 2003-08-14  Jim Meyering  <jim@meyering.net>
63842
63843         Merges from coreutils.
63844         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
63845         variable names, rather than @FNMATCH_H@.
63846         * modules/alloca: Likewise for $(ALLOCA_H).
63847
63848         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
63849         the three copies of the literal target, `fnmatch.h'.
63850         * modules/alloca (alloca.h): Likewise.
63851
63852 2003-08-14  Jim Meyering  <jim@meyering.net>
63853
63854         Merge from coreutils.
63855         * m4/tzset.m4: New file.
63856         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
63857         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
63858         otherwise, AIX 5.1 systems would end up using the latter.
63859         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
63860         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
63861         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
63862         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
63863
63864 2003-08-14  Jim Meyering  <jim@meyering.net>
63865
63866         Merge from coreutils.
63867         * lib/obstack.h: Whitespace changes.
63868         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
63869         and xcalloc return values.
63870         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
63871         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
63872         hang on OSF/1 5.1 for DIR on both local and remote file systems.
63873         Reported by (and fix confirmed by) Nelson H. F. Beebe.
63874         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
63875         error from mntctl.
63876         Use mntctl's return value to drive the entry-processing loop, since
63877         we can't rely on the value of the vmt_length member in the last
63878         entry.  On some systems doing so could result in exhausting
63879         virtual memory.  Based in part on a patch from Mike Jetzer.
63880
63881 2003-08-14  Jim Meyering  <jim@meyering.net>
63882         and Paul Eggert  <eggert@twinsun.com>
63883
63884         Merges from coreutils, plus other fixes.
63885         * lib/physmem.c: Merge in portability changes from gcc/libiberty
63886         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
63887         for credits and details.  Thanks to Kaveh Ghazi for helping
63888         to keep these files in sync.
63889         (ARRAY_SIZE): Define it.
63890         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
63891         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
63892         (memcasecmp): Don't assume size_t fits in unsigned int.
63893         Remove casts and duplicate code.
63894         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
63895         (memcpy): Remove definition.
63896         Merge in some clean-up and optimization changes from glibc.
63897         [BLOCKSIZE]: Move definition to top of file.
63898         Ensure that it is a multiple of 64.
63899         Rearrange loop exit tests so as to avoid performing an
63900         additional fread after encountering an error or EOF.
63901         * lib/md5.h (md5_uintptr): Define.
63902         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
63903         return to the initial working directory.  Preserve errno
63904         for caller.
63905         * lib/idcache.c: Include "xalloc.h".
63906         (xmalloc, xrealloc): Remove decls.
63907         (getuser): Remove casts no longer required in C89.
63908         * lib/human.c: Include stdio.h, for sprintf.
63909         * lib/group-member.c: Include "xalloc.h".
63910         (xmalloc, xrealloc): Remove decls.
63911         (get_group_info): Remove casts no longer required in C89.
63912         * lib/getusershell.c (readname): Remove casts no longer required in
63913         C89.
63914         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
63915         * lib/getline.c: Whitespace fix, from coreutils.
63916
63917 2003-08-13  Paul Eggert  <eggert@twinsun.com>
63918
63919         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
63920         Check for isascii.
63921
63922         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
63923         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
63924         Undo previous (whitespace-only) change.
63925
63926 2003-08-13  Paul Eggert  <eggert@twinsun.com>
63927
63928         * lib/exclude.c: Include <ctype.h>
63929         (IN_CTYPE_DOMAIN): New macro.
63930         (is_space): New fn.
63931         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
63932         and empty lines.
63933
63934         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
63935         Undo previous (whitespace-only) change.
63936
63937 2003-08-13  Paul Eggert  <eggert@twinsun.com>
63938
63939         * config/srclist-update: Change update back to the old behavior,
63940         leaving whitespace alone.  Use one 'sed' command rather than a
63941         pipeline.
63942         (fixlicense): Now a variable, not a function.
63943         (remove_trailing_blanks): Remove.
63944         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
63945         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
63946         Undo previous (whitespace-only) change.
63947
63948 2003-08-12  Paul Eggert  <eggert@twinsun.com>
63949
63950         Merge from coreutils.
63951         * modules/euidaccess: Add lib_SOURCES, include for new
63952         file euidaccess.h
63953
63954 2003-08-12  Paul Eggert  <eggert@twinsun.com>
63955
63956         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
63957         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
63958         Normalize leading white space and remove trailing white space.
63959
63960         Merge from coreutils
63961         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
63962
63963         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
63964         0.12.1.  These files are now being upgraded automatically by
63965         ../config/srclist-update.
63966
63967 2003-08-12  Paul Eggert  <eggert@twinsun.com>
63968
63969         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
63970         Normalize leading white space and remove trailing white space.
63971         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
63972         notice, as per ../config/srclist-update.
63973
63974         Merge from coreutils.
63975         * lib/euidaccess.h: New file.
63976         * lib/euidaccess.c: Include it.
63977         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
63978         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
63979         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
63980
63981 2003-08-12  Paul Eggert  <eggert@twinsun.com>
63982
63983         * config/srclist-update: Add copyright notice.
63984         (remove_id_lines, remove_trailing_blanks): New constants.
63985         (fixfile): Use them to normalize spacing a bit in copied files.
63986         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
63987         Normalize leading white space and remove trailing white space.
63988
63989         * config/texinfo.tex: Sync with texinfo.
63990
63991         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
63992         strtoul.c from libc, to merge coreutils whitespace changes.
63993
63994         * config/srclist.txt: Get the following m4 files from gettext:
63995         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
63996         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
63997         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
63998         wint_t.m4.
63999
64000 2003-08-12  Karl Berry  <karl@gnu.org>
64001
64002         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
64003         been made.
64004
64005 2003-08-11  Paul Eggert  <eggert@twinsun.com>
64006
64007         * modules/gnu-source, m4/gnu-source.m4:
64008         Remove; we're assuming Autoconf 2.54 or later now.
64009         Suggested by Bruno Haible.
64010         * MODULES.html.sh (func_all_modules): Remove gnu-source.
64011
64012 2003-08-11  Bruno Haible  <bruno@clisp.org>
64013
64014         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
64015
64016 2003-08-11  Bruno Haible  <bruno@clisp.org>
64017
64018         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
64019         (vasnprintf): Use it instead of wcslen.
64020
64021 2003-08-11  Bruno Haible  <bruno@clisp.org>
64022
64023         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
64024         value to ensure that _Bool promotes to int. Use #define for _Bool when
64025         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
64026
64027 2003-08-10  Karl Berry  <karl@gnu.org>
64028
64029         * lib/regex.h: update from libc (whitespace fix).
64030
64031 2003-08-09  Paul Eggert  <eggert@twinsun.com>
64032
64033         Merge some files from coreutils.  These changes were
64034         originally made by Jim Meyering.
64035         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
64036         many older Unixes require this.
64037         * lib/alloca.c (alloca): Remove cast to argument of free;
64038         no longer needed in C89.
64039         * lib/alloca_.h, regex.h: Fix white space to match
64040         what GNU indent does.
64041
64042 2003-08-09  Paul Eggert  <eggert@twinsun.com>
64043
64044         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
64045         apparently Emacs's Unicode mode got confused before my 2003-08-05
64046         checkin.
64047
64048 2003-08-08  Paul Eggert  <eggert@twinsun.com>
64049
64050         * m4/extensions.m4: New file.
64051         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
64052         Require gl_USE_SYSTEM_EXTENSIONS.
64053         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
64054         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
64055
64056 2003-08-08  Paul Eggert  <eggert@twinsun.com>
64057
64058         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
64059         * modules/extensions, modules/gnu-source: New files.
64060         * modules/timespec, modules/unlocked-io: Depend on extensions.
64061
64062 2003-08-07  Paul Eggert  <eggert@twinsun.com>
64063
64064         * modules/restrict: New file.
64065         * MODULES.html.sh (func_all_modules): Add restrict.
64066         * modules/regex: Depend on restrict.
64067
64068 2003-08-07  Paul Eggert  <eggert@twinsun.com>
64069
64070         * m4/restrict.m4: New file.
64071         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
64072
64073 2003-08-07  Bruno Haible  <bruno@clisp.org>
64074
64075         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
64076         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
64077
64078 2003-08-07  Bruno Haible  <bruno@clisp.org>
64079
64080         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
64081         makes the module 'getndelim2' compatible with the module 'getline'.
64082
64083 2003-08-05  Paul Eggert  <eggert@twinsun.com>
64084
64085         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
64086         byte with "\201" to avoid glitches when editing that source file
64087         with multi-gnome-terminal.
64088
64089 2003-08-05  Paul Eggert  <eggert@twinsun.com>
64090
64091         * lib/bumpalloc.h: Remove.
64092
64093 2003-08-05  Paul Eggert  <eggert@twinsun.com>
64094
64095         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
64096         * modules/bumpalloc: Remove.
64097
64098 2003-08-04  Paul Eggert  <eggert@twinsun.com>
64099
64100         * lib/getloadavg.c: Change copyright notice and spacing to conform to
64101         GNU coding style.
64102
64103         Merge from coreutils.
64104         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
64105         1. From glibc.
64106         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
64107         from Karl Berry, implemented by Jim Meyering.
64108         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
64109         from Dmitry V. Levin.
64110         Remove anachronistic cast of xrealloc.
64111         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
64112         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
64113         type. Otherwise, it wouldn't compile with at least /bin/cc on
64114         ymp-cray-unicos9.0.2.X.
64115         Combine two mostly-identical uses of alloca into one.
64116         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
64117
64118 2003-08-04  Dave Love  <d.love@dl.ac.uk>
64119
64120         [From Emacs.]
64121
64122         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
64123         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
64124         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
64125         obsolete NLIST_NAME_UNION.
64126         [__GNU__]: Undef BSD and FSCALE.
64127         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
64128
64129 2003-08-03  Paul Eggert  <eggert@twinsun.com>
64130
64131         * lib/stdbool_.h (_Bool): Make it signed char, instead of
64132         an enum type, so that it's guaranteed to promote to int.  See:
64133         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
64134
64135 2003-08-03  Karl Berry  <karl@gnu.org>
64136
64137         * config/depcomp: update from automake.
64138
64139 2003-07-31  Paul Eggert  <eggert@twinsun.com>
64140
64141         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
64142         (strerror): Don't assume that a printable int fits in 14 bytes.
64143
64144 2003-07-31  Bruno Haible  <bruno@clisp.org>
64145
64146         * modules/getpass-gnu: New file.
64147         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
64148
64149 2003-07-31  Bruno Haible  <bruno@clisp.org>
64150
64151         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
64152
64153 2003-07-24  Karl Berry  <karl@gnu.org>
64154
64155         * config/missing: update from automake.
64156
64157 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
64158             Bruno Haible  <bruno@clisp.org>
64159
64160         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
64161         * lib/getline.c (getline, getdelim): Likewise.
64162         Remove _GNU_SOURCE define; now it's defined in config.h through
64163         m4/getline.m4.
64164
64165 2003-07-23  Karl Berry  <karl@gnu.org>
64166
64167         * config/config.sub: update from prep.
64168
64169 2003-07-22  Paul Eggert  <eggert@twinsun.com>
64170
64171         * modules/xalloc (Depends-on): Add exitfail.
64172         * modules/xmemcoll: Likewise.
64173
64174 2003-07-22  Paul Eggert  <eggert@twinsun.com>
64175
64176         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
64177         over-parenthesization in macros.
64178
64179         Sync with coreutils.
64180
64181         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
64182         required by C99.
64183
64184         Use `exit_failure' for xalloc and xmemcoll instead of their own
64185         private exit-failure variables.
64186         * lib/xalloc.h (xalloc_exit_failure): Remove.
64187         * lib/xmalloc.c: Likewise.  Include exitfail.h.
64188         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
64189         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
64190         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
64191         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
64192
64193 2003-07-20  Jim Meyering  <jim@meyering.net>
64194
64195         * modules/closeout (Depends-on): Add exitfail.
64196         Suggestion from Bruno Haible.
64197
64198 2003-07-19  Karl Berry  <karl@gnu.org>
64199
64200         * config/config.sub: update from prep.
64201
64202 2003-07-18  Paul Eggert  <eggert@twinsun.com>
64203
64204         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
64205         Remove.
64206         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
64207         to test that it can stand by itself.  Include "exitfail.h".
64208         Clients should set exit_failure instead.
64209         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
64210
64211 2003-07-18  Bruno Haible  <bruno@clisp.org>
64212
64213         * modules/getndelim2: New file.
64214         * modules/getline: Share files with module getndelim2.
64215         * modules/getnline: Depend on getndelim2 instead of sharing files with
64216         it. Add getnline.c to lib_SOURCES.
64217         * MODULES.html.sh (func_all_modules): Add getndelim2.
64218
64219 2003-07-18  Bruno Haible  <bruno@clisp.org>
64220
64221         * m4/getndelim2.m4: New file.
64222         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
64223         invoke gl_PREREQ_GETNDELIM2.
64224         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
64225         gl_PREREQ_GETNDELIM2.
64226         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
64227         gl_GETNDELIM2.
64228
64229 2003-07-18  Bruno Haible  <bruno@clisp.org>
64230
64231         * lib/getndelim2.h: New file.
64232         * lib/getndelim2.c: Make into a module of its own. Include config.h,
64233         getndelim2.h.
64234         (getndelim2): Make non-static. Change return type to ssize_t.
64235         * lib/getline.h: Change argument names.
64236         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
64237         * lib/getnline.c: Include getndelim2.h.
64238
64239 2003-07-18  Andreas Schwab  <schwab@suse.de>
64240
64241         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
64242
64243 2003-07-17  Karl Berry  <karl@gnu.org>
64244
64245         * config/config.sub: update from prep.
64246
64247 2003-07-17  Bruno Haible  <bruno@clisp.org>
64248
64249         * modules/getnline: New file.
64250         * modules/getline: Add lib/getndelim2.c to source file list.
64251         * MODULES.html.sh (func_all_modules): Add getnline.
64252
64253 2003-07-17  Bruno Haible  <bruno@clisp.org>
64254
64255         * m4/getnline.m4: New file.
64256
64257 2003-07-17  Bruno Haible  <bruno@clisp.org>
64258
64259         * m4/Makefile.am.in: Remove file.
64260         * m4/Makefile.am: Remove file.
64261         * m4/Makefile.in: Remove file.
64262
64263 2003-07-17  Bruno Haible  <bruno@clisp.org>
64264
64265         * lib/getnline.h: New file.
64266         * lib/getnline.c: New file.
64267         * lib/getndelim2.c: New file, extracted from getline.c.
64268         (getndelim2): Renamed from getdelim2, with added nmax argument.
64269         * lib/getline.c: Include getndelim2.c.
64270         (getdelim2): Moved out to getndelim2.c.
64271         (getline, getdelim): Update.
64272
64273 2003-07-17  Bruno Haible  <bruno@clisp.org>
64274
64275         * lib/Makefile.am: Remove file.
64276         * lib/Makefile.in: Remove file.
64277
64278 2003-07-17  Bruno Haible  <bruno@clisp.org>
64279
64280         * configure.in: Remove file.
64281         * Makefile.in: Remove file.
64282
64283 2003-07-17  Bruno Haible  <bruno@clisp.org>
64284
64285         * MODULES.html.sh: Put the </BODY> right before </HTML>.
64286
64287 2003-07-16  Karl Berry  <karl@gnu.org>
64288
64289         * config/srclist-update: was running fixlicense twice, which caused
64290                 texinfo.tex to be nullified for some reason.  Simplify,
64291                 $gplsrc is no longer needed as far as I can see?
64292
64293 2003-07-16  Jim Meyering  <jim@meyering.net>
64294
64295         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
64296
64297 2003-07-15  Paul Eggert  <eggert@twinsun.com>
64298
64299         * config/srclist.txt: Get the following files from gettext-runtime/intl
64300         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
64301         ref-del.sin.  From Bruno Haible.
64302         * config/srclist-update (fixfile): Change grep pattern again, since the
64303         previous fix didn't work (there was another trailing $).  Use
64304         '[$]' to escape the $s.
64305
64306 2003-07-15  Karl Berry  <karl@gnu.org>
64307
64308         * lib/vasnprintf.c: update from gettext.
64309
64310 2003-07-15  Karl Berry  <karl@gnu.org>
64311
64312         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
64313         gets expanded when surrounded by '$'.
64314
64315 2003-07-15  Jim Meyering  <jim@meyering.net>
64316
64317         * modules/save-cwd: Don't depend on error.  From Derek Price.
64318
64319 2003-07-15  Jim Meyering  <jim@meyering.net>
64320
64321         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
64322
64323 2003-07-14  Simon Josefsson  <jas@extundo.com>
64324
64325         * modules/mempcpy: New file.
64326         * MODULES.html.sh (func_all_modules): Add mempcpy.
64327
64328 2003-07-14  Simon Josefsson  <jas@extundo.com>
64329
64330         * m4/mempcpy.m4: New file.
64331
64332 2003-07-14  Simon Josefsson  <jas@extundo.com>
64333
64334         * lib/mempcpy.h: New file.
64335         * lib/mempcpy.c: New file.
64336
64337 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64338
64339         * modules/getdate, modules/posixtm: Depend on mktime.
64340
64341 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64342
64343         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
64344         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
64345         unicodeio.c, unicodeio.h, unlocked-io.h:
64346         Switch from LGPL to GPL.
64347
64348 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64349
64350         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
64351         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
64352         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
64353         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
64354         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
64355         updated automatically by ../config/srclist-update.  This changes
64356         their license from LPGL to GPL.
64357
64358 2003-07-14  Paul Eggert  <eggert@twinsun.com>
64359
64360         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
64361         assumed to refer to the root of the most recent stable gettext version.
64362         * config/srclistvars.sh: Add defaults for eggert.
64363         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
64364         Match "This program" as well as "The program".  This is needed
64365         for gettext.
64366
64367 2003-07-14  Jim Meyering  <jim@meyering.net>
64368
64369         Don't emit diagnostics.  Let callers do that.
64370         * lib/save-cwd.c: Don't include "error.h".
64371         (save_cwd): Don't call error.  Ensure that errno is valid
64372         when returning nonzero.
64373
64374         * lib/save-cwd.h (restore_cwd): Update prototype.
64375         * lib/save-cwd.c (restore_cwd): Remove two parameters.
64376         Simplify.  Don't call error upon failure.  Let callers do that.
64377         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
64378         when auditing is enabled.  But don't bother updating the #if.
64379
64380 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
64381
64382         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
64383         it breaks C++ compilation.
64384         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
64385
64386 2003-07-10  Simon Josefsson  <jas@extundo.com>
64387
64388         * modules/strchrnul (Makefile.am): Add strchrnul.h.
64389
64390 2003-07-10  Jim Meyering  <jim@meyering.net>
64391
64392         * m4/clock_time.m4: Remove trailing blank.
64393         * m4/intmax_t.m4: Likewise.
64394
64395 2003-07-10  Jim Meyering  <jim@meyering.net>
64396
64397         * lib/vasnprintf.c: Remove trailing blanks.
64398         Make cpp indentation consistent.
64399
64400 2003-07-09  Paul Eggert  <eggert@twinsun.com>
64401
64402         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
64403         posixver.c, strftime.c, strnlen.c, strverscmp.c:
64404         Switch from LGPL to GPL.
64405
64406 2003-07-09  Paul Eggert  <eggert@twinsun.com>
64407
64408         * config/srclist.txt: Sort sublists.  Add
64409         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
64410         that differ from gnulib for one reason or another; we'd like this list
64411         to be smaller but for now let's document what we have.
64412
64413 2003-07-08  Paul Eggert  <eggert@twinsun.com>
64414
64415         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
64416         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
64417         and sweeter "eval x=$x".
64418         * config/srclist.txt: Get lib/argp* from glibc.
64419
64420 2003-07-07  Paul Eggert  <eggert@twinsun.com>
64421
64422         * lib/mktime.c: Fix some boundary cases and remove need for floating
64423         point.
64424
64425         Issue a compile-time diagnostic if time_t is floating point, or if
64426         two's complement arithmetic is not in effect, or if arithmetic
64427         right shift does not propagate the sign.  These assumptions were
64428         all in the original code but they weren't checked.
64429
64430         (TIME_T_MIDPOINT, verify): New macros.
64431         (__isleap): Remove; it has integer overflow problems.
64432         (leapyear): New function, without those problems.
64433         (ydhms_tm_diff): Remove; splitting into two parts.
64434         (ydhms_diff): New function, containing the arithmetic part of
64435         the old ydhms_tm_diff function.  Issue a compile-time
64436         diagnostic if we are not using C99 integer division.
64437         Avoid casts when possible.
64438         (guess_time_tm): New function, containing the checking part of
64439         the old ydhms_tm_diff function.  Return the new value, rather than
64440         the difference between it and the old.  Accept a new argument T
64441         so that *T specifies the old value.  Check for overflow in the result.
64442
64443         (__mktime_internal): Use a time_t offset, not a long int offset.
64444         This undoes the 2003-06-04 change, which is no longer needed now
64445         that we have better overflow checking.
64446         (localtime_offset): Likewise.
64447
64448         (__mktime_internal): Avoid harmful overflow on hosts where time_t
64449         and long are 64-bit but int is only 32-bit.
64450         (ydhms_diff): Use long int to store year1 and yday1.
64451         Issue a compile-time diagnostic if long int is not wide enough.
64452
64453         (__mktime_internal): Use long int to store adjusted year and yday.
64454         Use plain C rather than preprocessor commands, if that doesn't
64455         affect efficiency.
64456         Check for overflow (and try to repair) after each probe
64457         rather than checking only at the very end.  This avoids some bugs
64458         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
64459         does not equal GMT offset at maximum time).
64460         Use integer to check for overflow rather than floating point; this
64461         is more portable to non-IEEE hosts, and is a tad faster.
64462         When we detect that we are oscillating between two values,
64463         don't check whether tm_isdst has the requested value, since
64464         we already know the answer.  When tm_isdst has the wrong value,
64465         use a different heuristic to find the right one, based on the
64466         extreme values actually observed in practice in tz2003a,
64467         rather than the (overly optimistic) "previous 3 calendar quarters".
64468
64469         (not_equal_tm, print_tm, check_result): Use "const T" rather than
64470         "T const" to accommodate glibc style.
64471         (check_result): Use less-confusing report format.  "long" -> "long int.
64472         (main): Likewise.
64473         Don't loop if the iteration overflows time_t.
64474         Allow a negative step in the iteration.
64475
64476 2003-07-06  Karl Berry  <karl@gnu.org>
64477
64478         * config/depcomp: update from automake.
64479         * config/config.sub: update from prep.
64480
64481 2003-07-03  Karl Berry  <karl@gnu.org>
64482
64483         * config/config.guess: update from prep.
64484
64485 2003-07-01  Paul Eggert  <eggert@twinsun.com>
64486
64487         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
64488         xreadlink.c now includes it unconditionally.
64489
64490 2003-07-01  Paul Eggert  <eggert@twinsun.com>
64491
64492         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
64493         having it depend on HAVE_SYS_TYPES_H.
64494
64495 2003-07-01  Bruno Haible  <bruno@clisp.org>
64496
64497         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
64498         <sys/types.h> should be sufficient.
64499         Reported by Paul Eggert.
64500
64501 2003-06-26  Karl Berry  <karl@gnu.org>
64502
64503         * config/depcomp: update from automake.
64504
64505 2003-06-26  Bruno Haible  <bruno@clisp.org>
64506
64507         * modules/human: Depend on module stdbool.
64508
64509 2003-06-25  Bruno Haible  <bruno@clisp.org>
64510
64511         * modules/readlink: New file.
64512         * modules/xreadlink: Depend on it.
64513         * MODULES.html.sh (func_all_modules): Add readlink.
64514
64515 2003-06-25  Bruno Haible  <bruno@clisp.org>
64516
64517         * m4/readlink.m4: New file.
64518
64519 2003-06-25  Bruno Haible  <bruno@clisp.org>
64520
64521         * lib/readlink.c: New file.
64522
64523 2003-06-22  Karl Berry  <karl@gnu.org>
64524
64525         * config/srclist.txt: update mkinstalldirs from automake.
64526         * config/mkinstalldirs: update.
64527
64528 2003-06-22  Bruno Haible  <bruno@clisp.org>
64529
64530         Portability to mingw32.
64531         * m4/ssize_t.m4: New file, from GNU gettext.
64532         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
64533         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
64534
64535 2003-06-22  Bruno Haible  <bruno@clisp.org>
64536
64537         * modules/safe-read: Add m4/ssize_t.m4.
64538         * modules/xreadlink: Add m4/ssize_t.m4.
64539
64540 2003-06-20  Bruno Haible  <bruno@clisp.org>
64541
64542         Assume C89, so PARAMS isn't needed.
64543         * lib/unicodeio.h (PARAMS): Remove.
64544         * lib/unicodeio.c: Don't use PARAMS.
64545
64546 2003-06-18  Karl Berry  <karl@gnu.org>
64547
64548         * config/config.{guess,sub}: update from prep.
64549
64550 2003-06-18  Jim Meyering  <jim@meyering.net>
64551
64552         Merge changes from coreutils.
64553         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
64554         Remove explicit declarations of xmalloc and realloc.
64555         Include xalloc.h.
64556         (read_utmp): Remove anachronistic cast of xmalloc.
64557
64558 2003-06-17  Paul Eggert  <eggert@twinsun.com>
64559
64560         Assume C89, so PARAMS isn't needed.
64561         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
64562         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
64563         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
64564         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
64565         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
64566         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
64567         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
64568         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
64569         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
64570         lib/xstrtod.h, lib/xstrtol.h: Likewise.
64571         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
64572         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
64573         no longer needed. Anyway, config.h should always be included before any
64574         other file.
64575
64576 2003-06-11  Simon Josefsson  <jas@extundo.com>
64577
64578         * modules/sysexits: New file.
64579         * MODULES.html.sh (func_all_modules): Add sysexits.
64580
64581 2003-06-11  Simon Josefsson  <jas@extundo.com>
64582
64583         * lib/sysexit_.h: New file.
64584
64585 2003-06-11  Derek Price  <derek@ximbiot.com>
64586
64587         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
64588         necessary.
64589
64590 2003-06-11  Bruno Haible  <bruno@clisp.org>
64591
64592         * m4/sysexits.m4: New file.
64593
64594 2003-06-10  Simon Josefsson  <jas@extundo.com>
64595
64596         * lib/argp.h: New file, from glibc.
64597         * lib/argp-ba.c: New file, from glibc.
64598         * lib/argp-eexst.c: New file, from glibc.
64599         * lib/argp-fmtstream.c: New file, from glibc.
64600         * lib/argp-fmtstream.h: New file, from glibc.
64601         * lib/argp-fs-xinl.c: New file, from glibc.
64602         * lib/argp-help.c: New file, from glibc.
64603         * lib/argp-namefrob.h: New file, from glibc.
64604         * lib/argp-parse.c: New file, from glibc.
64605         * lib/argp-pv.c: New file, from glibc.
64606         * lib/argp-pvh.c: New file, from glibc.
64607         * lib/argp-xinl.c: New file, from glibc.
64608
64609 2003-06-10  Simon Josefsson  <jas@extundo.com>
64610
64611         * modules/strchrnul: New file.
64612
64613 2003-06-10  Simon Josefsson  <jas@extundo.com>
64614
64615         * modules/argp: New file.
64616
64617 2003-06-10  Simon Josefsson  <jas@extundo.com>
64618
64619         * m4/strchrnul.m4: New file.
64620
64621 2003-06-10  Simon Josefsson  <jas@extundo.com>
64622
64623         * lib/strchrnul.h: New file.
64624         * lib/strchrnul.c: New file.
64625
64626 2003-06-10  Bruno Haible  <bruno@clisp.org>
64627
64628         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
64629
64630 2003-06-07  Karl Berry  <karl@gnu.org>
64631
64632         * config/config.{guess,sub}: update from prep.
64633
64634 2003-06-07  Jim Meyering  <jim@meyering.net>
64635
64636         * modules/strtod: Use $(...) notation, not @...@ for
64637         AC_REPLACE'd variables.
64638         * modules/localcharset: Likewise.
64639
64640 2003-06-07  Jim Meyering  <jim@meyering.net>
64641
64642         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
64643         in place of my name in the copyright comment.
64644         Remove definition and uses of __P.
64645
64646         From coreutils.
64647         * lib/stat.c: Don't declare xmalloc explicitly.
64648         Instead, include "xalloc.h".
64649         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
64650         xrealloc, and xcalloc return values.
64651         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
64652         Improve comment.
64653         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
64654
64655 2003-06-07  Bruno Haible  <bruno@clisp.org>
64656
64657         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
64658         avoid AC_CONFIG_LINKS.
64659         * modules/fnmatch (Makefile.am): Use explicit creation rule for
64660         fnmatch.h, to avoid AC_CONFIG_LINKS.
64661         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
64662
64663 2003-06-07  Bruno Haible  <bruno@clisp.org>
64664
64665         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
64666         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
64667         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
64668         directory.
64669         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
64670         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
64671         directory.
64672
64673 2003-06-06  Jim Meyering  <jim@meyering.net>
64674
64675         Merge from coreutils.
64676         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
64677         Consolidate declarations and initializations of *_base* locals.
64678
64679         Merge from coreutils.
64680         This avoids a core dump on systems without GNU putenv,
64681         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
64682         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
64683         (unsetenv): New static function, from GNU libc.
64684         (rpl_putenv): Use it.
64685
64686         * lib/modechange.c: Remove trailing blanks.
64687
64688         Merge from coreutils.
64689         * lib/fsusage.c: Remove declaration of statfs.
64690         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
64691
64692         * lib/posixtm.c: Include <stdbool.h> unconditionally.
64693
64694 2003-06-06  Jim Meyering  <jim@meyering.net>
64695
64696         * lib/stdbool_.h: Renamed from stdbool.h.in.
64697
64698 2003-06-06  Jim Meyering  <jim@meyering.net>
64699             Bruno Haible  <bruno@clisp.org>
64700
64701         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
64702         Adjust Makefile.am snippet not to redirect directly to target.
64703         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
64704
64705 2003-06-05  Paul Eggert  <eggert@twinsun.com>
64706
64707         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
64708         mismatch, look in future quarters as well as past.  This fixes a
64709         bug when processing fall-backwards gaps immediately after a long
64710         period of daylight-saving time.
64711
64712         * lib/mktime.c: Assume freestanding C89 or better.
64713         (HAVE_LIMITS_H): Remove.  Assume it's 1.
64714         (__P): Remove; not used.
64715         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
64716         (mktime, not_equal_tm, print_tm, check_result,
64717         main): Use prototypes.  Use const * where appropriate.
64718         (main): Fix typo in testing code that uncovered by above changes.
64719         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
64720
64721 2003-06-04  Paul Eggert  <eggert@twinsun.com>
64722
64723         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
64724         locale.h, localeconv.  This merges changes from coreutils.
64725
64726         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
64727         It can be removed after the next Autoconf is released.
64728         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
64729         needed.
64730
64731 2003-06-04  Paul Eggert  <eggert@twinsun.com>
64732
64733         * lib/mktime.c: Fix Debian bug 177940
64734         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
64735         (localtime_offset): Now long int, not time_t, because we want it
64736         to be guaranteed to be signed.  All uses changed.
64737         (__mktime_internal): If overflow would occur when adding offset,
64738         don't add it.
64739
64740         Merge 'human' changes from coreutils.  Rewrite to support
64741         locale-specific notations like thousands separators.
64742         * lib/human.c: Simplify authorship notice.
64743         Include human.h immediately after config.h.
64744         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
64745         <limits.h>: Do not include, since human.h does.
64746         (SIZE_MAX, UINTMAX_MAX): New macros.
64747         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
64748         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
64749         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
64750         (power_letter): Renamed from suffixes.
64751         (generate_suffix_backwards): Remove.
64752         (adjust_value): Now takes int style (because of human.h changes)
64753         and long double value (for greater precision on some platforms).
64754         (group_number): New function.
64755         (human_readable): Use it.  Use integer options, not enum.
64756         Put the options before the sizes in the arg list.
64757         Support all the new options.
64758         The old human_readable function has been removed;
64759         use inttostr.h instead.
64760         (human_readable, default_block_size, humblock):
64761         Use uintmax_t, not int, for block sizes.
64762         (human_readable_inexact, block_size_types): Remove.
64763         (block_size_opts): New constant.
64764         (human_options): Renamed from human_block_size, with new signature
64765         that allows block sizes up to UINTMAX_MAX.  All callers changed.
64766         * lib/human.h: Add copyright and authorship notice.
64767         Include <limits.h> and <stdbool.h> unconditionally.
64768         (PARAMS): Remove.  All uses removed.
64769         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
64770         (enum human_inexact_style): Remove tag; now a nameless enum.
64771         (human_floor, human_ceiling, human_round_to_even): Now have
64772         values 2, 0, 1 rather than -1, 1, 0.
64773         (human_group_digits, human_suppress_point_zero, human_autoscale,
64774         human_base_1024, human_SI, human_B): New constants.
64775         (human_readable_inexact, human_block_size): Remove.
64776         (human_readable): Size args are now uintmax_t, not int.
64777         (human_options): New decl.
64778
64779         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
64780         unnecessary now that we assume C89 or better.  This change
64781         imported from coreutils.
64782
64783         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
64784         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
64785         in the 2003-05-30 sync from glibc.
64786
64787         .h files should stand alone, but we shouldn't include <sys/types.h>
64788         if we can get away with just <stddef.h>.
64789
64790         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
64791         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
64792         rather than <sys/types.h>, as we merely need size_t.
64793         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
64794         to get size_t.
64795         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
64796         Include <stdio.h>, to get FILE.
64797         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
64798         memcasecmp.h has included <stddef.h> and all we need is size_t.
64799         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
64800         our interface, instead of including <sys/types.h>
64801
64802 2003-06-04  Paul Eggert  <eggert@twinsun.com>
64803
64804         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
64805         now, as glibc mktime is buggy on non-glibc systems.
64806
64807 2003-06-03  Karl Berry  <karl@gnu.org>
64808
64809         * config/config.sub: update from prep.
64810
64811 2003-06-02  Paul Eggert  <eggert@twinsun.com>
64812
64813         [from coreutils]
64814         Fix some minor time-related bugs with POSIX time arguments.
64815         Some valid time stamps were being rejected (notably -1, and
64816         time stamps before 1900 on 64-bit hosts).  And some invalid
64817         time stamps were being accepted, e.g. September 31.
64818
64819         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
64820         that we can return (time_t) -1 successfully.
64821         * lib/posixtm.c: Likewise.
64822         [HAVE_STDBOOL_H]: Include <stdbool.h>.
64823         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
64824         (t): Remove static var.
64825         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
64826         of static var.  All uses changed.
64827         (year): Do not reject years before 1900; they can occur with
64828         64-bit time_t.
64829         (posix_time_parse): Do not check for out-of-range components;
64830         that is now the caller's responsibility, since our checks were
64831         only approximations.
64832         (posixtime): Use mktime to check for out-of-range components,
64833         since it knows them exactly.
64834         If mktime returns (time_t) -1, check whether an error actually occurred
64835         by invoking localtime on -1.
64836         (main) [TEST_POSIXTIME]: Check for input data errors, and report
64837         posixtime failures better.
64838         Improve the test data (in comments only).
64839
64840 2003-06-02  Karl Berry  <karl@gnu.org>
64841
64842         * config/mkinstalldirs (version): new variable.
64843         (--version): new option.
64844         (usage): improve message.
64845
64846 2003-05-30  Karl Berry  <karl@gnu.org>
64847
64848         * lib/mktime.c: update from libc.
64849
64850 2003-05-30  Bruno Haible  <bruno@clisp.org>
64851
64852         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
64853         * config/config.rpath: Upgrade to gettext-0.12.1.
64854
64855 2003-05-30  Bruno Haible  <bruno@clisp.org>
64856
64857         * m4/gettext.m4: Upgrade to gettext-0.12.1.
64858         * m4/nls.m4: New file, from gettext-0.12.1.
64859         * m4/po.m4: New file, from gettext-0.12.1.
64860         * m4/progtest.m4: Upgrade to gettext-0.12.1.
64861
64862 2003-05-30  Bruno Haible  <bruno@clisp.org>
64863
64864         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
64865         * lib/localcharset.h: Likewise.
64866         * lib/localcharset.c: Likewise.
64867
64868 2003-05-29  Karl Berry  <karl@gnu.org>
64869
64870         * config/config.rpath: update from gettext.
64871
64872 2003-05-28  Paul Eggert  <eggert@twinsun.com>
64873
64874         Assume the headers required for C89 freestanding compilers.
64875         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
64876         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
64877         * m4/human.m4 (gl_HUMAN): Likewise.
64878         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
64879         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
64880         * m4/userspec.m4 (gl_USERSPEC): Likewise.
64881         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
64882         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
64883         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
64884
64885 2003-05-28  Paul Eggert  <eggert@twinsun.com>
64886
64887         Assume the headers required for C89 freestanding compilers.
64888         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
64889         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
64890         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
64891         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
64892         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
64893         define, since <limits.h> is guaranteed to do that.
64894         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
64895         * lib/exclude.c: Include <stdbool.h> unconditionally.
64896         * lib/tempname.c: Include <stddef.h> unconditionally.
64897         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
64898         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
64899         <stddef.h> does that.
64900         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
64901         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
64902         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
64903         needed.
64904         * lib/xstrtol.c: Likewise.
64905         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
64906         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
64907
64908         * lib/addext.c (addext): Use assignment rather than cast, to avoid
64909         warnings on some platforms.
64910
64911         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
64912         arbitrarily.
64913
64914 2003-05-26  Jim Meyering  <jim@meyering.net>
64915
64916         Merge in a change from coreutils:
64917         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
64918         that is guaranteed to be `no'.  Use `no_such_member' to indicate
64919         that condition, rather than `-1' which is slightly misleading.
64920         Change the name of the cache variable to have the gl_ prefix.
64921         Prompted by a patch from Richard Dawe for DJGPP.
64922
64923 2003-05-24  Karl Berry  <karl@gnu.org>
64924
64925         * config/config.guess: update from prep.
64926
64927 2003-05-22  Karl Berry  <karl@gnu.org>
64928
64929         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
64930
64931 2003-05-20  Karl Berry  <karl@gnu.org>
64932
64933         * config/config.guess: update from prep.
64934
64935 2003-05-18  Karl Berry  <karl@gnu.org>
64936
64937         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
64938         might actually be set by the user.
64939
64940         * config/depcomp, install-sh, mdate-sh: update from automake.
64941
64942 2003-05-17  Bruno Haible  <bruno@clisp.org>
64943
64944         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
64945         invalid expansion for AC_EGREP_CPP.
64946         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
64947         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
64948         Suggested by Akim Demaille <akim@epita.fr> in
64949         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
64950
64951 2003-05-12  Jim Meyering  <jim@meyering.net>
64952
64953         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
64954         the space-padded-by-default conversion specifiers, %e, %k, %l.
64955
64956 2003-05-12  Bruno Haible  <bruno@clisp.org>
64957
64958         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
64959         the string is longer than 4 KB.
64960
64961 2003-05-11  Karl Berry  <karl@gnu.org>
64962
64963         * config/config.{guess,sub}: update from prep.
64964
64965 2003-05-09  Bruno Haible  <bruno@clisp.org>
64966
64967         * modules/error: Add m4/strerror_r.m4 to file list.
64968
64969 2003-05-03  Bruno Haible  <bruno@clisp.org>
64970
64971         Upgrade to Unicode-4.0.
64972         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
64973         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
64974         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
64975         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
64976         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
64977         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
64978         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
64979         Change width of U+E0100..U+E01EF from 1 to 0.
64980
64981 2003-04-25  Jim Meyering  <jim@meyering.net>
64982
64983         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
64984         of type size_t, not int.
64985
64986 2003-04-25  Bruno Haible  <bruno@clisp.org>
64987
64988         * lib/copy-file.c: Include <stddef.h>, for size_t.
64989
64990 2003-04-21  Paul Eggert  <eggert@twinsun.com>
64991
64992         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
64993         code which expansion is under static control.  Patch imported from
64994         Akim Demaille's patch to Bison; see
64995         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
64996
64997 2003-04-14  Bruno Haible  <bruno@clisp.org>
64998
64999         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
65000
65001 2003-04-11  Jim Meyering  <jim@meyering.net>
65002
65003         Merge changes from Coreutils.
65004
65005         2003-03-22  Jim Meyering  <jim@meyering.net>
65006
65007         * lib/strftime.c (widen): Cast alloca return value to proper type.
65008
65009         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
65010
65011         From GNU libc.
65012         * lib/strftime.c (my_strftime): Handle very large width
65013         specifications for numeric values correctly.  Improve checks for
65014         overflow.
65015
65016         2003-01-19  Jim Meyering  <jim@meyering.net>
65017
65018         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
65019         definitions.
65020         (nl_get_alt_digit) [! defined my_strftime]: Define.
65021         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
65022         _nl_get_alt_digit and _nl_get_walt_digit.
65023
65024         * lib/strftime.c (my_strftime): Merge in locale-related changes from
65025         libc. These changes have no effect outside of _LIBC.
65026
65027 2003-04-10  Bruno Haible  <bruno@clisp.org>
65028
65029         * modules/findprog: New file.
65030         * MODULES.html.sh (func_all_modules): Add it.
65031
65032 2003-04-10  Bruno Haible  <bruno@clisp.org>
65033
65034         * m4/findprog.m4: New file.
65035         * m4/eaccess.m4: New file.
65036
65037 2003-04-10  Bruno Haible  <bruno@clisp.org>
65038
65039         * lib/findprog.h: New file, from GNU gettext.
65040         * lib/findprog.c: New file, from GNU gettext.
65041
65042 2003-04-05  Jim Meyering  <jim@meyering.net>
65043
65044         Merge changes from Coreutils.
65045
65046         * lib/exclude.h (PARAMS): Remove definition and uses.
65047         * lib/exclude.c: Remove uses of `PARAMS'.
65048
65049         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
65050         Add test-cases for DOS filenames. Declare program_name.
65051         (main): Set up program_name.  Patch by Rich Dawe.
65052
65053         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
65054         error from mntctl.
65055         Use mntctl's return value to drive the entry-processing loop, since
65056         we can't rely on the value of the vmt_length member in the last
65057         entry.  On some systems doing so could result in exhausting
65058         virtual memory.  Based in part on a patch from Mike Jetzer.
65059
65060 2003-04-04  Bruno Haible  <bruno@clisp.org>
65061
65062         * modules/linebreak: New file.
65063         * MODULES.html.sh (func_all_modules): Add it.
65064
65065 2003-04-04  Bruno Haible  <bruno@clisp.org>
65066
65067         * m4/linebreak.m4: New file.
65068
65069 2003-04-04  Bruno Haible  <bruno@clisp.org>
65070
65071         * lib/linebreak.h: New file, from GNU gettext.
65072         * lib/linebreak.c: New file, from GNU gettext with slight
65073         modifications.
65074         * lib/lbrkprop.h: New file, from GNU gettext.
65075
65076 2003-04-03  Bruno Haible  <bruno@clisp.org>
65077
65078         * modules/utf8-ucs4: New file.
65079         * modules/utf16-ucs4: New file.
65080         * modules/ucs4-utf8: New file.
65081         * modules/ucs4-utf16: New file.
65082         * MODULES.html.sh (func_all_modules): Add them.
65083
65084 2003-04-03  Bruno Haible  <bruno@clisp.org>
65085
65086         * m4/utf-ucs4.m4: New file.
65087         * m4/ucs4-utf.m4: New file.
65088
65089 2003-04-03  Bruno Haible  <bruno@clisp.org>
65090
65091         * lib/utf8-ucs4.h: New file, from GNU gettext.
65092         * lib/utf16-ucs4.h: New file, from GNU gettext.
65093         * lib/ucs4-utf8.h: New file, from GNU gettext.
65094         * lib/ucs4-utf16.h: New file, from GNU gettext.
65095
65096 2003-04-02  Bruno Haible  <bruno@clisp.org>
65097
65098         * modules/binary-io: New file.
65099         * MODULES.html.sh (func_all_modules): Add it.
65100
65101 2003-04-02  Bruno Haible  <bruno@clisp.org>
65102
65103         * lib/binary-io.h: New file, from GNU gettext.
65104
65105 2003-04-01  Bruno Haible  <bruno@clisp.org>
65106
65107         * modules/pathname: New file.
65108         * MODULES.html.sh (func_all_modules): Add it.
65109
65110 2003-04-01  Bruno Haible  <bruno@clisp.org>
65111
65112         * lib/pathname.h: New file, from GNU gettext.
65113         * lib/concatpath.c: New file, from GNU gettext.
65114
65115 2003-03-30  Bruno Haible  <bruno@clisp.org>
65116
65117         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
65118
65119 2003-03-30  Bruno Haible  <bruno@clisp.org>
65120
65121         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
65122         function chown() doesn't exist.
65123
65124 2003-03-28  Bruno Haible  <bruno@clisp.org>
65125
65126         * modules/copy-file: New file.
65127         * MODULES.html.sh (func_all_modules): Add it.
65128
65129 2003-03-28  Bruno Haible  <bruno@clisp.org>
65130
65131         * m4/copy-file.m4: New file.
65132
65133 2003-03-28  Bruno Haible  <bruno@clisp.org>
65134
65135         * lib/copy-file.h: New file, from GNU gettext.
65136         * lib/copy-file.c: New file, from GNU gettext.
65137
65138 2003-03-18  Jim Meyering  <jim@meyering.net>
65139
65140         * lib/quote.c (quote_n): Fix typo in comment.
65141
65142 2003-03-18  Bruno Haible  <bruno@clisp.org>
65143
65144         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
65145         checking.
65146         * m4/onceonly_2_57.m4: Likewise.
65147
65148 2003-03-17  Bruno Haible  <bruno@clisp.org>
65149
65150         * m4/onceonly.m4: Require autoconf 2.54 or newer.
65151         (m4_quote): Remove macro.
65152         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
65153
65154 2003-03-14  Jim Meyering  <jim@meyering.net>
65155
65156         Merge changes from Coreutils.
65157         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
65158         to be const, in order to avoid warnings.
65159         (obstack_room): Likewise.
65160         (obstack_empty_p): Likewise.
65161
65162 2003-03-14  Bruno Haible  <bruno@clisp.org>
65163
65164         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
65165         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
65166
65167 2003-03-13  Paul Eggert  <eggert@twinsun.com>
65168
65169         Merge changes from Bison.
65170         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
65171         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
65172         when compiling Bison 1.875's `bitset bset = obstack_alloc
65173         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
65174         * lib/hash.c: Include <stdbool.h> unconditionally.
65175
65176 2003-03-13  Paul Eggert  <eggert@twinsun.com>
65177
65178         * m4/onceonly.m4 (m4_quote): New macro.
65179         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
65180         Quote AC_FOREACH variable-expansions properly.
65181
65182 2003-03-13  Paul Eggert  <eggert@twinsun.com>
65183
65184         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
65185
65186 2003-03-09  Paul Eggert  <eggert@twinsun.com>
65187
65188         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
65189         Reported by Bruce Becker; see:
65190         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
65191
65192 2003-03-03  Paul Eggert  <eggert@twinsun.com>
65193             Bruno Haible  <bruno@clisp.org>
65194
65195         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
65196         Reported by John Hughes, see
65197         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
65198
65199 2003-02-20  Bruno Haible  <bruno@clisp.org>
65200
65201         * MODULES.html.sh (func_all_modules): Add poll.
65202
65203 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
65204
65205         * modules/poll: New file.
65206
65207 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
65208
65209         * lib/poll_.h: New file.
65210         * lib/poll.c: New file.
65211
65212 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
65213
65214         * m4/poll.m4: New file.
65215
65216 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
65217
65218         * modules/mathl: New file.
65219
65220 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
65221
65222         * lib/mathl.h: New file.
65223         * lib/acosl.c: New file.
65224         * lib/asinl.c: New file.
65225         * lib/atanl.c: New file.
65226         * lib/ceill.c: New file.
65227         * lib/cosl.c: New file.
65228         * lib/expl.c: New file.
65229         * lib/floorl.c: New file.
65230         * lib/frexpl.c: New file.
65231         * lib/ldexpl.c: New file.
65232         * lib/logl.c: New file.
65233         * lib/sincosl.c: New file.
65234         * lib/sinl.c: New file.
65235         * lib/sqrtl.c: New file.
65236         * lib/tanl.c: New file.
65237         * lib/trigl.c: New file.
65238         * lib/trigl.h: New file.
65239
65240 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
65241
65242         * m4/mathl.m4: New file.
65243
65244 2003-02-18  Bruno Haible  <bruno@clisp.org>
65245
65246         * MODULES.html.sh (func_all_modules): Add mathl.
65247
65248 2003-02-17  Bruno Haible  <bruno@clisp.org>
65249
65250         * modules/mkdtemp: New module.
65251         * MODULES.html.sh (func_all_modules): Add it.
65252
65253 2003-02-17  Bruno Haible  <bruno@clisp.org>
65254
65255         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
65256
65257 2003-02-17  Bruno Haible  <bruno@clisp.org>
65258
65259         * lib/mkdtemp.h: New file, from GNU gettext.
65260         * lib/mkdtemp.c: New file, from GNU gettext.
65261
65262 2003-02-02  Jim Meyering  <jim@meyering.net>
65263
65264         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
65265         e.g. glibc-2.2.93.
65266
65267 2003-01-31  Bruno Haible  <bruno@clisp.org>
65268
65269         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
65270         'rpl_rename'.
65271         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
65272         'rpl_strnlen'.
65273         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
65274         'rpl_strtod'.
65275         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
65276         'rpl_utime'.
65277
65278 2003-01-31  Bruno Haible  <bruno@clisp.org>
65279
65280         * lib/rename.c: #undef rename before defining rpl_rename.
65281         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
65282
65283 2003-01-30  Bruno Haible  <bruno@clisp.org>
65284
65285         * modules/vasnprintf, modules/vasprintf: New modules.
65286         * MODULES.html.sh (func_all_modules): Add them.
65287
65288 2003-01-30  Bruno Haible  <bruno@clisp.org>
65289
65290         * m4/signed.m4: New file, from GNU gettext.
65291         * m4/longdouble.m4: New file, from GNU gettext.
65292         * m4/wchar_t.m4: New file, from GNU gettext.
65293         * m4/wint_t.m4: New file, from GNU gettext.
65294         * m4/vasnprintf.m4: New file.
65295         * m4/vasprintf.m4: New file.
65296
65297 2003-01-30  Bruno Haible  <bruno@clisp.org>
65298
65299         * lib/printf-args.h: New file, from GNU gettext.
65300         * lib/printf-args.c: New file, from GNU gettext.
65301         * lib/printf-parse.h: New file, from GNU gettext.
65302         * lib/printf-parse.c: New file, from GNU gettext.
65303         * lib/vasnprintf.h: New file, from GNU gettext.
65304         * lib/vasnprintf.c: New file, from GNU gettext.
65305         * lib/asnprintf.c: New file, from GNU gettext.
65306         * lib/vasprintf.h: New file, from GNU gettext with modifications.
65307         * lib/vasprintf.c: New file, from GNU gettext.
65308         * lib/asprintf.c: New file, from GNU gettext.
65309
65310 2003-01-29  Bruno Haible  <bruno@clisp.org>
65311
65312         * modules/stpncpy: New module.
65313         * MODULES.html.sh (func_all_modules): Add it.
65314
65315 2003-01-29  Bruno Haible  <bruno@clisp.org>
65316
65317         * m4/stpncpy.m4: New file.
65318
65319 2003-01-29  Bruno Haible  <bruno@clisp.org>
65320
65321         * lib/stpncpy.h: New file, from GNU gettext with modifications.
65322         * lib/stpncpy.c: New file, from GNU gettext with modifications.
65323
65324 2003-01-28  Bruno Haible  <bruno@clisp.org>
65325
65326         * modules/c-ctype: New module.
65327         * MODULES.html.sh (func_all_modules): Add it.
65328
65329 2003-01-28  Bruno Haible  <bruno@clisp.org>
65330
65331         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
65332         Paul Eggert.
65333         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
65334         Paul Eggert.
65335
65336 2003-01-27  Bruno Haible  <bruno@clisp.org>
65337
65338         * modules/xsetenv: New module.
65339         * MODULES.html.sh (func_all_modules): Add it.
65340
65341 2003-01-27  Bruno Haible  <bruno@clisp.org>
65342
65343         * lib/xsetenv.h: New file, from GNU gettext.
65344         * lib/xsetenv.c: New file, from GNU gettext.
65345
65346 2003-01-23  Jim Meyering  <jim@meyering.net>
65347
65348         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
65349         from working on systems without dirfd (at least Irix and OSF1/Tru64).
65350
65351 2003-01-23  Bruno Haible  <bruno@clisp.org>
65352
65353         * modules/minmax: New module.
65354         * MODULES.html.sh (func_all_modules): Add it.
65355
65356 2003-01-23  Bruno Haible  <bruno@clisp.org>
65357
65358         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
65359         Eggert.
65360
65361 2003-01-22  Bruno Haible  <bruno@clisp.org>
65362
65363         * modules/exit: New module.
65364         * MODULES.html.sh (func_all_modules): Add it.
65365
65366 2003-01-22  Bruno Haible  <bruno@clisp.org>
65367
65368         * lib/exit.h: New file, from GNU gettext.
65369
65370 2003-01-19  Bruno Haible  <bruno@clisp.org>
65371
65372         * gnulib-tool: Recognize option --extract-maintainer.
65373         (func_get_maintainer): New function.
65374         * modules/*: Add Maintainer entry.
65375
65376 2003-01-16  Jim Meyering  <jim@meyering.net>
65377
65378         * m4/regex.m4: The `regex' struct is both input and output.
65379         Initialize it before each use.  Patch by Tim Waugh.
65380
65381 2003-01-16  Bruno Haible  <bruno@clisp.org>
65382
65383         * MODULES.html.sh: Add a table of contents. Add the module name as
65384         leftmost column. Add hyperlinks.
65385
65386 2003-01-15  Bruno Haible  <bruno@clisp.org>
65387
65388         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
65389
65390 2003-01-15  Bruno Haible  <bruno@clisp.org>
65391
65392         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
65393         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
65394         suffix.
65395
65396 2003-01-15  Bruno Haible  <bruno@clisp.org>
65397
65398         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
65399
65400 2003-01-15  Bruno Haible  <bruno@clisp.org>
65401
65402         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
65403         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
65404
65405 2003-01-14  Jim Meyering  <jim@meyering.net>
65406
65407         * lib/same.c (same_name): Tweak a comment.
65408
65409 2003-01-14  Bruno Haible  <bruno@clisp.org>
65410
65411         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
65412         when a string comparison is sufficient.
65413
65414 2003-01-14  Bruno Haible  <bruno@clisp.org>
65415
65416         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
65417         'unsigned int'.
65418
65419 2003-01-14  Bruno Haible  <bruno@clisp.org>
65420
65421         * lib/hash-pjw.c: Add comment about low quality of this function.
65422
65423 2003-01-13  Bruno Haible  <bruno@clisp.org>
65424
65425         * modules/stpcpy: Distribute lib/stpcpy.h.
65426         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
65427
65428 2003-01-13  Bruno Haible  <bruno@clisp.org>
65429
65430         * modules/*: Add a description.
65431         * modules/strpbrk: Fix Makefile.am snippet.
65432         * modules/strtoimax: Fix dependencies.
65433         * modules/strtoumax: Likewise.
65434
65435 2003-01-13  Bruno Haible  <bruno@clisp.org>
65436
65437         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
65438         * modules/alloca (Makefile.am): All object files depend on alloca.h.
65439         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
65440
65441 2003-01-13  Bruno Haible  <bruno@clisp.org>
65442
65443         * gnulib-tool (func_create_testdir): Store config/* files in the main
65444         directory.
65445         * config.rpath: Move to ...
65446         * config/config.rpath: ... here.
65447         * modules/gettext: Contains config/config.rpath, not config.rpath.
65448         * modules/iconv: Likewise.
65449
65450 2003-01-12  Paul Eggert  <eggert@twinsun.com>
65451
65452         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
65453         to avoid collisions with libcurses and libreadline.
65454
65455         * m4/getstr.m4: Remove.
65456         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
65457
65458 2003-01-12  Paul Eggert  <eggert@twinsun.com>
65459
65460         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
65461         to avoid collisions with libcurses and libreadline.
65462
65463         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
65464         * lib/getstr.h, getstr.c: Remove.
65465         * lib/getline.c: Include "getline.h", to check interface.
65466         Move body of old getstr.c here: this defines MIN_CHUNK and
65467         declares getdelim2, which is renamed from getstr.
65468         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
65469
65470         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
65471         All uses changed.
65472         * lib/linebuffer.h: Likewise.
65473         (readline): Remove backward-compatibility macro.
65474
65475 2003-01-12  Paul Eggert  <eggert@twinsun.com>
65476
65477         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
65478         to avoid collisions with libcurses and libreadline.
65479         * getstr: Remove.
65480         * MODULES.html.sh: Remove getstr.
65481         * modules/getline: Depend on unlocked-io, not getstr.
65482
65483 2003-01-12  Jim Meyering  <jim@meyering.net>
65484
65485         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
65486
65487 2003-01-10  Bruno Haible  <bruno@clisp.org>
65488
65489         * modules/alloca: Change Makefile.am requirements. Simplify Include
65490         requirements. Add lib/alloca_.h to file list.
65491
65492 2003-01-10  Bruno Haible  <bruno@clisp.org>
65493
65494         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
65495
65496 2003-01-10  Bruno Haible  <bruno@clisp.org>
65497
65498         * lib/alloca_.h: New file.
65499         * lib/getdate.y: Unconditionally include alloca.h.
65500         * lib/makepath.c: Likewise.
65501         * lib/setenv.c: Likewise.
65502         * lib/userspec.c: Likewise.
65503
65504 2003-01-09  Karl Berry  <karl@gnu.org>
65505
65506         * MODULES.html.sh: include `dirname $0` in PATH, to find
65507         gnulib-tool.
65508
65509 2003-01-09  Bruno Haible  <bruno@clisp.org>
65510
65511         * modules/stdbool: Change configure.ac, Makefile.am requirements.
65512         Simplify Include requirements. Add lib/stdbool.h.in to file list.
65513
65514 2003-01-09  Bruno Haible  <bruno@clisp.org>
65515
65516         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
65517
65518 2003-01-09  Bruno Haible  <bruno@clisp.org>
65519
65520         * lib/stdbool.h.in: New file.
65521
65522 2003-01-09  Bruno Haible  <bruno@clisp.org>
65523
65524         * gnulib-tool (func_all_modules): Ignore files ending in ~.
65525         * MODULES.html.sh: Likewise.
65526
65527 2003-01-08  Jim Meyering  <jim@meyering.net>
65528
65529         * lib/full-write.c: Undefine and define-away `const' after inclusion
65530         of errno.h, not before.  Suggestion from Bruno Haible.
65531
65532 2003-01-08  Bruno Haible  <bruno@clisp.org>
65533
65534         * modules/full-read: Depend on full-write.
65535
65536 2003-01-08  Bruno Haible  <bruno@clisp.org>
65537
65538         * lib/safe-read.c: Include specification header first, to ensure its
65539         selfcontainedness.
65540         * lib/full-write.c: Likewise.
65541
65542 2003-01-07  Jim Meyering  <jim@meyering.net>
65543
65544         * lib/full-write.c: Rework so that it may serve to define full_read,
65545         too.
65546         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
65547
65548 2003-01-07  Bruno Haible  <bruno@clisp.org>
65549
65550         * lib/strtoimax.c: Include <stdint.h> as an alternative to
65551         <inttypes.h>.
65552         * lib/xstrtol.h: Likewise.
65553         * lib/xstrtoimax.c: Likewise.
65554         * lib/xstrtoumax.c: Likewise.
65555         * lib/human.h: Likewise.
65556
65557         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
65558         on systems that have <inttypes.h> but not <stdint.h>.
65559
65560 2003-01-07  Bruno Haible  <bruno@clisp.org>
65561
65562         * MODULES.html.sh: Add copyright notice.
65563         (missed_files): Omit CVS directory entries.
65564         (func_module): Make it work with sed-3.02.
65565         * MODULES.txt: Remove file.
65566
65567 2003-01-06  Jim Meyering  <jim@meyering.net>
65568
65569         * lib/version-etc.c: Update year in translatable copyright string.
65570
65571 2003-01-03  Karl Berry  <karl@gnu.org>
65572
65573         * config/config.{guess,sub}: update from prep.
65574
65575 2003-01-02  Karl Berry  <karl@gnu.org>
65576
65577         * doc/COPYING.DOC: belatedly updated to 1.2.
65578
65579 2003-01-01  Karl Berry  <karl@gnu.org>
65580
65581         * gnulib-tool (func_verify_module): report module name $module in
65582         error message, not $1.
65583         * gnulib-tool (create-testdir): don't complain if destdir couldn't
65584         be created, only if it doesn't exist.
65585         * gnulib-tool (last_checkin_date): don't expand the $Date here.
65586
65587 2002-12-31  Paul Eggert  <eggert@twinsun.com>
65588
65589         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
65590
65591 2002-12-31  Paul Eggert  <eggert@twinsun.com>
65592
65593         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
65594         memcmp if strcoll doesn't work.
65595
65596 2002-12-31  Bruno Haible  <bruno@clisp.org>
65597
65598         * lib/utime.c (utime_null): No need to call ftruncate if the file was
65599         nonempty.
65600
65601 2002-12-31  Bruno Haible  <bruno@clisp.org>
65602
65603         * lib/memcoll.c (STRCOLL): New macro.
65604         (memcoll): Use it.
65605
65606 2002-12-31  Bruno Haible  <bruno@clisp.org>
65607
65608         * lib/localcharset.h: New file.
65609         * lib/localcharset.c: Include it.
65610         * lib/unicodeio.c: Likewise.
65611
65612 2002-12-31  Bruno Haible  <bruno@clisp.org>
65613
65614         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
65615         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
65616
65617 2002-12-31  Bruno Haible  <bruno@clisp.org>
65618
65619         * lib/getline.h: Include <stddef.h>, for size_t.
65620
65621         * lib/unicodeio.h: Include <stddef.h>, for size_t.
65622         * lib/unicodeio.c: Don't include <stddef.h>.
65623
65624 2002-12-31  Bruno Haible  <bruno@clisp.org>
65625
65626         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
65627         HAVE_TM_ZONE.
65628
65629 2002-12-24  Karl Berry  <karl@gnu.org>
65630
65631         * config/config.guess: update from prep.
65632
65633 2002-12-24  Bruno Haible  <bruno@clisp.org>
65634
65635         General infrasructure.
65636         * m4/README: Rewritten.
65637         * m4/onceonly.m4: New file.
65638         * m4/onceonly_2_57.m4: New file.
65639
65640         Module atexit.
65641         * m4/atexit.m4: New file.
65642
65643         Module strtod.
65644         * m4/strtod.m4: New file.
65645
65646         Module strtol.
65647         * m4/strtol.m4: New file.
65648
65649         Module strtoul.
65650         * m4/strtoul.m4: New file.
65651
65652         Module memchr.
65653         * m4/memchr.m4: New file.
65654
65655         Module memcmp.
65656         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
65657         (jm_FUNC_MEMCMP): Invoke it.
65658
65659         Module memcpy.
65660         * m4/memcpy.m4: New file.
65661
65662         Module memmove.
65663         * m4/memmove.m4: New file.
65664
65665         Module memset.
65666         * m4/memset.m4: New file.
65667
65668         Module strcspn.
65669         * m4/strcspn.m4: New file.
65670
65671         Module strpbrk.
65672         * m4/strpbrk.m4: New file.
65673
65674         Module strstr.
65675         * m4/strstr.m4: New file.
65676
65677         Module strerror.
65678         * m4/strerror.m4: New file.
65679
65680         Module mktime.
65681         * m4/mktime.m4: Renamed from jm-mktime.m4.
65682         (gl_PREREQ_MKTIME): New macro.
65683         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
65684
65685         Module malloc.
65686         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
65687         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
65688         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
65689
65690         Module realloc.
65691         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
65692         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
65693         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
65694
65695         Module strftime.
65696         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
65697         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
65698         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
65699         gl_TM_GMTOFF.
65700         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
65701
65702         Module xalloc.
65703         * m4/xalloc.m4: New file.
65704
65705         Module alloca.
65706         * m4/alloca.m4: New file.
65707
65708         Module putenv.
65709         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
65710         (jm_FUNC_PUTENV): Invoke it.
65711
65712         Module setenv.
65713         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
65714         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
65715         when invoked twice.
65716         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
65717         gt_FUNC_SETENV.
65718
65719         Module memrchr.
65720         * m4/memrchr.m4: New file.
65721
65722         Module stpcpy.
65723         * m4/stpcpy.m4: New file.
65724
65725         Module strcase.
65726         * m4/strcase.m4: New file.
65727
65728         Module strdup.
65729         * m4/strdup.m4: New file.
65730
65731         Module strnlen.
65732         * m4/strnlen.m4: New file.
65733
65734         Module strndup.
65735         * m4/strndup.m4: New file.
65736
65737         Module xstrtod.
65738         * m4/xstrtod.m4: New file.
65739
65740         Module xstrtol.
65741         * m4/xstrtol.m4: New file.
65742
65743         Module getdate.
65744         * m4/getdate.m4: New file.
65745
65746         Module unlocked-io.
65747         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
65748         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
65749         * m4/jm-glibc-io.m4n: Remove file.
65750
65751         Module long-options.
65752         * m4/long-options.m4: New file.
65753
65754         Module md5.
65755         * m4/md5.m4: New file.
65756
65757         Module sha.
65758         * m4/sha.m4: New file.
65759
65760         Module getstr.
65761         * m4/getstr.m4: New file.
65762
65763         Module getline.
65764         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
65765         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
65766         <sys/types.h>, for size_t. Use the function name gnu_getline, not
65767         simply getline. Infoke gl_PREREQ_GETLINE.
65768
65769         Module obstack.
65770         * m4/obstack.m4: New file.
65771
65772         Module hash.
65773         * m4/hash.m4: New file.
65774
65775         Module readtokens.
65776         * m4/readtokens.m4: New file.
65777
65778         Module strverscmp.
65779         * m4/strverscmp.m4: New file.
65780
65781         Module stdbool.
65782         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
65783         OSF/1.
65784
65785         Module strtoll.
65786         * m4/strtoll.m4: New file.
65787
65788         Module strtoull.
65789         * m4/strtoull.m4: New file.
65790
65791         Module strtoimax.
65792         * m4/strtoimax.m4: New file.
65793
65794         Module strtoumax.
65795         * m4/strtoumax.m4: New file.
65796
65797         Module xstrtoimax.
65798         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
65799         jm_AC_PREREQ_XSTRTOIMAX.
65800         Moved the strtol prerequisites to strtol.m4.
65801         Moved the strtoll prerequisites to strtoll.m4.
65802         Moved the strtoimax prerequisites to strtoimax.m4.
65803
65804         Module xstrtoumax.
65805         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
65806         jm_AC_PREREQ_XSTRTOUMAX.
65807         Moved the strtoul prerequisites to strtoul.m4.
65808         Moved the strtoull prerequisites to strtoull.m4.
65809         Moved the strtoumax prerequisites to strtoumax.m4.
65810
65811         Module chown.
65812         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
65813         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
65814
65815         Module dup2.
65816         * m4/dup2.m4: New file.
65817
65818         Module ftruncate.
65819         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
65820         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
65821
65822         Module getgroups.
65823         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
65824         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
65825
65826         Module gettimeofday.
65827         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
65828         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
65829         gl_PREREQ_GETTIMEOFDAY.
65830
65831         Module mkdir.
65832         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
65833         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
65834
65835         Module mkstemp.
65836         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
65837         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
65838         jm_AC_TYPE_UINTMAX_T.
65839         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
65840
65841         Module stat.
65842         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
65843         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
65844
65845         Module lstat.
65846         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
65847         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
65848
65849         Module timespec.
65850         * m4/timespec.m4 (gl_TIMESPEC): New macro.
65851         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
65852         * m4/st_mtim.m4: Indentation.
65853
65854         Module nanosleep.
65855         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
65856         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
65857         gl_PREREQ_NANOSLEEP.
65858
65859         Module regex.
65860         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
65861         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
65862         (gl_REGEX): New macro.
65863
65864         Module rename.
65865         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
65866         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
65867
65868         Module rmdir.
65869         * m4/rmdir.m4: New file.
65870
65871         Module utime.
65872         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
65873         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
65874         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
65875
65876         Module dirname.
65877         * m4/dirname.m4: New file.
65878
65879         Module getopt.
65880         * m4/getopt.m4: New file.
65881
65882         Module unistd-safer.
65883         * m4/unistd-safer.m4: New file.
65884
65885         Module fnmatch.
65886         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
65887         declaration.
65888         (gl_PREREQ_FNMATCH_EXTRA): New macro.
65889         (gl_FUNC_FNMATCH_POSIX): New macro.
65890         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
65891         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
65892         simply fnmatch.
65893
65894         Module exclude.
65895         * m4/exclude.m4: New file.
65896
65897         Module human.
65898         * m4/human.m4: New file.
65899
65900         Module acl.
65901         * m4/acl.m4: Nop.
65902
65903         Module backupfile.
65904         * m4/backupfile.m4: New file.
65905         * m4/d-ino.m4: Indentation.
65906
65907         Module fsusage.
65908         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
65909         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
65910         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
65911
65912         Module dirfd.
65913         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
65914         requirements.
65915
65916         Module euidaccess.
65917         * m4/euidaccess.m4: New file.
65918
65919         Module file-type.
65920         * m4/file-type.m4: New file.
65921
65922         Module fileblocks.
65923         * m4/fileblocks.m4: New file.
65924
65925         Module filemode.
65926         * m4/filemode.m4: New file.
65927
65928         Module isdir.
65929         * m4/isdir.m4: New file.
65930
65931         Module lchown.
65932         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
65933         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
65934
65935         Module makepath.
65936         * m4/makepath.m4: New file.
65937
65938         Module modechange.
65939         * m4/modechange.m4: New file.
65940
65941         Module mountlist.
65942         * m4/mountlist.m4: New file.
65943         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
65944         Indentation.
65945
65946         Module path-concat.
65947         * m4/path-concat.m4: New file.
65948
65949         Module pathmax.
65950         * m4/pathmax.m4: New file.
65951
65952         Module same.
65953         * m4/same.m4: New file.
65954
65955         Module save-cwd.
65956         * m4/save-cwd.m4: New file.
65957
65958         Module savedir.
65959         * m4/savedir.m4: New file.
65960
65961         Module xgetcwd.
65962         * m4/xgetcwd.m4: New file.
65963         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
65964
65965         Module xreadlink.
65966         * m4/xreadlink.m4: New file.
65967
65968         Module safe-read.
65969         * m4/safe-read.m4: New file.
65970
65971         Module safe-write.
65972         * m4/safe-write.m4: New file.
65973
65974         Module closeout.
65975         * m4/closeout.m4: New file.
65976
65977         Module stdio-safer.
65978         * m4/stdio-safer.m4: New file.
65979
65980         Module getpass.
65981         * m4/getpass.m4: New file.
65982
65983         Module getugroups.
65984         * m4/getugroups.m4: New file.
65985
65986         Module group-member.
65987         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
65988         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
65989
65990         Module idcache.
65991         * m4/idcache.m4: New file.
65992
65993         Module userspec.
65994         * m4/userspec.m4: New file.
65995
65996         Module gettime.
65997         * m4/clock_time.m4: New file.
65998         * m4/gettime.m4: New file.
65999
66000         Module settime.
66001         * m4/settime.m4: New file.
66002
66003         Module posixtm.
66004         * m4/posixtm.m4: New file.
66005
66006         Module gethostname.
66007         * m4/gethostname.m4: New file.
66008
66009         Module canon-host.
66010         * m4/canon-host.m4: New file.
66011
66012         Module gettext.
66013         * m4/codeset.m4: New file, from gettext-0.11.5.
66014         * m4/gettext.m4: New file, from gettext-0.11.5.
66015         * m4/glibc21.m4: New file, from gettext-0.11.5.
66016         * m4/iconv.m4: New file, from gettext-0.11.5.
66017         * m4/intdiv0.m4: New file, from gettext-0.11.5.
66018         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
66019         * m4/inttypes.m4: New file, from gettext-0.11.5.
66020         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
66021         * m4/isc-posix.m4: New file, from gettext-0.11.5.
66022         * m4/lcmessage.m4: New file, from gettext-0.11.5.
66023         * m4/lib-ld.m4: New file, from gettext-0.11.5.
66024         * m4/lib-link.m4: New file, from gettext-0.11.5.
66025         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
66026         * m4/progtest.m4: New file, from gettext-0.11.5.
66027         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
66028         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
66029         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
66030
66031         Module localcharset.
66032         * m4/localcharset.m4: New file.
66033
66034         Module hard-locale.
66035         * m4/hard-locale.m4: New file.
66036
66037         Module mbswidth.
66038         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
66039         onceonly macros.
66040         * m4/mbrtowc.m4: Add comment.
66041
66042         Module memcasecmp.
66043         * m4/memcasecmp.m4: New file.
66044
66045         Module memcoll.
66046         * m4/memcoll.m4: New file.
66047
66048         Module unicodeio.
66049         * m4/unicodeio.m4: New file.
66050
66051         Module rpmatch.
66052         * m4/rpmatch.m4: New file.
66053
66054         Module yesno.
66055         * m4/yesno.m4: New file.
66056
66057         Module exitfail.
66058         * m4/exitfail.m4: New file.
66059
66060         Module c-stack.
66061         * m4/c-stack.m4 (gl_C_STACK): New macro.
66062         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
66063
66064         Module error.
66065         * m4/error.m4 (gl_ERROR): New macro.
66066         (jm_PREREQ_ERROR): Use onceonly macros.
66067
66068         Module fatal.
66069         * m4/fatal.m4: New file.
66070
66071         Module getloadavg.
66072         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
66073         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
66074
66075         Module getpagesize.
66076         * m4/getpagesize.m4: New file.
66077
66078         Module getusershell.
66079         * m4/getusershell.m4: New file.
66080
66081         Module physmem.
66082         * m4/physmem.m4: New file.
66083
66084         Module posixver.
66085         * m4/posixver.m4: New file.
66086
66087         Module quotearg.
66088         * m4/quotearg.m4: New file.
66089
66090         Module quote.
66091         * m4/quote.m4: New file.
66092
66093         Module readutmp.
66094         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
66095
66096         Module sig2str.
66097         * m4/sig2str.m4: New file.
66098
66099         Other.
66100         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
66101         ulonglong.m4.
66102         * m4/intmax_t.m4: New file.
66103         * m4/d-type.m4: Indentation.
66104         * m4/jm-macros.m4: Update.
66105         * m4/prereq.m4 (jm_PREREQ): Update.
66106         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
66107         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
66108         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
66109         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
66110         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
66111         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
66112         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
66113         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
66114         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
66115         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
66116         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
66117         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
66118         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
66119         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
66120         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
66121         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
66122         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
66123         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
66124         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
66125
66126 2002-12-24  Bruno Haible  <bruno@clisp.org>
66127
66128         * MODULES.txt: Update according to m4/ changes.
66129
66130         Module gettext.
66131         * config.rpath: New file, from gettext-0.11.5.
66132
66133         * modules/*: New module descriptions.
66134         * gnulib-tool: New file.
66135         * MODULES.html.sh: New file.
66136
66137 2002-12-21  Karl Berry  <karl@gnu.org>
66138
66139         * doc/fdl.texi: update to version 1.2.
66140
66141 2002-12-19  Karl Berry  <karl@gnu.org>
66142
66143         * config/config.guess: update from prep.
66144
66145 2002-12-18  Bruno Haible  <bruno@clisp.org>
66146
66147         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
66148         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
66149
66150 2002-12-17  Bruno Haible  <bruno@clisp.org>
66151
66152         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
66153         stdlib.h, string.h.
66154
66155 2002-12-17  Bruno Haible  <bruno@clisp.org>
66156
66157         * lib/canon-host.c (strdup): Remove unused declaration.
66158
66159         * lib/fsusage.c: Include full_read.h.
66160         (get_fs_usage): Use full_read instead of safe_read.
66161
66162         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
66163
66164 2002-12-12  Karl Berry  <karl@gnu.org>
66165
66166         * config/config.guess: update from prep.
66167
66168 2002-12-11  Bruno Haible  <bruno@clisp.org>
66169
66170         * m4/setenv.m4: New file, from gettext-0.11.5.
66171
66172 2002-12-11  Bruno Haible  <bruno@clisp.org>
66173
66174         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
66175         not unsetenv().
66176         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
66177         modifications:
66178
66179         2002-12-11  Bruno Haible  <bruno@clisp.org>
66180
66181                 * setenv.c (alloca): Fall back to malloc.
66182                 (freea): New macro.
66183                 (setenv): Use freea() to free memory allocated with alloca().
66184
66185         2002-11-13  Bruno Haible  <bruno@clisp.org>
66186
66187                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
66188                 function declarations.
66189                 * unsetenv.c (unsetenv): Likewise.
66190
66191         2002-03-04  Bruno Haible  <bruno@clisp.org>
66192
66193                 Portability to AIX 4.3.3.
66194                 * unsetenv.c: New file, extracted from setenv.c.
66195                 * setenv.c: Move the unsetenv() function to unsetenv.c.
66196
66197         2001-12-20  Bruno Haible  <bruno@clisp.org>
66198
66199                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
66200                 use malloc instead. For SunOS 4.
66201
66202         2001-12-11  Bruno Haible  <bruno@clisp.org>
66203
66204                 * setenv.c: Declare alloca.
66205                 (compar_fn_t): New typedef.
66206                 (KNOWN_VALUE, STORE_VALUE): Use it.
66207
66208         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
66209         setenv.h.
66210
66211 2002-12-10  Paul Eggert  <eggert@twinsun.com>
66212
66213         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
66214         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
66215         Choose values that are less likely to collide with system fnmatch
66216         options.
66217         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
66218         defined (e.g., a pure POSIX system).
66219         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
66220         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
66221
66222 2002-12-06  Paul Eggert  <eggert@twinsun.com>
66223
66224         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
66225         a pain in practice to deal with generated m4 files.  This change
66226         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
66227
66228         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
66229         and jm-glibc-io.m4, as they are no longer a special case.
66230         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
66231         kludge and the auto-generation stuff.  Check only whether the
66232         functions are declared, not whether they exist, since older hosts
66233         that don't declare the functions can't use the optimization anyway.
66234
66235 2002-12-06  Jim Meyering  <jim@meyering.net>
66236
66237         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
66238
66239         Merge in changes from libc's misc/error.c, in preparation
66240         for the merge of gnulib's changes back into libc.
66241
66242         * lib/error.c (_): Define only if not already defined.
66243         Move definition to follow all #include directives.
66244         Include unlocked-io.h only if !_LIBC.
66245         [_LIBC]: Include <libio/libioP.h>.
66246         [USE_IN_LIBIO]: Include <libio/iolibio.h>
66247         (fflush): Tweak definition to use INTUSE.
66248         (putc): Define.
66249
66250 2002-12-05  Paul Eggert  <eggert@twinsun.com>
66251
66252         * lib/alloca.c [defined emacs]: Include "lisp.h".
66253         (xalloc_die) [defined emacs]: New macro.
66254         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
66255         [! defined emacs]: Include <xalloc.h>.
66256         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
66257         (pointer): Typedef to POINTER_TYPE *.
66258         (malloc): Remove decl; we now always use xmalloc.
66259         (alloca): Use old-style definition, since Emacs needs this.
66260         Check for arithmetic overflow when computing combined size.
66261
66262 2002-12-04  Paul Eggert  <eggert@twinsun.com>
66263
66264         Do not generate unlocked-io.h automatically, since it's easier to
66265         maintain it by hand.
66266
66267         * lib/unlocked-io.h: New file, from GNU diffutils,
66268         but with proper copyright notice and attribution.
66269         * lib/gen-uio: Remove.
66270         * lib/Makefile.am: Add copyright notice.
66271         (libfetish_a_SOURCES): Add unlocked-io.h.
66272         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
66273         (DISTCLEANFILES, io_functions): Remove macros.
66274         (EXTRA_DIST): Remove gen_uio.
66275         (unlocked-io.h): Remove rule.
66276
66277 2002-12-04  Jim Meyering  <jim@meyering.net>
66278
66279         Reflect the fact that stat.c and lstat.c are no longer generated.
66280         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
66281         (DISTCLEANFILES): Likewise.
66282         (EXTRA_DIST): Likewise.
66283         (all_local): Don't depend on stat.c or lstat.c.
66284         (stat.c, lstat.c): Remove rules.
66285         (EXTRA_DIST): Remove xstat.in.
66286
66287         * lib/xstat.in: Remove file.  Contents moved into stat.c.
66288         * lib/stat.c: New file.  Contents mostly from xstat.in.
66289         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
66290         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
66291
66292         * lib/safe-read.c: Rework so that it may serve to define safe_write,
66293         too.
66294         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
66295
66296 2002-12-03  Jim Meyering  <jim@meyering.net>
66297
66298         * lib/safe-read.c, safe-write.c: Change variable names and comments,
66299         but not semantics, to minimize the differences between these two files.
66300         (safe_read): Change comment to mention SAFE_READ_ERROR.
66301
66302         * lib/safe-read.c (IS_EINTR): Define.
66303         (safe_read): Use IS_EINTR in place of in-function cpp directives.
66304
66305 2002-12-02  Jim Meyering  <jim@meyering.net>
66306
66307         * lib/safe-read.c (EINTR): Define.
66308         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
66309         (INT_MAX): Provide fallback.
66310         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
66311
66312         * lib/safe-read.h (SAFE_READ_ERROR): Define.
66313
66314 2002-12-02  Bruno Haible  <bruno@clisp.org>
66315
66316         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
66317         Define, taken from safe-read.c.
66318         (INT_MAX): Provide fallback.
66319         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
66320         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
66321
66322         * lib/safe-read.c (EINTR): Remove definition.
66323         (safe_read): Don't use EINTR if it is absent.
66324
66325 2002-12-01  Jim Meyering  <jim@meyering.net>
66326
66327         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
66328         zero.
66329         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
66330
66331 2002-11-27  Paul Eggert  <eggert@twinsun.com>
66332
66333         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
66334         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
66335         with `if (! (value < limit)) abort ();', for readability.
66336
66337 2002-11-26  Karl Berry  <karl@gnu.org>
66338
66339         * lib/strdup.c: copy from libc again, with jim's ok.
66340         * lib/.cppi-disable: re-add strdup.c
66341
66342 2002-11-25  Karl Berry  <karl@gnu.org>
66343
66344         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
66345         instead of "strtol.c".
66346
66347 2002-11-25  Karl Berry  <karl@gnu.org>
66348
66349         * config/install-sh: update from automake for variable quoting, $0 in
66350         error msgs, etc.
66351
66352         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
66353         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
66354         entry.
66355
66356 2002-11-25  Jim Meyering  <jim@meyering.net>
66357
66358         * lib/mktime.c: Sync from libc, now that it has the latest fix.
66359
66360 2002-11-24  Karl Berry  <karl@gnu.org>
66361
66362         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
66363         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
66364
66365 2002-11-24  Jim Meyering  <jim@meyering.net>
66366
66367         Update from coreutils:
66368
66369         * lib/mktime.c: Merge in changes from libc.
66370
66371         Avoid a link-time failure on some Linux systems.
66372         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
66373         (otherwise).
66374         (__mon_yday): Declare with the STATIC attribute.
66375         (__mktime_internal): Likewise.
66376         Based on a report from Greg Schafer.
66377
66378 2002-11-23  Jim Meyering  <jim@meyering.net>
66379
66380         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
66381         Use `unsigned', not `int', as type of index.
66382
66383         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
66384
66385         * lib/fsusage.c: Remove unneeded parentheses around operands of
66386         `defined'.
66387
66388 2002-11-22  Paul Eggert  <eggert@twinsun.com>
66389
66390         * lib/quotearg.h: Allow multiple inclusion by surrounding with
66391         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
66392         so that we can be included first.
66393         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
66394         * lib/quotearg.c: Include quotearg.h immediately after config.h.
66395         No need to include stddef.h or sys/types.h any more.
66396         Surround local include files with "", not "<>".
66397         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
66398         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
66399         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
66400         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
66401         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
66402         (ISPRINT): Remove; no longer needed now that we assume C89.
66403
66404         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
66405         Preserve errno.
66406
66407         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
66408         quotearg_char): Use SIZE_MAX rather than
66409         (size_t) -1 when we are talking about "infinity".
66410
66411         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
66412
66413 2002-11-22  Paul Eggert  <eggert@twinsun.com>
66414
66415         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
66416         hint that one should use `if (! x) abort ();' rather than `assert
66417         (x);', and anyway it's one less thing to worry about configuring.
66418         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
66419         hash_rehash, hash_insert): Use abort rather than assert.
66420
66421 2002-11-22  Bruno Haible  <bruno@clisp.org>
66422
66423         * lib/safe-read.h: Assume C89. Add comments.
66424         (safe_read): Change return type to size_t.
66425         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
66426         byte counts > SSIZE_MAX correctly.
66427         * lib/safe-write.h: New file.
66428         * lib/safe-write.c: New file.
66429         * lib/full-read.h: New file.
66430         * lib/full-read.c: New file.
66431         * lib/full-write.h: Assume C89. Add comments.
66432         * lib/full-write.c: Include safe-write.h.
66433         (full_write): Rewritten to use safe_write.
66434         Suggested by Jim Meyering and Paul Eggert.
66435
66436 2002-11-21  Jim Meyering  <jim@meyering.net>
66437
66438         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
66439
66440         Merge in changes from the coreutils.
66441
66442         2002-09-25  Paul Eggert  <eggert@twinsun.com>
66443         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
66444         <stdint.h>.
66445         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
66446         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
66447         int.  Work more efficiently if X is the same width as uintmax_t.
66448         Do not compare X to -1, to avoid bogus compiler warning.
66449         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
66450         Don't assume that f_frsize and f_bsize are the same type.
66451
66452         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
66453         warning on FreeBSD.
66454
66455         * lib/makepath.c (make_path): Restore umask *before* creating the final
66456         component.
66457         (make_path): Minor reformatting.
66458
66459         * lib/xmalloc.c: Adjust to work with new autoconf macros,
66460         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
66461         HAVE_MALLOC/HAVE_REALLOC.
66462
66463         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
66464         dummy ones.  At least on GNU/Linux systems, `auto' means something
66465         else.
66466         From Michael Stone.
66467
66468 2002-11-21  Bruno Haible  <bruno@clisp.org>
66469
66470         Remove case insensitive option matching.
66471         * lib/argmatch.h (argcasematch): Remove declaration.
66472         (ARGCASEMATCH): Remove macro.
66473         (__xargmatch_internal): Remove case_sensitive argument.
66474         (XARGMATCH): Update.
66475         (XARGCASEMATCH): Remove macro.
66476         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
66477         case_sensitive argument.
66478         (argcasematch): Remove function.
66479         (__xargmatch_internal): Remove case_sensitive argument.
66480         (main): Use XARGMATCH instead of XARGCASEMATCH.
66481
66482         * lib/xmalloc.c: Change compile-time error message. Add comment about
66483         required autoconf version.
66484
66485 2002-11-20  Paul Eggert  <eggert@twinsun.com>
66486
66487         Merge argmatch cleanups from Bison.  Assume C89.
66488
66489         * lib/argmatch.c: Include config.h here, not in argmatch.h.
66490         Include stdlib.h, for EXIT_FAILURE.
66491         Always include <string.h>, since we assume C89.
66492         (EXIT_FAILURE): Remove pre-C89 bug workaround.
66493         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
66494         Include <stddef.h> instead, since it's all we need for size_t.
66495         (PARAMS): Remove.  All uses removed.
66496         (ARRAY_CARDINALITY): Do not bother to #undef.
66497         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
66498         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
66499         Remove unnecessary parentheses.
66500         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
66501         Insert necessary parentheses.
66502         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
66503         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
66504
66505 2002-11-19  Bruno Haible  <bruno@clisp.org>
66506
66507         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
66508         * lib/mbswidth.h: Include <stddef.h>, for size_t.
66509
66510         * lib/mbswidth.h (PARAMS): Remove macro.
66511         (mbswidth, mbsnwidth): Use ANSI C function declarations.
66512         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
66513
66514         * lib/gcd.h (PARAMS): Remove macro.
66515         (gcd): Use ANSI C function declarations.
66516         * lib/gcd.c (gcd): Likewise.
66517
66518 2002-11-15  Bruno Haible  <bruno@clisp.org>
66519
66520         * lib/strcspn.c: Include <stddef.h>.
66521         (strcspn): Use ANSI C function declaration. Change return type to
66522         size_t. Use NULL.
66523         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
66524         (strpbrk): Use NULL.
66525         * lib/strpbrk.h (PARAMS): Remove macro.
66526         (strpbrk): Use ANSI C function declaration.
66527         * lib/strstr.c: Don't include <sys/types.h>.
66528         * lib/strstr.h (PARAMS): Remove macro.
66529         (strstr): Use ANSI C function declarations.
66530
66531 2002-11-14  Karl Berry  <karl@gnu.org>
66532
66533         * config/mkinstalldirs: `do' on separate line, instead of
66534         `for var; do'.
66535
66536 2002-11-06  Bruno Haible  <bruno@clisp.org>
66537
66538         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
66539         * lib/gcd.c (gcd): Likewise.
66540
66541 2002-11-05  Bruno Haible  <bruno@clisp.org>
66542
66543         * lib/gcd.h: New file, from gettext-0.11.5.
66544         * lib/gcd.c: New file, from gettext-0.11.5.
66545
66546 2002-11-05  Bruno Haible  <bruno@clisp.org>
66547
66548         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
66549         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
66550         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
66551         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
66552
66553         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
66554         <libintl.h>.
66555         * lib/makepath.c: Include gettext.h instead of <locale.h> and
66556         <libintl.h>.
66557
66558         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
66559         * lib/human.c: Include gettext.h instead of <libintl.h>.
66560         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
66561         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
66562         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
66563         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
66564         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
66565         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
66566         (textdomain): Remove definition.
66567         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
66568
66569         * lib/long-options.c: Remove include of <libintl.h> and definition of
66570         _.
66571         * lib/same.c: Remove include of <libintl.h> and definition of _.
66572
66573 2002-11-04  Owen Taylor  <otaylor@redhat.com>
66574
66575         * lib/config.charset: A few additions for Solaris.
66576
66577 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
66578
66579         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
66580         * lib/localcharset.c (locale_charset): Declare as extern "C".
66581
66582 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
66583
66584         * lib/config.charset: msdos in uk_UA uses CP1125.
66585
66586 2002-11-04  Bruno Haible  <bruno@clisp.org>
66587
66588         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
66589         * lib/strcase.h: New file, from GNU gettext-0.11.5.
66590         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
66591         * lib/strstr.h: New file, from GNU gettext-0.11.5.
66592         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
66593
66594 2002-11-04  Bruno Haible  <bruno@clisp.org>
66595
66596         * lib/localcharset.c (locale_charset): Don't return an empty string.
66597
66598 2002-11-04  Bruno Haible  <bruno@clisp.org>
66599
66600         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
66601         aliases.
66602
66603 2002-11-04  Bruno Haible  <bruno@clisp.org>
66604
66605         * lib/config.charset: Update for newest glibc. Add canonical names
66606         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
66607
66608 2002-11-04  Bruno Haible  <bruno@clisp.org>
66609
66610         * lib/config.charset: Add support for NetBSD.
66611
66612 2002-11-04  Bruno Haible  <bruno@clisp.org>
66613
66614         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
66615
66616 2002-11-01  Bruno Haible  <bruno@clisp.org>
66617
66618         * configure.in: Add AC_CONFIG_AUX_DIR call.
66619         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
66620         test/Makefile.
66621         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
66622
66623 2002-09-28  Karl Berry  <karl@gnu.org>
66624
66625         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
66626         installed automake until the next release, since changes have been
66627         made.
66628
66629 2002-09-25  Karl Berry  <karl@gnu.org>
66630
66631         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
66632         * lib/getopt*: copy from libc/posix.
66633         * lib/gettext.h: copy from gettext.
66634         * lib/.cppi-disable: add strdup.c, gettext.h.
66635
66636 2002-09-25  Karl Berry  <karl@gnu.org>
66637
66638         * config/srclist.txt: enable gettext.h check.
66639         * config/config.{guess,sub}: update from prep.
66640         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
66641                 from automake 1.6.3.
66642         See srclist*.
66643
66644 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
66645
66646         * regex.c (PATFETCH): Remove the translating fetch.
66647         (PATFETCH_RAW): Rename to PATFETCH.
66648         (set_image_of_range): New fun.
66649         (SET_RANGE_TABLE_WORK_AREA): Use it.
66650         (regex_compile): Don't translate the pattern chars so eagerly.
66651         Only do it when inserting an `exactn' bytecode or when handling
66652         a char-range.
66653         (mutually_exclusive_p): Avoid empty statement.
66654
66655 2002-07-06  Jim Meyering  <meyering@lucent.com>
66656
66657         * m4/README: Don't mention Makefile.am.in.
66658         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
66659
66660 2002-07-01  Jim Meyering  <meyering@lucent.com>
66661
66662         * lib/c-stack.c: Include sys/time.h.
66663         From Volker Borchert.
66664
66665 2002-06-26  Paul Eggert  <eggert@twinsun.com>
66666
66667         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
66668
66669 2002-06-26  Paul Eggert  <eggert@twinsun.com>
66670
66671         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
66672         New macro.  Use it uniformly instead of
66673         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
66674         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
66675         reported by Vin Shelton.
66676
66677 2002-06-22  Paul Eggert  <eggert@twinsun.com>
66678
66679         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
66680         Do not assume SA_SIGINFO behavior.
66681         Bug reported by Jim Meyering on NetBSD 1.5.2.
66682
66683 2002-06-22  Jim Meyering  <meyering@lucent.com>
66684
66685         * m4/c-stack.m4: New file, from diffutils-2.8.2.
66686         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
66687
66688         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
66689         now that configure.ac uses AC_GNU_SOURCE.
66690         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
66691         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
66692
66693         Update to latest tools.  Suggestions from Paul Eggert.
66694         * m4/stdbool.m4: New file, from diffutils-2.8.2.
66695         * m4/gnu-source.m4: Update from diffutils-2.8.2.
66696         * m4/fnmatch.m4: Likewise.
66697         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
66698         to AC_HEADER_STDBOOL
66699
66700 2002-06-22  Jim Meyering  <meyering@lucent.com>
66701
66702         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
66703         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
66704
66705 2002-06-22  Jim Meyering  <meyering@lucent.com>
66706
66707         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
66708
66709         * lib/exitfail.c, exitfail.h: Likewise.
66710         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
66711
66712         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
66713         of fnmatch.h.
66714         (EXTRA_DIST): Add fnmatch_loop.c.
66715         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
66716
66717         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
66718         * lib/fnmatch.c: Update from diffutils-2.8.2.
66719         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
66720         * lib/fnmatch.h: Remove file.
66721
66722 2002-06-21  Jim Meyering  <meyering@lucent.com>
66723
66724         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
66725         * m4/mbrtowc.m4: Likewise.
66726
66727         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
66728         * m4/mbswidth.m4: Reflect name change:
66729         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
66730         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
66731
66732         * m4/lib-link.m4: Update from gettext-0.11.2.
66733         * m4/gettext.m4: Likewise.
66734
66735         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
66736         From Alfred M. Szmidt.
66737
66738 2002-06-18  Paul Eggert  <eggert@twinsun.com>
66739
66740         * lib/file-type.h: Report an error if neither S_ISREG nor
66741         S_IFREG is defined, instead of using a test specific to glibc
66742         2.2.  This should be safe, since POSIX requires S_ISREG and
66743         Unix Version 7 had S_IFREG.  We don't need to check for
66744         <sys/types.h> since we don't use any symbols that it defines.
66745
66746 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
66747
66748         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
66749         $@-t, so that each temporary file name is unique and valid in the first
66750         8 characters, for operation under DOS.
66751
66752 2002-06-15  Paul Eggert  <eggert@twinsun.com>
66753
66754         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
66755
66756 2002-06-15  Jim Meyering  <meyering@lucent.com>
66757
66758         Work even with DJGPP 2.03, which lacks support for symlinks.
66759         From Richard Dawe.
66760         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
66761         is defined.
66762         * lib/lchown.c (S_ISLNK): Likewise.
66763
66764 2002-06-15  Jim Meyering  <meyering@lucent.com>
66765
66766         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
66767         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
66768         have been included before this file.
66769
66770 2002-06-14  Jim Meyering  <meyering@lucent.com>
66771
66772         * lib/file-type.h: Use the version from diffutils-2.8.2.
66773         * lib/file-type.c: Likewise.
66774
66775 2002-06-07  Jim Meyering  <meyering@lucent.com>
66776
66777         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
66778         They're needed at least for NetBSD 1.5.2.
66779         ($statxfs_includes): Include those same headers.
66780         ($statxfs_includes): Include sys/vfs.h if available.
66781         ($statxfs_includes): Likewise for sys/statvfs.h.
66782         Check for the following members in both structs statfs and statvfs:
66783         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
66784
66785 2002-06-01  Jim Meyering  <meyering@lucent.com>
66786
66787         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
66788         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
66789
66790 2002-05-28  Jim Meyering  <meyering@lucent.com>
66791
66792         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
66793         Reported by Volker Borchert.
66794
66795 2002-05-27  Jim Meyering  <meyering@lucent.com>
66796
66797         Fix a problem seen only on nonconforming systems whereby ls.c's
66798         use of localtime, and then of gettimeofday would cause trouble:
66799         the localtime call used to initialize rpl_gettimeofday's save
66800         mechanism would clobber ls's current local time information so
66801         that in any long listing the first file would always be listed
66802         with date 1970-01-01.  Analysis by Volker Borchert.
66803
66804         * lib/gettimeofday.c (localtime): Undefine.
66805         (rpl_localtime): New function.
66806
66807 2002-05-27  Jim Meyering  <meyering@lucent.com>
66808
66809         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
66810         localtime.
66811
66812         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
66813         use the replacement function; it wouldn't resolve at link time.
66814         Reported by Volker Borchert.
66815
66816 2002-05-22  Jim Meyering  <meyering@lucent.com>
66817
66818         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
66819         file-type.h.
66820         * lib/file-type.h: New file.
66821         * lib/file-type.c (file_type): New file/function.  Extracted from
66822         diffutils.
66823
66824 2002-04-30  Jim Meyering  <meyering@lucent.com>
66825
66826         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
66827
66828 2002-04-29  Paul Eggert  <eggert@twinsun.com>
66829
66830         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
66831
66832 2002-04-29  Paul Eggert  <eggert@twinsun.com>
66833
66834         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
66835         Do not check for alloca.h (no longer used) or stdbool.h (was never
66836         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
66837
66838 2002-04-29  Paul Eggert  <eggert@twinsun.com>
66839
66840         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
66841
66842 2002-04-29  Jim Meyering  <meyering@lucent.com>
66843
66844         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
66845         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
66846         Use AC_FUNC_STRNLEN here instead.
66847
66848         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
66849         With autoconf-2.53a, it's part of AC_PROG_CC.
66850
66851 2002-04-28  Paul Eggert  <eggert@twinsun.com>
66852
66853         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
66854         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
66855
66856 2002-04-28  Paul Eggert  <eggert@twinsun.com>
66857
66858         * lib/sig2str.h, lib/sig2str.c: New files.
66859         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
66860
66861 2002-04-28  Paul Eggert  <eggert@twinsun.com>
66862
66863         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
66864         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
66865         of 127, since 64 is the largest conceivable number for ancient
66866         nonstandard hosts.
66867         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
66868
66869 2002-04-28  Jim Meyering  <meyering@lucent.com>
66870
66871         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
66872
66873 2002-04-24  Jim Meyering  <meyering@lucent.com>
66874
66875         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
66876         (jm_PREREQ): Use it.
66877
66878         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
66879         mach/mach.h fcntl.h.
66880         Check for this function: setlocale.
66881
66882 2002-04-24  Jim Meyering  <meyering@lucent.com>
66883
66884         * lib/gettext.h: New file, from Gettext.
66885         * lib/Makefile.am (INCLUDES): Remove -I../intl.
66886         (libfetish_a_SOURCES): Add gettext.h.
66887
66888 2002-04-16  Jim Meyering  <meyering@lucent.com>
66889
66890         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
66891         ut_pid, ut_id, ut_exit.
66892
66893 2002-04-16  Jim Meyering  <meyering@lucent.com>
66894
66895         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
66896         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
66897         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
66898
66899 2002-04-12  Jim Meyering  <meyering@lucent.com>
66900
66901         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
66902         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
66903         existence of the getmntinfo function.  Needed for Darwin 5.3.
66904
66905         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
66906         This is necessary at least on Darwin 5.3.
66907
66908         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
66909         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
66910         strnlen.o in the library, and that makes some versions of ranlib
66911         object.
66912
66913 2002-04-12  Jim Meyering  <meyering@lucent.com>
66914
66915         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
66916
66917 2002-04-09  Jim Meyering  <meyering@lucent.com>
66918
66919         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
66920         to be more precise.  Rather than saying we're checking whether the
66921         function `works', say what we're testing.
66922         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
66923         Reported by Bruno Haible.
66924
66925 2002-03-10  Jim Meyering  <meyering@lucent.com>
66926
66927         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
66928         Suggestion from Santiago Vila.
66929
66930 2002-03-08  Jim Meyering  <meyering@lucent.com>
66931
66932         * lib/rename.c: Mention that this wrapper is needed also on
66933         mips-dec-ultrix4.4 systems.
66934
66935 2002-03-02  Jim Meyering  <meyering@lucent.com>
66936
66937         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
66938         not HAVE_CLOCK_SETTIME.
66939
66940 2002-02-27  Paul Eggert  <eggert@twinsun.com>
66941
66942         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
66943         Check for clock_settime.
66944
66945 2002-02-27  Paul Eggert  <eggert@twinsun.com>
66946
66947         * lib/nanosleep.h: Rename to....
66948         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
66949
66950         * lib/gettime.c: New file.
66951         * lib/settime.c: New file.
66952         * lib/stime.c: Remove.
66953
66954         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
66955         timespec.h.  Remove nanosleep.h.
66956
66957 2002-02-25  Paul Eggert  <eggert@twinsun.com>
66958
66959         * m4/acl.m4: New file.
66960         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
66961         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
66962
66963 2002-02-25  Paul Eggert  <eggert@twinsun.com>
66964
66965         * lib/acl.c, lib/acl.h: New files.
66966         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
66967
66968 2002-02-24  Jim Meyering  <meyering@lucent.com>
66969
66970         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
66971         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
66972         cause trouble.  Reported by Nelson Beebe.
66973
66974 2002-02-23  Paul Eggert  <eggert@twinsun.com>
66975
66976         * lib/path-concat.c (xpath_concat): Reorder code to pacify
66977         compilers that don't know that xalloc_die never returns.
66978
66979 2002-02-20  Jim Meyering  <meyering@lucent.com>
66980
66981         * lib/getdate.c: Regenerate using bison-1.33.
66982
66983 2002-02-17  Jim Meyering  <meyering@lucent.com>
66984
66985         * config/config.guess (main): Don't use `head -1'; it's no longer
66986         portable. Use `sed 1q' instead.
66987
66988 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
66989
66990         * m4/codeset.m4: Upgrade to gettext-0.11.
66991         * m4/gettext.m4: Upgrade to gettext-0.11.
66992         * m4/glibc21.m4: Upgrade to gettext-0.11.
66993         * m4/iconv.m4: Upgrade to gettext-0.11.
66994         * m4/isc-posix.m4: Upgrade to gettext-0.11.
66995         * m4/lcmessage.m4: Upgrade to gettext-0.11.
66996         * m4/lib-ld.m4: New file, from gettext-0.11.
66997         * m4/lib-link.m4: New file, from gettext-0.11.
66998         * m4/lib-prefix.m4: New file, from gettext-0.11.
66999         * m4/progtest.m4: Upgrade to gettext-0.11.
67000
67001 2002-02-15  Paul Eggert  <eggert@twinsun.com>
67002
67003         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
67004         (jm_PREREQ): Use it.
67005
67006 2002-02-15  Paul Eggert  <eggert@twinsun.com>
67007
67008         * lib/posixver.c, lib/posixver.h: New files.
67009         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
67010
67011 2002-02-02  Paul Eggert  <eggert@twinsun.com>
67012             Bruno Haible  <bruno@clisp.org>
67013
67014         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
67015         (fwrite_success_callback): New declaration.
67016         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
67017         print_unicode_char. Call failure callback instead of error.
67018         (fwrite_success_callback): New function.
67019         (exit_failure_callback): New function.
67020         (fallback_failure_callback): New function.
67021         (print_unicode_char): Call unicode_to_mb.
67022
67023 2002-01-26  Jim Meyering  <meyering@lucent.com>
67024
67025         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
67026         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
67027
67028 2002-01-26  Jim Meyering  <meyering@lucent.com>
67029
67030         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
67031
67032 2002-01-22  Paul Eggert  <eggert@twinsun.com>
67033
67034         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
67035
67036 2002-01-22  Jim Meyering  <meyering@lucent.com>
67037
67038         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
67039         Otherwise, some versions of automake would omit the rule that makes
67040         Makefile from Makefile.in.
67041
67042 2002-01-21  Paul Eggert  <eggert@twinsun.com>
67043
67044         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
67045         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
67046         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
67047         (memcoll): Set errno to zero if there is no error.
67048
67049         * lib/quotearg.c (quotearg_buffer_restyled):
67050         Fix bug with quoting buffers containing NUL when backslashing escapes.
67051         This bug was exposed by the other changes in this patch.
67052         (quotearg_n_options): New arg ARGSIZE.
67053         All callers changed.
67054         (quoting_options_from_style): New function.
67055         (quotearg_n_style): Use it.
67056         (quotearg_n_style_mem): New function.
67057
67058         * lib/quotearg.h (quotearg_n_style_mem): New function.
67059
67060 2002-01-19  Jim Meyering  <meyering@lucent.com>
67061
67062         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
67063         Remove useless quotes: DF_PROG="df".
67064         * m4/strnlen.m4: New file.
67065
67066 2002-01-16  Paul Eggert  <eggert@twinsun.com>
67067
67068         * lib/backupfile.c (ISDIGIT): Comment fix.
67069         * lib/getdate.y (ISDIGIT): Likewise.
67070         * lib/posixtm.c (ISDIGIT, year): Likewise.
67071         * lib/strverscmp.c (ISDIGIT): Likewise.
67072         * lib/userspec.c (ISDIGIT): Likewise.
67073
67074 2002-01-16  Jim Meyering  <meyering@lucent.com>
67075
67076         * lib/getdate.y: Add three semicolons, each just before a closing
67077         brace. Bison (as of version 1.31) no longer papers over that mistake.
67078
67079 2002-01-05  Jim Meyering  <meyering@lucent.com>
67080
67081         * lib/version-etc.c (version_etc_copyright): Update copyright year.
67082
67083 2001-12-19  Paul Eggert  <eggert@twinsun.com>
67084
67085         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
67086         not silently exit merely because the output buffer happens to
67087         have nothing pending.
67088
67089 2001-12-18  Paul Eggert  <eggert@twinsun.com>
67090
67091         See the big note in ../ChangeLog.
67092         * lib/human.c (suffixes): Prefer K to k for 1024.
67093         (generate_suffix_backwards): New function.
67094         (human_readable_inexact): Use it.
67095         * lib/xstrtol.c (__xstrtol): If there is no number but there
67096         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
67097         Accept 'K' as well as 'k'.
67098
67099 2001-12-15  Jim Meyering  <meyering@lucent.com>
67100
67101         * lib/regex.h (__restrict_arr): Update from libc.
67102
67103         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
67104         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
67105         (STREQ): Define.
67106
67107 2001-12-14  Jim Meyering  <meyering@lucent.com>
67108
67109         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
67110         Suggestion from Bruno Haible.
67111
67112 2001-12-10  Jim Meyering  <meyering@lucent.com>
67113
67114         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
67115         xrealloc, Instead, include "xalloc.h".
67116         (initbuffer): Don't cast xmalloc return value to char*.
67117         (readline): Reword comment.
67118         Don't cast xrealloc return value to char*
67119         Return NULL, not 0.
67120
67121 2001-12-09  Jim Meyering  <meyering@lucent.com>
67122
67123         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
67124         about `signed and unsigned type in conditional expression'.
67125         * lib/posixtm.c (posix_time_parse): Likewise.
67126
67127         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
67128
67129         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
67130         to avoid a pedantic warning.
67131
67132         * lib/getstr.c: Don't include assert.h.
67133         (getstr): Remove warning-evoking assertions.
67134         Return -1 if offset parameter is out of bounds.
67135         Change the type of a local from int to size_t.
67136
67137         * lib/strftime.c (my_strftime_localtime_r): Include this function
67138         definition in the `#if ! HAVE_TM_GMTOFF' block.
67139
67140         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
67141         Include xalloc.h instead.
67142
67143 2001-12-02  Jim Meyering  <meyering@lucent.com>
67144
67145         * lib/tempname.c: Don't declare getenv, thus reverting the change of
67146         2001-11-18.  It's no longer necessary, now that stdlib.h is always
67147         included.
67148
67149         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
67150         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
67151
67152 2001-11-30  Akim Demaille  <akim@epita.fr>
67153
67154         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
67155         before being defined.
67156
67157 2001-11-27  Paul Eggert  <eggert@twinsun.com>
67158
67159         * lib/quotearg.h (quotearg_n, quotearg_n_style):
67160         First arg is int, not unsigned.
67161         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
67162         (SIZE_MAX, UINT_MAX): New macros.
67163         (quotearg_n_options): Abort if N is negative.
67164         Avoid overflow check on hosts where size_t is 64 bits and int
67165         is 32 bits, as overflow is impossible there.
67166         Fix off-by-one typo that caused unnecessary reallocation.
67167
67168 2001-11-27  Jim Meyering  <meyering@lucent.com>
67169
67170         * lib/tempname.c: Merge with version from libc.
67171         * lib/regex.c: Likewise.
67172
67173         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
67174         systems for which STDC_HEADERS is 0, it was not included, resulting in
67175         a warning about an integer-to-pointer conversion problem with getenv.
67176         Reported by Volker Borchert.
67177
67178 2001-11-26  Jim Meyering  <meyering@lucent.com>
67179
67180         * lib/gtod.h: Remove file.
67181         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
67182         * lib/gettimeofday.c: Don't include gtod.h.
67183         (GTOD_init): Remove function.
67184         (rpl_gettimeofday): Do its job here instead, rather than aborting.
67185         Suggestion from Volker Borchert.
67186
67187 2001-11-23  Jim Meyering  <meyering@lucent.com>
67188
67189         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
67190         it.
67191         * lib/hash.c (struct hash_table): Define it here instead.
67192
67193 2001-11-22  Jim Meyering  <meyering@lucent.com>
67194
67195         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
67196
67197 2001-11-20  Jim Meyering  <meyering@lucent.com>
67198
67199         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
67200         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
67201
67202 2001-11-19  Jim Meyering  <meyering@lucent.com>
67203
67204         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
67205         directory.  Use "conftestXXXXXX" as the template.
67206         Suggestion from Paul Eggert.
67207
67208         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
67209         immediately, so the test doesn't mistakenly hit the max-open-files
67210         limit.
67211
67212 2001-11-18  Paul Eggert  <eggert@twinsun.com>
67213
67214         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
67215         (TEMPORARIES): New macro.
67216         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
67217         removes an artificial limitation (e.g. HP-UX 10.20, where
67218         TMP_MAX is 17576).
67219
67220 2001-11-18  Jim Meyering  <meyering@lucent.com>
67221
67222         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
67223
67224 2001-11-18  Jim Meyering  <meyering@lucent.com>
67225
67226         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
67227         on SunOS 4.
67228
67229         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
67230         files will be created before anything else.
67231
67232 2001-11-17  Paul Eggert  <eggert@twinsun.com>
67233
67234         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
67235         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
67236
67237 2001-11-17  Jim Meyering  <meyering@lucent.com>
67238
67239         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
67240         Prompted by a report from Bob Proulx.
67241
67242         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
67243         Instead, require UTILS_FUNC_MKSTEMP.
67244
67245 2001-11-17  Jim Meyering  <meyering@lucent.com>
67246
67247         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
67248         Now, that's done as part of AC_FUNC_STRTOD.
67249
67250 2001-11-17  Jim Meyering  <meyering@lucent.com>
67251
67252         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
67253         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
67254         rather than group writable.  Patch by Juan F. Codagnone.
67255
67256         * lib/readtokens.c: Remove explicit declarations of xmalloc and
67257         xrealloc, Instead, include "xalloc.h".
67258
67259         * lib/mountlist.c: Include unlocked-io.h after all system headers.
67260         Remove explicit declarations of xmalloc, xrealloc,
67261         and xstrdup.  Instead, include "xalloc.h".
67262
67263         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
67264         unlocked-io.h.
67265         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
67266         Likewise.
67267         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
67268
67269         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
67270         Reported by Padraig Brady.
67271
67272         * lib/mkstemp.c: #undef mkstemp.
67273         Include config.h.
67274         (rpl_mkstemp): Rename from mkstemp.
67275         Protoize.
67276
67277 2001-11-16  Jim Meyering  <meyering@lucent.com>
67278
67279         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
67280         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
67281         determine the amount of total physical memory, use pstat_getstatic.
67282         HPUX-11 doesn't define _SC_PHYS_PAGES.
67283         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
67284         If sysconf couldn't be used to determine the amount of available
67285         physical memory, use both pstat_getstatic and pstat_getdynamic.
67286         Based on a patch from Bob Proulx.
67287
67288 2001-11-10  Jim Meyering  <meyering@lucent.com>
67289
67290         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
67291         (jm_PREREQ): Use it.
67292
67293 2001-11-09  Jim Meyering  <meyering@lucent.com>
67294
67295         * m4/jm-macros.m4: Require autoconf-2.52f.
67296         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
67297         Use these AC_-prefixed names, not the AM_-prefixed ones.
67298
67299         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
67300
67301 2001-11-05  Jim Meyering  <meyering@lucent.com>
67302
67303         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
67304
67305 2001-11-04  Jim Meyering  <meyering@lucent.com>
67306
67307         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
67308         $DEFS.
67309
67310 2001-11-03  Jim Meyering  <meyering@lucent.com>
67311
67312         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
67313         of AC_DEFUN.
67314
67315         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
67316         know the name of the variable in the macro definition.
67317
67318 2001-11-03  Jim Meyering  <meyering@lucent.com>
67319
67320         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
67321         in argmatch_to_argument call.
67322
67323         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
67324         argument.
67325
67326         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
67327         e.g., a fault due to an attempt to free a NULL pointer.
67328
67329 2001-11-01  Jim Meyering  <meyering@lucent.com>
67330
67331         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
67332         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
67333
67334 2001-11-01  Jim Meyering  <meyering@lucent.com>
67335
67336         * lib/dirfd.c, lib/dirfd.h: New files.
67337         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
67338
67339         * lib/hash.c (hash_print) [TESTING]: Clean up.
67340
67341 2001-10-22  Paul Eggert  <eggert@twinsun.com>
67342
67343         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
67344         to avoid a warning if -Wall.
67345
67346 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
67347
67348         * README: New file
67349         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
67350         (per RMS's instructions, this is now the canonical source)
67351         * lgpl/, gpl/: New directories.
67352
67353 2001-10-21  Paul Eggert  <eggert@twinsun.com>
67354
67355         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
67356
67357 2001-10-21  Jim Meyering  <meyering@lucent.com>
67358
67359         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
67360         this code would end up calling gettext even in packages built
67361         with --disable-nls.
67362         * lib/getopt.c (_): Likewise.
67363         * lib/regex.c (_): Likewise.
67364
67365 2001-10-20  Paul Eggert  <eggert@twinsun.com>
67366
67367         * m4/error.m4 (jm_PREREQ_ERROR):
67368         Do not invoke AC_CHECK_FUNCS with strerror_r, as
67369         AC_FUNC_STRERROR_R does that.
67370         Check for strerror declaration.
67371
67372         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
67373         are supposed to have them these days.
67374         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
67375         Merge changes from latest Autoconf CVS.
67376         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
67377         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
67378         POSIX decided to standardize on the int flavor of strerror_r.
67379
67380 2001-10-20  Paul Eggert  <eggert@twinsun.com>
67381
67382         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
67383         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
67384         Use strerror_r that is only a macro, even if it is not a function.
67385         (strerror): Check for HAVE_DECL_STRERROR before declaring.
67386         (private_strerror): Use prototypes, not old-style function definition.
67387         (print_errno_message): New function.
67388         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
67389         char*-flavored one.
67390         (error_tail, error, error_at_line): Use it.
67391
67392 2001-10-11  Jim Meyering  <meyering@lucent.com>
67393
67394         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
67395         and quote_n (1, ... to avoid clobbering a buffer.
67396
67397 2001-10-05  Jim Meyering  <meyering@lucent.com>
67398
67399         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
67400         hash-pjw.h.
67401         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
67402         * lib/hash-pjw.h: New file.
67403
67404 2001-09-30  Jim Meyering  <meyering@lucent.com>
67405
67406         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
67407         `struct fsstat' has the `f_fstypename' member.
67408         Use that to define FS_TYPE, which is now used to make
67409         the getfsstat link test tighter.
67410
67411 2001-09-30  Jim Meyering  <meyering@lucent.com>
67412
67413         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
67414         Include <sys/ucred.h>, for Apple Darwin.
67415         Include sys/mount.h and sys/fs_types.h only if available.
67416         (FS_TYPE): Define.
67417         (read_filesystem_list): Use FS_TYPE.
67418
67419 2001-09-29  Paul Eggert  <eggert@twinsun.com>
67420
67421         * lib/exclude.c (excluded_filename): 0 -> false, since it's
67422         a boolean context.
67423
67424 2001-09-29  Jim Meyering  <meyering@lucent.com>
67425
67426         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
67427         [one-argument getmntent function]): Include stdio.h before mntent.h.
67428         SunOS 4.1.x needs it for the declaration of `FILE'.
67429         Patch by Volker Borchert.
67430
67431         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
67432         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
67433         sys/fs_types.h, and make the link-test for getfsstat guard #include
67434         directives with appropriate #if HAVE_*_H tests so that we can
67435         detect getfsstat on Apple Darwin1.3.7 systems.
67436         Reported by Nelson Beebe.
67437         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
67438
67439 2001-09-28  Paul Eggert  <eggert@twinsun.com>
67440
67441         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
67442         #defines strtoimax.  Also treat the other strto* functions
67443         like strtoimax.
67444
67445         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
67446         Check for strtoul and strtoumax,
67447         as those declarations are made even in the signed case.
67448         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
67449         Likewise, for strtol and strtoimax.
67450
67451 2001-09-28  Paul Eggert  <eggert@twinsun.com>
67452
67453         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
67454         #defines strtoimax.  Also treat the other strto* functions
67455         like strtoimax.
67456
67457         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
67458         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
67459         (strtoimax, strtoumax): Do not declare if already defined as a macro.
67460
67461 2001-09-26  Jim Meyering  <meyering@lucent.com>
67462
67463         Most macros in unlocked-io.h had the wrong number of arguments.
67464         * lib/gen-uio: New script.
67465         (USE_UNLOCKED_IO): Define to 1 if not already defined.
67466         * lib/unlocked-io.hin: Remove file.
67467         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
67468         rather than trying to embed it here.
67469         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
67470         Reported by Padraig Brady.
67471
67472 2001-09-25  Volker Borchert  <bt@teknon.de>
67473
67474         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
67475         `result'.
67476
67477 2001-09-24  Jim Meyering  <meyering@lucent.com>
67478
67479         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
67480
67481 2001-09-23  Jim Meyering  <meyering@lucent.com>
67482
67483         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
67484         instead of the mere test for existence of mntent.h.  The latter
67485         would get a false-positive on AIX 3.4 systems.
67486         In the outer getmntent if-block, don't die if neither of the getmntent
67487         tests succeeds.  Instead, just fall through and continue with the
67488         remaining tests.
67489
67490 2001-09-23  Jim Meyering  <meyering@lucent.com>
67491
67492         * lib/mountlist.c: Remove useless parentheses in #if directives.
67493         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
67494         the deprecated MOUNTED symbol is no longer defined in mntent.h.
67495
67496 2001-09-22  Jim Meyering  <meyering@lucent.com>
67497
67498         * m4/gettext.m4: New file.  From gettext.
67499         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
67500         * m4/progtest.m4: Likewise
67501         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
67502         * m4/glibc21.m4: Likewise.
67503
67504         * m4/libintl.m4: Remove.  No longer used.
67505
67506 2001-09-22  Jim Meyering  <meyering@lucent.com>
67507
67508         * lib/localcharset.c: Update from latest gettext.
67509         * lib/config.charset: Likewise.
67510
67511 2001-09-20  Jim Meyering  <meyering@lucent.com>
67512
67513         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
67514         strtoimax.
67515         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
67516         strtoumax.
67517
67518 2001-09-20  Jim Meyering  <meyering@lucent.com>
67519
67520         * lib/xstrtol.c (strtoimax): Guard declaration with
67521         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
67522         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
67523         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
67524         (strtoumax): Likewise, for completeness (it wasn't necessary).
67525
67526 2001-09-17  Paul Eggert  <eggert@twinsun.com>
67527
67528         * lib/strtoimax.c (HAVE_LONG_LONG):
67529         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
67530         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
67531         to work around bug in IBM C compiler.
67532
67533 2001-09-17  Jim Meyering  <meyering@lucent.com>
67534
67535         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
67536         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
67537         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
67538         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
67539         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
67540         whenever the right hand side need not be expanded by the shell.
67541
67542 2001-09-16  Paul Eggert  <eggert@twinsun.com>
67543
67544         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
67545         library.  It's not correct, as some older glibcs are buggy.
67546         fnmatch wasn't fixed until glibc 2.2.
67547
67548         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
67549         special shell magic here.
67550
67551 2001-09-16  Jim Meyering  <meyering@lucent.com>
67552
67553         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
67554         * m4/jm-macros.m4: Require it.
67555
67556 2001-09-16  Jim Meyering  <meyering@lucent.com>
67557
67558         * lib/mkdir.c: New file.
67559
67560 2001-09-15  Jim Meyering  <meyering@lucent.com>
67561
67562         * m4/jm-macros.m4: Check for help2man.
67563
67564 2001-09-11  Jim Meyering  <meyering@lucent.com>
67565
67566         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
67567         The body, by Paul Eggert, was moved here from configure.in.
67568         * m4/jm-macros.m4: Require UTILS_HOST_OS.
67569
67570 2001-09-04  Paul Eggert  <eggert@twinsun.com>
67571
67572         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
67573         (jm_PREREQ): Use it.
67574
67575 2001-09-04  Paul Eggert  <eggert@twinsun.com>
67576
67577         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
67578         Use ssize_t, not int, to store result of readlink.
67579         Check for ssize_t overflow as well as size_t overflow,
67580         as POSIX says the result of readlink is implementation-defined
67581         when ssize_t overflows.
67582         Remove unnecessary cast to char*.
67583         Use free+malloc instead of realloc, as the storage doesn't need
67584         to be preserved and it's clearer and can be more efficient that way.
67585         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
67586         * lib/xreadlink.h (xreadlink): Update prototype.
67587
67588 2001-09-04  Paul Eggert  <eggert@twinsun.com>
67589
67590         * lib/xgetcwd.c: Revert some of the previous change; intead,
67591         fix the HAVE_GETCWD_NULL code to behave more like the
67592         !HAVE_GETCWD_NULL code used to.
67593
67594         Include "xalloc.h".
67595         (xgetcwd): Do not return NULL when memory is exhausted; instead,
67596         invoke xalloc_die.
67597
67598 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67599
67600         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
67601         sys/param.h, as pathmax.h includes them.
67602
67603 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67604
67605         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
67606         (jm_PREREQ_XGETCWD): New macro.
67607
67608         * m4/getcwd.m4: New file.
67609
67610 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67611
67612         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
67613         like the HAVE_GETCWD_NULL code.
67614         Include pathmax.h if not HAVE_GETCWD.
67615         Do not include xalloc.h.
67616         (INITIAL_BUFFER_SIZE): New symbol.
67617         Do not use xmalloc / xrealloc, since the caller is responsible for
67618         handling errors.  Preserve errno around `free' during failure.
67619         Do not overrun buffer when using getwd.
67620
67621 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67622
67623         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
67624         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
67625         getcwd (NULL, 0).
67626
67627 2001-09-03  Paul Eggert  <eggert@twinsun.com>
67628
67629         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
67630         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
67631         spotted by Jim Meyering.
67632
67633 2001-09-03  Jim Meyering  <meyering@lucent.com>
67634
67635         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
67636         failure.
67637
67638 2001-09-02  Jim Meyering  <meyering@lucent.com>
67639
67640         * lib/error.c: Update from GNU libc.
67641
67642 2001-09-01  Jim Meyering  <meyering@lucent.com>
67643
67644         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
67645         Used by df.
67646
67647 2001-09-01  Jim Meyering  <meyering@lucent.com>
67648
67649         * lib/xreadlink.c: New file.
67650         * lib/xreadlink.h: New file.
67651         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
67652         xreadlink.h.
67653
67654         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
67655         doesn't conflict with sparc Solaris 7's definition in
67656         /usr/include/sys/int_types.h.
67657
67658         * lib/exclude.c: Use `""', not `<>' to #include non-system header
67659         files.
67660         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
67661         and strncasecmp as r-values.  Unixware didn't have declarations.
67662
67663 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67664
67665         * lib/xstrtol.h: Add copyright notice.
67666         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
67667         LONGINT_INVALID_SUFFIX_CHAR.
67668
67669 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67670
67671         * lib/xstrtol.c (strtoimax): New decl.
67672
67673 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67674
67675         * lib/xgetcwd.c: Don't include pathmax.h.
67676         Include stdlib.h and unistd.h if available.
67677         Include xalloc.h.
67678         (xmalloc, xstrdup, free): Remove decls.
67679         (xgetcwd): Don't assume sizes fit in unsigned.
67680         Check for overflow when computing sizes.
67681         Simplify reallocation code.
67682
67683 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67684
67685         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
67686         a directory's st_size can have an arbitrary value, so the old
67687         usage could waste an arbitrary amount of memory.  All uses
67688         changed.
67689         * lib/savedir.h: Update prototype.
67690
67691 2001-08-31  Paul Eggert  <eggert@twinsun.com>
67692
67693         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
67694
67695         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
67696         old strtoimax.c.
67697
67698         Also, make the following further changes to make this file's
67699         configuration more similar to that of strtol.c:
67700         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
67701         (strtoumax, uintmax_t, strtoull, strtol): Remove.
67702         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
67703         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
67704         changed to signed values.
67705
67706         And make the following changes as well:
67707         Fix copyright notice, as 1999 was missing.
67708         (verify): New macro.
67709         (strtoimax): Check sizes at compile-time, not run-time.
67710         Prefer strtol to strtoll if both work.
67711         (main): Remove; it was not that useful and was a pain to maintain.
67712
67713         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
67714
67715 2001-08-31  Jim Meyering  <meyering@lucent.com>
67716
67717         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
67718         Use an initial, malloc'd, buffer of length 128 rather than
67719         a statically allocated one of length 1024.
67720
67721 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67722
67723         Simplify code, partly by assuming autoconf 2.52 semantics.
67724
67725         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
67726
67727         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
67728         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
67729         All uses removed.
67730         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
67731         Move AC_REQUIRE to next-to-top level, to avoid confusion.
67732         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
67733         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
67734         jm_AC_HEADER_INTTYPES_H.
67735         * m4/jm-macros.m4 (jm_MACROS): Likewise.
67736
67737         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
67738
67739         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
67740         Quote first arg of AC_DEFUN.
67741         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
67742         since they are needed to parse the include file even if we need
67743         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
67744         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
67745         but with opposite signedness.
67746
67747 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67748
67749         Merge 'exclude' changes from tar 1.13.22.
67750         This fixes one or two unlikely storage allocation overflow bugs,
67751         but doesn't change user-visible behavior otherwise.
67752
67753 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67754
67755         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
67756         (jm_PREREQ_EXCLUDE): New macro.
67757
67758 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67759
67760         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
67761         tm to be declared.
67762
67763 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67764
67765         * lib/hash.c: Remove '2001' from copyright notice.
67766
67767 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67768
67769         * lib/full-write.h: New file.
67770         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
67771         * lib/full-write.c: Correct credits, as cccp.c no longer
67772         exists and anyway it was so heavily changed from the old cccp
67773         code as to be unrecognizable.  Include full-write.h.
67774         (full_write) Return size_t, with short writes meaning failure.
67775         All callers changed.  This fixes a bug with large buffers
67776         on 64-bit hosts.
67777         * lib/utime.c: Include full-write.h.
67778
67779 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67780
67781         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
67782         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
67783         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
67784         Include if available.
67785         (<xalloc.h>): Include
67786         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
67787         (verify): New macro.  Use it to verify that EXCLUDE macros do not
67788         collide with FNM macros.
67789         (struct patopts): New struct.
67790         (struct exclude): Use it, as exclude patterns now come with options.
67791         (new_exclude): Support above changes.
67792         (new_exclude, add_exclude_file):
67793         Initial size must now be a power of two to simplify overflow checking.
67794         (free_exclude, fnmatch_no_wildcards): New function.
67795         (excluded_filename): No longer requires options arg, as the options
67796         are determined by add_exclude.  Now returns bool, not int.
67797         (excluded_filename, add_exclude):
67798         Add support for the fancy new exclusion options.
67799         (add_exclude, add_exclude_file): Now takes int options arg.
67800         Check for arithmetic overflow when computing sizes.
67801         (add_exclude_file): xrealloc might modify errno, so don't
67802         realloc until after errno might be used.
67803
67804         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
67805         New macros.
67806         (free_exclude): New decl.
67807         (add_exclude, add_exclude_file): Now takes int options arg.
67808         (excluded_filename): No longer requires options arg, as the options
67809         are determined by add_exclude.  Now returns bool, not int.
67810
67811 2001-08-30  Paul Eggert  <eggert@twinsun.com>
67812
67813         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
67814
67815 2001-08-27  Jim Meyering  <meyering@lucent.com>
67816
67817         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
67818
67819         * lib/version-etc.c (N_): Remove definition.
67820         Revert most of last change.
67821         Instead, simply don't mark the `Copyright...' string for translation.
67822         Based on advice from Paul Eggert.
67823
67824         * lib/strtoxmax.c: Tweak comment.
67825
67826 2001-08-26  Jim Meyering  <meyering@lucent.com>
67827
67828         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
67829
67830         * m4/xstrtoimax.m4: New file.
67831         * m4/xstrtoumax.m4: Add comments explaining why we
67832         AC_REPLACE_FUNCS(strtol).
67833
67834 2001-08-26  Jim Meyering  <meyering@lucent.com>
67835
67836         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
67837         of copyright with `%s' so translators don't get an untranslated
67838         message in 2002.
67839         (COPYRIGHT_YEAR): Define.
67840         (version_etc): Use fprintf rather than fputs.
67841         Suggestion from Ulrich Drepper.
67842
67843         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
67844
67845         * lib/strtoll.c: New file, from GNU libc.
67846         * lib/xstrtoimax.c: New file.
67847
67848         * lib/xstrtol.h: Add xstrtoimax.
67849         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
67850         * lib/strtoimax.c: New file.  Likewise, but first define
67851         STRTOUXMAX_SIGNED.
67852
67853         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
67854         ...
67855         * lib/strtoxmax.c: ... then renamed to this.
67856
67857 2001-08-18  Paul Eggert  <eggert@twinsun.com>
67858
67859         * m4/inttypes.m4: Add AC_PREREQ(2.13).
67860         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
67861         (jm_AC_TYPE_INTMAX_T): New macro.
67862         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
67863
67864         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
67865
67866         * m4/longlong.m4: Renamed from ulonglong.m4.
67867         * m4/inttypes.m4: Renamed from inttypes_h.m4.
67868         * m4/uintmax_t.m4: Removed.
67869
67870 2001-08-13  Paul Eggert  <eggert@twinsun.com>
67871
67872         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
67873         Port to Solaris 8, where 'sed' requires a space after the 'r'
67874         command, and where sh dislikes "$/".  Clean up the spacing a bit.
67875         Redirect output to $tmp just once.
67876
67877 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
67878
67879         * lib/addext.c (<errno.h>): Include.
67880         (errno): Declare if not defined.
67881         (addext): Work correctly when pathconf returns -1 and leaves
67882         errno alone because there is no limit.  Also, work even if
67883         pathconf returns a value greater than SIZE_MAX.
67884
67885 2001-08-12  Jim Meyering  <meyering@lucent.com>
67886
67887         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
67888         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
67889         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
67890         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
67891         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
67892         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
67893         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
67894         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
67895         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
67896         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
67897         utime.m4, utimes.m4, xstrtoumax.m4:
67898         Quote the first argument in each use of AC_DEFUN.
67899
67900 2001-08-12  Jim Meyering  <meyering@lucent.com>
67901
67902         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
67903         Simply `return getcwd (NULL, 0);'.
67904         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
67905         Use 1300 as initial value for length, not PATH_MAX.
67906
67907         * lib/pathmax.h: Clean up cpp syntax.
67908
67909 2001-08-12  Jim Meyering  <meyering@lucent.com>
67910
67911         * lib/gettimeofday.c: New file.
67912         * lib/gtod.h: New file.
67913         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
67914
67915 2001-08-05  Jim Meyering  <meyering@lucent.com>
67916
67917         * m4/jm-macros.m4: Require autoconf-2.52.
67918
67919 2001-08-04  Jim Meyering  <meyering@lucent.com>
67920
67921         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
67922         stmt, to get in sync with glibc.
67923
67924 2001-08-03  Paul Eggert  <eggert@twinsun.com>
67925
67926         The following changes are from gettext 0.10.39 as maintained by
67927         Bruno Haible.
67928
67929         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
67930         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
67931         with inverted sense.  All uses changed.
67932
67933         * lib/mbswidth.c: Don't include <limits.h>.
67934         Include <stdlib.h> and <string.h> unconditionally.
67935         (iswcntrl, mbsinit, ISCNTRL): New macros.
67936         (mbsnwidth): Use K&R style function declarations.
67937         Don't bother checking for MB_LEN_MAX == 1, since the compiler
67938         can optimize it when MB_CUR_MAX == 1.
67939         The width of control characters is zero, not 1.
67940
67941 2001-08-03  Paul Eggert  <eggert@twinsun.com>
67942
67943         The following changes are from gettext 0.10.39 as maintained by
67944         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
67945
67946         * m4/codeset.m4: Upgrade to serial AM1.
67947         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
67948         all uses changed.  Quote first arg of AC_DEFUN.
67949         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
67950
67951         * m4/iconv.m4: Upgrade to serial AM2.
67952         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
67953         Add --with-libconv-prefix.
67954         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
67955         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
67956         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
67957         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
67958         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
67959
67960         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
67961         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
67962         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
67963         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
67964         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
67965         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
67966         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
67967         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
67968         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
67969
67970         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
67971         string.h any more.
67972
67973         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
67974         not the default value.
67975
67976         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
67977         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
67978         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
67979         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
67980         Also check for iswcntrl, used for wcwidth fallback.
67981         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
67982         to Autoconf 2.13.
67983
67984 2001-08-03  Jim Meyering  <meyering@lucent.com>
67985
67986         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
67987         as it was in the original.  Reported by Paul Eggert.
67988
67989 2001-07-16  Jim Meyering  <meyering@lucent.com>
67990
67991         * m4/gettimeofday.m4: New file.
67992         Prompted by a report from Bernhard Baehr.
67993
67994 2001-07-15  Jim Meyering  <meyering@lucent.com>
67995
67996         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
67997         stuff. Now it's in ../Makefile.cfg.
67998
67999 2001-07-15  Jim Meyering  <meyering@lucent.com>
68000
68001         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
68002         (BUILT_SOURCES): Add unlocked-io.h.
68003         (io_functions): Define.
68004         (unlocked-io.h): New rule.
68005         (DISTCLEANFILES): Add unlocked-io.h.
68006         (all-local): Depend on unlocked-io.h, to ensure it is created.
68007
68008         * lib/unlocked-io.hin: New file
68009
68010         * lib/regex.c: Update from glibc.
68011
68012 2001-07-05  Jim Meyering  <meyering@lucent.com>
68013
68014         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
68015         recommendation.
68016         (libfetish_a_SOURCES): Put all .h files here instead.
68017         Remove a thus-exposed (better checks in automake) duplicate and
68018         two unnecessary .h files.
68019
68020 2001-07-04  Jim Meyering  <meyering@lucent.com>
68021
68022         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
68023         that generates jm-glibc-io.m4 so that it doesn't trigger any make
68024         distcheck failure.
68025
68026 2001-07-02  Jim Meyering  <meyering@lucent.com>
68027
68028         The following changes were prompted by suggestions from Bruno Haible.
68029
68030         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
68031         is now generated.
68032         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
68033         definition of EXTRA_DIST.
68034         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
68035         ensure that the generated file is created/updated whenever the list
68036         of $(unlocked_functions) is changed.
68037         (jm-glibc-io.m4): New rule.
68038         (unlocked-io.h): New rule -- currently unused.
68039
68040 2001-06-24  Jim Meyering  <meyering@lucent.com>
68041
68042         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
68043         unmatched right bracket, rather than kludging it with an extra,
68044         falsely-matching quote in a comment.  Patch by Akim Demaille.
68045
68046 2001-06-11  Jim Meyering  <meyering@lucent.com>
68047
68048         * lib/regex.c: Update from GNU libc.
68049
68050 2001-05-27  Jim Meyering  <meyering@lucent.com>
68051
68052         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
68053         Check for ut_type in struct utmp.
68054
68055 2001-05-27  Jim Meyering  <meyering@lucent.com>
68056
68057         * lib/readutmp.h (UT_TYPE): Define.
68058
68059 2001-05-24  Jim Meyering  <meyering@lucent.com>
68060
68061         * lib/argmatch.c: Include "quote.h".
68062         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
68063         quote function.  Reported by Göran Uddeborg.
68064
68065 2001-05-22  Jim Meyering  <meyering@lucent.com>
68066
68067         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
68068         now that we use the package-supplied version unconditionally.
68069         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
68070
68071 2001-05-21  Jim Meyering  <meyering@lucent.com>
68072
68073         * m4/regex.m4: Change a couple backticks to single quotes to avoid
68074         shell syntax errors.
68075
68076 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
68077
68078         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
68079
68080 2001-05-20  Paul Eggert  <eggert@twinsun.com>
68081
68082         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
68083         Don't bother to check library strftime, since
68084         we'll be using our own my_strftime function anyway.
68085         Define my_strftime instead of strftime.
68086
68087 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
68088
68089         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
68090         which is not yet declared.
68091
68092 2001-05-15  Jim Meyering  <meyering@lucent.com>
68093
68094         * m4/regex.m4: Use proper quoting so brackets appear in the test
68095         program.
68096         Reported by, and with help from, Bruno Haible.
68097
68098 2001-05-13  Jim Meyering  <meyering@lucent.com>
68099
68100         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
68101         undefined.
68102
68103 2001-05-11  Paul Eggert  <eggert@twinsun.com>
68104
68105         dirname code cleanup.  base_name now behaves more compatibly
68106         with POSIX basename when given file names that have trailing
68107         slashes, and similarly for dir_name.  Add new primitives
68108         base_len and dir_len.  Put the directory-name-related decls
68109         into dirname.h.
68110
68111         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
68112         * lib/backupfile.c (base_name): Likewise.
68113         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
68114         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
68115         * lib/makepath.c (strip_trailing_slashes): Likewise.
68116         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
68117         ISSLASH): Likewise.
68118         * lib/rename.c (strip_trailing_slashes): Likewise.
68119         * lib/same.c (base_name): Likewise.
68120         * lib/stripslash.c (ISSLASH): Likewise.
68121
68122         * lib/addext.c: Include <dirname.h> after size_t is defined.
68123         * lib/backupfile.c: Likewise.
68124
68125         * lib/addext.c (addext): Use base_len to trim redundant
68126         trailing slashes instead of doing it ourselves.
68127         But do not trim the last slash if it is not redundant.
68128
68129         * lib/backupfile.c (find_backup_file_name,
68130         max_backup_version): Use base_len instead of rolling it ourselves.
68131         Handle the case of "" and (on DOS) "C:" correctly.
68132
68133         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
68134         needed. Include <string.h>, <dirname.h>.
68135         (base_name): Allow file names ending in slashes, other than names
68136         that are all slashes.  In this case, return the basename followed
68137         by the slashes.  This is more general, and can be used in places
68138         where the original base_name purposely had an assertion failure.
68139         (base_len): New function.
68140
68141         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
68142         Do not include <assert.h>; no longer needed.
68143         Include xalloc.h.
68144         (memrchr): Remove decl.
68145         (dir_name_r): Remove.
68146         (dir_len): Renamed from dirlen.  All callers changed.
68147         Rewrite in terms of base_name, for simplicity and consistency.
68148         (dir_name): Never return NULL.  All callers changed.
68149         Do not include <stdlib.h> in test program; no longer needed.
68150         return 0; is fine for test program.
68151
68152         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
68153         New macros.
68154         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
68155
68156         * lib/path-concat.c (path_concat): Use base_len to compute
68157         base length, not strlen; this means we cannot rely on memcpy
68158         to null-terminate.
68159
68160         * lib/same.c (STREQ): Remove.
68161         (same_name): Handle the case where the basename ends in trailing '/'.
68162
68163         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
68164         a slash was stripped.  Do not strip the last slash after a
68165         file system prefix.
68166
68167 2001-05-11  Paul Eggert  <eggert@twinsun.com>
68168
68169         * lib/Makefile.am (libfetish_a_SOURCES):
68170         Add strftime.c, since we now compile it on all hosts.
68171
68172         * lib/strftime.c (my_strftime):
68173         Define to nstrftime if emacs, but only if my_strftime is not defined.
68174         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
68175         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
68176         Add one more extra argument: a nanoseconds value.
68177         All uses changed.
68178         (ns): New macro.
68179         (my_strftime function): Add %N format.
68180         (emacs_strftimeu): Renamed from emacs_strftime,
68181         with extra ut argument.
68182
68183 2001-05-09  Paul Eggert  <eggert@twinsun.com>
68184
68185         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
68186
68187 2001-04-21  Jim Meyering  <meyering@lucent.com>
68188
68189         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
68190         doesn't interfere.
68191
68192 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
68193
68194         * m4/ftruncate.m4: Check for chsize.
68195         Link with ftruncate.o unconditionally if ftruncate is missing.
68196         This was required when cross-compiling to i586-mingw32msvc.
68197
68198 2001-04-08  Jim Meyering  <meyering@lucent.com>
68199
68200         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
68201         recomputed; that's necessary when the offset spans a DST transition.
68202         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
68203
68204 2001-04-02  Jim Meyering  <meyering@lucent.com>
68205
68206         * lib/regex.h, regex.c: Update from GNU libc.
68207
68208 2001-03-24  Jim Meyering  <meyering@lucent.com>
68209
68210         * m4/jm-macros.m4: Require autoconf-2.49d.
68211
68212 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
68213
68214         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
68215
68216 2001-03-19  Paul Eggert  <eggert@twinsun.com>
68217
68218         * lib/version-etc.c (version_etc_copyright): Update to 2001.
68219
68220 2001-03-17  Jim Meyering  <meyering@lucent.com>
68221
68222         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
68223         now that the version in autoconf is equivalent.
68224         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
68225
68226         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
68227         Suggestion from Akim Demaille.
68228
68229         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
68230         (jm_PREREQ_TEMPNAME): New function.
68231
68232 2001-03-16  Paul Eggert  <eggert@twinsun.com>
68233
68234         * lib/tempname.c (uint64_t): Define to uintmax_t if
68235         not defined, and if UINT64_MAX is not defined.
68236         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
68237         Reported by John David Anglin.
68238
68239 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
68240
68241         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
68242         resolve alias if codeset is empty.
68243         * lib/config.charset (BeOS): Use wildcard syntax.
68244
68245 2001-03-13  Jim Meyering  <meyering@lucent.com>
68246
68247         * lib/path-concat.c (path_concat)
68248         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
68249         concatenating e.g., `C:' and `foo'.
68250         From Bruno Haible.
68251
68252 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
68253
68254         * lib/localcharset.c (locale_charset): Don't use
68255         setlocale(LC_CTYPE,NULL). Don't return NULL.
68256         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
68257
68258 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
68259
68260         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
68261         support for DOS/DJGPP.
68262
68263 2001-03-01  Paul Eggert  <eggert@twinsun.com>
68264
68265         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
68266         lacks mkstemp.  Compile our own tempname.c if we compile our own
68267         mkstemp.c, as mkstemp relies on tempname.
68268
68269 2001-03-01  Jim Meyering  <meyering@lucent.com>
68270
68271         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
68272         AH_VERBATIM really does output its argument verbatim.
68273
68274 2001-02-28  Paul Eggert  <eggert@twinsun.com>
68275
68276         * lib/Makefile.am (libfetish_a_SOURCES):
68277         Add dup-safer.c, fopen-safer.c.
68278         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
68279
68280         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
68281         * lib/unistd-safer.h: New files.
68282
68283 2001-02-25  Paul Eggert  <eggert@twinsun.com>
68284
68285         The mkstemp replacement is taken from glibc 2.2.2, with some
68286         portability fixes for use outside glibc, as follows:
68287
68288         * lib/tempname.c (struct_stat64): New macro.
68289         (direxists, __gen_tempname): Use it.
68290         This avoids a portability problem with Solaris 8.
68291
68292         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
68293         (<stddef.h>, <stdint.h>, <string.h>):
68294         Include only if STDC_HEADERS || _LIBC.
68295         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
68296         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
68297         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
68298         (__set_errno): Define this macro if <errno.h> doesn't.
68299         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
68300         Define these macros if <stdio.h> doesn't.
68301         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
68302         Define these macros if <sys/stat.h>
68303         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
68304         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
68305         __xstat64): Define if not _LIBC.
68306         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
68307         (__gen_tempname): Invoke gettimeofday only if
68308         HAVE_GETTIMEOFDAY || _LIBC;
68309         otherwise, fall back on plain "time".
68310         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
68311
68312         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
68313
68314         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
68315
68316 2001-02-18  Paul Eggert  <eggert@twinsun.com>
68317
68318         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
68319
68320 2001-02-17  Paul Eggert  <eggert@twinsun.com>
68321
68322         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
68323         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
68324         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
68325         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
68326
68327 2001-02-17  Paul Eggert  <eggert@twinsun.com>
68328
68329         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
68330         Remove workaround macros for hosts that have mbrtowc but not
68331         mbstate_t, as we now insist on proper declarations for both
68332         before using mbrtowc.
68333
68334 2001-02-17  Jim Meyering  <meyering@lucent.com>
68335
68336         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
68337         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
68338         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
68339         UnixWare 7.1.1.
68340
68341         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
68342         rather than AC_CACHE_VAL.
68343
68344 2001-02-17  Jim Meyering  <meyering@lucent.com>
68345
68346         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
68347         around included file name.
68348
68349         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
68350
68351         * lib/strftime.c: Update from GNU libc (the only changes were to
68352         comments).
68353
68354 2001-02-17  Jim Meyering  <meyering@lucent.com>
68355
68356         * lib/regex.c: Update from libc.
68357
68358 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
68359
68360         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
68361         clash.
68362
68363 2001-02-16  Paul Eggert  <eggert@twinsun.com>
68364
68365         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
68366         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
68367         Reported by Mark Hounschell via Paul Eggert.
68368
68369 2001-02-07  Jim Meyering  <meyering@lucent.com>
68370
68371         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
68372
68373 2001-02-05  Jim Meyering  <meyering@lucent.com>
68374
68375         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
68376         it includes the patch required for `large file' support with at least
68377         HP-UX's 10.20 /bin/cc.
68378
68379 2001-02-03  Jim Meyering  <meyering@lucent.com>
68380
68381         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
68382         AS_IF, now that it works once again (mysteriously).
68383         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
68384
68385 2001-01-30  Jim Meyering  <meyering@lucent.com>
68386
68387         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
68388         * m4/chown.m4: Rename conftestchown to conftest.chown.
68389         * m4/rename.m4: s/conftestdir/conftest.d1/ and
68390         s/conftestdir2/conftest.d2/.
68391         * m4/utimes.m4: s/conftestdata/conftest.data/
68392         Inspired by Pavel Roskin's change in autoconf.
68393
68394 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
68395
68396         * lib/config.charset: Update for FreeBSD 4.2.
68397
68398 2001-01-27  Jim Meyering  <meyering@lucent.com>
68399
68400         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
68401         a use of AS_IF.
68402         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
68403
68404 2001-01-26  Jim Meyering  <meyering@lucent.com>
68405
68406         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
68407         quotearg.c includes it.
68408
68409 2001-01-26  Jim Meyering  <meyering@lucent.com>
68410
68411         * lib/quotearg.c: Include stddef.h.
68412         * lib/quote.c: Include stddef.h.
68413         Reported by Axel Kittenberger.
68414
68415         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
68416         line in double quotes so that it evokes a better diagnostic.
68417         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
68418         Reported by Axel Kittenberger.
68419
68420 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
68421
68422         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
68423         as if it was a `charset'.
68424
68425 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
68426
68427         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
68428         has const.
68429
68430 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
68431
68432         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
68433         to avoid a warning.  Add back 'const' to inptr.
68434
68435 2001-01-20  Jim Meyering  <meyering@lucent.com>
68436
68437         Be sure that headers are checked before used in code compiled
68438         for the type checks.
68439         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
68440         In place of that, invoke jm_CHECK_ALL_TYPES.
68441         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
68442         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
68443         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
68444         The check for ssize_t was mistakenly run before the test for unistd.h.
68445
68446         The configure-time check for stdbool.h was missing.
68447         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
68448         (jm_PREREQ_HASH): New function.
68449
68450 2001-01-17  Jim Meyering  <meyering@lucent.com>
68451
68452         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
68453         for autoconf-2.49c.
68454         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
68455
68456 2001-01-16  Jim Meyering  <meyering@lucent.com>
68457
68458         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
68459         From Bruno Haible.
68460
68461 2001-01-14  Jim Meyering  <meyering@lucent.com>
68462
68463         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
68464         foo and bar.  Create conftestdir/ in the script, not in the C code.
68465         Remove directories in the script, not in the C code.
68466         Remove conftestdir{,2} before trying to create the directory.
68467         Make the entire configure script fail if the mkdir fails.
68468
68469 2001-01-14  Jim Meyering  <meyering@lucent.com>
68470
68471         * lib/rename.c: New file.  From Volker Borchert.
68472         Include stdlib.h, string.h or strings.h, and xalloc.h.
68473         Use strip_trailing_slashes rather than open-coding it.
68474
68475 2001-01-03  Paul Eggert  <eggert@twinsun.com>
68476
68477         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
68478
68479 2001-01-03  Jim Meyering  <meyering@lucent.com>
68480
68481         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
68482         of local `inptr' to avoid warning with some system declarations of
68483         iconv.
68484
68485 2001-01-02  Volker Borchert  <bt@teknon.de>
68486
68487         * m4/rename.m4: New file.
68488         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
68489
68490 2001-01-01  Jim Meyering  <meyering@lucent.com>
68491
68492         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
68493         even on systems with utmpx.h.  It's necessary for the declaration of
68494         utmp's ut_user member.  Reported by Andreas Jaeger.
68495
68496         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
68497         available. They are required for the declarations of getgrgid and
68498         getpwuid resp.
68499         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
68500         Reported by Andreas Jaeger.
68501
68502 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
68503
68504         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
68505         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
68506         so `make install' also works in VPATH builds.
68507
68508 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
68509
68510         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
68511         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
68512         can be used in subdirectories.
68513
68514 2000-12-29  Paul Eggert  <eggert@twinsun.com>
68515
68516         * lib/modechange.c: Do not assume that mode_t uses the
68517         traditional octal encoding.  E.g. "chmod 1 FOO" should set
68518         the other-execute bit of FOO even if S_IXOTH != 1.
68519
68520         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
68521         WOTH, XOTH, ALLM): New macros.
68522         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
68523          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
68524         Use them.
68525         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
68526         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
68527         (mode_compile):
68528         No need to use uintmax_t; unsigned long is long enough.
68529         Don't bother to get suffix since we don't use it.
68530
68531 2000-12-26  Jim Meyering  <meyering@lucent.com>
68532
68533         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
68534         better with autoheader.
68535
68536 2000-12-24  Jim Meyering  <meyering@lucent.com>
68537
68538         * lib/hash.c (is_prime): Return explicit boolean values.
68539         (hash_get_first): Return NULL to appease Irix5.6's 89.
68540         Reported by Nelson Beebe.
68541
68542 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
68543
68544         * lib/localcharset.c (locale_charset): Add support for Win32.
68545
68546 2000-12-18  Paul Eggert  <eggert@twinsun.com>
68547
68548         * lib/physmem.h, lib/physmem.c: New files.
68549
68550         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
68551         (noinst_HEADERS): Add physmem.h.
68552
68553         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
68554         't' for compatibility with Solaris 8 sort.
68555
68556 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
68557
68558         * lib/config.charset: Add support for BeOS.
68559
68560 2000-12-17  Jim Meyering  <meyering@lucent.com>
68561
68562         * m4/dos.m4 (jm_AC_DOS): New file and macro.
68563         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
68564
68565 2000-12-16  Jim Meyering  <meyering@lucent.com>
68566
68567         This bug had a serious impact on chown: `chown N:M FILE' (for integer
68568         N and M) would have treated it like `chown N:N FILE'.
68569
68570         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
68571
68572 2000-12-16  Jim Meyering  <meyering@lucent.com>
68573
68574         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
68575         SHELLS_FILE to a file name that's useful on djgpp systems.
68576         Include stdlib.h.
68577         (ADDITIONAL_DEFAULT_SHELLS): Define.
68578         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
68579         Based mostly on a patch from Prashant TR.
68580
68581 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
68582
68583         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
68584         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
68585         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
68586
68587 2000-12-08  Andreas Schwab  <schwab@suse.de>
68588
68589         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
68590         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
68591
68592 2000-12-07  Jim Meyering  <meyering@lucent.com>
68593
68594         * lib/stripslash.c (ISSLASH): Define.
68595         (strip_trailing_slashes): Use ISSLASH rather than comparing against
68596         `/'.
68597         From Prashant TR.
68598
68599         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
68600         (dir_name_r): Declare this function as static.
68601         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
68602         manifest itself on a name containing a mix of slashes and
68603         backslashes.
68604         Make this function work with names starting with a DOS-style
68605         drive letter and colon prefix.
68606         (dir_name): Append `.' if necessary.
68607         Based mostly on patches from Prashant TR and Eli Zaretskii.
68608
68609         * lib/dirname.h (dir_name_r): Remove prototype.
68610
68611 2000-12-06  Paul Eggert  <eggert@twinsun.com>
68612
68613         * m4/off_t-format.m4: Remove this file.
68614         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
68615
68616 2000-12-06  Jim Meyering  <meyering@lucent.com>
68617
68618         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
68619         replacement strtoull, we may well need the replacement strtoul, too.
68620         Check for declarations of strtoul and strtoull.
68621         Check for strtol.  Mainly as a cue to cause automake to include
68622         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
68623         Check for limits.h -- strtol.c needs it.
68624
68625 2000-12-05  Jim Meyering  <meyering@lucent.com>
68626
68627         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
68628
68629 2000-12-04  Jim Meyering  <meyering@lucent.com>
68630
68631         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
68632         Also include memory.h, stdlib.h, unistd.h if appropriate.
68633         Reported by Andreas Jaeger (conflicting declaration of malloc).
68634
68635 2000-12-02  Jim Meyering  <meyering@lucent.com>
68636
68637         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
68638         * m4/jm-macros.m4 (jm_MACROS): require it.
68639
68640 2000-12-02  Jim Meyering  <meyering@lucent.com>
68641
68642         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
68643
68644 2000-12-01  Paul Eggert  <eggert@twinsun.com>
68645
68646         * lib/memrchr.c: Include <config.h> before any system include file.
68647
68648 2000-11-30  Jim Meyering  <meyering@lucent.com>
68649
68650         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
68651
68652 2000-11-30  Jim Meyering  <meyering@lucent.com>
68653
68654         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
68655
68656 2000-11-29  Paul Eggert  <eggert@twinsun.com>
68657
68658         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
68659
68660 2000-11-26  Jim Meyering  <meyering@lucent.com>
68661
68662         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
68663
68664 2000-11-22  Paul Eggert  <eggert@twinsun.com>
68665
68666         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
68667         size of (size_t) -1; it's not portable.
68668
68669 2000-11-17  Jim Meyering  <meyering@lucent.com>
68670
68671         * lib/strstr.c: Update from GNU libc.
68672
68673 2000-11-17  Akim Demaille  <akim@epita.fr>
68674
68675         * lib/obstack.h: Formatting changes.
68676         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
68677         prevent type checking.
68678         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
68679         cast the value to (void *): assigning a `foo *' to a `void *'
68680         variable is valid.
68681         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
68682
68683 2000-11-16  Jim Meyering  <meyering@lucent.com>
68684
68685         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
68686
68687 2000-11-11  Jim Meyering  <meyering@lucent.com>
68688
68689         * lib/error.c: Add a couple #includes, merging from GNU libc version.
68690
68691 2000-11-10  Jim Meyering  <meyering@lucent.com>
68692
68693         * lib/obstack.h: Update from GNU libc.
68694         * lib/obstack.c: Likewise.
68695
68696 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
68697
68698         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
68699
68700 2000-11-06  Paul Eggert  <eggert@twinsun.com>
68701
68702         * lib/getusershell.c (setusershell): Use rewind rather than
68703         fseek/fseeko, to avoid configuration hassles with fseeko.
68704         Don't bother opening SHELLS_FILE if shellstream is NULL;
68705         it's not necessary.
68706
68707 2000-11-05  Jim Meyering  <meyering@lucent.com>
68708
68709         * lib/makepath.h (make_dir): Declare.
68710         * lib/makepath.c (make_dir): Remove `static' attribute.
68711         Tweak a comment.
68712
68713 2000-11-04  Jim Meyering  <meyering@lucent.com>
68714
68715         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
68716
68717 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
68718
68719         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
68720         last one in a bucket, advance to the next bucket.
68721
68722 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
68723
68724         * lib/fnmatch.c: Do not comment out all the code if we are using
68725         the GNU C library, because in some cases we are replacing buggy
68726         code in the GNU C library itself.
68727
68728 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
68729
68730         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
68731         (regex_compile): Catch bogus \(\1\).
68732
68733 2000-10-30  Paul Eggert  <eggert@twinsun.com>
68734
68735         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
68736         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
68737         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
68738
68739 2000-10-30  Paul Eggert  <eggert@twinsun.com>
68740
68741         * lib/error.h, getline.h, modechange.h:
68742         Remove "2000" from Copyright line, as the file hasn't been
68743         changed this year other than in the copyright notice.
68744
68745         * lib/xalloc.h: Add "2000" to Copyright line, as this file
68746         was changed this year.
68747
68748 2000-10-29  Jim Meyering  <meyering@lucent.com>
68749
68750         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
68751         renaming.
68752         * m4/ls-mntd-fs.m4: Likewise
68753
68754 2000-10-29  Jim Meyering  <meyering@lucent.com>
68755
68756         * lib/xstat.in: Fix grammar in comment.
68757
68758 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
68759
68760         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
68761         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
68762         doesn't define __restrict_arr.
68763
68764 2000-10-28  Jim Meyering  <meyering@lucent.com>
68765
68766         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
68767         (jm_PREREQ_MEMCHR): New function.
68768
68769 2000-10-28  Jim Meyering  <meyering@lucent.com>
68770
68771         * lib/memchr.c: Update from libc.
68772         Adjust for portability:
68773         [HAVE_STDLIB_H]: Include stdlib.h.
68774         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
68775         Undef __memchr, too.
68776         [!weak_alias]: Define __memchr to memchr.
68777
68778         * lib/regex.c: Update from libc.
68779         * lib/regex.h: Likewise.
68780         * lib/getopt1.c: Likewise.
68781         * lib/memcmp.c: Likewise.
68782
68783         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
68784         Avoid using fseek, when possible -- it's broken by design.
68785         Patch by Ulrich Drepper.
68786
68787 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
68788
68789         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
68790         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
68791         Giving in to popular pressure to shut up the compiler with casts.
68792
68793 2000-10-26  Jim Meyering  <meyering@lucent.com>
68794
68795         * lib/strftime.c: Update from libc.
68796
68797 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
68798
68799         * regex.c: More `unsigned char' -> `re_char' changes.
68800         Also change several `int' into `re_wchar_t'.
68801         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
68802         (PUSH_FAILURE_POINTER): Don't cast any more.
68803         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
68804         We want GCC to complain, since this piece of code makes
68805         re_match non-reentrant, which *should* be fixed.
68806         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
68807         (EXTEND_BUFFER): Use RETALLOC.
68808         (SET_LIST_BIT): Don't cast.
68809         (re_wchar_t): New type.
68810         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
68811         that those two functions will always properly return.
68812         (IMMEDIATE_QUIT_CHECK): Cast to void.
68813         (analyse_first): Use recursion rather than an explicit stack.
68814         (re_compile_fastmap): Can't fail anymore.
68815         (re_search_2): Don't check re_compile_fastmap for failure.
68816         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
68817         Now also sets the new value (passed in a new argument).
68818         (re_match_2_internal): Use it.
68819         Also, use a new var `reg' of type size_t when looping through regs
68820         rather than reuse the inappropriate `mcnt'.
68821
68822 2000-10-25  Jim Meyering  <meyering@lucent.com>
68823
68824         * lib/obstack.c: Update from libc.
68825
68826 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
68827
68828         * regex.c (regex_compile): Change the way of handling a range from
68829         a char less than 256 to a char not less than 256.
68830
68831 2000-10-24  Andrew Innes  <andrewi@gnu.org>
68832
68833         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
68834         NT-Emacs only.
68835         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
68836         so that re_search functions only quit when callers expect them to.
68837
68838 2000-10-23  Jim Meyering  <meyering@lucent.com>
68839
68840         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
68841         wrong.  That set_locale call must not have any side effects.
68842         From Paul Eggert.
68843
68844 2000-10-22  Jim Meyering  <meyering@lucent.com>
68845
68846         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
68847         [CYCLIC]: Remove now-unused definition.
68848
68849         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
68850         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
68851         Suggestion from Ulrich Drepper.
68852
68853 2000-10-21  Jim Meyering  <meyering@lucent.com>
68854
68855         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
68856         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
68857         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
68858
68859 2000-10-21  Jim Meyering  <meyering@lucent.com>
68860
68861         * lib/dirname.c (memrchr): Declare if necessary.
68862         (dir_name): Remove the restriction that there be no
68863         trailing slashes.  Now, this code skips past them, effectively
68864         ignoring them.
68865         [TEST_DIRNAME] (main): New unit tests.
68866
68867         * lib/memrchr.c: New file from GNU libc.
68868         Undef __memrchr, too.
68869         [!weak_alias]: Define __memrchr to memrchr.
68870         Guard weak_alias use with `#ifdef weak_alias'.
68871
68872 2000-10-21  Jim Meyering  <meyering@lucent.com>
68873
68874         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
68875         (dir_name): Use dir_name_r.
68876         * lib/dirname.h (dir_name_r): Declare it.
68877
68878 2000-10-17  Jim Meyering  <meyering@lucent.com>
68879
68880         * lib/quote.h (PARAMS): Define and use.
68881         Reported by Akim Demaille.
68882
68883         * lib/getopt.c: Update from libc.
68884
68885 2000-10-16  Jim Meyering  <meyering@lucent.com>
68886
68887         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
68888         setlocale.
68889         From Jan Fedak.
68890
68891 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
68892
68893         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
68894
68895 2000-09-25  Jim Meyering  <meyering@lucent.com>
68896
68897         * lib/md5.h (rol): Define (from GnuPG).
68898
68899         * lib/sha.c: Give credit (GnuPG) where due.
68900         (M): Use rol rather than open-coding it.
68901         Add a FIXME comment.
68902
68903 2000-09-21  Jim Meyering  <meyering@lucent.com>
68904
68905         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
68906         Reported by Michael Stone.
68907
68908 2000-09-20  Jim Meyering  <meyering@lucent.com>
68909
68910         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
68911         (noinst_HEADERS): Add sha.h.
68912         Based on code from Scott G. Miller and from GnuPG.
68913
68914 2000-09-18  Jim Meyering  <meyering@lucent.com>
68915
68916         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
68917         LIBS. Otherwise, everyone ends up linking with -lelf for some
68918         configurations.
68919         Reported by Mike Stone.
68920
68921 2000-09-15  Jim Meyering  <meyering@lucent.com>
68922
68923         * lib/regex.c: Update from libc.
68924
68925 2000-09-10  Jim Meyering  <meyering@lucent.com>
68926
68927         * lib/getopt.c (_getopt_internal): Update from glibc.
68928
68929 2000-09-09  Jim Meyering  <meyering@lucent.com>
68930
68931         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
68932         think it should be used as a general replacement for isascii.
68933         * lib/fnmatch.c: Likewise.
68934         * lib/mbswidth.c: Likewise
68935         * lib/regex.c: Likewise.
68936
68937         Don't use atoi.
68938         * lib/userspec.c: Include sys/param.h and limits.h.
68939         Include xstrtol.h.
68940         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
68941         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
68942         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
68943         UID, GID.  Check range.
68944
68945 2000-09-06  Jim Meyering  <meyering@lucent.com>
68946
68947         * lib/getopt.c (_getopt_internal): Update from glibc.
68948
68949 2000-08-30  Jim Meyering  <meyering@lucent.com>
68950
68951         * lib/strftime.c: Merge in changes from GNU libc.
68952
68953 2000-08-26  Jim Meyering  <meyering@lucent.com>
68954
68955         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
68956         * m4/fpending.m4: New file.
68957
68958 2000-08-26  Jim Meyering  <meyering@lucent.com>
68959
68960         * lib/closeout.c: Include "__fpending.h".
68961         (close_stdout_status): Return right away if there's nothing to flush.
68962
68963         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
68964         * lib/__fpending.c: New file.
68965         * lib/__fpending.h: New file.
68966
68967 2000-08-20  Jim Meyering  <meyering@lucent.com>
68968
68969         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
68970         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
68971         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
68972
68973 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
68974
68975         Improve fileutils installation on systems where running
68976         programs (like install) can't be unlinked.
68977         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
68978         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
68979
68980 2000-08-07  Paul Eggert  <eggert@twinsun.com>
68981
68982         Standardize on "memory exhausted" instead of "Memory exhausted"
68983         or "virtual memory exhausted".
68984         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
68985         "virtual memory exhausted".
68986         * lib/same.c (same_name): Invoke xalloc_die instead of printing
68987         our own message.
68988         * lib/userspec.c (parse_user_spec): Likewise.
68989         * lib/bumpalloc.h: comment fix
68990         * lib/same.c, userspec.c: Include xalloc.h.
68991
68992         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
68993         not char *const and pointing to a constant array.
68994         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
68995         (xrealloc): Comment fix.
68996
68997         * lib/userspec.c (parse_user_spec):
68998         Don't translate a message until just before returning,
68999         to avoid unnecessary translation.
69000
69001 2000-08-07  Jim Meyering  <meyering@lucent.com>
69002
69003         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
69004         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
69005         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
69006         getgroups.c, gethostname.c, getopt.h, group-member.c,
69007         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
69008         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
69009         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
69010         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
69011         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
69012         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
69013         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
69014         yesno.c: Back out Copyright date changes for each file with no change
69015         this year.  This eases coordination with other programs using the same
69016         source code modules.  From Paul Eggert.
69017
69018 2000-08-06  Paul Eggert  <eggert@twinsun.com>
69019
69020         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
69021         not char, for compatibility with glibc 2.1.3 strftime.c.
69022
69023 2000-08-03  Greg McGary  <greg@mcgary.org>
69024
69025         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
69026         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
69027         (EXTEND_BUFFER): Use them.
69028
69029 2000-08-01  Jim Meyering  <meyering@lucent.com>
69030
69031         * lib/dirname.c (ISSLASH): Define.
69032         (BACKSLASH_IS_PATH_SEPARATOR): Define.
69033         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
69034         both `\' and `/' may be use as path separators.
69035         Based on a patch from Prashant TR.
69036
69037 2000-07-31  Paul Eggert  <eggert@twinsun.com>
69038
69039         * lib/quotearg.c (quotearg_n_options): Don't make the initial
69040         slot vector a constant, since it might get modified.
69041
69042 2000-07-31  Jim Meyering  <meyering@lucent.com>
69043
69044         * lib/xmalloc.c: Use `virtual memory exhausted', not
69045         `Memory exhausted'.
69046         * lib/obstack.c (print_and_abort): Likewise.
69047
69048 2000-07-30  Paul Eggert  <eggert@twinsun.com>
69049
69050         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
69051         buffer, so that the caller can always quote one small
69052         component of a "memory exhausted" message in slot 0.
69053         From a suggestion by Jim Meyering.
69054
69055 2000-07-30  Jim Meyering  <meyering@lucent.com>
69056
69057         * lib/makepath.c (make_path): Quote the other instance, too.
69058
69059         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
69060         (STATIC_BUF_SIZE): Define.
69061         (quotearg_n_options): Use only statically allocated storage when
69062         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
69063         than STATIC_BUF_SIZE.
69064
69065 2000-07-29  Jim Meyering  <meyering@lucent.com>
69066
69067         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
69068         * lib/dirname.c (dir_name): Likewise.
69069
69070         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
69071         `/'.
69072
69073         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
69074         (dir_name): Assert that there are no trailing slashes.
69075
69076 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
69077
69078         * lib/mbswidth.h (mbswidth): Add a flags argument.
69079         (mbswidth): New declaration.
69080         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
69081         * lib/mbswidth.c (mbswidth): Add a flags argument.
69082         (mbsnwidth): New function.
69083
69084 2000-07-24  Jim Meyering  <meyering@lucent.com>
69085
69086         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
69087
69088 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69089
69090         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
69091
69092 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69093
69094         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
69095         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
69096         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
69097         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
69098         invoke multibyte primitives.
69099
69100 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69101
69102         * lib/quotearg.c:
69103         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
69104         so that mbstate_t is always defined.
69105
69106         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
69107         be 1 in at least one GCC installation, and this configuration
69108         error is likely to be common.  Ignoring MB_LEN_MAX hurts
69109         performance on hosts that have mbrtowc but have only unibyte
69110         locales, but I assume these hosts are rare.
69111
69112 2000-07-23  Paul Eggert  <eggert@twinsun.com>
69113
69114         * lib/mbswidth.c (_XOPEN_SOURCE):
69115         Don't define; this causes problems on Solaris 7.
69116         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
69117
69118 2000-07-23  Jim Meyering  <meyering@lucent.com>
69119
69120         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
69121         too: getgrgid, getpwuid, getuid.
69122
69123 2000-07-23  Jim Meyering  <meyering@lucent.com>
69124
69125         * lib/basename.c (base_name): Add an assertion.
69126
69127 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
69128
69129         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
69130         shadow its mbsinit function.
69131
69132 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
69133
69134         * lib/mbswidth.h: New file.
69135         * lib/mbswidth.c: New file.
69136         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
69137         (noinst_HEADERS): Add mbswidth.h.
69138
69139 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
69140
69141         * lib/config.charset: Add support for FreeBSD. Improve support for
69142         HP-UX and IRIX 6.
69143
69144 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
69145
69146         * m4/mbswidth.m4: New file.
69147         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
69148
69149 2000-07-15  Jim Meyering  <meyering@lucent.com>
69150
69151         * lib/makepath.c: Include quote.h.
69152         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
69153         corresponding argument in a `quote (...)' call.
69154         Give better diagnostics.
69155
69156         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
69157         (noinst_HEADERS): Add quote.h.
69158
69159         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
69160         from tar's src/misc.c.
69161         * lib/quote.h: New file.  Prototypes for same.
69162
69163 2000-07-14  Paul Eggert  <eggert@twinsun.com>
69164
69165         From a suggestion by Bruno Haible.
69166         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
69167         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
69168         to decide whether to define the BeOS workaround macro;
69169         this adjusts to the change to AC_MBSTATE_T.
69170
69171 2000-07-14  Jim Meyering  <meyering@lucent.com>
69172
69173         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
69174         jm_AC_TYPE_UINTMAX_T.
69175
69176 2000-07-13  Paul Eggert  <eggert@twinsun.com>
69177
69178         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
69179
69180         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
69181         quotearg_buffer_restyled): Add support for
69182         clocale_quoting_style.  Undo previous change to
69183         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
69184         and "{RIGHT QUOTATION MARK}" msgids.
69185
69186 2000-07-10  Paul Eggert  <eggert@twinsun.com>
69187
69188         From a suggestion by Bruno Haible.
69189         * m4/mbstate_t.m4 (AC_MBSTATE_T):
69190         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
69191         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
69192         and mbstate_t, to a single-part test that simply defines mbstate_t.
69193         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
69194         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
69195
69196 2000-07-10  Jim Meyering  <meyering@lucent.com>
69197
69198         * m4/strerror_r.m4: Mirror the correction made in autoconf.
69199
69200         * m4/gnu-source.m4: Output to confdefs.h directly.
69201         Suggestion from Akim Demaille.
69202
69203 2000-07-09  Paul Eggert  <eggert@twinsun.com>
69204
69205         The old behavior of quoting `like this' doesn't look good with
69206         newer, ISO-style fonts.  See:
69207         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
69208
69209         Instead, quote "like this" by default.  Let the translator
69210         tailor the locale-specific quoting behavior by providing
69211         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
69212
69213         * lib/quotearg.c (N_): New macro.
69214         (gettext_default): New function.
69215         (quotearg_buffer_restyled): Use
69216         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
69217         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
69218
69219 2000-07-09  Jim Meyering  <meyering@lucent.com>
69220
69221         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
69222         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
69223
69224         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
69225         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
69226
69227 2000-07-09  Jim Meyering  <meyering@lucent.com>
69228
69229         * lib/Most files: Update copyright dates to include 2000.
69230
69231 2000-07-08  Jim Meyering  <meyering@lucent.com>
69232
69233         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
69234         if not defined.
69235         (xgethostname): Remove now-unnecessary #ifdef.
69236         Move declaration of `err' into loop where it's used.
69237
69238 2000-07-05  Paul Eggert  <eggert@twinsun.com>
69239         and Bruno Haible  <haible@clisp.cons.org>
69240
69241         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
69242         only if the test for an object-type mbstate_t fails.  This
69243         prevents us from mistakenly reporting that mbstate_t is a
69244         system object type after we "#define mbstate_t int" to work
69245         around its lack.
69246
69247 2000-07-05  Paul Eggert  <eggert@twinsun.com>
69248         and Bruno Haible  <haible@clisp.cons.org>
69249
69250         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
69251
69252 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
69253
69254         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
69255         to strerror_r.
69256         Include <ctype.h> for use of isalpha.
69257
69258 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
69259
69260         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
69261         by allocating a larger buffer. Test the gethostname return value for
69262         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
69263         returns an error and ENAMETOOLONG isn't defined.
69264
69265 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
69266
69267         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
69268         dimension.
69269
69270 2000-07-04  Jim Meyering  <meyering@lucent.com>
69271
69272         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
69273         of the deprecated AC_CHECKING.
69274
69275 2000-07-04  Jim Meyering  <meyering@lucent.com>
69276
69277         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
69278         Reported by Bruno Haible.
69279
69280 2000-07-04  Jim Meyering  <meyering@lucent.com>
69281
69282         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
69283         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
69284         lacks mbrtowc.
69285
69286 2000-07-03  Paul Eggert  <eggert@twinsun.com>
69287
69288         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
69289         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
69290
69291 2000-07-03  Paul Eggert  <eggert@twinsun.com>
69292         and Bruno Haible  <haible@clisp.cons.org>
69293
69294         * lib/quotearg.c (mbrtowc):
69295         Assign to *pwc, and return 1 only if result is nonzero.
69296         (iswprint): Use ISPRINT when substituting our own mbrtowc.
69297
69298 2000-07-03  Jim Meyering  <meyering@lucent.com>
69299
69300         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
69301
69302 2000-07-03  Jim Meyering  <meyering@lucent.com>
69303
69304         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
69305         This is necessary to get a definition of e.g., UTMP_FILE on
69306         HP-UX 10.20.
69307         From Bob Proulx.
69308
69309 2000-07-02  Jim Meyering  <meyering@lucent.com>
69310
69311         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
69312
69313         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
69314         AC_LIBOBJ(function_name).
69315         * m4/chown.m4: Likewise.
69316         * m4/fnmatch.m4: Likewise.
69317         * m4/ftruncate.m4: Likewise.
69318         * m4/getgroups.m4: Likewise.
69319         * m4/getline.m4: Likewise.
69320         * m4/group-member.m4: Likewise.
69321         * m4/jm-macros.m4: Likewise.
69322         * m4/lstat.m4: Likewise.
69323         * m4/malloc.m4: Likewise.
69324         * m4/memcmp.m4: Likewise.
69325         * m4/nanosleep.m4: Likewise.
69326         * m4/putenv.m4: Likewise.
69327         * m4/realloc.m4: Likewise.
69328         * m4/regex.m4: Likewise.
69329         * m4/stat.m4: Likewise.
69330         * m4/strftime.m4: Likewise.
69331
69332 2000-07-02  Jim Meyering  <meyering@lucent.com>
69333
69334         * lib/quotearg.c (mbstate_t): Don't define here.
69335
69336 2000-07-02  Jim Meyering  <meyering@lucent.com>
69337
69338         * lib/nanosleep.c (SIGCONT): Define if not already defined.
69339
69340 2000-07-01  Jim Meyering  <meyering@lucent.com>
69341
69342         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
69343
69344 2000-07-01  Jim Meyering  <meyering@lucent.com>
69345
69346         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
69347         problem.
69348
69349 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
69350
69351         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
69352         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
69353
69354 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
69355
69356         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
69357         per change in ../m4/ls-mntd-fs.m4.
69358         (read_filesystem_list): Ignore symbolic links.
69359
69360 2000-06-29  Jim Meyering  <meyering@lucent.com>
69361
69362         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
69363         for declaration of strcmp.
69364
69365         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
69366
69367         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
69368         Avoid warning by casting result to `char *' to remove `const'.
69369
69370 2000-06-28  Jim Meyering  <meyering@lucent.com>
69371
69372         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
69373         included by quotearg.c, for which we perform this test.  From
69374         Bruno Haible.
69375
69376 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
69377
69378         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
69379         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
69380         <utmpx.h> exists, put readutmp.o into LIBOBJS.
69381
69382 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
69383
69384         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
69385
69386 2000-06-26  Paul Eggert  <eggert@twinsun.com>
69387
69388         savedir now sets errno on failure and invokes xmalloc to get memory.
69389         Fix a couple of other minor bugs while we're at it.
69390
69391         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
69392         (NAMLEN): Remove macro.
69393         (malloc, realloc): Remove decls.
69394         (stpcpy): Likewise.
69395         ("xalloc.h"): Include.
69396         (NAME_SIZE_DEFAULT): New macro.
69397         (savedir): Use xmalloc / xrealloc to allocate memory.
69398         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
69399         Skip "" directory entries.
69400         Use strlen to calculate directory entry length, since the old method
69401         is rarely used these days and isn't worth supporting.
69402         Don't use a pointer after freeing it.
69403         Check for integer overflow when calculating allocation size.
69404         Use memcpy to copy entries, instead of stpcpy.
69405         Set errno properly when returning NULL.
69406         Check for readdir error.
69407
69408 2000-06-26  Jim Meyering  <meyering@lucent.com>
69409
69410         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
69411
69412 2000-06-25  Jim Meyering  <meyering@lucent.com>
69413
69414         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
69415         Linux header bug when _XOPEN_SOURCE is defined to 500.
69416
69417 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
69418
69419         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
69420         deficiency.
69421
69422 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
69423
69424         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
69425         Include xalloc.h.
69426         Don't include <stdlib.h>.  Don't declare malloc, realloc.
69427
69428 2000-06-24  Jim Meyering  <meyering@lucent.com>
69429
69430         * m4/strerror_r.m4: Revive this file -- to try out an experimental
69431         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
69432         for which strerror does return char*, but which lacks a conveniently
69433         accessible declaration of the function.  If the compile-test says
69434         strerror_r doesn't work, then resort to a `run'-test that works on
69435         BeOS and segfaults on DEC Unix.
69436
69437 2000-06-24  Jim Meyering  <meyering@lucent.com>
69438
69439         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
69440
69441 2000-06-23  Paul Eggert  <eggert@twinsun.com>
69442
69443         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
69444         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
69445
69446 2000-06-23  Paul Eggert  <eggert@twinsun.com>
69447
69448         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
69449         (mbrtowc, mbstate_t): Define substitutes if
69450         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
69451         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
69452         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
69453
69454 2000-06-23  Jim Meyering  <meyering@lucent.com>
69455
69456         * m4/afs.m4: Add missing AC_MSG_RESULT.
69457         Reported by Bruno Haible.
69458
69459         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
69460         Suggestion from Bruno Haible.
69461
69462 2000-06-23  Jim Meyering  <meyering@lucent.com>
69463
69464         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
69465
69466 2000-06-21  Jim Meyering  <meyering@lucent.com>
69467
69468         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
69469
69470 2000-06-21  Jim Meyering  <meyering@lucent.com>
69471
69472         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
69473         (noinst_HEADERS): Add getstr.h.
69474
69475         * lib/getline.c (getstr): Move into a separate file.
69476         * lib/getstr.c (getstr): New file, extracted from getline.c, with
69477         the following changes: new parameter, delim2; both delim[12]
69478         parameters have type `int', not `char'.  The latter would lose
69479         with 8-bit delimiters.
69480         * lib/getstr.h: New file.
69481
69482 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
69483
69484         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
69485         than 1024, return a memory chunk of least possible size, instead
69486         of size PATH_MAX + 2. In the loop, increment the size proportionally.
69487         Use free/xmalloc instead of xrealloc to avoid copying for very long
69488         paths.
69489
69490 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
69491
69492         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
69493         the empty string.
69494
69495 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
69496
69497         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
69498         address, not strdup.  Include <stdlib.h> and don't declare free().
69499
69500 2000-06-19  Jim Meyering  <meyering@lucent.com>
69501
69502         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
69503
69504 2000-06-18  Jim Meyering  <meyering@lucent.com>
69505
69506         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
69507
69508         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
69509         `checking whether...' message to be consistent with that of the
69510         lstat test.
69511
69512 2000-06-18  Jim Meyering  <meyering@lucent.com>
69513
69514         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
69515         Besides, these days every porting target provides a mkdir function.
69516
69517         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
69518         needed. (this snippet comes from src/system.h).
69519
69520 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
69521
69522         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
69523
69524 2000-06-15  Paul Eggert  <eggert@twinsun.com>
69525
69526         * lib/human.c (adjust_value): New function.
69527         (human_readable_inexact): Apply rounding style even when
69528         printing approximate values.
69529
69530 2000-06-14  Paul Eggert  <eggert@twinsun.com>
69531
69532         * lib/human.c (human_readable_inexact): Allow an input block
69533         size that is not a multiple of the output block size, and vice versa.
69534         Reported by Piergiorgio Sartor.
69535
69536 2000-06-14  Paul Eggert  <eggert@twinsun.com>
69537
69538         * lib/getdate.y (get_date): Apply relative times after time
69539         zone indicator, not before.  Reported by Todd A. Jacobs.
69540
69541 2000-06-13  Jim Meyering  <meyering@lucent.com>
69542
69543         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
69544
69545         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
69546
69547 2000-06-12  Paul Eggert  <eggert@twinsun.com>
69548
69549         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
69550
69551 2000-06-12  Jim Meyering  <meyering@lucent.com>
69552
69553         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
69554         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
69555         optional argument.
69556         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
69557         the optional argument, `lib'.
69558
69559 2000-06-08  Jim Meyering  <meyering@lucent.com>
69560
69561         * m4/largefile.m4: Remove file (now that it's part of autoconf).
69562
69563 2000-06-04  Paul Eggert  <eggert@twinsun.com>
69564
69565         Rewrite largefile configuration so that we don't need to run
69566         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
69567         AC_CANONICAL_HOST in configure.in -- jmm]
69568
69569         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
69570         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
69571         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
69572         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
69573         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
69574         All uses changed.
69575         Instead of inspecting the output of getconf, try to compile the
69576         test program without and with the macro definition.
69577         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
69578         for getconf.  Instead, check for the needed flags by compiling
69579         test programs.
69580
69581 2000-06-04  Paul Eggert  <eggert@twinsun.com>
69582
69583         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
69584
69585 2000-06-04  Jim Meyering  <meyering@lucent.com>
69586
69587         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
69588         SunOS 4.1.4 for which gid_t is an unsigned type.
69589
69590 2000-06-03  Jim Meyering  <meyering@lucent.com>
69591
69592         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
69593         now that autoconf requires that.
69594
69595         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
69596         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
69597         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
69598
69599 2000-06-03  Jim Meyering  <meyering@lucent.com>
69600
69601         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
69602
69603 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
69604
69605         * m4/glibc21.m4: New file.
69606         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
69607
69608 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
69609
69610         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
69611         newer, don't install charset.alias.
69612         * lib/config.charset: Change the Linux/glibc rules so they become empty
69613         on glibc-2.1 or newer.
69614
69615 2000-06-02  Jim Meyering  <meyering@lucent.com>
69616
69617         * lib/mountlist.c: Back out last change.  Instead, do this...
69618         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
69619         me_dummy member using the same `ignore'-testing code.
69620         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
69621         fs_type strings.
69622         From Mark D. Roth.
69623
69624 2000-05-29  Jim Meyering  <meyering@lucent.com>
69625
69626         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
69627         mounts with the `ignore' attribute.  Based on a patch from
69628         Mark D. Roth.
69629
69630 2000-05-28  Jim Meyering  <meyering@lucent.com>
69631
69632         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
69633         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
69634         * m4/stat.m4: Likewise.
69635         * m4/lstat.m4: Likewise.
69636         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
69637
69638         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
69639         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
69640
69641 2000-05-26  Jim Meyering  <meyering@lucent.com>
69642
69643         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
69644
69645 2000-05-24  Jim Meyering  <meyering@lucent.com>
69646
69647         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
69648         autoconf requires that.
69649         * m4/lib-check.m4: Likewise.
69650         * m4/jm-macros.m4: Likewise.
69651         * m4/strftime.m4: Likewise.
69652
69653         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
69654         AC_CHECK_DECLS, now that autoconf requires that.
69655
69656 2000-05-22  Jim Meyering  <meyering@lucent.com>
69657
69658         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
69659         * m4/lstat.m4: Likewise.
69660
69661 2000-05-22  Jim Meyering  <meyering@lucent.com>
69662
69663         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
69664
69665 2000-05-20  Jim Meyering  <meyering@lucent.com>
69666
69667         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
69668         (jm_PREREQ): Use it.
69669
69670 2000-05-18  Jim Meyering  <meyering@lucent.com>
69671
69672         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
69673         back, too, since it may have been modified by allocate_entry.
69674         (hash_delete): Rewrite to use neither the assignment operator
69675         nor the comma operator in an if-expression.
69676
69677 2000-05-15  Paul Eggert  <eggert@twinsun.com>
69678
69679         * lib/closeout.c:
69680         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
69681         Remove; no longer needed.
69682         "quotearg.h": Add include.
69683         (file_name): Do not bother to explicitly initialize to NULL; it's less
69684         efficient on some hosts.
69685         (close_stdout_status): Remove test as to whether stdout was already
69686         closed; it breaks for the case "echo x | sort >&-".
69687         Quote file name colons.
69688         Do not assume that _("write error") lacks format strings.
69689
69690 2000-05-15  Jim Meyering  <meyering@lucent.com>
69691
69692         * lib/version-etc.c (version_etc_copyright): Update the copyright
69693         string used in all --version output.
69694
69695 2000-05-14  Jim Meyering  <meyering@lucent.com>
69696
69697         * lib/closeout.c (close_stdout_set_file_name): New function.
69698         (close_stdout_status): Use new file-scoped global.
69699         Return right away if fstat says the stdout file descriptor is invalid.
69700         * lib/closeout.h (close_stdout_set_file_name): Declare.
69701
69702 2000-05-10  Jim Meyering  <meyering@lucent.com>
69703
69704         * lib/closeout.c [default_exit_status]: New file-scoped variable.
69705         (close_stdout_set_status): New function.
69706         * lib/closeout.h (close_stdout_set_status): Declare.
69707
69708 2000-05-09  Jim Meyering  <meyering@lucent.com>
69709
69710         * m4/gettext.m4: Rename this...
69711         * m4/libintl.m4: ...to this.
69712
69713 2000-05-08  Jim Meyering  <meyering@lucent.com>
69714
69715         * lib/long-options.c: Don't include closeout.h.
69716         (parse_long_options): Don't call close_stdout for --version.
69717
69718 2000-05-06  Paul Eggert  <eggert@twinsun.com>
69719
69720         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
69721         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
69722         2.1.3 bug.  This avoids a clash when files like regex.c define
69723         _GNU_SOURCE.
69724
69725 2000-05-06  Jim Meyering  <meyering@lucent.com>
69726
69727         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
69728         (AC_REPLACE_FUNCS): Add strnlen.
69729
69730         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
69731         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
69732
69733         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
69734         AC_SEARCH_LIBS call for nanosleep.
69735         (LIB_NANOSLEEP): Set and AC_SUBST.
69736
69737 2000-05-06  Jim Meyering  <meyering@lucent.com>
69738
69739         * lib/strnlen.c: Undefine __strnlen and strnlen.
69740         [!weak_alias]: Define __strnlen to strnlen.
69741
69742         * lib/atexit.c: New file, from libiberty.
69743
69744 2000-05-06  Jim Meyering  <meyering@lucent.com>
69745
69746         * lib/closeout.c (close_stdout_status): Also check for errors on the
69747         stderr stream.
69748
69749 2000-05-05  Jim Meyering  <meyering@lucent.com>
69750
69751         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
69752         AC_SEARCH_LIBS call for clock_gettime.
69753         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
69754
69755         * m4/search-libs.m4: Update from autoconf.
69756
69757         su doesn't work on Solaris 2.6.
69758         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
69759         <shadow.h>.  Reported by Dragos Harabor.
69760
69761 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
69762
69763         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
69764         memcpy instead of xmalloc, xrealloc, path_concat.
69765         (locale_charset): Treat empty environment variables as absent.
69766         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
69767
69768 2000-05-04  Jim Meyering  <meyering@lucent.com>
69769
69770         * lib/getopt.c: Update from glibc.
69771         * lib/obstack.c: Likewise.
69772         * lib/obstack.h: Likewise.
69773         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
69774         file
69775
69776         * lib/regex.h: Likewise.
69777         * lib/strndup.c: Likewise.
69778         * lib/strnlen.c: New file, from glibc.
69779
69780 2000-05-03  Jim Meyering  <meyering@lucent.com>
69781
69782         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
69783
69784 2000-05-02  Paul Eggert  <eggert@twinsun.com>
69785
69786         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
69787         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
69788         compile-time test, rather than inspecting host and OS, to
69789         decide whether to define _LARGEFILE_SOURCE.
69790
69791 2000-05-01  Jim Meyering  <meyering@lucent.com>
69792
69793         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
69794
69795         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
69796         Based on a patch from Bruno Haible.
69797
69798 2000-05-01  Jim Meyering  <meyering@lucent.com>
69799
69800         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
69801
69802 2000-04-29  Jim Meyering  <meyering@lucent.com>
69803
69804         * lib/path-concat.c: Declare strdup only if it's not defined.
69805         * lib/canon-host.c: Likewise.
69806
69807 2000-04-28  Jim Meyering  <meyering@lucent.com>
69808
69809         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
69810         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
69811         is included first, then limits.h is included by locale.h by libintl.h.
69812         From John David Anglin.
69813
69814 2000-04-25  Jim Meyering  <meyering@lucent.com>
69815
69816         * lib/makepath.c (S_IRWXUGO): Define.
69817         (make_path): Always perform explicit chmod if MODE specifies any
69818         of the `special' permission bits.  Prompted by a bug report against
69819         install from Mate Wierdl and Joost van Baal.
69820
69821 2000-04-18  Jim Meyering  <meyering@lucent.com>
69822
69823         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
69824         (jm_PREREQ): Use it.
69825
69826 2000-04-18  Jim Meyering  <meyering@lucent.com>
69827
69828         * lib/README: New file.
69829
69830         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
69831         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
69832
69833 2000-04-17  Jim Meyering  <meyering@lucent.com>
69834
69835         Get it right :-)
69836         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
69837         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
69838         Suggestion from Akim Demaille.
69839
69840 2000-04-17  Jim Meyering  <meyering@lucent.com>
69841
69842         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
69843         the definition of it to rpl_strftime also defined-away the system's
69844         declaration.
69845
69846 2000-04-15  Jim Meyering  <meyering@lucent.com>
69847
69848         Use `C' to denote so-called `contiguous' files, the same way
69849         that tar does.
69850         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
69851         (ftypelet): Use S_ISCTG.
69852         From Michael Deutschmann.
69853
69854 2000-04-14  Jim Meyering  <meyering@lucent.com>
69855
69856         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
69857         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
69858         clobbered.
69859
69860 2000-04-14  Jim Meyering  <meyering@lucent.com>
69861
69862         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
69863
69864 2000-04-13  Jim Meyering  <meyering@lucent.com>
69865
69866         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
69867         AH_VERBATIM to insert required #ifndef into config.h.in.
69868         Suggestion from Akim Demaille.
69869
69870 2000-04-12  Jim Meyering  <meyering@lucent.com>
69871
69872         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
69873         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
69874         Christian Krackowizer.
69875
69876         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
69877         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
69878         (AC_SYS_LARGEFILE): Require.
69879         (AM_C_PROTOTYPES): Require.
69880
69881 2000-04-08  Jim Meyering  <meyering@lucent.com>
69882
69883         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
69884         names don't conflict.  Reported by Eli Zaretskii.
69885
69886 2000-04-07  Jim Meyering  <meyering@lucent.com>
69887
69888         * lib/putenv.c: Move inclusion of errno.h so it follows that of
69889         sys/types.h, to work around system header problems on AIX 3.2.5.
69890         From Bruno Haible.
69891
69892 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
69893
69894         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
69895         bug.  Deal with the different error behavior of Irix iconv.
69896
69897 2000-04-05  Paul Eggert  <eggert@twinsun.com>
69898
69899         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
69900         IRIX if the installer said otherwise.
69901
69902 2000-04-05  Jim Meyering  <meyering@lucent.com>
69903
69904         Portability tweaks required for ultrix4.3.
69905         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
69906         (jm_CHECK_DECLS): Add getutent to the list of functions.
69907         (_jm_DECL_HEADERS): Add utmpx.h.
69908         From John David Anglin.
69909
69910         * m4/strftime.m4: Back out the 2000-04-02 change.
69911         Instead of that change, simply undefine putenv in the test program.
69912
69913 2000-04-05  Jim Meyering  <meyering@lucent.com>
69914
69915         Portability tweaks required for ultrix4.3.
69916         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
69917         getutent.
69918         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
69919         * lib/canon-host.c: Declare strdup.
69920         * lib/path-concat.c: Likewise.
69921         From John David Anglin.
69922
69923 2000-04-04  Jim Meyering  <meyering@lucent.com>
69924
69925         Be more DOS 8.3-friendly.
69926         * lib/ref-add.sin: Renamed from ref-add.sed.in.
69927         * lib/ref-del.sin: Renamed from ref-del.sed.in.
69928         * lib/Makefile.am: Reflect renaming.
69929         Reported by Eli Zaretskii.
69930
69931         Use a temporary file name that won't clash with `charset.alias'
69932         in the DOS 8.3 name space.
69933         * lib/Makefile.am (charset_tmp): Define.
69934         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
69935         (uninstall-local): Likewise.
69936         Reported by Eli Zaretskii.
69937
69938 2000-04-03  Jim Meyering  <meyering@lucent.com>
69939
69940         * m4/gettext.m4: Fix typo in comment.
69941
69942         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
69943         textutils/configure.in).  Suggestion from Paul Eggert.
69944         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
69945
69946 2000-04-02  Paul Eggert  <eggert@twinsun.com>
69947
69948         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
69949         variable in the shell rather than using putenv, which isn't
69950         portable.  This avoids the configure-time inter-test dependency
69951         on the potentially-renamed putenv function.
69952
69953 2000-03-30  Paul Eggert  <eggert@twinsun.com>
69954
69955         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
69956         before checking struct stat.st_blksize, so that
69957         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
69958
69959 2000-03-29  Paul Eggert  <eggert@twinsun.com>
69960
69961         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
69962         since strftime.c uses HAVE_STRFTIME to decide whether to use
69963         the underlying strftime.
69964
69965 2000-03-29  Paul Eggert  <eggert@twinsun.com>
69966
69967         * lib/time/strftime.c (my_strftime): Make sure we call the system
69968         strftime, not ourselves, when invoking the underlying strftime.
69969
69970 2000-03-24  Jim Meyering  <meyering@lucent.com>
69971
69972         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
69973         (charset_alias): Define.
69974         (install-exec-local): Factor out common code.
69975         (uninstall-local): Split lines longer than 80.
69976         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
69977         (SUFFIXES): Define.
69978         (.sed.in.sed): New rule.  Don't redirect directly to $@.
69979         (CLEANFILES): Add ref-add.sed and ref-del.sed.
69980
69981 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
69982
69983         * lib/config.charset: Output a line containing "Packages using this
69984         file".
69985         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
69986         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
69987         ref-del.sed): New rules.
69988
69989 2000-03-17  Jim Meyering  <meyering@lucent.com>
69990
69991         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
69992         Otherwise, include <strings.h>
69993
69994 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
69995
69996         * lib/unicodeio.c (utf8_wctomb): New function.
69997         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
69998         format instead of in UCS-4 with platform dependent endianness.
69999
70000 2000-03-10  Jim Meyering  <meyering@lucent.com>
70001
70002         * m4/lib-check.m4: Look for getspnam in -lgen, too.
70003         From Marco Franzen.
70004
70005 2000-03-07  Paul Eggert  <eggert@twinsun.com>
70006
70007         * lib/savedir.c (savedir): Work even if directory size is
70008         negative; this can happen with some screwy NFS configurations.
70009
70010 2000-03-06  Jim Meyering  <meyering@lucent.com>
70011
70012         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
70013         if it's NULL (because we ran out of memory).  From Bruno Haible.
70014
70015 2000-03-05  Jim Meyering  <meyering@lucent.com>
70016
70017         * lib/localcharset.c ("path-concat.h"): Include.
70018         (get_charset_aliases): Use path_concat instead of ANSI string
70019         concatenation.
70020
70021         * lib/unicodeio.h (PARAMS): Define.
70022         Use it to guard prototype.
70023
70024 2000-03-04  Jim Meyering  <meyering@lucent.com>
70025
70026         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
70027         for lib/localcharset.c.
70028
70029 2000-03-04  Jim Meyering  <meyering@lucent.com>
70030
70031         * lib/Makefile.am (install-exec-local): Create $(libdir) before
70032         installing into it.
70033         (uninstall-local): Uncomment this rule so `make distcheck' works
70034         once again.
70035
70036         * lib/unicodeio.c (<errno.h>): Include it.
70037         (errno): Declare if not defined.
70038
70039         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
70040
70041         * lib/config.charset: New version, incorporating remarks from a linux
70042         i18n mailing list.  From Bruno Haible.
70043
70044 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
70045
70046         * m4/codeset.m4: New file.
70047         * m4/iconv.m4: New file.
70048         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
70049
70050 2000-03-03  Jim Meyering  <meyering@lucent.com>
70051
70052         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
70053
70054 2000-03-02  Jim Meyering  <meyering@lucent.com>
70055
70056         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
70057         the messages come out on separate lines.
70058
70059         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
70060         rather than jm_CHECK_DECLARATIONS.
70061         * m4/decl.m4: Remove now-unused file.
70062
70063         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
70064         geteuid.
70065
70066 2000-03-02  Jim Meyering  <meyering@lucent.com>
70067
70068         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
70069
70070 2000-03-01  Jim Meyering  <meyering@lucent.com>
70071
70072         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
70073         * lib/unicodeio.c: Likewise.
70074
70075 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
70076
70077         * lib/config.charset: New file.
70078         * lib/localcharset.c: New file.
70079         * lib/unicodeio.h, lib/unicodeio.c: New files.
70080         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
70081         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
70082         (noinst_HEADERS): Add unicodeio.h.
70083         (all-local, install-exec-local, charset.alias): New targets.
70084
70085 2000-02-28  Paul Eggert  <eggert@twinsun.com>
70086
70087         * lib/quotearg.c (ALERT_CHAR): New macro.
70088         (quotearg_buffer_restyled): Use it.
70089
70090 2000-02-27  Jim Meyering  <meyering@lucent.com>
70091
70092         * m4/check-decl.m4: Add getenv to the list.
70093
70094 2000-02-27  Jim Meyering  <meyering@lucent.com>
70095
70096         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
70097         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
70098
70099         * lib/backupfile.c: Guard inclusion of stdlib.h with
70100         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
70101         Declare malloc if needed.
70102
70103         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
70104         `#ifndef HAVE_DECL..'
70105         now that autoconf always defines the HAVE_DECL_ symbols.
70106         * lib/human.c: Likewise.
70107         * lib/same.c: Likewise.
70108         * lib/strtoumax.c: Likewise.
70109
70110         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
70111         declaration check was not run.
70112         * lib/hash.c: Likewise.
70113         * lib/human.c: Likewise.
70114         * lib/same.c: Likewise.
70115         * lib/strtoumax.c: Likewise.
70116
70117         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
70118         `.', then first look up the entire `.'-containing string as a login
70119         name.
70120
70121 2000-02-23  Jim Meyering  <meyering@lucent.com>
70122
70123         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
70124         in place of my hack.
70125
70126 2000-02-18  Paul Eggert  <eggert@twinsun.com>
70127
70128         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
70129         (textint): New typedef.
70130         (parser_control): Member year changed from int to textint.
70131         All uses changed.
70132         (YYSTYPE): Removed; replaced by %union with int and textint members.
70133         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
70134         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
70135         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
70136         (tSNUMBER, tUNUMBER): Now of type <textintval>.
70137         (date, number, to_year): Use width of number in digits, not its value,
70138         to determine whether it's a 2-digit year, or a 2-digit time.
70139         (yylex): Store number of digits of numeric tokens.
70140         Reported by John Kendall.
70141
70142         (parser_control): Changed from struct parser_control to typedef (for
70143         consistency).  All uses changed.
70144
70145         (tID): Removed; not used.
70146         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
70147
70148 2000-02-14  Paul Eggert  <eggert@twinsun.com>
70149
70150         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
70151         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
70152
70153 2000-02-12  Jim Meyering  <meyering@lucent.com>
70154
70155         * lib/userspec.c (ISDIGIT): Define it.
70156         (isdigit): Remove definition.
70157         (is_number): Use ISDIGIT, not isdigit.
70158         <libintl.h>: Include.
70159         (_ and N_): Define.
70160         (parse_user_spec): Mark translatable strings.
70161
70162 2000-02-10  Jim Meyering  <meyering@lucent.com>
70163
70164         With these changes, nanosleep.[ch] are finally enough like the other
70165         lib/* replacement files to compile on a few more losing systems.
70166
70167         * lib/nanosleep.h: Don't include config.h.
70168         Remove prototype from declaration of nanosleep.
70169         (PARAMS): Remove now-unneeded definition.
70170         * lib/nanosleep.c: #undef nanosleep.
70171         (rpl_nanosleep): Rename from nanosleep.
70172
70173 2000-02-10  Jim Meyering  <meyering@lucent.com>
70174
70175         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
70176         gnu_nanosleep to rpl_nanosleep.
70177
70178 2000-02-09  Jim Meyering  <meyering@lucent.com>
70179
70180         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
70181         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
70182
70183 2000-02-08  Akim Demaille  <akim@epita.fr>
70184
70185         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
70186         `[' and `]' and remove uses of `changequote'.
70187         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
70188         (AC_SYS_LARGEFILE): Likewise.
70189         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
70190         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
70191         of changequote.
70192         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
70193         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
70194         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
70195         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
70196
70197 2000-02-05  Jim Meyering  <meyering@lucent.com>
70198
70199         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
70200         Remove explicit use of AC_HEADER_TIME.  It is required by
70201         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
70202         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
70203         in autoconf whereby the expansion of the latter ended up preceding
70204         the expansion of its prerequisite, AC_HEADER_TIME.
70205         Reported by Volker Borchert.
70206
70207 2000-02-03  Jim Meyering  <meyering@lucent.com>
70208
70209         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
70210
70211 2000-02-03  Jim Meyering  <meyering@lucent.com>
70212
70213         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
70214         rather than with `#if HAVE_UTMPNAME'.
70215
70216 2000-02-02  Jim Meyering  <meyering@lucent.com>
70217
70218         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
70219         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
70220         Reported by Eli Zaretskii.
70221
70222 2000-02-01  Jim Meyering  <meyering@lucent.com>
70223
70224         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
70225
70226 2000-01-31  Jim Meyering  <meyering@lucent.com>
70227
70228         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
70229         functions.  Add the time.h and sys/time.h headers along with the
70230         AC_REQUIRE'ment of AC_HEADER_TIME.
70231
70232 2000-01-31  Jim Meyering  <meyering@lucent.com>
70233
70234         * lib/nanosleep.h (nanosleep): Guard declaration with
70235         `#if ! HAVE_DECL_NANOSLEEP'.
70236         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
70237         the declaration in that vendor's sys/timers.h.
70238         Reported by Christian Krackowizer.
70239
70240         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
70241         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
70242         (ISPRINT): Likewise.
70243         Reported by Tom Tromey.
70244
70245 2000-01-30  Jim Meyering  <meyering@lucent.com>
70246
70247         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
70248
70249         * m4/prereq.m4 (utmp_includes): Define.
70250         Check for ut_user and ut_name members in both struct utmpx
70251         and struct utmp.
70252
70253 2000-01-30  Jim Meyering  <meyering@lucent.com>
70254
70255         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
70256         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
70257         header files where only utmpx.ut_user is declared.
70258
70259         * lib/readutmp.h (UT_USER): Define.
70260
70261 2000-01-29  Jim Meyering  <meyering@lucent.com>
70262
70263         * m4/lib-check.m4: New file containing library-related checks from
70264         fileutils and sh-utils (textutils had none).
70265
70266 2000-01-28  Jim Meyering  <meyering@lucent.com>
70267
70268         * m4/perl.m4: Change format of warning message to look more like that
70269         from the missing script.  Suggestion from François Pinard.
70270
70271 2000-01-25  Jim Meyering  <meyering@lucent.com>
70272
70273         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
70274         well as time.h in the compile check.
70275         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
70276         Fix typo in cross-compiling case: s/yes/no/.
70277
70278 2000-01-23  Jim Meyering  <meyering@lucent.com>
70279
70280         * m4/jm-macros.m4: Move df-related tests here from
70281         fileutils/configure.in
70282
70283         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
70284         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
70285
70286         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
70287         s/space/ac_fsusage_space/.
70288         (jm_FILE_SYSTEM_USAGE): Take two parameters.
70289
70290         * m4/ftruncate.m4: New file (derived from part of
70291         fileutils/configure.in).
70292         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
70293         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
70294
70295         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
70296         AC_SUBST these here, rather than just in sh-util/configure.in, so
70297         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
70298         all the same.
70299         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
70300         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
70301         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
70302         (AC_SUBST(POW_LIBM)): Likewise.
70303         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
70304
70305 2000-01-23  Jim Meyering  <meyering@lucent.com>
70306
70307         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
70308         obstack.c.
70309
70310 2000-01-22  Jim Meyering  <meyering@lucent.com>
70311
70312         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
70313
70314         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
70315
70316         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
70317         configure.in
70318         (AC_CHECK_HEADERS): Likewise for sh-utils.
70319         (AC_CHECK_HEADERS): Likewise for textutils.
70320         Merge the three lists of headers.
70321
70322         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
70323         from fileutils' configure.in.
70324
70325         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
70326         code. Moved tests into their own function (_jm_DECL_HEADERS) in
70327         check-decl.m4.
70328
70329         * m4/check-decl.m4: Use #if rather than #ifdef.
70330         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
70331         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
70332         (_jm_DECL_HEADERS): Define new function.
70333         (jm_CHECK_DECLARATIONS): Require it.
70334
70335 2000-01-22  Jim Meyering  <meyering@lucent.com>
70336
70337         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
70338         [! HAVE_DECL_STRTOULL]: Declare strtoull.
70339         Required for some AIX systems.  Reported by Christian Krackowizer.
70340         [TESTING] (main): New function.
70341
70342         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
70343         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
70344         letters.
70345
70346         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
70347         iswprint.
70348
70349         * lib/strverscmp.c (ISDIGIT): Define.
70350         (strverscmp): Use ISDIGIT, not isdigit.
70351
70352 2000-01-19  Jim Meyering  <meyering@lucent.com>
70353
70354         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
70355         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
70356         defines `struct timespec' in <sys/time.h>
70357
70358         * m4/c-bs-a.m4: Remove uses of changequote altogether.
70359         Thanks to Akim for explaining.
70360
70361 2000-01-17  Paul Eggert  <eggert@twinsun.com>
70362
70363         * lib/nanosleep.c (nanosleep):
70364         Don't use SA_INTERRUPT to decide whether to call sigaction, as
70365         POSIX.1 doesn't require SA_INTERRUPT and some systems
70366         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
70367         it's been part of POSIX.1 since day 1 (in 1988).
70368
70369 2000-01-17  Jim Meyering  <meyering@lucent.com>
70370
70371         * lib/interlock: Remove unused file.  Reported by François Pinard.
70372
70373 2000-01-16  Paul Eggert  <eggert@twinsun.com>
70374
70375         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
70376         alert, backslash, formfeed, and vertical tab unnecessarily in
70377         shell quoting style.
70378
70379 2000-01-16  Jim Meyering  <meyering@lucent.com>
70380
70381         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
70382         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
70383         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
70384         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
70385
70386 2000-01-16  Jim Meyering  <meyering@lucent.com>
70387
70388         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
70389         because the latter didn't work.
70390
70391 2000-01-15  Jim Meyering  <meyering@lucent.com>
70392
70393         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
70394         (AC_REPLACE_FUNCS): Add memcpy and memset.
70395         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
70396         Add strpbrk.
70397         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
70398
70399 2000-01-12  Jim Meyering  <meyering@lucent.com>
70400
70401         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
70402         (jm_PREREQ): Use it.
70403         (jm_PREREQ_READUTMP): New macro.
70404         (jm_PREREQ): Use it.
70405
70406 2000-01-11  Paul Eggert  <eggert@twinsun.com>
70407
70408         Quote multibyte characters correctly.
70409         * m4/c-bs-a.m4: New file.
70410         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
70411         (jm_PREREQ): Use it.
70412
70413 2000-01-11  Paul Eggert  <eggert@twinsun.com>
70414
70415         * m4/uintmax_t.m4: Port to autoconf 2.13.
70416
70417 2000-01-08  Jim Meyering  <meyering@ascend.com>
70418
70419         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
70420         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
70421
70422 2000-01-04  Jim Meyering  <meyering@ascend.com>
70423
70424         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
70425         jm_STRUCT_DIRENT_D_TYPE.
70426         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
70427         jm_STRUCT_DIRENT_D_INO.
70428         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
70429         jm_STRUCT_UTIMBUF.
70430         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
70431         renamings.
70432         * m4/utime.m4: Likewise.
70433
70434         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
70435         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
70436
70437 2000-01-03  Paul Eggert  <eggert@twinsun.com>
70438
70439         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
70440         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
70441
70442 2000-01-02  Jim Meyering  <meyering@ascend.com>
70443
70444         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
70445         remember if this is necessary.
70446
70447 1999-12-26  Jim Meyering  <meyering@ascend.com>
70448
70449         * m4/jm-macros.m4: Use it here.
70450         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
70451
70452 1999-12-23  Jim Meyering  <meyering@ascend.com>
70453
70454         * m4/jm-macros.m4: Check for clock_gettime (moved from
70455         fileutils/configure.in)
70456         Check for gettimeofday.
70457
70458 1999-12-20  Jim Meyering  <meyering@ascend.com>
70459
70460         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
70461         autoconf-2.14a-1999-12-20.
70462
70463 1999-12-19  Jim Meyering  <meyering@ascend.com>
70464
70465         * m4/lstat-slash.m4: New file.
70466         * m4/jm-macros.m4: Use the new macro:
70467         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
70468
70469 1999-12-07  Jim Meyering  <meyering@ascend.com>
70470
70471         * m4/perl.m4: Require that File::Compare be available, too.
70472         Too many systems seem to lack it.
70473
70474         * m4/strftime.m4: Add checks for most of the cpp macros tested in
70475         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
70476
70477 1999-11-18  Paul Eggert  <eggert@twinsun.com>
70478
70479         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
70480         problem with the QNX 4.25 shell, which doesn't propagate exit
70481         status of failed commands inside shell assignments.
70482
70483 1999-11-17  Jim Meyering  <meyering@ascend.com>
70484
70485         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
70486
70487 1999-11-07  Jim Meyering  <meyering@ascend.com>
70488
70489         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
70490
70491 1999-11-06  Jim Meyering  <meyering@ascend.com>
70492
70493         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
70494         * m4/jm-macros.m4 (jm_MACROS): Use it here.
70495
70496 1999-11-05  Jim Meyering  <meyering@ascend.com>
70497
70498         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
70499         configure.in of textutils, fileutils, and sh-utils into this one
70500         (shared between those packages) file.
70501         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
70502         AC_STRUCT_ST_BLKSIZE.
70503
70504 1999-11-03  Jim Meyering  <meyering@ascend.com>
70505
70506         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
70507         of AC_CHECK_TYPE checks includes unistd.h.
70508         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
70509         Suggestion from Akim Demaille.
70510
70511 1999-10-30  Jim Meyering  <meyering@ascend.com>
70512
70513         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
70514         m4-quoted string.
70515         * m4/ls-mntd-fs.m4: Likewise.
70516         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
70517         * m4/jm-winsz1.m4: Likewise.
70518
70519         * m4/const.m4: Remove file, since the fix made it into the experimental
70520         version of autoconf.
70521         * m4/mktime.m4: Likewise.
70522
70523         * m4/check-type.m4: Remove file, now that the latest version of
70524         AC_CHECK_TYPE takes a third arg to specify additional #includes.
70525
70526         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
70527         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
70528         AC_CHECK_TYPE.
70529
70530 1999-10-04  Jim Meyering  <meyering@ascend.com>
70531
70532         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
70533
70534 1999-09-22  Paul Eggert  <eggert@twinsun.com>
70535
70536         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
70537         2.95.1 bug with HP-UX 10.20.
70538
70539 1999-09-17  Jim Meyering  <meyering@ascend.com>
70540
70541         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
70542         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
70543         due to missing strdup (against sh-utils-2.0).
70544
70545 1999-08-29  Jim Meyering  <meyering@ascend.com>
70546
70547         * m4/jm-macros.m4: Require jm_BISON.
70548         * m4/bison.m4: New file.
70549
70550 1999-08-17  Paul Eggert  <eggert@twinsun.com>
70551
70552         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
70553         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
70554
70555 1999-08-05  Jim Meyering  <meyering@ascend.com>
70556
70557         * m4/getline.m4: Rename test file from conftestdata to conftest.data
70558         to avoid conflicts with `conftest' on 8+3 filesystems.
70559         Suggestion from Eli Zaretskii.
70560
70561 1999-08-04  Jim Meyering  <meyering@ascend.com>
70562
70563         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
70564         fileutils and sh-utils (textutils's getline test was inadequate).
70565         (AM_FUNC_GETLINE): Run this test.
70566         (AC_CHECK_FUNCS): Check for getdelim.
70567         Reported by Bob Proulx.
70568
70569 1999-08-02  Jim Meyering  <meyering@ascend.com>
70570
70571         * m4/jm-macros.m4: Add a comment.
70572
70573 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70574
70575         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
70576         <inttypes.h> defines strtoumax as a macro (and not as a
70577         function).
70578
70579 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70580
70581         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
70582         that we can shift, multiply and divide unsigned long long
70583         values; Ultrix cc can't do it.
70584
70585 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70586
70587         * m4/mktime.m4: New file, which is a preview of what should appear
70588         in the next public autoconf release.
70589
70590 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70591
70592         * m4/lfs.m4: Remove this file.
70593         * m4/largefile.m4: New file.  It contains the old contents of
70594         lfs.m4, except that all names with prefix AC_LFS have been
70595         changed to use the prefix AC_SYS_LARGEFILE instead, to be
70596         compatible with future autoconf versions.  Also, some minor m4
70597         quoting problems have been fixed.
70598
70599 1999-08-01  Paul Eggert  <eggert@twinsun.com>
70600
70601         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
70602         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
70603         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
70604         and simplify the shell code.
70605
70606 1999-08-01  Jim Meyering  <meyering@ascend.com>
70607
70608         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
70609         m4.
70610
70611 1999-07-20  Jim Meyering  <meyering@ascend.com>
70612
70613         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
70614
70615 1999-07-15  Jim Meyering  <meyering@ascend.com>
70616
70617         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
70618
70619 1999-05-22  Jim Meyering  <meyering@ascend.com>
70620
70621         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
70622
70623 1999-05-20  Jim Meyering  <meyering@ascend.com>
70624
70625         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
70626         Add a colon after each `then' in case $4 is empty.
70627
70628 1999-05-16  Jim Meyering  <meyering@ascend.com>
70629
70630         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
70631
70632 1999-05-10  Jim Meyering  <meyering@ascend.com>
70633
70634         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
70635
70636         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
70637         AC_FUNC_MKTIME.
70638
70639 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
70640
70641         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
70642
70643 1999-05-04  Paul Eggert  <eggert@twinsun.com>
70644
70645         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
70646         not CPPFLAGS, so that linking works correctly in IRIX.
70647
70648 1999-04-30  Paul Eggert  <eggert@twinsun.com>
70649
70650         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
70651
70652 1999-04-20  Paul Eggert  <eggert@twinsun.com>
70653
70654         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
70655         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
70656         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
70657         jm_AC_TYPE_UNSIGNED_LONG_LONG.
70658         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
70659
70660         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
70661
70662 1999-04-20  Jim Meyering  <meyering@ascend.com>
70663
70664         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
70665         AC_REPLACE xstroull if necessary.  From Paul Eggert.
70666         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
70667
70668 1999-04-18  Jim Meyering  <meyering@ascend.com>
70669
70670         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
70671         * m4/jm-macros.m4: Use it.
70672
70673 1999-04-06  Jim Meyering  <meyering@ascend.com>
70674
70675         * m4/strftime.m4: Remove test for %f.
70676
70677 1999-03-29  Jim Meyering  <meyering@ascend.com>
70678
70679         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
70680         superset of the AC_TYPE_* checks in the textutils, fileutils,
70681         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
70682         AC_TYPE_PID_T.
70683
70684 1999-03-28  Jim Meyering  <meyering@ascend.com>
70685
70686         * m4/jm-macros.m4: Define GNU_PACKAGE here.
70687         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
70688         replaced e.g., in the *.sh files of the sh-utils.
70689
70690 1999-03-20  Jim Meyering  <meyering@ascend.com>
70691
70692         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
70693         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
70694         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
70695
70696 1999-03-19  Jim Meyering  <meyering@ascend.com>
70697
70698         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
70699
70700 1999-03-12  Jim Meyering  <meyering@ascend.com>
70701
70702         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
70703
70704 1999-03-07  Jim Meyering  <meyering@ascend.com>
70705
70706         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
70707         declared.
70708
70709 1999-02-17  Jim Meyering  <meyering@ascend.com>
70710
70711         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
70712         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
70713
70714 1999-02-07  Jim Meyering  <meyering@ascend.com>
70715
70716         * m4/group-member.m4: New file -- extracted from sh-utils'
70717         configure.in.
70718
70719         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
70720         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
70721
70722 1999-02-06  Jim Meyering  <meyering@ascend.com>
70723
70724         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
70725         * m4/fnmatch.m4: Likewise.
70726         * m4/getgroups.m4: Likewise.
70727         * m4/lstat.m4: Likewise.
70728         * m4/malloc.m4: Likewise.
70729         * m4/putenv.m4: Likewise.
70730         * m4/realloc.m4: Likewise.
70731         * m4/regex.m4: Likewise.
70732         * m4/stat.m4: Likewise.
70733         * m4/strftime.m4: Likewise.
70734         Suggestion from Alain Magloire.
70735
70736         * m4/chown.m4: Use `.$ac_objext', not `.o'.
70737         * m4/fnmatch.m4: Likewise.
70738         * m4/getgroups.m4: Likewise.
70739         * m4/getline.m4: Likewise.
70740         * m4/lstat.m4: Likewise.
70741         * m4/malloc.m4: Likewise.
70742         * m4/memcmp.m4: Likewise.
70743         * m4/putenv.m4: Likewise.
70744         * m4/realloc.m4: Likewise.
70745         * m4/regex.m4: Likewise.
70746         * m4/stat.m4: Likewise.
70747         * m4/strftime.m4: Likewise.
70748         Suggestion from Alain Magloire.
70749
70750         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
70751         an argument.
70752
70753         * m4/regex.m4: Add a run-time Test for proper operation of
70754         re_compile_pattern.
70755
70756 1999-01-31  Jim Meyering  <meyering@ascend.com>
70757
70758         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
70759
70760 1999-01-30  Jim Meyering  <meyering@ascend.com>
70761
70762         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
70763
70764         * m4/jm-mktime.m4: Make this a wrapper around the official
70765         AM_FUNC_MKTIME rather than my private copy, now that the official one
70766         is up to date.
70767         * m4/mktime.m4: Remove file.
70768
70769         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
70770         * m4/uptime.m4: Likewise.
70771         * m4/uintmax_t.m4: Likewise.
70772
70773 1999-01-28  Jim Meyering  <meyering@ascend.com>
70774
70775         * m4/jm-macros.m4: Use jm_AFS.
70776         * m4/afs.m4: New file (from fileutils' configure.in).
70777
70778         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
70779         * m4/chown.m4: Likewise.
70780         * m4/d-ino.m4: Likewise.
70781         * m4/d-type.m4: Likewise.
70782         * m4/fnmatch.m4: Likewise.
70783         * m4/getgroups.m4: Likewise.
70784         * m4/gettext.m4: Likewise.
70785         * m4/jm-mktime.m4: Likewise.
70786         * m4/jm-winsz2.m4: Likewise.
70787         * m4/lcmessage.m4: Likewise.
70788         * m4/ls-mntd-fs.m4: Likewise.
70789         * m4/malloc.m4: Likewise.
70790         * m4/memcmp.m4: Likewise.
70791         * m4/putenv.m4: Likewise.
70792         * m4/realloc.m4: Likewise.
70793         * m4/st_mtim.m4: Likewise.
70794         * m4/strftime.m4: Likewise.
70795
70796 1999-01-16  Jim Meyering  <meyering@ascend.com>
70797
70798         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
70799         (ARGMATCH_DIE_DECL): Define.
70800
70801 1999-01-12  Jim Meyering  <meyering@ascend.com>
70802
70803         * m4/Makefile.am.in: Rewrite to avoid using fmt.
70804         Reported by Lars Hecking.
70805
70806 1999-01-10  Jim Meyering  <meyering@ascend.com>
70807
70808         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
70809         gross kludge.
70810         * m4/inttypes_h.m4: Likewise.
70811         * m4/lstat.m4: Likewise.
70812         * m4/malloc.m4: Likewise.
70813         * m4/readdir.m4: Likewise.
70814         * m4/realloc.m4: Likewise.
70815         * m4/st_dm_mode.m4: Likewise.
70816         * m4/stat.m4: Likewise.
70817         * m4/utimbuf.m4: Likewise.
70818         * m4/utimes.m4: Likewise.
70819
70820         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
70821         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
70822         comments in config.h.in are meaningful.
70823
70824         * m4/jm-macros.m4: Require autoconf-2.13 here.
70825
70826         * m4/regex.m4: By default, don't use the included regex.c on systems
70827         with glibc 2.  Suggestion from Uli Drepper.
70828
70829 1999-01-02  Jim Meyering  <meyering@ascend.com>
70830
70831         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
70832
70833 1998-12-18  Jim Meyering  <meyering@ascend.com>
70834
70835         * m4/Makefile.am.in (Makefile.am): Simplify rule.
70836         Based on a suggestion from Lars Hecking.
70837
70838 1998-11-16  Paul Eggert  <eggert@twinsun.com>
70839
70840         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
70841
70842 1998-11-16  Jim Meyering  <meyering@ascend.com>
70843
70844         * m4/lfs.m4: Double-quote the `uname...` expression.
70845
70846 1998-11-14  Jim Meyering  <meyering@ascend.com>
70847
70848         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
70849         * m4/stat.m4: Likewise.
70850
70851 1998-11-03  Jim Meyering  <meyering@ascend.com>
70852
70853         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
70854         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
70855
70856 1998-10-18  Jim Meyering  <meyering@ascend.com>
70857
70858         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
70859
70860 1998-10-17  Jim Meyering  <meyering@ascend.com>
70861
70862         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
70863         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
70864         calls for those previously hard-coded headers.  Instead, take a new
70865         parameter.
70866         (jm_CHECK_DECLARATIONS): Reflect interface change.
70867         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
70868         (jm_CHECK_DECL_LOCALTIME_R): New macro.
70869
70870         * m4/mktime.m4: Test for spring-forward gap before long-running test.
70871
70872 1998-10-14  Jim Meyering  <meyering@ascend.com>
70873
70874         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
70875         instead of "TZ=America/Vancouver".  From Paul Eggert.
70876
70877 1998-10-11  Jim Meyering  <meyering@ascend.com>
70878
70879         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
70880         This adds a test for a recently added compatibility fix for mktime.c.
70881         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
70882
70883 1998-09-27  Jim Meyering  <meyering@ascend.com>
70884
70885         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
70886
70887         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
70888         ../configure.in, including a change from Gordon Matzigkeit to allow
70889         cross-compiling for the Hurd.
70890
70891         * m4/glibc.m4: New file/macro to test for the GNU C Library
70892         versions 1 and 2.  From Gordon Matzigkeit.
70893         Indent.
70894
70895 1998-09-21  Jim Meyering  <meyering@ascend.com>
70896
70897         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
70898
70899 1998-08-18  Paul Eggert  <eggert@twinsun.com>
70900
70901         Port nanosecond-resolution times to UnixWare 2.1.2 and
70902         pedantic Solaris 2.6.
70903
70904         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
70905         AC_STRUCT_ST_MTIM.
70906         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
70907         Generate name of ns member, instead of just 1 or undef.
70908         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
70909
70910 1998-08-15  Jim Meyering  <meyering@ascend.com>
70911
70912         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
70913         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
70914         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
70915         instead of jm_TYPE_SSIZE_T.
70916
70917 1998-08-12  Jim Meyering  <meyering@ascend.com>
70918
70919         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
70920
70921 1998-08-02  Jim Meyering  <meyering@ascend.com>
70922
70923         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
70924         in acconfig.h manually.
70925
70926 1998-07-31  Paul Eggert  <eggert@twinsun.com>
70927
70928         * m4/st_mtim.m4: New file.
70929
70930 1998-07-28  Jim Meyering  <meyering@ascend.com>
70931
70932         * m4/utimes.m4: Undef stat.
70933
70934 1998-07-25  Jim Meyering  <meyering@ascend.com>
70935
70936         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
70937         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
70938
70939 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
70940
70941         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
70942         uid and gid actually remain unchanged.
70943
70944 1998-07-07  Jim Meyering  <meyering@ascend.com>
70945
70946         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
70947
70948 1998-07-04  Jim Meyering  <meyering@ascend.com>
70949
70950         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
70951         to prove that this macro can be used in packages without regex.c.
70952
70953 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
70954
70955         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
70956         is to be used.
70957
70958 1998-07-03  Jim Meyering  <meyering@ascend.com>
70959
70960         * m4/gettext.m4: Add -lintl if it's found to be necessary.
70961
70962         * m4/gettext.m4: New file -- from gettext-0.10.35.
70963         * m4/lcmessage.m4: Likewise.
70964         * m4/progtest.m4: Likewise.
70965
70966         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
70967         * m4/jm-macros.m4: Require the new macro.
70968
70969 1998-06-29  Jim Meyering  <meyering@ascend.com>
70970
70971         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
70972         for the definition of NGROUPS (used in a system header included
70973         by sys/mount.h).
70974
70975 1998-06-28  Jim Meyering  <meyering@ascend.com>
70976
70977         * m4/ls-mntd-fs.m4: New file.
70978         * m4/fstypename.m4: New file.
70979
70980         * m4/jm-macros.m4: Require the new macro.
70981         * m4/jm-glibc-io.m4: New file.
70982
70983 1998-05-19  Jim Meyering  <meyering@ascend.com>
70984
70985         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
70986         * m4/lchown.m4: New file.
70987
70988         * m4/Makefile.am.in: New file.
70989         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
70990
70991 1998-05-14  Jim Meyering  <meyering@ascend.com>
70992
70993         * m4/Makefile.am (EXTRA_DIST): Add them.
70994         * m4/jm-macros.m4: New file.
70995         * m4/utimbuf.m4: New file.
70996
70997 1998-05-12  Jim Meyering  <meyering@ascend.com>
70998
70999         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
71000
71001 1998-05-11  Jim Meyering  <meyering@ascend.com>
71002
71003         * m4/isc-posix.m4: New file.
71004
71005 1998-05-10  Jim Meyering  <meyering@ascend.com>
71006
71007         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
71008
71009 1998-05-09  Jim Meyering  <meyering@ascend.com>
71010
71011         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
71012         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
71013         with automake.
71014
71015         * m4/ssize_t.m4: New file.
71016         * m4/mktime.m4: Remove file -- the new automake has this now.
71017
71018 1998-04-26  Jim Meyering  <meyering@ascend.com>
71019
71020         * m4/assert.m4: New file.
71021         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
71022
71023 1998-04-05  Jim Meyering  <meyering@ascend.com>
71024
71025         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
71026         (jm_PREREQ): Use it here.
71027
71028 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
71029
71030         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
71031         in acconfig.h.
71032
71033 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
71034
71035         * m4/prereq.m4: New file.
71036         * m4/error.m4: New file.
71037         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
71038
71039 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
71040
71041         * m4/getline.m4: Don't set am_cv_func_working_getline before the
71042         cache-check for the same variable -- that defeated the purpose of
71043         the test; the test program was never run.  This was a problem only
71044         on systems with losing getline functions -- HP-UX 10.20 is one.
71045         Reported by Bjorn Helgaas.
71046
71047 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
71048
71049         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
71050
71051 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
71052
71053         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
71054
71055         * m4/const.m4: New file.  Use an initializer in this declaration
71056         typedef int charset[2]; const charset x;
71057         Reported by Bob Glickstein.
71058
71059 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
71060
71061         * m4/chown.m4: Fix reversed types on -1 args to chown.
71062         From Kaveh Ghazi.
71063
71064 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
71065
71066         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
71067         Add lseek and memchr.
71068
71069         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
71070         T.E.Dickey <dickey@clark.net> said that some older preprocessors
71071         have a 20-character limit on names.
71072
71073 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
71074
71075         * m4/inttypes_h.m4: New file.
71076         * m4/uintmax_t.m4: New file.
71077         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
71078
71079
71080         -----
71081
71082         Local Variables:
71083         coding: utf-8
71084         End:
71085
71086         Copyright (C) 1997-2010 Free Software Foundation, Inc.
71087
71088         Copying and distribution of this file, with or without
71089         modification, are permitted provided the copyright notice
71090         and this notice are preserved.